Singularity
Though most people don’t know it, Microsoft has, not one, but two new operating systems that it is working on. The first, Vista, many people have heard of. Currently scheduled to ship just after the second coming of Christ, Vista has garnered most of the spotlight. However there is another OS lurking in the basement in Redmond and its name is Singularity. For more information go here: Singularity details. In creating Singularity Microsoft set out to answer this question:
“What would a software platform look like if it was designed from scratch with the primary goal of dependability?” (question found in the MS Singularity research report)
Why, it would look like . . . UNIX.
So what does Singularity look like? A joke, at least at first glance. But taking a moment to analyze the situation I came up with some interesting observations which I will now share with you.
What this signifies
If you read the press releases Microsoft is trying to bill Singularity as a research project, whose components might be used in future products. Personally, I don’t buy the hype. I look at this announcement and see Microsoft trying to do two things, compete with Linux/Unix in the server and embedded space and craft a replacement for its aging Windows OS.
If a company were looking for an embedded OS what choices would they have? Unix, 4 million flavors of Linux and some small, proprietary OS designed for a very specific job (think Texas Instruments). What they most definitely wouldn’t choose is Windows. An embedded system, just like a server, needs an OS to be stable and reliable, neither of which are areas that Windows is very good at.
Remember when Gates announced that the current build of Vista had gotten so complex and bug ridden that they were scrapping everything written in the last six months and going back to a stable build so they could start over? It was costly, it was time consuming and it was highly embarrassing. That incident, more than any other, highlights the fact that Windows might not make it to another incarnation.
Let me say that again because it is doubly important. Windows might not make it to another incarnation. By that I mean when Vista is ready to be phased out, the Windows code base that would normally make up the foundation for Vista’s successor will be so large, so complex and so unmanageable that it will take close to a decade for another version of Windows to come out. Assuming that it is even possible in the first place. Remember, Vista was first started around 2001, so assuming it ships in 2007 (which is not unrealistic) then it will have been in development for almost 7 years. So predicting that Vista’s successor will take 10 years before seeing the light of day is quite reasonable.
So, if the current code base can’t be used then Microsoft will need a replacement and that is where Singularity comes in. They should be looking at this as the foundation for a better, more stable, more easily maintainable base from which to build their next generation of operating systems.
Current implications
There are no real immediate gains to be made from Singularity. Anything of real value will require several years worth of development and almost a decade of testing and modifications before it can hope to compete with Unix and its variants. This shouldn’t be surprising, especially when considering Unix has been continually refined for the last 40 years, that is quite a lead to overcome.
However, there some issues that could become problematic. Currently Singularity is being programmed using a combination of C# and Sing#. Sing# is a derivative of Spec#, Spec# is a derivative of C# and C# is a derivative of C++. The issue here is that, in the future, there could be a shortage of programmers who are skilled in Spec#. Because of the limited use of C# and Sing# as compared to C++ and Java Microsoft might ultimately be making a mistake in choosing Sing# as their foundation language.
Future implications
Microsoft has indicated that they might use Singularity (in part or in its entirety) for distributed computing, embedded devices or in future versions of Windows (both desktop and server). Now, whether any of that will actually happen is anyone’s guess. But based on Microsoft’s current leadership and management style I foresee one of two things ultimately happening.
The most likely scenario, in my opinion, is that Singularity will never really take off as a viable OS. In the next five years I think that Singularity will have its ups and downs, produce some workable code, show moderately interesting demos but will ultimately be disbanded as different units within MS disassemble parts of its code for use in their own particular applications. It is also possible (however remote) that Singularity could be used as part of the foundation for Blackcomb (the successor to Vista).
But if it manages to survive without being assimilated by other business units, it still faces the dangerous path of being “too” successful. Right now Singularity is being created by a small team of about 50 people. Due to its size and relative obscurity the programmers are fairly free to do what they want in the manner they feel to be best. But all that will change if Ballmer suddenly decides Singularity will be his new pet project. Overnight the leaders of this “research project” could find that their staff has just increased to 3,000 strong (in true MS style bureaucracy 2,000 of which are managers). Suddenly with 18 layers of management and 93 required meetings each week, Singularity becomes too heavily managed to complete any real work and eventually loses all of its innovative aspects.
In the end Singularity will be a good idea implemented about 10 years too late.
Comments
Sorry if that seemed really silly, guys. I’m just trying to be a little more light hearted. Please close my account…I’m going to go back to my room and think about what I’ve done. Forgive me.
More seriously , I really am crazy.
I was normal for a while, but crack does such bad things to your mind.