iPhone's Development Limitations Could Hurt It In the Long Run
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.'"
Apple thinks it owns hardware that it has already sold to someone else. This has already been established.
http://ipodminusitunes.blogspot.com/2007/09/weve-won.html
Time for a BadApple tag on /. ? ;)
--I thought I was wrong once, but I was mistaken.
When you realize with the new cracked firmware, you can already run any code you wish.
If you outlaw _________, only the criminals will have _________.
Just -1, Troll talking to another.
There's no monopoly here, so we should let the market decide. If you don't like it, don't buy it. If they've really got things wrong, the market will kick Apple where it hurts. If consumers don't care about background apps, they'll carry on spending.
Me? The beautiful shiny toy is so compromised that I wouldn't touch it with a bargepole.
Symbian 3rd edition, hava also limitations to developers, for certain type of capabilities the program must be signed by nokia. And there is a license 10.000$ for developers to sign and sell symbian applications. It is the same like games on consoles. The device is definitively, "not open" for everyone. https://www.symbiansigned.com/app/page/overview/faq Unfortunately, Apple is not makeing different things that others in the industry done.
Damia
We love Apple hardware, but hate Apple business practices. There are many reasons for fanboydom, but limiting the abilities of a phone you've paid out the ass for is not one of them. It really doesn't help that their "security" measures for the iPhone were utter crap that was broken ~1 week after it hit stores, and yet Apple still acts like it is a completely closed business model.
Just -1, Troll talking to another.
bad comparison. because the IBM PC did soooo badly - look what I am typing this on.
then again.. the clones did well, they reverse engineered the BIOS, the all ran DOS and IBM did not get that much of the profit - so perhaps there is a long term message for Apple here about short term versus long term gains. they have everything in place here to be the proud owners of a new standard in interface, layout, design and overall system - if only they would relax their grip to allow a few systems^h^h^h^h^h^h^h^h grains of sand out.
That's the worst analogy in history. The IBM PC was exceptionally OPEN. You got schematics of the entire computer, all parts were publicly available, and even source of the BIOS was printed in the manual shipped with the computer. Furthermore, everybody could create and run programs on the computer (very new in IBM-land at the time). That's not very closed in my book.
That is nothing but a transparent block toward the network specific apps, like IM and VOIP, that Apple either does not want to exist, or wants to monopolize for itself. Remember how much trouble Microsoft got in when they gave their programs special treatment over competitors?
Using my iPod Touch as my PDA for a while now, I can testify that the device itself (and it's brother the iPhone), is a plain revolution in terms of style, usability and class
Compared to what? In my experience, the iPod Touch makes a poor PDA even compared to an old Palm, both in terms of functionality and in terms of usability.
Can't argue with the iPod Touch having "style" or "class", but... who cares?
1. It's not an "evil apple" story, it's just a financial musing that in the long run it might limit its market share.
But it's this kind of fanboyish reactions ("OMG, they said that something Apple does is less then perfect, so they must be evil, sworn enemies of Apple and all that's good and holy") that brings me to the next point. In truth, such stories are written equally about any other company and corporation, by people who don't really give a fuck about whether that company even lives or dies. That's the job of financial analysts and magazine pundits. They scratch their heads and go, "Hmm, ya know, maybe Sun won't take over the world this year" or "I think Intel is going to lose a couple of percent of market share to AMD's Phenom". Talking out of the arse, maybe, but it doesn't make them enemies of Sun, Intel or Apple. But that seems to be lost on a whole slew of True Believers, who can't seem to see any shades between "you're 100% in Apple's camp and singing praise to it" and "you're 100% the sworn enemy of Apple and have an axe to grind." And if god forbid you even mention an apple vulnerability once a year, then that's positive proof that you're biased against Apple and pro-MS.
But, at any rate, it helps fuel the next point:
2. It's, if you will, a case of action and reaction. Apple hypes every fart as if it's the second cumming of Christ, especially if it's Steve Jobs. You know, it will revolutionize this, redefine that, it's the thing that noone else ever thought or dared, etc.
And it also has an annoying army of fanboys to carry the Word, and try to convert everyone to The One True Faith. Not even too skillfully, I'd add. If you look at where, Christian missionaries succeeded, they never went around telling people "OMG, you're all stupid sheep and brainwashed by the competition". It doesn't get people in a mood to listen, you know.
So it just _begs_ to have its stuff put under a microscope and dissected, and the results don't always come as "yep, it's 100% pure perfection." In fact, they usually reveal a fair share of shortcomings that just beg to be pointed out in return.
3. And if you keep pushing, or push too hard, hype builds resentment or even a backlash. Daikatana, for example, was merely a mediocre game, that would have otherwise been quietly forgotten, but the unskilled hype created a rather spectacular backlash. Apple so far managed to avoid creating a backlash, and kudos to Steve for managing to spew this much hype without that. He's good. But it did get a bunch of people annoyed.
You know, it's like if I came to you daily to tell you about how great I am at CounterStrike. (I actually had the mis-fortune of working with someone like that.) And maybe sent a few more people to. What maybe started as "I couldn't care less, let's nod politely and hope he goes away" eventually gets to the point of "Oh, ffs, not again. Go fuck yourself with a cactus already."
Briefly, if you will, the few people who do hate Apple, don't hate it for its perfection, they hate for the unrelenting annoyance that Apple's hype and Apple's fanboys can be.
A polar bear is a cartesian bear after a coordinate transform.
Everyone is quick to point out the 'limitations' imposed by Apple on developers, but I haven't heard anyone pointing out what a rich API is available through the SDK. Why not? Probably because that sort of news doesn't generate enough traffic.
Personally, I have downloaded the SDK. I have an iPhone that I use for business (and fun!) purposes, and I can think of a couple of applications that I would like to see developed, and as an Objective-C/Cocoa developer, I am in good stead to do so. I was amazed at both the quality and quantity of the features available on the iPhone through the SDK, and how simple and straightforward the development process was. As a veteran WinCE developer (and I did wince, lots) I know how not to go about development for resource limited devices, and I can only say that the whole experience so far has been very rewarding.
Thinking about the 'limitations', I can only say that the iPhone is not a desktop computer. It is not tethered to the wall by a power cord, and as a user, I really do put battery life over and above some background task that may or may not add to the quality of my use. I think Apple is right to be concerned about the type and quality of applications installed on these devices, because they care about the user experience.
Any fool can talk, but it takes a wise man to listen.
Hi Kurisu, this is mom.
There's this box thingy that popped up on my iPhone, and it says
Program 'Super Fun Value Discounts! Press Yes Now!' wants to run a restricted function? Allow?
Yes/No/Cancel
What should I do? I tried to press No, but it just pops up again 1 minute later...
In the same way I don't want battery-leaching Adobe Update 3.1 background processes, or the iMorris Worm on the phone network, I ALSO don't want the hellish disaster of security popup boxes on my PHONE either.
Suspension isn't really backgrounding, it's just saving the state of the program while you're off doing something else (i.e. making a call). If the iPhone doesn't support some sort of suspension (and I'd be very surprised), I guess programmers will have to be aware that they should save the program's state when they receive a kill signal from the OS.
you bought the apple fud.
phones with windows mobile could do background processes for years (htc wallaby came out in 2002) and weren't locked for third party software at all. still no worms, no phone spamming, no security nightmare.
either microsoft software is more secure or apple is successfully bullshitting everyone.
i tend to the latter explanation.
"It's such a fine line between stupid and clever" -- David St. Hubbins, Spinal Tap
Gee, i dunno, thats a toughie... Maybe... every single consumer out there?
Modding Trolls +1 inciteful since 1999
IMHO, the truth of this lies somewhere between the two camps. Background processes have a lot of problems on phones. They stop the phone being a simple "pick up and use" device, because the user has to worry about which apps they leave running. Somebody using a phone doesn't want to have to think about memory usage, they're probably barely aware of what RAM even is. They affect reliability, performance and battery life.
Almost all apps on PalmOS run in the same way - they save state and exit when you switch to another app. By optimising application startup speed, they give the illusion of multi-tasking. Anyone who's used a Symbian UIQ phone knows how slow application startup is on a lot of smartphones. IIRC, there are some phones that allow background tasks until you start the web browser, at which point all other non-system tasks are killed to save memory.
That said, multi-tasking has some very important uses - background polling for messages etc. The solution is probably a system framework with which applications can register small helper programs to perform specific tasks. The framework can then ensure they don't use too much CPU or RAM and optimise their network access to reduce the amount of time the radio is on.
That's a rather silly comparison as most of the functionality you're talking about didn't exist when the Palm III came out... and none of them are core PDA functionality other than persistant memory.
You could say that the iPod Touch/iPhone is a better calculator than my old Casio FX-1200 (circa 1979) for the same reasons, except, of course, the core functionality of the calculator on the iPod touch isn't there and it's not scientific unlike the FX-1200.
Now, the Palm III has a good calendar, addressbook etc. and i easily expandable with 3rd party appications.. and you can write your own and compile them with the free, GCC based SDK and have full functionality and as much access as the other applications. They fit the capability of the hardware as well.
Now, the iP{od Touch,hone} now have a reasonable calendar and address book but that's only part of the functionality. There's no way of beaming the information to another person's device, for example and the calendar doesn't have multiple categories etc. The functionality still has some way to go on this front, which may be addressed to some degree by the version 2.0 firmware but it can't overcome some of the hardware deficiencies.
Agrajag: "Oh no, not again!"
AT&T has been around a long longer than Apple and possibly outlives you.
They have been through the worst decades of phone spamming, bot dialing, switch resets, network takedowns due to faulty software, etc.,
Heck, their manuals for a single router chip are 893 pages long (not including index and glossary).
AT&T or any other cell network is NOT stupid.
Your puny iPhone app can do harm to the phone probably, but would be detected and burnt down long before it tries to harm the network.
The amount of robustness that goes into a telephone network and switching comes with 100 years of telephony and telegraphs.
You are a new kid who thinks OS X is the greatest OS and can take down the entire defense network as depicted in War games...
Sheesh...
"Doing what i can, with what i have." ~ Burt Gummer
I have an iPod touch. I bought one within a week of its being available. I got the 16G one. It was $400.
Apple locked me out of linux with it -- it won't sync on my computer. I can't add 3rd party apps. And now when I sync it, I keep seeing ads for a $20 upgrade they want to sell me. Whenever I see people who have a touch, I ask them -- and we all feel the same way. We're all kind of offended by that nickel and dime $20 pitch.
It's a beautiful device. As an object, it's pretty much the best gadget I've ever owned. But apple is really making it suck for me, to the point where I don't think I'd buy another iPod.
And it's dumb. They're not going to sell me that $20 upgrade, and not only that, but by pushing it, they're going to lose the next $400 iPod sale. And I can't use the thing if it won't sync on linux. I can't sync my podcasts. I carry my old iPod with me, and leave the touch at home. Seriously.
And again, this is pretty much the coolest object I've ever owned. They've started out with that, and made it crummy and negative.
For nothing.
The Reality Distortion Field is strong with this one. All the other smartphone APIs can handle backgrounding applications, why can't the iPhone? Remember that this isn't just about "background tasks", this is about not letting you switch between applications PERIOD. If you navigate away from your app, it's been closed, period. I can't imagine anyone on Slashdot giving Microsoft a pass if Windows Mobile worked the same way. The comments would either be "LOL Microsoft sucks, I can't switch between apps?!?" or "Microsoft is intentionally crippling third party development!"
Apple's been hiding behind the battery thing too much. No 3G? No, it's not because we want to stick you for another model, it's because it just drains too much battery! Nevermind that numerous other phones have 3G radios and can keep respectable battery life. Won't let user-created apps go into the background? It's that darn battery again! Forget that all other smartphones can do this and have even figured out that sending a "suspend" notification to applications when they go out of the foreground helps nullify battery usage by, you know, SUSPENDING the application until it is resumed.
Apple just wants to lock down the platform as much as possible, that's all there is to it.
http://daringfireball.net/2008/03/one_app_at_a_time
It's a really good write up. I love how people instantly try to vilify apple for it's decision, not to allow third party background apps when a majority of Apples own apps for the iPhone do not use background processing. Perhaps simply it's a resources issue. Battery is the resource that everyone thinks of first, but like any small computer system the iPhone has limited CPU and RAM, push those and you are going to kill the battery even faster.
Moderating to further my personal world domination agenda... and to get chicks.
Actually the GP has a point. I have a Nokia smartphone, and whenever there is a background task the battery is drained in a day or so. Otherwise my Nokia smartphone can last about a week without recharging.
What was bothersome is that I did not know at first why my phone needed a daily recharge. Then it dawned onto me that it was a background task running. And the irony here is that it was a poorly written Java applet that was causing the problems.
On this I have to give Apple quite a bit of credit...
"You can't make a race horse of a pig"
"No," said Samuel, "but you can make very fast pig"
sounds to me like whats needed is a better way of telling the user that there is stuff running in the background, not refusing the user the ability to run stuff in the background totally...
comment first, facts later. http://chem.tufts.edu/AnswersInScience/RelativityofWrong.htm
I can't imagine anyone on Slashdot giving Microsoft a pass if Windows Mobile worked the same way.
I've been damning Windows Mobile for years because of its shitty memory management and difficulty managing open applications.
If the Mobile OS X platform (right now iPhone and iPod Touch) actually solves this problem I'm all for it.
obviously no deficiencies vs. no obvious deficiencies
Ever used a WinMob device with several apps running in the background??
If you are lucky enough NOT to have it crash it will crawl to a halt.
-------
Bite Me Fanboy!!
I don't think Apple is desperately trying to shovel all the existing Java ME crap into the iPhone.
While MS might have killed off Java on the desktop, J2ME's inability to work well across phones is not something Sun can blame on MS.
If you know anything about the Cocoa Touch dev system, a JVM simply makes no sense on the iPhone.
You'd learn Obj-C if you had salable ideas for apps on the iPhone, and/or wanted to target development for the Mac platform, which is doing fairly well. Saying you want to learn Scala helps frame the rest of your comments.
Compared to the Palm Tungsten T3, maybe?
I just finally sold mine on eBay because my iPod Touch (received as a gift this past Christmas) is so much better.
+Calendar is better,
+Address Book is better (and better than the pretty lame Address Book on OS X 10.5),
+Music, Video, and Picture playback and management is waaay better than the lame Real Player, nonexistent video player, and picture viewer,
+Internet and email is so much better you can't even really compare them,
+The hardware is smaller, lighter, yet more solid feeling than even my ancient yet legendary Palm V.
+Input is fan-fucking-tastic; if I never see a stylus again it will be too soon.
-Third-party applications (Man, I can't wait for HIARCS to make its way to Mobile OS X.)
The only minus is about to change. Mobile OS X is a fantastic platform to use and, if it's anything like OS X, to develop for that will soon have as diverse an application ecosystem as the Palm did in its heyday.
Yeah, no background processes sucks. I'm not going to apologize for Apple. But the amount of bitching about the issue is really getting ridiculous. And if you aren't developing for this platform solely because of this issue I think you are risking missing the boat.
obviously no deficiencies vs. no obvious deficiencies
In real push, a la Blackberry, the phone is basically running a server that sits idle until the email server connects to the phone to notify it. It's very efficient. It sounds like what Microsoft is doing is maintaining an active connection to the email server and periodically sending stay alive requests. Not quite the same thing.
Discounts? That's so 20th century!
Program "Your virus protection has detected a virus. Do you wish to remove it?" wants to run a restricted function. Allow? Yes/No"
"Wise men talk because they have something to say; fools, because they have to say something" - Plato
While it's true it's a workaround, the solution is better batteries and better screens. It's easier to fix this in software than hardware. Seems to me Apple is sucking it up and doing the hard but right thing by favoring customers over developers while Microsoft and other platform providers give developers what they want at the expense of customers.
obviously no deficiencies vs. no obvious deficiencies
Apple is refusing to allow background tasks simply because they can't trust all developers to write them properly. Hell, most desktop developers can't be bothered to do a sleep(0) when their app is lazily polling for something.
The
When you jailbreak an iPhone or iPod Touch, most (if not all) tools install an SSH server to let them do their stuff. This SSH server stays on by default. If not turned off, it runs the battery down in a few hours, instead of a few days.
One thing TFA neglects to mention is that there is a suspend process notification that apps get when they lose focus. They have 20 seconds to save their state and quit, which is plenty of time. There's really no need for most apps to run in the background - things like games, productivity apps, etc only respond to user input. When it's not in the foreground, there is no user input, and no need for the process to continue to run.
Network connected apps are the only things that are hurt by this, and this is where Apple uses background helper processes. What Apple should do is add a network-connected notification to the API. Say the user connects to the network in another app. The iPhone should wake up other apps that have registered themselves for this notification, allow them to download a reasonable amount of data, notify the user of new IMs or tweets or whatever, and shut them back down.
A phone has to do two things: draw as little power as possible when it's not being used, and accomplish one mission-critical real-time task with zero lag (Be A Phone).
If there's one thing I've found in my many years of using third-party apps, it's that third-party developers *cannot* be trusted to play nice in the background. They will use polling with absurd polling rates. They will refuse to sleep or go idle unless forced. They will be utterly selfish of system resources. I've seen this from Mac system extensions in 1990 to web pages with embedded javascript in 2008.
And when the device suddenly slows to a crawl and starts producing choppy audio, dropping calls, and having the battery life of a wind-up toy, who does the user blame? Not the third party developer, I can tell you that.