I stumbled across this in choonkeat’s blog (creator of RssFwd – which is a pretty cool app in itself, more on that later) and it resonates what I been thinking for some time now. In short, the idea is to have an application running on LAMP (or similar) setup installed locally on a desktop machine, with the browser as a UI – sort of a Web app without the Web.
Why is this good? Because you get a number of things automatically:
1. Cross platform compatibilty – I think this would be more a of a big deal than it seems now, as OS X marketshare grows and large organizations start adopting Linux desktops, especially in developing countries, supporting only Windows will be less of a viable option.
2. Large developer base – dynamic languages have lower entry barriers, and apps written in them are usually have a smaller and easier to understand (or at least alter to your needs) codebase. Also, since the code is usually distributed in plain text format, it’s easier to start playing with it than with compiled languages. As in web apps, I think non-programmers will to join in coding & altering of apps. So, more people adding useful features, useless features, fixing bugs, creating other bugs etc – but generally in a positive way. I think once the platform is in place, Desktop WebApps will outgrow traditional desktop apps quite quickly.
3. Uniform (eh) UI – this may seem counterintuitive, but it’s really not. Web apps are more standardized than people think, and Desktop Web Apps that will allow user to use the Back buttons & bookmarks, for example, may well be quicker for users to learn.
4. Desktop/Web integration – apps are rising now that let you store your data, mp3 or photos on the web. I already trust the web more than my desktop – all my important mails are in gmail, the photos I really want to keep in Flickr. Personally, I’d really like something like Flickr on my desktop – keep both my online and offline images tagged, arrange my sets while I’m on the train and seamlessly upload them when I’m back online – and all without having tolearn a new interface.
5. Less hardware demands – not only because Web technologies are generally quite low on hardware demands (at least when serving only 1 user), but as result of OS independence.
Technology-wise, of course all this could be achieved for a while. But I think it will finally happen now that AJAX is being widely adopted.SQLite will probably be useful here too, and RoR is a pretty good match as well, with the webrick server included in by default and the RubyGems packaging system. All that’s needed now are the apps – and the buzzwords, whichever comes first.