LWN.net Logo

OLS: A challenge for developers

Jim Gettys has a long history of working with interesting ideas. As a member of Project Athena, he helped advance the vision of a single computing network which could serve thousands of users. Technologies which came out of Athena include Kerberos, Zephyr (said to be the first instant messaging system), Hesiod (a DNS-based service discovery mechanism) and, of course, the X Window System. X has taken much of Jim's time since then. His 2005 OLS talk, however, was not really about X; it was, instead, a call for developers to push our systems into a very different sort of future.

Current systems suffer from a failure of imagination which Jim calls the "mantra of one." We work with one computer, one keyboard, one screen, one mouse, operating on one domain, working in a single role. But that is not how the world works, and not how our systems should be. We want to work [Jim Gettys] together, in many roles, in a highly mobile and connected way. It is time, says Jim, for free software developers to stop reimplementing the PC and start leading into the future. We should change the rules of the game.

Jim sees a world where our computers are shrinking. We can all now carry many gigabytes of storage and substantial computing power in our pockets, and these tiny devices can communicate wirelessly. At the same time, displays are getting bigger - too big for one person to carry across the room, much less in a pocket. Rather than trying to function with the small screens provided (sometimes) with our small devices, why shouldn't those devices work with the large displays we may find wherever we go?

So, our pocket computer/phone/music player/etc. should be able to put windows on the nice wall display which also happens to be our television (at home) or shared whiteboard (in a corporate conference room), or a conference table on the other side of the planet. Actions like cutting and pasting between different applications - belonging to different users - should be possible (though there are clear security issues which must be thought out up front). Applications should be able to put windows on multiple displays - imagine a display distributed around a conference table screen, properly rotated for each participant. Wireless keyboards, pointers, and other devices in the room should simply work.

Importantly, all of this has to happen without turning every wall and table into yet another system which must be administered. The system admin load is reaching a point where it is overwhelming everything else. It also needs to be wireless: "a wire only goes to one place."

Jim notes that most of the needed technology is already in place. We have the small gadgets; the big displays, driven by high-definition TV, are getting cheaper quickly. Wireless connections are already often cheaper than buying cables for wired hookups; Zigbee looks like it could be a useful technology in this role. Distributed, caching filesystems (Jim mentioned coda) are in place. SELinux, which is designed to put firewalls between applications running on the same system, might be adapted to the considerable security challenges posed by all of this. Howl could eliminate many of the configuration and administration challenges. The Jack audio system could, if properly network enabled, route audio streams to where they need to be. Migration support has been in emacs for fifteen years; GTK+ is adding support now. On top of all this, the free software is (finally) producing a set of truly interesting and capable applications.

The X Window system features heavily in this scheme, of course, though X will need a great deal of work. The "one user" assumption is built deeply into X, and will need to be rooted out. Instead, X needs some sort of flexible sharing mechanism and a secure but low-hassle authentication scheme. There is also a need for a great deal of "plumbing" work to make all of the parts function well together.

The real point, though, is that many (perhaps most) of the necessary pieces are already available; this vision could be implemented within a few years. It is, Jim says, something we have to do. The single-user PC is at the end of its run, and somebody needs to lead the way into the future. Who better to do it than the free software community? He is hoping that developers will jump in and help. There is a lot of work to be done, in many areas; it should be a fun project.

[For more information: see Jim's OLS paper [PDF] and this HP tech report which was the inspiration for much of this work. Jim's slides are also available [PDF]]


(Log in to post comments)

OLS: A challenge for developers

Posted Jul 21, 2005 23:46 UTC (Thu) by njhurst (guest, #6022) [Link]

In my (admittedly limited) experience, wires go at least two places :) Wires that only go one place might be better called antennas.

Wires fo *all over* the place

Posted Jul 22, 2005 2:03 UTC (Fri) by xoddam (subscriber, #2322) [Link]

In my experience there are few places wires *don't* go.

I'm not convinced all these radio transmitters are a good idea.

Wires fo *all over* the place

Posted Jul 22, 2005 2:19 UTC (Fri) by bk (guest, #25617) [Link]

In my limited travel experience, I can tell you that there are vast expanses of area in North America where few, if any, wires go. The few wires that are in those places are heavily subsidized government projects that serve very few people.

The world is not all city (yet).

Wires go *all over* the place

Posted Jul 22, 2005 7:08 UTC (Fri) by xoddam (subscriber, #2322) [Link]

Using radio for long-distance communications is one thing.

Cities, which do tend to be full of wires, are full of offices and homes saturated with 802.11g, and people who hold 3W transmitters next to their heads for tens of hours each week.

I don't suppose it's very much worse than all the CRTs we've just retired used to be, but did we ever confirm all the possible ill effects from those?

Emacs goes everywhere with me

Posted Jul 22, 2005 0:33 UTC (Fri) by donio (subscriber, #94) [Link]

My Emacs process follows me wherever I go. It can pop up an ssh
forwarded X window when an X server and sufficient network
connectivity are available or it can display in a tty when that's more
practical. This is the same Emacs instance that runs on my desktop so
all of my buffers and elisp applications (including mail, web and
various IM networks) are immediately available. I often have my Emacs
session displayed on 2 or 3 different devices at the same time,
including my phone. These Emacs sessions typically live for weeks or
months between restarts (I call those restarts Emacs reboots). I am
using the multi-tty branch of Emacs but XEmacs has this capability as
well.

Emacs goes everywhere with me

Posted Jul 22, 2005 1:09 UTC (Fri) by phgrenet (guest, #5979) [Link]

You've got emacs on your phone? Dude, you're unsane ;-)

Emacs goes everywhere with me

Posted Jul 22, 2005 1:41 UTC (Fri) by donio (subscriber, #94) [Link]

To clarify, Emacs does not run on the phone, it displays on the
phone. But that is exactly what I want.

Emacs goes everywhere with me

Posted Jul 22, 2005 7:10 UTC (Fri) by xoddam (subscriber, #2322) [Link]

> (I call those restarts Emacs reboots).

Emacs is a great OS.

Emacs goes everywhere with me

Posted Jul 25, 2005 1:18 UTC (Mon) by bignose (subscriber, #40) [Link]

Emacs is a great OS.

But it needs a decent text editor.

Emacs uptime

Posted Jul 22, 2005 9:13 UTC (Fri) by davidw (subscriber, #947) [Link]

Now you too can brag about your emacs 'uptime':-)

http://www.dedasys.com/freesoftware/files/uptime.el

Emacs uptime

Posted Jul 22, 2005 9:45 UTC (Fri) by donio (subscriber, #94) [Link]

Cool. I have been using something similar:

http://www.davep.org/emacs/uptimes.el

A nice thing about that version is that it keeps track of previous
uptimes.

My current M-x uptimes shows only 2 days but the top 10 uptimes
display shows a 61 days long session and a bunch of others that lasted
over a month.

One month seems to be as long as I usually manage to go without
wanting to make a change that would be just too difficult to do
without rebooting Emacs. Upgrading a complicated elisp package that
cannot be easily unloaded for example. There is also the occasional
Emacs crash and problems with the underlying OS or hardware.

Emacs goes everywhere with me

Posted Jul 22, 2005 11:47 UTC (Fri) by smitty_one_each (subscriber, #28989) [Link]

I like to run Gnus, ERC, and ECB in separate instances, since TOTE is single-threaded.

OLS: A challenge for developers

Posted Jul 22, 2005 2:23 UTC (Fri) by bk (guest, #25617) [Link]

OK, but how much is it going to cost me to use these mythical free displays that are supposedly everywhere I might want to use my iPod/PDA/cellphone? Is it going to be like those $2.99/minute internet kiosks that pop up all over Manhatten hotels? Or like those coffeehouse WiFi connections that require a subscription?

Show me the infrastructure to back up the pipe dream and I'll sign on.

OLS: A challenge for developers

Posted Jul 22, 2005 5:32 UTC (Fri) by JoeBuck (subscriber, #2330) [Link]

If the free software community builds it first, it will be free or cheap. If we wait until a telephone company (or a wireless or cable company, or Microsoft) builds it, it will cost a lot.

OLS: A challenge for developers

Posted Jul 22, 2005 8:30 UTC (Fri) by erwbgy (subscriber, #4104) [Link]

Most of us have one or more of the following:

  • TV(s)
  • Home PC(s)
  • Laptop
  • Work PC
  • Mobile phone

It won't cost you any extra to use the devices that you already own. If you want to use someone else's device then you may need to pay for it, but I see the benefit being that we get better use out of our existing devices.

You don't necessarily have to pay extra for a display though. In a hotel, I'd expect that you'd be able to use the TV in your hotel room as the display. In a coffee shop, you could use a head-mounted display, like the SV-6.

Software like VNC works quite well for remote displays, and of course X can already do that, but this encompasses so much more.

OLS: A challenge for developers

Posted Jul 22, 2005 10:50 UTC (Fri) by cloose (subscriber, #5066) [Link]

And with NX/FreeNX it's even fast to access a remote X session over e.g. a modem.

OLS: A challenge for developers

Posted Jul 22, 2005 19:51 UTC (Fri) by EV (subscriber, #5528) [Link]

I'm suprised no one mentioned Open Croquet, seems quite apropos

http://opencroquet.org/

OLS: A challenge for developers

Posted Jul 23, 2005 18:30 UTC (Sat) by daenzer (✭ supporter ✭, #7050) [Link]

Well, Jim actually did mention Croquet in his talk. :) (As a source for inspiration about how collaborative apps could work, IIRC)

HP Layoffs

Posted Jul 22, 2005 23:08 UTC (Fri) by frazier (guest, #3060) [Link]

Gettys was in the latest round of HP layoffs when they closed the lab he was in:
http://www.onlamp.com/pub/wlg/7412

Something that remains to be seen is whether carrying around a small computer wins over remote networked systems long term. There's appeal both ways... ...the small local system has the appeal of being local while the remote system has the appeal of not being carried, dropped, or lost.

Pointer to the slides of the talk....

Posted Jul 27, 2005 23:48 UTC (Wed) by jg (subscriber, #17537) [Link]

Can be found here.

Copyright © 2005, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds