Quantcast
Channel: Planet Ubuntu
Viewing all articles
Browse latest Browse all 12025

Stuart Langridge: Availability

$
0
0

Some very interesting discussions happened at Edgeconf 5, including a detailed breakout session on making your web apps work for everyone which was well run by Lyza Danger Gardner. We talked about performance, and how if your page contains HTML then your users see your interface sooner. About fallbacks, and how if you’re on a train with a dodgy 3g connection the site should work and that’s a competitive advantage for you, because your competitors’ sites probably don’t. About isomorphic JavaScript and how the promise of it is that your Angular website won’t have to wait until it’s all downloaded before showing anything. About Opera Mini’s 250 million users. It’s about whether the stuff you build is available to the most people. About your reach, and you being able to reach more than the others.

In the past, we’ve called this “progressive enhancement”, but people don’t like that word. Because it sounds hard. It sounds like you’re not allowed to use modern tools in case one user has IE4. Like you have to choose between slick design and theoretical users in Burma.

Much rhetorical use has been made of the gov.UK team’s results of people not getting the script on their pages. The important part of that result was that 0.9% of visits didn’t run the client side scripting even though they should have done. It’s not people with JavaScript turned off, it with browsers that don’t run it at all. Did you open a hundred web pages yesterday? I probably did. So for every hundred web pages opened by someone, one of them didn’t work. Maybe they were in a tunnel and the 3g cut out. Maybe they were on hotel WiFi. Maybe the CDN went down for ten seconds. Maybe the assets server crashed. But, for whatever reason, some of your site didn’t work. Did that make your site unavailable to them? Not if it was written right, written to be available.

And “written right” does not mean that you have double the work to build a version of your WebGL photo editor that works in Lynx. If you do this by having isomorphic JS, so your node server provides HTML which makes your pages load before your 2MB of bower JS arrives, that’s fine. Because you’re available to everybody; a Macbook user in a cafe, a finance director on her Windows desktop, a phone-using tween in a field with no coverage, and yes even Opera Mini users in Burma.

It’s not about giving up your frameworks to cater for fictional example users with scripting disabled. It is true that not everyone has JS and that sometimes that’s you, so let’s work out how to do this without regressing to 1998.

So I’m not going to be talking about progressive enhancement any more. I’m going to be talking about availability. About reach. About my web apps being for everyone even when the universe tries to stop it.


Viewing all articles
Browse latest Browse all 12025

Trending Articles