I attended O’Reilly Velocity Conference, which took place last week in Santa Clara, is a major conference focusing on DevOps and web performance. The web perf content of the conference reaffirmed my belief that the web, as accessed through the browser, is more important than ever, and that performance is its most critical feature. As the next few billion people access the web, they will do so on uneven grounds and a focus on providing simple performance will be the key to unlocking that new population and providing them the web they deserve. Here in the USA and other developed nations, a lot of the talk about the web is how its unconstrained nature has left much of it worn out and bloated. These topics are intrinsically tied as we try to build the best possible World Wide Web.
The keynote presentation to kick off the conference, Making bad ads sad. Rad!, an entertaining talk by Opera CTO Bruce Lawson, hit on a big reason browser performance is such a hot topic: Ads are terrible and they are ruining the user experience. This topic is not brand new, but as users get more access to ad-blockers and as native social apps eat more and more of the Internet, stakeholders are finally paying attention, and the web needs to address this problem fast if it is going to continue to be a commercially viable platform. Monetization of content on the web remains a pain point, and desperation has eaten away at the user experience. As far as performance is concerned, the issues with advertising are largely technical in nature. They are typically served by bandwidth-expensive, render-blocking means, killing the user experience, especially in high latency environments. Business stakeholders and performance advocates need to get on the same page on some of these topics.
In the privileged world, if the web continues to be an ad-degraded calamity, native may just eat away at the browser web until it vanishes. Shouldn’t we skate where the puck is going and forget about the web as developers? Well it may not seem obvious to you or I, but the browser is only growing in importance as the technology gap widens in terms of Internet connected devices and the browser is the one reliable gateway to the Internet. Ilya Grigorik discussed this topic in his talk Building Fast & Resilient Web Applications. Sixty percent of the world is still not connected to the Internet and when they do connect, they are not going to be on the latest iPhone or Samsung Galaxy. They will be using an underpowered clients with a basic web browser. The browser remains the killer app of the Internet era and progressive applications are everything. It’s unlikely that there will be an array of native applications that work across all these different devices. A website that works across all browsers while progressively making use of the more advanced APIs is the most viable strategy for reaching the world.
As more platforms and standards proliferate, it is becoming more and more complicated to develop new software in general. I think if we are going to develop maintainable software, we are going to have to focus on some of the fundamentals Grigorik and others keep impress upon. We need to reduce the surface area complexity in our applications that make it hard to get back to the point where performance is an achievable objective. If we do not build stable web applications that are capable of progressively serving the various needs of the different populations across the world, we will wind up building unwieldy complex software that relies on brutal conditionals for every little bit of functionality in order to serve the growing list of concerns that is a result of new web adoption.
In his talk Real-world experience with HTTP/2, Michael Gooding did a good job of showing some of the gains that will result from the new protocol, but also demonstrated the tradeoffs and shortcomings. Sadly HTTP/2 has done nothing to ameliorate on the speed of light or build new networking infrastructure. New protocols and languages and features get a lot of hype, but it is the fundamentals of browser networking which will help developers deliver a better user experience to the 7 billion humans that will access it every day.