Report Finds Performance of Web Apps Throttled on iOS Devices
readwriteweb.com
readwriteweb.com
After replicating some of the tests, as I documented here http://news.ycombinator.com/item?id=2317975 in the comments, then here on my site in full, http://trending.us/2011/03/12/performance-numbers-for-nitro-....
That was Friday. Then yesterday the author of the Register story, Cade Metz, contacted me out of the blue about my blog post. I more or less told him (what I imagine every developer he contacted about this story) was that Yes, it runs slower in UIWebViews and that No, its not an Apple conspiracy, and that this appears to be a bug that Apple is now aware of going by posts in the Developer forums. I told Mr. Metz that if he can get into the dev forums, he can see for himself, but that I could not directly provide links or anything because the forums are confidential. I don't intend to lose my developer license, thank you.
Then yesterday afternoon, the story was published. I was not referred to directly (for which I am thankful), though perhaps one of his anonymous sources was a paraphrasing of some of the things I said.
Now here we go again in the echo chamber that is the Valley, where ReadWriteWeb is regurgitating a non-story published by The Register, that was verified by me and others on our personal sites, that I (we?) heard about from Hacker News, that was originally reported by someone else who first found the problem.
Assuming marcusramberg was the original discoverer of the this, has he gotten any credit? No.
Fucking mountains out of molehills.
http://www.theregister.co.uk/2011/03/15/apple_ios_throttles_...
IMO, it doesn't add much to the discussion except for this nugget at the very end of the article:
"This developer reiterates that if Apple didn't specifically introduce these problems in iOS, it's aware of them now. And he says that the Mobile Safari team has indicated the issues will not be fixed."
What does 'indicated' mean? Presumably not the same as 'said'.
Occam's razor suggests that they simply hadn't finished the integration work before the ship date.
Web Clips use a special app wrapper that uses UIWebView, that is all.
This affects real apps that use UIWebView to display HTML content, which is a lot of apps, including probably some of Apples own apps.
You would think UIWebView would share the same WebKit with Safari, but Apple didn't do this, I doubt their reason are nefarious, probably just allows them to try new stuff out in the browser while being more conservative for the developer component.
The issue is that no apps other than MobileSafari can do JIT compilation, due to security constraints put in place by the kernel. You can't write to a segment of memory and later make it executable.
To pull this off with MobileSafari, I suspect that Apple put a back door in the kernel, and requires apps to be signed with a specific entitlement to get access to it. And I'm guessing that MobileSafari is the only app with this permission.
For full screen web clips, it might be possible for Apple to give the wrapper the right permissions without breaking their security model. Hopefully they do this in the future. But I doubt that 3rd party native apps will ever be given the ability to modify code.
That'll be a bit like the ARPA/Vint Cerf asking 30% of all e-commerce revenue that flows over the net and Tim Berners Lee for all things over HTTP traffic. After all, they invented it, right?
Comcast spent the money to wire through the last mile, they feel they deserve some of the money that Google, Amazon, Netflix are making, net neutrality notwithstanding. Do you agree?
It was their decision to go open. Maybe not directly in both cases, and one could argue that Time Berners-Lee didn't really know that what he started in 1980 would turn out to be the World Wide Web. He set out to solve a problem that is tangential to the purpose of the WWW at large, but that's besides the point.
There has never been shortage of companies who set out to create proprietary network protocols and document creation/collaboration tools; and they did. Many still exist today. The openness of TCP/IP and HTTP were prerequisites to their widespread adoption. That is, the WWW we know today could not exist on proprietary protocols because the very concept is built on layers of open interchange. There are significant conceptual differences between networking and computing platforms though. At least currently.
> Comcast spent the money to wire through the last mile, they feel they deserve some of the money that Google, Amazon, Netflix are making, net neutrality notwithstanding. Do you agree?
In order for any carrier to deliver to the last mile, they must obtain public land-use rights (right-of-way and utility poles), and are therefore regulated (and should be) to make sure they don't abuse public resources. I can create an open competitor to any iOS device tomorrow without using limited public resources. I cannot enter the carrier market without significant use of limited public resources. There is no parallel here.
Apple created the iOS platform as a closed, proprietary, curated, walled garden from the very beginning. Remember when you couldn't build native iOS apps? Yet this thread is opened with the argument that "developers and users both want the full capability of the device to be theirs". I don't think you can lump developers and users in as one. iOS devices are selling at a startling rate despite arguments that open is better. Stop and consider for a moment that maybe we're the ones who are out of touch with what users want. The numbers certainly appear to support that position.
The answer, in my mind, is not to bully Apple in to opening their platform. Quite the contrary. So far, all the whining and complaining has done is push Apple to open their platform "just enough". Just enough is figurative, because by any literal measure Apple is killing it. They're making billions. The answer is to leave Apple to their own devices and focus on your own solution. If you believe Android is the solution, pick up a book on Android development and get to work on apps that rock. Don't focus on killing iOS, focus on killing period.
What about this new rule about subscriptions then?
http://www.washingtonpost.com/wp-dyn/content/article/2011/02...
http://www.computerworld.com/s/article/9209580/Apple_s_new_A...
>iOS devices are selling at a startling rate despite arguments that open is better.Stop and consider for a moment that maybe we're the ones who are out of touch with what users want. The numbers certainly appear to support that position.
Same argument can be made about the Windows monopoly. After all, people seem to buy it right?
How many users know about how and why Readability was rejected from the App Store?
http://blog.readability.com/2011/02/an-open-letter-to-apple/
How many users know that the Reader feature in Safari was done using OSS source code taken from Readability?
How many users know about Apple rejecting Pulitzer prize winning author's app? How many users know about Apple rejected a magazine app because it was an Android magazine?
However, the bigger failing is the failure to recognize these even among technical people, most of whom seem to have something akin to devotion for Apple. No wonder Gruber's posts are so popular here.
I think it sucks. I think it reflects a narcissistic view of the company and their platform. I think it's bad for innovation on the iOS platform. I wrote about it on my blog too [1], but so what? Users don't care about that either, apparently.
Interesting that you'd say that about Gruber, because the majority of the time I've seen his posts show up here, he gets lynched.
Please don't confuse my remarks with saying that Apple is "right" in any greater sense than that they're making a lot of money. The problem is, users aren't asking questions about what's right, but that's nothing new. If we want an open platform to be widely accepted, it has to deliver what users want, not what we (geeks) want, and it won't sell based on any higher "principles".
> However, the bigger failing is the failure to recognize these even among technical people, most of whom seem to have something akin to devotion for Apple.
You'll make as much headway fighting against this (devotion to a product) as you will fighting religion. As one of the greatest marketers I ever met once told me, "No one but schools and universities ever made any money trying to teach a customer anything." His point is that buyers are just as self-centered as Apple. They're not interested in being taught why they want something; they want whatever scratches their itch. Some people are interested in what's "right", but for most people, it never crosses their mind.
I also reject the notion that this is any sort of "failing" on the part of someone who buys an Apple device. Business isn't always quid pro quo. I still assert that Apple wears their intention on their sleeve. If you don't like what they're doing, you shouldn't buy their products.
1 - http://www.bradlanders.com/2011/02/21/its-not-greed-its-narc...
Nitro doesn't use substantially more memory than the earlier engine.
Maybe that flag's been set for MobileSafari but not set for Springboard.
[1] http://www.engadget.com/2007/06/11/apple-announces-third-par...
I am running a twitter poll on how many web apps people have saved to their iPhone: http://twtpoll.com/r/g3bnth
I have a pretty techy following and this just doesn't seem to be done with any regularity. Maybe half of the people have saved at least one web app, but how many native apps have they installed.
I think this tells us two things:
1) saving a web app doesn't really make it any better than just using that web app in mobile safari.
2) apple has little incentive to prioritize the testing and developing of this feature since so few people actually use it.
Seems like a non-issue to me.
However many normal apps use UIWebView to display HTML content. Any app you use the jumps to a web page but stays in the app definitely does, some apps you might not even know you're using HTML UI instead of Cocoa, the integration is pretty tight, sometimes it simply easier to make parts of your UI in HTML and embed as a resource and just point UIWebView to it.
So yes users use it all the time, but usually as part of a real app.
Though doesn't that really lend credence to the idea that this was an oversight and not an intentional slight at web apps?
Ordinary users may not do this (yet?); but I develop webapps for companies (to be used internally) where we have users add the app to the home screen (or we do it for them). Once this is done, they don't know the difference between a native app and our webapp.
For non-technical users it would be quite complex to launch Safari and select a bookmark to operate an "application".
Try installing an app that is based on OpenAppMkt like http://khanapp.com and notice that it asks you nicely to add it first to the home screen before running.
As an iOS web developer you can use the navigator.standalone JS var to detect if the app is running straight from the home screen, and ask the user nicely to install it if they haven't done so.
Why would you prefer users to do this? Because it removes the location bar chrome, which can result in a near-seamless fullscreen interface that more closely resembles a native app.