How MS could woo me (was Re: [linux-elitists] MSFT Survey -- Fwd: [ Survey])

Phil Mayers
Mon Dec 22 19:04:16 PST 2003

On Sun, Dec 21, 2003 at 09:28:18AM +0000, Geoff Lane wrote:
> Windows isn't an answer to a question I'm asking; but then neither are Gnome
> or KDE.  Current desktops are still little different from the orginal Xerox
> ideas. Surely there are better schemes to be discovered?

Yeah, like Plan9 <snicker>.

I'm intrigued by the notion of a better way of computing then a GUI
desktop OS or a CLI. I recall a former boss of mine leaning over my
shoulder and saying "Wow, so this is Linux. <pause> It looks just
like Unix did 15 years ago!"

I witheringly replied, "Yeah, and it's still the best choice for the
job. Weird - you might almost think it was *designed*..."

I do find myself using X as a very large xterm (one reason it was
easy for me to move to Linux on the desktop at work - I demonstrated
to my boss the fact that my Windows machine was a very large dual head
Putty executable...)

Seriously, with the exception of Plan9, does anyone know of a genuinely
different fully-implemented interaction paradigm?

I suspect we'll end up with things like the Remembrance Agent (for
Emacs - disclaimer, I personally don't use Emacs, it takes a smidgen
too long to start on my laptop):'s all a variation on the Network is the Computer. In actual fact,
the Data is the Computer; that Information Superhighway mumbo-jumbo
and all the nonsense about net-roaming agents etc. are sort-of coming
back to life, reanimated by the Electronic InterWeb. I know about the
Nautilus sidebar equivalent of <above> - same thing, different context.

Summary of what's coming up: Microsoft could woo me if they could offer
an order of magnitude (at least) less impedance in creating, modifying
and accessing my data anywhere, anytime. There's no reason Linux or
another Free OS can't do that as well; in fact, they're probably better
placed, if they ca avoid internal competition.

<warning type="ramble" contentlength="waytoomuch" />

Who here (privileged as a lot of us undoubtedly are) regards
the majority of computers they sit at as in any way important? My
workstation at work (currently running RedHat 8 - oops, hope no patches
are needed a week from now...) has everything of importance on it,
and I don't even get out of the chair to look at a computer unless
it's connected to ADSL or greater any more - it's too painful. The
computer I'm sitting at (my sisters spyware-riddled WinXP box) is
only useful as a machine to run Putty from (although in actual fact,
the spyware thing has me paranoid enough that I'm using an SSH key
which can only run mutt and I will expire shortly...)

I can easily imagine a future where data is stored in some kind of
intelligent metadata-housing, distributed/replicated, multi-protocol
store. Example:

datastore - some kind of (better) Python-based ZODB

protocol server - an instance of Zope3 with HTTP and other protocol
access (which could just as well be another similarly-functional
protocol server; e.g. a Twisted infrastructure, Java-based VM instance,
.NET VM [shudder], or whatever - I mention Zope3 because I spent the
afternoon looking at its component/adaptor/service/registry model, and
noted the possible use of View adaptors based on HTTP user agent e.g.
WML browsers etc. - neat)

Each data object in the ZODB would implement one of the standard set
of Interfaces, and adaptors would exist for interaction across many
(every conceivable?) channel; you could literally SSH into Zope and
interact with your object database; mount sub-databases (shared files)
with some kind of ZEO connection; talk to it over HTTP from a braindead
HTTP-only cybercafe; syndicate objects in their summaries or entirety
via RSS and RDF [kind of like FOAF]; communicate with the DOM of a
remote document over CORBA from a Gnome desktop, or KParts from KDE;
build meta-objects from application-level interfaces e.g. aggregating
RSS feeds, or SOAP/WSDL instances within your personal object database
via an XHTML/SVG browser-based drag'n'drop dataflow GUI; and so on...

Clearly a suitable filesystem and well-integrated system daemons could
accomplish the same thing, although the well-integrated part would
likely be the downfall in Linux' immediate future. I swear, if I find
one more application that can't link against PAM... factotum is one
thing that someone in the Open Source community *desperately* needs to
rip off, right this very second.

I have a sneaky suspicion (heavily influenced by fiction from the
likes of Vernor Vinge and my own knowledge of neurology, psychology
and software) that human interaction is not wholly dissimilar to
layered software design; and that finding a useful interface is a
case of impedance (mis)match between the wetware and software systems
and finding a way to abstract the data quantity *down* an order of
magnitude whilst still preserving the *quality* of what you're seeing.

Put another way: an Xterm/CLI is like about 25 ohms, and
Gnome/KDE/Windows are about 50, while the abstraction layer that
humans use to talk to computers is between 10-100, depending on the
technical bent of the person. There's a much higher layer we could be
using (with an impedance of, say, 1000 ohms) which is the same thing
we'd use for doing juggling or strumming a guitar - where you're
goal-driven not event-driven.

GUIs are often neglected by heavily technical persons because they've
put so much effort into using the lower-layer abstraction that they've
got their own higher-level one internally - so when using an xterm, I
*am* goal driven. My nanna is likely to be incapable of that (and more
to the point - would not desire to be capable of that). I'm not using
a GUI because the (albeit slight) overhead only provides with with 25
less "ohms" of impedance, and I'm already well abstracted past that
point (at least for most applications - some specialist ones I wrote
for our Network Management are browser-based and becoming more so,
and that has proven to be all about the database, not the fact it's
a GUI as opposed to a TUI).

Wrenching this back on topic; the question the MSFT survey didn't
(indeed can't) ask is:

What's the next step in human-computer interaction, and how can we beat
everyone else to market?

I suggest that {Gnome,KDE}/GNU/Linux (and to a greater or lesser extent,
other free and Free OSes) can find and implement this hypothetical
quantum-leap better than any commercial OS, because:

1) They've now got the basic infrastructure all-but done, and it is
often if not always better than commercial equivalents (c.f. Solaris,
Windows, SCO Unix).

2) They don't have to justify commercial risk

3) They have as smart and often smarter (and certainly better motivated)
people coding, in my experience, and many many more than any commercial

4) In lots of cases, they can avoid migration paths due to a
non-entrenched user base and better file/format interoperability (a
consequence of Open Source)

5) The very politics of Open Source which can work against this can also
work for it; this is a somewhat subtle point. Namely, that as certain
smart people realise e.g. Gnome and KDE working against each other is a
hiding to nothing, clever efforts are made towards interoperability -
the work by the people is a good example of that, like
Fontconfig; and the D-BUS / HAL work, which concepts (even if not the
specific protocols) are IMHO ESSENTIAL.

Sorry, that was overlong. Happy holiday to y'all.



| Phil Mayers                              |
| Network & Infrastructure Group           |
| Information & Communication Technologies |
| Imperial College                         |

More information about the linux-elitists mailing list