In The real reason why Steve Jobs hates Flash, Charlie Stross wrote an analysis of Apple’s recent moves, and where he thinks Apple is headed (oddly, he never quite says what “the real reason” is). He’s looking 5â€“10 years down the line. I’m thinking about the next 1â€“5 years, and how (or if) we might get to the future that Stross envisions.
So first off, what is Stross’ vision?
- wireless broadband everywhere. Specifically, LTE running at 50 Mbps+.
- commodity hardware that is too cheap to make much profit on.
- all your data in the cloud.
- a constellation of devices that all access the same cloud data.
- Apple attempting to act as intermediary between content vendors and consumers (the app store writ large).
While this is not an unreasonable vision, there are some big roadblocks before we get there. Also, Apple has always made its real money on hardware, despite the fact that commodity PCs have been around for a long time.
The biggest roadblock is wireless broadband. In Thoughts on Flash, Steve Jobs himself lays out one of the reasons why Apple is opposed in principle to allowing Flash-based apps on iPhoneOS devices:
We know from painful experience that letting a third party layer of software come between the platform and the developer ultimately results in sub-standard apps and hinders the enhancement and progress of the platform. If developers grow dependent on third party development libraries and tools, they can only take advantage of platform enhancements if and when the third party chooses to adopt the new features. We cannot be at the mercy of a third party deciding if and when they will make our enhancements available to our developers.
One of the painful experiences he alludes to is Metroworks. Metroworks is the software company that saved Apple’s bacon when Apple transitioned from Motorola 68K chips to PowerPC chips, by providing a development environment when nobody else did, but which left Apple in a tight spot when Apple was transitioning to OS X, because Metroworks did not keep up.
Today, Apple has its own development environment, Xcode, available for free. Apple essentially controls the developer’s toolkit on iPhoneOS devices because it has the power to reject apps that weren’t written using an approved tool. So if Apple wants to make underlying changes to the platform, they can’t be boxed in by a developer of a popular program who happened to write it using a development environment that isn’t keeping up with Apple.
But Apple is boxed in by another kind of independent player: cellular carriers. Such as AT&T. We have already seen arbitrary limitations on iPhone features that were imposed by carriers unwilling to further overburden networks that were already stretched thinâ€”even today, AT&T does not permit tethering a computer to an iPhone, although most (all?) other cellular carriers do, and for that matter, AT&T allows it with other smartphones.
I am not privy to Apple’s negotiations with AT&T, so I can only speculate when I say that their ongoing relationship must be a stormy one. The USA is Apple’s biggest market, and for a flagship product to be crippled by limited features and a reputation for poor service must sting.
So here are the stumbling blocks I see to Apple betting the farm on cloud computing:
- Bandwidth. This is the big one. While LTE may have a theoretical peak performance of 100 Mbps, that capacity needs to be shared out among as many as 200 people per cell. If the cell is operating at 75% efficiency, that winds up being as little as 375 Kbps in a worst-case scenario. Today, an iPhone’s 3G connection realistically tops out around 740 Kbps. This is about one-tenth the theoretical bandwidth available on a 3GS iPhone; if the same fraction holds for LTE, then average users would be seeing speeds as fast as 10 Mbps. That’s pretty goodâ€”about as good as wired home Internet connections in the USA are today (though the USA is far behind many other developed nations in this regard). While AT&T’s iPhone service gets a lot of well-earned criticism, one thing that they did right (or that Apple forced them to do right) is to offer an “unlimited” data plan. In practice, unlimited means 5 GB per month, but I’ve found that’s actually generous: I use the data connection on my iPhone a lot, and I only burn through about 1% of that each month. But in a cloud-computing environment, that number would go way, way up. How much? If I listened to one hour of music (encoded at 128 Kbps, which is low) per day, that would chew through about 55 megs per day, or about 1.6 gigs per month right there. If I browsed through 100 images large enough to fill an iPad’s screen every day, that would be about 30 megs per day or about 1 gig per month. So clearly, if all my data lived in the cloud, and all my browsing went over my cellular connection, it would be a lot of data.
- Billing. Cellular companies are notorious for their adversarial relationship with their customersâ€”charging massive overages, providing customer service that is obtuse at best, etc. They are also notorious for charging as much as they can get away with. The fact that the new iPad 3G is being offered with a separate cellular connection, and is unable to piggyback on a smartphone’s data connection, is evidence of the baldest rent-seeking by AT&T. And despite the fact that people are using their mobile connectivity for data more and more, the cellular carriers are at their hearts phone companies that wish the Internet would go away. They haven’t embraced the idea of treating everything flowing over their lines as equal. So even if the carriers had networks that could technically sustain a cloud-computing environment, that’s no guarantee that they’d offer a rate schedule that anyone could afford.
- Entanglement. Apple is already boxed in by AT&T in the USA, which limits some of the features iPhone users should have access to, and in other countries, where the carriers impose stingy limits on data volumes. Transitioning to a cloud-based environment would make Apple vastly more dependent on the carriers, who would literally be standing between customers and their data. Part of the reason that iPhones have become as popular as they have is because the upfront cost of the phone gets subsidized by the carrier and then rolled into the monthly bill. This probably makes the cost of owning the phone greater over a 24-month periodâ€”it’s also used to justify the 24-month lock-in that the carrier imposes. But it does help get people in the door. If the hardware does get cheap enough, Apple could sell it outright to the customer (the way the very first iPhones were sold) without affecting its popularity. That would create pressure to lower the monthly bill, and avoid long-term commitments to carriers. These would be good things for the customer, and indeed, we’ve seen a hint that this might be the direction things are headed: the iPad is sold outright to customers, and wireless service is available on a month-to-month basis. I can only imagine this was a bitter pill for AT&T to swallow, although it maintains the ridiculous situation of a person quite possibly paying for two data connections: one for the iPhone (or any smartphone, which are all technically capable of tethering) and one for the iPad.
- Cloud infrastructure. Although Apple does have its MobileMe service, it’s really not meant to allow people to move all their data into the cloud. And that service got off to a very rocky start, although from what I understand, it’s running a lot more smoothly. But it would need to be a vastly different serviceâ€”bigger and cheaperâ€”than what it is today.
There’s little question in my mind that Apple does need to incorporate some kind of cloud-like mechanism in their operating system. While their are iWork apps for both the Mac and the iPad, getting files between the two currently requires a 10-step procedure. That’s absurd. It should be a zero-step procedure: your files available on whatever machine you log into. Apple already has iwork.com, in fact, but this is optional and still in beta.
Ideally, Apple would add a syncing function to the iPhoneOS that could tie in with a successor to MobileMe, to third-party services like Dropbox, or directly to the user’s home machine, allowing individual apps to delegate the problem of what gets synced, how, and when. Today every iPhoneOS developer needs to work this out individually, and unsurprisingly different developers take different approachesâ€”some sync to their own private cloud, some exchange data only by e-mail, some tie in directly with specific desktop apps over wifi. Apple has a lot of smart people working there. I hope they’re working on something like this.
The fact that the iPadâ€”which a lot of pundits think may be the next big step in personal computingâ€”was launched with a cellular modem as an option suggests that Apple isn’t ready to bet the farm on the cloud just yet, or for the product life of the first generation of iPads (two years?).
Right now, storage is cheap. For $100, one can buy a 32 GB flash memory card or a 1.5 TB hard drive. For about the same price, I can get three months of “unlimited” data service (no voice) with AT&T.
Until wireless bandwidth gets really fast and too cheap to meter, we’re going to need to rely on local storage for most of our biggest files.