A blog by Ryan Breen of CloudFloor
Ed Eliot and Stuart Colville, in preparation for the release of their forthcoming (early ’08) book titled “High Performance Web Site Techniques,” are planning to release a set of utilities through their companion site, website-performance.org. The first is a CSS sprite generator, a web app which takes an uploaded .zip of images and generates both a spritemap and the CSS rules for each sprite.
At the Rich Web Experience, someone in my session asked whether there are tools to help out with the tedium of building CSS sprites, and I didn’t have a great answer. This is a great tool, and I’m looking forward to whatever is next from Ed and Stuart.
Last Tuesday, Joel Spolsky offered up his latest Strategy Letter, arguing by analogy to an earlier era that software optimization in the Ajax world is wasted time:
The developers who put a lot of effort into optimizing things and making them tight and fast will wake up to discover that effort was, more or less, wasted, or, at the very least, you could say that it “conferred no long term competitive advantage,” if you’re the kind of person who talks like an economist.
Since I can safely rely on Joel never reading this entry, I’ll say with confidence that this is a deeply flawed analogy. I think it misses by overstating or improperly characterizing two separate forces which serve to pull the current trends in very different directions than Joel expects.
First, the release cycles for new applications and libraries are much, much shorter in the hosted model. While Microsoft could afford to release a few incredibly slow versions of Excel before the hardware caught up, that would be a lifetime for a startup trying to hawk a new library in the Ajax world. For something to perform as poorly as Joel suggests, it would need to boast unfathomably amazing features to justify getting market share, and enough of our libraries are useful enough that it’s hard to imagine anything so unspeakably better.
Second, and far more importantly, Joel’s comparison hinges on updates to the development environment, such as improvements in processor speeds, that occur on roughly the same timescale as new releases of the software. As I just said, hosted software is released much, much more quickly than client apps, for a range of reasons. At the same time, the rate of change in the browser world is at least an order of magnitude slower than system performance improvements. IE6 to IE7 in 7 years versus Moore’s Law? There really is no comparison.
In fact, I would argue that we are in the exact opposite of the scenario he envisions. We are in a world where browser development occurs at an absolutely glacial pace, at least as far as the bulk of the installed base goes, compared to hosted application development.
If Joel wants to posit a gnarly new SDK to end all SDKs, how about one that allows novice developers to build applications that perform incredibly well on the crappy browsers we’ll have to support for the next 5-10 years? That is a vision more in line with our present reality.
I’m an inveterate RSS consumer, and I use the NetNewsWire+Firefox work-flow. I am also one of those people who can’t stand to have a message (in a news reader, an e-mail client, etc) marked as unread, so I tend to pop open a new tab for every new article, assuming I don’t have time to read it immediately. I almost never have time to read things immediately.
The net result tends to be a cyclical model where the number of open tabs builds over the span of the work week, starting of a low around 10 or 20 and ending somewhere around 100. Anything beyond 100 tends to put me into a danger area where Firefox will slow to a crawl, explode, etc. Over the weekend I go through a purge process, using some of that downtime (and the much lower velocity of incoming news articles) to read my way through most of my backlog.
Right now, I have 154 tabs open. That is a personal record and well outside of tolerances. Firefox may blow at any second. I have no time to get this down to a reasonable level between now and Friday, so I think I have no choice but to ride this thing out.
I’m back from a whirl-wind west coast trip that involved the first 2 days of The Rich Web Experience and ended with a weekend in Vegas, at the wedding of one of my co-Gomezians. So, while he’s in Hawaii Twittering away, I’m doing both of our work and trying to get caught up on things. That lucky so and so.
Some brief words about the conference. First, Jay Zimmerman puts on a great show, and I was honored to be involved. It was a sweet venue, the presenters were top notch, and the interaction with the attendees was really gratifying. I’m disappointed I wasn’t able to stick around for the Saturday session, especially to see the performance tutorial by the esteemed Steve Souders and Tenni Theurer of Yahoo!
As with the Ajax Experience in July, performance was a hot topic. I was fortunate enough to sit on the opening panel discussion of the show, and I was thrilled to see how much of the discussion was driven by ‘yeah, but how do we manage these applications?’ type questions. That’s a challenge that we in the tools and developer evangelism spaces need to rise to, but it’s great to see the demand for solutions.
The first day of the show, I attended an excellent performance talk by Ron Bodkin, founder of New Aspects and creator of Glassbox. Ron spent a fair bit of time discussion operational management concerns (even giving a shout-out to Gomez, making him my new best friend). That evening, Ron and I chaired a BoF on performance and had a pleasant hour long chat with an interesting group of developers who are tackling Ajax development and management problems every day. It was heaven for a performance geek.
My presentation was the second day of the show, Friday. Another great thing about Jay’s NoFluffJustStuff shows is that he gives presenters plenty of time to work with. An hour is really not enough to cover a lot of ground — I hit 58 minutes during my last hour long show, leaving 120 seconds for Q&A. At RWE, Jay gave us 90 whole minutes of time to work with and rope to hang ourselves. It’s a cool format.
I got some great feedback from the attendees, including one that I want to pass along. Luke of iParadigms, who sat through all 90 minutes of my presentation and claims to be one of my 5 readers, pointed me to this presentation by Joseph Smarr of Plaxo at Yahoo! Again, Yahoo! is doing awesome work in the performance space, and their contributions to developer education and evangelism are legion.
You want more proof? I leave you with Steve’s “High Performance Web Sites: 14 Rules For Faster Pages”.