SlideShare a Scribd company logo
Progressive downloads
and rendering
Stoyan Stefanov, Yahoo!
HighLoad++, Moscow, 2010
http://slideshare.net/stoyan/
About me
YSlow 2.0
Why progressive?
Importance of performance
•  Psychology, physiology
•  Effects of waiting
•  “Time is money”
•  Make people happy
Perception
Perception
Perception
Perception
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Time is relative
•  Sometimes crawls
•  Sometimes flies
•  “it depends”
Durations
actual
expected
perceived
rem’d
time
It feels slower when…
•  Unpleasant
•  Unknown
•  Boring
•  Too much to keep track
First time experience
•  Unfamiliar = slow
•  Optimize empty cache or
there will be no full cache
So… go progressive!
But before we begin…
The basics
•  Reducing the # HTTP
•  Gzip
•  Minification
•  Image smushing
•  Expires
•  CDN
The basics
•  Yahoo!’s best practices +
YSlow
http://developer.yahoo.com/performance/ 	
•  Google’s too +
Page Speed
http://code.google.com/speed/
Progressive
Progressive enhancement
Progressive downloads
Progressive Downloads and Rendering - take #2
Progressive rendering
Agenda
1.  Prevent download blocks:
scripts, styles, CC, favicon
2.  Ways to render sooner:
flush, data URIs, lazy loading,
lazy evaluation, preloading,
animations
Blocking JavaScript
JavaScript blocks
html
js
png
png
JavaScript blocks
•  A no-no!
<script src="jquery.js"></script> 
<script src="jquery.twitter.js"></script> 
<script src="jquery.cookie.js"></script> 
<script src="myapp.js"></script> 
This waterfall looks ridiculous
html
js
png
png
js
js
js
JavaScript at the bottom
html
js
png
png
Non-blocking JavaScript
•  defer and async	
•  Defer: IE innovation, ok to
delay, but keep order
•  Async: HTML5, whatever
<script async src="my.js" onload="doIt()"></script> 
<script defer src="my.js" onload="doIt()"></script> 
defer and async timeline
DOMContentLoaded	 load	
async	
defer
Non-blocking JavaScript
•  Asynchronous loading
var h, js = document.createElement('script'); 
js.src = 'myscript.js'; 
h = document.getElementsByTagName('head')[0]; 
h.appendChild(js); 
html
js
png
png
Non-blocking JavaScript
•  Others:
- iframe
- XHR
- <object>	
- …
CSS and rendering
Worst enemy?
CSS
CSS blocks rendering
•  The worst component type
•  Place way at the top
•  @media print, etc in the
same external CSS
http://www.phpied.com/delay-loading-your-print-css/	
http://www.phpied.com/rendering-styles/
CSS
CSS
CSS block
downloads?
But they do block:
•  When followed
by an inline script
•  When in conditional
comments
Inline CSS
•  Google search
•  Bing.com: inline + postload
Same domain
•  If you split across domains
•  and if you don’t use CDN
•  Saves a DNS lookup
•  e.g. Google and Bing’s CDN
CC block
Normal page
With conditionally commented
CSS file
http://www.phpied.com/

conditional-comments-block-downloads/
What…?! Case #1
  <link type="text/css" rel="stylesheet" 
        href="1.css"> 
  <!‐‐[if IE 6]> 
    <link type="text/css" rel="stylesheet" 
          href="ie.css"> 
  <![endif]‐‐> 
What…?! Case #2
<!‐‐[if IE 6]> 
    <body class="ie6">  
<![endif]‐‐> 
<!‐‐[if !IE]><!‐‐> 
    <body> 
<!‐‐<![endif]‐‐> 
Solution for case #1
<!DOCTYPE html> 
<!‐‐[if IE 6]><![endif]‐‐> 
<html> 
    ... 
Solution for case #2
<!‐‐[if IE 6]> 
    <html class="ie6">  
<![endif]‐‐> 
<!‐‐[if !IE]><!‐‐> 
    <html> 
<!‐‐<![endif]‐‐> 
Blocking favicon
Progressive Downloads and Rendering - take #2
Flush
flush() early
html
png
js
css
html
png
js
css
✔

flush()
<html>	
<head>	
<script src="my.js" 	
	type="text/javascript"></script>	
<link href="my.css" 	
	type="text/css" rel="stylesheet" />	
</head>	
<body>	
....	
<?php flush() ?>
Chunked encoding
HTTP/1.1 200 OK 
Content‐Type: text/plain 
Transfer‐Encoding: chunked 
25 
This is the data in the first chunk 
1C 
and this is the second one 
0 
Chunked encoding
•  Progressive rendering
- Semantic app chunks
vs.
- Server-level chunks
Progressive rendering
Chunk
#1
Chunk
#2
Chunk
#3
<!doctype html>	
<html>	
<head><title>My App</title></head>	
<body>	
<div id="header">	
<img src="logo.png" />	
...	
</div> <!-- end of chunk #1 -->	
... The full body of the page ...	
<!-- end of chunk #2 -->	
<script src="all_20100925.js"></script>	
</body>	
</html> <!-- end of chunk #3 -->
Progressive + source order
1
2
3
4
HTTP chunking: not only HTML
HTTP chunking: not only HTML
•  Google Instant
•  /*""*/ - delimited JSON
pieces
•  Chunk #1 suggestions
•  Chunk #2 results
http://tinyurl.com/chunkview
Data URIs
Fewer HTTP requests
•  Inline images:
in CSS sprites
with data: URI scheme
http://csssprites.com	
http://spriteme.org
Fewer HTTP requests
•  data: URI scheme
$ php ‐r "echo base64_encode(file_get_contents('my.png'));” 
iVBORw0KGgoAAAANSUhEUgAAAAQAAAADCAIAAAA7ljmRAAAAGElEQVQIW2P4
DwcMDAxAfBvMAhEQMYgcACEHG8ELxtbPAAAAAElFTkSuQmCC 
Fewer HTTP requests
•  data: URI scheme
background‐image: url("data:image/png;base64,iVBORw0KG..."); 
Fewer HTTP requests
•  data: URI scheme
<img src="data:image/png;base64,iVBOR..." /> 
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Both
•  flushes
•  data: URIs
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Fewer HTTP requests
•  data: URI scheme
•  works in IE!...
Fewer HTTP requests
•  data: URI scheme
•  works in IE8!
Fewer HTTP requests
•  data: URI scheme
•  MHTML for IE < 8
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
MHTML
•  MIME HTML
•  Works in IE 6,7
•  Indeed it actually absolutely
does work in IE7/Vista too
http://phpied.com

/the-proper-mhtml-syntax/
MHTML - one part
Content-Location: myimage	
Content-Transfer-Encoding: base64	
iVBORw0KGgoAAAANSU....U5ErkJggg==
MHTML - multi parts
Content-Type: multipart/related; boundary="MYSEPARATOR"	
--MYSEPARATOR	
[here comes part one]	
--MYSEPARATOR	
[here's part two]	
--MYSEPARATOR--	
The
double-
dash of
doom
MHTML.css – all together
/*	
Content-Type: multipart/related; boundary="MYSEPARATOR"	
--MYSEPARATOR	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAD....U5ErkJggg==	
--MYSEPARATOR	
Content-Location: another	
Content-Transfer-Encoding: base64	
iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAMAAADXqc3KAAAA....U5ErkJggg==	
--MYSEPARATOR--	
*/	
.myclass {	
background-image:url(mhtml:http://example.org/styles.css!myimage);	
}	
.myotherclass {	
background-image:url(mhtml:http://example.org/styles.css!another);	
}
MHTML: inline too<!doctype html>
<html>
<head>
<title>Look Ma' No HTTP requests</title>
<style type="text/css">
/*
Content-Type: multipart/related; boundary="_"
--_
Content-Location:locoloco
Content-Transfer-Encoding:base64
iVBOR...CC
--_
Content-Location:polloloco
Content-Transfer-Encoding:base64
iVBOR....gg==
--_--
*/
.image1 {
background-image: url("data:image/png;base64,iVBOR...CC"); /* normal */
*background-image: url(mhtml:http://...html!locoloco); /* IE < 8 */
}
.image2 {
background-image: url("data:image/png;base64,iVBOR...gg=="); /* normal */
*background-image: url(mhtml:http://...html!polloloco); /* IE < 8 */
}
body {
font: bold 24px Arial;
}
</style>
</head>
<body>
<h1>MHTML + Data:URIs inline in <code>style</code></h1>
<p class="image1">hello<br>hello</p>
<p class="image2">bonjour<br>bonjour</p>
</body>
</html>
http://phpied.com

/inline-mhtml-data-uris/
<!doctype html>	
<html>	
<head>	
<title>Look Ma' No HTTP requests</title>	
<style type="text/css">	
...
/*	
Content-Type: multipart/related; boundary="_"	
--_	
Content-Location:locoloco	
Content-Transfer-Encoding:base64	
iVBOR...CC	
--_	
Content-Location:polloloco	
Content-Transfer-Encoding:base64	
iVBOR....gg==	
--_--	
*/
.image1 {	
background-image: url("data:image/png;base64,iVBOR...CC"); /* normal */	
*background-image: url(mhtml:http://...html!locoloco); /* IE < 8 */	
}	
.image2 {	
background-image: url("data:image/png;base64,iVBOR...gg=="); /* normal */	
*background-image: url(mhtml:http://...html!polloloco); /* IE < 8 */	
}	
body {	
font: bold 24px Arial;	
}
...	
</style>	
</head>	
<body>	
<h1>MHTML + Data:URIs inline in <code>style</code></h1>	
<p class="image1">hello<br>hello</p>	
<p class="image2">bonjour<br>bonjour</p>	
</body>	
</html>
MHTML + data URI
•  X-browser
single request
web apps
Single request
•  WT☠?
•  Separation of concerns
•  Content-presentation-
behavior
•  yes, it’s a tradeoff
MHTML + data URI
•  drawback: repeats the same
encoded image
•  solutions:
- browser-specific CSS
- keep close = better gzip
- or… an ingenious hack
Single stream MHTML/data URI
•  image header + css + data
/9j/4AA0;background-image:url(data:image/jpeg;base64;00,/9j/4AA0
Reality:
IE:
Others:
http://habrahabr.ru/blogs/webdev/90761/
/*	
Content-Type: multipart/related; boundary="granitza"	
--granitza	
Content-Type: text/css;	
*/	
#myid {	
/*	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/jpeg;*/	
/9j/4AA0;background-image:url(data:image/jpeg;base64;00,/9j/4AAQSkZJRgA...);	
/*	
--granitza	
Content-Type: text/css;	
*/	
background-image: url(mhtml:http://localhost/my.css!myimage) !ie;	
}	
/*	
--granitza--	
*/
/*	
Content-Type: multipart/related; boundary="granitza"	
--granitza	
Content-Type: text/css;	
*/	
#myid {	
/*	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/jpeg;*/	
/9j/4AA0;background-image:url(data:image/jpeg;base64;00,/9j/4AAQSkZJRgA...);	
/*	
--granitza	
Content-Type: text/css;	
*/	
background-image: url(mhtml:http://localhost/my.css!myimage) !ie;	
}	
/*	
--granitza--	
*/	
???
/*	
Content-Type: multipart/related; boundary="granitza"	
--granitza	
Content-Type: text/css;	
*/	
#myid {	
/*	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/jpeg;*/	
/9j/4AA0;background-image:url(data:image/jpeg;base64;00,/9j/4AAQSkZJRgA...);	
/*	
--granitza	
Content-Type: text/css;	
*/	
background-image: url(mhtml:http://localhost/my.css!myimage) !ie;	
}	
/*	
--granitza--	
*/
/*	
Content-Type: multipart/related; boundary="granitza"	
--granitza	
Content-Type: text/css;	
*/	
#myid {	
/*	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/jpeg;*/	
/9j/4AA0;background-image:url(data:image/jpeg;base64;00,/9j/4AAQSkZJRgA...);	
/*	
--granitza	
Content-Type: text/css;	
*/	
background-image: url(mhtml:http://localhost/my.css!myimage) !ie;	
}	
/*	
--granitza--	
*/	
???1
2
3
Single stream MHTML/data URI
•  And for <img> too!
Single stream <img>
<h2>Hello Kitty</h2>	
<!	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/gif	
2 invalid MHTML headers lines followed by data--><![if gt IE 7]>	
<img width="16" height="16" src="data:image/gif;base64,	
R0lGODl ... FxMKVvDijNQaodOl+N5Pk+pmIX7brGweCg4SCEhEAOw=="><![endif]>	
<!--[if lt IE 8]>	
<img src="mhtml:http://.../bolknote.html!myimage" width="16"
height="16">	
<![endif]-->	
<p> more page... </p>
Single stream <img>
<h2>Hello Kitty</h2>	
<!	
--granitza	
Content-Location: myimage	
Content-Transfer-Encoding: base64	
Content-Type: image/gif	
2 invalid MHTML headers lines followed by data--><![if gt IE 7]>	
<img width="16" height="16" src="data:image/gif;base64,	
R0lGODl ... FxMKVvDijNQaodOl+N5Pk+pmIX7brGweCg4SCEhEAOw=="><![endif]>	
<!--[if lt IE 8]>	
<img src="mhtml:http://.../bolknote.html!myimage" width="16"
height="16">	
<![endif]-->	
<p> more page... </p>
Lazy loading
Lazy loading aka post-loading
•  After-onload
•  Some images
•  Below the fold (on scroll)
•  Hidden content e.g. tabs
Progressive Downloads and Rendering - take #2
Progressive Downloads and Rendering - take #2
Amazon’s lazy bestsellers
•  Page’s purpose is ranking
•  Details can come later
•  via onload XHR
•  JS off = no details
•  but that’s fine (see bullet #1)
Lazy evaluation
GMail mobile’s lazy JS
<!doctype html>	
<html><body>	
...	
<script id="lazy">/*	
console.log("I can wait");	
*/</script>	
...	
<script>	
console.log("I'm needed");	
window.onload = function () {	
var comment = document.getElementById('lazy')	
.innerHTML,	
code = comment.substring(3, comment.length - 3);	
eval(code);	
};	
</script>	
</body></html>	
http://googlecode.blogspot.com/2009/09

/gmail-for-mobile-html5-series-reducing.html
Progressive Downloads and Rendering - take #2
Lazy HTML
<!doctype html>	
<html><body>	
...	
<div id="lazy"><!--	
<p>lots of html goes here...</p>	
--></div>	
...	
<script>	
window.onload = function () {	
var el = document.getElementById('lazy'),	
inner = el.innerHTML,	
code = inner.substring(4, inner.length - 3);	
el.innerHTML = code;	
};	
</script>	
</body></html>	
http://phpied.com... (coming-soon)
Lazy HTML test
•  500K (200K gzipped) HTML doc
•  “Sherlock Holmes”
•  comment out 95%
•  still one whole chapter left
http://www.phpied.com/files/lazyhtml/start.html
Lazy HTML test results
Lazy HTML - misc
•  Who loads a book?
•  Use case: blog comments
•  SEO? Content is hidden
•  What about display: none?
•  The test page was simple-to-
render, no complex layout
Preloads
Preloads
•  Anticipate next page
•  Problems:
- does next page anticipate you?
- parsing and execution time
•  <link prefetch="http://..">
Preload sans execute
var preload; 	
if (/*@cc_on!@*/false) { // IE 	
preload = function (file) {	
new Image().src = file;	
};	
} else {	
preload = function (file) {	
var obj = document.createElement('object'),	
body = document.body;	
obj.width = 0;	
obj.height = 0;	
obj.data = file;	
body.appendChild(obj);	
};	
}
Preload, then execute
var loader = function (file, callback) {	
var obj = document.createElement('object'),	
body = document.body;	
obj.width = 0;	
obj.height = 0;	
obj.data = file;	
obj.onload = function () {	
var h, js = document.createElement('script');	
js.src = file;	
js.onload = callback;	
h = document.getElementsByTagName('head')[0];	
h.appendChild(js);	
};	
body.appendChild(obj);	
};
Browser search preload
Chrome search
•  In-browser search box
•  Gives suggestions as you type
•  Visual suggestions in IE8+
IE8 Visual
Search Suggestions
...	
<Item>	
<Text>Currently: Partly Cloudy, 67F</Text>	
<Description>High: 71F Low: 63F</Description>	
<Url>http://weather.yahoo.com/forecast/
USCA1024_f.html</Url>	
<Image source="http://l.yimg.com/a/i/us/we/31/30.gif"
alt="Partly Cloudy" width="31" height="31"/>	
</Item>	
...
IE8 Visual Search Preload
...	
<Item>	
<Text>any search suggestion</Text>	
<Image 	
source="http://path/to/sprite.png" 	
width="0" 	
height="0"/>	
</Item>	
...
IE8 Visual Search Preload
IE8 Visual Search Preload
•  didn’t work for CSS and JS
IE8 Visual Search
•  preload images, e.g. sprite
•  DNS lookups via beacons
Animations as distractions…
Distractimations
Parting words
What not to say…
•  “Everyone is on high-speed
these days”
•  “It’s all in the cache”
Do care about
•  Progressive,
non-blocking,
asynchronous downloads
•  Progressive rendering
Thank you!
Stoyan Stefanov
@stoyanstefanov
http://www.phpied.com
Slides: http://slideshare.net/stoyan/
Ad

More Related Content

What's hot (20)

Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
Nicholas Zakas
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
Andy Davies
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas
 
What is HTML 5?
What is HTML 5?What is HTML 5?
What is HTML 5?
Susan Winters
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
Stoyan Stefanov
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
dynamis
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
Aaron Silverman
 
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
Ontico
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
Nicholas Zakas
 
High Performance JavaScript (YUIConf 2010)
High Performance JavaScript (YUIConf 2010)High Performance JavaScript (YUIConf 2010)
High Performance JavaScript (YUIConf 2010)
Nicholas Zakas
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
Justin Cataldo
 
Selenium bootcamp slides
Selenium bootcamp slides   Selenium bootcamp slides
Selenium bootcamp slides
seleniumbootcamp
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
Paul Redmond
 
High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)
Nicholas Zakas
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
Nicholas Zakas
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술
Jeongkyu Shin
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
Nicholas Zakas
 
Rails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on RailsRails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on Rails
DonSchado
 
Avoiding Common Pitfalls in Ember.js
Avoiding Common Pitfalls in Ember.jsAvoiding Common Pitfalls in Ember.js
Avoiding Common Pitfalls in Ember.js
Alex Speller
 
Mobile Web Speed Bumps
Mobile Web Speed BumpsMobile Web Speed Bumps
Mobile Web Speed Bumps
Nicholas Zakas
 
Web Page Test - Beyond the Basics
Web Page Test - Beyond the BasicsWeb Page Test - Beyond the Basics
Web Page Test - Beyond the Basics
Andy Davies
 
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Progressive Enhancement 2.0 (jQuery Conference SF Bay Area 2011)
Nicholas Zakas
 
Don't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web ApplicationsDon't make me wait! or Building High-Performance Web Applications
Don't make me wait! or Building High-Performance Web Applications
Stoyan Stefanov
 
Keypoints html5
Keypoints html5Keypoints html5
Keypoints html5
dynamis
 
Node.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash CourseNode.js & Twitter Bootstrap Crash Course
Node.js & Twitter Bootstrap Crash Course
Aaron Silverman
 
Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)Progressive downloads and rendering (Stoyan Stefanov)
Progressive downloads and rendering (Stoyan Stefanov)
Ontico
 
Enough with the JavaScript already!
Enough with the JavaScript already!Enough with the JavaScript already!
Enough with the JavaScript already!
Nicholas Zakas
 
High Performance JavaScript (YUIConf 2010)
High Performance JavaScript (YUIConf 2010)High Performance JavaScript (YUIConf 2010)
High Performance JavaScript (YUIConf 2010)
Nicholas Zakas
 
Meetup Performance
Meetup PerformanceMeetup Performance
Meetup Performance
Greg Whalin
 
#NewMeetup Performance
#NewMeetup Performance#NewMeetup Performance
#NewMeetup Performance
Justin Cataldo
 
Scraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHPScraping the web with Laravel, Dusk, Docker, and PHP
Scraping the web with Laravel, Dusk, Docker, and PHP
Paul Redmond
 
High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)High Performance JavaScript (CapitolJS 2011)
High Performance JavaScript (CapitolJS 2011)
Nicholas Zakas
 
Performance on the Yahoo! Homepage
Performance on the Yahoo! HomepagePerformance on the Yahoo! Homepage
Performance on the Yahoo! Homepage
Nicholas Zakas
 
HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술HTML5와 오픈소스 기반의 Web Components 기술
HTML5와 오픈소스 기반의 Web Components 기술
Jeongkyu Shin
 
High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010High Performance JavaScript - WebDirections USA 2010
High Performance JavaScript - WebDirections USA 2010
Nicholas Zakas
 
Rails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on RailsRails Girls: Programming, Web Applications and Ruby on Rails
Rails Girls: Programming, Web Applications and Ruby on Rails
DonSchado
 
Avoiding Common Pitfalls in Ember.js
Avoiding Common Pitfalls in Ember.jsAvoiding Common Pitfalls in Ember.js
Avoiding Common Pitfalls in Ember.js
Alex Speller
 

Similar to Progressive Downloads and Rendering - take #2 (20)

Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering
Stoyan Stefanov
 
Going on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web PerformanceGoing on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web Performance
Adam Norwood
 
High performance website
High performance websiteHigh performance website
High performance website
Chamnap Chhorn
 
Website Performance Basics
Website Performance BasicsWebsite Performance Basics
Website Performance Basics
geku
 
CSS and image optimization
CSS and image optimizationCSS and image optimization
CSS and image optimization
Stoyan Stefanov
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Bastian Grimm
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
WordPress
 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Bastian Grimm
 
performance.ppt
performance.pptperformance.ppt
performance.ppt
fakeaccount225095
 
Please dont touch-3.6-jsday
Please dont touch-3.6-jsdayPlease dont touch-3.6-jsday
Please dont touch-3.6-jsday
Francesco Fullone
 
Performance patterns
Performance patternsPerformance patterns
Performance patterns
Stoyan Stefanov
 
EdTechJoker Spring 2020 - Lecture 4 - HTML
EdTechJoker Spring 2020 - Lecture 4 - HTMLEdTechJoker Spring 2020 - Lecture 4 - HTML
EdTechJoker Spring 2020 - Lecture 4 - HTML
Bryan Ollendyke
 
[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design[O'Reilly] HTML5 Design
[O'Reilly] HTML5 Design
Christopher Schmitt
 
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) HackableCollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
Darren Duke
 
Building high performance web apps.
Building high performance web apps.Building high performance web apps.
Building high performance web apps.
Arshak Movsisyan
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
François Massart
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
Christopher Schmitt
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
Progressive Downloads and Rendering
Progressive Downloads and RenderingProgressive Downloads and Rendering
Progressive Downloads and Rendering
Stoyan Stefanov
 
Going on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web PerformanceGoing on an HTTP Diet: Front-End Web Performance
Going on an HTTP Diet: Front-End Web Performance
Adam Norwood
 
High performance website
High performance websiteHigh performance website
High performance website
Chamnap Chhorn
 
Website Performance Basics
Website Performance BasicsWebsite Performance Basics
Website Performance Basics
geku
 
CSS and image optimization
CSS and image optimizationCSS and image optimization
CSS and image optimization
Stoyan Stefanov
 
Build Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje JurišićBuild Better Responsive websites. Hrvoje Jurišić
Build Better Responsive websites. Hrvoje Jurišić
MeetMagentoNY2014
 
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 201210 Tips to make your Website lightning-fast - SMX Stockholm 2012
10 Tips to make your Website lightning-fast - SMX Stockholm 2012
Bastian Grimm
 
implement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflowimplement lighthouse-ci with your web development workflow
implement lighthouse-ci with your web development workflow
WordPress
 
The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013The Need for Speed - SMX Sydney 2013
The Need for Speed - SMX Sydney 2013
Bastian Grimm
 
EdTechJoker Spring 2020 - Lecture 4 - HTML
EdTechJoker Spring 2020 - Lecture 4 - HTMLEdTechJoker Spring 2020 - Lecture 4 - HTML
EdTechJoker Spring 2020 - Lecture 4 - HTML
Bryan Ollendyke
 
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) HackableCollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
CollabSphere SC 103 : Domino on the Web : Yes, It's (Probably) Hackable
Darren Duke
 
Building high performance web apps.
Building high performance web apps.Building high performance web apps.
Building high performance web apps.
Arshak Movsisyan
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
HTML5, just another presentation :)
HTML5, just another presentation :)HTML5, just another presentation :)
HTML5, just another presentation :)
François Massart
 
TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單TOSSUG HTML5 讀書會 新標籤與表單
TOSSUG HTML5 讀書會 新標籤與表單
偉格 高
 
Ad

More from Stoyan Stefanov (20)

Reactive JavaScript
Reactive JavaScriptReactive JavaScript
Reactive JavaScript
Stoyan Stefanov
 
YSlow hacking
YSlow hackingYSlow hacking
YSlow hacking
Stoyan Stefanov
 
Social Button BFFs
Social Button BFFsSocial Button BFFs
Social Button BFFs
Stoyan Stefanov
 
JavaScript навсякъде
JavaScript навсякъдеJavaScript навсякъде
JavaScript навсякъде
Stoyan Stefanov
 
JavaScript is everywhere
JavaScript is everywhereJavaScript is everywhere
JavaScript is everywhere
Stoyan Stefanov
 
JavaScript shell scripting
JavaScript shell scriptingJavaScript shell scripting
JavaScript shell scripting
Stoyan Stefanov
 
JavaScript for PHP developers
JavaScript for PHP developersJavaScript for PHP developers
JavaScript for PHP developers
Stoyan Stefanov
 
WPO @ PubCon 2010
WPO @ PubCon 2010WPO @ PubCon 2010
WPO @ PubCon 2010
Stoyan Stefanov
 
Voices that matter: High Performance Web Sites
Voices that matter: High Performance Web SitesVoices that matter: High Performance Web Sites
Voices that matter: High Performance Web Sites
Stoyan Stefanov
 
Psychology of performance
Psychology of performancePsychology of performance
Psychology of performance
Stoyan Stefanov
 
3-in-1 YSlow
3-in-1 YSlow3-in-1 YSlow
3-in-1 YSlow
Stoyan Stefanov
 
High-performance DOM scripting
High-performance DOM scriptingHigh-performance DOM scripting
High-performance DOM scripting
Stoyan Stefanov
 
The business of performance
The business of performanceThe business of performance
The business of performance
Stoyan Stefanov
 
JavaScript Patterns
JavaScript PatternsJavaScript Patterns
JavaScript Patterns
Stoyan Stefanov
 
Ignite Velocity: Image Weight Loss Clinic
Ignite Velocity: Image Weight Loss ClinicIgnite Velocity: Image Weight Loss Clinic
Ignite Velocity: Image Weight Loss Clinic
Stoyan Stefanov
 
High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)
Stoyan Stefanov
 
YSlow 2.0
YSlow 2.0YSlow 2.0
YSlow 2.0
Stoyan Stefanov
 
Beginning Object-Oriented JavaScript
Beginning Object-Oriented JavaScriptBeginning Object-Oriented JavaScript
Beginning Object-Oriented JavaScript
Stoyan Stefanov
 
Image Optimization for the Web at php|works
Image Optimization for the Web at php|worksImage Optimization for the Web at php|works
Image Optimization for the Web at php|works
Stoyan Stefanov
 
Images - 7 mistakes (first draft)
Images - 7 mistakes (first draft)Images - 7 mistakes (first draft)
Images - 7 mistakes (first draft)
Stoyan Stefanov
 
JavaScript навсякъде
JavaScript навсякъдеJavaScript навсякъде
JavaScript навсякъде
Stoyan Stefanov
 
JavaScript is everywhere
JavaScript is everywhereJavaScript is everywhere
JavaScript is everywhere
Stoyan Stefanov
 
JavaScript shell scripting
JavaScript shell scriptingJavaScript shell scripting
JavaScript shell scripting
Stoyan Stefanov
 
JavaScript for PHP developers
JavaScript for PHP developersJavaScript for PHP developers
JavaScript for PHP developers
Stoyan Stefanov
 
Voices that matter: High Performance Web Sites
Voices that matter: High Performance Web SitesVoices that matter: High Performance Web Sites
Voices that matter: High Performance Web Sites
Stoyan Stefanov
 
Psychology of performance
Psychology of performancePsychology of performance
Psychology of performance
Stoyan Stefanov
 
High-performance DOM scripting
High-performance DOM scriptingHigh-performance DOM scripting
High-performance DOM scripting
Stoyan Stefanov
 
The business of performance
The business of performanceThe business of performance
The business of performance
Stoyan Stefanov
 
Ignite Velocity: Image Weight Loss Clinic
Ignite Velocity: Image Weight Loss ClinicIgnite Velocity: Image Weight Loss Clinic
Ignite Velocity: Image Weight Loss Clinic
Stoyan Stefanov
 
High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)High Performance Kick Ass Web Apps (JavaScript edition)
High Performance Kick Ass Web Apps (JavaScript edition)
Stoyan Stefanov
 
Beginning Object-Oriented JavaScript
Beginning Object-Oriented JavaScriptBeginning Object-Oriented JavaScript
Beginning Object-Oriented JavaScript
Stoyan Stefanov
 
Image Optimization for the Web at php|works
Image Optimization for the Web at php|worksImage Optimization for the Web at php|works
Image Optimization for the Web at php|works
Stoyan Stefanov
 
Images - 7 mistakes (first draft)
Images - 7 mistakes (first draft)Images - 7 mistakes (first draft)
Images - 7 mistakes (first draft)
Stoyan Stefanov
 
Ad

Recently uploaded (20)

𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
Friends of Figm a, Sydney
 
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdfEEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
CastroAngeloReoD
 
Presentation for Schoool Management System
Presentation for Schoool Management SystemPresentation for Schoool Management System
Presentation for Schoool Management System
kolay922013
 
Emirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdfEmirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdf
asfianoor1
 
STOCK ANALYSYS.pptx manajemen keuangan s
STOCK ANALYSYS.pptx manajemen keuangan sSTOCK ANALYSYS.pptx manajemen keuangan s
STOCK ANALYSYS.pptx manajemen keuangan s
kfdpontianak2012
 
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptxCOTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
ayushjadon04
 
Minimalist Pitch Deck by slide Slidesgo.pptx
Minimalist Pitch Deck by slide Slidesgo.pptxMinimalist Pitch Deck by slide Slidesgo.pptx
Minimalist Pitch Deck by slide Slidesgo.pptx
ESTEFANOANDREYGARCIA
 
Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!
vanzan01
 
Internet Download Manager Crack Patch Latest IDM Free Download
Internet Download Manager Crack Patch Latest IDM Free DownloadInternet Download Manager Crack Patch Latest IDM Free Download
Internet Download Manager Crack Patch Latest IDM Free Download
Designer
 
Presentation mockup using lots of animals
Presentation mockup using lots of animalsPresentation mockup using lots of animals
Presentation mockup using lots of animals
ChunChihChenPhD
 
19 Best B,u,y Verified Cash App Accounts
19 Best B,u,y Verified Cash App Accounts19 Best B,u,y Verified Cash App Accounts
19 Best B,u,y Verified Cash App Accounts
https://sellsusa.com/product/buy-verified-cash-app-accounts/
 
Emily's slide design 101 - training module
Emily's slide design 101 - training moduleEmily's slide design 101 - training module
Emily's slide design 101 - training module
yourmisswright
 
dFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptxdFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptx
AKSHAYKAMBLE806728
 
Baby panda 400.pdf de ciencias naturales
Baby panda 400.pdf de ciencias naturalesBaby panda 400.pdf de ciencias naturales
Baby panda 400.pdf de ciencias naturales
debbie loaiza
 
Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.
vanzan01
 
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Designer
 
masterddedeeeeeeeeedded seminar (1).pptx
masterddedeeeeeeeeedded seminar (1).pptxmasterddedeeeeeeeeedded seminar (1).pptx
masterddedeeeeeeeeedded seminar (1).pptx
tgavel7869
 
Steam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptxSteam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptx
andripapa1
 
mid-term all revisions g11 s1.pmdzs,zxptx
mid-term all revisions g11 s1.pmdzs,zxptxmid-term all revisions g11 s1.pmdzs,zxptx
mid-term all revisions g11 s1.pmdzs,zxptx
omar164646
 
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative StyleFlowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Likazelika
 
𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
𝗗𝗲𝘀𝗶𝗴𝗻𝗶𝗻𝗴 𝗳𝗼𝗿 𝗮𝗹𝗹: 𝗜𝗻𝗰𝗹𝘂𝘀𝗶𝘃𝗲 𝗣𝗿𝗮𝗰𝘁𝗶𝗰𝗲 𝗳𝗼𝗿 𝗕𝗲𝘁𝘁𝗲𝗿 𝗘𝘅𝗽𝗲𝗿𝗶𝗲𝗻𝗰𝗲𝘀
Friends of Figm a, Sydney
 
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdfEEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
EEE178-PPT-Theme iasodhajsdkjashdlaskdjbaksdkashdlkasdlkja;dj;kdada.pptx.pdf
CastroAngeloReoD
 
Presentation for Schoool Management System
Presentation for Schoool Management SystemPresentation for Schoool Management System
Presentation for Schoool Management System
kolay922013
 
Emirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdfEmirates Agriculture Prensentation Badges GOLD.pdf
Emirates Agriculture Prensentation Badges GOLD.pdf
asfianoor1
 
STOCK ANALYSYS.pptx manajemen keuangan s
STOCK ANALYSYS.pptx manajemen keuangan sSTOCK ANALYSYS.pptx manajemen keuangan s
STOCK ANALYSYS.pptx manajemen keuangan s
kfdpontianak2012
 
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptxCOTTER and  KNUCKleeeeeeeeeeeeeeeeeee.pptx
COTTER and KNUCKleeeeeeeeeeeeeeeeeee.pptx
ayushjadon04
 
Minimalist Pitch Deck by slide Slidesgo.pptx
Minimalist Pitch Deck by slide Slidesgo.pptxMinimalist Pitch Deck by slide Slidesgo.pptx
Minimalist Pitch Deck by slide Slidesgo.pptx
ESTEFANOANDREYGARCIA
 
Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!Lori Vanzant's portfolio. Please take a look!
Lori Vanzant's portfolio. Please take a look!
vanzan01
 
Internet Download Manager Crack Patch Latest IDM Free Download
Internet Download Manager Crack Patch Latest IDM Free DownloadInternet Download Manager Crack Patch Latest IDM Free Download
Internet Download Manager Crack Patch Latest IDM Free Download
Designer
 
Presentation mockup using lots of animals
Presentation mockup using lots of animalsPresentation mockup using lots of animals
Presentation mockup using lots of animals
ChunChihChenPhD
 
Emily's slide design 101 - training module
Emily's slide design 101 - training moduleEmily's slide design 101 - training module
Emily's slide design 101 - training module
yourmisswright
 
dFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptxdFdDVWeb_Design_Basics_Presentation.pptx
dFdDVWeb_Design_Basics_Presentation.pptx
AKSHAYKAMBLE806728
 
Baby panda 400.pdf de ciencias naturales
Baby panda 400.pdf de ciencias naturalesBaby panda 400.pdf de ciencias naturales
Baby panda 400.pdf de ciencias naturales
debbie loaiza
 
Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.Lori Vanzant Portfolio. Take a look! ty.
Lori Vanzant Portfolio. Take a look! ty.
vanzan01
 
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]Download Chimera Tool Setup V42.47.0924 [Latest Version]
Download Chimera Tool Setup V42.47.0924 [Latest Version]
Designer
 
masterddedeeeeeeeeedded seminar (1).pptx
masterddedeeeeeeeeedded seminar (1).pptxmasterddedeeeeeeeeedded seminar (1).pptx
masterddedeeeeeeeeedded seminar (1).pptx
tgavel7869
 
Steam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptxSteam-Education-PowerPoint-Templates.pptx
Steam-Education-PowerPoint-Templates.pptx
andripapa1
 
mid-term all revisions g11 s1.pmdzs,zxptx
mid-term all revisions g11 s1.pmdzs,zxptxmid-term all revisions g11 s1.pmdzs,zxptx
mid-term all revisions g11 s1.pmdzs,zxptx
omar164646
 
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative StyleFlowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Flowers Coloring Pages Activity Worksheet in Black and White Illustrative Style
Likazelika
 

Progressive Downloads and Rendering - take #2