I'm sure people will eventually hack the iPhone and modify its contents, just like they've done with iPods and Apple TV. I enjoyed re-skinning my iPod UI in red, and plan to dual-boot Linux on it too. Real OS X devices like Apple TV and iPhone have even more potential for inventing fun new uses that Apple tech support won't help you with 
That said, I see a choice of TWO different philosophies in making such a device:
1. Make a flexible PLATFORM. (Advantage: much larger ecosystem of 3rd-party software. But some of them will crash or work differently from each other in confusing ways.)
2. Make a rock-solid APPLIANCE. (Advantages: stability and interface consistency: it "just works"--the way an iPod does and computers don't always. Any 3rd-party additions go through Apple, so they're small in number but high in quality.)
Both ways DO have their merits. I'm sure most of the public would want #2 in a PHONE, and that's the direction Apple has gone. I agree with the choice. Make a very capable device but NOT a full "pocket computer." Keep it rock-solid, stable and secure, without a hodge-podge of add-ons disrupting the usability that makes an iPhone stand apart from everything else. Without add-on apps failing in ways that reflect badly on the device. And most importantly, with #2 Apple can update the device more quickly and easily, adding new features or tweaking the UI--and even releasing new models or screen sizes--without fear of breaking 3rd-party apps.
However, some of us are willing to accept a little chaos on our phones, and want #1. We DO want a fully-flexible pocket computer, able to do "anything," more than we want top reliability or security. And if the Apple TV is any sign, Apple will allow us to have it! But we'll be on our own, unsupported as we hack the device to our liking. Maybe even installing apps that Apple never approved?
So I'm wondering, technically, how this might be done.
Ars Technica seems to have good reason so speculate that the processor(s) in iPhones are ARM, possibly by Samsung, but not XScale. (Anyone have newer links with more info? That's the best I could find.) In other words, OS X (in some form) has now been ported to run on THREE different chip architectures--as best we can guess right now.
ARM is neither PowerPC nor x86 compatible. So as I understand it, current Mac apps CANNOT possibly run on an iPhone even if you hacked the unit to get the files installed. No matter whether they are PPC, Intel, or Universal, they're not compiled for ARM and will not execute (short of adding slow emulation software). Apps would have be PORTED to iPhone and a new architecture. Am I correct?
And without source code, you can't port or recompile--so we can forget about adding existing apps unless they're open source or the app's DEVELOPER chooses to make it happen, right?
But in cases where source code IS available, I'm wondering what would be needed in order to port an app to iPhone and ARM?
What would the tools be? Would we need a custom ARM-ready version of Xcode that only Apple has? I'm interested in any theories.
I'm guessing we'll only see two kinds of iPhone apps:
A) Apple-approved, Apple-guided, Apple-tested. Not necessarily all BY Apple--iPod games aren't--but probably all sold through Apple, and maybe some included free with periodic software updates.
B) Open-source projects for hacked iPhones. Because selling a COMMERCIAL product for a hacked, unsupported platform sounds like asking for trouble--it could break with any iPhone update, with no recourse.
Assuming the chip(s) are ARM, I'm wondering how easy B will be. Any thoughts?
That said, I see a choice of TWO different philosophies in making such a device:
1. Make a flexible PLATFORM. (Advantage: much larger ecosystem of 3rd-party software. But some of them will crash or work differently from each other in confusing ways.)
2. Make a rock-solid APPLIANCE. (Advantages: stability and interface consistency: it "just works"--the way an iPod does and computers don't always. Any 3rd-party additions go through Apple, so they're small in number but high in quality.)
Both ways DO have their merits. I'm sure most of the public would want #2 in a PHONE, and that's the direction Apple has gone. I agree with the choice. Make a very capable device but NOT a full "pocket computer." Keep it rock-solid, stable and secure, without a hodge-podge of add-ons disrupting the usability that makes an iPhone stand apart from everything else. Without add-on apps failing in ways that reflect badly on the device. And most importantly, with #2 Apple can update the device more quickly and easily, adding new features or tweaking the UI--and even releasing new models or screen sizes--without fear of breaking 3rd-party apps.
However, some of us are willing to accept a little chaos on our phones, and want #1. We DO want a fully-flexible pocket computer, able to do "anything," more than we want top reliability or security. And if the Apple TV is any sign, Apple will allow us to have it! But we'll be on our own, unsupported as we hack the device to our liking. Maybe even installing apps that Apple never approved?
So I'm wondering, technically, how this might be done.
Ars Technica seems to have good reason so speculate that the processor(s) in iPhones are ARM, possibly by Samsung, but not XScale. (Anyone have newer links with more info? That's the best I could find.) In other words, OS X (in some form) has now been ported to run on THREE different chip architectures--as best we can guess right now.
ARM is neither PowerPC nor x86 compatible. So as I understand it, current Mac apps CANNOT possibly run on an iPhone even if you hacked the unit to get the files installed. No matter whether they are PPC, Intel, or Universal, they're not compiled for ARM and will not execute (short of adding slow emulation software). Apps would have be PORTED to iPhone and a new architecture. Am I correct?
And without source code, you can't port or recompile--so we can forget about adding existing apps unless they're open source or the app's DEVELOPER chooses to make it happen, right?
But in cases where source code IS available, I'm wondering what would be needed in order to port an app to iPhone and ARM?
What would the tools be? Would we need a custom ARM-ready version of Xcode that only Apple has? I'm interested in any theories.
I'm guessing we'll only see two kinds of iPhone apps:
A) Apple-approved, Apple-guided, Apple-tested. Not necessarily all BY Apple--iPod games aren't--but probably all sold through Apple, and maybe some included free with periodic software updates.
B) Open-source projects for hacked iPhones. Because selling a COMMERCIAL product for a hacked, unsupported platform sounds like asking for trouble--it could break with any iPhone update, with no recourse.
Assuming the chip(s) are ARM, I'm wondering how easy B will be. Any thoughts?