Posted
by
Soulskill
on Friday March 28, 2008 @04:10AM
from the my-way-or-the-iway dept.

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.'"

The SDK is crippled. Not function wise but legally. It is forbidden for example to use the WAN interface of the iPhone for VoIP applications. This makes it basically impossible to introduce applications like Skype or SIP softphones on the iPhone when you are outside of a usable WiFi zone. Also the Apple guidelines state that it is forbidden to leave your application running during voice communications and while your application is out of scope. This again makes any messaging application impossible on the iPhone.

These restrictions are here to artificially limit competition between advanced communication applications and the telcos. It keeps you dependent on the old phone voice communications and the old SMS system which are obsolete and extremely expensive comparing to any IM and SIP solution.

This way you are banned from using any innovative communication technology while paying for the (artificially) crippled internet connection plus the expensive call rates.

These restrictions are here to artificially limit competition between advanced communication applications and the telcos. It keeps you dependent on the old phone voice communications and the old SMS system which are obsolete and extremely expensive comparing to any IM and SIP solution.

These things aren't artificial and they aren't done (just) to get fractionally more money out of you. The fact of the matter is telcos don't want you running VoIP etc. on the packet network because the mobile packet networks are not built to handle it. This is their own fault(s) for not having more capacity, but they built their networks with X amount of channelized voice capacity and Y amount of packetized IP capacity based on customer usage. If everyone used VoIP, it would saturate the mobile data netwo

Background tasks, especially networking ones (which frankly, are the most useful type), would flatten the battery really quickly. Even more so with several of them waking up at different times and connecting the network.

On the other hand, making the rule hard and fast is a bit tough. And Apple could provide some means of minimizing drain (waking every task up every few hours for example), but don't damn Apple totally on this one.

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.

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.

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.

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 syst

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.

You do not represent the joe-consumer that the iPhone market represents. You represent a minority-group that just complains about not having a free-for-all Anarchist development environment that the majority owners, frankly don't care about.

You realize that the iPhone OS is the minority in the Smartphone OS market, right? There are almost 10 times as many people running Symbian.

You believe what Apple is doing is denying consumers choice. Consumers have the brains to not buy a product or to simply go with a different product altogether. I don't believe Apple is denying me something on my iPhone. I don't go around complaining that Apple doesn't let me load app XYZ on it. It's a phone first to me and to most regular Joes with cool video/internet/music support.

Then I'm glad you finally found a phone for you. I'm not here to bash iPhone users themselves, if you like it and it works for you where other phones can't, everyone wins.

Why not complain about all the other phones out there that have literally no choice as to what you can put on it? Why focus only on Apple? Get over yourself.

You realize this article is about Apple and the iPhone, right? If this was an article about S60 or RIM, I'd make the same comments. Oh wait, the iPhone is the only smartphone with this limitation,

Yeah, currently running IE Mobile, Word Mobile 2007, Comm Manager, Total Commander, Windows Media Player, Remote Desktop Mobile, MS Live Search, Java, Messaging, Calendar, and Solitaire (of course). Just swapping between programs, there's about a one to two second delay to load it, but everything runs pretty snappy except for IEM, which just sucks anyway. Connectivity shows it connected to AT&Ts data for 163 hours, so everything's been running at least a few days.

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.

Few of them will last 5 days while doing anything other than waiting for an occasional ring.

When did I say that it lasted that long on a single charge? I was responding to their comment that having several programs open kills the OS. It doesn't. The 163 hours number was just how long the phone has been connected without interruption, ie not soft reset. I know I synced my phone last week, which I have set to disable any data connection (otherwise my VPN connection freaks out on my laptop). I know it's been running without a soft reset longer than 163 hours, but I don't recall exactly when. I just know it's been longer than 163 hours.

Battery life sucks for any smartphone, not just WinMo though. I charge my phone every night, otherwise it lasts maybe 36 hours through regular use. A bit more if I turn off data to disable the 3 email accounts, weather info, web browsing, etc, that I do normally.

But if you are actually using any programs on it, that battery is toast with all that junk open (Windows Media Player? Is it actually playing music? Why leave it open?). This is like the file copy troll all over again.

Why leave programs open? Is that a serious question? If it's loaded into RAM then I don't have to wait for it to load from ROM. Reading from RAM is faster than reading from flash memory, in case you were wondering. To answer your question though, no, it isn't playing songs 24/7. However, I can just do a start - WMP and hit play to start playing any random song I've got on there. Same with every other app I've got open. I can either wait for Live Search to load to view a map, or see the map instantly.

This is like the file copy troll all over again.

Are you sure it's not you who is the troll? I'm sitting here using the device, and posting my experience from using it. You are posting feedback based on stuff you've heard from clients. Anecdotal, sure, but head over to XDA-Developers some time and ask them about using it. Feel free to message me when you get there, I'm under the same username.

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.

Bah. No they won't. On my phone, this is as simple as a setting "Allow network data usage: Never, Home, Roaming, Always" - selecting certain options will result in a "May incur higher costs" confirmation message. Simply solved. People are just too keen to excuse these kind of things.

1)- the iphone sdk DOES NOT ban background processes. it disables them by default, but people have been compiling iphone apps that run in the background for months. it's actually ridiculously easy; this is how im apps let you stay signed on while your iphone is off (or you're talking on it).2)- the official iphone os may ban uncertified code, but people have been running uncertified code on iphones for months. since the number of "hacked" iphones is almost as great as the number of "boring" iphones, this is rather significant.

i'm not a fanboy- personally, i don't like iphones, or people who like iphones. i just don't like misinformation.

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.

The whole "let the market decide" isn't really so trivial when it comes to consumer electronics. Apple was granted a legal monopoly over several components of the iphone, which prevent competitors from creating a device with it's best features. There is nothing free-market about government granted monopolies.

Because of this, if Apple abuses customers by crippling it's device, it is acting against the public interest for it's own gain. I don't blame them for this, their shareholders would be pissed otherwise, but the point of government is to make sure that the selfish interest of individuals does not clash with the collective good of society.

As the other poster who replied to the parent said, people will buy it. Than they will jailbreak it and do what they want. The movie and music industry have proved that if you give people what they want they will pay for it. If you don't they will steal it. Plain and simple. No phone (when apple gets 3g) will come close to what "can" be done. And if you jailbreak, well you can gurantee you can use it how you want.

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.

"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."

In Economics, monopoly (also "Pure monopoly") exists when a specific individual or enterprise has sufficient control over a particular product or service to determine significantly the terms on which other individuals shall have access to it. [1] Monopolies are thus characterized by a lack of economic competition for the good or service that they provide and a lack of viable substitute goods. [2] Alternatively (a modern and less common usage), it may be used as a verb or adjective to refer to the process (see Monopolism) by which a firm gains persistently greater market share than what is expected under perfect competition. The latter usage of the term is invoked in the theory of monopolistic competition.

This is one of the most overwrought comments I've read in a long time. How exactly is the inability to get iPhone features in other products really impinging on the "collective good of society?" We're not talking about an overpriced patented drug here. We're talking about a frickin' phone! If Apple wants (and is allowed) to keep features to themselves, none of us who choose not to buy an iPhone are going to die or suffer great harm because of it.

In terms of "background tasks," I think at least part of Apple's goal is to maintain a quality user experience. People have different expectations from a device like a phone than they do from a computer. Most people expect their computers to occasionally freeze (whether Windows, OSX, Linux or otherwise) due to some background process kicking off and monopolizing resources for a few seconds. When it happens, hit Control-Alt-Delete, run "top", or whatever, and figure out what's taking the CPU. People expect their phones to respond instantly all the time, and I don't think many want to bring up a process manager and click "kill process" while they're walking down the street trying to make a call.

Given the amount of sketchy, useless junk that one sees "freely downloadable" on most PCs and Macs, I don't think that Apple should necessarily want to export that same environment to the iPhone right away. The first application that everyone installs and which secretly launches a DoS attack on the mobile phone network at some predetermined time in the future is going to be a PR disaster for Apple. And that's a scenario way beyond some junk application that just locks up or slows down people's iPhones.

In the end, Apple should probably have a "power user" mode on their phones, the activation of which forces you to sign a disclaimer or non-indemnifation agreement that protects them if you screw your iPhone up installing unverified apps, run up your bill because some background process was doing data access thoughout the day while you were in Europe, etc. Many of those things could be "protected" against of course, if Apple put safeguards in their software (e.g., block any automatic data access when on a roaming network where data access might be charged), but I don't expect Apple to have thought of every possible bad outcome yet, but I do expect people to complain/sue like crazy if one of those bad outcomes occurs.

Either way, though, regulators are not the solution here. Any government (Democratic or Republican) is just going to screw things up even more, because they'll have their own set of interests--namely self-perpetuation--at heart.

Among the mobile phone makers, who hands out SDKs for creating applications on the phones?... I wouldn't even know where to start if I wanted to develop an application for my Sony Ericsson W910, call me clueless but I don't see anything comparable to the iPhone SDK for any other phone.

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.

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.

Among the mobile phone makers, who hands out SDKs for creating applications on the phones?

Almost every manufacturer, actually: there are SDKs for Symbian (Nokia, Motorola, Samsung), Windows Mobile (Motorola, Samsung, HTC,...), Palm OS (Palm), etc. Symbian is a multitasking OS with Linux-like APIs. And almost all modern phones other than the iPhone can be programmed in MIDP.

I wouldn't even know where to start if I wanted to develop an application for my Sony Ericsson W910,

The W910 runs J2ME and MIPD, just like most phones these days. There are thousands of applications for that and it's easy to develop for.

call me clueless but I don't see anything comparable to the iPhone SDK for any other phone.

Yup, you're clueless. In terms of SDK, the iPhone is about the worst there is among modern phone platforms.

Its bad for Java developers, as they'll have to learn a new language and new frameworks. But they'll also have a real market for their apps, and their apps won't look like ass and fail to run on 80% of the phones that are supposed to support Java ME, MIPD etc.Java ME is build, test on every phone, sign on every phone, sell nowhere.

Your "How Signing Certificates Work" article is incorrect. It claims the Apple program is the cheapest available program at $99. However, this ignores that the total start up cost to develop for Windows Mobile is $0, $99 cheaper than Apple's developer program, clearly making the Microsoft platform the cheapest to develop for. (It should also be noted that unlike with the iPhone platform, you are not forced into distributing via Microsoft simply by virtue of developing a Windows Mobile application too)

Are you serious?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 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

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 amongst these devices. The article only mentions a single problem: background tasks. Apple obviously run them themselves, such as download in the background and email fetching, so maybe it's just a matter of time before they get a "tasks" framework ready.

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.

Does it? you mean apart from never losing the content of its memory, having a 100x better screen (colour, resolution and touchscreen), easier and faster input, ability to play video and music, Wifi, a usable browser and 1000x more memory (8GB vs 8MB), the iPod touch is totally much worse than a Palm III?

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.

I also used to own a Palm, and find Cocoua Touch much more user friendly (while the palm wasn't bad either). I do think the interface offers an incredibly intuitive and fast experience that is way beyond my old Palm. Apple has traditionally been very good at this. Most people I know that have begun using Macs end up preferring Apple's interfaces, and the iPhone OS is of the same breed. That said, I've not used palms for a while, and experience is of course subjective.

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 mo

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.

sorry, but this is bullshit. first, pdas could play music way before the first ipod was released. second, in terms of versatility even the iphone sucks. if you ne

Yes, but that is a very Apple-centric view of the marketplace - when you look wider, there's a plethora of other makes that can do pretty much all that the iTouch can do, and also support a whole range of commercial and free/Open Source apps.I am by no means a M$ fan, but I do like my HTC Kaiser (Vodafone 1615) running Windows Mobile 6 - it has a touch screen, built in slide-and-tilt keyboard, 'cube' type app if I want to use it, GPS with Tomtom satnav, Word, Excel, PDF reader, video phone and camera. I hav

The phone network necessarily has standards of reliability and security far higher than the Intarweb.

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.

I understand the need for some sort of approval process for code, though I personally disagree with it's effectiveness. But what argument do you have against letting consumers choose to download apps with background processes?

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?

Consumers are smart enough to know that "more programs"=="Slower". Apple's demographic has changed, they now cater toward extremely tech-savy affluent teenagers and young people, as well as first adopters who run through multiple gadgets per year. If Apple treats them like their previous elementary school teacher demographic, they will suffer in the long term.

I understand the need for some sort of approval process for code, though I personally disagree with it's effectiveness. But what argument do you have against letting consumers choose to download apps with background processes?

There are two solid arguments that trump any conspiracy theories:

User experience. Background processes eat unpredictable numbers of processor cycles, making the rest of the software slower and therefore less user-friendly. Apple doesn't want their software look bad because of third-party software.

Transparency. Background processes may incur communication costs that the user doesn't know about. If the user has to activate the program before it can do something costly, there is at least some obvious rel

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.

The way J2ME operates is far more sensible than a total ban. Every time an unsigned program wants to make use of a 'restricted' API, the user is prompted. This stops anything malicious from happening.

Banning background processes?

If you're doing the above, then this additional step is completely pointless and only serves to limit the usefulness of your platform. It's not like the backgrounding abilities of Symbian phones have brought down the phone networks yet.

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.

Nobody's forcing you to install unsigned software. In fact, just about every phone will warn you that you're installing unsigned code at install time. This hasn't been an issue with J2ME phones, I don't see how the iPhone is any different.

Last I heard, background processes were banned because they seriously harmed battery life (anything that uses the antenna or transmits data is like talk time on the battery), and Apple didn't want to be blamed when angry customers would complain about the inability to hold a long charge.

Smart phones have had background processes and uncertified code for many years, and there have been almost no problems with it in practice. Half of Nokia's phone lineup are fully programmable, multi-tasking machines, capable of running ssh, BitTorrent, Python, VNC client and server, Apache web server, and anything else you can think of. There's even software for turning Symbian phones into WiFi access points for sharing the 3G connection.

Anybody who claims that one needs to ban uncertified code and background processes to avert disaster simply doesn't know the mobile phone business... or is lying through their teeth.

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.

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

Look, am sick of hearing this.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...

How do they figure? I know when I'm running Apollo (AIM client) on my iPod Touch and switch over to Safari to browse, I'll get pop-ups from Apollo when people IM me. Not being a programmer, I gotta ask, doesn't that make Apollo (and it's appropriate daemon) a background task while I'm in Safari?
Same thing with having music playing, with Apollo running, while using Safari.
Seems to multitask alright to me. Not as friendly as true OS X but not bad for a device that weighs as little as my shoes [vibramfivefingers.com] at 4.2 ounce

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.

The iPod Touch only has 128MB of RAM, and no disk cache. In case anyone missed that the first time: 128. No disk cache. That needs to run both an advanced OS *and* the foreground app while allowing music to play.

Exactly how many third-party applications do the geniuses at ZDNet think they can run at once with less than 128 MB?

Dude, my jailbroken iphone runs background processes on third party software right now. I can run a good number of programs before the thing slows down. Programmers are pretty good at satisfying space constraints.

All these arguments got pulled around with the iPod, and we all know what a disaster that was.The thing here is that there is consumer choice. You can get a different phone if you want.And the phone I want is an iPhone.

The SDK hasn't even been released yet (we've seen two betas only), and yet people are criticizing it as if this is already the last version of the SDK that will ever be released and no new features or APIs will ever be added.Christ, the hardware itself is still on its first version (!!) and critics are already acting like the development environment has been neglected since Reagan was in office.

I suppose it's marginally entertaining for tech writers to have a new variation on the old "Apple is Doomed" story

1. Some dumbass ZDnet pundit yaps on about subjects he is unqualified to talk about technically, unaware of any of the reasons for the engineering decisions Apple makes, and suggests that the he, as an ignorant asshat, can offer the iPod maker sailent advice on how to deploy the iPhone software platform.2. ZDnet posts it to Slashdot3. Slashdot links to it.4. Profit? ** no CNet/ZDnet is going out of business. Slashdot is just wasting our time.

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.

Does anyone run SSH on their iPhone? I do. It kills the battery life. Takes it down to 1/4 what it usually is. People at work complaining about battery life of their phone? They remove some nifty-new application that they just added, all of a sudden the battery life goes back to normal. Amazing. Heck, it's so common that the first words out of my mouth are, "Turn off the SSH server."

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".

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.

First off, you can force something to run in the background, but you shouldn't. The limitation on background processes has nothing to do with control over developers and everything to do with battery life. A simple XML query once every 5 minutes is enough to drain the battery in just 4 hours [furbo.org].

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).

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.

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.

Two things: first, the human interface guidelines (HIG) stipulation that a process not background itself is perfectly reasonable. The phone form-factor has limited battery, memory, and processor resources. It wouldn't take much to make resource contention an issue or to torpedo battery-life and phone performance. This isn't a laptop with a big battery, multi-gigabytes of RAM, and a 3GHz dual-core CPU.

It should also be noted that while the HIG asks you not to make your app run in the background, neither the phone nor the SDK enforce it. You can, in fact, do it.

If you want to sell your app through Apple's service, you probably need to communicate to them that there's a good reason for it (for example, implementing hands-free voice-dialing might require it). Apple reserves the right to not carry applications that don't meet the HIG, but there's no reason to think that they won't make exceptions when a reasonable request is made to do so. Certainly, a good hands-free voice-dialing app would be a good candidate for such a thing.

I don't see anything as hyped (and as mostly living up to the hype) as the iPhone. If Time magazine is any indicator, it did phenomenally well last year [time.com]. To top that, some cheap knock-offs would be needed, but I'm not even sure how far that would fare given that Apple has at least 300 patents on it [apple.com]. Could someone fill me in please? Disclaimer: I've never owned a product of Apple and don't intend to buy any of their products until they become more transparent.

You had your chance when they sold the fruity-coloured iMacs with semi-transparent cases.

But seriously, you can download the iPhone SDK for free, complete documentation, everything. How much more transparent do you want?

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.

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.

Off topic, but, heh, yeah, I know that feeling all too well. I'm not Ethan, but same idea.Actually this guy was worse, if that's even possible. At least Ethan's coworker seems to have more than a CS story. Mine had exactly one.

Every day he'd play on the same map. No idea why, maybe he just got his best scores there or something. Every day he'd sneak behind the same warehouse, climb on the same ladder, drop through the same vent, crawl through the same pipe, drop in the same room, and shoot the guy camping i

1.5 Why can I not get a certificate to sign Freeware, there is no other way to install Freeware?
Contact your freeware developer and request him/her to re-release the application such that Developer Certificates are not required.
a) Approx 60% of APIs do not require any Capabilities and applications using only those APIs do not need to use Symbian Signed services.
b) The Capabilities; LocalServices, Location*, NetworkServices,ReadUserData,UserEnvironment, WriteUserData: are user-grantable on the device. Applications using these Capabilities are not required to be Symbian Signed; an end-user can grant the permissions on their device. This allows people to do application development with a large amount of functionality for interesting apps. At least 25% of commercial apps are released without needing to use any Symbian Signed services.
c) The Capabilities; PowerMgmt, Location*, ProtServ, ReadDeviceData, SurroundingsDD, SwEvent, TrustedUI, WriteDeviceData: are grantable by Open Signed Online, as well as all the user grantable permissions described in (2).There is a requirement (as requested by the developer community) that you must own the applications UID, or you may use a test UID (i.e. in the range 0xE0000000 to 0xEFFFFFFF). This protects the integrity of UID allocation process and prevents developers signing applications with UIDs which have been reserved by other developers.
Note: Location* depends on device type

There seems to be a further capability level [allaboutsymbian.com] that can only be granted by manufaturers (I would guess for APIs that could break DRM on the phones, or work at a low level on the cell network):

Symbian Signed allows access to all but the seven most resticted capabilities on the phone (these capabilities can only be accessed with an extra level of manufacturer approval). Self-signing allows application access to a more limited set of capabilities than Symbian Signed. General capabilities that are not considered a major security risk can be access via self signed applications. Where there is a small security risk (such as the use of Bluetooth or use of the Network to retrieve data) self signed application must gain user permission to access these capabilities (in the form of a dialog that asks user the grant these capabilities to an application).

Unless it's like the Blackberry. They allow anyone to use most of the API calls, but require the developers to pay a fee for access to some of the API calls and sign the applications so that the Blackberry knows which programs to allow to access the licensed API calls.

In their case it's more to control the riskier functions, so you can make a free unsigned game which only really needs graphics and the keypad without signing the code but anything that runs a risk of doing something like making a call, eavesdropping or deleting your data needs to be signed.

Symbian 3rd edition (v 9.x) is not capable of running unsigned native application. Period.
Some application, restricted in functionality could be signed by developer without developer certificate(LocalServices, UserEnvironment, NetworkServices,ReadUserData,WriteUserData). User can allow application which use only those capabilities to run on his device.
The rest - Network control, Multimedia driver, Communication driver, disk admi, PowerMgmt, Location, ProtServ, ReadDeviceData, Surroundings driver, SwEvent, TrustedUI, WriteDeviceData - should be signed online through Symbian website or offline by other certified body.
The situation is quite heated right now, after Symbian introduced some more restrictions recently (removed free developer certificates, which allow sign application for single phone - IMEI numebr).
Symbian signed forum turning to flamefeast between moderator interventions.
http://developer.symbian.com/forum/forum.jspa?forumID=2&start=0 [symbian.com]
Of cause all this only from legal point of view. Many devices (all FP1 and Nokia N95-1, not 8GB) have their platform security hacked already.