What this analyst is overlooking, and what everybody else seems to be overlooking as well, is that this is a first generation product that will undoubtedly spawn a wide variety of different models with varying features and price-points in the 1-2 years after the debut of the first model. I would be very surprised if we don't quickly see models that address many of the "shortcomings" of the first version. Apple has already stated that they will upgrade to 3G sometime in early 2008, and I'm sure many other features and configurations will eventually be unveiled. Probably a model that is a Phone but NOT an iPod, for example. Wouldn't need so much flash storage, wouldn't be as much of a battery drain, etc. Also probably a next-gen iPod that isn't a phone. And so on......
More crucially, does anybody honestly think that Apple intentionally built this phone using OS X, indeed marketing it as such and going so far as to specifically refer to Cocoa in various places, just so they could have a set-in-stone set of features only provided by Apple? Come on! Just because they haven't publicly disclosed the details for extending iPhones with third-party software is no reason to assume they aren't planning on making that possible for all time. It may never be possible to do with the first version, although from what I can tell, there isn't any architectural reason why the software on the first iPhone couldn't be upgraded to facilitate installing third-party apps once that capability is announced in general. It isn't like the OS is burned into a ROM never to be changed. It's essentially Mac OS X, modified, on a flash drive. So, if we read between the lines, clearly there is no technical obstacle to installing third party software, and the iPhone is simply too robust a platform NOT to be able to install third-party software. To not allow any third-party software, ever, would be an enormous waste, and Apple just isn't that stupid.
There are probably a few specific technical issues that Apple needs to resolve before it can announce third-party software capability. First, they would need to establish clear programming guidelines for issues that would be moot on a regular Mac, such as how a program utilizes resources and how it affects battery life. A normal desktop application would operate in a way that would be horribly wasteful where battery life is an issue, so applications would need to be engineered in a way that specifically addresses this issue by minimizing what things they perform in the background constantly that would cause a steady drain on the battery. It's basically a task and resource management optimization issue. Apple probably hasn't gotten all of this completely figured out itself, and needs to get all of that ironed out. Once those sorts of technical issues are completely resolved, they would need to produce an SDK and user interface guidelines, establish a separate developer structure specifically for iPhone development, and basically lay down a lot of infrastructure that doesn't exist yet. Sure, a lot of basic infrastructure would be the same as with Macs, but the crucial iPhone parts don't yet exist at all in any public form. All of this takes time to organize and execute, and Apple is probably more focused on finishing the basic model in time to ship it.
Eventually Apple will have a developer plan for iPhone development and all of the necessary infrastructure and documentation and SDKs. How soon, I can only guess. Probably sometime within 12 months of the first iPhone's release. Perhaps much sooner. Once all of that is in place, it will be child's play to write custom applications for iPhones and install them.
Steve Jobs remarks about being too worried about stability and the integrity of AT&T's network is a laughable cover story. It wouldn't say very much about the stability and robustness of OS X if you then tried to maintain the position that an OS X based phone would be too vulnerable to compromise or failure simply because of a misbehaving third-party application. On Macs, doesn't that usually, worst case, result in the bad application just shutting down? When was the last time a messed up application hosed the whole system? (Excluding drivers and kexts and so on, types of code that no third-party end user application would have any reason to use)
Really, the only thing to think about is simply how Apple will choose to implement all of this from a user perspective. What would be the mechanism for installing or removing applications? Where would you obtain them? Etc. While I'm not personally thrilled with the ever-expanding use of iTunes as the tool for accomplishing everything, its highly probable that Apple will continue doing what they are already doing with third-party games on iPods. iTunes will govern everything related to getting the software onto the iPhone.
Ok, so I'm too wordy. Here is what i actually predict is going to happen:
Apple will announce that it will, after all, be possible to put third party software onto iPhones. They will announce all of the documentation and developer programs that any interested parties would need to follow. And overnight you'll see a a massive stampede for all kinds of companies to produce third-party iPhone software for every conceivable task.
I believe that these programs will ONLY be available through the iTunes Store for purchase (if they aren't shareware / freeware), downloading and installing. I believe that Apple will have a fairly rigorous process of testing or certifying these applications before they are ever made available to users, to ensure that they are stable and that they conform to the user interface conventions that Apple will undoubtedly be enforcing very strictly. All of this development and testing will happen through an iPhone developer process, so you won't be able to just write something and get it into your phone without it making its way through the formal process. I don't think there will be any significant obstacle to anybody doing this -- possibly some developer membership fees, probably not prohibitive, but which would have to recover the cost of conducting the testing and certification that doesn't happen for Mac software in a centralized fashion. But whatever apps somebody chooses to write, they would just go through this process and eventually show up in iTunes. Once they show up in iTunes, the process would probably be identical to iPod games, you would just check some boxes in your iTunes syncing setup to select what you wanted to install.
I also think that Dashboard widgets are going to play a HUGE part in all of this. While some programs will simply be too complex to implement as a widget, and would consequently be written as a conventional Cocoa application, many many many programs could be implemented as widgets -- indeed, that might be the very best way to do so, and certainly the easiest, quickest and cheapest. So I expect to see widgets for an almost limitless variety of functions. I strongly suspect that the iphone was a key factor in the whole reason why Apple even produced Dashboard to begin with. They have been working on this phone for a long time now, and I'm certain that Dashboard was conceived with an eye towards iPhone app development long before the iPhone itself was ever announced.
The one area I can't quite predict where or how Apple will choose to take things is third-party in-house apps that are not intended for sale or for general use. Companies will probably want to create their own custom applications that are specific to their business or industry, and it would not make a lot of sense to have these programs listed in iTunes along with everything else. So I think there will have to be a method for installing programs onto iPhones that bypasses actually obtaining those programs off of iTunes. This theoretically means that such programs could get installed without having undergone any kind of QA. How Apple chooses to implement this ability, and how it differs from the standard apps available from iTunes, is something I haven't come up with a theory for yet.
On the other hand, I might be making things way more complicated than necessary. It could be that iPhone programs will take the form of a self-contained application bundle identified as an iPhone application -- simply double-clicking such an application on a Mac or PC might just trigger some kind of "The program you double-clicked is an iPhone application. Do you want to install it on your iPhone?" prompt like the ones you get when you double-click on Widgets, PrefPanes, etc. Download your apps from Versiontracker, unzip, double-click, click OK at prompt, which copies it to certain folder and launches iTunes and displays the iPhone sync settings, third-party application tab, where you can check or un-check apps you want to have on your iPhone. Next time you sync, the app is installed. It could be that simple.
Bottom line, though, is that NOT allowing third-party apps, ever, on any iPhone, now or in the future, makes absolutely ZERO business sense, and Apple is just too smart not to know this. So, expect third party apps, eventually.
It isnt like Apple is going to put Blackberries and Treos and Windows Mobile PDAs out of business overnight. Rome wasn't built in a day. I expect it to take 2-3 years for Apple to completely crush the competition for PDAs and smart phones. ;-)
-Pete