So much Microsoft news today! And it’s not negative! What’s going on? The New York Times has a long piece about Microsoft and then there is this Gizmodo article which does a pretty good job of summarizing the Microsoft Zeitgeist.
It is no coincidence that I had to explain my personal legal system before discussing Microsoft. Although many have tried, no company has managed to insult my intelligence while simultaneously overwhelming me with their stupidity like Microsoft. When I say "insult my intelligence" what I mean is the complete opposite of something like this recent news that Microsoft will be making their Visual Studio Debug Engine open source. Something has changed at Microsoft.
As the unicorn graphic in the Gizmodo article says, this is a new beginning. Microsoft has never competed in the marketplace of ideas. To me they have always been more of an extortion racket than anything. ("Sure would be a shame if something terrible were to happen to all your data… that’s in our proprietary formats.") But as the computing landscape changed their relentless pressure to control their users and quash competition and innovation drove people to gladly jump at the chance to escape (notably Apple, and a little Linuxy thing called Android). In office settings Microsoft is still primary for the same reason that many of those offices still have fax machines.
I’m biased, but I like to credit the free software movement for growing the idea that it can be possible to dislodge the tyranny of a company which literally controlled all information. Think about that - the only thing that stood between Microsoft and the super-villian style enslavement of mankind was their obvious incompetence. It certainly wasn’t benevolent principles. And by working together, with the help of the internet, it has been done. Microsoft’s reign of bullying is over.
Now Microsoft is getting some lashings of their own hardball tactics. ("Sure would be a shame if all our Steam customers suddenly started using Linux.") So, yes, please do suck on that Microsoft.
The article says, "change has been building for almost a year now". Let me be much more specific - the change has been since February 4, 2014. Satya Nadella is clearly someone whom I can respect. Steve Ballmer was not. Ballmer was not a computer person. He was a predatory finance person. His tone deaf hubris ensured that the best thinkers in the world of technology would, at best, proceed with Microsoft reluctantly. Here’s a nice quote which almost perfectly captures a primary reason for my hostility towards Microsoft.
The situation is so much better for programmers today - a cheap used PC, a Linux CD, and an internet account, and you have all the tools necessary to work your way to any level of programming skill you want to shoot for.
— John Carmack
A benevolent dictator, they were not.
While Ballmer believed that the economic might of Microsoft’s monopolies could sustain it, his disdain for the people serious about their computing drove them to build alternatives from scratch. The fact that these alternatives emerged as so compelling was lost on the clueless Ballmer.
But, as the Times article says "…Mr. Nadella has shown a sense of humility." 15 years ago, I would not have been able to imagine a more surprising and welcome description of modern Microsoft. So in the 1990s, Microsoft was a creepy 800 pound gorilla who was ruining the state of the art of computer technology with destructive turf wars and a cowardly lack of competitive spirit. Their products seemed like they were designed for and by children. But with Ballmer gone? Well things have brightened considerably!
As with the opening of some of their projects, one strategic move I found especially canny was Microsoft’s financial support of Cyanogenmod. This reminded me a lot of Mono. When Microsoft tried to snuff out the absurd fervor for Java by coming up with their own half-assed programming framework (or whatever .NET is) which they would then leverage their platform monopoly to force people to use, the brilliant Miguel de Icaza came up with an open source implementation. I think that really did knock the wind out of Microsoft’s predatory spirit. What could they do? Pressure people to use .NET or a completely free alternative? Tough call for Microsoft. Satya obviously learned from this maneuver. If your competitor is kicking your ass, dump a functional equivalent in the public domain. That’s what Cyanogenmod is doing to Google’s Android (bravo to Cyanogen, of course) and now, weirdly Microsoft is helping to make your phone suck a tiny bit less. Call me astonished. Of course, now the question on everyone’s mind is, will Microsoft ruin Cyanogenmod? They promise they won’t.
Phones are filled with such bad software that the only thing I can stand to do with them is SSH back to a sensible computer; so I don’t really even have a dog in that race. Likewise is another area where Microsoft is really set to change their tune. From a long time Linux perspective, I’ve watched over the years as those weird foreign people with their weird foreign ways have trickled over to Linux because Microsoft was just not doing the job when it came to native language support. Linux wasn’t either, of course, but in Linux, you can always fix it yourself. (Linux = easy things hard, hard things hard; Microsoft = easy things easy, hard things impossible.) This didn’t concern me personally since I’m just a weird English speaking foreigner but with Satya, I think sensitivities to the broader markets will be improving. The Skype real time translator they’ve been working on is a good example of that. (No, Satya didn’t start that project, but he didn’t cancel it either.)
What I do take personally is serious computing. What I mean by serious computing is the opposite of the puerile "computing" most people do most of the time, things like salarymen typesetting documents which should never actually be printed on paper. And porn and lolcats and Netflix. What I mean by serious computing is exemplified by the area which drives and inspires all innovations in it - gaming.
Of course boycotting Microsoft for the last 20 years has not really turned me into much of a pro gamer, but if there’s one area I begrudgingly respect Microsoft for, it’s their ability to not completely piss off their gaming community.
I exchanged some supportive messages with the author of this brilliant but bipolar explanation of why Microsoft is evil and yet the only thing you should be using. He was basically trying to say that PC gaming (100% Microsoft) is good and console gaming (50% Microsoft) is bad because Microsoft is evil. Well, I’m sympathetic, but you can see that the gamers are in a bit of a tight spot. Which was very clever of Microsoft.
I do not think it is well appreciated that people who are passionate about their computing are often passionate about gaming. I think Microsoft gets this and they’ve managed to get a lot of otherwise smart computer people on their side through a kind of Stockholm syndrome.
But the gaming connection goes deeper. Let’s say you want a game that doesn’t suck, you know, with lag spikes during garbage collection and run time optimization. What do you use to program it? Well if you’re serious, you use C/Cpp. And who has been driving that train in the last 20 years? It’s not Bell Labs! Microsoft has been dedicated to the preservation and improvement of C/Cpp like no other entity. All the modern C++ revisions and improvements owe much to them.
On to DirectX. This is really irritating to those of us in the free software world because the tables are quite turned here. DirectX, as far as I can tell is reasonably well documented and relatively nice to use compared to OpenGL, which I can personally attest is a nightmare. It is DirectX that is forcing innovation in OpenGL. But still, note the careful commitment to the gamers and game developers. No wonder it’s hard for them to leave the platform. While in the last decade Apple has done everything right it seems, when it comes to gaming, it is the opposite. Apple has done everything wrong and Microsoft has done the innovation.
Remember when I mentioned lag spikes during GC and run time tricks? One of the most ironic things Microsoft has done is their acquisition of Mojang. Quite surprising indeed after Notch’s rant about how uncool Facebook is. Minecraft was a game one could play without paying Microsoft an OS rent. And it still is. The fact that it is in Java is very weird. But the irony keeps coming! In Notch’s rant he says something interesting.
Of course, [Oculus] wanted Minecraft. I said that it doesn’t really fit the platform, since it’s very motion based, runs on java (that has a hard time delivering rock solid 90 fps, especially since the players build their own potentially hugely complex levels), and relies a lot on GUI.
So what is Microsoft going to do with Minecraft? Feature it in their augmented reality Hololens gear! My son has turned me into a Minecraft enthusiast and fun as it is, I have to wonder if a new toy, even one as important as a modern Lego, would really replace the kind of revenue that a $100 rent on all computing devices used to provide. But consider this too, is it really wise to put all your eggs in the VR/AR basket and target that to kids? Check out this interesting document about the Oculus Rift.
"WARNING Children: This product should not be used by children under the age of 13."
Ouch. When I first learned about the problems with VR and kids I was pretty disappointed (and glad to be an adult). I sure hope MSR has some really good tricks up their sleeves to handle this. That’s not entirely improbable. If there is one thing Microsoft has always done well it’s hire good people. With bad management out of the way, perhaps they can be allowed to do some good. Interesting times!