Windows Everywhere Twenty Years On

In January 2011 Steve Balmer gave a keynote address at the Consumer Electronics Show in Las Vegas where he discussed the state of the Microsoft eco-system. He summed up a very compelling presentation and demonstration at 58:08 when he said…

“Support for ‘System on a Chip’ means Windows will be everywhere on every kind of device without compromise. All the performance and complex-ability of windows on low powered long lasting devices. We are entering a new era of technology for consumers where you will be able to use windows anywhere you go from the small screen to the big screen…”

A few of you gray beards may remember a brazen young CEO of Microsoft deliver a similar vision at a then king of the hill trade show called COMDEX many years ago.

“… The screen displays will come in every size you can image: wall size, notebook size, desktop size. Many companies will participate in that. These include classic consumer companies as well as all the PC companies. We’ll also need a lot of new software. At the operating system level, at the authoring tool level.

We’ve got to really empower people who are not technologists to reach in and do their work here with a lot of new ideas and simplicity being brought to that authoring environment. Most importantly, we need great applications and services” … Bill Gates Fall Comdex 1994 keynote address

What is interesting here is the 1994 keynote is really the politically correct remake of his infamous 1990 COMDEX key note where the iconic term “Information At Your Fingertips” was first uttered and the concept of “Windows/Microsoft Everywhere” was first articulated (Though not expressed in those terms).


Commentary from that time regarding the 1990 speech tends to suggest that this is the day people realized that Microsoft had become the new “800 pound gorilla” and that the old 800 pound gorilla (IBM) doesn’t look so big or relevant any more. John Markoff’s article on the speech in the New York Times on pretty much summarizes the opinions of the industry towards Gates and company by saying ‘His Goal Is World Domination’ (intentional capitalization of words in the statement in the original article). Check out some of the specific quotes of  industry leaders that Markoff supported his assertion with.

“Bill Gates believes that he has a right to sell all the software,” Daryl Miller, executive vice president of Novell Inc

“In many ways, the industry is beginning to perceive Gates and Microsoft like a latter-day Rockefeller and Standard Oil: they have control of the industry.” Richard Shaffer publisher Technologic

I admit I am a Microsoft fan boy. Not because they have the best technology but rather they have big ambition and and the drive to “engineer” solutions on a large scale. Many of my collegues poke fun at Microsoft and say they are a dinosaur watching the dawn of the ice age. Microsoft is irrelevant in the phone and tablet markets and they are not bringing any new idea to the table. But I say they brought it to the table 20 years ago. You couldn’t handle it then and you can’t handle it now. Not only that, the nay sayers of Microsoft are ungrateful for the fact that they were as open as they were and they have a seat at the table because of it. Then and now.

Back then everyone interpreted Bill Gates speech as Microsoft would be the only provider of computers to everyone. I ask you…Did that come to fruition? Of course not and I don’t think Bill Gates was trying to say everything would be Microsoft in the future. I do think he was saying that we had to build an ecosystem where everything we interact with talks to each other and that it does it in a consistent fashion. I think we have made great strides towards that today and Microsoft is not the only game in town and they didn’t want to be.

As people are so quick to pan Microsoft for lack of innovation in the phone and tablet market. I’d like to remind them that nobody has the equation right yet. Apple has a sexy UI but it doesn’t solve everyone’s day to day needs. When Balmer says “Windows will be everywhere on every kind of device without compromise”, he is really saying that the endgame is full functionality and “capability” everywhere, without compromise. How many phones will you buy in the next ten years? Will the feature set on them increase? So the Microsoft position is people will except no less than full functionality on every device and Microsoft is evolving its operating system to be capable of doing that. Windows “Next” (many have noticed that Balmer did not identify Windows 8 by name). could be completely different under the hood. While the System on a Chip devices Microsoft showed off at CES had UI’s that looked like Windows 7 few realize that the decoupling of the Windows UI to the Windows API will be complete in Windows Next. Windows next will be able to be “skinned” for the device that uses it. Many of Microsoft’s critics have ceded they did a great job on the Windows Phone 7 UI. More is coming. And while the Windows Phone “January” update slips further out (some say it will be March) I encourage you to monitor how easy the upgrade occurs for existing users when it does ship. Then ask yourself how well Apple “upgrades” the iPhone did you iPhone 3 users enjoy that long wait for feature upgrades after iPhone 4 was released? We will talk again when iPhone 5 gets released later this year. What about Android? The landfills are filling up with the by products of their upgrades and the key question every Android user has to ask themselves is…how many iterations of the OS will be supported on my phone during my two year contract?

When looking at this situation, Nokia picked Windows Phone over Android because they are engineers too. Looking good and being good are often two different things. Engineers strive to build good things that look good. Nokia has discovered it’s core business is elegant and functional phones and not the software tools needed to bring the functionality to the User Interface. Microsoft does not want to make hardware. Microsoft wants to make software that makes software. Microsoft has learned the Apple lesson and that is, hardware needs boundaries for extensible software code. Microsoft however, takes that one step further and works the interface issues with its vendors because customers always want choice and the more choice customers have the more Microsoft succeeds. Apple wants to move too fast to market and the interfaces (or lack there of) suffer which cause limited extensibility and long waits for new features.

Google on the other hand dosen’t know anything about hardware and they have made the Windows 2.0 mistake by letting the hardware companies make the interfaces. Will they learn what Microsoft did to make Windows 3.0 the hit it was? So far Google is clueless. This becomes problematic further down the road and I think it is the main reason Nokia did not choose them. Nokia has seen first hand with Symbian how much resources they have to have to support the software and if software architecture is not a core value of your business you can’t spot the executive software architect when you need one. As a result software resources continue to grow and consume your profitability as you strive to make more and more one off code modifications to gain functionality for more and more phone models. Android phone manufactures will have a melt down in similar fashion in a few years or so as they realize this path hits too close to home and they fail to learn from Nokia today. Google has not yet shown they can be the consensus builder let alone the engineer of the compromise. Google for all intents and purposes has a scientist mentality it is core to their business and I don’t see that changing. The Android ecosystem needs engineer mentality at the management level. As for Apple many wonder how many will drink the Kool-Aid when Steve Jobs is not there to serve it up? Don’t get me wrong, I wish nothing but the best for him and hope he recovers quickly. But like all of us there will be a day he won’t be able to walk on the stage of life. How many Apple minions will remain after that day?

One thing is for sure, this game, as it was twenty years ago is just getting started.

Posted in Uncategorized | Leave a comment

Do Not Crucify Me On A Cross of Java

In 1898 William Jennings Bryant delivered a speech at the 1896 Democratic National Convention. It so moved the audience that he was nominated as their presidential candidate. And he would be the Democrats candidate for two more runs for the White House (obviously all attempts were unsuccessful). He was a “Hard Core Progressive” but in contrast to today’s progressive he was quite a bible thumper. He is more widely known as a prominent anti-Darwinist who was the prosecutor at  the Scopes Monkey trial. But I digress…. In the speech he declared:

“Having behind us the producing masses of this nation and the world, supported by the commercial interests, the laboring interests and the toilers everywhere, we will answer their demand for a gold standard by saying to them: You shall not press down upon the brow of labor this crown of thorns, you shall not crucify mankind upon a cross of gold”

So what does this have to do with programing? Well, having seen a lot of programing trends in my day (my first program was written in FORTRAN on punch cards in high school). I have learned a few things. When Java came out, it held a great promise “write once, run anywhere”and while this promise is not 100% true, it is fairly close (write most, run anywhere with tweaks). It could achieve such success largely by the tight control Sun held over the language. Microsoft released its own implementation in the 90’s and was met with a law suit which concluded in January of 2001 and it bared Microsoft from ever making another Java compiler and libraries. Strangely enough history is repeating itself as Oracle goes after Google for doing the same thing (albeit Google is using an open source project, but it is Google that has the potential to knock Sun/Oracle out of the standard-bearer’s role for Java with its support of its chosen flavor of Java). Will Harmony die on the vine so to speak and OpenJDK become the “standard”. Who knows? There could be years left in this battle.

So where am I going with this article and blog for that matter? There are many parallels to the “gold standard” issue at the turn of the century and the “open source/proprietary” camps of today’s technology stacks. With plenty of history under my belt I can say languages come and go and the Java platform is “challenged” on several fronts one of which is it is not as “Open” as everyone claims it to be. That when push comes to shove the champions of Java are no worse than the evil empire with is drones they call programmers. The ugly truth is the Java community needs a “standard bearer” and a “standard” they can trust. The ugly truth is Java has a performance problem. I never ran a Java program that wasn’t a pig when it came to performance (and I have run quite a few). It’s why Microsoft tried to tweak it to their advantage. It is why Google is not using OpenJDK and is driving the Harmony train.  The fact of the matter is when you want absolute performance, hardware matters and the Java community is going to have to fess up to that fact and find a champion who will embrace it (Hint: Oracle ain’t that champion).

So if I haven’t already got you heading for a flame thrower yet, let me kick it up a notch…All in all the CLR is a better engineered approach. C# is a better base language. The .Net libraries are more well thought out and provide much more performance at their base than Java counter parts. The CLR does not suffer from internal strife that arises from the entitlement aspect of open source contributors. Please don’t rant in reply about all the “Microsoft hasn’t innovated and only duplicates” scenarios. This statement is not about innovation, it is about execution and optimization. Sure…all pioneers get arrows in the back as they boldly go where no one else has gone before. Microsoft has profited greatly from the “wait and see approach” and they have taken advantage of all the bodies found along the trail. The question the Java folks need to address is “WHY DIDN’T WE TAKE ADVANTAGE OF THE MISTAKES TOO?” Why does the Java community continue to embrace “5 ways to get to sunday” a decade after the issue “comes” to “consensus” and no one is man enough to step up and clean the configuration. Who can stand up in the community and be “THE” champion…the preverbail “Judge Judy”. It is at the heart of the issue between Google and Oracle. The only reason Google is working with Harmony is they want performance in the stacks they use (Android, Apache) just like Microsoft wanted performance thirteen years ago in the windows stack and the problem is the “blessed” org for correcting those problems is unresponsive at best (well they may get more responsive now that the problem is being articulated by one of the “in-crowd” and not the evil empire from Redmond)

Word to IBM you are not only a dinosaur you’re a dinosaur pussy…you got bullied by Microsoft in the early eighties and your going to get bullied by Oracle. In both cases you didn’t/can’t see it coming and I will go as far as to say you won’t realize it till it is way too late…in the end you [IBM] will pay for the resolution of Java performance improvements. The question is how much will you pay and who is going to help you? I have ten bucks saying that Larry and his crew leaves you crying at the altar after they convince you to go into a joint partnership to sponsor yet another Java SE project that addresses performance and other issues…I even have a name for it…how about jOS/2)

Posted in Uncategorized | Leave a comment

Trolling for a Free Windows Phone 7

Before I even get started I want you to know I am a sucker for swag. So  here is a link to information about the launch of the Windows Phone 7 Developer Launch. Check it out. Maybe I’ll win a phone for giving you the tip. Maybe I’ll get thousands of comments telling me I should use another smart phone. Maybe no one will notice at all. Well I hope one robot notices and as a result I am the randomly selected winner.

Windows Phone 7 Developer Launch Information

Posted in Uncategorized | Leave a comment