Starwman, nobody said that. Shared libraries make sense when a program wants to load additional code at run time. A classical example is loading and unloading plugins.
For everything else, not so much.
2) "Anyone who likes normal-looking user interfaces rather than plain boxes with text in them is a poopipants."
Most people I know use a tiling window manager with terminals. So plain boxes with text in them seems to make sense for many people.
It's hard to recall conversations from 1994, but I came away with the overwhelming sense that the Plan 9 guys thought shared libraries were bogus - certainly that they were bogus for the non-plugin use case (which is the one that pertains to this discussion; libraries like Motif were not plugins). So you've accused me of raising a strawman (actually a "starwman" - "he'd like to cwome and mweet us, but he thinks he'd blow our mwinds") by raising a point absolutely not germane to the discussion, but you when refute my point with this devastating rebuttal:
"For everything else, not so much".
Most people I know also use the web and menus and buttons and dialog boxes and so forth and expect all this stuff to look vaguely like other computers do. The fact that the Plan 9 folks were trundling over to non-P9 machines to read the web seemed to suggest that they also liked seeing things that weren't just text in plain boxes.
The point remains that these two propositions are both at the least contentious, and only by combining these unrelated points could anyone really seriously take Plan 9's approach to shared libraries (at the time) seriously.
If Plan 9 guys really thought shared libraries were bogus, they wouldn't have created the follow up version heavily based on dynamic packages for Limbo.
Your "most people I know" comment is bizarre: even hardcore terminal users need to browse the web, and it's been years since lynx or w3m could be claimed to be adequate for most web tasks.
But the Plan 9 folks consciously made it difficult to write or port web browsers and other consumer software. I think I remember Tom Duff stating that writing a web browser was a "fool's errand", which I guess captures the sense of heightened seriousness, privilege, and lack of concern for the average mainstream user that informed Plan 9's design.
There's more discussion in this file between Howard Trickey (who refers to himself as an "erstwhile fool", having written Charon for Inferno), Duff and other Plan 9 enthusiasts.
The displayed level of knowledge and engagement with the requirements for building a web browser isn't exactly off the charts. I think it's fair to say that Duff didn't have a lot of patience with the project. He saw it as a moving target that probably couldn't ever be hit. For Plan 9 the classic web browser is a culturally alien type of software: complex and to some degree necessarily monolithic.
Here's what Duff said:
> how come mothra bit the dust?
I wrote it. It was not in good condition when I left
Bell Labs. Understantably, nobody else wanted anything
to do with it, so it died.
Its biggest shortcoming (other than its general
internal hidousness) was that its document imaging
model was fixed before <table> entered the picture.
Deep down it believed that documents were running text
with embedded line-breaks and indent changes, meaning
there's no good way to get tables or frames to work.
Also, if your browser doesn't closely match Netscape
and Microsoft, people will believe that it just doesn't
work, regardless of how good a job you do of meeting the
published specifications.
On the other hand, I still think its idea of how to handle
navigation (mostly the panel with an LRU list of pages
visited) was better than anything else I've seen.
Writing a web browser is a fool's errand. The
specification was changing faster than I could type, and
still is.
And here's Rob Pike:
> Surely somebody must be trying to port Mozilla to Plan 9?
While that would be better than no browser at all, Mozilla
is just the sort of stand-alone monolith that we're trying
to argue against. And of course, everyone else in the
world is trying to turn their system into a giant web
browser. I'd rather see web access be one aspect of a
system in which the pieces work in concert.
-rob
I think most people who've given the web browser platform any serious thought would agree that the way Duff and Pike are talking is indicative of not really having taken the problem seriously. The discussion continues in that speculative vein.
They had the luxury of being able to choose (effectively) to reject the web user experience and they took that option. Tom Duff probably wouldn't claim that he was speaking about the intricacies of web browser development with great authority!
There's more discussion in the 9fans archive. And see also Abaco, another attempt at a graphical browser for Plan 9: http://lab-fgb.com/abaco/
On the subject of web browsers, I wonder if Plan 9 aficionados would appreciate edbrowse [1]. As the name suggests, it's a combination ed-like editor and web browser. It includes the duktape JavaScript engine. The project even distributes a statically linked binary for Linux using musl.
In theory, that could even be ported to some versions of Plan 9. I remember that the Jehanne OS dev had said something along the lines of "Netsurf (another Duktape browser) could be ported soon".
> Most people I know use a tiling window manager with terminals. So plain boxes with text in them seems to make sense for many people.
As my human-computer interaction prof said back in undergrad: You are not normal. There is a reason that no modern operating system outside the "Other Linux/BSD" bucket ships with this as a default.
Starwman, nobody said that. Shared libraries make sense when a program wants to load additional code at run time. A classical example is loading and unloading plugins.
For everything else, not so much.
2) "Anyone who likes normal-looking user interfaces rather than plain boxes with text in them is a poopipants."
Most people I know use a tiling window manager with terminals. So plain boxes with text in them seems to make sense for many people.