Slowly but surely desktop software is being replaced with Web based software. The Web browser is becoming a platform for more complex software applications – the window through which you do everything – not just browse the Web. Web based software (coupled with “cloudcomputing”) has many advantages such as, automatic updates, portability from one operating system to another, and centralized data storage. It has traditionally had its downsides as well, like security, network speed, and user interaction.
As computers get faster, and internet connections more pervasive, Web based applications are becoming more practical. All Web browsers need are a few more features like local storage and support for working offline to make them a viable environment for 80% of all software. The remaining 20% will require specialized user interfaces or hardware that will probably never be fully “Web based”.
Several technologies have been invented to add these features. For a while, it looked like Rich Internet Applications (“RIAs”, see Silverlight and Adobe Air) would win out as the next application platform. However, recently I’m becoming more convinced that a combination of AJAX and browser add-ons will win.
Just 6 years ago it was conventional wisdom that (at least within Microsoft) Web browsers had become just as complicated as they would ever. I remember a Microsoft employ saying “their may not be another version of IE after 6, I mean what else is there to do?” AJAX applications were too slow to really replace destop applications.
- Firebug is a decent debugging tool.
- Namespace Hacks keep code clean
- JSON beats XML as a data transmission format
- Functions are first class objects
- Reflection (types can be inspected and modified at runtime)
- Decent development environments (code completion in Aptana)
- Threading hacks and event libraries
- Many advanced animation and UI libraries to choose from
- Firefox + Google Gears
- Safari (aka Webkit platform) with special features for client side storage and animation
- Internet Explorer + What?
Microsoft is in trouble for a couple reasons. I’m not sure if Silverlight is meant give code running in IE access to the Operating System. Even if it is, IE is only supported on Windows.
It may be a bit premature to predict the end of most desktop applications, but it sure seems like those who have switched operating systems will recognize and speed up the trend.
see also Yahoo’s BrowserPlus
“However, recently I’m becoming more convinced that a combination of AJAX and browser add-ons will win.” — Interesting idea. I know Microsoft was exploring this idea in IE7, but it’s a little fuzzy in how add-ons become useful to an AJAX application without getting in the way. How would you see add-ons being used in conjunction with browser code? Would the AJAX code somehow reference the addon to manipulate its UI (for example, the “online users” bar for Facebook would be embedded in the browser chrome)? Without a great deal of care, we’d have to conquer the same issues we hit with installing/removing programs with the OS itself: versioning, security, privacy, compatibility, localization, … I get that AJAX-like functionality could one day replace desktop apps, but how do add-ons fit into the picture?