Making the Web Faster at Google and Beyond

Recorded at:

Summary
Ilya Grigorik shares details on Google’s project to make the web faster: some of their findings on what slows down the web experience and how they improved it in Chrome and services.

Bio

Ilya Grigorik is a web performance engineer, an open-source and Ruby evangelist, a data geek, and a proverbial early adopter of all things digital. He is currently working with the “Make the Web Faster” team at Google – working on exactly that goal.

Strange Loop is a multi-disciplinary conference that aims to bring together the developers and thinkers building tomorrow's technology in fields such as emerging languages, alternative databases, concurrency, distributed systems, mobile development, and the web.
Strange Loop was created in 2009 by software developer Alex Miller and is now run by a team of St. Louis-based friends and developers under Strange Loop LLC, a for-profit but not particularly profitable venture.

(sorry after writing this sounds like a bit of a Friday afternoon rant - which it is - but I wanted to raise some important - IMHO - points)

This is a nice presentation and well delivered by Ilya, but my first reaction was to ask wow, don't Google engineers actually use, erm, "google" to research how other people have solved similar problems before rushing off and defining their own solutions?

Much of what SPDY aims to do was addressed back in the late '90s with WAP which defined an efficient "binary" encoding for HTTP 1.1 in WSP and dealt to some extent with high latency and packet loss in WTP and bearer independence through WDP.

Although WAP made many mistakes and was widely criticised at the time (largely I think by people who didn't understand it), from an engineering perspective it was actually quite solid.

Similarly, the many problems of TCP over long fat networks and similar have been known for years and (to some extent) fixed in newer IETF protocols such as SCTP or dealt with in other ways by many of those working in mobile, satellite or space communications.

If we want to improve and/or speed up the Web, I suspect we would be better off learning from and building upon these previous efforts!

I had similar reservations about a recent InfoQ presentation from Google on Dart which seemed to ignore much of what we have learned about security in mobile code environments over the past 30 years.

I thought Google engineers were supposed to be smart?

In my book, smart engineers learn from their forebears and move their discipline forward rather than continually try to reinvent the wheel. Maybe Google's engineers are smart, however and this is just a failing in (or lack of) Google's engineering management in not organising the creative efforts of their bright young things more constructively. Or perhaps a sign that Google as a technical powerhouse is actually now on the decline...

The teams at Google are definitely aware of all the prior work - in fact, it's not usual to find Googlers who worked on many of those projects! I'm not going to speculate on why some of the previous attempts have failed, but I think everyone (the community at large) has learned something from each attempt, and we're all trying to figure out how to move the web forward. SPDY and Dart are our runs at it.. and I hope they're not the only or the last runs at the problem!

For SPDY specifically, you can check out our Chromium wiki which describes previous approaches, and why they were not sufficient:www.chromium.org/spdy/spdy-whitepaper + there are also a lot of good discussions on the mailing list.