Online desktop or desktop online?
There are interesting changes under way in how software applications are designed and deployed, and I’m curious about the role of Ubuntu will be in this process. I’m thinking about this in terms of three categories:
1. Desktop applications
Examples: OpenOffice.org, Pidgin, Amarok, GIMP
These are our traditional word processors, spreadsheets, messaging clients, music players, and so on.
End users of desktop applications benefit from high performance, access to local data and offline availability, but are hampered by high maintenance requirements and primitive collaborative features.
Developers of desktop applications benefit from access to local OS APIs, a wealth of existing free source code, and relatively low maintenance overhead, but are hampered by a complex distribution model, multiple platform targets, and many versions being actively used in the wild.
Ubuntu specializes in this area today.
2. Web applications
Examples: Google Docs, GMail, Facebook, Youtube
They are distinguished from simple websites by virtue of having a consistent look and feel throughout, a high degree of interactivity, and a defined feature set.
End users of web applications benefit from the universal availability of the applications and associated data, advanced collaborative features, and virtually zero maintenance, but are hampered by comparatively low performance, unavailability when offline, primitive user interfaces (though they are getting better), and data privacy issues.
Developers of web applications benefit from a simple distribution model, fewer platform-specific issues, and fewer versions to support at once (typically one), but are hampered by high maintenance (production hosting), a more complex user interaction model, and a comparative scarcity of open source code.
Ubuntu aims to provide an excellent browser experience, but doesn’t go much further than that yet.
3. Hybrid web applications
Examples: Google Earth, Adobe AIR applications, iPhone widgets
These applications attempt to draw from the best of both paradigms. Some are designed and built similarly to centralized web applications, with HTML/JavaScript user interfaces, but actually run in a local runtime environment on the end user’s system and often (but not always) use web APIs. Others are designed like desktop applications, but rely on web APIs behind the scenes.
Ubuntu doesn’t do much in this area yet.
What does this mean for Ubuntu?
Ubuntu is, most essentially, a means for users to obtain and use applications, and for developers to create them. Operating systems exist to make these things easier, so changes in this area are highly relevant to us. They may even lead to reinterpretation of some of our most basic principles, for example:
Every computer user should have the freedom to download, run, copy, distribute, study, share, change and improve their software for any purpose, without paying licensing fees.
How does this apply to web applications which need not be downloaded, distributed or copied in order to be run or shared? Is it useful to be able to copy, change and improve the source code for a desktop application if all of the interesting functionality is hidden behind a web API?
To what extent can (or should) hybrid applications truly be a part of a free system? Do they make free software values less relevant, or just less obvious? These questions are the subject of active debate in the media today.
Once we’ve addressed the philosophical issues, how can Ubuntu take advantage of this innovation at a technical level? How can Ubuntu become a superior platform for hybrid web applications? The just-announced Google Chrome has interesting implications, both for bringing web applications further into the desktop and supporting hybrid applications.
Excellent post!
The only other thing i can say is: i guess we’ll see.
levelnext
September 3, 2008 at 17:35
I think that as long as we’re stuck with a flash client that performes badly, crashes and sometimes even lacks functionality, ubuntu cant even measure up with OSX and Windows as to being the OS of choice for people who use web applications.
If my world primarily focused on youtube, i would have a big problem. Because on my desktop computer flash crashes the browser 1 out of the 5 times, on my laptop it “only” crashes for ever 1 out of 20. So since I didnt know better, I would assume that this was an unstable OS, a badly coded browser or something like this.
Dont get me wrong, i love Ubuntu, but I’m afraid thats mostly because im a bit conservative in my choice of applications, mainly being desktop.
laguless
September 3, 2008 at 18:24
Good writeup, hope Ubuntu thinks more in this way (and acts).
Vadi
September 3, 2008 at 18:55
This was oddly the first page I got to on WordPress in my new chrome (beta) browser. Of course I had to get out of Ubuntu to do that (Chrome is only available for Windows so far). And anyway I cannot use my new USB turntable in Ubuntu as it does not ship with a Linux driver and there is none to be found (yet).
On the whole I would still rather use desktop than web apps – GIMP (Ubuntu) or Irfanview (Windows) offering much more than Picasa or Picnik (flickr). I do use WordPress.com not org – but I am seriousl;y considering something that miught cost money just to get more functionality. WordPress.org has many more widgets!
For most people it is simply a matter of ease of use.
Stephen Rees
September 3, 2008 at 23:13
I think Ubuntu should not be degraded to a platform for running proprietary web applications. Free software programmers are great at building and maintaining user applications, but as you told they often don’t have the resources to create them for the web. Ubuntu needs to find a way to enable them to do that, and to enable users to use free web applications in a way they can trust them and run their own modified versions.
My proposal is to make it really easy to run a (home) web server with Ubuntu, maybe even release a Ubuntu Home Server Edition. Have a great framework for installing and (auto-)updating free web applications and maybe even partner with hardware manufacturers to build a low-energy and reliable home server box. If this synchronizes with a ‘cloud’ of the user’s choice (which may be Amazon’s or Google’s, maybe eventually Canonical’s) for backup, all advantages of web applications and free software will be combined.
Also, the whole focus on hybrid web applications and especially gadgets/widgets seems a bit like a waste of time to me. I have yet to see one that makes the user more productive. (Okay, Google Earth is cool, but as soon as it’s possible they’ll make the obvious switch to a full web application.)
danser
September 4, 2008 at 00:54
From my perspective, I see a world of hybrids. Like Chrome, more and more companies will adopt the backend being on the server and the front end being some sort of a native app. Having your e-mail client online is one thing, using a video editor online is something else.
As time goes by, the definition of the OS will change dramatically as more and more apps will have their backends hooked into the mother matrix of google or . Ubuntu will have to offer the infrastructure necessary to satisfy the integration of such applications because they might not all come from google ;-). Time will tell.
Anmar Oueja
September 4, 2008 at 01:52
1. Who’s got your data? As people start to rely on Web applications, they are hoping that their data will be safe and kept private. “But my company will always be there!” Long ago, I posted my CV (resume) on Geocities. When Yahoo bought it, I was no longer able to log in. That CV is very outdated, and I’d like to be able to at least delete my account. But no, I no longer have access, and my emails to the staff have gone unanswered. I know that if the software is free, that you could run your own Apache to store the data yourself — that would be a different scenario. But for the most part, a web application is hosted by others, while desktop applications store your data locally.
2. Perhaps things are improving, but most web applications are little fun for old-school data entry people and typists. CPU runs very high, resulting in a choppy interface. Menus are not easily accessible from the keyboard. Using a tab key to move to the next entry doesn’t always work right. Pressing the Enter key is sometimes a guess whether you’ll get a new line or submit the whole page without a chance to go back. Saving your work to come back later to finish isn’t usually available. I’ve seen all of these things quite well addressed by different web applications, but seldom all at once. It’s a code quality thing, and most times (with some big exceptions!) desktop applications are nicer to use because the quality (from the users perspective) is higher.
jimcooncat
September 4, 2008 at 11:16
[…] Online desktop or desktop online? […]
Boycott Novell » Links 04/09/2008: Red Hat Buys KVM
September 5, 2008 at 02:15
This is exactly the kind of thinking we need to be doing as our paradigm shifts right in front of our eyes. I’ve been following webware closely for the past two years and the most favored apps are those that offer a local version and one that can sync when online. Most data can even be kept online and backed up locally, instead of the other way around.
Chrome is an interesting addition because it pulls emphasis away from any particular OS, but wait… this is where GNU/Linux wins. If what you need is a secure base from which to run apps, play your music and videos, and access information through a browser, then GNU/Linux frees you in so many ways — financially, license-wise, and you get to take your data with you if you want to leave.
(The real reason most Windows users don’t switch is because proprietary lock-in is designed to make it damn near impossible to leave!)
zaine_ridling
September 5, 2008 at 13:07
I actually already vieew every application on and Ubuntu itself as a web-based application. Exactly how many of you here don’t install their software through the repos?
Have you ever tried to set-up an Ubuntu system with only dialup? A bloody nightmare.
In the same way java downloads the client from the server and runs it in a vm, Ubuntu and the software we use are the clients that we download and run on our machines.
Additionaly, businesses can be very concerned about who controls their confidential data, that’s why Linux can provide them the control and reassurance that they’re top-of-the-line new technology, Ubuntu, that they need, and that’s why I feel that Ubuntu has a real shot at revolutionizing desktop computing.
Alex
September 12, 2008 at 14:12