Trends from HTML5 Dev Conf

I recently attended the HTML5 Developer Conference (their second event of 2013, I also went to the April conference) in San Francisco and enjoyed the sessions and feel. Here are a few trends I noticed this time:

Angular.js

I missed out on this for a while, but when I talk to other developers I respect, they frequently talk about Angular. I had a look, and had one of those mindset shifts I remember from the first time I grokked jQuery, and before that, Rails. Angular’s perspective on apps isn’t entirely new — however, its time has come. At the conference, Angular could have been its own track. Talks I went to that weren’t about Angular frequently used it as a reference point.

Node.js

You’ve probably heard of Node by now. One of the interesting effects has been to provide a “no compromises” environment for JavaScript feature development. As front end developers, we look at new language features and wonder when we’ll be able to use them. Node has no such issue and has begun implementing ES6 features with impunity. Not only does this provide a real venue for growth, but increases the odds that, when these features become assumable in front end environments, they will have been vetted in the field. This is good for everyone. And more simply, Node is everywhere among serious JavaScript developers.

Google vs. Mozilla vs. Apple, Adobe

Griping about Internet Explorer used to be a primary topic among developers; but the game has shifted with the rise of phones and tablets, and Microsoft just isn’t as important.

Apple was a shining example of progress, but these days seems mostly to be keeping pace. Safari has moved into Internet Explorer’s old role: important because lots of people use Apple’s other products, bundled with the system, only updates when the system updates and can be a drag on other developer efforts.

Most of the serious debate seems to flow between Google and Mozilla. Mozilla espouses the values of the open web, while Google pushes developer capability, speed and its particular business interests. Though debate can be intense, I don’t have the sense that the players are trying to undermine each other.

Then we have the recent entrance of Adobe. You may not care about or need standards like CSS Regions and CSS Shapes, or a tool like Snap.svg (which was announced at the conference). But that’s exactly the point. The web has been overshadowed in many ways by browser vendors with only a particular, skewed perspective. It’s vital that the web has voices that speak to needs a browser vendor may not appreciate. I’m glad to see Adobe more involved. There are other companies that don’t make browsers but do care deeply about the web; I hope to see them follow Adobe’s lead.

Life after jQuery

I don’t just mean “jQuery the library” but also “jQuery the approach to web development” and in particular, progressive enhancement. I think progressive enhancement’s days as the governing perspective on web development are ending.

jQuery became dominant because it so purely expressed the progressive enhancement concept in code: take a document, scan it using CSS selectors and append behavior on top. Assume the worst possible execution environment and build up from there. The early days of the web were defined by incompatible APIs, vendors hostile to each other, poor software update dynamics and less sophisticated users.

These days, more and more browsers update automatically or with system upgrades, often with no user input required. Implementation of standards happens (more) quickly, and with far less differentiation. The use case for browsers without JavaScript is shrinking. Sizzle, the jQuery selector engine, has been implemented natively in most browsers. Web components promise to raise all boats: to let us build the web up instead of lowering apps down.

This is less a matter of bad technology failing then of good technology succeeding so profoundly that it rapidly becomes less necessary as the underlying web technologies have changed in response. The new market has stable APIs but divergent screens, network concerns, power concerns and is increasingly app-oriented.

Angular and Polymer are among a cadre of new frameworks pointing to the future, imbuing the core platform with much more power, either through brute force — Angular — or careful standards expansion — Polymer.

When Alex Russell talks about Web Components, he talks about the madness of reconstructing markup systems in code. I suspect this is a gentle way of saying jQuery is a kind of helpful madness. If we could raise the whole platform up so that our most beloved tools become unnecessary, wouldn’t that be the best outcome? I take hacks for granted as a web developer. What if we didn’t have to? For the first time in my career, I’ve begun to think this is possible. Maybe not probable yet, but possible. And that’s a big step.

Session Links

I’m waiting for conference organizers to post videos of the various sessions. When they do, I’ll put together a collection of the best ones. Stay tuned.