Session: Asynchronous User Interfaces - the future of Web UIs

Wednesday 10.00 - 10.50
Room: Keyboard Cat

Web developers are still stuck in the request/response mindset. I call it the 'click and wait' approach - where every UI interaction results in a delay before another interaction can be performed. That's the process they've used their entire careers so it's no wonder most developers are blinkered to the alternatives.

Speed matters; a lot. Or to be precise, perceived speed matters a lot. Speed is a critical and often neglected part of UI design, but it can make a huge difference to user experience, engagement and revenue. This has been proven time and time again in UI studies.

Yet, despite all this evidence, developers still insist on using the request/response model. Even the introduction of Ajax hasn't improved the scene much, replacing blank loading states with spinners. There's no technical reason why we're still in this state of affairs, it's purely conceptual.

However, there's a solution to the problem, a revolution in the way developers think about user interfaces. Asynchronous UIs, where every action is non-blocking and instant. There are no loading messages or ajax spinners. Requests to the server should be decoupled from the interface.

I've been working on this problem, specifically with a MVC JavaScript framework called Spine, AUIs result in a significantly better user experience, more akin to what people are used to on the desktop than the web.

In this talk I'm going to be going over the main issues, why AUIs are preferable, and then how to implement them, by moving state to the client side and rendering with JavaScript templates. This topic is immensely popular, and a blog post I wrote on the subject got a large deal of interest.

Tags: Front end Javascript UX Web


Some proficiency in JavaScript

Alex MacCawAlex MacCaw

I work at Twitter. Ruby/JavaScript developer, O'Reilly author and entrepreneur.