« Lack of Motivation| Main | CAPTCHA Scmatzpa »
Building Blocks
I was reading over on slashdot today about a neat operating system called "Plan 9". For those of you who aren't film buffs, the operating system is named after the famously bad movie"Plan 9 From Outer Space".
So what makes a good operating system any more? If I ad a magic wand, here are the things I would want to see in a fresh O/S.

These people should not be coding your O/S!
- 3-D Graphics - No matter what the technical details, users expect 3-Dimensional graphics. Movies are going 3-D, monitors are going 3-D, people expect the O/S to go 3-D as well. Ideally this would be combined with ability to push a lot of pixels -- say 3 wide screen monitors at the same time. I can envision this set up as being a typical home system. You could have movies/TV on one screen, O/S control on another, and a third screen for working.
- Seemless Grid and Mult-Core Capabilities - There shouldn't be any indication of "where" things run at. Things should just run everywhere. To clarify a bit, nowadays when you start up your email program or spreadsheet, your little CPU is chugging away to make that happen. All of the processing happens inside that box. In the future, you should have clusters of nodes of trusted friends and machines. When they have extra processing power, they loan it to you, and vice versa. That way your small box can have the power of many hundreds. When dealing with multiple cores, the whole thing should just work -- that means parallel processing and grid capability at the kernel level, not sitting on top somewhere. Plan 9 treats everything as a file block (including output, input, programs, data files, printers, etc) and then assigns a unique hash to each block. This idea has some merit.
- True voice recognition - I've read recently that voice recognition is continuing to make great strides, and that's great to hear. Applications like email do not need a set of eyeballs on the screen. Do we need to see to talk on the telephone? Web browsing could be done by summarizing pages and reading the summary to the user. Let them ask for more detail or to chase a link. Combining this with social organization sites like Digg could lead to a "morning briefing" from your computer consisting of things you are interested in and all of your correspondence. This morning briefing could be a staple of modern life in a short while.
- A Universal Directory - There are a zillion ways to reach any of us. We have PDAs, cell phones, pagers, multiple notebook computers, desktop computers, computers we are visiting, auto PCs, WiFi-enabled MP3 players, etc. We are getting more and more connected, but it is just crazy-hard to actually reach somebody. We need a universal directory system so that when I ask to talk to John, the net figures out how to reach him, not me. I had this idea many years ago and did a lot of work on a prototype, and I think the idea is still sound. Think of "LinkedIn" combined with real-time updating and a simple interface. The time is right.
- Instant On/Off - No more waiting for the system to boot. It's wasting millions and millions of dollars of people's productivity. Need a I say more?
- DirectX 10 Support - This is the de-facto low-level standard for graphics, so I think it's a given. Whatever the solution for graphics libraries, you're going to have to have a lot of sophisticated 3-D pipeline support. Using a market leader as an example seems like good business sense to me.
- Mono/.NET and JVM Native Support - You must have some basis for writing software, and the only solution I can see is taking the two biggies, .NET and JVM, and putting them in your O/S. Yes, I know I just introduced a huge hurdle, but there you go. An O/S without these is just a toy. Remember -- my column, I get to make the rules here.
- USB2.0/FireWire/PCI-X Support - Another gotta have.
- Open Source, No DRM - The profit model is going to have to be consulting, tech support, and customizations. The software itself should be thought of as advanced marketing in order to sell services. There might also be a market for early adopters -- charge folks not for the software, but for the chance to get it a year early. And DRM is just dead anyway. I think the best bet for O/S developers right now is just to ignore the whole DRM thing entirely. Let the Apple and Windows crowds write the kernel drivers to convert the DRM material into MP4s. Getting into that game is not something a company of limited resources can do.
- Strong Shell Scripting Capabilities - No good O/S can lack a strong scripting ability. Combining that with the built-in grid/distributed features should mkae for a powerful punch.
- All Net Communications Abilities Integrated Into the O/S - There should not be a communications ability used by more than a million folks on the web that is not part of the O/S. Perhaps the sign-up process hooks you up with some kind of Trillian system and a Yahoo, MSN, ICQ, etc account. This plugs into my "universal directory" idea. Integrating this into the O/S means a whole new level of interactivity. Suppose your friends were icons on your desktop? Suppose they could remotely interact with each other and your desktop (and applicaitons)? I know this sounds a little goofy, but there are potentials for great improvement here.
I understand that some of the list is self-contradictory. But after all, having competing interests is part of the architecture of O/Ss anyway. Microsoft is bogged down in legacy code -- they will either cut a new corporation off and start over or wallow in inertia. Apple is doing a good job, but they have a small market share. There is an opportunity for great change and improvement. So if anybody has 5-10 Billion, give me a call and my people can talk to your people. (wink)
Test Comment
Test Comment