- Image via CrunchBase
I was reading a great article in APC Magazine about developing for mobile phone OS’s and I stumbled across this fact in a comparison chart listing each of the major phone operating systems and their main points of difference for a developer choosing which platform to develop from.
Surprisingly, out of iOS, Android, Windows Phone 7, Blackberry OS, Palm WebOS and Flash/Air (for native phone apps), iOS was the only one that doesn’t yet handle garbage collection in system memory at an operating system level.
That means that when developers build iOS apps, they need to do the memory management themselves inside their application with the sliver of memory allocation that the phone gives them (I believe it is 10mb) and make sure that their app doesn’t freak out the phone and cause the app to crash.
Well, that would explain why WordPress for iPhone is such a piece of shit to use – the geniuses who built that probably have no idea how to make the phone adequately hold a 2000-3000 word article in memory whilst trying to let people work with it. On any other mobile device, the developer wouldn’t have to worry about this because the phone OS would be managing this automatically and sandboxing the application execution to minimize memory leakage and battery drain – this is especially easy to do when the OS doesn’t multi-task (like WP7) and especially important when it does (like in Android and Web OS).
So then… why haven’t Apple bothered to put this sort of stuff into iOS? I’m sure the answer is related to Apple’s endless quest to maximise battery life at all costs and that the consumer experience is held in much higher regard than the developer experience. I can’t help thinking though that Apple could halve the amount of time they spend testing apps before they submitted them to the App Store by knowing that iOS devices will know how to control apps better by cleaning up the RAM on a regular basis to make sure apps will be more stable when executed, especially on devices like the iPhone 3GS and iPad that only have 256mb RAM on board, half that of the iPhone 4 at 512mb.
I mean, you can imagine that a LOT of developers who are new to the platform, in addition to a lot of other developers who are using 3rd party development environments like Flash to build iOS devices aren’t giving this sort of stuff even a whiff of consideration whilst building their apps, why is pretty bad and is leading to a lot of apps in the App Store suffering random memory related crashes, like the previously mentioned WordPress for iPhone.
Why would Apple be so sloppy? Perhaps they will consider this when designing the next major version of iOS to release alongside the iPhone 5, which we can expect to see in mid 2011. For common sense’s sake, I hope they do. Sure they might have to test apps separately for iOS 5 approval on top of iOS 4 and below as a seperate category of work, but they already did separate iOS 4 certification for apps when the OS was first released so this wouldn’t be an unreasonable expectation. Moving forward, Apple could get a lot more apps into the App Store a lot quicker and be more confident that the app being released under their brand won’t freak out and give people the shits, like WordPress for iPhone does to me.
If you hadn’t noticed, I detest WordPress for iPhone. Just in the creation of this article, I had to deal with 7 crashes and even had to rewrite an entire paragraph due to lost content. Even the ‘Send Crash Report’ feature freaks out the phone! I try to hit the Save button after each sentence or two to make sure I don’t lose content, but this is an absurd way to work with the application. Perhaps Automattic need some memory management training themselves, however tedious and assumedly unnecessary you would think it is.
Then when Automattic learn how to adequately handle memory management within their own app(s), they could teach the guys who made the iPhone version of Wolfenstein 3D how to do it too – that game crashes so much it is unplayable on the iPhone. Such a damn shame too, it was fun playing that old game all over again and the money spent on buying it could have been put to far better use – like, going towards anything else, for example.
- Things Android has that iOS Needs (brooksreview.net)
- Frenzapp lets you discover and share iOS apps with your friends (tuaw.com)
- Apple Loses Top iOS Game Dev to… iOS Games, Actually (mashable.com)
- Android vs. iOS: A Developer’s Perspective (whereoscope.wordpress.com)
- Untethered iOS 4.2.1 Jailbreak is Coming (geniusgeeks.com)