Dec 122013

I hardly do anything in Windows anymore. My work machine is Ubuntu, and my personal machine is a Mac. The only Windows computer I ever really use is an old machine at my church. However, that doesn’t protect me from having to deal with files made in Windows. And those things are starting to become the bane of my existence. 

The biggest problem I have with Microsoft is that their stuff doesn’t play nice with anybody else’s (Apple isn’t a paragon of interoperability either, but this is mostly a rant about text formatting in Microsoft products, so there’s not going to be a lot of “Apple sucks” in this particular post).

Here’s the thing, Microsoft has decided to try to be clever when it sees apostrophes, quotation marks, or hyphens between words and format them as “smart” apostrophes, quotes, etc. This is basically the automatic formatting Microsoft does to quotes and apostrophes curve like you see on handwriting charts shown to children in elementary schools, make hyphens in the middle of sentences but not words look longer than they do in hyphenated words, and do something to ellipses too (I don’t really see much difference between three periods and the auto-formatted version, but Microsoft probably autoformats them just to try to stick it to anyone else that isn’t running Office).

This wouldn’t be a problem if text editors for anything other than Microsoft products could handle this stuff, but Microsoft isn’t formatting this stuff using any sort of recognized encoding for text, like unicode or UTF-8. Instead, you get a fancy little unknown character tag instead – for all of Microsoft’s special little characters, so you get to try to figure out what’s going on from the context.

This stuff doesn’t even work well within versions of Microsoft office. I’ve opened Office files in Office on my Mac and gotten the garbage characters instead of the fancy-schmancy “smart” characters. Microsoft does such a crappy job of encoding their text, Office files don’t even work with Office. All the different code pages it uses on different machines (and I’m pretty sure this is the default settings, because who the **** takes time out of their day to adjust the code page of an Office file) renders Microsoft Office utterly inoperable by anyone trying to do anything else.

Text encoding has been a thing for years now. There are standards that just work for just about any language or text you could want, yet Microsoft refuses to encode their documents in a manner that can be read cleanly by anything other than the specific version of the application that created it.

That’s the kind of thing Microsoft could get away with when everyone had Windows machines and used Office, but Windows hasn’t been a go-to OS in years, and I’m pretty sure Office is a mainstay mostly because by this point, everyone either has it, or at least has something that can open the files. Microsoft’s utter inability to play nice with anything else is why people feel OK leaving it behind. There are other, non-Microsoft products and services that people like, and that work with everything else. In fact, there’s enough of them out there that people are starting to realize that the only common denominator to these problems is, well, Microsoft.

The most successful stuff out there are the products that work with everything. They work very hard at working with everything. They’re accessible, and users feel confident that they’ll always be there. 1 thing that web apps, phones, and tablets have made clear is that the idea of vendor “lock-in” is dying. It’s too easy to switch physical components to use software that increases the cost of said device switching. If it only runs on 1 particular type of device, or only plays well with stuff made by 1 company, it’s usefulness is limited, and not worth relying on. These devices are largely commodities now, and it’s time the people building the services we use them for start treating them as such.

Why use Apple Maps when Google Maps runs on just about anything? Why pay for a streaming TV box that’s only interoperable with iOS when there are other streaming boxes that work on multiple types phones and tablets? Why use Dropbox over iCloud, SkyDrive, Google Drive? Because Dropbox works and syncs with everything. Why Pandora, Spotify, or Rdio instead of iTunes Radio or Google Music’s streaming service? Same reason, those people are making it easy to play on everything.

I want my stuff to work wherever. That was the promise of web apps, and mobile apps should be the same. In fact, all apps should do the same. Even if it isn’t available on a particular device or platform, at the very least it should be interoperable with that device or platform. Make an open API, or be willing to do whatever it takes to put your app on everything someone might want to access it on. If you’re the only platform that your apps work nicely with, then what reason does anyone have to start using your new thing?

Microsoft, crap like this is why nobody likes you. Your stuff doesn’t work well with anything other than other stuff you sell, and even then, not really. And my response when I encounter this isn’t “I should spend more money on fine Microsoft products so that this crap will behave rationally”, it’s “Stuff from Microsoft is ****, and I should be sure to avoid using them for anything whenever possible.” These days, I’m re-evaluating the software and services I use to try to do things. Maybe I should skip Google Drive for an open document format in Dropbox. I’ve switched my IM client to Trillian because it works on both my laptop and my phone. I’m looking for things that play nicely with everything else, and I’m going with those instead.

By the way, if you have to deal with text from a file that started life as an Office document, and want to find those stupid unicode replacement characters Microsoft has gifted humanity with, write a script that reads the data in as unicode than then look for the hexidecimal “0xEF 0xBF 0xBD” or u”\uFFFD” string. Those are the places where you’ll need to fix quotation marks, apostrophes, ellipses, hyphens, and anything else Microsoft jacked up for the fun of it.

 Posted by at 3:53 AM