Ramblings from the creator of HomeSite, TopStyle, FeedDemon and Glassboard Android.

Thursday, October 27, 2005

Web 2.01: It's a mistake to rule out the desktop

In a recent post about revisions to Web 2.0 I said that it's a mistake to rule out the desktop, and I'd like to prattle on about this a little more.

Here's the deal: although I agree with many of the ideas that Web 2.0 encompasses, too many proponents of Web 2.0 talk about desktop apps as though they're a thing of the past - and I obviously don't believe that at all.

Some might say I believe in desktop apps simply because I make my living from them, but it's closer to the truth to say that I continue developing desktop apps because I still believe they're important (if I didn't, I'd switch to web development - cursing and screaming the whole time, of course, but I'd still switch).

Part of the problem is the "who's gonna win" mindset, as though there's a battle to the death between web-based and desktop-based apps. The reality is that the two types of applications can integrate to create a new breed of software. iTunes is a great example of this: desktop software which integrates with an online service (iTunes Music Store), resulting in a best-of-both-worlds application that generates an impressive revenue stream. Other examples include multiplayer games such as Guild Wars which require the power of your desktop, but tie into a hosted online environment to provide a type of gameplay that would be impossible on the desktop by itself.

While there are plenty of examples of desktop apps (including the next version of FeedDemon) which benefit from the mobility of web-based data, we haven't seen many examples of the opposite idea - that is, web based apps which rely on data stored on your desktop. That may sound like a strange idea, but it's actually something I'd like to see more of.

Why? Well, I create an awful lot of data - documents, software code, photos, etc. - that I'd like to share more easily, but I wouldn't want to spread it out between multiple services, nor would I trust it to a single service and expect that service to enable me to share my data with competing services. I don't want to hassle with the interop issues of sharing data between services. I create 99% of my data using desktop apps, and I want to keep this data on my machine and choose which services are permitted access to it. It would be great if a future desktop OS could make this much simpler to do.

So what about you - where do you keep your data? And do you think that desktop apps are on the way out, or do you believe - as I do - that they'll evolve alongside the web?

Comments

You can follow this conversation by subscribing to the comment feed for this post.

I believe desktop apps are here to stay as well and I'm a developer that does both desktop and web apps on a daily basis. They can build on each other yet they also offer certain features that the other can never. No matter how great your connection there are times you'll be without it and I don't want to be dead in the water if I don't have a connection. There are security concerns, there is bandwidth and server usage, there is the fact that companies just go poof sometimes.

Even Google, the company everyone swears is trying to make a web-based OS, still uses desktop apps like the Desktop sidebar. I think there is a nice, shiny future for desktop apps, both web-enabled and not.

My first thought is that with more web apps... gmail.com etc., desktop software is slowly going to be replaced. The main advantage being that you'll never have to dl gmail or update it on your computer. It will always be updated on the web.

However, your web apps are only as fast as the server you're connecting to and your connection speed. I've always been able to launch my email program (The Bat!), but sometimes gmail has been down.

Thinking more about your post Nick, I think the trend is going to go more with what iTunes and FeedDemon are doing. I could see more services taking off where you store all the data on your machine and access it... but the main hurdle will be security and how to market it. Services like gotomypc and pcanywhere allow such access.

The bottomline is that the web does some apps very well (WordPress, which I simply love), and other apps need the power of your desktop. We're many years away from getting a desktop app to act the same on the web in my opinion. And look at it this way... we'll always have a web browser won't we? We can't very well make a web browser app on the web since uhhh you need a web browser to begin with.

I believe that web application servers and enterprise portal infrastructure will be introduced on desktop/laptop/tablet PCs. Client service providers residing on top of this platform will replace browser toolbars and desktop aggregators to become the future desktop OS.

Well, web-apps are not for everything. TopStyle, for example, won't be replaced by any online coding tool anytime soon, just because online text-editing widgets haven't gotten to that point of sophistication yet (dynamically doing syntax highlighting, stuff like that). FeedDemon, though, is something I'd personally like to eliminate, cause the basic thing could be done on the web quite well. The problem is that no one is doing it as good as FeedDemon right now, so I'm not switching just yet. FeedLounge looks promising though, for example.

The way I handle accessibility of my data is by choosing the both-ways approach for now. I use Thunderbird for my email, but all of my incoming mail (not the outcoming mail just yet) is routed through GMail, so it is accessible online as well. I've made most of My Documents/home directory available to myself through Subversion, as well as a number of dev projects, so I can easily view them through a browser but also easily download them on any machine and work with the documents offline.

If I look at is in my system tray (and permanently in my task bar):

- Thunderbird is a bit prone to be relieved from service
- Firefox is getting HEAVY usage
- Winamp won't go online anytime soon
- FeedDemon is there for now but may move to the web soon
- my torrent client (Azureus, or utorrent these days) is staying but could maybe move to my server once I'd get a decent engine that I can approach through the web
- Trillian is there to stay for a while (meebo is nice, but definitely not there yet)

And there's some antivirus and antispyware stuff there that's obviously not going online either, though they're obviously connected for defn updates.

It's funny, when you say "desktop" I still think of HTML browsers, because they require a computer which sits on a desktop (or laptop) in order to run.

Computing and connectivity are expanding. Besides the workstation desktop, we're also increasingly familiar with pocket computing (although we in North America are laggards ;-), and the home display system is increasingly becoming computerized, and then there's the whole raft of evolution in ambient computing as well (point-of-purchase signage, kiosks, information booths, RFID or infrared sensing, group games, etc).

Desktop, pocket, home, ambient... the whole "I hope my audience's web browsers support the features I want to use" approach seems oriented solely around the first delivery device.

Or put another way, whether it's "in-browser in a workstation" or "out-of-browser in a workstation", they're both on a workstation. But maybe I'm describing Web 3.0, I've been an unconscious prophet before.... ;-)

I'm actually not always clear on what the difference is between a webbased or desktop app.

I can see that it will be possible for many apps to run in an environment that can work inside the browser or be downloaded and run like a desktop app.
Is an app made in Flash webbased or a desktop app?
I guess it depends on if you embed the swf in a page or offer it as a download?
The borders is getting blurred for me.
Looking at MS approach to WPF (Avalon and Sparkle) or the new virtual machine for Flash and "Apollo" it seems like they will become blurrier in the very near future.

I guess the line could be is that software that you have to install to run is desktop software.
But then again there is desktop software that does not need an install.
So is it anything that gets compiled for a specific platform and is not running in any kind of virtual machine?

Regardless of how I try to define it I must agree that of course what clearly is desktop apps will not die.
Say I forked out on a copy of Maya for $7000. Obviously I would not see it as a hassle to have to install it and would feel a bit odd opening my browser to use the software.

I think you're spot-on with advocating a mixture of web and desktop apps depending on the requirements of particular scenario. The key idea is to develop web services which can be hooked up equally well to Web (e.g. JavaScript/AJAX) and desktop clients.

I am developing a free online mapping service which aims to produce free-of-copyright walking (hiking) maps of the UK. The central feature of this is a web application, which is increasingly using Ajax to allow users to annotate the maps (e.g add and edit features), look up info on a particular area of the countryside, etc. However there are some features better suited to a desktop app, largely because a web app cannot open files on your PC or read connected hardware. So in addition, I have written a desktop app which allows the user to read data from their GPS unit, edit the data (without necessarily needing a web connection) and then, when they are ready, upload the data to the Web server.

Desktop Apps aren't going anywhere. The browser is just another desktop app. Those who make a living in the browser, will continue to want to do so. Don't forget the browser is just a catalog that you might find in an old-fashioned library.

I actually hate browsers - as I am a web developer since the beginning. Sure, #1 app I use is FireFox, second Outlook, but web apps drive me nuts. I want killer desktop apps. That being said, regular users are going to be using gmail and all these other fancy web browser apps, because they're fun and free I guess. People are already biting on the gmail.com address like it is some kind of trendy thing to have. No, it just means you are using a free email system that will be replaced with the next thing in the near future. It is cool, but it is not for professional use unless you are too mobile for your own good.

It is a war of this vs. that. People who put food on the table from web development want that to stay that way, and programmers want desktop apps so they can pay the bills.

The bottom line is: Desktop apps are way cooler than browser-based apps and you can actually get some sleep as a developer (and protect source code). The masses will continue to soak up browser apps and for students or professionals it is the ultimate in mobility (no install). The new Macromedia and Microsoft development tools are going to make desktop apps more common and add a lot of eye-candy. Even the new Office UI is going to be fun, I think. Hopefully, Apple will quickly pounce on this attractive market with their own tools, as well. I’m sure they will.

Things will blend together by 2008-9. Browsers need to be replaced. No one is doing them correctly in my opinion. The standards are not being met completely and security for a “general” app like that is a huge concern. If we all had defined libraries, as programmers, like .NET x10, we would be in better shape. If set developers worked on a standard, instead of anybody coding Open Source FireFox for example, then the libraries might be more trustworthy. So what I mean is, you need CSS to be implemented 100% and people can use that library or JavaScript or XML parsers. In this way, the foundation is there to use in your tool of choice to make better products, etc, whether browser-based or desktop-based. But then we get back to the circle of security and using the same “general” libraries, etc. Explorer, for example, could then plug into those standards to make our lives easier.

www.orb.com is an interesting example of a company that is providing access from any location to the content *on* your personal computer. Kind of the reverse of the expected move to put all of our content on the web...

IMHO, desktop applications will be around for a while. They currently have several advantages over web based applications: 1) The processing is distributed (the user pays for the desktop grunt), 2) they provide offline use (local cache), and 3) the richer user interface can help make the user more productive.

Example: I use FeedDemon on my notebook while I'm on my daily commute. Before leaving the house I update all my feeds. While sitting on a train I can efficiently scan through all my feeds, and read what I can. If the item is only a summary, or if it contains links I want to follow, I drop that item in my To Read bin so I remember to read it when I can again connect to the Internet (usually when I get home again because my clients don't pay me to read blogs).

Until I can be online all the time, regardless of my location, and have the screen real estate required to efficiently process a lot of content I'll be sticking with products like FeedDemon. Until all devices support the same standards (DOM, JavaScript, CSS, etc) to the same degree, and connectivity is plentiful and reliable[1], it is going to continue to be difficult to create web applications that can compete with a good desktop application.

I have no problem with desktop applications connecting to services on the network, provided those services are not required all the time. For me, the ability to work offline must not be compromised.