Craig Hockenberry on iPhone SDK and backgrounding
In a recent blog post, Craig attempts to explain why Apple will not be giving developers access to backgrounding services on the iPhone. He points out that in a mockup design of "Mobile Twitterrific," based on the jailbreak/community toolchain, refreshing the XML data from Twitter every 5 minutes led to a dead iPhone battery in only 4 hours.
"The heart of the problem [is] the radios. Both the EDGE and Wi-Fi transceivers have significant power requirements," he says. "Whenever that hardware is on, your battery life is going to suck."
He also reiterated what Apple said about the "Core Location" feature that Apple provided in the SDK: use it only on an "as-needed" basis. Craig said that the issue of backgrounding services may get addressed later on, but right now Apple is preventing iPhone developers from "shooting themselves in the foot." He said that it will take months before the desktop developers have gotten the mindset of an iPhone developer, and that thinking like a desktop developer will lead to bad designs.
Share
Craig Hockenberry is the man, the myth, and the legend behind the absolute best Twitter application on the Mac (he works for the...
Add a Comment
HAS THE WORLD GONE MAD?! All this stuff is intriguing, but it seems that a fundamental issue is being overlooked. If Apple came out with a car that has a lot of neat features (the iCar?), but would have to be brought into the dealership if you get a flat tire, I guess these same people who buy the iPhone would buy it.
The iPhone is the only mobile phone or PDA I know of which does not have a user-replaceable battery!
Apple says âif your iPhone requires service only because the battery's ability to hold an electrical charge has diminished, Apple will repair your iPhoneâ for $86 and âThe repair process normally takes three business daysâ. Appleâs ads tout the iPhone as being virtually indispensable and yet this is what they do â not only price-gouge their users but worse than that grossly inconvenience them.
If the battery dies or runs down on my Smartphone, I simply pop in my spare $35 lithium-ion battery. Not only does this mean that I don't have to bring my phone in âfor repair" if the battery is no longer good, I've also got back-up in case my battery is simply fully discharged at a time when I may need my phone most (emergencies, etc).
So, folks -- go buy an iCar for which you pay a lot of money but pray you don't get a flat tire in the middle of nowhere! And even if youâre âsomewhereâ, prepare to pay a lot and wait a lot. If the iPhone had a user-replaceable, reasonably priced battery I would own it in a minute.
To all the commentators breaking their arms while patting themselves on the back over the "but Windows Mobile has been doing this for years", please take note: the iPhone hardware platform is significantly more powerful and power-hungry than the vast majority of smart phones out there. The system specs on that thing would have been pretty sweet on a Powerbook about 7 years ago. No wonder Apple is doing all it can to maintain battery life in the face of high demands.
March 18 2008 at 6:01 AM Report abuse Permalink rate up rate down ReplyHAS THE WORLD GONE MAD?! All this stuff is intriguing, but it seems that a fundamental issue is being overlooked. If Apple came out with a car that has a lot of neat features (the iCar?), but would have to be brought into the dealership if you get a flat tire, I guess these same people who buy the iPhone would buy it.
The iPhone is the only mobile phone or PDA I know of which does not have a user-replaceable battery!
Apple says âif your iPhone requires service only because the battery's ability to hold an electrical charge has diminished, Apple will repair your iPhoneâ for $86 and âThe repair process normally takes three business daysâ. Appleâs ads tout the iPhone as being virtually indispensable and yet this is what they do â not only price-gouge their users but worse than that grossly inconvenience them.
If the battery dies or runs down on my Smartphone, I simply pop in my spare $35 lithium-ion battery. Not only does this mean that I don't have to bring my phone in âfor repair" if the battery is no longer good, I've also got back-up in case my battery is simply fully discharged at a time when I may need my phone most (emergencies, etc).
So, folks -- go buy an iCar for which you pay a lot of money but pray you don't get a flat tire in the middle of nowhere! And even if youâre âsomewhereâ, prepare to pay a lot and wait a lot. If the iPhone had a user-replaceable, reasonably priced battery I would own it in a minute.
He doesn't say it is impossible. He says it didn't work the way he tried it. And there may not be support to do it right in the first release of the SDK.
He says he thinks Apple might add support in the future.
So you can stop saying "but my Blackberry can do it".
That's most likely the case. Most of the pieces and parts are there, but the framework as a whole probably still needs a lot of work before they'll be ready to offer it for developer's use.
March 17 2008 at 3:46 PM Report abuse Permalink rate up rate down ReplyWell, if thats true active sync is going to kill your iPhone.
March 17 2008 at 1:18 PM Report abuse Permalink rate up rate down ReplyI must add that using ActiveSync push mail on my Windows Mobile device *severely* impacts battery life. Probably about 3 times the drain. However, I can still go all day on my Sprint Touch (7am to 11pm) and keep about 60%-70% of my battery (I won't even drop a bar with ActiveSync off). I know the iPhone should have a much better battery than my Sprint Touch, so I agree with others that this guys code must be wacky.
March 17 2008 at 2:38 PM Report abuse Permalink rate up rate down ReplyI think there may be a much more obvious answer to why Apple doesn't want interpreted code or apps that run in the background. Those things make it hard for Apple to test the applications. Can't be sure an interpreter won't do something bad without a *lot* more testing than Apple is probably willing to put in.
March 17 2008 at 12:59 PM Report abuse Permalink rate up rate down ReplyTwo words SIDE KICK. You have to be kidding me that a 5 your old device can last all day with IM running perfectly fine in the back ground multitasking will all other apps and this guy says his program drained his battery in 4 hours only checking every 5 minutes. I mean seriously this guy must have some screwed up code. I use mobile Scrobbler on my Iphone and it runs a daemon ALL DAY. It never turns off and my battery is fine. Get a clue. If you program right your battery will not be effected that bad. Also with Apple checking every app they should beadle to look at an app and tell the user that it can drain the battery. Let me decide.
March 17 2008 at 12:20 PM Report abuse Permalink rate up rate down ReplyCan someone explain me how Apple will implement push-email without leaving the radio on? By SMS notification followed by pull?
March 17 2008 at 12:02 PM Report abuse Permalink rate up rate down ReplyI don't know how they will do it, but yes, notification by SMS would be by far the best solution in terms of efficiency and battery economics.
For open standards like SyncML the SMS notification failed so far for the simple reason that carriers charge too much for SMS (they get poll solutions that require far more network ressources as a "reward").
But Apple might have been able to convince their exclusive carrier partners to allow SMS for the push notification. After all, they also made them implement visual voice mail.
Apple's not selling a phone; they're selling a beautiful phone experience. If it was just a phone, providing maximum flexibility to devs and users would make sense; but some choices would wreck the experience (by killing battery life or responsiveness of foreground apps), so they can't permit those choices. Only they themselves, or sufficiently trustworthy developers, can be permitted to make tradeoffs that won't appreciably harm the experience.
If choice is what you want, rather than a guaranteed experience, perhaps the iPhone (Apple's way) is not for you. Go with either the iPhone (hackers' way), or some other device entirely.
The problem, Benson, is that no one is willing to sell a device that is equivalent to a jailbroken iPhone, because doing so would remove American cell phone carriers' ability to use forced scarcity as a business model. When you put the amount of power that something like the iPhone (jailbroken) gives into the hands of regular consumers, they discover that they don't, in fact, have to pay $0.50 to transfer a picture they took from their phone to their computer. They discover that there are ways to send text messages that don't cost them crazy amounts of money. They discover the possibilities that become available when you have no restrictions on what you're "allowed" to do with a network connection.
March 17 2008 at 4:32 PM Report abuse Permalink rate up rate down ReplyGo Irish!
I partially disagree; such devices are sold, measured in terms of power and revenue-threatening capacity. Some S60 phones serve as examples. The iPhone, jailbroken or not, is more accessible and usable, but both S60 devices and jailbroken iPhones are capable of running arbitrary apps.
While the network companies aren't necessarily excited about customer freedom, and ATT does play a role in iPhone decisions, I do think the SDK restrictions are more motivated by the concerns I mmentioned. And Apple is surely aware that a sale's a sale, whether it gets jailbroken or not.
They benefit by segmenting the market; now they can sell iPhones with guaranteed performance to 'normal' people, and also sell iPhones to those who will straightway break them. These folks will knowingly override Apple's protections, so Apple's reputation doesn't suffer when things go wrong. So even if they like having freed iPhones out there (it's more sales!), they have to crack down, both to keep ATT happy and to ensure that jailbreaking is always seen as crossing the Rubicon rather than tacitly permitted, safeguarding the reputation of the pristine iPhone.
I think everyone of us understands why Apple is doing that, but I still find it totally bogus.
IMHO it would be much better if we (developers and end users) were given a choice. I would be COMPLETELY happy to recharge my phone more often to have the possibility of running some apps in the background.
Hot Apps on TUAW
Deals of the Day
more deals- Verizon Leather Sleeve for Tablets for $4 + free shipping
- Wicked Jaw Breaker Noise-Isolating In-Ear Headphones for $6 + free shipping
- Refurb Apple MacBook Air Laptops: 12" 64GB SSD for $699 + free shipping
- JVC Motion Sensing Clock Radio with Dual iPod Docks for $55 + free shipping
- Apple iPhone Headset with Mic for $4 + $2 s&h
- Refurb Apple iPod nano 8GB MP3 Player for $99 + free shipping, 16GB for $119
Software Updates
more updates- EFI Firmware Update brings Lion Internet Recovery to 2010-model Macs
- OS X Lion 10.7.3 released with Safari 5.1.3, Wi-Fi bug fix
- Aperture updated to 3.2.2, addresses Photo Stream issue
- Apple updates Keynote to address Lion issues
- Google Search app gets new look on iPad
- Apple releases Apple TV Software Update 4.4.3



33 Comments