Apple and Controlling the Platform
It’s almost scary how much power Apple seems to have these days. Heck, during the Gizmodo iPhone 4G saga, they apparently even had control over the police!
One thing is sure – Steve Jobs has been pretty serious about keeping power ever since Apple lost the PC vs Mac war. So how is Apple trying to stop Android from stream-rolling over them in mobile?
A lot of it has to do with securing and maintaining power over various mobile ecosystem players. And here’s how Apple does that – technically, strategically, and psychologically.
Developers and Tools Vendors:
A LOT has been written about Apple eliminating cross compilers, which disallows write-once, run-anywhere. Many claim this is just for capricious control or a hatred of Adobe – but Apple really did this for ecosystem independence.
The change to 3.3.1 was not about limiting developers per-say, but more about tools vendors and ecosystem players. A great non-Adobe example of this is Java. Oracle recently bought Sun, and is giving Java even less love in mobile than it had before.
Google, which uses its own Java virtual machine on Android, has been particularly vocal about slow arrival of new J2ME versions and fragmentation of the code base. These problems pre-dated Oracle, but will get worse – Oracle cares about the enterprise, not mobile.
Not good for Google and they are freaking out. Apple doesn’t care!
Processor Vendors (Intel, Qualcomm, nVidia, et al):
Below are two massive unspoken benefits afforded to Apple by control over development languages and tools vendors.
1. Switching away from ARM. By mandating Objective-C / Xcode, Apple can effectively switch architectures in secret and release a native machine language compiler right when a new product is announced.
Normally, if a compute vendor switches architectures, cross compilers (the Adobes) won’t compile down to native machine language even though in theory code is portable between architectures.
Key to understanding this is recognizing Apple probably has no near-term intention of switching. But they >can switch, with zero disruption. This allows Apple to completely take control away from processor vendors. Effectively, Apple has commoditized the CPU’the most complex proprietary component in any computing device! This strategically benefits Apple in a powerful way–even John Gruber agrees with me.
2. Architecturally enhancing ARM. Instead of switching, it’s more likely Apple remains with ARM, applying effort to instruction set architecture modifications to stay ahead of competitors. PA Semi and Intrinsity talent will allow Apple to keep pushing the envelope as a soft-core architectural licensee.
Of course, any non-standard changes to ARM would require a new optimized compiler. But by disallowing cross compilers, Apple avoids the need to disclose changes to tools vendors in advance. This is powerful.
Conversely, Apple would have had to share architecture changes so that 3rd party tools vendors could have adequate time to add support. This would effectively reduce Apple’s head-start and give competitors a glimpse into platform changes many months before release.
It’s pretty evident this level of strategic planning simply doesn’t happen in the corner office at other companies, and in Apple’s case it’s intimately related to the fear of relinquishing power to others in the ecosystem.
Other Suppliers (Non-Processor):
Apple has brought key pieces of its design in-house in a strategy called vertical integration. This allows Apple to concentrate its focus on a reduced set of the most important suppliers, sometimes steering them and working more closely to align incentives. Companies that are more horizontally integrated have to deal with tons more suppliers and simply can’t do this (e.g. Dell).
Vertical integration is a way for companies to move “up the stack” in the sense of leaping the commodity layers to focus where the revenues are (often today this is in services or transactions). Tangible benefits include speed, reduced input costs, and ability to perfect the hardware/software interplay. All of these are really just proxies for maximizing revenues.
Problem is it doesn’t work well very often in real life. But the strategy is well-suited for Apple because they make so few products, and their products are so successful, that development resources are better focused and cost is amortized across many millions of units.
So the philosophy of vertically integrating around fewer products results in fewer suppliers, and actually allows Apple to partner better with its remaining suppliers. For example, Skyhook wireless has a unique location technology which has advantages over GPS, and word on the street is that Steve Jobs negotiated the contract directly even though Skyhook is a small startup, even paying them fairly for the design.
The Department of Justice:
This is partly meant to be humorous. But, from a strategy vantage-point, I’d argue Apple is doing something fascinating – by going after the high-end of the market, Apple will likely avoid the level of anti-trust scrutiny that befell Microsoft and Intel. I have to think this factors in to their strategy of having NOT released a ‘low-end’ $99 iPhone.
Even though Apple has more profit than any other handset maker, they still only have a small portion of market volume. This affords them a level of implicit immunity from the control of the DOJ’they can do things which would likely otherwise come under more intense scrutiny. They are starting to attract some attention, but it would be much worse if they went after the mid-range of the market.
So – we are all aware of the control Apple exerts over the user experience. But behind the scenes, Apple thinks deeply about supplier and ecosystem power on very nuanced and strategic levels. And this list is not meant to be exhaustive. There are a litany of other ways Apple exerts controls. I used to see some firsthand as a supplier.
In my opinion, it’s this paranoia about control that will likely help Apple to maintain mobile product leadership amidst unrelenting competition from Google and others… I don’t think it’s going to be like Mac vs PC this time.
Apple uses the open source LLVM specification for its compiler toolchain. LLVM is an abstraction that allows the high level parts of the toolchain to be decoupled from machine code generation. Guess what? Adobe used the open source LLVM to enable its Flash CS5 Packager to generate native iPhone and iPad apps. If overnight Apple once again chose to moved from their current processor architecture to some other processor (LEG or KNEE or whatever) Adobe’s tools could have been ready the next morning just like Apple’s.