Wednesday I'll be speaking at OpenSource World on The Desktop or the Browser: Is the Netbook Escalating the Battle?
One of the things that has worried me is how people are living more and more in their browser. I myself am guilty of this. I use the browser to check my mail, calendar, read news, track my todo list, check my bank account, check on friends, upload pictures …
People doing everything in their browser scares me not because I think everyone should use the desktop but rather because I don't think the browser is the best user tool for doing all those things.
I think the browser is great. I use it all day, every day. But by limiting ourselves to the browser, we are limiting our user experience and the power of the desktop. I think Fabrizio Capobianco stated it really well in his post A World without the Browser:
I haven't seen one single implementation of a browser on a mobile
device that actually makes the experience good (not great). […] Clicking is a pain.
Zooming and panning is a super-pain. You click when you want to scroll.
You yell.[…]
Now
let's talk about Mobile Apps. They are built for interaction without a
mouse. With one finger (the other hand holding the device). They are
quick, immediate, intuitive, interactive.If I have to choose
between checking the weather on my PC or on my iPhone, what do I
choose? The iPhone. One click. Done. I do not have to sit, open the
browser, click and re-click and maybe even type my zip code. It is
there when I need it.
Applications running natively on the desktop can provide a much better user experience than running an application inside a browser on top of the desktop. Mobile devices like phone and netbooks may make this obvious but the same holds true for a full size desktop.
If you use Twitter or Identica, do you use the web page interface or do you use Gwibber or Thwirl or Twidroid? (If you said the web page interface, I strongly recommend you try one of the apps as you are missing out.)
Devices with small screens will ultimately make the desktop experience better for everyone but only if we deliver applications that make the experience better. A desktop and a browser are not enough. "Web applications" that you access through the browser are not enough. We need applications that take advantage of the power the desktop has to offer.
Maybe that would be why I think GNOME (Mobile) could benefit greatly from a data server/access library or proxy that gives programs one way to access data stored on your computer or on the internet without having to have copies of the same data or the same credentials everywhere.
If you’d have one interface for things that are generally the same for users, like microblogging and mail, developing applications that work with the data would be a lot easier.
There are more ports on the internet that just number 80, but currently only number 80 has got a unified access method, it seems.
The browser is a suboptimal user experience in a lot of ways, but it has a lot of other big wins, which is why people are mostly ignoring those problems. Paul Graham lays out a lot of the advantages in this essay.
And people are going to continue to ignore those problems, because the browser is fixing those problems a lot faster than rich clients are fixing their problems- essentially none of the problems Graham addressed in 2001(!) have been addressed in rich client development while browsers have dramatically improved since then, both as a developer platform and in terms of user experience. And it will continue to improve- web apps will soon have high-quality video; they’ll have cross-platform notification popups; they’ll have offline capabilities; they’ll have the ability to install themselves to your desktop and menus just like regular apps. And the next generation after that will be even better. I’m not seeing what rich client platform developers are doing to counter any of that. The issues Graham (and many others) have identified are not being resolved, and web platform developers are kicking ass, so I’m very pessimistic about rich clients right now.
Hrm, it ate my link: http://www.paulgraham.com/road.html
Web interfaces have the advantage that they work *anywhere*, without any extra software installed. Whether I’m using my desktop at home or work, a netbook on the road, or a computer in the local net-cafe while on holiday, I can still use GMail to check my email. All I need is a machine with an internet connection.
Don’t underestimate that *anywhere* factor. A native desktop app might indeed offer a better interface than the web app, but the latter will work out of the box on almost any computer on the planet.
Luis,
I see things exactly opposite. As far as the following goes:
* City of Code
* Releases
* Bugs
* Support
* Watching Users
* Money
* …
and several other issues, the advantage is on the side of Unix (in particular Linux) open source software, not web based software. You just need one TiVO upgrade which removes features or a hidden Yahoo opt out change of service to prove that releases are generally saner in the F/OSS Unix world. Ditto for support. I can still run OpenOffice even if the OpenOffice project died years ago. As far as City of Code, there’s a great deal more reuse in Unix design than web design…for every reusable web service out there there are 1000 command line tools which are used by GUIs in various forms. As far as Watching Users, that’s a bug not a feature from the end user’s perspective. As far as bugs go, browser compatibility is a huge issue and there are so many places where things can go wrong, it’s not funny. If you’ve done any support, you’ll know that nontrivial web apps break in the most frustrating places.
I can go on, but you get the point. Web apps have their place. This blog wouldn’t exist without a web app and I wouldn’t even want to imagine how a non-web implementation might look like. But web apps are not a panacea. This might change, when say, webapps essentially are able to duplicate the X Window protocol and we’ll all have our data in a universal format in our own web space hard drive which belongs completely to us under terms that will never change and features which will never be degraded. But then such web apps would be quite a bit more complicated than what we’re currently able to achieve.
Web apps are better in every way except freedom; this introduces a schism since (more or less) some people don’t care about freedom at all and other people consider it absolutely essential.
You should really try android out, the browser integration is truely amazing
I have a G1 and it’s much, much slower to get to Gmail through the browser than it is with the Gmail app. Like more than a minute compared to less than a second.
This is why Google is investing a lot of time and money into offline caching of web apps and improvements in javascript speed. And not surprisingly, given the investment, they are seeing huge progress. If you log into gmail with android cupcake, you’ll see a ‘faster gmail now’ option which caches most of the javascript and allows you to use the web-based gmail on your phone even when the phone is offline. After installing that upgrade (yes, I just installed an upgrade to a web app) gmail loaded in around 15 seconds for me on my G1 today, with a very responsive UI.
Even if we take your ‘about a minute’ as hyperbole, and assume you really meant 30 seconds, that means that the application now takes 1/2 the time to load it did a few months ago, primarily because of improvements in the platform! I’m pretty sure no desktop app you use has made that kind of performance leap in the last few months, and I’m dead certain no desktop app you use has made that kind of leap as a result of improvements to the platform it is based on.
This is exactly the kind of leaps and bounds in performance, power, and usability that web apps are making right now. Desktop apps have not made similar, systemi improvements in a long time.
If desktop apps are going to survive, they’re going to have to either find niches (like the custom interfaces for mobile you’ve already mentioned) or their platforms are going to have to improve markedly and quickly. App stores are one such improvement- a single interface for finding applications is a really good idea; web apps have had that for years- we call it ‘google’ 🙂 The kind of distributed data stuff ubuntu is working on may also be a similar kind of hugely important competitive improvement, but again, it is one that merely catches desktop apps up to where web apps have been for years. Past those two I really can’t think of any examples of how rich client developer platforms are seeking to close the gap with the web, whereas I can name a ton of ways in which web platform developers are trying to close the gap (or extend their lead) on desktop apps. If that doesn’t change, rich client platforms will continue to lose out.
“If you’d have one interface for things that are generally the same for users, like microblogging and mail, developing applications that work with the data would be a lot easier.”
it’s called Akonadi. there was a presentation about it at GCDS. 🙂
” App stores are one such improvement- a single interface for finding applications is a really good idea; web apps have had that for years- we call it ‘google’ 🙂 ”
funny, I’ve always called it `apt-cache search` or GetHotNewStuff. 😛
As a user, I like apt/yum/red carpet, but after nearly a decade, the number of upstream distributors directly offering software (which is what they want to do) via apt can still be counted on both hands. It really isn’t a comparable development experience, and without that developer buyin it ends up being a less good user experience- less comprehensive, less up-to-date, etc.
I agree that the everywhere factor is huge. But I think as more of us carry cheaper devices of our own, this will be less of a factor. I rarely borrow someone else’s computer when I have a smartphone and a netbook.
(It was like 50 seconds – I don’t remember exactly.)
But I think it would be easier for desktop applications to improve. But it seems to be the web ones that are working on it …
I find it much easier to find apps for my G1 than apps for my Linux box. I know it should be the same but it just doesn’t feel the same.
Hi Stormy,
You said:
“If you use Twitter or Identica, do you use the web page interface or do you use Gwibber or Thwirl or Twidroid? (If you said the web page interface, I strongly recommend you try one of the apps as you are missing out.)”
While the web interfaces provided by twitter itself may not be super powerful, there are other web interfaces that actually are. Look at PeopleBrowsr for example. It’s a pretty rich interface and all within the browser.
Keep in mind that there are a lot of low-hanging fruit for the web people, since it is a newer platform/tech, whereas there isn’t as much for the rich client folks, so their payoff (assuming equal investment) is going to be better.
(This is related to the email discussion you and I had about mono, by the way- whatever else anyone thinks about mono, there is heavy investment there in moving the platform forward. Not so much with some of the other options, particularly on Linux.)
Except of course, they don’t “work anywhere” at all. Developers have to constantly deal with differences between browsers, and between different versions of the same browser, and between the underlying toolkits used by those browsers. And God help you if use assistive technologies, because many web apps, especially those using Flash and suchlike, will leave you completely in the dark.
“This is why Google is investing a lot of time and money into offline caching of web apps…”
In other words, turning them into desktop apps.
I don’t buy it. The fact that you are “worried” and “guilty” show that you are pro-desktop. But why should other people be pro-desktop? You don’t cite any reasons.
“I do not have to sit, open the browser, click and re-click and maybe even type my zip code. It is there when I need it.”
Well, for the desktop we have Prism (or bookmarks!), and I’m sure the iPhone can turn a web page (with zip code) into an App. Problem solved. For all we know, the weather app is 100% web based (with a local cache).
Once you start using the browser for everything, desktop apps are an inconvenience (like when you find you need a phone number at a friend’s house, or upgrade your computer, or switch from your computer to your laptop, or try to sync your desktop and laptop, or your computer crashes, or someone sends a document that requires an upgrade).
If you’re a geek, you can use FireFox keywords, so the URL bar is like a command line. Even better is Ubiquity, but I haven’t used it yet. https://addons.mozilla.org/en-US/firefox/addon/9527
“I don’t think the browser is the best user tool for doing all those things.”
I’m still not sure why.
“Applications running natively on the desktop can provide a much better user experience than running an application inside a browser on top of the desktop.”
No, that’s not true. Gmail has proved that you can have better email on the web than on the desktop. Desktop programs can copy the “threads” model (not many have), but I’ve never seen a program that could search gigabytes of email that easy or fast.
And don’t forget “checking email on a friend’s computer” is part of the User Experience.
Web vs Desktop is full of trade-offs, just like KDE vs GNOME or Mac vs PC. But to say one is always better that the other is silly.