With everyone suing each other over what mobile device came first, there is an underpinning debate to this whole mess. He who controls the platform, controls the users. Developers only flock to the platform that has the most control (implicit or explicit) over it’s users. Subsequently this means that developers are in an absolute mess right now. We want everyone in the world to access our service, no matter where they are, how old they are, or how they are connected. Which comes to my point of this post: accessibility is the most important thing in the computing world.
I really love this quote from Steve Yegge Google Platform rant:
The other big realization he had was that he can’t always build the right thing. I think Larry Tesler might have struck some kind of chord in Bezos when he said his mom couldn’t use the goddamn website. It’s not even super clear whose mom he was talking about, and doesn’t really matter, because nobody’s mom can use the goddamn website. In fact I myself find the website disturbingly daunting, and I worked there for over half a decade. I’ve just learned to kinda defocus my eyes and concentrate on the million or so pixels near the center of the page above the fold.
I’m not really sure how Bezos came to this realization — the insight that he can’t build one product and have it be right for everyone. But it doesn’t matter, because he gets it. There’s actually a formal name for this phenomenon. It’s called Accessibility, and it’s the most important thing in the computing world.
The. Most. Important. Thing.
If you’re sorta thinking, “huh? You mean like, blind and deaf people Accessibility?” then you’re not alone, because I’ve come to understand that there are lots and LOTS of people just like you: people for whom this idea does not have the right Accessibility, so it hasn’t been able to get through to you yet. It’s not your fault for not understanding, any more than it would be your fault for being blind or deaf or motion-restricted or living with any other disability. When software — or idea-ware for that matter — fails to be accessible to anyone for any reason, it is the fault of the software or of the messaging of the idea. It is an Accessibility failure.
We have a major accessibility problem in mobile computing and it’s largely due to the fragmented mobile smartphone industry. Facebook made a strategic decision awhile back to develop a majority of it’s mobile platform using HTML5 and it’s CEO has just said it was “the biggest strategic mistake” they’ve ever made. The HTML5 platform was supposed to alleviate the pains of the service not being accessible to anyone however, accessibility isn’t just a technological issue, it’s a sociological one. For example, let’s think about some basic web-based service functionalities like:
- How do I login?
- Where do I login?
- How do I sign-up?
- Where do I do “something”?
- How do I do “something”?
Now try to imagine being able to answer these all accurately across a multitude of devices and platforms. Then think about different screen sizes, offline, online, connection settings, security, internationalization, localization, etc. etc. The list goes on and on. These are all accessibility issues and they are not easily solved by software, but rather by real human beings with the desire and intuition to find complex solutions while trying to balance all of these at the same time.
Why are we in this situation today?
Easy. Microsoft isn’t the dominate player in the personal computing industry anymore. We have a healthy competition between Apple, Google, Microsoft (and arguably several others) which has lead to an explosion of device and app innovation, which has subsequently lead to a fragmentation of abilities to develop on those platforms. Unfortunately for budget holders, looking to compete in today’s web, this means higher costs of doing business. However, this is mobile, it’s the present and it’s the future. If we don’t capture it correctly now, someone will, and it will be the death of many companies if not orchestrated properly.
Interestingly we went through this same situation in the 90s when the web was still trying to mature and the only real option was to create native desktop applications. The web matured with JS and HTML, and we can now do much of the processing on a web server, and display this data on a browser. Unfortunately there is one fundamental difference – mobile devices are not yet fully connected. We still have large infrastructure issues across a myriad of slowly innovative telcos and government regulations. Until our smartphones are constantly connected wherever we are, I don’t see the HTML5 mobile spec progressing as quickly as we all hope it will.