Archive for the 'performance' Category

The art and craft of postload preloads

Aug 27th, 2009

What can your tired old page, once loaded and used and read, can do for your user? It can preload components needed by the next page, so when the users visit the next page, they have the new scripts, styles and images already in the cache. Next page loads faster and the user’s happy. On […]


“Don’t make me wait” – slides from my eBay tech talk

Aug 19th, 2009

Here are the slides from a tech talk I gave at eBay last week, I called it “Don’t make me wait! or how to build high-performance web apps”, inspired by, you guessed it, the excellent book “Don’t make me think” by Steve Krug. There’s some intimate details on YSlow’s scoring algo towards the end and […]


Installing a bunch of PNG tools on the Mac

Jun 12th, 2009

This is one of those note-to-self type of posts. Just went through the exercise of installing a number of PNG tools on the Mac and here are some notes. The instructions below should probably work on any unix box. AdvDef, AdvPng, … There is a number of Adv* tools (advdef, advpng, advmng, advzip) packed together […]


Slides from JSConf

Apr 28th, 2009

I’m back from the most excellent JSConf (JavaScript Conference) in Washington D.C. I’m tired and need sleep but the conference was, hands down, the best conference I’ve ever attended. It was all about the community, it was inexpensive, with parties all around, both speakers and attendees were treated exceptionally well, in fact there wasn’t a […]


MHTML – when you need data: URIs in IE7 and under

Apr 10th, 2009

UPDATE: It’s very important to have a closing separator in the MHTML document, otherwise there are known issues in IE7 on Vista or Windows 7. The details are here. In the previous post I described what data: URIs are and how they are useful to reduce the number of HTTP requests. Now, the problem with […]


data:urls – what are they and how to use them

Apr 10th, 2009

If you follow this blog you already know the infamous website performance rule #1 – reduce the number of HTTP requests. Actually, to celebrate Earth Day and to jump the “go-green” wagon/jargon, my favourite performance mantra as of late is “Reduce, Reuse, Recycle” (the Recycle part is a wee fuzzy but, oh well) So to […]


204 No Content

Mar 8th, 2009

Sometimes you want to send an HTTP request and you don’t care about the response. This is often used for logging stuff on the server. Usually you request a 1×1 pixel GIF file and send a bunch of query parameters. E.g. htp:// Such 1×1 gifs are often called “web bugs” or “beacons” and sometimes used […]


Picassa’s progressive photo rendering

Mar 5th, 2009

If you’ve followed the series of image optimization posts on the YUIblog, you’ve probably seen the one about progressive JPEGs. In short, if a photo is over 10K it has a high probability of being smaller in file size when you use progressive JPEG. How do you turn a normal, baseline JPEG into a progressive […]


Content-to-markup ratio bookmarklet

Mar 5th, 2009

When you care about performance, or SEO (or just doing a good job as web dev) an interesting data point is the ratio of page content vs. the markup used to present this content. Or… how much crap we put in HTML in order to present what the users want to see – the content. […]


The 5 Laws of the Website Anything

Mar 4th, 2009

Via Eric Goldsmith, I found today this nice Web Performance 101 article, where the author, Alberto Savoia, states Top Four Laws of Web Site Performance. The article is as old as 2001 (heh, back then “website”, being a relatively newer concept was spelled “web site” 😉 ) and the topic is performance, but the “laws” […]


Installing JPEGTRAN on a Mac or Unix/Linux

Jan 16th, 2009

JPEGtran is cool because it lets you optimize JPEG images losslessly by: Stripping meta data (meta is sometimes bulky and useless for web display) Optimizing Huffman tables or Convert a JPEG to progressive encoding From my experience 1 is more important than 2 or 3 and 3 gives better results than 2 for images over […]


Image optimization – in Chinese

Jan 8th, 2009

Thanks to Joseph Jiang who translated in Chinese parts of my image optimization articles from the YUI blog If you read Chinese, visit


PNG optimization tools

Dec 22nd, 2008

I’m currently experimenting with different tools for optimizing PNG images to figure out strengths/weaknesses of each. Only considering free, ideally open-source, tools that can be run from the command line. For I just picked pngcrush for no particluar reason and I was thinking that once I have the optimization tool up and running and […]


Start wearing purple

Dec 2nd, 2008

Today was officially my first day at my new job at in Yahoo! Search. In the spirit of less-is-more I’m stepping out of the position of improving the performance of all Yahoo’s sites worldwide to improving the performance of just one Yahoo! Search – in the US first, then maybe helping globally. I’m excited by […]


php|works Atlanta

Nov 13th, 2008

Thanks to everyone who attended my image optimization talk at the php|works + PyWorks conference in Atlanta. And thanks for all the questions! I love questions, feels more natural – just geeks talking to geeks – as opposed to one guy sitting on a podium and talking. And the slides: Image Optimization for the Web […] presentations

Oct 5th, 2008 is getting more and more buzz all over the internets. Now there’s even a song about it! Me and Nicole are pretty busy answering email, but a little slow to document the thing, I though I should at least shed some light on how the tool works by using some of the presentations. What […] is a smash hit

Oct 2nd, 2008

Since me and Nicole announced yesterday at Ajax Experience and thanks to Christian Heilmann posting it on Ajaxian and Yahoo Developer Network, this thing seems to have exploded! It’s all over the blogosphere, twitter-sphere and every other sphere. BTW, Chris never seizes to amaze – he posted the video on Ajaxian at 11:01 am […]


Installing pngcrush at dreamhost

Sep 4th, 2008

pngcrush is an excellent optimizer for png images, simple and fast, highly recommended. Basically any time before you post a PNG on the web, you should run it through PNGCrush. It’s a command line utility, there’s a quick way to integrate pngcrush in windows explorer. (note to self: I actually wrote a wordpress plugin to […]


Vote for my SXSW 2009 panel

Aug 13th, 2008

Stuart Colville has put up a proposal for the South By Southwest Interactive 2009 conference, or SXSWi 2009 for short. This is a panel with me and Nicole from Yahoo!’s performance team and Stuart and Ed (ex-UK-Yahoo!s, currently in GCAP Media). In Stuart’s own words: … a panel on practical performance techniques featuring Stoyan Stefanov […]


When PNG8 is not the right choice

Jul 26th, 2008

Dave Artz has a nice post about PNG8 and alpha transparency, my extensive comments on his article are awaiting moderation right now 🙂 Dave has a very cool blog btw, only a few posts but they are all really good, there’s a video tutorial of AOL’s Pagetest tool and a discussion on non-blocking javascripts, something […]


fun: front-end performance vs back-end performance

Jul 25th, 2008

I’m explaining to .. let’s call him “This guy” what I work at Yahoo!: [2:10:32 AM] stoyanstefanov says: research, experiments, building tools [2:10:38 AM] stoyanstefanov says: all around performance [2:10:45 AM] stoyanstefanov says: and focused on the front-end [2:11:33 AM] This guy says: front-end performance sounds so rude [2:11:58 AM] stoyanstefanov says: haha 😀 [2:12:10 […]


My online footprint lately

Jul 23rd, 2008

This is a sort of a catch-up post for listing what I’ve been up to lately. YUI Blog just published my first article, I’m so proud. It’s about loading JavaScript in non-blocking fashion, because JavaScripts, they, you know, like, block downloads. Luckily, there’s an easy fix – DOM includes, which I’ve previously discussed, discussed and […]


Image optimization – 7 mistakes

Jun 26th, 2008

The slides from my talk at the Velocity conference » Download | View | Upload your own


www vs no-www and cookies

May 13th, 2008

One of Yahoo’s performance rules says: Use cookie-free domains for static components. This is good because the server has no use for cookie information when serving a JPEG or another static component, so all this cookie information creates network traffic for no reason. One of the implications of following the rule is related to the […]


Rules for fast web pages

Apr 14th, 2008

… just updated. The list (used to be 13 items, then 14, now 34) is becoming too overwhelming so it’s now split into categories: content server cookie css javascript images mobile Act now to improve you page loading speed, your user will thank you later 😉