iPhone's Development Limitations Could Hurt It In the Long Run 452
ZDOne writes "Apple might have finally come around to allowing third party developers to create applications for the iPhone, but only up to a point. ZDNet UK claims Apple is leaving itself vulnerable to the competition and to a loss of lustre
by blocking background tasks on the device. The author notes, 'Perhaps it doesn't trust application designers or users very much. Perhaps it wants the best software for itself, where it can limit what it can do in order not to upset its telco friends. Whatever the reason, it reflects badly on Apple. The iPhone is not an iPod; it's a smartphone connecting to a universe of fast-changing data on behalf of innovation-hungry users. The sooner it stops pretending to be a 1981 IBM PC, the better it will be for everyone.'"
One one limitation, easily overcome (Score:4, Interesting)
Even if they didn't, the device itself could pack more than enough Cocoa Touch enabled power-apps that will not depend on this function to stay ahead of the competition for a long time. I'm personalty waiting for iWork Touch, which it would greatly surprise me if didn't show up by the end of the year.
A bit unrealted: how brilliant of Apple to sneak in a PDA through it's iPod market. For most consumers, it's easier to buy an iPod with PDA features, than a PDA which can play a bit of music. This will be Apple's next step in the digital lifestyle philosophy. You can no longer only carry around your music and photos, but also your docs and planner.
Um... phone network != internet (Score:5, Interesting)
Banning uncertified code? Banning background processes?
That sounds pretty damned prudent to me.
The last damned thing I want to see on the phone network is an iPhone worm getting it's hooks into the core of every iPhone in the default settings, PHONE SPAMMING half the planet, and generally turning the phone network into the same power-hungry firewalled, bloaty security nightmare that the Internet is.
I may hate the way Apple does OS X, but when it comes to the iPhone, if they can keep worms off the phone network and prevent background crapware that will drop my battery life down to 12 hours, I say good on them.
No background tasks? (Score:2, Interesting)
Re:Where is the competition? (Score:5, Interesting)
Everybody. The iPhone is the only modern phone I can think of that doesn't support J2ME, and most smartphones (Symbian, Blackberry) have their own APIs for creating native apps.
Admittedly, most J2ME-only phones don't support multitasking and, like the iPhone, are incapable of running in the background, so TFA is wrong to say that "That's a limitation nobody's had to contend with for a couple of decades". But this isn't the case for most smartphones. This is a restriction that I can see being restricted relatively soon, once developers start to realise just how limiting this restriction is.
Re:Um... phone network != internet (Score:1, Interesting)
Obviously, users will blame Apple for low battery life (and not AIM or whatever else), so Apple doesn't want to allow it right away.
Re:Um... phone network != internet (Score:3, Interesting)
So, does anyone run SSH on their iPhone? (Score:5, Interesting)
The iPhone goes into deep sleep at the drop of a hat to extend battery life. Polling connections, doing anything in the background will keep the CPU from throttling down.
From the customer's and Apple's point of views, this is a bad thing. Mostly because Apple will take the heat for the misbehaving application. For more evidence of this, check out the other slashdot story about the number of crashes caused by NVIDIA. Did NVIDIA catch the heat? No, Microsoft did.
It's a reasonable limitation until they come up with an application that the user can ask,
"Hey, my battery life sucks, where is it all going?"
and the application will say,
"The SSH server".
Re:Let the market decide (Score:5, Interesting)
I'm tired of hearing "let the market decide" in general. Nowadays it's almost always used in defense of companies that prey on consumer ignorance, the very definition of something that the market will never solve. At the very least, if the market is to select a solution, someone has to start campaigning for one instead of just sitting on our asses. It's really a justification for inaction, nothing more.
I'm tired of replying to people defending lock in for various reasons, so I'll just suggest that those posters reread the book about one of the greatest people of our time [oreilly.com]:
"Although previous events had raised Stallman's ire, he says it wasn't until his Carnegie Mellon encounter that he realized the events were beginning to intrude on a culture he had long considered sacrosanct. As an elite programmer at one of the world's elite institutions, Stallman had been perfectly willing to ignore the compromises and bargains of his fellow programmers just so long as they didn't interfere with his own work. Until the arrival of the Xerox laser printer, Stallman had been content to look down on the machines and programs other computer users grimly tolerated. On the rare occasion that such a program breached the AI Lab's walls-when the lab replaced its venerable Incompatible Time Sharing operating system with a commercial variant, the TOPS 20, for example-Stallman and his hacker colleagues had been free to rewrite, reshape, and rename the software according to personal taste.
Now that the laser printer had insinuated itself within the AI Lab's network, however, something had changed. The machine worked fine, barring the occasional paper jam, but the ability to modify according to personal taste had disappeared. From the viewpoint of the entire software industry, the printer was a wake-up call. Software had become such a valuable asset that companies no longer felt the need to publicize source code, especially when publication meant giving potential competitors a chance to duplicate something cheaply. From Stallman's viewpoint, the printer was a Trojan Horse. After a decade of failure, privately owned software-future hackers would use the term " proprietary" software-had gained a foothold inside the AI Lab through the sneakiest of methods. It had come disguised as a gift."
Re:Where is the competition? (Score:3, Interesting)
still, right now my non-smart sonyericsson Z710 can have j2me stuff running in the background. i can have a im client (ebuddy) running while doing other stuff.
the funny thing is that the only app that cant be backgrounded on that phone is the built in browser. the built in mail can, but not the browser for some odd reason...
Background Task Limitations and Battery Life (Score:4, Interesting)
In a mobile device, everything you do drains the battery. Remember also that most of the time the user is not looking at the screen and often has the device muted. Consequently, is there really a need for an application to pop up dialogs or sound alarms that will go unnoticed? Similarly, does it really have to do gather data constantly and not, say, during a sync or when the app is actually run by the user? Apple weighed those slim probabilities against the much larger probability that poorly written apps would needlessly waste battery power and put a sensible limitation on developers in order to protect users.
One last point: users don't know which app is draining all of their battery power. Once apps become available, users may well install several all at once. If their battery life suddenly went to hell, it would be a difficult process of trial and error to figure out which app(s) was/were the culprit(s).
Re:Where is the competition? (Score:3, Interesting)
The ONLY language that runs on over 80% of the smart phones out there now and Apple doesn't support it. In fact they go out of their way to stop it. A language, that by most parts is one of the top programming languages used.
So, I as a programmer of Java and owner of one Iphone am expected to want to learn a new language; one that is proprietary to Apple just to have the privilege of running my application one one phone vendor.
I like the Iphone, and will use it, but to be honest the next phone I buy for myself (Iphone was for a family member), will probably not be an Iphone, but an Android (Google) phone. I own almost exclusive Apple equipment otherwise and would LOVE to jump in and start working with Java on the Iphone, but as it is now.... It isn't going to happen.
It is my "hope" that Apple gets a clue and allows Java to run on the Iphone. Even our business who makes software for phones (not my specific area) has said that they will NOT work on an Iphone port. Yet if the Iphone supported Java then someone like me who actually kind of likes Apple (company hates Apple), could have a shot of getting the code running (if it was written in Java), then show our company that it runs without any major issues. Lastly the company could then support the phone, but as it sits now, well... Apple better garner 80% of the entire smart phone market, and that isn't going to happen and even if they somehow managed to do that our company, like many others probably won't support it.
As for your write once, test and certify everywhere comment.... you need to go back to 1995. Thanks to Microsoft no longer supporting a JVM, and the certification process growing over 1,000 times more complex, those days are behind us. It isn't perfect but it is by far and above the best portable code out there.
I would even understand "if" Apple said there can be a JVM but they won't allow Applets AND they would still need to certify every application. I have to believe that the only thing holding Java back on the Iphone is Steve Jobs hate rid of anything that he is not in control of.
Will I learn Objective C? Why? I would rather focus on Scala or one of the other more interesting languages than one that runs on a very small amount of the worlds systems. In my case I plan on learning Scala next and also far more Javascript/Ajax.
Re:Even funnier (Score:2, Interesting)
Nah, there are 9 underscores there. I'm guessing 'computers' or 'intellect'.
As for the story, I think Apple are taking baby steps at every stage:
1) Web Development
2) Restricted SDK (we're nearly at this point)
3) Process of removing restrictions via coding guidelines and API support.
It's very conservative, but logically the correct move.
Background tasks are needed, but only as long as battery life is not compromised significantly, nor memory usage increased too much.
Most likely Apple will eventually allow small lightweight background tasks once they have found a way to ensure that they don't affect the primary purpose of the device. Before that time, I imagine that certain applications will get allowed to have them anyway.
Re:Not without their reasons (Score:1, Interesting)
Furthermore, background networking tasks may run up roaming data charges from background mail downloading [slashdot.org], which will be publicised as an iPhone/apple fault rather than a cell-company-roaming-charges-too-high fault.
Re:Not without their reasons (Score:2, Interesting)
Re:Not without their reasons (Score:5, Interesting)
They actually did a decent job with WinMo 6...cleaned up a lot of the memory issues 5 had. Too bad they screwed up IE in the process, but that's where Opera, Skyfire, Mozilla, etc come in.
Re:Not without their reasons (Score:4, Interesting)
Re:Even funnier (Score:2, Interesting)
Also, you totally neglect the type of "geeks" you may be referring to. A UI geek might prefer that the processing of in-context items be the priority of the processor. A business geek might prefer that power draw be minimized so that they can use the phone longer without a recharge. A blogger geek might prefer certain email accounts ONLY refresh when being viewed and not when he's trying to snap a picture. Etc, etc.
The lockdown of Apple devices that you so seem to despise, is actually the reason that so many people like them. They are built as hermetically-sealed pretty boxes that do what most people need them to do without any fuss or need to share the gritty details.