The LispOS Project: a position paper, part 1

Alaric B. Williams alaric@abwillms.demon.co.uk
Mon, 26 May 1997 22:45:06 +0000


> II. Goals
 
> As I listen to this conversation, I hear a number of ideas about what people
> want LispOS for.  Let me see if I can enumerate the major ones:
 
>  -- a highly flexible, mutable system, with as much source code in Lisp as
>     possible so we can change practically anything we want to change

Yeeeehhhhaaaaahhhh!

(Sorry, I got overexcited :-)
 
>  -- something lots of people will want to use

Yup. A nicer user interfaces than most X apps, for a start :-)
 
>  -- a basis for other work, i.e., something on which new kinds of programs can
>     be written (this is my own desire; I don't know if anyone else here shares
>     it)

Yes, I do; there is much "research" (playing) to be done on "vastly integrated"
systems like LispOSs, where communication between system components is easy.
I'm quite enchanted by the idea of being able to attach pieces of code to
patterns of system activity, sort of combining syslogd with advanced pattern
matching... such technology could probably provide the shared backbone for
a large distibuted process control system with really advanced fault diagnosis
and automatic work-arounds, or a help system that notices the user is 
floundering (increase in relative rate of unaccepted keystrokes, erratic
pauses as the poor guy searches the screen for the right thing to click on,
etc)
 
> Let me discuss the issue of popular acceptance.  I have seen someone on the
> list voice the idea "if it's great, people will use it".  This is a common
> sentiment among techies, but it's well known to be false.  The way it works,
> instead, is this: for a new, incompatible technology to be accepted, there
> must be a single, well-identified problem that it, and only it, solves.
> Incremental improvements (e.g., in programmer productivity) don't do it; the
> cost of converting existing structures is too high.  There has to be a "killer
> app", an application of the technology where there's nothing that begins to
> compete with it.

Agreed. I feel there may be some potential in the professional graphics market,
but something closer to home would be nice (like Java applets were).

Providing another applet language won't be very good. It didn't do TCL
or Juice a hell of a lot of good.

Perhaps some kind of user-interfacing revolution? Agents? I dunno.

> I'm going into this because some degree of popular acceptance has been voiced
> as a goal on this list.  Most techies don't understand what that involves;
> *they* use new technologies just because they're cool (ambiguity intentional),
> and they assume, falsely, that everyone else is the same way.  Most techies
> shun marketing because they don't understand it.  But my sense is, once it can
> be explained to them as a design problem rather than something mysterious and
> uncontrollable, they will find that it's actually a lot more fun to think
> about than they might have guessed.  Of course, it does require paying
> attention to the actual needs of potential users.

I can voice for that - my dad's a technical author, and he's always thinking
up advertising campaigns for computer companies. You can really let your
imagination run riot!

> Another principle I would mention is that while a "killer app" is necessary,
> it isn't, or may not be, sufficient.  The new technology must be adequately
> easy for the intended users to learn and adapt to.  Had Java used Lisp syntax,
> for instance, it might still be catching on but not with the same velocity.
> In that case, chances are someone else would have come along with a C-syntax
> variant, which would sooner or later have displaced the original.  (Don't get
> me wrong.  I love Lisp syntax.  But to most people, it's unfamiliar.)

Hmmm - I don't like LISP syntax! (sorry, everyone :-)

I'm interested in the Dylan approach, or the original Lisp, which (I hear)
had a different syntax, only everyone stopped using it.

Perhaps I'm just wierd...
 
> So perhaps the first question to ask is, Who is the intended audience for
> LispOS?  This deserves some discussion.  I see a few groups who might be
> served:

>  -- students who want to see another view of the computing world than the
>     C/Unix orthodoxy; possibly also, educators who want to expose their
>     students to such a view (I'll call these "academic users")

Hmmm... a niche market, yes, but I doubt it'd provoke a spread beyond
the niche like Java managed.
 
>  -- researchers in language and OS design and implementation who want to
>     try out their ideas, and to share ideas with others in a concrete form
>     ("CS researchers")

That'd be better, since their demonstrations to potential customers etc.
would then be running over LispOS, and it might be cheaper for them to
set up LispOS than to arrange a port. Thus, LispOS would spread into
the "real world".

>  -- professional programmers who want easier ways to build applications, and
>     to build new kinds of applications

That's a good one, IMHO, but a relatively flooded market.

>  -- general users who want a system that functions more automatically and
>     intelligently than current designs

A small market, since most "general users" blindly follow Microsoft, but
if we "get in there", there will be a good multiplier effect.
 
[...]
> and who likely will get the most benefit out of it.  Object-oriented operating
> systems are already an established research area, and LispOS will, I expect,
> make a clear and substantial contribution to the field.

Agreed.
 
> And finally, general users.  I have thought a little about what value LispOS
> might provide an unsophisticated user.  This is just an idea, and it's a bit
> of a long shot, but it does strike me that today's computer systems are still
> far too hard to use.  People need them to be self-administrating to a much
> greater extent; to build a detailed model of the user and his/her goals and
> preferences; and particularly, to provide much more intelligent handling of
> errors of various kinds.  This is something a fully integrated system like
> LispOS could do far more easily than a present-day OS.  Again, this deserves
> more thought, but I wanted to toss it out there.

Check out the Merlin project - they're working on an OS based on
Self, another dynamic OO language, with a heavy emphasis on making
it all easy to use. Their GUI is interesting!
 
> Comments solicited.

You asked for it :-)
 
> -- Scott

ABW 
--
Alaric B. Williams (alaric@abwillms.demon.co.uk)

   ---<## OpenDOS FAQ ##>---

Plain HTML: http://www.delorie.com/opendos/faq/
            http://www.deltasoft.com/faq.html

Fancy HTML: http://www.deltasoft.com/faq0000.html