Making their jobs easier

Apple isn’t going to support such layers itself, open source or not. And while individual developers using such layers could, in theory — in a hypothetical future scenario where the intermediary layer becomes incompatible or incomplete — fix it themselves, that’s not realistic. Developers using something like, say, MonoTouch or Flash to write iPhone apps are not signing up to be responsible for future maintenance of the entire underlying framework they’re building upon. The whole reason they want to use these intermediary meta-platforms is because they think they’re making their jobs easier. — John Gruber, replying to my reconciling proposal.

So developers wants tools to make their job easier. Very true. But making someone’s job easier is what creates advances in programming, otherwise we’d still be stuck with assembler. Who wants to take the “difficult” path and write assembler code nowadays? We all use mostly portable higher-level languages (such as C), except for the small occasional snippets of assembler when high-performance is required.

Good and well-informed programmers will choose the right tool to solve the problem at hand, and if the tool isn’t a good enough fit they’ll improve it as needed. Both proprietary tools (such as Flash) or imposed choices (such as Apple’s kindergarten of C, C++, Objective-C and no translation layer nor third-party frameworks) prevents improving the tools and thus building upon those improvements.

So with this rule Apple ensures only it can advance the tools used to develop on the platform. It’s becoming more like Flash where Adobe dictates both the platform and the development environment.

Back in the old Mac OS days, PowerPlant helped a lot of developers build quality apps which would have been harder to write directly on the Mac toolbox. How? By enabling easy reuse of existing components through object-oriented programming and inheritance, something that wasn’t easily doable with the original C/Pascal API. Apple didn’t really catch up until years later, with Mac OS X and Cocoa. It’s important to remember that before becoming a liability because of it’s pervasive use and the lack of update, PowerPlant was really an asset for the platform.

I don’t know which form will take the next fundamental advance in programming, but iPhone OS programmers might very well be locked out of it until Apple realizes its importance and rework its API to support it.

But that’s a pretty pessimistic view. Optimistically, Apple will just reject things it really doesn’t like and this won’t include too many things. Nonetheless, this rule, even if only half-enforced, will surely scare many innovators away from the platform. I can’t see this standing in the long term.


Follow-ups


  • © 2003–2017 Michel Fortin.