Jon Udell’s recent postings on AJAX and “Web friendly” Flash got me to thinking (as most of his posts do – I miss working at the same place as him, if for no other reason than he was constantly finding new technologies to be excited about).
So why do we let ourselves settle?
I think there are a couple of answers:
- It’s easy. Click, click, and you have a map. Click again and you have email. Click again and you have today’s news. The Web-style linked UI is easy to learn, in part because it flattens user experience – there are fewer options for what you can do, and the options are generally very discoverable (buttons and links). A new “application” is simply a click away, with no app to install locally.
- There’s content. Everything is online these days: yellow pages, white pages, maps, shopping, news, friends. We’ll give up a lot in terms of great UI if we can have the content we want.
- We know it’ll get better. We have faith in technology – we know that, even if something stinks today, it’ll get better tomorrow.
Of course, the final point is that Web experiences are thought of as “easy to build.” I’m not quite so sure about that, but…
On that third point, a lot of folks these days are investing in pushing the browser to (and past) its limits. XmlHttpRequest was a very powerful technology Microsoft built into IE a long time ago that developers have finally started to really exploit. And they’re running into a bunch of interesting issues, not the least of which is that programming this type of app is hard. Another thing is that sometimes using XmlHttpRequest isn’t the right solution – technologies such as WebDAV, RSs, or SOAP can actually be far better. The third thing is that, for everything you can do with AJAX, it’s still not a local application – developers still need to stuff data into the local browser cache in order to get the kind of responsiveness we expect from a local application.
All of this comes up because I’ve been playing with a bunch of AJAX programming frameworks for the last two weeks – AJAX.NET, Ruby On Rails, Sajax, and DWR. I wanted to see if a patzer like me could use them to build Web applications. My verdict: not quite yet. Yes, I could build things. I couldn’t build anything as sophisticated as Google Maps. I could build applications that worked better. I also found a host of irregularities in how different browsers render things. And I really wished I had a good set of tools to build the applications with.