Why all development will move to the Mac.

Like many of my friends working as software developers I have noticed a significant increase in the number of fellow geeks toting around Apples rather than MS or Linux based machines. Just attend a local nerding event and you’ll see them, happy looking hackers quietly banging away at a Mac. Why are they smiling? After all hacking is a serious business of creativity by force. An act of the strongest will. Only the bravest need enter as many hours will be spent wrestling with the complexities of your machine in order to bring your ideas to fruition. Are they insane? Have they finally lost it after countless hours of struggling with the latest patch to a Linux driver that just will not work with the wireless card that arrived from Amazon late this afternoon? Maybe they paid extra for next day air because they need to replace their failed wireless card now, and get back to work fast, but it turns out that the manufacture stopped using the wizbang 3.05 and changed to the super-cheap 0.95 chip-set six months ago and nobody outside of the developer of the driver knows how it works. Maybe they’ve tried everything they know to try and gone through the instructions of some guy named Phil, served up from a server in North Korea, that claim to solve the problem but alas no wireless. Or maybe they encountered a blue screen on their MS box, or a program that had to be reinstalled and restarted and debugged to get it to work one too many times. What ever it was it must have been bad because they got an Apple. It’s common knowledge Macs are just cool looking toys. Isn’t it? Until about a year and a half ago I wasn’t sure why these geeks were smiling either.

I must admit I hang with a crowd that tends to lean more toward the Unix end of the spectrum than the Windows end, but in the last 4 years of grad school the number of people that I know using a Mac has gone from 1 to around 20. Why? It’s simple really. Microsoft is the default operating system choice today because in the early nineteen eighties any business that was looking to purchase a desktop computer probably sent a memo to the guy that was in charge of acquiring such things. This guy for many reasons would have been more familiar with a company called IBM, than a company called Apple. Now ask yourself, should the computer this guy bought twenty-five years ago effect the decision you make today? Maybe but only if you’re running the applications that were important to the people that sent those memos. How is this possible? Simple you are a software developer. When you look at any machine you probably think what cool dev tools can I get? Long story short the reason for this involves the geek factor, and your need to express your ideas as quickly and efficiently as possible so they can be executed by the non-coding masses (and that my friends is just a simple reformulation of the programmers are lazy principle). Many geeks are discovering that a Mac lets you do this faster than a PC, and that is the reason for the smile.

Ok, so why does that mean the development world will switch to Mac? It’s really just a simple application of the Trickle Down Geekiness Principle (TDGP), the Super-tech Compatibility Ratio (SCR), the Programmers are Lazy Principle (PaLP), and the Repeated Work is Boring Principle (RWiBP). The TDGP states that ubergeeks have brilliant ideas that attract the participation of slightly-less-ubergeeks, the community refines the idea to the point that even business people (antiubergeeks) recognize it’s potential (in other words they figured out a way to collect cash for it), and this is when the masses begin to follow along (because they are eager to trade in their cash for the latest product/super-tech). It should be noted however that the likelihood of masses parting with their cash is inversely proportionate to the SCR. The SCR is the ratio of other super-techs compatible with the given product to those that are not, of course what constitutes a super-tech is completely subjective so in actual adoption models the super-techs should be made up of those techs that are of the greatest interest to the population that is being modeled. The PaLP along with the RWiBP dictates that the super-tech will not be available for platforms other than the original one, unless of course it is a slightly inferior version that is developed through the efforts of an investment by antiubergeeks, or if the original super-tech was closed source in which case an inferior version will be created by the open source community. So the development world will ultimately adopt the Mac since many ubergeeks (I know at least 20) are now adopting the Mac, as the SCR increases significantly for the Mac and drops for other platforms ultimately the masses will follow. The remaining market will consist only of antiubergeeks purchasing PCs. Any software developed for those PCs outside of Redmond, will likely use a develop to the Mac port to the PC approach that because of the Software Should Get Out of My Way and Work Property (SSGOoMWaW) that is exemplified in the implementation of Mac-OS will likely result in more efficient development cycles despite the porting effort.

Ok, maybe that’s a bunch of bullshit but I’ve definitely noticed a trend among many of my peers, and for the last year and a half I’ve been one of them. I have not used a Windows box since August of 2006 and then it was required for my job, I still snuck my PowerBook in despite the Windows box having a processor that was twice as fast. Why? Twice the processor speed doesn’t make up for a broken workflow that costs on the order of seconds and minutes instead of milliseconds. AKA “It just works.”