Filed under: Analysis / Opinion, OS, Rumors, Leopard, Developer, iPhone, iPod touch, Snow Leopard
Is the future of Mac...the iPhone?

I was chatting with my TUAW colleagues this morning about Mac versus iPhone programming. And as per usual with these conversations, we veered in the direction of unfettered speculation. It's an occupational hazard.
As someone who regularly develops on both platforms, I declared that the iPhone represents the future of Mac programming. The iPhone, I posited stated, offers a great new platform without the need to be fully backwards compatible like the Mac. Our own Victor Agreda challenged me to back up that position. After a bit of time and thought, I decided to do so in this post.
My key point is this: Apple's engineers have learned a lot of important design lessons during the history of OS X. When the iPhone debuted, it gave those engineers the chance to rebuild an OS and an API from the ground up. Those engineers could craft a platform and its libraries that built on the Mac's successes without dragging along its less fortunate design decisions. Yes, there were some lemon frameworks that initially made the grade, but over time, Apple has reduced their number.
Even now, Apple continues its iPhone design process, adding new frameworks and APIs at a prodigious rate. The iPhone OS remains a work in progress, developing in ways and directions that the initial release two years ago could not have anticipated. And Apple does this, knowing fully that the closed platform allows them a great deal of design freedom that would not have been possible on the open Macintosh.
Whether you're working with buttons, menus or simple text views, the iPhone development approach simply works better: beautiful 2.0-style properties, consistent API design, better-thought-out object inheritance trees, and so forth. With the iPhone, you see a great new platform evolving without the need to be fully backwards compatible
Snow Leopard, with its minimal API changes has bought the Macintosh a few years of stability. But I think it's time for Apple to rethink the platform as a whole, re-imagining its API through the lens of current iPhone OS development. While Snow Leopard offers Apple the room to stay still for now, I can see Apple moving forward in a separate engineering effort to Cocoa Touch Mac, a hypothetical cross-platform OS that supports general development on iPhone and future Mac devices like my imaginary snow-princess-rainbow-pony-iTablet.
The ghost of NeXT-past, as TUAW-colleague Joachim Bean puts it, still haunts us. It's time to exorcise the unhelpful bits of that pervasive spirit and usher in the new age of the iPhone and its API design examples. Mac OS X is, and has been, a superb development platform. What I'm suggesting is that iPhone OS might just be a better one.


![TUAW [Cafepress]](http://www.blogsmithmedia.com/www.tuaw.com/media/tuaw-cafepress-promo.png)


Reader Comments (Page 1 of 2)
colouroflight said 3:36PM on 9-15-2009
So what you're saying is that real open computing is dead, and all we're going to be left with is sanitized, proprietary, locked-down, cloud-based crap?
Ugh.
Reply
swimtedswim said 4:03PM on 9-15-2009
http://www.engadget.com/2009/09/15/apples-grand-central-dispatch-goes-open-source-get-at-those/
Bones3D said 6:31AM on 9-16-2009
Actually, that may not be too far off from the mark, especially when you look at the direction the game industry is headed. We're quickly moving away from the point where we actually own our computers and software, and will instead be paying for subscription access to a centralized service for everything.
I'm not really looking forward to it myself either. But there is potential benefits to be found. For example, within a cloud, software performance won't be dictated on the condition or configuration of the end user's computer. Instead, a simple "one-size-fits-all" distribution model becomes viable. There would be only one configuration to cater to, since the connected users wouldn't impact the cloud itself. Updates would also apply instantly the moment they're released, only needing to be tested within the context of the cloud itself.
Also, now that the computer industry has gone from a race to higher processor speeds every 18 months to an "it's good enough, make it cheaper" attitude, it makes cloud computing that much more relevant in the grand scheme of things. (And that's not even counting those with a vested interest in seeing a closed, DRM-friendly cloud setup become reality...)
mp3 said 3:49PM on 9-15-2009
That seems to be the ideal with apple to make more money!
Reply
ljbad4life said 3:51PM on 9-15-2009
If macs become anything like the iphone closed crap. I am gone! Apple has done a great job of keeping the amount of permutations of different hardware to a minimum. Evey couple of years the old generations of macs get excluded anyway. Every change in chipset means the previous one gets left out.
Reply
JKT said 3:52PM on 9-15-2009
I agree that the iPhone represents the future of Apple programming. But I disagree that the Mac OS X code base will be abandoned. I believe the two will (and in fact have been) converging not diverging. Snow Leopard is Apple's first big step in leaving behind old code (in this case PPC). I conjecture that the iPhone OS will get the next big change--resolution independence so it can run on the tablet and work towards running on any hardware. Apple will continue to add frameworks to each that not only echo the others' functionality but use the same calls/parameters. The point being that your Mac code and your iPhone code will be less and less dissimilar so that you'll eventually develop for one platform not two. It's probably taxing Apple to maintain two huge OS codebases and engineers there are probably eager to just have one to debug and test.
Reply
EMoShunz said 8:28AM on 9-16-2009
i came here to type that comment... less elegantly, of course. well said. and with 10.6, you're right, it just proves that even though code can be revolutionary, it has to maintain it's evolution as well. at least for a few years past that revolution.
DeltaNick said 8:05PM on 9-15-2009
Interesting and thought-provoking article. However, I kind of disagree because the iPhone is limited, compared to the Mac. It may be a mini-Mac, but it's a somewhat crippled Mac.
But here's something else to think about: I would like to see iPhone apps become fully-accessible Widgets on the Mac. Hey, the icons are already pretty much identical, and they're both OS X. Why have two formats (Mac Widgets and iPhone apps), when one will do? Besides, the "Widget" today is not very useful. I use it to check the ink levels in my printer cartridges, and that's about it. I can do everything else in regular Mac mode without having to resort to RAM-hogging Widgets. Now, if iPhone apps were also Mac Widgets, that'd REALLY be something.
Reply
Shunnabunich said 7:07PM on 9-15-2009
So many iPhone apps rely on finger-based input (including multiple simultaneous touch points in specific locations) and accelerometer input that it would have to be up to the developer to choose whether or not to allow "widgetization" of an app (i.e. desktop Macs have no Sudden Motion Sensors, and even Mac notebooks' multi-touch trackpads aren't geared towards direct finger manipulation, but rather gestures). That does point out an interesting parallel between iPhone OS and Dashboard, though: dismissing the Dashboard layer is a lot like pressing the Home button.
The Evangelist said 9:49PM on 9-15-2009
I would have to agree that iPhone apps are too optimized for the iPhone to have them be used on both platforms. Also, you have to consider what Apple's standpoint would be: if they let app store apps run on OSX, that would give some users one less reason to buy the iPhone.
Instead, it might be interesting if there were a store for apps just for OS X. Sure, you might say "Apple is just trying to cheat the developers," but an app store for OS X would give the developers that would otherwise go unnoticed or that would have trouble setting up a store the ability to sell their app.
Liberty For ALL! said 4:11PM on 9-15-2009
NEXTSTEP was pretty awesome -- no haunting at all! I am still wishing Apple will bring back NEXTSTEP's contextual menubar menu with detachable panes -- I don't see why we can't have that option at least!
Reply
e-man said 2:37PM on 9-16-2009
How true !! Why o why is it gone ?
Darren said 4:18PM on 9-15-2009
I disagree.
The history of NeXTSTEP, OPENSTEP, and Cocoa has always been about refactoring and re-design.
Big Cocoa has been and continues to be a "design in progress" as much as Cocoa touch, or NeXTSTEP for that matter.
When I first started serious OS X development the most surprising thing to me was just how much Cocoa changes between major OS releases. There's no reason to think that the best parts of Cocoa Touch will filter down to Big Cocoa, and vice versa, while ultimately maintaining compatibility. And there's no reason to think that Apple won't continue to deprecate and replace older Cocoa and Carbon APIs with modern, re-designed equivalents.
Reply
pika2000 said 4:34PM on 9-15-2009
Well, maybe the future that Steve Jobs want as he's a control freak, and Apple gets a cut for every app sold in the App store.
I don't think we will see the Mac going away anytime soon. However, I'm sure we will see the iPhone OS ecosystem thriving even more, and for a CE device, the iPhone OS can be "good enough" for portable computing.
Reply
WS said 4:38PM on 9-15-2009
"The iPhone, I posited, offers a great new platform without the need to be fully backwards compatible like the Mac."
Oh brother. What's the premises of your argument? It's a great, new platform? To support the conclusion that it doesn't need to be fully backwards compatible like the Mac? My critical thinking 101 prof would throw chalk at you in a heartbeat.
"I pointed out" is what you're looking for here. To posit something... no, you know what, go read a dictionary. Then learn the structure of a formal argument, that is, if you are going to use formal terminology... if not, stick to "every day" speech, you'll sound a lot less pretentious.
The rest of the article is, sadly, just as weak as your "formal" writing skills. Macs aren't iPhone, and iPhone aren't Macs. The product itself, it's capabilities, and the environment it is being put to use in differ greatly. The iPhone isn't Mac OS X 2.0 and I wish myopic programmers and zealots would drop that comparison.
Furthermore, what do you mean "fully backward compatible?" Backward compatible to what? The iPhone OS is a relative infant. OS X is a senior citizen in comparison. By that very virtue, your point is made, but your argument is ultimately juvenile, telling us nothing that isn't blatantly apparent:
1. New operating systems don't need to be backward compatible
2. iPhone OS is a new operating system
C. iPhone OS doesn't need to be backward compatible.
Valid? Sure. Does it tell us much? Absolutely not, nothing. All you've shown is the iPhone is a new OS and new OSs don't need to be fully backward compatible. Trivial is generous.
Reply
AGS said 5:20PM on 9-15-2009
Obviously you don’t know what your talking about seeing as you don’t even know what point you just proved at the end. You are also obviously not a software developer, and hence not the intended audience of this article. Hence you must just be out to get your trolling license. Good job and let the grown ups discuss.
sodapop said 6:40PM on 9-15-2009
LOL - loved the the whole, "No go look it up..." That was awesome. I have to agree with the points you made, especially "Macs aren't iPhone, and iPhone aren't Macs."
However... what I think the author is touching on is that _users_ are different today. That the iPhoneOS is enough or appropriate for how user are using computers. I have been using Macs since the beginning - since the Apple IIe, actually. Back in the day we need this flexible computer. In fact the main gripe PC users had is that the OS wasn't flexible. Jobs came ack into the pictured and proved flexibility wasn't important. Reliability and ease of use are...
I have also been a desktop and tower user for years. Then the I bought a used Cube - then the Mac mini came out and I discovered I didn't need a desktop or tower so now I primarily use the laptop - MacBook Pro. And then I bought an iPhone.
Where I am at today is I need is a 6"x9" iTouch with a mic, speakers and web cam. Netbooks are extremely appealing, but they aren't Macs. Tablets are even more appealing...
Sure, I need the laptop for work, and that's OK. But for the rest of my life give me an oversized iTouch. And that's where I think this guy was going. The iPhone OS is enough for the casual user therefore the lack of headache of legacy apps etc makes it ideal for catering to the casual computing users.
Mot to ignore that Adobe, Google, and MS are making software desktop suites nettop suites. Soon and iTouch is all we will need.
What I think Apple might consider is somehow adapting OSX to run iPhone apps. I have no problem with Apple as a software middle man (but I also own stock in the company).
*
It would be ultra cool if Apple started a green initiative that ported the iPhone OS to G5, G4, and G3s so we can convert/revive our beloved legacy hardware in to netbooks. I'd pay $129 for that (and online apps).
puhsitch said 12:58AM on 9-16-2009
I'm no programmer, but I think the article is ultimately saying more than the fact that iPhone has a new operating system.
What I took from it was that Apple has a unique learning opportunity stemming from the development and success of the iPhone OS -- in that from a programming standpoint, it may benefit from stepping outside of the box to conceptualize OS X in ways that are similar to how it conceptualizes the iPhone OS.
danieldezago said 1:04PM on 9-16-2009
Since most of your response has already been addressed, I thought that I would point out some issues with your own writing.
"Macs aren't iPhone, and iPhone aren't Macs." - Since most of your comment revolved around exposing this article as shallow drivel that did not reveal anything not painfully obvious, it might be in your own interest to not do the same thing. Also, if you read the article it was more about the actual operating systems rather than the hardware, a comparison that you actually failed to make here.
"Then learn the structure of a formal argument, that is, if you are going to use formal terminology... if not, stick to "every day" speech, you'll sound a lot less pretentious." - It does not make sense that first you reference formal argument structure and then reference formal terminology since they are not parallel. Certainly they each work best when used together, but one is content and one is structure. You should not switch your focus in the middle of a sentence or you will end up talking about hardware when the article was about operating systems. Also, for someone who can not seem to keep a focused argument going himself, it does seem ironic that you use the word pretentious so pretentiously.
"The rest of the article is, sadly, just as weak as your "formal" writing skills." - If you read blog posts expecting truly formal writing, then you sir are hereby banned from the internet for not understanding anything.
"The iPhone isn't Mac OS X 2.0 and I wish myopic programmers and zealots would drop that comparison." - Since most programmers would not include themselves in a broad generalization such as the one which you painted, it should be fairly safe to assume that you are not a programmer. I do believe though that in this instance you used the word "myopic" incorrectly. Myopic actually infers the lack of imagination, foresight, or intellectual insight, which in this instance would be the exact opposite of someone who is imagining the convergence of two different development platforms. Finally, I believe that you actually meant OS XI (Apple could also abandon the roman numeral and make it 11) since that would be what comes after X.
I could continue but I am tired of this conversation, it is silly. Come back when you have a better understanding of formal argument, can structure your sentences accordingly and after you have actually used words appropriately.
Typical Engadget Tech-Nerd said 4:58PM on 9-15-2009
The iPhone platform will continue to evolve and once the hardware is powerful enough, Apple will allow more things to be done with the OS. As long as most of the non-tech users are happy with the iPhone OS, the iPhone platform will continue to merrily roll on along grabbing more users into the fold. All the people that are dissatisfied can go migrate to Windows Mobile or Android which seems fair enough.
All this stuff about the iPhone's closed ecosystem ruining the platform is nonsense. Only tech-nerds are saying this crap. Most non-tech iPhone users are more than satisfied with the iPhone's so-called limited capabilities. The iPhone OS is still relatively young and there's plenty of room for improvement over time. Considering the short time it's been around, I think the iPhone platform is progressing relatively quickly. Apple is wise to place restraints on it to direct it's growth and stability.
Reply