Apple Handcuffs Web Apps On iPhone Home Screen
SF Polack writes "On Apple's iOS 4.3, HTML5 and JavaScript apps are running significantly slower when they're run from the iPhone or iPad home screen rather than Safari, and the OS is hindering the performance of these apps in other ways. The end result is that it's harder for web apps to compete with native iOS app sold through the App Store, where Apple takes a 30 per cent of sales."
Doesn't iOS have backends that needs tending, like I don't know, being able to receive calls and mail?
Why would it be about 30%, most web apps are free and 30% of zero is zero. Apple allow free apps in their store.
This bug only occurs when you launch a web app that contains a meta tag of name="apple-mobile-web-app-capable" content="yes"
If your 'web app' is just a shortcut to Safari on your homescreen then you won't see this bug.
Basically this web app meta tag launches the app fullscreen without any Safari chrome. To the user it looks like a separate app rather than it's running in the browser.
The slow behaviour is just using the iOS 4.2 JavaScript engine. It's possible that this is either an oversight or that Apple deliberately kept the old JavaScript engine for web apps in case it broke functionality that the app was depending on.
We'll see in the coming weeks I'm sure.
After Jobs said in public Apple was committed to supporting HTML5?
Come on Slashdot, open the conspiracy theory floodgates! Clearly, Apple is deliberately screwing web application developers!
I'm sure this is a bug and not by design as the OP's argument doesn't make much sense. Most native app versions of services that also offer webapps are free anyways. Apple gets to eat the distribution overhead for no 30% cut. Just sayin.
Bookmarks created on the home screen load much slower than those cached by mobile safari -- I've used applicationCache, and using mobile safari + bookmark is quicker in iOS 4 (prior to 4.3). It's likely intended to keep mobile safari and "apps" separate, should one crash (out of memory), it would not impact the other. But it seems to be poorly thought out / poorly engineered. It is frustrating that users who add to home page get a worse experience than users who add to bookmarks. Mobile safari itself could use some improvements there. Perhaps its own version of the home screen, in addition to the traditional bookmarks list.
This is what you get in the walled garden. Just don't buy an ios device if that's not what you want. Duh.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
I have not RTFA but I think the summary got it the wrong way round: If apps are running slower when run from the home screen compared to Safari, this would be an advantage of web apps as opposed to native apps. So if the article makes any sense, apps should run slower in Safari.
What? You can't install "web apps" on your home screen. Except for shortcuts that launch Safari, which would run with the newer, faster engine.
AFAIK those "native iOS app sold through the App Store, where Apple takes a 30 per cent of sales." are precisely those that get launched from the home screen, which will be slow when displaying an embedded "WebView".
Did I understand this the other way around or did the summary just twist facts about 540 degrees? Please correct me if I'm wrong.
Given that Web-based apps are typically free, I'm a bit skeptical about #1. But guess which explanation made the headline?
... buy an Android... :)
The cause of this has been discovered already; it's a software bug. iOS 4.3 has a new JavaScript engine. Websites launched from the home screen seem to be reverting to and using the old JavaScript engine from iOS 4.2. The article makes it sound like a conspiracy. I'm sure it'll be patched soon; I can think of no obvious reason to do this but give the same apps full speed if bookmarked within the web browser.
It's unclear whether these are accidental bugs or issues consciously introduced by Apple.
So, they have no idea whether or not it's actually malicious, but they've decided to run with the story using an inflammatory headline anyway.
According to Apple developers posting to the web, the speed issue has been discussed in the company's developer support forums, and one developer – the same unnamed developer quoted above – confirms with The Reg that multiple bugs have been filed on the issue.
Developers are using proper channels to report what's most likely a bug and this is most likely a non-story as of the next minor update, but they've still decided to run with it anyway.
Apple isn't degrading the speed of home screen web apps. It's boosting the speed of web apps in the browser. But in the long run, the effect is the same. And if this is a bug, Apple has yet to fix it.
So, in fact, Apple hasn't intentionally hobbled anything, it's just that they haven't sped them up, possibly due to a bug, yet they're still going to run this story.
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.
You'd think that such damning evidence would be posted, but it isn't. Complete hearsay, but they've decided to run the story, inflammatory headline and all, regardless.
>Why would it be about 30%, most web apps are free and 30% of zero is zero. Apple allow free apps in their store.
Not anymore if it involves any money exchanged between the user and the app provider. Now Apple is forcing (users of) subscription services like Amazon and Netflix to pay up 30%. ( an extra 43% to the user). It's curtains from June.
http://www.washingtonpost.com/wp-dyn/content/article/2011/02/19/AR2011021902399.html
Free app Readability already got banned for this.
http://blog.readability.com/2011/02/an-open-letter-to-apple/
Free Sony e-reader app banned:
http://voices.washingtonpost.com/fasterforward/2011/02/apple_bans_sony_e-reader_app_a.html
This space for rent.
Why is it that whenever Apple does anything that has a negative consequence, people assume it's part of some evil plan for world domination. While they might be crippling things deliberately, there is a simpler explanation that doesn't need quite so much hyperbole.
Nitro is a JIT. As a JIT, it builds machine code on the fly and executes it. In the iOS security model, that's considered “uncool”, and regular apps aren't allowed to do it. (That's why if you write code using C# with Monotouch, it compiles it down to actual ARM code rather than using a JIT.)
Apple appears to have hacked their security model for Safari, allowing it to break their rules. They've done that kind of thing for a long time —the iPod app could play music in the background long before other apps could, for example. It may very well be that at some point in the future, regular apps with have access to the Nitro JIT too, but for that to happen, Apple has to work out some better way to allow it than their current method of “if it's Safari, it's okay”. Hopefully they'll have some incentive, because if any app needs a good security model actually in place, it ought to be the web browser.
I am so much happier with my Droid X than I ever was with my iPhone. And the Droid still needs bugs worked out in it. But it just isn't putting me into an ecosystem with a situation like that.
The Invisible Hand of the Free Market is what punches workers in the nuts.
You are wrong.
Chronic (namesake of the Chronic Dev Team jailbreak group) tweeted:
'explanation for the "issue" of Nitro not working in full screen web apps: just a bug, Apple forgot to give Web.app a certain entitlement.'
So, looks like a permissions bug.
This is the opinion(not mine, I know this will be downvoted regardless) of this very interesting and detailed article which I wanted to post.
http://blog.millermedeiros.com/2011/01/ipad-is-the-new-ie6/
This space for rent.
iPhone, iPad, iAnything are purely sales platforms for Apple.
Don't expect Jobs to be in a hurry to fix this -- he doesn't think it's broken.
Is anyone surprised? This is what happens when you decide to use a closed system.
The customer always pays. Apple forces apps into the app store so Apple can get their 30%. The devs pass that cost on to the customer.
Add in a higher than average up front cost for the device. iOS users need to speak out on this. Stop paying more for less!
I find being offended by me offensive.
You might have hit the nail on its head. http://blog.millermedeiros.com/2011/01/ipad-is-the-new-ie6/
The only difference seems to be that MS didn't have sensitive fanboys armed with modpoints and blogs full of worship and long justifications for the shit that Apple pulls.
The end result is that it that harder for web apps to compete with native iOS app sold through the App Store
Anyone else not understand this?
this is a game that have been played before but with other dealers
They didn't cripple, handcuff, or kneecap anything.
They just didn't UPGRADE the web-app-run Safari to the new Javascript engine.
web-app-run websites will run at the same speed as in 4.2, they just won't run FASTER, as a 'Safari-run' website would.
Still not great, but not what people are calling it out as.
Another non-functioning site was "uncertainty.microsoft.com."
The purpose of that site was not known.
I see a lot of people here saying that web apps are mostly free so why would Apple care about revenue. I think you're missing the point. Money is only part of the equation for Apple; control is the other. With traditional on-device applications, Apple can put all those happy little rules that they do on application developers, with web apps they can't. With the coming of HTML5, Apple knows a lot of devs who are currently writing native applications are probably going to jump ship (some already have) and move to web apps to avoid the hassle and the delays of getting their apps approved to the iTunes Store. And, for every developer that does that, Apple loses a little more control.
Of course, this could, and probably is, just a glitch in the JavaScript engine on iOS devices. If it is, I suspect we'll see an update soon that addresses this and, if it isn't, we'll probably see some 'usability' excuse issued by the company as to why things have to be this way. Instead of jumping to 'Apple is at it again' conclusions, let's wait and see.
Not using the new JavaScript engine in UIWebView (the component used to render web like content) is a good thing in my eyes. It is pretty hard to debug JavaScript apps in UIWebView, since you don't have things like a DOM inspector or a JavaScript debugger. By keeping the engine the same, they have guaranteed that the existing UIWebView based apps will continue to function after the upgrade to 4.3. Imagine if every app making heavy use of UIWebView had subtle errors after the upgrade... I *would* like to see the faster engine available to UIWebView, but in the mean time, I will take compatibility.
Way to go /. - your headlines are getting closer and closer to Gizmodo everyday.
I wrote one of these that caches some graphics and the single html page the comprises the app, which is mostly javascript. Using 4.3 it still runs fine offline, so whatever cashing bug exists does not affect everything. Running the app through iphone's Safari might be a little faster. I didn't time it, but the difference, if there is one, is not dramatic.
I see dozens of ignorant comments here claiming that webapps on the home screen are just Safari bookmarks. What makes them real apps is that they can store themselves and the resources they need on the device and work offline.
I'm not sure I understand the distinction between web apps launched from the home screen and web apps launched in Safari. I have an Android so maybe I'm just unfamiliar but it sounds like home screen apps are just bookmarks to websites. When you open the bookmark wouldn't it launch in Safari? Is this only an issue in iOS 4.3 or was it in previous versions?
Poster: you're an idiot.
Note this bit in the same Reg article:
All three issues also affect native iOS web applications that uses Apple's UIWebView API – i.e., native applications that tap the web in a big way.
So it's saying apps available through the app store are also affected if they use the built in HTML renderer. Doesn't this show that it wasn't an intentional way to make apps look better, otherwise apps would have access to the new faster engine too,
The Reg is just trolling for pageviews.
"insightful". Are you fucking kidding me? For spurious complaints about moderation that is proven wrong by this very moderation? So your post being positively modded argues against the point you were trying to make. Funny.
That X may happen to be beneficial towards achieving a goal of Y for Z is neither a necessary nor sufficient condition to conclude that X was deliberately orchestrated by Z when other explanations for X exist, particularly when a goal of Y cannot be plausibly shown to be worth the costs and risks associated with orchestrating X.
In this case substitute slow javascript outside of safari for X, more app store profit for Y, and Apple for Z.
File under 'M' for 'Manic ranting'
Surely it must be a mistake. Apple would never cripple web apps on purpose, right?
http://stackoverflow.com/questions/3009888/autoplay-audio-files-on-an-ipad-with-html5/3055115
Oh, that's right, they blocked sounds from being played by javascript, which every decent webapp game will need. And every workaround that has been found has been quickly blocked also.
Apple tell us it is to save phone bandwidth, which makes no sense on a Wifi only iPod Touch, for example. Maybe I want to create my own interface for playing audio from my own web server. Nope. Denied. Apple thinks it knows best about how I should use my own network.
Since this used to work, and now there is not even a way to opt in to scripted sound, it is crystal clear they did this for purely anticompetitve reasons. I have yet to hear a reasonable explanation from the Apple fan boys on this point.
When Safari is up front and center, let it have the majority of the CPU time. When a "web app" is on the home screen, let it compete for clock cycles with the rest of the "web apps" on the home screen and the main functions of the home screen (and the phone in general).
Maybe I am not qualified to speak on this topic, because I don't use any "web apps" to speak of on my iPhone 4, as I vastly prefer native apps. I have no web pages pinned to my home screen at all.
And stop bitching about the 30 percent that Apple takes for App Store sales. It's right in line with what Kagi, et. al., take for selling software. I fail to see how it is unfair in the least, as Apple is bringing developers a huge audience, hosting the files, footing the bandwidth, managing the update system, etc. In an ideal world, the standard percentage that a distributor takes would be less, but 30 percent is perfectly average in not only the software distribution world, but in other areas too (e.g., 20th Century Fox generally gets a lot more than 30 percent on the first run of the movies it distributes for other producers--it's more like 50 or 60 percent; maybe it will get down to 30 percent at second-run movie houses and for DVD sales).
:q!
I have a 3GS, and with the last 4 or so updates from Apple, it's been consistently getting slower and slower across the board. Slower response times when starting/closing apps/keyboard trays, slower browsing, and most notably - slower than HECK at starting the camera app. Anyone else notice how horribly long it takes to start the app and take the first photo sometimes? That never happened before.
I'm almost certain at this point that they're trying to 'force' upgrades to the new iPhone 4 by making their old devices slower. Sure it sounds conspiracy theory; but I've already seen a lot of it happening. It's already been proven by the jail-braker guys that the 3GS can do HDR photography just like the 4G with just the flip of a single registry bit. The iOS SDK also supposedly required the new version of Snow Leopard OS, unless you also flipped a hidden registry bit and it worked fine on the old OS.
And with my tinfoil hat on, I also notice there is no way to roll back your iPhone to an earlier version of iOS so I could do some timed comparisons. In fact, given my choice, I'd roll back to right before they introduced multithreading - which really seemed to do nothing other than slow my phone down and show that I'm only getting half the bars I used too (if you remember that fiasco).
when did we forget that javascript is garbage? everyone needs to quit writing absolutely EVERYTHING in javascript.. imagine the dos world if EVERYTHING was written in qbasic. please, for the love of the lord who loves/hates you, write your code in something that produces slim, native binaries!
So the real story here is "iOS Safari has got lots better in 4.3 and iOS web apps run just like they used to." Doesn't exactly sound like Apple adding handcuffs to me. Sadly that didn't make a good enough headline for The Register and anyway El Reg loves a conspiracy theory.
The fact is that this is almost certainly just a versioning issue with the UIWebView code. When you launch a Web App in iOS what actually happens is that it a launches a dummy app that just consists of a full screen UIWebView pointed at the web page. Other than when Apple releases new full version (e.g. x.0 release) the UIWebView code has typically trailed the code in Safari by at least one point release. This "bug" quite possibly "won't be fixed" as a bug because it will just come out in the wash. If there is ever an iOS 4.4 I'd expect to see it resolved there, otherwise I'll put money on it being fixed in iOS 5.0 come the summer. Apple aren't going to put up with on-going maintenance of diverging WebKit code bases just to make sure that Objective-C applications stay running even faster than JavaScript than they would with Nitro.
If intelligent life is too complex to evolve on its own, who designed God?
What is the most likely reaction of an average iPad user encountering a slow app?
1) WTF why is my brand new $500 toy so slow and sucky!
or
2) Boy, the javascript rendering on this bad boy is severely lacking, I wonder why that is?
For a company so clearly centered on the "user experience", it's certainly in their best interest for ALL apps to run smoothly and as fast as possible - be them "real" apps or "web" apps. How many iPad users do you think could actually tell the difference between the two in the first place? I'm all for a good Apple is Evil conspiracy - but this one stinks.
You buy whatever THEY deem as a "smart" device and you are REQUIRED to buy a data plan.
You are not required to buy a data plan. They only heavily advertise subsidized phones that include the data plan and beat you over the head with "DATA PLAN IS REQUIRED FOR FULL USE OF FEATURES!!!" You may be able to buy a partially subsidized phone with a contract extension and just not get a data plan. I did that with T-Mobile already and just use Wifi. I pay only for voice and a few text messages.
Nobody will tell you this. The website doesn't say it, and the store employees don't say it. They even say the opposite. I rolled the dice with a purchase online, and I do get WiFi and don't pay for a data plan. I could have gotten an additional $50 rebate on the price of the phone if I chose the data plan, however.
It's Microsoft, do it their way or don't do it. Complaining to Slashdot about it just makes the majority of us roll our eyes.
Ballmer calls this winning.
duh
You forget that 30% ++ of /. readers are Mac users, and those get mod points, too ;D
angel'o'sphere
Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
I know it is too late in the life of this discussion for anyone to actually read this, but I see another angle on this that I feel is worth considering. Apple does allow free apps in the App Store and I believe they also take a cut of the advertising in these apps. Please correct me if I am wrong about this. Anyway, if someone chooses to write a web app instead of an App Store app, Apple doesn't get a cut of the advertising revenue. Again, I don't know if we're talking about enough money to justify these actions; just something else to consider.
No one cares what your captcha was
Houston TX, USA
I am a Direct TV subscriber since near the beginning. (Viacom messed up too many times and I canceled, as they were disconnecting on the pole, coincidence was with me and I chatted to the guy saying I was dissatisfied. he said well, there is our cable comany, then there is yours, with a smirk. I pulled out the Direct TV receiver boxes and said I had already chosen mine ... He'd not seen a direct broadcast sat dish yet. I told him it was about 1 hour to set up. He seemed not happy.)
... no wait) When Comcast came around and hooked up our Internet, they tried to sell us the cable TV package as well, but I said I was happy with DTV. Well, a few days later and about once a year since, Comcast has offered me free basic cable because we have a business Internet connection. They reason I suspect is so we'd no longer meet the 90 days since subscribing to cable rule for certain of the DTV packages with local sports and local networks (and distant networks if you're grandfathered in). But yes, all service providers say they have the same rules for everyone, but loss retention and new customer sales have extraordinary latitude to make exceptions. If you want to fight them. But In the above case I have a nice 3 inch portable LCD TV. Oh, and TYING is illegal in some jurisdictions and legal in others and product dependent in almost all.
But I digress due to old man syndrome (in my day we tied an onion to our belt as was the fashion of the day
- Tjp
I am in wallow with my inner money grubbing capitalistic pig. ... Oink!
If it's good enough for ISPs (and allowed by Congress), it's good enough for Apple!
Wow, the clues are sparse today...
THAT IS THE POINT. Web apps are slower, and there is NO REASON they should be.
Slower than what? Native apps? They have always been slower. Slower than when run directly in Safari? Yes, but so fucking what - run them in Safari. But ultimately: slower than before the update: Nope -just as fast as before the update. Hence Moronic Apple Haters Say Stupid Stuff All The Time. That is the point.
Fandroids hate facts.
I have an iPhone and an iPad and they are great devices - I'm far from an Apple hater. But I won't put blinders on and assume every business decision Apple makes is one step closer to world peace, either.
I have even created iOS and iPhone-customized web apps, how about you? I doubt it...
Anyway, you sure are a Mac fanboy, but not very cheerful.
As for cheerful - fuck, look at what you wrote, be glad I am so fucking cheerful and didn't rip you a new one.
Fandroids hate facts.
Here is the proof that Apple wants to kill web apps: Why else would they have this page.
Fandroids hate facts.
Ok, then, please tell me what about my post that offended you SO much is not true:
"Web apps are slower, and there is NO REASON they should be. iOS apps are getting banned with Apple's new policy, and their alternative is pay $$ or make a web app - which will be SLOWER than it should be."
I was just stating what the article SAID (and has not been disputed), not inferring reasons behind it. Others have looked into it and found that web apps (using the same web browser core) don't use the new Javascript enhancements, do offline caching, asynchronous execution, and other HTML5 features.
All Apple has to do is state "oops, there is a bug, for some reason we forgot to test web apps from the home screen, we'll fix it ASAP!" But until then (and I won't hold my breath) there is by definition no reason given for the issue...
Ok, then, please tell me what about my post that offended you SO much is not true:
"Web apps are slower, and there is NO REASON they should be. iOS apps are getting banned with Apple's new policy, and their alternative is pay $$ or make a web app - which will be SLOWER than it should be."
I was just stating what the article SAID (and has not been disputed), not inferring reasons behind it. Others have looked into it and found that web apps (using the same web browser core) don't use the new Javascript enhancements, do offline caching, asynchronous execution, and other HTML5 features.
All Apple has to do is state "oops, there is a bug, for some reason we forgot to test web apps from the home screen, we'll fix it ASAP!" But until then (and I won't hold my breath) there is by definition no reason given for the issue...
The fact that while your facts are technically true, you left out so many other things that are true that your conclusions may seem true if you ignore those facts, but are in fact bullshit. Like you left out that the web apps are not slower than before the update. Or the fact that people can still use web apps in Safari and suddenly run them much faster than before. Or that most developers don't actually seem to mind the "new" (== some months old) policy, and their apps don't get "banned".
Fandroids hate facts.
Comment removed based on user account deletion