Let's make the web faster
googleblog.blogspot.com
googleblog.blogspot.com
Don't use video to present a list of points. Although it's only a 3:30 video, I would rather have been able to scan a list of the quotes (with attribution to authors & their titles)... then I could have know it was only a list of opinions (not a reasoned analysis).
We have more pressing problems, like browser compatibility to solve first. Maybe if Google could host a service that would take a page known to work on FF3 and apply magic to it on the fly and make it work on IE6/7/8 etc that would be something useful...
This is true - I have been working with many over the last 3 years to help them improve web site performance. Most sites will see a huge performance improvement by just concatenating (bundling) their JavaScript and CSS. Tools like; YUICompressor and www.rockstarapps.com Eclipse tools simplify the process.
One issue I have found is that developers always leave performance tuning of all projects to the end.
Yep! Here's how that works:
1) You hear "premature optimization is the root of all evil" parroted everywhere.
2) You decide to leave the optimization for the end.
3) You develop code that performs suboptimally, sometimes even abysmally.
4) You develop more code on top of it.
5) You repeat the previous step until the codebase is big enough that optimizing away root causes of performance problems is too painful.
6) By this time you have to deal with releases and bugfixes and feature requests and maintenance and whatnots, so you settle for the advice from Coding Horror, where Jeff told you that throwing hardware at performance problems is cheaper than investing programmers' time in solving them.
7) Profit! Er, no, wait, that's the other list of steps...
How hard is it to configure Apache to gzip your textual content? That takes, what, four lines? And it will deliver huge, perceptible boosts to probably six nines of all websites without perceptible downsides? You should require a note signed by your doctor to NOT have that option turned on.
Putting all your JS/CSS in one file takes almost no thought in Rails. (:cache => true) If you require multiple sets of included Javascript, you have to make the terribly difficult optimization decision of giving them different names (:cache => "purchasing_scripts") If you're not using Rails, then you might have to actually write code in your build/deploy script, once. (Then you copy/paste it to every project you ever do, because there is never going to be a time when including 6 CSS files individually is a good idea.) Looking at our repository it looks like an ANT script can do it in a dozen lines, so it can't POSSIBLY be that hard in your language of choice.
JS/CSS concatenation, at least from the last time I had to roll my own always drove me nuts because I wanted to "recompile" on the fly and thus putting it in my build script meant I had to rebuild with every little change.
(I recognize these are excuses. But every action comes with an opportunity cost, blah blah blah)
JS/CSS, however, I agree completely on - it's a good deployment step but minification is quite the nuisance for debugging and it's less critical if you've configured your server to set proper Expires/Cache-Control headers.
Is XMPP a protocol? Yeah, it specifies a machine-machine communication system but it also specifies the structure and formatting of the messages it sends.
Where do you draw the line? If it were a technical discussion, you'd be right that HTML isn't a "protocol". From TFA, I got the sense that they didn't mean a network protocol but something more like a "standard" (without the nasty connotations of that term).
Edit: oh, screw me, the article actually says 'HTML'. I didn't register that and saw 'HTTP'. I'm guessing the author meant that: didn't you ever write HTML when you meant HTTP and didn't catch it until the third reading?
Edit2: interestingly enough, the above said 'ISO' instead of 'OSI'...
Maybe when developers no longer have to make 5 different versions of their websites, they'd have the time to optimize them for speed .
Writing documents which degrade gracefully isn't hard unless you do it backwards (scripted frills before meaningful content).
The key to fast operation is lowering the work-per-horsepower ratio.
This hasn't happened for obvious reasons: imagine the mid-90's world wide web running on modern hardware. Pages would be a few kilobytes. Nearly everything would be instantaneous. Text would be weighted over images. People would be generally unhappy with the simple design. Then they would begin to make sites that are more amazing and flashy and less useful... oops, welcome to the 2010's! :)
I find this very funny. They were possibly screaming Eureka!
Google added yet another browser to the list of compatibility issues web developers have to endure so they could shave a few milliseconds off javascript. Now they are nagging us day after day to rewrite our websites to scrape a couple more milliseconds off our load times so they can generate even more revenue.
How about Google subsidize all web developers with a $10,000 grant so they can dedicate themselves to implementing the acceleration features they are asking for?