Availability

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’s people with browsers that for some reason didn’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 get in the way.

(Also, more on why availability matters, with smiling diagrams!)

More in the discussion (powered by webmentions)

  • BrendanEich responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Chris Lord responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Matt Walker responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Martin Albisetti responded at twitter.com @sil +1
  • Jude Gibbons responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Ross Bruniges responded at likes this. (twitter.com)
  • Greg Franko responded at likes this. (twitter.com)
  • JJoos responded at likes this. (twitter.com)
  • Rohit Gupta responded at likes this. (twitter.com)
  • Felipe Nascimento responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Peter Gasston responded at likes this. (twitter.com)
  • George Crawford responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • defmyfunc responded at likes this. (twitter.com)
  • Fredrik Carlsson responded at likes this. (twitter.com)
  • Mathieu 'p01' Henri responded at likes this. (twitter.com)
  • Michal Bernhard responded at likes this. (twitter.com)
  • Masud Akram responded at likes this. (twitter.com)
  • Yoav Weiss responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Anselm Hannemann responded at likes this. (twitter.com)
  • Andrew Betts responded at likes this. (twitter.com)
  • Marcel Mengerink responded at likes this. (twitter.com)
  • Anthony Ticknor responded at likes this. (twitter.com)
  • David Moulton responded at likes this. (twitter.com)
  • Jaroslav Snajdr responded at likes this. (twitter.com)
  • Chris Wright responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Chris Wright responded at likes this. (twitter.com)
  • Luis Mauricio responded at likes this. (twitter.com)
  • Nicholas Lindley responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • ‏Chris Adams‎ responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Brian Sniffen responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Matt Croydon responded at likes this. (twitter.com)
  • Kevin Fricovsky responded at likes this. (twitter.com)
  • Michael Warkentin responded at likes this. (twitter.com)
  • Andy Davies responded at likes this. (twitter.com)
  • Peter Gasston responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Lucas Rocha responded at likes this. (twitter.com)
  • Bruce Lawson responded at likes this. (twitter.com)
  • Matias Lespiau responded at likes this. (twitter.com)
  • mattur responded at reposts this. (twitter.com) RT @sil: A few thoughts on availability in web apps after yesterday's great #edgeconf discussion about progressive enhancement kryogenix.org/days/2015…
  • Chris Williams responded at likes this. (twitter.com)
  • dkyktt responded at likes this. (twitter.com)
  • Jason Garber responded at Responsible ... (sixtwothree.org) There’s been a good deal of discussion lately around one of my favorite Web design topics: progressive enhancement. Aaron Gustafson, Jeremy Keith, Stu…
  • A response was written at Edge words (adactio.com) I really enjoyed last year’s Edge conference so I made sure not to miss this year’s event, which took place last weekend. The format was a little diff…
  • Georg Portenkirchner responded at plus.google.com Stuart Langridge on progressive enhancement http://www.kryogenix.org/days/2015/06/28/availability/ as days pass by — Availability
  • Surma responded at twitter.com @sil You have a point. Will adjust my phrasing there. I had non-crucial iframes in mind, but that might not always be the case. Thanks!