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.
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.
I think you may be underestimating the impact of the touch screen. It's wasn't just that it was touch, it was the phone. I can't find it, but I remember reading industry reactions that were incredulous that it was even possible to have enough power to drive the screen for significant periods. That large touch screen really set the iPhone apart.
I think you meant 'performance' instead of 'capability'.
As far as 'performance', Apple has never been one to put performance numbers up as a selling point. Macs have never been marketed as an X (M|G)hz machine with Y (M|G)B RAM. Those were details Steve felt should be abstracted away from the user. So, I'd agree with you that the success of iPhone has never really been driven by 'hardware performance', as that is the popular habit of Apple.
That said, it remains that iPhone is still a fairly powerful smartphone, as they come, and the author seems to be arguing (rightfully so, IMO) that Apple is cashing in on that fact through leveraging that for the aesthetic design of their software.
Arguably, all mobile OSs have to be built with some amount of mindfulness to the performance of the lowest common denominator device. Android could be pretty low, whereas Apple's lowest common denominator device for iOS 7 still has moderately powerful specs.
>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.
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.
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.
>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...
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.
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.
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.
In time. I think the battery life vs. computing power tradeoff took a turn in 2007 because batteries were finally robust enough to handle a bright screen for a reasonable amount of time.
Ideally I would like a device which has a battery which, when bought, will last the lifetime of the product.
> 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?
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.
Background apps was a pretty big one when iOS4 came out, and couldn't run on the 3G. (I actually jailbroke to get the feature, and it was painfully slow)
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.
I find the web programming model to be very difficult and limiting relative to desktop or mobile UI development. I don't take on any development work in that area because it is so unpleasant to me (JavaScript, HTML/CSS, DOM manipulation, and making that stuff work on multiple browsers reliably). I suspect I am not the only one hoping that someone comes up with an entirely new web development model that is much more like classic desktop UI development, and portable. JavaServer Faces was one attempt I can think of. GWT is another.
The user experience with web apps isn't there yet either, particularly for mobile where you don't have a mouse, keyboard, and screen real estate to burn.
There are of course many other advantages web-based applications. Good application UX is just not one of those advantages and I think it is the main reason that native continues to rule mobile, not anything Apple or any other mobile OS vendor is doing.
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.
Can you name an app that charges that isn't in the App Store? There's plenty of apps in the App Store that are "HTML apps" (built using PhoneGap, Titanium, etc)
> - 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.
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.
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.
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.
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.
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.
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.
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!
Apple haven't done anything with iOS 7 that I can't do with MOAI. (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.
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.
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.
Actually, in a naive implementation it is very computationally intensive, especially with large convolution cores (like on iOS 7 where it appears huge) and high resolutions.
Even optimized implementations on GPU are still computationally intensive compared to alpha blending.
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...)
> 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.
Due to the degree that each of the major mobile players "cross-pollinates" or "copies" these days, why are we even still talking about who is copying who? Who cares? Looking at these new iOS demos, I see a lot of things that were first done elsewhere. But to most people (outside of our ivory tower), that doesn't matter, and it shouldn't.
But Apple shouldn't be faulted for some of these "borrowed" elements in iOS 7. Google does the same thing, Microsoft does the same thing, and so does everyone else. In fact, I expect them to copy good things, because I as a consumer want the best for my money. Stay on your own stubborn, outdated path and end up like RIM.
Yeah, I am an iPhone owner and prefer it to Android, but this article is just asinine.
First of all, you can absolutely do anything iOS does on the web; it's just a question of how much effort you're willing to put in. There's not a library already in existence that you can use easily which perfectly mimics iOS 7, but if there were then iOS 7 would need more work. But there will be web libraries that allow you to mimic iOS 7.
The whole concept of "X platform can't do this" is so wrong headed to begin with. When it comes to software, the first thing anyone should learn is that anything can do just about anything. The limitation is hardware.
[+] [-] ajross|12 years ago|reply
The stuff this is talking about is just eye candy. The original iPhone was much more than an eye candy improvement.
[+] [-] potatolicious|12 years ago|reply
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.
[+] [-] scott_s|12 years ago|reply
[+] [-] joshavant|12 years ago|reply
As far as 'performance', Apple has never been one to put performance numbers up as a selling point. Macs have never been marketed as an X (M|G)hz machine with Y (M|G)B RAM. Those were details Steve felt should be abstracted away from the user. So, I'd agree with you that the success of iPhone has never really been driven by 'hardware performance', as that is the popular habit of Apple.
That said, it remains that iPhone is still a fairly powerful smartphone, as they come, and the author seems to be arguing (rightfully so, IMO) that Apple is cashing in on that fact through leveraging that for the aesthetic design of their software.
Arguably, all mobile OSs have to be built with some amount of mindfulness to the performance of the lowest common denominator device. Android could be pretty low, whereas Apple's lowest common denominator device for iOS 7 still has moderately powerful specs.
[+] [-] coldtea|12 years ago|reply
No, they really didn't. Any citation?
[+] [-] zachwill|12 years ago|reply
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|12 years ago|reply
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.
[+] [-] apike|12 years ago|reply
> As a side effect, they’ve embraced conventions that will be hard to emulate with commodity hardware or web tech.
[+] [-] Zikes|12 years ago|reply
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|12 years ago|reply
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...
[+] [-] bornhuetter|12 years ago|reply
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|12 years ago|reply
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|12 years ago|reply
[+] [-] potatolicious|12 years ago|reply
Optimizing battery life by getting rid of animations and graphical effects would be extremely penny-wise, pound-foolish.
[+] [-] danielrhodes|12 years ago|reply
Ideally I would like a device which has a battery which, when bought, will last the lifetime of the product.
[+] [-] lallysingh|12 years ago|reply
[+] [-] baddox|12 years ago|reply
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|12 years ago|reply
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.
[+] [-] calebegg|12 years ago|reply
http://support.apple.com/kb/HT5457
Also, some OS X stuff, like AirPlay mirroring or Power Nap require up-to-date hardware:
http://support.apple.com/kb/ht5444
[+] [-] bdcravens|12 years ago|reply
[+] [-] coob|12 years ago|reply
[+] [-] jenius|12 years ago|reply
- 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.
[+] [-] alayne|12 years ago|reply
The user experience with web apps isn't there yet either, particularly for mobile where you don't have a mouse, keyboard, and screen real estate to burn.
There are of course many other advantages web-based applications. Good application UX is just not one of those advantages and I think it is the main reason that native continues to rule mobile, not anything Apple or any other mobile OS vendor is doing.
[+] [-] sjtgraham|12 years ago|reply
I don't think you know what a low level language is. Also, Obj-C is quite a breeze to learn.
[+] [-] bdcravens|12 years ago|reply
Can you name an app that charges that isn't in the App Store? There's plenty of apps in the App Store that are "HTML apps" (built using PhoneGap, Titanium, etc)
[+] [-] gcb0|12 years ago|reply
- native means control.
[+] [-] pbsdp|12 years ago|reply
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.
[+] [-] skilesare|12 years ago|reply
[+] [-] methodin|12 years ago|reply
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|12 years ago|reply
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.
[+] [-] kevinbluer|12 years ago|reply
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|12 years ago|reply
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|12 years ago|reply
[+] [-] ozataman|12 years ago|reply
[+] [-] seclorum|12 years ago|reply
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|12 years ago|reply
[+] [-] ChikkaChiChi|12 years ago|reply
[+] [-] arcosdev|12 years ago|reply
[+] [-] svantana|12 years ago|reply
[+] [-] Gravityloss|12 years ago|reply
[+] [-] pja|12 years ago|reply
[+] [-] wetmore|12 years ago|reply
[+] [-] dakimov|12 years ago|reply
Even optimized implementations on GPU are still computationally intensive compared to alpha blending.
[+] [-] angersock|12 years ago|reply
Hiding behind a hardware wall is not a safe place to be these days.
[+] [-] drivebyacct2|12 years ago|reply
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|12 years ago|reply
[+] [-] gtaylor|12 years ago|reply
But Apple shouldn't be faulted for some of these "borrowed" elements in iOS 7. Google does the same thing, Microsoft does the same thing, and so does everyone else. In fact, I expect them to copy good things, because I as a consumer want the best for my money. Stay on your own stubborn, outdated path and end up like RIM.
[+] [-] mtdewcmu|12 years ago|reply
I'm pretty sure Steve Jobs would be rolling in his grave if the UI was that busy. He was into sleek.
[+] [-] ebbv|12 years ago|reply
First of all, you can absolutely do anything iOS does on the web; it's just a question of how much effort you're willing to put in. There's not a library already in existence that you can use easily which perfectly mimics iOS 7, but if there were then iOS 7 would need more work. But there will be web libraries that allow you to mimic iOS 7.
The whole concept of "X platform can't do this" is so wrong headed to begin with. When it comes to software, the first thing anyone should learn is that anything can do just about anything. The limitation is hardware.