Sunday, August 29, 2010

Top 5 Things Microsoft Should Open Source

I don't typically go on rants, but when I saw this article about Microsoft being Open Source, it got me thinking..

If we take them at face value and assume this is a serious statement of fact, and not a clever PR campaign for OData by Jean Paoli
, then we have to assume that Microsoft is stupid. Microsoft makes money from being proprietary, and capitalizing on two things:


  1. The integral nature with which their products exchange information with each other
  2. The firewalled nature with which their products do not exchange information with other products

The most important element of their successful software platform is not so much that it is "Open Source" or not, but rather that it only plays well with themselves, and doesn't play well with others! Microsoft software is like a monstrous horrible clique of software programs that hangs out in the corner of the playground by itself, gossiping about everyone else, and thinking they're really awesome when really they're not. Microsoft Office is like Zac Efron's character Troy Bolton: a huge tool.

In the words of Mike Posner, and the lyrics of "Cooler than me", this is what I think of Microsoft:


you got designer shades, (closed ridiculous XML standard files)
just to hide your face and (poorly written code)
you wear them around like (all your apps have the same VB code that isn't open source friendly)
you're cooler than me.
and you never say hey, (how do I get data into an Excel sheet from a Perl script, eh?)
or remember my name. (when's the last time you updated your MySQL import code? HELLO!)
its probably cuz,
you think you're cooler than me. (But you're not.)

Don't get me wrong: I've been a user of Microsoft products for some time, not only because I have to, but because a lot of analytical and information based tasks just happen quicker when tools talk to each other, and you can transparently export and import data from one tool to another. This isn't necessarily an argument for Open Source, but it's close.

I would argue the single most important and "open" commitment Microsoft can make is not about their source code, but about their architecture. "Open architecture" means playing well with others, which Microsoft doesn't do right now.

So without further ado, this is my list of my top 5 things I think Microsoft should "Open Source":

1) Excel functions
I would obviously integrate them into R, make a much more powerful library, which would add and build up functionality into Excel. This would then make Excel even more useful than it already is, and allow people like me to use it for more than just simple stuff. The visual basic engine is horrible, it was never meant to write algorithms in, and so it shouldn't. Other languages do that better.


2) Powerpoint macros
Slides are quickly becoming a new hieroglyphic / pictorial-based written language to business folks, just as "early" languages mostly started from simple graphics. But Powerpoint should have a way to make these graphics "go meta" so that scripting could be done easily and more natively. I have tried doing this with Visual Basic, and it feels a lot like what happens when you fall off a motorcycle while not wearing protective clothing, going 60 miles an hour. Only more bloody.

3) Charts and graphs
If Microsoft doesn't make their engine available to do this, and use and import from other graphing platforms more easily, other people are going to do it for them. And then they'll be sad. There's so much potential here, and they ought to be web-postable in normal formats, not stupid .NET ridiculousness. Earth to Microsoft. Your dream of owning the enterprise business web never happened, and the world got over how insanely difficult your code was to post on the web, and did something about it. It's called Ruby on Rails. Look at how easy this is compared to your .NET obfuscation here. 5 minutes for Rails vs. I don't even know where to begin for .NET.

4) Microsoft Word doc format
I use the outline feature all the time, and the truth is, I'd love to be able to use .doc to txt converters for all my own files without having to venture into some insane XML format parser or pay $60 for some shareware app that doesn't even work on Linux. I just want a straight .doc to text converter. C or Perl script. Simple.

5) Access data files
I'd argue Microsoft already missed the boat on this one. On the one end, you've got FileMaker Pro spinning circles around Access, and on the other database hand you've got MySQL doing a much better job. So what's left? A mediocre combination of the worst of both worlds. If you don't Open a reasonable, Perl-like interface to Access files, you can kiss the entire tool goodbye. I know a lot of coders, and I don't know a single one that uses Access any more. Period.




I've said my piece. Like I said, I don't make a habit out of ranting, especially not about software, but I couldn't contain myself. Now back to hacking open hardware...

1 comment:

Karl said...

The Word Doc format is already open source