I apologize in advance for a post that may turn out significantly shorter than usual, but I haven’t posted anything here in awhile, and my thoughts on this topic are too long to express effectively on Twitter, so I guess that mandates a writeup here.
Edit: Apparently I had more to say on this topic than I thought I did.
A few minutes before I began writing this, a person I follow on Twitter (@arkon) suggested that OSX will soon become iOS. And this is by no means an original thought; it’s a fairly widespread rumor, which is why I now feel the need to debunk it.
I’m not saying these rumors have no basis; the incorporation of many iOS-like features into Lion would indeed seem to suggest such a merger of OSX and iOS. I’m simply going to provide the other side of the story, reasoning why such a thing won’t happen.
The conversation went something like this:
@justindaigle: Leopard -> Snow Leopard. Who wants to bet we’ll go from Lion to Mac OS X 10.8, Mountain Lion?
@arkon: @justindaigle More like Lion Cub.
@justindaigle: @arkon Your reasoning behind that is…?
@arkon: @justindaigle I’m kidding, since it doesn’t seem like it’ll be very powerful, but instead move more towards the simple iOS-like stuff.
@justindaigle: @arkon OSX will never “become iOS.” My explanation’s too long for Twitter, but too short for a blog post, unfortunately.
Ultimately, I’m not satisfied with any solutions between a tweet and a blog post, so I’ll go ahead and explain it here.
Why will OSX never become iOS?
Simple. If OSX became iOS, we wouldn’t have a development environment for either.
Consider how iOS development is done. One obtains a developer subscription from Apple, then develops the application in Xcode on a Mac, then installs the application on his developer device(s).
But what if one doesn’t have a developer subscription, and wants to test the waters of iOS development (using an Apple-provided solution; obviously, the better solution is to bypass the need for a developer subscription by jailbreaking)?
The developer (assuming for the purposes of this post that the developer in question does not jailbreak) would then use the iOS Simulator.
Okay, so where are you going with this?
As it stands, the Apple-endorsed solution for testing iOS code without a developer subscription is the iOS Simulator. What would happen if OSX were indeed to merge with iOS, as the rumors in question suggest? There goes the ability to practice Mac development. If you had to purchase a developer subscription to develop Mac apps, how would you try out Mac development first? Using a Mac Simulator? But what would be the point of simulating a device on that very device? My point is that unless Apple radically changes their policies on iOS development (which they probably never will), it would be completely unreasonable to merge OSX and iOS. As long as the iOS development system remains as it is, iOS (along with its development processes) and OSX, while built on the same Darwin core, will remain radically different operating systems.
Developer tools are a requirement for any mainstream operating system. An operating system is only useful if it can run third-party software. If Apple did indeed plan for Macs to run iOS, this would mean that they would have to allow Xcode for iPad, along with the ability to build and run apps created with it on-device. As Macs would be “just another iOS device,” Apple would have no reason not to at that point. As much as I dream of Xcode for iPad (and Apple’s current “PC-free” ethos being promoted with iOS 5 would seem to support this, as they stated that many people are choosing to buy iOS devices without owning any other computer), I just can’t see Apple ever doing this. I don’t think Apple is going to give up the $99/year fee, or the App Store as the sole iOS application distribution platform. Ultimately, merging OSX and iOS would require Apple to allow the execution of unsigned code on both platforms. While this is the way it’s always been on the Mac side, doing so on the iOS side would require that Apple allow what happens on the Mac side (applications distributed by means other than the App Store) to happen on the iOS side. And believe me, if it were allowed to happen, it would happen. At first, I was somewhat perplexed at the lackluster adoption of the Mac App Store. But developers simply don’t want to fork over 30% of their profits to Apple, and if given another option, they generally will take it. I suppose Apple always has the option of requiring a developer subscription to develop and test Mac apps at all, but I highly doubt this will ever happen. First of all, the enterprise would be extremely unhappy. Many firms have thousands of computers, and if a larger one were suddenly required to have provisioning profiles for every Mac in their organization, just to run apps that for any reason must remain in-house (whether because they contain sensitive internal information; or because the application, while absolutely necessary to the organization, would not be approved for the App Store), an incredibly over-complex situation would result. Furthermore, some developers (like Adobe) will never hand over 30% of each sale to Apple, because it would simply be too much of a loss. And no Photoshop on OSX… err, Macs running iOS, would cause a lot of Mac users, myself included, to seek an alternative platform. So ultimately, if Apple would ever merge OSX and iOS, making Macs just another iOS device, they would be faced with two extremely undesirable options: making OSX more closed, or making iOS more open. And while it seems this is where things are headed, Apple has ultimately come as close to this goal as they possibly can without having to make this incredibly difficult choice.
In summary, Macs will always be Macs, and iDevices will always be iDevices.