

Reading Between the iPhone OS 4.0 Lines - jonknee
http://daringfireball.net/2010/04/reading_between_the_iphone_os_4_lines

======
timdorr
Reading through this article, I thought to myself: When did Apple become such
an angry, aggressive, and _negative_ company?

I remember an Apple where I felt a certain pride in owning their products
because they were superior options for me. A company that was gaining
marketshare and mindshare through excellent products that just blew away the
competition.

This new Apple is spiteful and highly defensive. I'm embarrassed to be typing
this on a Mac and to have had an iPhone (switched to a Nexus One recently). If
Google's moral motto is "Don't be evil", it seems like Apple's is now "Fuck
you. _punch_ ".

What the hell happened?

~~~
adeadcow
If you really think about it, Apple has always been like this. They want to
control every aspect of their hardware and software. The pride you felt was
the result of marketing.

------
jsz0
The big omission for me was not addressing the notification system. Its never
scaled well past the original intent of missed calls / voicemails. A common
problem I encounter is a screen full of notifications and the need to unlock
the phone to do something. Once I do that they vanish. A Notifications app
would be a quick and dirty fix. Just let me go back to them instead of hunting
through different applications to figure out what I missed.

~~~
tvon
I think the idea is that once you've unlocked the phone the app icons tell you
what items need attention.

~~~
neonfunk
Not to mention, you can't ignore a notification so you can look at it later...
It's either view or dismiss.

~~~
blasdel
They're only one rung above notepad.exe's "Search reached end of document |
Ok" dialog, but only because for most of them hitting Ok takes you to the
source of the notification.

They're a disaster compared to Apple's desktop HCI guidelines that insist on
verbed dialogs and disdain "Cancel | Ok"

------
cpr
Hmm, scaling back on innovation in the desktop OS is a bit unsettling.

The end of the desktop may be here in 5-10 years, but surely there are still
interesting things left to do there?

Perhaps the ultimate simplification of computing (iPad and derivatives) is the
only thing on Jobs' agenda now, innovation-wise.

~~~
blasdel
I can't really think of any other foundational APIs that would be worth it for
them to integrate into OS X at the expense of their infant mobile platforms
that still have years of iteration and several more major releases before
they're nearly as 'mature' as the platforms they're displacing.

OS X is incredibly mature now, while there are still warts (Spotlight is
relational with fixed indexes, mobile.me sucks and isn't freemium, etc.), the
iPhone OS has those warts too, it's more important to fix them there than on
the desktop, and there's tons of incomplete/missing features on top of that
that need iterating on.

I certainly wouldn't want to see the kinds of consumer-facing features they'd
have to pull out of their ass to justify a 10.7 release in the next year or
two.

~~~
Perceval
I'm perfectly fine with future updates more along the Snow Leopard line than
more normal updates with major features and UI changes. Add new goodies under
the hood, make it faster and more secure, and charge me $29. Couldn't be
happier.

~~~
blasdel
The problem is that for outfits like them shipping _anything_ takes a huge
amount of effort, and they're kind of short on under-the-hood goodies to add.
They're also kind of constitutionally incapable of shipping security updates,
though it's probably better overall that they don't do ubuntu's 10-updates-
per-day regimen.

I'd rather they spent their efforts iterating on their mobile products. They
have a ton of challenges still ahead of them there, like whatever they're
going to try to replace the hierarchical filesystem UI with, synchronization,
their mobile ads platform, fixing their notifications UI, integrating browser
tabs into the app-switching UI (like WebOS and ChromeOS), etc.

------
wvenable
As usual, John Gruber lacks some awareness of the history of the industry and
the technical details. The multitasking in iPhone OS 4 is not just similar to
Android but also to Symbian and perhaps even the Blackberry. It's a very
standard technique that has been used in handheld devices for over a decade.

I suppose some jailbreaked iPhone users can comment on whether older iPhone's
really can handle multitasking on 128MB of RAM. Considering that most devices
have handled "true" multitasking with much less RAM than that over the years
I'm not convinced it's truly a problem. They might not be able to hold as many
apps in memory at once but that's what you get for having an older device.
It'll be slower. But it should still be slightly faster than launching and
closing every app all the time.

~~~
enjo
Unless I'm greatly mistaken (completely possible) symbian is a more
traditional multi-tasking system. The UI and everything else was more or less
kept in memory with the only caveat being that you had to learn to graciously
deal with being shutdown as memory ran low.

I also think that the Apple system varies pretty significantly from Android.
Android has the concept of 'bundles' and 'servers'. Bundles work similarly to
what Apple is doing, but having servers (which multi-task in a more
traditional model) enables more consistent background processing.

For instance, an alarm clock on Android is often implemented with the GUI
'bundle' on the front-end and a server on the back-end that manages the actual
'when should I sound the alarm?' part of the task.'

That's one thing that just isn't possible in the iPhone model.

~~~
wvenable
I doesn't sound like there is any way for the iPhone OS to selectively unload
parts of an app. So, just like Symbian (and every other platform), the entire
app stays in memory. The big difference with the iPhone is that there isn't
any background threading except when triggered directly by the OS for a
specific purpose. That's a fairly minor difference but it would prevent poorly
written apps from eating up too much battery life (or doing other nasty things
in the background).

Having to graciously deal with being shutdown (and restore your state on
relaunch) is pretty much the same model as the iPhone OS 4.

------
chime
I don't get it. If apps can be paused in the background while remaining in
RAM, why not swap them to the SSD when memory runs low? Why quit the app
completely and expect the app to manage restore etc.? When the app restarts,
it is obviously going to read from the SSD. So why not load the state too
automatically? If paused apps still have open threads that called every now
and then, I can understand. But it doesn't make sense for apps that don't. I
would appreciate if anyone could explain this better.

~~~
wvenable
When an app is swapped to disk, all it's code and data pages are stored. When
it's resumed, the code and data pages are loaded back. This isn't so terribly
different from relaunching the application (loading the code) and having the
app restore it's state (loading the data). In fact, the app can even be more
efficient in saving it's own state because it can discard anything it knows it
doesn't need.

This sort of system doesn't work on a desktop because you can view/use more
than one app at a time. However, it's more than reasonable on a system where
you interact with apps one at a time.

This is pretty much how all mobile platforms have done it since forever.

~~~
barrkel
A GC and framework designed around this serialization could be made to work,
though, greatly reducing the burden on the programmer.

Of course since Apple has outlawed innovation in those areas targeting the
iPhone, they may never find that out...

------
armandososa
Much praise for the multitasking UI on iPhone OS4, but I still think that the
cards metaphor of webOS is much better.

~~~
blasdel
You're absolutely right, it's a shame that Palm is essentially dead walking.
Google's ChromeOS will be picking up the torch of "everything's a tab" when it
hopefully ships later this year.

Apple hasn't yet backed themselves into a corner where they can't rip it off,
but to do it right would require them to not be their usual bossy selves.

In an ideal card-based iPhone world, apps would have the option of being
document-centric and be able to register for URL-handlers and file-types (both
just like on OS X). Unfortunately the new Apple would probably never let them
become the default in place of built-in apps (no registering <http://>, no
owning image/jpeg, etc.).

I think they'll have to do it eventually, but it might take a while. They
might try to let the new multitasking API percolate in the wild first, and
develop their replacement for the hierarchical filesystem UI and maybe OTA
syncing in the meantime.

------
c00p3r
The history repeats itself. =) The raise of linux was, in some extent, because
"we hate MS" (because they are a monopoly, too rich, etc - does not matter).
Now its Apple in focus and on the top, so it's time for Android (+1 for Google
for a wise strategy to become a new RedHat of mobile segment) or even Maemo.
It is also good news for Nokia with its N900 pilot project, but they are too
slow and stuck with their crappy Symbian. NextStep was much wise investment.
=)

btw, RIM acquired QNX. =)

