« Added more readers to SingleSub Saving and Loading Files from Web Pages via AJAX »
The Network IS the Computer: Ajax on Desktop
Posted February 15, 2006 – 10:38 pm by Yakov Shafranovich in WebsiteDESKTOP APPS BUILT LIKE THE WEB
One of the upcoming big technologies in Microsoft’s new OS (“Windows Vista”) is XAML – an XML language for defining user interfaces. Mozilla also has a similar one called XUL. All of these are trying to accomplish the same thing – make rich applications run on the desktop while let developers write them like web applications. Microsoft in particular is being driven by the biggest threat to their proprietary Windows OS “cash cow” they have ever seen – the Web. As Joel Spolsky puts it: “… suddenly, Microsoft’s API doesn’t matter so much. Web applications don’t require Windows”. Mozilla was motivated by a need to easily write cross-platform code (ironically the exact opposite of what drives Microsoft). But the end result was still pretty much the same – full-featured desktop apps written in markup instead of compiled code.
WEB APPS THAT RUN LIKE DESKTOP APPS
While this has happening, a second major technology has been brewing for a while – Ajax. Using JavaScript and XML instead of proprietary technologies like Flash and browser-specific extensions like ActiveX, this new approach to web development allowed for new innovative applications running on the web that in many cases looked and felt like desktop applications. Lead by well known sites like gMail and Google Maps, it took the Internet by storm. The prime drive was to make web applications run and feel like desktop applications while still running on the Web and being developed like regular web sites with markup and open standards such as XHTML, CSS and JavaScript. And the standards involved are still being improved by the likes of W3C and WHATWG to make these work better and faster.
A third major development has just recently begun as well – widgets. Microsoft’s Live.com, Google’s homepage service as well as lots of other “Ajax Homepages” have been popping up as of late. All of these offer a web desktop extensible enough so custom widgets can be added to them. The actual widgets are Ajax pieces – basically HTML with CSS and JavaScript running in very small windows and under certain constraints (see Microsoft’s gadget list and Google’s for some examples).
WEB APPS ON DESKTOP
While widgets may be seen like mere toys and Ajax a raw technology, they are harbingers of something much more important yet to come – web applications that live on the desktop and the Web, and easily cross the path between both. Some first attempts at this have begun such as Microsoft’s plans to allow widgets to cross from Live.com to the desktop, Yahoo’s widgets that live on the desktop and Google’s sidebar plugins that can be written in JavaScript.
However, there is a next step. Overlooked by the giants of computer technology, the blogs and other media, is one small tiny project built by Jeremy Ruston – TiddlyWiki (a variant version called GTD Tiddly Wiki is more known in some circles). In the essence it is just a wiki like any other, but a closer look under the hood reveals otherwise. It is a self contained web application that can run from the web OR desktop, and save itself from the desktop to the web and vice-versa. All built with regular DHTML, CSS and JavaScript in a 120KB package of open standard goodness. It is the first example of what probably is going to be a flood of new desktop/web programs that run anywhere, communicate with anyone and are built using open standards without licensing fees.
THE GOLDEN GRAIL: WEB AND DESKTOP SEAMLESS
TiddlyWiki is not much to many of us but it foretells the golden grail of desktop/web integration – Sun’s old slogan: “The Network is the Computer”. In such future we should be able to login to any website in the world, have the ability to have the site run locally on our computer as an application and then save itself back to the web. The integration should be seamless and transparent and run on any platform. Or even better, perhaps it can also talk to other web applications out there. So for example, when I wake up in the morning to check my calendar, my web/desktop super-dooper scheduling applications can tell me if an appointment needs to be rescheduled because someone else is unable to make it after being notified by his scheduling app. I should also be able to save my desktop back to the web and access it from anywhere. With web services and open standards this is not far fetched.
That would also mean something else – XUL and XAML as well as other proprietary ways of accomplishing this goal will fall by the wayside. In their place we will have XHTML, CSS and JavaScript – all of which are open standards and will run on every platform. Instead of conventional software that is downloaded and installed, we just might end up only using a browser with everything else, desktop and web, running inside of it.
Tags: ajax, desktop, gtd, microsoft, mozilla, openstandards, tiddlywiki, web2.0 —
Permalink | Trackback URL | This post has