Shared publicly  - 
I nearly wet myself. Such a great read.
Why I'm Not Supporting OS X

TL;DR version: OS X is so fragmented it makes my colon hurt.

There's been a lot of pressure on me to bring some of my very successful iOS apps to OS X. I was totally planning on doing it. Gotta give my fans what they want, right? Then I was looking around the online Apple Store. Did you know they had that? Personally I never miss a chance to visit an Apple Store in person. I feel like a vegan Buddhist visiting the Sistine Chapel. I guess the online thing is there for people in 3rd world countries like Kansas that might not have an Apple Store on every block yet. But I digress.

So I'm browsing the online store. Do you realize that you can get a MacBook Air with two different screen sizes? The MacBook Pro is available in three different screen sizes! Get this, the MBP and MBA are both available with 13" screens, but they are different resolutions!!

But wait, it gets worse. Apple also sells desktop Macs for some reason. They have iMacs, but these come in two different screen sizes! Fine. They also have Mac Minis and Mac Pros that don't have a monitor. Even worse, they let people plug whatever monitor they want into those things! I've heard horror stories of people plugging in multiple monitors. I'm not making that up.

This kind of fragmentation is unimaginable. I assume that asshat Tim Cook must have come up with all of this and stealthily released this army of madness once The Great One had passed from this plane. There's no way He would have put up with this crap.

So that's it! Sorry kids, but I just can't afford to support such a fragmented ecosystem. To do so would require me to buy one of each of these devices so that I could test on them and make sure my apps are just magical as they are on iOS. That's just too expensive and time consuming for it to be profitable.
Jean-Baptiste “JBQ” Quéru's profile photoAnuj Ahooja's profile photo
And that's nothing.

There are the different versions of OSX that don't all have the exact same APIs, and between which the behaviors of private undocumented libraries varies.

There are different CPUs that don't all implement the same instructions.

There are different GPUs that don't have the same functionality and performance characteristics.

There are machines that don't have the same number of CPU cores.

The storage characteristics vary between devices, in terms of sizes, of performance, and of number of distinct volumes.

The input peripherals change as well, sometimes with mice with different numbers of buttons and different scroll wheels, sometimes with trackpads that may or may not support multitouch. Not all keyboards have the same numbers of keys. Don't even get me started about game peripherals.

There are plenty of system settings and 3rd-party apps that can change the behavior of the system so that applications might need to adapt.

It's a miracle that anyone manages to ship any application there. Oh, wait, no, that's just regular software engineering.
Add a comment...