

iOS 7: Catch me if you can - jaysonlane
http://www.allenpike.com/2013/ios7-catch-me-if-you-can/

======
ajross
This needs a dose of cynicism I think. The success of the iPhone in 2007
really wasn't driven by hardware capability (except arguably the capacitative
touch screen). Even then, other phones had faster processors, more memory, and
equivalent GPUs. Apple won because it invented new usage models, not because
it drove its designers to "show off what's possible in" 2007.

The stuff this is talking about is just eye candy. The original iPhone was
much more than an eye candy improvement.

~~~
potatolicious
It was a bit of both. The original iPhone wasn't a hardware revolution, but it
was an OS revolution. It was the first time anyone put an OS on a phone that
had a _blazing fast_ graphics layer.

Touchscreen phones existed before then, but because of platform performance,
was always of the "poke, wait, stuff magically appears, poke, wait, stuff
magically appears..." model.

Apple didn't just invent new usage models, they invented the platform that
made it implementable. The deep integration of UIKit with hardware
acceleration, as well as animation as a first-class consideration in the API,
were (and still are) some of Apple's greatest advantages.

~~~
enraged_camel
>>It was a bit of both. The original iPhone wasn't a hardware revolution, but
it was an OS revolution.

I disagree. Only a very small minority cares about operating systems and
revolutionizing them.

What the iPhone revolutionized was _user experience._ For the first time,
someone invented a device that was easy to understand, fun to use, and
seemingly limitless in capability. When Steve went on stage and showed it off,
the minds of everyone in the audience went into overdrive to start imagining
all the possible things they could do with it. Both the hardware and the OS
were designed to maximize those aspects of the device.

This is what sets the iPhone apart from its competitors, who to this day focus
on hardware features and software gimmicks. In my opinion neither Android nor
Windows Phone have managed to capture and learn to communicate in the higher
level thinking that constitutes UX. They are still great operating systems.
They just work in a very different context.

~~~
potatolicious
I don't think we're actually disagreeing. I'm not saying that the average
iPhone user has remarked "Core Graphics is great! It makes my phone so
responsive and fast!". I'd be very surprised if _any_ lay iOS user has ever
said that ;)

But the idea is the level of interactivity and the UX around iPhone would have
been impossible without the platform Apple first built for OSX.

Many other manufacturers at the time had UX ambitions like Apple, but were
held back by their own platforms. This infamous video comparing the concept
renders of the Nokia N97 vs. what shipped really demonstrates this:

[http://www.youtube.com/watch?v=vJpEuMidcSU](http://www.youtube.com/watch?v=vJpEuMidcSU)

It's not that Apple didn't innovate on the UX, they sure as hell did, but
rather that they bought themselves a huge lead on the competition by having,
for all practical purposes, the only platform around that could even _do_
something like that.

~~~
mortenjorck
Wow, I never saw that video, but your analysis is spot-on.

------
zachwill

        iOS 7 was clearly designed to show off what’s possible in 2013.
    

I absolutely agree with this point.

And, while I disagree with the post's main thesis — I believe the changes were
in no way directed towards the web — it's a pretty entertaining take on the
updates, OP.

~~~
josteink
I'd rephrase that as ios7 was clearly made to catch up with android 4 and
holo, but maybe that's just me.

there's nothing revolutionary in ios7 shown so far. that said, I can't wait
for Apple to sue Android over the things they just stole from them.

~~~
gfodor
I haven't used Android since it first came out, but does it have the dynamic
physics, layering, dynamic image compositing (blur, etc), parallax, etc, that
all are in iOS 7? iOS 7 seems to me to be very much about how it feels and
behaves in motion. The current beta still isn't performance tuned, so my guess
is the final build is going to be a pretty futuristic experience on the iPhone
5S.

I think a lot of people are getting hung up on lack of textures/lighting as
"copying Android" but I would love to hear how Metro and Android are
comparable on the things that are going to define iOS 7's experience: motion,
dynamics, translucency, layering, and depth.

~~~
bengotow
I agree, but it's funny. iOS 7 is all about dynamic, physical interfaces - so
much so that they built a physics engine into UIKit. At the same time, they're
ripping apart the user experience so that nothing onscreen _looks_ like a
physical object.

Before, interfaces looked like a bunch of real-world objects. Now, they look
like a bunch of thin-ass lines and boxes, but behave like real-world objects.

I agree that iOS is all about motion, dynamics, translucency, layering and
depth. But the verdict is still out on whether those things make for better
interfaces.

~~~
madoublet
Motion, dynamics, and depth are a hallmark of the Windows Phone Metro
experience.

~~~
seanmcdirmid
Windows phone metro doesn't include a physics engine. The motions are all
tweened.

Windows phone metro includes no depth at all, it truly is flat and 2D spatial.

Dynamics?

~~~
madoublet
I don't know (or frankly care) how it is implemented. While the UI is flat,
the apps use transitions and a parallax effect to build the illusion of the
depth (similar to how Apple does it using their gyroscopic parallax effect on
the home screen).

~~~
seanmcdirmid
There is no depth or layering in metro, not even small drop shadows and
definitely not layered application screens. The panaroma metaphor is panning
left or right with some disjoint movement of the background (not really
parallax, very fake) and the cutting off lots of text...

Lets wait until we can judge them side by side. I have a windows phone device,
but no apps (my market doesn't really have anything decent), so I'm not really
sure if the metaphors have evolved much from the panaromas.

------
Zikes
Gauging iOS's progress on aesthetics alone is like a Formula 1 driver on the
highway saying "I have no idea where I'm going, but I'm making great time!".

They only recently implemented a sane notifications system and quick-access
settings, and they STILL don't have anything comparable to Intents on Android,
which I believe is a revolutionary feature that should be core to any mobile
OS.

------
Recoil42
>If we felt really crazy, we’d make simple things like home screens and modal
dialogs subtly shift in 3D, real-time, in response to gyroscope input. (To a
mobile web developer that sounds like a troll feature request.)

Uh, except that's all completely possible on the modern web, thanks to tools
like CSS3 and deviceorientation APIs. In fact, when iOS7 was revealed a few
weeks ago, developers raced to duplicate the parallax background feature, and
did exactly that in very short order: [http://matthewlehner.net/ios-7-style-
parallax-background-bas...](http://matthewlehner.net/ios-7-style-parallax-
background-based-on-device-orientation/)

------
bornhuetter
If this article is accurate - and that iOS 7 has so much eyecandy that it will
only work on the latest high end hardware - does this mean that a low end
budget iPhone is off the table? Or is this Apple's way of segmenting a high
end version of the OS and then a version with all the eyecandy disabled for
the cheap iPhone?

It's interesting that Apple and Google seem to be going in polar opposite
directions right now - with Apple going for high end effects, and KLP
reportedly focusing on reducing the minimum requirements and letting it run on
lower end hardware.

~~~
mitchty
Ios 7 runs fine on most hardware right now even with beta 2, blur effects
aren't exactly that big of a power draw.

Don't believe everything you read in articles before its released. Best not to
form opinions on things that aren't in general availability. Apple isn't going
for "high end effects" at all with ios7, more fluid effects that overall
provide a consistent experience. Can't get too into details due to nda but it
isn't nearly as crazy as this article makes it out to be.

It is impressive what they've changed since Ive took over though, very
impressive how much of a change they've made actually. It definitely feels
designed all the way through.

------
theaeolist
I don't care about 3d or blur or other eye candy. I'd happily trade all that
crap off for the battery life of my old Nokia 1100.

~~~
potatolicious
The 3D and blur aren't what's draining your battery. The big ass LTE radio
sucking down videos, music, and photos is what's doing it. That and the huge,
brilliant LCD screen staring at you.

Optimizing battery life by getting rid of animations and graphical effects
would be _extremely_ penny-wise, pound-foolish.

------
baddox
> The 3D, the blur, the compositing – all of them are disabled or degraded on
> the [iPhone 4's] A4.

I hadn't heard that before, and it's quite interesting. Does anyone know if
previous iOS versions have similar feature segmentation, other than the
obvious (and perhaps artificial) ones like Siri and 3d maps?

~~~
potatolicious
Besides what others have already mentioned, third party devs (including
myself) find ourselves disabling features on the iPhone 4 also.

The important thing to recall is that the iPhone 4 quadrupled the number of
pixels you had to render while doing almost nothing for CPU performance.
Graphics performance-wise the iPhone 4 was a _huge_ downgrade from the 3GS.

If you're doing any sort of graphics work that's CPU-bound, your iPhone 4
performance is going to be dismal.

------
jenius
Anything that pushed native over web in my mind is a step backwards. Let's
think about the challenges that come along with native ios apps:

\- Less accessible. Objective C is a strange, low-level, difficult-to-learn,
niche language used only for mac development.

\- More work. See above explanation of Objective C. You need an IDE to even be
remotely efficient, an IDE that Apple also controls.

\- More work to port anywhere else. Popular app on iOS and want it on android?
Time to rebuild the entire thing from scratch in another language!

\- More expensive. Want to sell your app? Better give Apple their 30% cut, in
addition to the yearly fee in order to have an app of any sort.

The common theme of these points being that Apple wants control over
everything, and _has_ control over everything. But that's a point for a
separate rant. My point here is that the web has none of these drawbacks. The
web is a uniform interface across devices, the languages are fairly simple and
widely used, and the environment is open.

Apple could still take control and sell web apps, but they seem to be very
purposely not doing that, and pushing native as hard as they can while
occasionally implementing a buggy web app feature here or there. It just makes
me sad. We don't need parallax when we move our phones around. We don't need
blur effects everywhere. We need an easy, clear, open, and accessible way to
develop apps for mobile devices.

~~~
pbsdp
> _\- Less accessible. Objective C is a strange, low-level, difficult-to-
> learn, niche language used only for mac development._

It's not hard for someone that already knows C, or really any other language.
The learning curve is in platform knowledge, and every platform -- including
the web -- is different.

> _\- More work. See above explanation of Objective C. You need an IDE to even
> be remotely efficient, an IDE that Apple also controls._

The IDE is a major win, not a downside. It automates the mundane, and applies
equally well to web development -- I use IntelliJ for web work.

> _\- More work to port anywhere else. Popular app on iOS and want it on
> android? Time to rebuild the entire thing from scratch in another language!_

That's unfortunate, but it provides the best user experience.

> _\- More expensive. Want to sell your app? Better give Apple their 30% cut,
> in addition to the yearly fee in order to have an app of any sort._

On the other hand, Apple has a mountain of customer's credit cards on file.
The 30% buys you a lot.

> _My point here is that the web has none of these drawbacks. The web is a
> uniform interface across devices, the languages are fairly simple and widely
> used, and the environment is open._

The web has a massive pile of its own drawbacks -- it's a language
monoculture, low performance, no platform to speak of, much less platform
consistency. Development is a hodgepodge of different interdependent tools,
server-side and client-side. None of your users actually own anything, and
webapps can just disappear at any time.

Neither proprietary native platforms NOR the web are perfect, and both are
imperfect in very different ways.

~~~
jdgiese
I have never used objective C, although I use C quite a bit. Javascript is
much higher level than C, thus you can code more faster with less bugs in
javascript. Of course it all depends on if you need low-level performance.

~~~
Cookingboy
Objective-C is about on the same level as Java.

~~~
potatolicious
Well... No. And I say this as someone who write Obj-C all day and actually
likes Obj-C.

Obj-C is a _relatively thin_ layer around C, it's nowhere near Java's level of
abstraction.

For one thing, at least on iOS, there is no actual garbage collector. ARC is a
static analyzer that injects manual memory management code into your app - it
does not collect garbage at runtime.

Even with ARC you are still managing your own memory - it is not possible to
write a complex iOS app without understanding manual memory management and
what the different reference types do in this regard. This is in contrast with
Java where you really don't have to understand memory at all to write non-
leaky code.

You're also allowed to (though not encouraged to) do low-level hackery like
pointer arithmetic. There is _nothing_ stopping you from reaching down and
fiddling with raw memory addresses and values. This is in sharp contrast with
Java and other high-level languages where you're very explicitly forbidden
from doing anything that might blow your foot off.

The runtime itself is also really thin compared to the JVM. Hell, frequently
the first you know something is wrong is when your program segfaults. Try that
with Java.

Not Obj-C, but OSX/iOS, is also that as soon as you get into any of the deeper
libraries you're in C-land. Core Graphics is exclusively a C API, as are many
of the other APIs like calendaring and address book. You really can't go deep
into the platform without touching raw C.

Anyways, Obj-C isn't on the same abstraction plane as Java, not even close.

~~~
Cookingboy
It was a generalized statement for people who want to begin to learn it, I
personally find that Obj-C offers very similar level of abstraction for
beginners as Java does (especially with ARC, and not everyone has to deal with
CoreAudio, AddressBook and other C libraries or integrate C and C++ code into
their app).

I'm a professional iOS dev as well and everything you said were correct, so no
arguing there.

------
skilesare
Good point. Hadn't really though of it this way before. I guess as a mobile
web dev I'm going to be always behind the curve here. Something interesting to
think about.

------
methodin
Will it be true that Apple still has enough weight to cause ripple effects in
design paradigms completely unrelated to a mobile device? I am guessing so,
but mostly because a lot of designers are coupled strongly to Apple ideology
and it affects their designs directly.

This is of course painful as someone outside of this bubble - watching designs
that conform to a device and a way of thinking instead of living and breathing
in their own right.

~~~
bornhuetter
Well, at least this design is a lot closer to current Android and WP8. When
developers designed specifically for iOS and then ported to Android as an
afterthought, the results often looked completely out of place.

I'm hopeful that it will be easier for clever designers to make apps that look
very similar on all three platforms, and also look at home on all three
platforms.

~~~
methodin
Good point. That may not actually be too bad. I would hate to see blur and
super-thin lines propagating all designs but those would hopefully be minor
details if the apps themselves are more similar.

------
kevinbluer
From my brief, albeit limited time, running iOS 7 beta 2 on my 3rd gen iPad I
have to say that I'm thoroughly underwhelmed. Bugginess aside, it just feels
like a significant step backwards in terms of intuitiveness and usability.

It's as if Apple (obviously) had to do something and prioritized jumping on
the flat UI bandwagon over a well thought-out / polished experience.

------
hacliff
This is assuming that everyone is chasing the same level of perfection as
apple. If the web can provide a "good enough" interface will the bulk of
developers go to the extra effort of native apps?

Currently things like games are (largely) not good enough on mobile web and so
the issue is forced, but building a native app for a nicer blur effect?
Probably not.

~~~
rimantas
I'd argue that bulk of developers are already doing native. The thing is,
extra effort is required to replicate with web technologies even simple things
that native SDKs offer. If everything you know is HTML, JS, CSS then yes,
learning iOS or Android SDK will require some effort but it is worth it. Even
the best webapps still feel subpar on iOS6, on iOS 7 they will feel very
clumsy.

------
ozataman
Nice to see a non-negative analysis of iOS7. Not having tested it myself, I
hadn't realized that iOS7 was actually pushing the boundaries of what's
possible with modern hardware. My previous impression was that, if anything,
it was a simplification of sorts and that seemed a dubious direction. Thanks
for pointing this out!

------
seclorum
Apple haven't done anything with iOS 7 that I can't do with MOAI.
([http://getmoai.com/](http://getmoai.com/)) By taking this direction, they've
given me even more reason to ignore their Native GUI frameworks and continue
to focus on implementing a clean, usable GUI using non-native (read: 100%
cross platform) technologies.

I think this is a good thing, personally. I don't see any reason to write code
specifically for iOS any more, when I can, just as easily, declare a similar
GUI function in a language that will work on all platforms.

------
EricMuller22
iOS 7 implementing "troll feature requests" for web developers had me
chuckling. For the most part, I'm finding iOS 7 to be great.

------
ChikkaChiChi
Apple doesn't need to introduce delicious eye-candy to its interfaces that
nobody needs to hamper web developers...they can just keep neutering the shit
out of WebView by keeping it several generations behind the Safari javascript
engine.

~~~
arcosdev
Bing! Give the man a prize! I totally agree.

------
svantana
Another cynicism that comes to mind - this won't only help staying ahead of
competitors, but also perhaps persuading owners of older iphones to get a
newer device, even though they were fully satisfied up to this point.

------
Gravityloss
Why is blur supposed to be computationally intensive? It's very simple
mathematically...

~~~
pja
It's not the computation itself, it's the GPU memory bandwidth it takes up.
(Assuming you're doing it in real-time of course.)

~~~
seclorum
Shaders.

~~~
potatolicious
Most certainly you want to use a shader, but that doesn't fix all your
problems. You have to push a (very large) texture across the bus. The GPU will
chew on it and spit out the result, which you then have to pull back across
the bus into main memory so that it plays nicely with other UI elements that
are CPU-bound and not cached in VRAM.

So you've removed the processing bottleneck in exchange for a bus bandwidth
bottleneck :(

~~~
Gravityloss
are you sure it has to be pulled back to main memory?

~~~
seclorum
Yeah, that doesn't make sense to me either. Especially since the entire point
of the recent changes to iOS is precisely to get everything on-screen handled
by the GPU, in the first place ..

------
angersock
What's funny here is the idea that somehow commodity SoCs will not soon be
catching up and providing the same hardware benefit to all the competitors.

Hiding behind a hardware wall is not a safe place to be these days.

------
drivebyacct2
"Try copying this assholes"

Seriously? I can't get over there are iOS fanboys out there still with their
heads so far in the sand.

Along with more characterizations of web development that are a decade out of
date... sigh. (And anyone who doesn't understand what I mean should watch the
Shadow DOM and Polymers presentations from this year's Google IO. They really
need to put the Sandbox on a public url for a quick impressive demo...)

~~~
rimantas

      > I can't get over there are iOS fanboys out there still
      > with their heads so far in the sand.
    

Those iOS fanboys are just knowledgeable enough. Why don't you spend some time
and educate yourself on a couple of things. First, where the first usage of
the cornerstones of modern web tech appeared in the wild: I mean <canvas>, CSS
transitions and animations. You may be surprised. Second, learn a bit what
native SDKs offer. Once you know the state of "modern web" and the state of
modern mobile OSes SDKs you may be less tempted to try to compare them. Trying
to portray web stack as superior is laughable and the person making such claim
probably has his head in the darker place than sand.

~~~
drivebyacct2
Ah, yes. Assume I'm ignorant about the technology you claim is superior (the
exact same thing happened the last time I tried to point out that the web has
advanced a bit in the last 10 years). I didn't even try to make any claim
about the web being better than native, but for your own knowledge, I have
experience with native SDKs from win32, to cocoa, to android and iOS.

>Trying to portray web stack as superior is laughable

In what regard? Surely not in ease of development? Ease of learning?
Ease/portability/availability of tools? Portability of the end app itself?
Available developer pool? Open source code to look at and use? I can't imagine
a way that any native platform beats the web in any of those categories.

Or just in terms of making a fancy animation and having reusable UI elements?
You're probably right, but oh wait, if only you'd investigated Shadow DOM and
Polymers like I recommended you'd see that web technologies are rapidly
advancing on that front as well.

~~~
pbsdp
> _Surely not in ease of development?_

Nope. Building a complex _application_ in JS+HTML+CSS is still an enormously
painful undertaking.

> _Ease of learning?_

Also nope. Complex applications are still complex.

> _Ease /portability/availability of tools?_

Compared to the development tools for other platforms (IDEs, profilers, etc),
the web tools are far, far, far more limited.

> _Portability of the end app itself?_

Portability is a cost-cutting measure, but never a user-appreciated feature.
The web would need to stand alone as a first-tier platform for this to be a
net gain; as it is, web-only experience is subpar.

> _Available developer pool?_

Quality engineers capable of producing first-class _applications_ for your
users still cost a lot and are rare on the ground.

> _Open source code to look at and use?_

This is not even remotely unique to the web.

> _You 're probably right, but oh wait, if only you'd investigated Shadow DOM
> and Polymers like I recommended you'd see that web technologies are rapidly
> advancing on that front as well._

Catching up to 1990s application architecture is not really a cause to
celebrate. The technology stack that drives desktop and mobile devices is
_massive_. We don't build custom interfaces directly on top of OpenGL and call
it a day.

~~~
jdgiese
Hmm, I suspect that the comparison is relative, whereas many of your comments
are absolute. E.g. Quality engineers are certainly hard to find, but are good
javascript developers _harder_ or _easier_ to find than iOS developers? I
don't really know, but I suspect that good javascript developers are easier to
find. Also, I think web-development tools are pretty on par to xcode.

------
dakimov
You may be surprised, but iPhone 5, or even more, Galaxy S4 are capable of
much more than that crap. Like the full 3D with bump mapping, environment
mapping and dynamic lighting.

The main problem is iOS 7 does not invoke a desire to copy it.

Whereas various items of the old iPhone's UI can be found all over the web.
That UI style is so routinely copied nobody even notices. Some things from the
iPhone have even become some sort of a standard.

