*BSD News Article 65715


Return to BSD News archive

Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!news.rmit.EDU.AU!news.unimelb.EDU.AU!munnari.OZ.AU!news.ecn.uoknor.edu!paladin.american.edu!gatech!newsfeed.internetmci.com!in1.uu.net!news.artisoft.com!usenet
From: Terry Lambert <terry@lambert.org>
Newsgroups: comp.os.linux.development.system,comp.unix.bsd.386bsd.misc,comp.unix.bsd.bsdi.misc,comp.unix.bsd.netbsd.misc,comp.unix.bsd.freebsd.misc,comp.os.linux.advocacy
Subject: Re: Historic Opportunity facing Free Unix (was Re: The Lai/Baker paper, benchmarks, and the world of free UNIX)
Date: Sat, 13 Apr 1996 15:02:47 -0700
Organization: Me
Lines: 384
Message-ID: <31702487.420C2193@lambert.org>
References: <4ki055$60l@Radon.Stanford.EDU> <jdd.829261293@cdf.toronto.edu> <yfglok14n5r.fsf@time.cdrom.com>
NNTP-Posting-Host: hecate.artisoft.com
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Mailer: Mozilla 2.01 (X11; I; Linux 1.1.76 i486)
Xref: euryale.cc.adfa.oz.au comp.os.linux.development.system:21213 comp.unix.bsd.386bsd.misc:548 comp.unix.bsd.bsdi.misc:3137 comp.unix.bsd.netbsd.misc:2935 comp.unix.bsd.freebsd.misc:17183 comp.os.linux.advocacy:45051

Jordan K. Hubbard wrote:
] 
] In article <jdd.829261293@cdf.toronto.edu> jdd@cdf.toronto.edu (John
DiMarco) writes:
] 
]    What will it take?  All relevant shell and file interfaces
]    will need to be replaced by simple, point-and-click
]    window-based interfaces (with sensible defaults), so that
]    completely applications-oriented users can install, configure,
]    and use the operating system without even having to know what
]    a shell or an editor is, let alone how to use one.  Tools to
]    efficiently build such a thing (eg. tcl/tk) are already in
]    place.  Yes, this is a concept foreign to the typical UNIX
]    mindset, but it's required if any UNIX-like operating system
]    will gain a foothold among the general computing population.
] 
] Actually, this isn't as foreign as you might think.  It's more the
] question of _how_ to reach this point that has many of even the most
] die-hard proponents of this approach scratching their heads.  The
] problems facing any such prospective "let's put a new face on UNIX"
] team are daunting, to say the least:
] 
] First, you have the problem of a standardised GUI

This is hard; this is a political question.  My personal answer:
Motif.  It is the only standard GUI ratified by a UNIX standards
body, and it meets the additional requirement of being nearly
identical in usage to the Windows environment, so training of
Windows users is portable to Motif style-guide compliant
systems.


] and how to get the user from point A (a CDROM in one hand and
] a PC on the desk) to point B (a fancy graphical interface
] complete with "click here to start" button).

This one is easier; it is completely technical, and I have
tried to push it in a large number of comercial organizations,
including Novell USG (the former USL) without success:

1)	Move the DDX code for per-card drivers into the
	kernel.  This allows you to save the state of
	otherwise write-only and therefore unrestorable
	video mode registers, etc..  X must use an
	interface that does not require process cooperation
	to restore the screen contents.

2)	Implement "fallback drivers".  Such a driver is a
	standard driver implemented on BIOS calls.  For
	video, this is INT 10.  This will be sufficient
	to put the screen in 640x480 graphic mode for the
	95% majority of PC hardware capable of running a
	protected mode OS.

3)	Implement a full VM86().  Because the fallback
	drivers must operate from protected mode, you
	will need virtual machine technology to make BIOS
	calls from protected mode to implement them.

4)	Either discard the concept of memory overcommit
	altogether, or allow it to be selected off.

5)	Enable more explicit processor detection.  This
	is necessary to implement APM for systems without
	APM BIOS capability.  APM BIOS capability should
	be ignored.

6)	Build your "magic install image".

Now let's talk about "magic install images".  Such an image is
a non-memory-overcommit (fd's are not strictly recoverable for
executables) APM save image of a sytem "just about to be
installed".

So all you have to do is "restore" the APM save (which should
take a little less than 10 seconds), fill in the machine name
and base IP information, if network connected, and hit return.


The hardest part is writing the standalone APM restore code
program, to be run as a boot or as a DOS executable.


] X is notoriously hard to configure, and anyone wishing to get the
] average Windows user aboard the UNIX bandwagon faces a considerable
] job just getting them up and running reliably with the bewildering
] array of graphics cards available and a UNIX environment that's
] usually left the BIOS (and all the standard, however braindead,
] interfaces it might have provided) far behind by the time you're
] running the X component of the installation.  Even getting your
] average card into SVGA mode is not as easy as you'd think, and there
] are people in both the XFree86 and X Inside, Inc. camps who have
] devoted considerable time and energy in pondering that question.  The
] upshot of this is that right from the opening "Windows" screen,
] Microsoft has got us somewhat outclassed and have already detected the
] mouse and modem at the point that we're still loading a kernel off a
] floppy.

The default INT 10 video modes for the card dictate the initially
available screen resoloutions, IFF the X DDX is in the kernel
instead of in the X server software.

Some additional technologies apply at this point.

The first is kernel paging, to allow you to discard fallback
drivers when card-specific drivers become available.  This
requires ELF or similar object file format technology for
segment attribution in the default kernel image.  Discarding
fallback drivers prevents you from needing to rebuild a minimal
kernel, but isn't required if the build process can be automated.

The second is a card/monitor selection dialog, like the
"screen preferences" control panel in Windows95, which is
a trivial thing to provide for the selection of mode lines.

The biggest problem X faces is oddball screen resoloutions so
that sp,e weenie can get 10 more pixels out of his overscan
area than the monitor is rated for.


] Assuming that you do manage to somehow get Joe User up safely into X,
] your problems are far from over - now you've got a massive education
] problem on your hands.  Where is the "setup" menu?  How do I pick my
] color pallete?  Where's the list of available fonts?  How do I swap
] the mouse buttons if I'm a lefty?  Where's the editor?  Where's the
] paint program? 


Another easy problem; sample answers might be, in order:

1)	It's the "control panel" option on your "Start" button
	menu.

2&3)	Click "Display" in the "control panel" window to pick
	your color pallette, fonts, etc.

4)	Click "Mouse" in the "control panel" window to change
	your mouse settings (including button assignment).

5)	The editor is that dumb program that acts like the
	Netscape editor when you click on text files (or you
	can run it by picking "create new text file" from the
	"start" menu).

6)	The paint program is the program that starts up when
	you click on paint files (or you can run it by picking
	"create new bitmap(/icon/pixmap/picture/image/etc.)"
	from the "start" menu.

] ARGH!  Where did I put those Windows disks?  Face it,
] the average user's expectations have been irrevokably set by the
] Macintoshes and Windows boxes, and while the X community should have
] been off inventing all those good things and trying to put them into
] an easily accessible framework, they were focused instead on seeing
] which competing GUI group ("OpenLook!" "No, No, Motif!" "Argh,
] NeXTStep you philistines!") could kick the other the most times in
] the crotch.

X is a windows system, not a user interface.  Just like Unicode
is a character set standard, not a glyph encoding standard.

Just like UNIX isn't hard to use, UNIX tools are hard to use.


] And we've only dealt with the lowest-level aspects of the interface.
] How about all those nice front-ends you talked about?  How about
] standard APIs for mail and database access and inter-application
] communications like MAPI and ODBCS and OLE?

SMTP/POP, SQL/UNIX_ODBC, and ICCMP/IPC/REXX.


] The painful truth is that Microsoft proved that having one vendor with
] a big stick *IS* sometimes the only way to keep a classroom full of
] hyperactive pre-school children in line, as much as the children might
] prefer to be allowed to smear peanut butter on the dog and set fire to
] the drapes.  UNIX never had such an authoritatian figure so it evolved
] standards faster than most people could invent acronyms for them.

This is simply not true.

UNIX has two types of standards: good ones (defacto) and bad ones
(industry mandated for the purposes of competitive advantage).

Motif is a strange bear, in that it falls into both groups: it is
the defacto GUI standard for X, and it is an industry mandated
standard that requires a buy-in to OSF to let you play.  Motif
is proprietary technology, and as such, should never have been
ratified by a standards body.  Either bench-packing or buyoffs
were involved (for instance, the major UNIX vendors do not pay
a dime of royalties for Motif and MWM distribution -- Novell
"bought in" with the NetWare UNIX Client, and other companies
paid for their good-ol'-boys-club membership with their own
proprietary standards).

It's an issue of the companies in the UNIX market not being
able to think well enough to get the correct soloution to the
game theory problem of the prisoners dilemma (I recommend the
books "The Evolution of Cooperation" and "Bionomics").  And you
can't fix that without incresing their review periods: how do
you propose to convince the NYSE to live with annual instead
of quarterly reports?


] The fact is that it's already too late for UNIX on the desktop.

You sound like Kanwahl Rheki in a meeting I attended at Novell
right before he (ahem) "left Novell to pursue other opportunities".

I remember him making a similar statement about UNIX on the
desktop, after which I raised my hand and asked "What *NOVELL*
operating system will people be running on their desktop, then,
if not UnixWare?".  To which he replied Novell USG would be
concentrating on application servers.

Hmmmmmmm... Ray Noorda left after that statement, and less than
a month later the group that later broke away to become Caldera
came into existance... hmmmmmmmm.


With due respect, anyone who portrays a technical market as
"impenetrable" or "already won by the competition" is a jackass
who is going to drive your product into the toilet.


] It didn't evolve in _any_ of the directions that your Word-using
] secretary (who occasionally dives into Powerpoint when the boss really
] requires a last minute presentation) is going to be able to benefit
] from.  Even if were were to suddenly reach down UNIX's throat and pull
] it inside out by the small intestine, it wouldn't matter to the ISVs
] who have long since abandoned any pretense of porting their software
] to the UNIX market.  What would be the point?  5 times the porting
] cost (and that's speaking _very_ conservatively, considering that
] there are quite a few more than 5 popular variants of UNIX out there)
] for a market 1/500th the size?

Porting cost is a function of developemental architecture and
approach to implementation.

Most modern GUI builders are causing this gap to widen, but it
boils down to programmers who don't understand portability
issues, and attempts to salvage sales from legacy markets.

The first can be dealt with using TWIN (or WINE, if it ever gets
done) to keep the API's the same and reduce porting changes and
therefore costs.

The second can only be dealt with by yelling "WAKE UP, WEENIE!
THE PEOPLE WHO WANT BACKWARDS COMPATABILITY WITH YOUR 2.0
NETWARE ARE NOT THE PEOPLE SPENDING MONEY ON YOUR 4.0 NETWARE
SERVERS!" (to pick one example).

] I worked for Lotus's UNIX porting group (where I worked on the ports
] of AmiPro [now Lotus Word] to the Sun and SCO platforms) and I can
] tell you that we got some very strange looks indeed from the rest of
] the corporate IS managers when they learned that we needed $200,000
] worth of equipment and 6 different operating systems gurus to do the
] same job that a Windows engineer with a $3000 PC on his desk was
] doing.

You mean "making Intel/DOS/Windows-centric code run"?  8-).

WordPerfect had the same problem: most of their code was in
Intel assembly, and "porting" was the process of converting
that assembly to C code that still looked like assembly, and
rewriting the user interface from scratch.

Spreadsheets and word processors are examples of applications
with very little code beyond user and system interfaces.  I
think the comparison is unfair.

I'd argue that the original code base was flawed.

It screwed them horribly when they had to support Windows, as
well.  This is why the relative popularity of WordPerfect vs.
Microsoft Word.


] If it hadn't been a checklist item for a few UNIX hold-out
] customers, we'd have ceased to exist in an eyeblink (and eventually
] did, but that's another story).  Believe me, your average desktop
] software vendor finds the UNIX market unprofitable, baffling and
] utterly unworth the development dollars that they could (and do) spend
] much more profitably on Windows or OS/2.  Sure, there are a very few
] small niche players who are leveraging existing UNIX expertise and
] small captive markets to make a few bucks, but that's purely on the
] atomic scale in comparison to the size of the Microsoft market.

You can bet Microsoft is suffering the same problems on transition
to Windows NT.  The main reason that Windows programs aren't
running on all the NT platforms instead of just the Intel ones
is that Microsoft has their share of programmers that think:

	#pragma pack(1)
	struct foo {
		char	c1;
		long	l;
		char	filler[ 3];
	};
	#pragma pack()

Is an "aligned" structure because it has an even dword-sized
footprint.  Check the header files in their SDK and DDK if you
don't believe me.

To say nothing of alignment of the stack on function entry, or
non-character auto variables that have to be referenced from there.

"Microsoft's problems" is another way of saying "competitor's
opportunities".


] You need only look at the reception that UnixWare got when it
] attempted to "go graphical" in just about every major respect.
] The old school die-hards hated it since it tried to hide things
] rather unsuccessfully and, in many cases, gratuitously from the
] administrator and the novices didn't like it either since it
] really didn't help them anywhere near as much as they were
] hoping.  The same is true for AIX, though I've heard that SMIT
] is somewhat less passionately hated now and there are even a
] few people here and there who will admit to liking it when
] they don't think that anyone's listening.

Yes.  The problem with UnixWare is that the interface was a rush
job, and so they were unsuccessful, as you point out.  I would
say that current versions of SMIT are more than successful, that
SMIT has cheering sycophants in some places.

NeXTStep's "NetInfo" crap is another example of less-that-successful
hiding.

But you only have to look at "vipw" and the password database in
FreeBSD to see that "successful hiding" doesn't provoke the same
response.

It is the lack of success -- *technical* lack of success -- that
is objectionable to the old line, not the attempt at data-hiding.


] In any case, these are hardly sterling successes to point to
] and they took their respective developers *years* to develop.

You obviously weren't there for UnixWare... I was in the same
building where it started, and many of the people I worked with
and around went to the second floor of Novell, Sandy at the start
of UnixWare.  It wasn't years, and they faced hellacious adversity,
mostly from the former USL (management, not engineering), who
mandated some home-grown, but antiquated technologies in the
face attempts to acquire shining examples of UNIX prowess -- like
Visix's "Looking Glass" interface, or a real Motif instead of
"Moolit", or ZMail.

Several of the people whose technical sensibilities were *most*
trod upon in this process are the very people who started Caldera
(after USL-now-Novell/USG management succeeded in convincing the
new CEO that the internal Linux project was endangering UnixWare
and got it scrapped).


You can't generalize about the possibility to create a successful
UNIX desktop simply because UnixWare failed to do so (and not for
technical reasons, at that).


] It seems a rather strange use of one's time to embark upon the
] same road, littered as it is with the bones of those who went
] before and ending in a tall cliff.

I think this was the argument to congress about Apollo after
the fatal fire, and again about the shuttle after the fatal
administrative decision to launch under conditions where success
was impossible.

Please *don't* make the same argument to the UNIX industry at
large after the "fatal" UnixWare launch (which wasn't all that
fatal, if you want to compare sales numbers with them).


					Regards,
                                        Terry Lambert
                                        terry@lambert.org
---
Any opinions in this posting are my own and not those of my present
or previous employers.