Google Maps and AJAX vs WithStyle - the Australian Legacy
Well, here's another story of Australian-born technology making a big splash - this time with Google Maps nonetheless.
In early 2003, Lars Eilstrup Rasmussen co-founded Where 2 Technologies in Sydney with his brother Jens. A mapping-related startup, the company was bought by Google in October 2004. Up until this point, Google Maps was to require users to download a viewer written in C++. Lars managed to design and prototype Google Map using features in existing browsers - along with a whole lot of fancy Javascript.
Nice to know the key technical know-how on Google Maps came from Australia but not so nice that our fair country is still a featureless grey wasteland (with the occasional drought-ravaged lake when on Map view in Google Maps. And there is a very ugly transition from hi-rez to a blurry green low-rez mess on the edge of Canberra. Somewhere in the middle of this is where my new place is being built - just before the image data runs out completely! Oh, and there is a bad stitch right outside my current residence so that my dead trees are outside the place next door!
Back to Lars and his keynote at the 5th International Conference on Web Engineering in Sydney last week:
The only way to transform the Web into the desktop platform of the future is to fully embrace bleeding-edge features in browser software.
Indeed, it should go without saying that limiting our UIs to the sort of basic HTML and primitive HTML forms that we had a decade ago isn't making web applications any better for anyone.
News.com has a good writeup on the history of Google Maps, Lars' recent presentation and thoughts on "pushing beyond browsers' lowest common denominator".
Whilst Lars' team has done some fairly ground-breaking work to make Google Maps as usable as it is, this sort of approach - currently riding a huge wave of hype on the strength of this implementation - isn't for everyone. Not everyone has the time and money to bend over backwards and write a mass of experimental Javascript and attempt to make it not only cross-browser but usable when their core competency is writing server-side web apps in a C-family language, Smalltalk or the like. There are only so many Javascript nuts out there.
Alex Bosworth listed some common AJAX mistakes a while back. A lot of this boils down to the fact that as soon as you start interacting asynchronously using Javascript, you bypass a lot of the fundamentals of the web browser and move the UI into what amounts to a black hole as far as the browser is concerned. You then get into the game of having to re-implement the standard user feedback mechanisms you've just bypassed! This sounds an awful lot like the fallout from yet another web workaround - which is essentially what it is. A workaround around the non-persistence of scripts between page reloads. A lot of people praise web UIs because they are simple and consistent. These are exactly the attributes that can be forgotten when the conventional rules cease to apply in the AJAX black hole. This means you need to be very careful with UI design or you'll undo all the usability advantage you thought you had with you super-tricky pile of Javascript.
My view is that Javascript-intensive UIs like Google Maps are a solution accessible to the dedicated few who gravitate towards the most high-profile web apps like Google Maps. I can't see this style of development making its way into the mainstream of applications development any time soon. Not when such solutions succeed despite the development toolset rather than because of it. Smalltalk is probably as diametrically opposed to the Javascript/AJAX/DHTML madness as is possible in terms of developer productivity. And this is where we live - with WithStyle.