by Havoc Pennington
Here’s a tour of the pre-alpha demo release of GNOME Online Desktop included in Fedora 8. Learn more about what it does and how you can get involved in the project.
What is it?
GNOME Online Desktop is an alternate “mode” or flavor of the GNOME desktop. We’re experimenting with a few different things here.
1. The overall concept of tightly integrating the web into the desktop, as described at live.gnome.org/OnlineDesktop/Vision.
2. Specific user interface ideas, such as a desktop sidebar called BigBoard.
3. A set of platform components that support web integration–these can be used with any application or UI, including the more traditional GNOME desktop flavor.
The platform components are hard to see in the screenshots, of course. But this tour shows off some of the user interface ideas.
Trying it out
Install the packages “online-desktop,” “mugshot,” and “bigboard.” This should mean there’s a session for Online Desktop available from the login screen (gdm). An easy way to try things out is to add the User Switch applet to your panel and create a new user account. Then use the User Switch applet to switch to your new user, and choose the Online Desktop session on the login screen.
Once you log in, you’ll have to create an account on online.gnome.org and sign in to that account. When your browser is logged in to online.gnome.org, the rest of the desktop will use the browser cookie to authenticate as well.
If at any point the sidebar seems seriously confused, don’t be afraid to press Alt+F2 and run
bigboard --replace to restart it.
This screenshot shows a typical desktop just after login. Moving counterclockwise:
- Sidebar with search box, file list, applications, people, calendar, photos
- Applet with a show/hide sidebar button, and mini-launcher icons to start apps without opening the sidebar
- Mugshot Stacker application in the tray
- Firefox, with the new Fedora start page
More detail follows.
“Self” Area (top of sidebar)
At the top of the sidebar, you’ll see your own photo (avatar) and name. The idea is to show who’s logged in, which is handy if you use user switching. Clicking on this area opens a little menu with options to open the control center, log out, etc.
The small Flickr, Picasa, and LinkedIn icons underneath my picture are quick links to go to my page on those sites.
The search box on the sidebar shows results from each of the widgets on the sidebar. In this shot, you can see file results from the Files widget, application results from Applications, people from People, and so forth.
The search box can be used to run applications, open someone’s profile page, or open a file.
The Files widget shows your local recent files in the same way the regular GNOME panel does, but it merges in any documents you’re working on using a web service. Right now, it only supports Google Documents. I use Google Documents for most of my word processing, but I also have PDFs and similar files on my local system. The Files widget combines all these documents into one searchable list.
If you click “More” on the Files widget, a detailed window opens to search through your recent files.
Application Launching, Discovery, and Installation
Application launching and simple desktop-oriented “package management” are integrated into a single design.
If you want to launch one of your commonly-used apps, just click.
If this is your first time logging in–perhaps because you’re using a USB key or live CD distribution–the apps you usually use might not be installed. But since this is the online desktop, it knows which apps you usually use anyway. Say, for example, you forgot to install Nibbles:
Just click, and it will install the missing program.
If you want to search through all apps (including those not yet installed), open the app browser.
You can also browse online.gnome.org/applications.
You might notice that the app browser makes suggestions. For example, it tells you about the new Gourmet Recipe Manager in this screenshot. This is not an application you have installed; it’s an application from the online.gnome.org/applications database that other people have been using.
In the future, we’d like to extend online.gnome.org/applications to support star ratings, user comments, and so forth. For now it ranks apps purely based on how often they’re used.
(Technical details: If you enable application tracking, the online desktop looks at the currently-focused window to decide what you’re using. It will count each application only once per day. It does not send any information about your windows or window titles to the server. It identifies the app on the client side and sends the name of the package you used to the server to be counted.)
The People widget should become a lot more elaborate over time. It’s very simple right now, just a quick way to go to someone’s homepages on the sites they use (photo sites, blogs, etc.)
The idea is that this will become a “supercharged” IM buddy list showing presence on multiple IM networks, activity on multiple sites, what music people have playing, and so forth. Much of the infrastructure and information is already on the server (and shows up in the Mugshot Stacker application), but the People widget user interface hasn’t been completed. Showing everyone’s current music track is one of my favorite features.
If you click More on the People widget, there’s a people browser window that opens up. This lets you see everyone you know, rather than the few people who fit on the sidebar.
One future direction would be to integrate the People widget with file management and other sharing-your-stuff scenarios, so you can drag a file onto someone’s picture to offer it to them, or open a remote desktop session to help them debug a problem.
The calendar widget is pretty self-explanatory. Right now it only supports Google Calendar, but the idea would be to support whatever people use.
One problem with web-based calendars is that they can’t use the desktop APIs to give you a notification when events are coming up, so the online desktop includes a notifier that watches your Google Calendar events.
A great thing about a web-based calendar program is that you can access it from any computer and even your cell phone.
There’s no widget for email yet, but Bryan Clark has design mockups at live.gnome.org showing the concept.
In the meantime, we have already implemented mail notification bubbles for Google Mail.
Minimized Sidebar Mode
It can be annoying to keep a sidebar open all the time, especially if you don’t have a widescreen monitor.
The applet in the bottom-left corner of the screen supports using the sidebar in “Minimized” mode. You can enable this mode from Sidebar Preferences by clicking on your picture at the top of the sidebar. In Minimized mode, the sidebar is normally hidden but pops out when you press the Windows key or when you click the panel applet.
The panel applet also includes the same application launchers shown in the Applications widget on the sidebar. This lets you quickly launch apps without opening the sidebar.
Preferences Sync – Behind the Scenes
There’s a small daemon called online-prefs-sync-daemon, which uses whitelists kept in /usr/share/online-prefs-sync/ to store certain gconf settings on the online.gnome.org server. These settings should be instantly applied across any computers running the online desktop. So changing something like your desktop background would change it on all systems.
Lots of fine-tuning remains to make this work perfectly, but if you change your desktop background, you should see it in action already.
Learn More or Get Involved
Luis Villa is working on a slide about how we can preserve free software values in a world where “cloud hosted” software is a reality. In the meantime, here’s a blog entry he wrote with relevant links.
At least two commercial products, Zonbu and gOS, have appeared recently, showing how the Online Desktop might be offered to consumers. These companies are using one-off software, though, since the mainstream distributions and desktops don’t have a solution in this area yet.
Because Online Desktop can keep your preferences and documents online, it’s ideal for a live CD, and we’d love to have someone keeping a recent snapshot available in live CD form.
We aren’t defining this project narrowly. Our goal is “the perfect window to the Internet: integrated with all your favorite online apps, secure and virus-free, simple to set up, and zero maintenance thereafter.” That leaves quite a bit of work to do.
About the author
Havoc Pennington is a long-time Red Hat, GTK+, and Linux desktop developer who is currently working on the GNOME Online Desktop project.