Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
This entire SDK is so draconian that I'm surprised a picture of Jobs wearing a crown doesn't launch every time you run a third party app.

You're way out of line buddy.


It is going to be a photograph of the Jobster, wearing a black turtleneck. Some people suck at predicting the future.

I wonder how often satire comes true? Any stats on how many Onion stories have ended up actually happening?
 
kaician said:
I'm no longer a student, but think of this workflow before you dismiss multi-tasking, even if just third party apps.

Listening to music in the library, editing class notes notes on your wordprocesser, looking up words in your dictionary, taking glances at a pdf (3rd party, not a converted picture) to check the if your notes are correct.

Give me a break. We're talking about a phone here, not a laptop computer.

so i guess htc winmos and nokia n-series are considered laptop computers now :D at least in the us :rolleyes:
 
I don't buy crap without Skype client and call recorder, both require background running.
 
I see mild hysteria has broken out again ;


AIM: Will work like Mail - If your not 'in the app doing live-chat' then when it receives a 'pushed' update/message from your buddy who clicks 'send' it will zoom across the interweb and put it's little red number notify icon at the top right of the AIM application icon on your iPhone.

'Running in the background' becomes totally irrelevant.
 
AIM: Will work like Mail - If your not 'in the app doing live-chat' then when it receives a 'pushed' update/message from your buddy who clicks 'send' it will zoom across the interweb and put it's little red number notify icon at the top right of the AIM application icon on your iPhone.

'Running in the background' becomes totally irrelevant.

The little program that intercepts the little message, and puts the red number up is called a "background task". If there's nothing running in the background, there's no way for the app to know when a new message comes in.

arn
 
"An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.".

The reason for this limitation is that this would be the #1 route used to run unsigned applications. That's what Apple is attempting to block here.
 
What makes you so sure that you will be able to jailbreak 2.0? Not discouraging it, I would love for this to happen, but you seem overly confident that it will work so I was wondering if you knew something I didn't about 2.0.

Other than the fact that all the other versions have been jailbroken? Am I missing something?
 
I see mild hysteria has broken out again ;

AIM: Will work like Mail - If your not 'in the app doing live-chat' then when it receives a 'pushed' update/message from your buddy who clicks 'send' it will zoom across the interweb and put it's little red number notify icon at the top right of the AIM application icon on your iPhone.

'Running in the background' becomes totally irrelevant.


The little program that intercepts the little message, and puts the red number up is called a "background task". If there's nothing running in the background, there's no way for the app to know when a new message comes in.

Exactly.. this is the best part of the OP's post:

"then when *It* receives a 'pushed' update/message from your buddy who clicks 'send'.... [*It*] 'Running in the background' becomes totally irrelevant."
 
Give me a break. We're talking about a phone here, not a laptop computer.

and these are all things that you can do on many phones now-a-days, and do without a second thought on windows mobile (probably symbian and linux too).

With your attitude, you don't need apps. All you need is your addressbook and dialer.
Apple made the phone so it IS pretty much just a computer, and everything run on it is just a free running application. If you just want to run your phone app, fine. But, if someone else wants to use their "smart" apple phone in a way that you don't, be open to them making that choice.

You think that even with the most basic apps on there, people's user styles don't vary. People use computers in different ways (power users, novices, web surfers). Some use it to it's potential, and some just don't have the need. No reason to limit the people who have different needs to what you want just because you don't need more.

We pay the same money, you just don't use it in the same way.
 
Originally Posted by jragosta
Give me a break. We're talking about a phone here, not a laptop computer.

With your attitude, you don't need apps. All you need is your addressbook and dialer. Apple made the phone so it IS pretty much just a computer, and everything run on it is just a free running application. If you just want to run your phone app, fine. But, if someone else wants to use their "smart" apple phone in a way that you don't, be open to them making that choice.
...No reason to limit the people who have different needs to what you want just because you don't need more.


Yea, "give him a break". A phone is a phone. It doesn't need to do all this fancy-shmancy nonsense. He just bought the iPhone to replace his old one:

450px-2007Computex_e21Forum-MartinCooper.jpg
 
What makes you so sure that you will be able to jailbreak 2.0? Not discouraging it, I would love for this to happen, but you seem overly confident that it will work so I was wondering if you knew something I didn't about 2.0.

Unless they activate the trusted computing chip or whatever, it will happen. The same way people hack consoles, they'll hack this. There is too large a user base and interest for it not to happen. There is much more functional potential in hacking the iphone than hacking a wii (psp, ds, etc [ps3 and x-box are probably a little higher on the food-chain than the iphone lol]). But in the end, all will be hacked, because people can...
 
I'm no longer a student, but think of this workflow before you dismiss multi-tasking, even if just third party apps.

Listening to music in the library, editing class notes notes on your wordprocesser, looking up words in your dictionary, taking glances at a pdf (3rd party, not a converted picture) to check the if your notes are correct.

None of these things require multitasking, except listening to music, which the iPhone already does as a background task. All tasks can be suspended and reloaded without any issues.

arn
 
Couple of issues here, at present China, one of the largest potential iPhone markets does not yet have an Apple phone partner.
Will the US be included in your initial worldwide roll out?

They already have the iPhone so yes they'll get it, I also missed Canada was well :eek:.

1) When you want software, STICK TO WELL REGARDED SOURCES FOR DOWNLOADING. Many of these websites, such as Cnet/download.com, actually pre-review
the software featured on their website for malware, viruses, etc.

2) Also a huge percentage of malware/viruses come from P2P file sharing networks. Stick to legal music, movies, and software and you'll eliminate a huge amount of problems.

3) When browsing on the web, use a browser such as Firefox, Opera, or Safari. Another option is to run IE7.0 in protected mode or use an application like sandboxie which places browsers into a protected sandbox.

This is very true, however most users don't know this. Apple can't force users to be educated.

Well I'm sorry for being harsh, but I don't understand why you would make such a negative statement
about open source developers resorting to underhanded tactics for money. If you youself are one,
then you know that most do this for a hobby and for the community and don't expect anything in return.
Why give others false reasons not to trust OSS ?

I do trust OSS in general. And I'm not saying that all free software is malware, just that the majority of users can't tell between the good and the bad.
 
The #1 most useful app for the iphone for me, Devicescape, requires multitasking.. in fact it has no UI worth mentioning (just a splash screen basically). That's what makes the wifi support on the iphone actually usable (unless you're keen on navigating login screens and typing in 15 letter random passwords every time you visit a hotspot) - Apple could build in the same functionality in but they chose not to.

AIM has been mentioned.. any IM is going to need background apps. Same with VOIP (the no voip over edge is a stupid limitation.. apple being dictated to by carriers again. Most of the high end nokias have that kind of stuff built into the base OS - and it works well too. Hell, I can go into town right now and pick up a skype mobile for a minimal fee, that exclusively uses 3G data. Why are apple so behind?).

The iphone is in fact a reasonably powerful computer.. 128mb 400mhz machine is more powerfal than what I started running Windows 95 on years ago. There's no reason for it not to multitask.
 
The little program that intercepts the little message, and puts the red number up is called a "background task". If there's nothing running in the background, there's no way for the app to know when a new message comes in.

arn

mmmh, well I suppose if AIM wasn't allowed access to that particular facility - it would be an irksome limitation.

Does anyone with access to the SDK know yet it they can talk to a standard Core OS layer 'I/O notification service' that's already running on the iphone.

That then, whilst not what most would call 'running in the background', does accomplish the same result - that is 'access to a core OS network 'push update' notification service' in order to effect the capabilities or 'appearance' of 'background running' whilst not actually having to do it 'itself'
 
Why quit background Apps?

The iPhone runs Mac OS X, which is now blessed and certified with the official UNIX rubber stamp from the Open Group. So its processes follow all the rules for handling signals that any other Unix would.

You can use signals to interrupt a process, kill it, or even just stop it for a while (SIGSTOP) effectively freezing it in its tracks. Then at some point later you can tell it to carry on again, exactly where it left off (SIGCONT).

So unless it's because of memory constraints, why force quit an App that goes out of focus, when it's significantly faster to just freeze it and then resume execution when it comes back into focus?

There is no rocket science needed to do this. All Unix variants have this functionality built in and waiting to be used, and so does the iPhone.
 
So unless it's because of memory constraints, why force quit an App that goes out of focus, when it's significantly faster to just freeze it and then resume execution when it comes back into focus?

It is the lack of memory, and that flash isn't really suitable as swap space due to the limited read/write cycles.
 


As people delve into the details of Apple's iPhone SDK, a few interesting issues are emerging. One developer guideline that is generating some concern is from Apple's Human Interface Guidelines for iPhone:To be fair, for most applications, this would be preferred behavior. There is no reason for Super Monkey Ball (for example) to continue running in the background, using up CPU cycles and Memory. Instead, as Apple suggests, the current state should be saved and returned when the application is relaunched.

However, this has raised concerns about the feasibility of an application such as AOL's AIM client, which typically does run in the background to alert the user of incoming messages. Based on one comment, however, this only appears to be a design guideline and not an absolute technical limitation:Another possibility could involve individual applications launching smaller background-tasks (daemons) short of full applications, but the feasibility of this is unknown at this time.

What this brings us back to is Apple's SDK license limitations and their editorial discretion with the iTunes App Store. From Apple's license agreement, this multitasking workaround is forbidden:
Even Sun's plans to bring Java to the iPhone is not technically allowed, despite their claims:This could also restrict announced plans for a PC emulator for the iPhone.

It's still too early to say how strictly Apple will enforce these restrictions when approving applications for the iTunes App Store. By serving as the sole distributor for iPhone applications, Apple understandably wants to restrict malicious applications, but whether these limitations begin to encroach upon genuinely useful applications remains a concern. Apple's iTunes App Store launches in June 2008 alongside the new iPhone 2.0 firmware.

Article Link

Given that the iPhone has the ability of receiving network messages via bluetooth, edge, and wifi, it would make sense that Apple already has or at a minimum would allow a deamon to handle communication events. So that a mail message can still be received and buffered while you complete the phone call, or that IM message is received while you are talking on the phone.

I mean the iPhone just came out, could it simply be that the new developers are inexperienced with the SDK or that they do not realize the implications of some of the architecture?

If you are playing music, and get a call the music pauses, that is a real suspend I know. But it does show that there is something noticing a call just came in and providing you the ability to take the call or ignore it. There have to be some sort of daemon already in place, maybe you just need to use it with a call back to receive the message. After all the apps are event driven.

Just a thought.

PS. I would try it but do not yet have an Intel Mac.
 
Another possibility could involve individual applications launching smaller background-tasks (daemons) short of full applications, but the feasibility of this is unknown at this time.

On the desktop, installing an application can result in parts spread throughout the system. Clearly Apple wants individual applications to be stored in their own package so malware can be monitored; if users complain an application is sucking up memory or crashing, Apple can (though not certain of the ethics) remove it from all phones. Single packages also makes apps easy to uninstall and update.

An Application may not itself install or launch other executable code by any means, including without limitation through the use of a plug-in architecture, calling other frameworks, other APIs or otherwise.

This may rule out something I am looking forward to -- print drivers. Hopefully not.
 
I see mild hysteria has broken out again ;


AIM: Will work like Mail - If your not 'in the app doing live-chat' then when it receives a 'pushed' update/message from your buddy who clicks 'send' it will zoom across the interweb and put it's little red number notify icon at the top right of the AIM application icon on your iPhone.

'Running in the background' becomes totally irrelevant.

Yeah, this is a task running in the background that listens for the AIM messages coming in.

What I imagine would happen is that this very small bit of lightweight code would parse the incoming message, and then stick it in an SQLite table of incoming messages. The icon would use this table to see how many messages were in it, so it should notify the user. Network code that relies on shared libraries that are already in memory for the OS can be very small, a few dozen KB even. It wouldn't use up any CPU cycles unless the OS woke them up with something from the network as well. I don't see Apple having a problem with this.

Hopefully the iPhone OS will have a Growl-like notifications function as well, which the background thread can notify, so that "Bob says: Hello" will show up in front of Spore or whatever you are doing. If you tap on that, it will Save and Quit Spore and launch AIM. When you quit AIM it will automatically Launch Spore and Restore State. Software can also say that it doesn't want to be interrupted, so that notifications won't show. This notification thing could even be how a foreground app gets told that new data is waiting from its background app.

To the end user, this could be reasonably quick, done whilst some Core Animation prettiness is happening. The user need not know that the system isn't multitasking large foreground applications, but is instead switching them.
 
If you are playing music, and get a call the music pauses, that is a real suspend I know. But it does show that there is something noticing a call just came in and providing you the ability to take the call or ignore it. There have to be some sort of daemon already in place, maybe you just need to use it with a call back to receive the message. After all the apps are event driven.

In order to control malware, HIG indicates that developers cannot use daemons. This does not mean that Apple is restricted from using them. In other words, there is a difference from what is possible and what is allowable.
 
external devices

I haven't seen anyone commenting much about whether the iPhone will be able to support external devices, such as a GPS unit, a games controller or an external keyboard even. Any thoughts?
 
In order to control malware, HIG indicates that developers cannot use daemons. This does not mean that Apple is restricted from using them. In other words, there is a difference from what is possible and what is allowable.

Oh well that puts paid to the idea that people can write small background processes to listen for network events. I think Apple needs to think some more about this...
 
Yeah, this is a task running in the background that listens for the AIM messages coming in.

What I imagine would happen is that this very small bit of lightweight code would parse the incoming message, and then stick it in an SQLite table of incoming messages. The icon would use this table to see how many messages were in it, so it should notify the user. Network code that relies on shared libraries that are already in memory for the OS can be very small, a few dozen KB even. It wouldn't use up any CPU cycles unless the OS woke them up with something from the network as well. I don't see Apple having a problem with this.

Hopefully the iPhone OS will have a Growl-like notifications function as well, which the background thread can notify, so that "Bob says: Hello" will show up in front of Spore or whatever you are doing. If you tap on that, it will Save and Quit Spore and launch AIM. When you quit AIM it will automatically Launch Spore and Restore State. Software can also say that it doesn't want to be interrupted, so that notifications won't show. This notification thing could even be how a foreground app gets told that new data is waiting from its background app.

To the end user, this could be reasonably quick, done whilst some Core Animation prettiness is happening. The user need not know that the system isn't multitasking large foreground applications, but is instead switching them.

Well assuming iphone os is basically mac os then it will have launchd.

From my understanding..

Launchd has the ability to handle stuff like this. For example in mac os x the web server is not actually running until launchd finds some network traffic on port 80. it then spins up the web server to handle the request then closes it when it's finished.

Hopefully the iphone os will have a similar feature?

I think the wording of the license is there to make sure developers don't treat the iphone like it's a normal computer and let full programs run in the background, thus eating up valuable battery life.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.