Thoughts about computer system platforms

You could also title this one “Apple vs Microsoft vs The Linux Community” or “OS X vs Windows vs GNU/Linux” if you like. Or you could just call it “Users vs their computers”.

Because, ultimately, it does not really matter which platform you choose: They all plainly suck.

Mac OS X probably is the aesthetically most compelling of all available alternatives. This is not only because of the software, but also because the software only runs on a very small range of equally beautifully designed hardware that completes the experience. You have a beautiful machine with beautiful-looking software on it; everything fits together visually and emotionally. This is no rational experience and it has nothing to do with getting a job done. It is feeding one’s lust for beauty.

As most other beautiful things on this planet, it all comes at a price. Apple is as much an American corporation as Microsoft, and both want to control their user base and continuously milk their cash cows. Apple is not your friend, and neither is Microsoft.

In many aspects, Apple is even worse than Microsoft. They want full control over their platform, and they are even afraid of third party developers who write software for their platform. Microsoft knows that software developers are probably their most valuable customers, because the more software for their platform exists, the more people it will attract and the more they will be locked-in to that platform. I would call this a “share and rule” approach. It is what the old Roman Empire used to do, and it was a smart and successful strategy. The problems for the independent developers begin in the very moment they create something that competes with a product from the Empire. Once you’ve woken up the machinery in Redmond, they will crush you under their thumb like a bug.

In contrast, Apple is the artist who is too much in love with himself and jealously watches over its creations. If you want to use an Apple product, they want you to use it exactly as they’ve designed it, otherwise you will most likely run into gigantic obstacles. Just try to copy an mp3 file that you have not bought from the iTunes store from an iPod back to your Mac or PC and you will know what I mean. You cannot do it with Apple’s own iTunes software, but you can do it on GNU/Linux with Banshee, Amarok or other software.

Apple’s message here is as clear as it gets: “Don’t think for yourself, just do as you’ve been told. And pay for that subscription, will you!”

If you dare to criticize the teachings of the Church of Apple, either its zealots will be over you quicker than you can think or if you made your statements publicly and loud enough, Apple’s lawyers will come after you. Apple does not have a user base, they have a fan club and groupies that are dangerously close to being a sect.

Which leads me to the GPL zealots and the GNU/Linux community, because they are very similar in their ideology. Closed Source Software is evil, as are software developers who dare to ask for money for their work. Microsoft, of course, is Evil Incarnate (C) (R) (TM). And everybody who dares to criticize the many shortcomings of the GNU/Linux systems first hears an answer like “there’s the source code; go fix it yourself” or gets vigorously flamed.

The only impartial user community that I’ve met so far is the one behind the FreeBSD project. The people there are usually open-minded and helpful and lack any religious or ideological zeal.

So much for the more abstract reasons to choose or refuse a platform.

On the more technical and practical side, things are much simpler.

Running an Apple system gives you the advantage of being able to legally run all operating systems that are available for x86-, x64- or PowerPC-platforms. That is not a technological issue, but just a side-effect of the Apple license agreement, which might not even be legally binding in many countries. Apple wants you to run OS X on Apple-branded hardware only. Of course, in their marketing they sell this as a ‘superior’ feature of their hardware. Personally, I like Apple hardware for aesthetical reasons, their relatively low power consumption and all the engineering that obviously went into it. I run Macs at home with OS X as the main system and an iMac at work with Windows Vista on it. I’d probably buy Apple hardware even if I could legally run OS X on a cheap custom made PC – that is, as long as I could afford to pay for the premium price tag that comes with Apple products.

But at the end of the day, neither the hardware nor the operating system platform are as important as the application software that the user wants to run on them. People use application software, not operating systems.

It does not matter how beautiful or great the operating system of your choice is when the software that you need does not exist for it or if the choice of available software for a specific purpose is inferior to the choice available for a competing platform. If, for example, you really need Adobe Photoshop, choosing GNU/Linux or FreeBSD as your platform does not make any sense at all, because Photoshop is not available for those systems. (And, no, The GIMP, as great as it is, does not count. First and foremost, I said ‘if you need Photoshop’. I was not talking about possible alternatives. There are many reasons why somebody might need one specific application, and not a competing product. Secondly, The GIMP comes nowhere near the feature set of Photoshop or its acceptance in the industry.)

If you are into digital RAW photography, you will probably need software like Lightroom, Aperture or Lightzone. My personal preference here clearly is Aperture, mainly because of its dual-display support, and with that decision I enter a vendor lock-in with Apple. It only runs on Macs, and that ends the discussion. The other options give me at least the choice between OS X and Windows, and Lightzone once even had a working GNU/Linux port, though I don’t know if it is still under development or somehow supported.

Usually, most things that are not enterprise software, which normally is Windows-only, exist in one or the other form for both OS X and Windows. On GNU/Linux, the choice is much smaller and you have to look very carefully if you find suitable software for your needs. I usually run out of luck here quickly. GNU/Linux is a great platform for software developers and geeks, but it is not a good platform for advanced users whose requirements go beyond the domain of a web browser and a simple office suite.

When I work on literature, I do not use crappy word processors like Microsoft Word or openOffice Writer. I use tools like Scrivener or Montage. Which, by the way, only exist for OS X. I have not found software like that for either Windows or GNU/Linux.

When I create music, I use software like Ableton Live, Logic Express, Soundtrack Pro and Propellerhead Reason. Half of that does not exist for Windows, but could be substituted. On GNU/Linux, you’re simply out of luck.

When I want to write software, things become more complicated again, and I have written about that in an older posting. In short: When you do not follow Apple’s teachings and stick with Objective-C and Cocoa, OS X sucks as a software development platform. When you want to make a living as an independent software developer, you will probably find that GNU/Linux sucks as a commercial platform for you. The richest set of programming languages, tools and working business models exists for the Windows platform.

When you want to play games, do yourself a favor and forget about computers in general. The time for the gaming PC is over and consoles now offer unbeatable gaming power for only a few bucks. Go and buy yourself a game console. You can have all of the current consoles for the price of a typical gamer PC, so if you have the budget, the question is not which one to buy, but rather in which order you want to buy them. If you can only afford one console, it’s the choice of available games for each type that will make the decision for you. For me it was simple: Almost all the games that I was interested in were available for the Xbox 360, and some of them are exclusive titles. There’s only one game on my shopping list that’s an exclusive PS3 title, and for the Wii there is nothing there that catches my eye. Your mileage will vary, so take a look at the shelves before you buy the box.

Back to computers. Let’s talk a bit about the so-called TCO “total cost of ownership” or how thick your wallet needs to be on the long run. Now, that again is simple.

The most expensive platform will be the Apple Macintosh. Their beautiful and well designed hardware comes at a price which is worth paying, and their software basically comes as a subscription model if you want to stay current. They release a new pay-for OS upgrade every 18 months, along with an updated pay-for iLife and pay-for iWork release. And that is just the basic stuff. You will also pay for a ton of shareware products to make the platform usable. On Windows, you will probably find Freeware for most little things, and an GNU/Linux, almost every little tool is available as cost-free open source software. Zipping files for example is something that you can do for free on Windows, either via the functionality built into Windows Explorer or via the Freeware Filzip. On GNU/Linux, naturally stuff like that is built into the file managers as well. On the Mac, if you want to use a GUI tool, you will buy StuffIt for that purpose. That was just one example, and the obvious difference is that on the Mac you buy while on the other systems you can get it for free. That is why some people on the net wrote that ‘the Mac is a rich man’s platform’. Just google for it, you will find the blog and many surrounding discussions. Personally, I think the statement is true. Unless you freeze your software environment, running a Mac will eventually cost you a lot more than running any other platform.

The second most expensive platform will be Windows. Microsoft’s innovation cycles are much slower than Apple’s, which in this case might be a good thing for the user, because the costly upgrade cycles occur on a rarer basis. Because of the richer freeware environment for Windows, many tools can also be obtained free of charge. But you still have to pay for the base software licenses, of course, and also for all the third party software that you might need. Don’t forget to buy an Anti-Virus software. (Actually, this is just an old and bad joke. Mac and even Linux users should also buy a good anti-virus product. Their systems are safer than Windows, but not fool proof.)

In the GNU/Linux (and FreeBSD) world, software usually is open source and can be obtained free of charge. You will pay for it not with money but with your time and energy to get everything up and running. The world of open source software was made for software developers, not users. Things that most geeks will try to sell you as easy and cool in real life are exactly the opposite for most users. You don’t want to get through a configuration orgy to get your external display to running, or fiddle around with magical firmware files to get your wireless LAN card operational. You do not want to type in magical commands on a command prompt. The open source world has made a lot of progress in the last 15 years, but they are still not there, yet. And after 15 years, even a dynamic platform like GNU/Linux can already be described as a legacy system, not as something so new that one might still be forgiving. A user also does not care whose fault it is that his hardware does not work. Users don’t care if it is the ‘evil proprietary company’ that does not hand out the necessary specifications to the developers. Users want to use applications. They don’t care for that kind of rubbish. And since for more than ten years now everybody is talking about ‘the year of the Linux desktop’, it would be about time that reality catches up with the hype.

So where are we after all that ranting? We’re back at your needs and requirements. First think about what you need, then look what applications will get you there in the way that is best for you. Whatever platform has that choice of applications is the platform for you. It does not matter who stole which user interface idea from whom (they are actually all copying each other). It does not really matter for your personal success whether you can get the source code of the software that you are using or not (on the long run, it would be more important to have a fully documented file format at your disposal; you’d only care for the source code when the supporting company goes out of business or stops developing the product).

The only thing that matters is that you get your job done, and that is a very individual criteria. There’s no magic bullet, and one size does not fit all.

Do not use copy protection in your software

Every once in a while the discussion about how to protect your software against illegal copies pop ups on indie developer forums. Over time, I have developed the following opinion about copy protection:

People who want to steal your software will steal your software. Like all other people paranoid about illegal copies, the developers who implement rigid copy protection mechanisms are only punishing their paying customers.

Here’s what I think software developers should do: Just don’t worry about illegal copies. You cannot avoid them. Serial numbers and license certificates are ok, because that is an acceptable symbol, like giving an ignition key to the customer. Nobody has a real problem with that.

But everybody has a problem with copy protection and otherwise crippled software, because it is always user-unfriendly. The only smart copy protection system that I have ever seen was used by INFOCOM, the company that brought us the legendary text adventures games in the late 70s and early 80s. Their games shipped with so-called “feelies”, physical objects that resembled an important virtual object in the game and that contained certain information that the player needed to solve the game. That was a very smart approach, but, of course, it can only work for few types of software.

My simple advice is: Make life as easy and comfortable for your paying customers as possible. You want them to be happy with your product and you want them to return to your shop and purchase more of your products. But that is not going to happen if you treat them as suspects, as for example the movie and music industry does.

I am sick and tired of DVDs that don’t let me fast forward through the “license agreements” and company title screens, and to the same degree I am also sick and tired of software that wants to be activated and that can only be activated two or three times or that installs malware disguised as drivers on my computer. The worst part is that we actually have to pay for being treated like this. I believe in paying people for their work, because I also want to be paid for the work that I do. But people who download illegal copies of software and movies from file sharing networks don’t have that kind of negative experience that paying customers have. Their DVD players won’t show copyright notes that they cannot skip. They won’t have to call a bored and uninterested tech support person because the online activation failed or the copy protection “driver” of their new game disabled their DVD writer software.

It is just the paying customer who has to suffer through all this, and I think something is terribly wrong with that picture, because the common practice rewards those who steal and punishes those who pay.

There are still people out there who want to pay for your product. Focus on them and make them happy, because these are the people whose money will pay your bills.