To: todd_spangler@ziffdavis.com (ATTN! Todd's new address is todd_spangler@ziffdavis.com)
Subject: Re: Inter@ctive Week story on Linux/BSD handhelds
References: <85256904.0079CC79.00@mailer.zd.com>
From: nathanw@mit.edu (Nathan J. Williams)
Date: 20 Jun 2000 18:55:19 -0400
In-Reply-To: todd_spangler@ziffdavis.com's message of "Tue, 20 Jun 2000 18:08:31 -0400"
Message-ID: <mtuhfaovu7c.fsf@contents-vnder-pressvre.mit.edu>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Lines: 89
Xref: contents-vnder-pressvre.mit.edu netbsd.ipaq:25

todd_spangler@ziffdavis.com (ATTN! Todd's new address is todd_spangler@ziffdavis.com) writes:

> Hi Nathan,
> 
> I'm writing a story about Linux & BSD running on handheld devices,
> and I wanted to find out what your involvement with the effort
> is. The news hook is that, as you probably know, Compaq has released
> a Linux port for its iPAQ handheld device.

Hi. I'm at Usenix this week, so I don't have as much time to adress
this as I might otherwise, but I'll give you the quick answers and
think about something more substantive. When's your deadline?

(Jim Gettys of Compaq will be hosting a session here later this week
about "*nix on handhelds"; I'll see what ideas that turns up.)

My involvement is that I'm working with Compaq CRL to get NetBSD up
and running on the iPaq hendheld. I'm a NetBSD developer, currently
the maintainer of the Sun-3 workstation port, and I'm doing some BSD
kernel hacking for my MIT master's thesis. This project seemed like a
good way to get NetBSD running on another platform (which is actualy
similar in a lot of ways to some of the half-dozen other ARM-based
devices we run on).

> What I'm curious about is:
> 
> * Why is Linux or NetBSD a suitable OS for handhelds?

One motivation is the mountain-climber's answer "because it's
there". NetBSD in particular has a particular strength of supporting a
wide array of hardware, so there's a fun challenge in getting it onto
a new device. NetBSD already has StrongARM-based ports, and
handheld-based ports (the hpcmips port, which runs on the various
MIPS-based subnotebooks and palmtops), so it shouldn't be too big a
deal...

Another motivation is the appeal of open-source vs. closed-source OS,
in particular the appeal of "not running Windows". There's an element
of Microsoft-bashing here; the handheld devices that are targeted are
the ones that natively run WinCE, not PalmOS or EPOC (Psion's OS) [A
cynic might say that this is because a computer has to be pretty
powerful already to run WinCE, so porting an admittedly
desktop-oriented OS such as Unix isn't such a big deal].


> * Where do you see open-source software heading vis-a-vis handheld
> applications?

The handheld device market is moving so quickly right now that I don't
think open-source on handhelds will progress beyond the hobbyist niche
for some time. The handheld device market is even more sensitive to
usability issues than the desktop market, so the casual consumer won't
want whatever UI we put on handhelds any time soon (see below).

It may turn out that *nix operating systems are fundamentally overkill
for personal devices. If so, I predict a resurgence of research and
work on other kinds of operating systems. Frankly, the open-source
community could stand to branch out into more interesting things...

> * Palm touts the (supposedly) thousands of applications available
> for the Palm OS, and says they're a key to the success of Palm
> platform. Will Linux or NetBSD running on handheld devices need to
> attract similar applications developers?

"What do people want to do?"

If a handheld is principally a PDA, then the open source has a long
way to go before it's as usable as a PalmPilot. That device, OS, and
the API presented to developers are all finely tuned for low resource
consumption and fast response time on a cheap device. The open source
world doesn't even have a workable non-keyboard input mechanisim yet,
and the average Gnome calendar app is a disaster on a 320x240
screen... not to mention the assumptions it makes about secondary
storage, power, and so on.

That said, I expect either xcopilot or POSE (the two open-source
PalmPilot emulators) to be one of the first programs ported :)

Also, PalmOS is really an application programming and user interface
layer that sits atop a "real" kernel system - in the case of the Palm
devices, it's the AMX microkernel from Kadak. Making PalmOS run atop a
Unix kernel would also be a reasonable thing to do, although PalmOS
isn't open source. 

> Thanks in advance for your thoughts on this topic.

My pleasure.

        - Nathan
