Apr 10

iPhone OS 4.0 Ruminations

Category: apple

My day job is in theory based around development, primarily web application development. Whilst lately I’ve been doing far too much infrastructure stuff, most of what I do lives in a web browser eventually. I am also an Apple user. I have an iPod Classic, an iPod shuffle, an iPhone, I got my Dad an AppleTV and I have a MacBookPro, convinced my ex-gf, her father, my father and my sister to get Mac. Probably a few other people along the way. I came to a Mac because it was the cheapest laptop I could buy that would reliably work well. I was a Linux user at the time (still am to a point) so the UNIX functionality and X11 features in Mac OS X appealed to me. Worst comes to worse, I reasoned, I could run X straight from my computer when I’m at home and hopefully the browser and text editor choices would be fine. I’ve come a long way from that.

So Apple lately have been doing a lot nifty stuff. They’ve released the iPad, their tablet PC. In the announcement the other day they said they’d sold 450,000 of the devices. To be honest that is impressive. That is a lot of tablet PC’s sold, probably a significant portion of the market now are Apple after a week. They also announced iPhone OS 4.0 which has some curious things.

The first change with it isn’t technical but legal. They’ve changed the Terms of Service section 3.3.1 from:

3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs.


3.3.1 — Applications may only use Documented APIs in the manner prescribed by Apple and must not use or call any private APIs. Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

So basically if you’re not writing Objective-C, C, C++ or JS (HTML5/CSS/etc) then you’re not welcome. Bye bye CS5’s funky Flash Export to iPhone App feature. I’m not going to comment on this in general however Apple have consistently said those four languages are it. Using or developing tools to get around it was seriously tempting fate given all of the announcements Apple made. I’m not surprised, I’m not sure if it is a good or a bad thing (Flash shares a special loathing in my heart) but given Adobe have lately made their Flash player on Mac a piece of crap and not improvement (don’t get me started on Linux support), I can see where Apple have come from. Some argue that there way it handles it’s fast switching blah blah won’t work with quasi emulated apps because it doesn’t know data structures blah sounds to me like crap. The observation that Adobe’s write once run anywhere CS5 deployment could mean that Apple’s extra features aren’t supported until Adobe deem it to be included is a problem. That would mean any cool features would be unavailable to a portion of the developer community potentially never. It would potentially give Adobe control over the platform in a way Apple may not like. At the end of the day Apple is a public company and what makes them a profit is why they are there, so this is where their decision takes them. And whilst many claim Apple owe Adobe for their heritage, it is clear that recently Adobe haven’t been supplying a good experience for Mac users of their software anyway. Titanium keeps being included in the list of tools that might be excluded but I’m not entirely sure, it is certainly a border case.

The other interesting feature they added is multitasking. But nowhere do I see that people are understanding that it isn’t multitasking, it is just services. Apple aren’t giving people the ability to run what they want in the background, they’re offering services that will handle what they need for them. Other comments like the platform can’t support true multitasking and Apple’s design is flawed have come up in a few places which miss the point of the services. Apple doesn’t want your trashy code chewing memory and CPU, potentially going rogue and killing the users battery like it can on other platforms. That is unfriendly. The iPhone OS runs a system more than capable of multitasking it is just Apple prohibiting access to do so. The services they’ve got seem to meet the criteria and also permit reasonable flexibility. Will it be enough? Perhaps, but it is a start. They’ve got seven services: background audio (Pandora), VoIP (Sykep), background location (anything that watches your location), push notifications (yawn), local notifications (think alarm clock), task completion (the closest to true multitasking, example is a photo upload takes a while) and fast app switching (my old Palm worked like this in some respects). I think these will work well and solve a number of needs on the device and bring it up.

The other features announced included folders (better categorisation really) which reminds me in part of how stacks works as well. The next was improvements to mail for a unified inbox. Apple Mail on the desktop has this and I’m not a fan of it (I use the per mailbox inbox). Other Mail enhancements included threading and opening attachments in other apps. The last useful feature is the multiple Exchange account functionality, this will mean I can use Google’s Sync toy with my work’s Exchange account whilst still retaining some other identities I have. I have things sort of working but it could be better. Their book app is also coming to the iPhone which is more than predictable.

From the enterprise front they’ve beefed up support. Some of it already sounded familiar but the wireless app distribution is going to be useful for work (the current method involves connecting it to a desktop and loading the apps manually or App Store, this is a third option). Game Center seems interesting and a bit late to the game but better late than never as they say. They’ve also got an advertising framework built in. Not sure how this is going to play out but we will see. Hopefully they won’t nuke the third party advertising frameworks but I don’t see them as making that mistake, a regulator would surely snap them for that. Including it in the framework will probably mean the demise of most alternatives and they’re doing it in a way that can be relative unobtrusive compared to how it is handled now. Time will tell.

All in all there are some things that people don’t like (TOS Change) but I can see the Apple progressing slowly and improving. They’ve got a head start over every other platform and it appears that only Google have been able to come close to match them. Microsoft have pulled out all stops with Windows Phone 7 to create something that looks cool but they’ve almost left it too late, those burnt by Windows Mobile are perhaps wary of the next operating system. The Apple ad with the PC going “Trust me” over the ages rings true. My iPhone will miss out on a lot of the cooler stuff with services because of it’s age which is annoying but life. How application developers will handle this will also be interesting.

Of course now the iPad is out, maybe they will update a whole heap of other things.

No comments

No Comments

Leave a comment

%d bloggers like this: