Brad Wardell's Blog


Five Features Operating Systems Should Have

Published on Monday, February 28, 2005 By Brad Wardell In OS Wars

My friend Eugenia over at OSNews.com was lamenting how boring operating systems have become. And I agree. How far we've fallen from the exciting times of 1991 when pre-emptive multitasking, protected applications, flat memory, and object oriented interfaces were about to be delivered to the masses.

Since then, improvements to operating systems have been incremental. Or in some cases, we've actually regressed (largely thanks to jerks taking advantage of open systems to create viruses and spyware).  IBM's OS/2 was well on its way to providing an OS in which users from around the world could seamlessly integrate new functionality into the operating system via SOM and OpenDoc.  Of course, had that occurred, it would have been the mother of all opportunities for spyware vendors and the creeps who make viruses. The 90s could be looked back upon as a time of naiveté and idealism. It was in that environment that ActiveX and VB Script and Internet Explorer Outlook Express were designed that we now rue because of the exploitative nature of malicious people.

And so in the past few years the two major OS vendors, Microsoft and Apple have largely taken on the role of tossing in features into the OS that third parties had already provided or that the other had managed to come up with on its own. And then after that the Linux vendors then try to mimic that (there, I've offended all 3 camps!).

With MacOS X, Apple finally managed to put together a stable operating system with preemptive multitasking and memory protection. The first release was slow and buggy but subsequent versions got better and better. MacOS X Tiger looks to be a refinement on what has come before along with Apple's usual innovative twists on existing concepts (ex: Dashboard).  Apple's "innovation" with MacOS X has been very very gradual --  a far cry from the heady days of "Pink", "Taligent", and "OpenDoc". This is particularly true when one considers its ancestor, NeXTStep was released in the late 80s.

Meanwhile, Microsoft has contented itself with lifting shareware programs and throwing it into the OS.  WinZip sure looks popular, let's put ZIP into the OS.  Hey, AOL is annoying us, let's tweak them by making our media player skinnable and tossing that in.  Hey, let's put in a basic movie editing program too.  Ooh, WindowBlinds sure looks nice, let's make our OS have its own skin too.  Meanwhile, in areas that there's little third party innovation (or at least competition) things haven't progressed very much.  Outlook Express hasn't changed much since 1998. Internet Explorer is still roughly the same today as it was in 1998.  Now before any Windows zealots get on me, I'm not saying that users haven't benefited some from Microsoft tossing in home grown (or contracted out) copies of third party programs. I like being able to work with ZIP files "natively".  But bundling more content with the OS is not the same as innovation. To be fair, Microsoft's Longhorn project is very ambitious and Avalon promises to, at the very least, pave the way to really control how large things appear on our monitors without giving up resolution.

Yea yea, talk is cheap. So what should the OS vendors be doing?  I can think of five things that operating system developers should look at having part of the OS.

#1 Seamless Distributed Computing

In an age of gigabit internal networks, it is striking that I can't simply tell my operating system that I have "access" to Machine A, B, and C on my network and to use their memory, their CPU, and other resources to ensure that my local computer remains always responsive.  Instead Windows users are quietly bumping up against the "User Handle" limit (which most people don't even know about yet, they just discover their programs start to crash) of Windows XP.  So if I felt my machine was getting slow, I'd just bump up more machines on my LAN to use or toss another machine under my desk or even (gasp) throw some tasks at my home machine via the Internet (where the OS would be smart enough on what tasks it farmed out based on the connection speed). This sort of thing should be built into the OS, today.

#2 Seamless Distributed File System Databases

To be fair to Microsoft, WinFS has the potential to become this but it keeps being delayed. I should be able to create "cabinets" on my desktop (or anywhere else) in which I set a few parameters and from then on, files show up there as if they were any other folder.  I should be able to set the scope of my cabinets -- local, network, worldwide.  The physical location of files should be irrelevant. I should be able to arrange things however I want without it affecting anything.  Instead, move something from c: \program files\ and you're asking for trouble.  Why? I should be able to organize things however I want without it affecting anything.  This should be part of the operating system, today.

#3 Global User Management

When I activate Windows (or MacOS) I should be given a unique account global account where my preferences and other key settings are stored along with any data I would choose to store there for an additional fee. There should be a Bwardell.Microsoft.net (or Bwardell.Mac.com).  I shouldn't be forced to use it so that the privacy nuts are kept happy. But if I choose to use it, all my preferences, email, favorites, and other system specific "stuff" could be kept there and synchronized and accessible from any machine I'm on.  Moreover, it would also act as a re-director between machines. If Machine A has my spread sheets and I'm on Machine B then I would be able to get to those files through my Microsoft.net account re-directing my files from Machine A to Machine B. The system would need to be plugin-able so that Microsoft could avoid any DOJ issues. So a Yahoo or Google or even Apple could provide alternative Network cordinators (i.e. use Bwardell.Google.net instead of Microsoft.net). (DWL: I'm not talking about a domain controller here, we're talking about a global system that's seamlessly part of the OS).

#4 Universal environments

Following #3, I should be able to have a universal user environment. If I go to a public machine, type in my UserID and password, it should then be able to pull my environment from Bwardell.Microsoft.net so that my program settings, etc. are there.  If the local machine is missing a program, it would simply be grayed out. But if the local machine does have it, then I would be able to launch it from the normal place in the Start menu.  All my files would be accessible here through the re-direction of Microsoft.net. What machine my files are physically located on should be immaterial as long as as they are safe and secure and backed up (all handled by the OS without me messing with it).

#5 Component Based operating systems

Part of the problem with Windows and MacOS is that the OS vendors make it hard for third parties to enhance the OS with their own code.  Rather than worrying about locking everyone out for security reasons, they should come up with a secure way for legitimate software developers to be able to enhance or replace components of the OS.  For instance, in Windows I  get 5 choices on how to view a folder (icon, tile, thumbnails, details, and list).  Third parties should be able to extend this (I can think of a dozen ways I might want to display data in a folder).  There should be APIs so that developers can replace major or minor components to the OS. The web browser engine, parts of the shell, the display rendering engine, the built in search, and dozens of other things.  The OS should be broken down into parts that the OS vendor bundles their parts and third parties can try to innovate those areas. In that way, everyone wins, including the OS vendor (particularly closed-source vendors). Windows has "API hooking" but what we need is something more robust and secure to make use of that is well documented and accessible to developers.

The closed source vendors should be looking at Linux. It has managed to keep up on a tiny fraction of the resources. It does this through open-source.  Anyone can update any part of the OS and if it's a good thing, it can be put as part of a distribution. If the major closed-source OS vendors started providing documented ways for third parties to easily extend virtually any part of the OS without a lot of pain, they could harness their considerable third party developer base.  OS/2 was working in this direction with SOM where OS features could be "inherited" by app developers, extended and then updated.  Object Desktop on OS/2 was coded entirely by a single individual because he could inherit the base features of the OS and then start from there. And then other developers could go from there. (DWL: I know COM can do some of this but it's not what I am talking about, if you've done any serious OS extension development, COM doesn't apply here much).

...

Now you might be thinking, "Well if you think these ideas are so great, why don't you do them?"  The answer is, only the OS vendor can, as a practical matter, do this.  If a third party makes these things and it's successful, it's only a matter of time (probably one version) before the OS vendor puts in one of these on their own, wiping out the "low hanging fruit" part of the market.  As soon as some third party, for instance, put out a really good distributed computing product that "did it right" and started to make good business that targets consumers (DWL: Armtech is not a consumer product and isn't what I'm talking about), you could be assured that the next version of the OS would have some basic implementation of this put in.  And the OS vendor's fans would chime in, "That should be part of the OS anyway!"  In short, there's no business case for a third party to invest the money to develop these things because the pay-off isn't there.

But if these features were part of the OS, you could imagine how it might lead to dramatic changes in the way we use and think about computers. And to add to that, imagine the kinds of additional innovations that would present themselves if these things were already taken as a given?

 

## About the Author ##
Brad Wardell (aka "Frogboy") is the Designer of Stardock's Object Desktop. Object Desktop is a suite of operating system extensions for Microsoft Windows. Stardock also makes programs such as Multiplicity, Galactic Civilizations, and much more. Its home page is www.stardock.com.

"DWL" stands for "Don't write letters".

Jef Raskin passes away

Published on Sunday, February 27, 2005 By Brad Wardell In WinCustomize News

Raskin, the author of The Humane Interface, died of cancer, according to a man who answered the telephone Sunday at Raskin's Pacifica, Calif., home.

Raskin, who named the Macintosh after his favorite fruit, joined Apple in January 1978 as employee No. 31. The Macintosh was launched in 1984, but Raskin left Apple in 1982 amid a well-documented dispute with Steve Jobs.

Blog: DesktopX 3, Photo albums, furniture, and ObjectBar 2

Published on Sunday, February 27, 2005 By Brad Wardell In Community

Tomorrow is a big day for us. It's the release of Multiplicity which we've been working towards for over a year. It's one of the most useful programs I've ever used and we made it! Hopefully with a trial version of it available, people will be able to see why it's not the same as some open source program or whatever alternative one might imagine. We'll see.  I'm using it right now to do this blog. I have one machine that doesn't have hardly anything on it (not even WindowBlinds) which I'm using to test things and then this one which is my "work" machine which is currently running the Dream theme update.

Spent a lot of time going over Galactic Civilizations II's alpha. Lots of good stuff but we have our work cut out for us. Luckily we have time but as a very lazy guy, I lament how much work is in store for me and the team to get through.

Hopefully tomorrow afternoon we'll be able to hand out betas of DesktopX 3 to key developers.  I've been trying out different things today to see what can be done.  I think one of the biggest features is the ability to have preferences dialogs in your widgets (and no XML is needed to do this). 

Personally, I wish more of the samples used JavaScript. I positively hate VB Script. It's so..yucky. But I'm biased since I come from the C++ world of things.

I got a new internal build of ObjectBar 2 to play around with. The Mini Skin editor for it is ready and I'm going to try to reproduce the OS/2 Control Center exactly - pixel for pixel.  DesktopX 3 widgets/gadgets can be seamlessly embedded into an ObjectBar bar.  And ObjectBar 2 can export its bars as EXEs as well.  So you could make your own Longhorn bar or Mac Finder bar or whatever and then have it be a program you can distribute with the user only needing the ObjectBar run-times to use it (i.e. you don't have to load up ObjectBar and fish for the .obtheme).  The combination of being able to use DesktopX 3 widgets and being able to export its content as a program should hopefully be pretty compelling.

Imagine it - instead of people having to write complicated plugins or wait for the "bar developer" to come up with some feature (RSS feed, MP3 player, weather, etc.) like you do with other bar programs, you can just stick in there a widget. Widgets, in essence, take on the role plugins do in other programs except anyone can make a widget.  And it's a lot easier to "Skin" a widget than it is to make a skin for some bar program.

The final touches on ObjectDock 1.11 and WindowBlinds 4.51 were finished up and we're just waiting to catch our breath to release those. We also have a fantastic new skin pack from Essorant that is about to be released. Same as the others, we're just waiting to catch our breath. March is going to be crazy.

My wife had a scrap booking party. Those primitives with their paper and scissors. Canon bundles (or used to anyway) this wonderful program called "Photo Record". Has both Mac and PC versions (I have both) and it's just fantastic for creating your own photo albums.

Of course it doesn't have the social aspect of scrap booking parties or the tactile satisfaction of actually making stuff. But I still find it pretty neat to use and the results are fantastic.

I have a bit over a month to find a new car. No luck so far.  I currently have a Bonneville and they've discontinued that. So I'm off looking for something else. Want something with GPS, adaptive cruise control, and heads up display.  Not terribly price sensitive on the issue but I'm pretty cheap.

Speaking of being cheap, Stardock is going to be moving to a whole new office this May.  It'll have twice the square footage as what we currently have and we'll own it (we currently lease).  But the interior decorating bill..oye.  We're looking at around $150k to do what we want to do.  So we're going to be cutting out some things. Quite a few things.  Note that this doesn't include carpeting, wallpaper, acoustical ceiling tiles, natural lighting, and all the other fancy stuff we're doing to make our new office really slick.  The $150k range is just for the desks and other furniture.  We're going to get rid of some stuff that was mostly cosmetic and hopefully by the time we're done we'll be closer to $100k.  We want to get everyone new furniture since what we have now is kind of falling apart except for the central development lab furniture which we're keeping and the WinCustomize team will upgrade to that.

DesktopX 3 for developers

Published on Saturday, February 26, 2005 By Brad Wardell In WinCustomize News

If you've previously created objects, widgets, or themes for DesktopX (and they're on this library) and would like a preview of DesktopX 3 (i.e. an early version) email me at [email protected] IF you're interested in creating content for DesktopX 3 (we want to have plenty of content available on March 15th).

The Boring State of operating systems today

Published on Thursday, February 24, 2005 By Brad Wardell In WinCustomize News

Eugenia from OSNews.com has written a lengthy but interesting article on the state of operating systems tehse days.

She writes:

In the '80s we had at least 6 operating systems that had a good hold of market share each (e.g. AmigaOS, Mac, DOS, GEM, GeOS, Unix flavors). In the '90s we had Windows and Windows NT, Mac, DOS, OS/2, Linux, AmigaOS, BSD, other Unices and even BeOS, all with some considerable usage share (before Windows 9x got to its 94% of market share and get declared monopolistic). Along with those, you had a gazillion other small, embedded, academic or hobby OSes. We are talking about a few hundrend of them.

Today, it's the game of the three, plus about 10 more OSes that draw some minor only attention by the media: BSDs, QNX, Symbian, SkyOS, Zeta/BeOS, Solaris, Windows Mobile, PalmOS and some even smaller ones, like VxWorks, Syllable, MenuetOS etc. Overall, I would't say that there are more than 40-50 active or noteworthy OS projects/products out there today. That's a far cry from the hundrends that existed in the '80s and '90s.

And I have to agree with her. The excitment of the 90s is over.  Where is an OS/2 2.0 where you need it? Or the AmigaOS? MacOS X and Windows continue to evolve but there's nothing revolutionary in either one. Both seem content to snap up third party ISV ideas and toss them into the OS.

AOL: You've got VoIP

Published on Thursday, February 24, 2005 By Brad Wardell In WinCustomize News

America Online is expected to launch an Internet phone service in the United States next month, leapfrogging rivals in a fast-growing market as it seeks to evolve from an also-ran provider of dial-up Internet access to a broadband services powerhouse.

Like Yahoo and Microsoft, AOL already offers voice chat on PCs as a free feature of its instant messaging services. AOL's new phone service, by contrast, will take a different path, charging customers a monthly fee to make calls over the Internet using an ordinary handset and a small analog-to-digital telephone adapter.

Read more from the below link.. (hat tip to Neowin.net)