I knew I ought to write something good about Microsoft on my blog once in a while, and I finally found my opportunity. A few weeks back I stumbled upon something verry interesting: Microsoft Midori.
(I thought to myself, “Wait a minute, isn’t that a brand of liquor?” So, I googled it. Up came www.midori-world.com with its very Engrish “Are you a legal drinking age?” Very cool imagery nonetheless.)
Notice how I didn’t say Microsoft Windows Midori. That’s right, this is the replacement to Windows. This is significant from a marketing standpoint (even your grandmother equates Windows with “hard to use” and “crashes”) as well as a coding standpoint. Let me explain:
Remember the Pee Wee Herman Show? Remember what he did whenever he stumbled upon a random piece of tin foil or wax paper? (I can still hear it so clearly.)
FOIL BALL!!! DING DING DING!!! HUUH HUH UHUHUHHUUH EUEUHUHUH HUH
That’s how I explain Windows to my clients. It’s basically a giant amalgamation of random code and band-aids known as “patches,” that has grown unmanageable through its 20+ year lifetime.
So, to answer your question, Midori is the name for the inevitable brand-new-from-the-ground-up Operating System from Microsoft. This is no Intern project either; they’ve got the big wigs cracking their knuckles in the trenches on this one.
Can’t wait to see it? Neither can I! Just click there:
There you’ll be able to actually DOWNLOAD Singularity RDK – Microsoft’s “concept car” project for Midori. It’s very, very early on in the game, so I wouldn’t recommend it unless you know what you’re doing, but a downloadable disk image is available for use within a virtual environment such as VirtualPC or VMWare. I’m going to try it out for kicks when I’m done writing this article…
I absolutely love the Singularity mission statement:
“The Singularity project started in 2003 to re-examine the design decisions and increasingly obvious shortcomings of existing systems and software stacks. These shortcomings include: widespread security vulnerabilities; unexpected interactions among applications; failures caused by errant extensions, plug-ins, and drivers, and a perceived lack of robustness. We believe that many of these problems are attributable to systems that have not evolved far beyond the computer architectures and programming languages of the 1960’s and 1970’s. The computing environment of that period was very different from today….”
Translation: We’re sick of squirting glue at the Jenga stack, so we decided to commence construction of a brick wall. (Midori won’t be on shelves anytime soon, but rather right after the next version or two of Windows.)
“We weren’t under the illusion that we’d make them perfect, but we wanted them to behave more predictably and remain operating longer, and we wanted people to experience fewer interruptions when using them.”
Beautiful. As my genius buddy Ian noted, it really says a lot about a company when they admit their mistakes and move on. Customers appreciate the honesty and the efforts. (Would MS have undertaken this project without pressure from Mac and Linux? Nope.)
… Singularity also incorporates three key architectural features to improve system dependability. First, Singularity pioneers the use of software-isolated processes (SIPs) to help protect programs and system services. SIPs enable programs to be broken down into components that are isolated from other software components running on the same device. This enables pieces of a system to fail without risking a total system failure. Consider this analogy: In a car, the brakes don’t fail if the radio stops working.
I love the analogy. To a certain extent, Windows 2000/XP did a good job of isolating misbehaving problems, so as to avoid entire meltdowns when one program decides to cause trouble. However, as Microsoft explains here, a ground-up rewrite would allow them to obliterate many software flaws that are currently entrenched nuisances.
Not only will the errors of the past be left there, but the use cases will be reconsidered as well. No longer do people own one computer and keep all of their information on there. Think back to the 1990s: You had one family computer in the living room, you typed out your research papers, you printed them out, and brought them to school or work, occasionally reading the news on Prodigy.
Then came Zip Disks, and USB “Thumb Drives,” and most recently “cloud computing” (a la Google Docs). The game has changed; data being more user-centric instead of computer-centric. I own three laptops. There’s no reason I shouldn’t be able to find all of my documents wherever I am. So, I carry a thumb drive on my keychain for sensitive documents, I can access my blog website no matter where I am and what computer I’m using. I’ll save the privacy debates for another article.
The only thing I have against Singularity so far comes from the last part of the “Rethinking” article. Up until this year, developers could write and distribute software as they wished, without approval from the OS’s creator (ie. Microsoft, Apple, etc.). Singularity follows this new iPhone/Android model (see older article) where the head of the ecosystem has the right to prohibit programs from running on its system, or worse yet, remove them from service on an individual’s phone or computer (Android Comes with a Kill Switch: The Register).
“We basically say, if you want to install a program to run on a Singularity system, you have to provide some information about it so we can preserve certain properties that make the system more reliable,” Larus explains. “You have to provide a manifest of the program pieces and how they fit together, and we’re going to check it. More important, we reserve the right to say ‘no.’ If a certain program doesn’t follow the rules set down for the system, you can’t install or run it.”
1: “Make the system more reliable”??? Don’t blame others for your own faults. Other Operating Systems are plenty reliable, and it’s not due to the OS creator denying people freedom of creation.
2: Another explanation for this over-exertion of control is an attempt to curb malware. Surely there are ways to fight malware without having to fight everybody. This isn’t airport security, guys.
Final message to software developers: Keep focusing on ways to make the OS more reliable and secure on its own, and stop using your flaws as excuses for control.
Okay, I’ve written enough. Time to install Singularity!!!