Future of Operating Systems

Seriously @@.

I was intrigued by your question about operating systems. I too have
wondered about this. I've had some experience with operating systems: my
father wrote a UNIX clone, I've been mostly a Mac user, and I run Linux on
all my servers. But a while ago, after reading Ted Nelson's books, Literary
Machines and the Future of Information -- the question hit me square in the
face: Why do operating systems suck?

Part of the problem, I decided, was because the people who wrote operating
systems had a hard time giving up their worldly metaphors and embracing the
every-dynamic nature of the computer. Another big part was that their was no
need to do operating system research. Microsoft had tied up most of the
market, and Linux represented a "good enough" solution that no one ever had
any incentive to work on taking things to the next step.

At the time, I wrote this:

http://get.theinfo.org/whatsWrongWithSoftware

I don't know enough about the hardware side of things, so I can't tell you
how hardware continues chugging along becoming better and better. However,
in the software world, once a good-enough solution comes about we seem to
give up. Instead of trying to come up with something even better, we only
write feature additions and bugfixes and occasionally rewrite it so it's
open-source. However, there's no drive to make something altogether
different -- and better.

Perhaps this is because we have no standard to measure things by. With
hardware, you can easily say at the end of the day, "I have done something
right. My computer is 500 Mhz faster than it was." There's no such simple
thing for programmers -- it's all subjective. There's no way to measure how
elegant, how usable, how simple a product is. Alan Cooper discusses this in
"About Face". He calls the fact that products never get improved the Dancing
Bear syndrome -- it's not about how well the bear dances, it's the fact that
it _does_ dance.

I too am in the midst of an article on this topic. I'm writing it for the
ArsDigita Systems Journal, so naturally it's talks mostly about their
system, the ACS. The ACS is a toolkit for building advanced websites on a
database, if you haven't heard of it yet. In the article, I compare it to an
operating system, and look at how operating systems, which have long
floundered on the desktop, are now moving up a level and migrating to
helping applications on the Web. Here's part of a rough draft:

...

Desktop apps are dying. As all of our software moves to the Web, the once
all-important operating system is dwindling in importance. All right, so
there's Linux, but that's just another form of UNIX which is certainly
nothing new. And Microsoft, which has never innovated before, certainly
won't now that the government is on their backs. So you can safely add the
operating system to vast mound of obsolete computer history. Or so you
thought.

Wait just a sec; the operating system is striking back. But not in the way
that you would normally think. No, it's not a desktop OS like Windows, and
it's not a server OS like UNIX. Instead, you have to go up a level. It's a
programming environment that's slowing growing into an operating system in
its own right. It's the ACS.

_Huh?_ I can hear you say. _An operating system? This guy doesn't know what
he's talking about._ That may be at least partially true, but my point
remains just the same -- even if the technicalities don't all work out. The
ACS has quite a bit in common with the operating systems of yore, even if it
doesn't perform exactly the same function.

Just like the operating systems we're used to, having the ACS take care of
important features is very beneficial. By having the operating system take
care of often-used functions, you have less code to write and less bugs to
fix. Because you're using a standard, other people can use your code and you
can use theirs. And by using a well-designed system, the various
applications can work together to create a customized user interface that
takes portions from multiple programs.

Part of LogicError. Powered by Blogspace, an Aaron Swartz project. Email the webmaster with problems.