Railing at .NET
At around the same time I began developing an interest in the .NET 3.0 framework, my friend Nigel contacted me regarding a Ruby project that he was involved in named Hobo 🙂 I had looked at Ruby several times before (just as I had looked at Python and a few other languages of that ilk :p) but the fact of the matter is, I’m a desktop developer mainly. While I do enjoy coding for the sake of coding, what gets me going most of the time is to be able to develop a completely new UI that just rocks and to be able to tie in functionality to that UI that makes it not just a pretty face 🙂 I just can’t do that kind of thing with web apps. They are just too stable, too boring – at least for me 🙂 So I save the web apps for when I get paid to do work and I do most of my development work in my spare time for the desktop.
Now that’s not to say that I don’t do web apps development. On several occasions, I’ve developed web apps to fill a need that I had. But most of the time, my personal needs are more for desktop apps than for web apps. However, in the course of our discussions, Nige said something interesting – or at least, something that got me thinking and something which prompted this post 🙂 He said that "desktop apps were going the way of the Dodo". Of course, it’s possible that he was just being facetious but the remark struck me the same way Larry Ellison‘s championing of the thin client a long time ago (in computing terms that is) did 🙂
Just like desktops are not going away any time soon to be replaced by thin clients (or network computers), desktop apps are not going to be suddenly supplanted by web apps. There is a place under the sun for both. There are times when a server-based solution would work for you better than a desktop one and then there are other instances, that it would just be plain foolish to go for a web-based solution just because you thought web-apps were the greatest thing since sliced bread :p For instance, I know that a lot of people think highly of services like Writely (now renamed to Google Docs & Spreadsheets) because you can have your document online, share it with anybody and be able to access it from anywhere. Call me paranoid but I don’t like online services for document editing – at least not as my primary access point for said document. I’d rather have it on my own hard disk where I can take the damn computer to a technician if the thing breaks down, or I can simply login and copy the data even if my Internet access is down.
Of course, the flip side of the coin is that Google probably has better backups and better disaster recovery in place than I do 🙂 But on the other hand, Google might not be the best case to argue the scenario of web-apps vs. desktop apps. What about the roll-your-own type of web app? You deploy it on your webserver (hosted elsewhere) and put your data on it. Are you going to be completely sanguine in the belief that your data will be safe and accessible from anywhere, any time you want? I know I won’t be – but then again, as I said before, I’m probably more paranoid than others :p
In the end, I guess whether you go desktop or web-based, the decision will depend to an extent on personal choices and other factors. But I don’t believe either web-apps or desktop ones will die away anytime soon 🙂