13 April 2010
iPhone, the platform most hated by developers
The new TOS for the upcoming iPhone OS 4.0 introduces additional restrictions on how developers can create applications for the device. Any application must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine.
In other words: no cross compilers. Cross compilers provide a single development environment that compiles a single code base to multiple platforms such as the iPhone, BlackBerry, and Android. This saves developers hundreds and thousands of hours of development time they would otherwise have to spend creating multiple code bases. The biggest company affected is (natch) Adobe and their upcoming release of Creative Suite which adds a much-touted Flash-to-iPhone compiler. Several smaller, but no less important, tool makers are affected as are the many developers that make a living off of games and whatnot written using those applications. Developers are now faced with the choice of supporting multiple code bases or being locked in to iPhone development.
Apple's choice, if we can divine intent, was a strategic move to lock developers in to the iPhone over other mobile platforms. Cross compiler companies' choice is to lock developers into their cross compiler over other, single platform compilers. Developers are offered a clear benefit by choosing the latter's lock in, not so with the former's.
I don't have a dog in this race, but I'm a developer and love the tech and social aspects of our mobile web present and future. Apple can do whatever it wants with the iPhone/Pad, just as Microsoft did whatever it wanted years ago to attempt to lock in developers with the Visual J++ mutation of Java. However, it's important to note the costs developers should consider when choosing the route of lock in. Short-term gains may have long-term drawbacks.
Some reading:
- New iPhone Developer Agreement Bans the Use of Adobe's Flash-to-iPhone Compiler from Daring Fireball via Reddit (top comment:
fuck Apple
) - Does HTML5 Really Beat Flash? The Surprising Results of New Tests from RWW where testing showed that CPU resources of the two varied by browser, with Flash faring better in some instances. Tellingly, Flash is outlyingly worse than all other combinations on Mac+Safari.
- Why I won't buy an iPad (and think you shouldn't, either) from Corey Doctorow. Old news, and at times flawed, but required reading. Main point: remember years ago when AOL was going to protect you from the internet with their subscription service? Well, now Apple is going to protect you from applications.
- Apple takes aim at Adobe... or Android? from ars technica says
It's bad for competition, it's bad for developers, and it's bad for consumers.
- Steve Jobs' response on Section 3.3.1 - a Mac developer has an email conversation with Jobs sums up with the Dilbertian
Everyone fears The Ignorant Boss
, several updates to the post also worth reading
Geeks insist the iPad is for "their moms" to use as they stand in line to purchase one (or more) for themselves. This self-deceit is used to justify the purchase of what would otherwise be considered a grossly limited netbook. When developers choose to develop on the iPhone for the chance to get rich (many do), they also choose to navigate the capricious business dictates of Apple. Developers generally don't seek out arbitrary corporate limitations when choosing projects either fun or profitable, but with "do what works" as a common mantra, neither are they an overly principled bunch. We'll see if Android benefits from this.
- My history of phones posted by sstrader on 12 October 2013 at 10:13:15 AM
- Car radio posted by sstrader on 11 September 2010 at 1:38:13 PM
- The frontier posted by sstrader on 18 June 2010 at 5:15:52 PM
- iPhone, the platform most hated by developers posted by sstrader on 13 April 2010 at 12:25:58 AM
- Desire, life, and gadgets posted by sstrader on 5 April 2010 at 7:29:53 PM Other entries categorized in Programming:
- Techniques after using Swift for a month posted by sstrader on 26 August 2015 at 11:41:51 PM
- Some thoughts on Ruby after finishing a week (minus one day) of training posted by sstrader on 15 December 2011 at 8:59:30 PM
- Links on the singleton pattern posted by sstrader on 9 December 2011 at 9:19:50 AM
- Phonebot posted by sstrader on 29 October 2011 at 6:37:05 PM
- The labeled break in Java posted by sstrader on 4 September 2011 at 11:27:56 AM