View Full Version : iPhone SDK Limitations: Multitasking, Java, Emulators
MacRumors
Mar 8, 2008, 02:20 PM
http://www.macrumors.com/images/macrumorsthreadlogo.gif (http://www.macrumors.com)
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:Only one iPhone application can run at a time, and third-party applications never run in the background. This means that when users switch to another application, answer the phone, or check their email, the application they were using quits. Its important to make sure that users do not experience any negative effects because of this reality. In other words, users should not feel that leaving your iPhone application and returning to it later is any more difficult than switching among applications on a computer.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 (http://gizmodo.com/365327/iphone-sdk-limitation-only-one-user+made-app-running-concurrently-no-background-processes#c4605837), however, this only appears to be a design guideline and not an absolute technical limitation: I'm a programmer and I just tried it [using the iPhone SDK] and you can keep your app running in the background in the normal way ApolloIM and iFob do it. I.e. overriding applicationSuspend.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:Applications must comply with the Human Interface Guidelines and other Documentation provided by Apple.
Even Sun's plans (http://www.macrumors.com/2008/03/08/sun-bringing-java-to-iphone/) to bring Java to the iPhone is not technically allowed, despite their claims: 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 could also restrict announced plans (http://www.macrumors.com/iphone/2008/03/08/run-windows-on-the-iphone-with-iemulator-touch/) 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 (http://www.macrumors.com/2008/03/08/iphone-sdk-limitations-multitasking-java-emulators/)
La Porta
Mar 8, 2008, 02:24 PM
Interesting. Part of it is restricting, yet at the same time it makes sure that there is a smooth transition from app to app. Having a slowed-down iPhone/iPod wouldn't do anyone any good. That's one reason that these things don't have hard drives in the first place.
HaGG
Mar 8, 2008, 02:24 PM
Interesting read for sure
Eraserhead
Mar 8, 2008, 02:28 PM
Apple will make Sun force Java apps to come through the App Store.
mwwlse
Mar 8, 2008, 02:29 PM
It'd be nice if a program would link the 3G data connection (in the future) to bluetooth so that you could use the iPhone's data connection with a laptop via bluetooth. Is this remotely possible? I know you can do it with a few windows mobile phones (blackjack).
severe
Mar 8, 2008, 02:32 PM
I view my iPhone as a cell phone, first and foremost. Anything that may slow down this basic function would be a concern to me and probably to Apple. So, yea, restrictions and quality control are important factors here.
levitynyc
Mar 8, 2008, 02:35 PM
As long as AIM works ok, then I am fine.
notjustjay
Mar 8, 2008, 02:36 PM
I feel it's always better to set high standards, and say "we'll make an exception for you", rather than set lower standards and deal with apps that toe the line even then.
indiekiduk
Mar 8, 2008, 02:38 PM
Haha I posted that comment on Gizmodo. Macrumors have some sharp eyes indeed.
gwangung
Mar 8, 2008, 02:42 PM
I feel it's always better to set high standards, and say "we'll make an exception for you", rather than set lower standards and deal with apps that toe the line even then.
I think, for a consumer device, that may be the best path. Yes, it IS constricting---but that applies for the tech savvy, which is a more limited market. If Apple's aim is to bring the power of the smartphone feature set to a wider audience, then the needs of the general consumer market will drive the development, not the needs of the more tech savvy.
Which is how Apple has ALWAYS been.
Nick.
Mar 8, 2008, 02:45 PM
If there's an MSN Messenger app, I sure hope that would be allowed to run in the background, and a counter in the top bar (where the time is) to tell you if you have a new message. :D
dagamer34
Mar 8, 2008, 02:57 PM
The only application that I care about running in the background is instant messaging. I'm sure AIM will petition some sort of deal for chat (or make an official iChat client for the iPhone).
joseph2166
Mar 8, 2008, 02:58 PM
It'd be nice if a program would link the 3G data connection (in the future) to bluetooth so that you could use the iPhone's data connection with a laptop via bluetooth. Is this remotely possible? I know you can do it with a few windows mobile phones (blackjack).
I've woundered about this before, but it seems unlikely, if only because the phone companies probably had to be pursuaded to allow unlimited data plans by apple promising not to allow such things. Otherwise you could use sooo much data with torrents etc. unless they put a cap.
That's why its unlikely that apple would allow a torrent app as well as people could steal gb (with a lot of patience) for 'free'. (Wasn't there somethin on Steve's list of apps to be banned about resource/network hogging or similar?)
azdude
Mar 8, 2008, 03:01 PM
Why has nobody yet brought up the question of iPhone Apps synchronizing content to the desktop? There's so much potential here, but I have heard no discussion on whether or not any of it will be possible:
- Yojimbo for iPhone
- OmniFocus or any other Tasks app
- iBank (though here I suppose the iPhone could access the QFX data directly)
- Delicious Library
- ...
Telp
Mar 8, 2008, 03:10 PM
My only concern, like everyone else, would be the AIM client. I hope Apple allows a workaround for this one.
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.
yeah, windows 2.0 was such an awesome os, no-one ever wanted to have a program in the background eating all the resources...
seriously speaking, modern operating system such as os x would not allocate any cpu cycles to a process idling in the background. it should also be able to manage the memory in such a way that a process in the background would not affect the processes on the foreground.
in other words, considering that iphone is touted having the most advanced operating system of all the smart phones, this is really bizard and makes one wonder what exactly they had to do to make the mini-osx feasible.
or is this apples' way of ensuring dominance over the small software vendors. say someone introduces a killer program, but it lacks some features due inability to run in the background. then it's easy for apple to make similar program, although slightly better, having the ability to run in the background.
speaking of restriction, i've understood that there is no access to file system, making word processors etc impossible to implement. this and the no 3rd party apps during phone calls would be a serious blow to enterprise usage, when users need to make notes to word processor or spreadsheet or check things while on the phone.
stadidas
Mar 8, 2008, 03:17 PM
Why has nobody yet brought up the question of iPhone Apps synchronizing content to the desktop? There's so much potential here, but I have heard no discussion on whether or not any of it will be possible:
- Yojimbo for iPhone
- OmniFocus or any other Tasks app
- iBank (though here I suppose the iPhone could access the QFX data directly)
- Delicious Library
- ...
This is a big one for me. Apple say they provide SQL support, and advise that you use that rather than creating documents.
Being able to sync documents through iTunes would be awesome; it would allow an app on the iPhone to run as a great companion to a desktop app.
addicted44
Mar 8, 2008, 03:47 PM
yeah, windows 2.0 was such an awesome os, no-one ever wanted to have a program in the background eating all the resources...
seriously speaking, modern operating system such as os x would not allocate any cpu cycles to a process idling in the background. it should also be able to manage the memory in such a way that a process in the background would not affect the processes on the foreground.
in other words, considering that iphone is touted having the most advanced operating system of all the smart phones, this is really bizard and makes one wonder what exactly they had to do to make the mini-osx feasible.
OSX is plenty capable of allocating memory smartly. I think, the issue is not memory, but battery life. 1 critical power saving aspect of most chips is putting the chip to sleep when there is nothing happening. A background process messes with this drastically, since it could be running while the user is not using the phone for anything, thereby destroying battery life (since the chip cannot sleep).
This is more a result of Apple using a new paradigm in computing, which a) recognizes the inability of a user to multitask on a 3" screen (which is why the HIG restricts background apps, while it is still technically possible.) and b) makes things the way they should be, not requiring users to worry about quitting applications.
The application quitting process is poor design that should never have come into being. Apple is trying to break developers from this habit on the iphone, so the developers have to worry about when their application should be consuming resources rather than the user.
Aussie John
Mar 8, 2008, 03:49 PM
What is the situation now if you are downloading a Mail attachment and a call comes in, does mail quit and the download stop?
rjflyn
Mar 8, 2008, 03:49 PM
Sounds like there is going to be some jailbreaking and installing of apps around the restrictions.
rj
asdavis10
Mar 8, 2008, 03:51 PM
Apple will give trusted developers special rights to that functionality that will allow apps to run in the background. Otherwise, AOL's instant messaging (along with many other apps) would not be able to be developed. I don't see any reason why enterprise users won't be allowed to have their programs run in the background. There are many reason why they would need their apps to constantly run. Mail is currently the only app to do this, but it won't be the only one.
Eraserhead
Mar 8, 2008, 04:00 PM
Apple will give trusted developers special rights to that functionality that will allow apps to run in the background. Otherwise, AOL's instant messaging (along with many other apps) would not be able to be developed. I don't see any reason why enterprise users won't be allowed to have their programs run in the background. There are many reason why they would need their apps to constantly run. Mail is currently the only app to do this, but it won't be the only one.
If Mail is set to get Mail every 15 minutes it kills the battery on my iPod Touch, so that is why background apps are taboo. If they are really needed (IM is an example) I think Apple will grant an exception.
ThanatosId
Mar 8, 2008, 04:00 PM
Makes sense to me that it be restricted. We've all seen the stability of Safari running while listening to music.
LiveForever
Mar 8, 2008, 04:11 PM
As a user these things are fine by me. I don't want scores of things running in the background slowing it down. My PC (which this is being typed on at the moment) has lots of things running in the background-half of which I don't know what they are doing and a third I don't want running in the background-they just have been configured by the sneaky app developers to automatically start up.
This is why I'm glad apple are setting some standards as after all this thing must be a quick responding phone in the end. I wouldn't want it to wait seconds before I could answer a call.
There are going to be two classes of iphone/touch user.
Those who just use the apple approved apps. OK they may lag behind 'awesome apps' the second group has but they should have a reliable iphone which isn't slow or prone to crashes and viruses.
The second jaibreaking group who have all the wonderous apps under the sun like solitaire, (written by developers who want to give them away for free so they will have to resort to other ways, perhaps more underhand, to make their money..) but their phones are slow, always crashing, riddled with viruses and trojans and frequently bricked. Boy will they winge..
Just my 2 cents bu the 2.0 thing is a Da Vinci Code like clue hanging in the Louvre for the World to see, about the next 3 maybe 4 g model as well as the new update. (look you can make out 3G if you squint and turn your head 30 degrees clockwise) and Its so obvious its staring us all in the face but they don't actually say it out loud. I would bet money on it. If they want a true enterprise product they have to have a worldwide product. A restricted phone is no good for multinationals with offices in US, UK, Europe, Singapore , Bejing and Sydney-sorry chaps our solution doesn't work for all your territories yet- this won't wash with the corporate buyers of these things
Eraserhead
Mar 8, 2008, 04:18 PM
There are going to be two classes of iphone/touch user.
Those who just use the apple approved apps. OK they may lag behind 'awesome apps' the second group has but they should have a reliable iphone which isn't slow or prone to crashes and viruses.
The second jaibreaking group who have all the wonderous apps under the sun like solitaire, (written by developers who want to give them away for free so they will have to resort to other ways, perhaps more underhand, to make their money..) but their phones are slow, always crashing, riddled with viruses and trojans and frequently bricked. Boy will they winge..
I think you've just won the discussion.
shen
Mar 8, 2008, 04:19 PM
this isn't a quad core machine. we don't need 15 background apps running on a phone...
Eraserhead
Mar 8, 2008, 04:22 PM
I would bet money on it. If they want a true enterprise product they have to have a worldwide product. A restricted phone is no good for multinationals with offices in US, UK, Europe, Singapore , Bejing and Sydney-sorry chaps our solution doesn't work for all your territories yet- this won't wash with the corporate buyers of these things
Once they go 3G there is little/no reason they can't do a worldwide rollout very quickly, or at least rollout to Europe/Asian tigers+Thailand/Japan/Australia/New Zealand.
reubs
Mar 8, 2008, 04:26 PM
As for the AIM application (and if this has been addressed, forgive me), why doesn't Apple just make iChat available for the iPhone? Wouldn't that take care of that AIM problem?
kainjow
Mar 8, 2008, 04:28 PM
As for the AIM application (and if this has been addressed, forgive me), why doesn't Apple just make iChat available for the iPhone? Wouldn't that take care of that AIM problem?
That would solve the problem. Who knows, maybe it's coming for 2.0. We don't know all the new features that will be available by then.
OSX is plenty capable of allocating memory smartly.
we have to remember that it's not the same osx you find on your desktop or laptop. we know apple had to make modifications and trade-offs in order to "fit" the os into the cell phone, we just have no idea what those were. there are several reasons why this restriction was made, some technical, some business and strategy related, some related with co-operation with other companies. we can't know.
I think, the issue is not memory, but battery life. 1 critical power saving aspect of most chips is putting the chip to sleep when there is nothing happening. A background process messes with this drastically, since it could be running while the user is not using the phone for anything, thereby destroying battery life (since the chip cannot sleep).
as i commented earlier, modern operating systems are able to handle processes idling (doing nothing) in such a way that there is (virtually) no performance penalty. if a os can't handle that, there is no reason to call it "most advanced smartphone os". in fact, it's about 10 years from state of the art. not 5 years ahead others.
if the process is not idling but doing something, it obviously has a reason for doing so (aim, msn as examples).
further, as i also commented, there are applications a user wishes to use while making phone calls, even more so when emailing.
one more example of multitasking: you might want to listen to music while editing your documents, or playing games. no multitasking -> you won't.
eastcoastsurfer
Mar 8, 2008, 04:29 PM
Hey Apple, how about let me decide which apps I want to run on my phone/touch. If I want to have it on AIM all day and it happens use a lot of battery life how about let me make that decision.
I think everyone on here is being a little dramatic. You have some app running that now prevents you from answering the phone right away? If that's the case, then the iPhone itself has problems that need fixing.
chopper dave
Mar 8, 2008, 04:35 PM
I think you are all forgetting that this rule may be designed to help developers as well as the end user. This way, when you design an application and debug it, you are GUARANTEED that it will run the same on everyone's phone, no matter how many other apps they have on it. This is the very first SDK for the iPhone, and getting things to run fast on limited hardware needs to be as simple as possible.
Perhaps, in the future, they could add some background ability, such as a limited % of CPU cycles or network time. It would be a nice thing to have of course, and would be part of a maturing iPhone OS. Apple has shown repeatedly with the iPhone that they are pushing things out the door as fast as they can make them, not holding things back for strategic reasons, so I would hope they could add this someday, perhaps when hardware gets faster?
nakile
Mar 8, 2008, 04:38 PM
AOL and Sun are rather big companies. Heck, Apple probably has business deals with them.
I'm sure that they would allow an exception here. If Apple allowed everybody who wrote an application to do this stuff, then I'm sure the iPhone would get screwed up quickly.
Anderzander
Mar 8, 2008, 04:43 PM
The music player is of course another app that works whilst any of the others apps run.
guet
Mar 8, 2008, 05:06 PM
In fact, it's about 10 years from state of the art. not 5 years ahead others.
if the process is not idling but doing something, it obviously has a reason for doing so (aim, msn as examples).
further, as i also commented, there are applications a user wishes to use while making phone calls, even more so when emailing.
one more example of multitasking: you might want to listen to music while editing your documents, or playing games. no multitasking -> you won't.
The os is quite capable of multitasking (you would know this if you'd used it), and it *is* way ahead of anything else in the metric that matters - user experience. Out of interest, which phone OS do you think is 10 years ahead, WM? Symbian ? meh.
Core apps will multitask, as they do already. So you can listen to music while doing other stuff - for example with the OS as it is now you can edit notes and listen to music.
The restriction on 3rd party apps (save perhaps some like AIM which really would require it) is to stop too many apps running at once, ruining the experience, and also to ensure that apps properly save state at all times. Both of these are laudable goals in a device with a very limited amount of memory and battery power available. The OS wants to be able to quit apps at will, to conserve memory, and it can't do that unless apps are ready to quit at any time and start up very quickly.
Apps will be able to save docs to their own local sandbox, and to internet servers if they wish, the only restriction is they can't share local files between apps - I imagine that will be eased too for certain stuff like media as things mature a bit.
So things like a document editor (see notes which is already available), or a document reader will be quite possible.
Antares
Mar 8, 2008, 05:12 PM
This sounds good and perfectly appropriate to me.
locovaca
Mar 8, 2008, 05:32 PM
Next, maybe Apple can dictate which apps we can write and run on our laptops and desktops </sarcasm>
Give me a break. I grew up believing that the consumer should have the choice if they want apps running in the background, not Apple. Don't be so brainwashed- if you installed a bunch of crap and it slowed down your phone, that's YOUR problem. Apple protecting you from yourself doesn't change the problem, it just masks it.
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. It's certainly not in the spirit of OSS, which Apple pulls a large part of its work from and doesn't give back an equal amount (in fact, they hinder it by buying out products like CUPS). This all the more makes the iPhone look like an expensive toy rather than a real business productivity tool.
The point of having a cell phone that can run programs is so you can do things remotely, without a full laptop. Most of our activities involve the Internet in some way. And, the goal of an iPhone (or similar) is that you can do multiple things with it instead of several limited, single function devices. Not allowing background apps takes away one of the biggest advantages of using a smartphone.
michelle21
Mar 8, 2008, 05:35 PM
Apple will give trusted developers special rights to that functionality that will allow apps to run in the background. Otherwise, AOL's instant messaging (along with many other apps) would not be able to be developed. I don't see any reason why enterprise users won't be allowed to have their programs run in the background. There are many reason why they would need their apps to constantly run. Mail is currently the only app to do this, but it won't be the only one.
Where do you get your information.
It seems to me that it was stated on one of the videos, I think it might of been the frameworks in depth one, I went through all of them in one night.
That multitasked running apps in the background is not supported.
Maybe the hardware supports it, but if the api's don't NO ONE using those api's is going to be able to do it.
There are a lot of things that the os can do but also a lot of compromises.
Just like the mac air, off topic but I've had my mac air for almost a month and love it. I'm wondering if the emulator supports gestures on the macair and macpro.
But back to topic
One of the envangelist stated that once you switch apps the other terminates, they promote a url scheme for one app talking to another.
I've been a developer for some time now, most java spring but I've delved into objective c on more than one occassion.
What I saw in the videos is very very impressive.
Blows the psp out of the water.
No One should be critical until they've watched all videos, and you better get some popcorn I started at 11:30 and finished the last at 2:00 am.
kresh
Mar 8, 2008, 05:42 PM
Next, maybe Apple can dictate which apps we can write and run on our laptops and desktops </sarcasm>
Give me a break. I grew up believing that the consumer should have the choice if they want apps running in the background, not Apple.
Well be a good consumer then and don't buy from Apple. It's something that has been disclosed upfront, before any third party apps have shipped. It's not like it's going to be sprung on people after they buy a third party app.
Apple wants to maintain a positive user experience, if it's not the user experience that you want, then don't use it. It's just that simple. Go buy a Nokia, Palm, or Android when available.
kaician
Mar 8, 2008, 05:47 PM
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.
although you would have to have access to the filesystem for the wordprocesser and pdf viewer to me feasible, the point is that multi-tasking would make such a workflow easier. With the jailbroken touch now, every time you want to switch apps, native or third party, you have to go to the home screen. and most of the thrid party apps fully close, leavihng gaps in the usability of the progs.
The real problem is that with true multi-tasking design, they would have to rethink the UI and add buttons and such to allow the user to indicate whether they would like to close the app or put it in the background and switch to another task, something that they don't worry about now with the simple "press home, go to desktop" setup. although easy to understand, very limited.
I, for one, will jailbreak my touch/phone (when they get the 3G one to Japan) regardless of what they do for 3rd party apps. With access to the filesystem i have beautiful wallpapers (not the grainy compressed ones from the photo app), wikipedia and dictionaries, a text editor, and all the games that people will have with the official progs too. Not to mention probably the best thing, have my background show up behind my icons on the homescreen.
I mean come on, who at Apple thought people would be content with just a black background... Even if you can only choose from preset choices, it makes no difference if you can only see it for a second or two while you uinlock your phone...
kdarling
Mar 8, 2008, 05:48 PM
I view my iPhone as a cell phone, first and foremost. Anything that may slow down this basic function would be a concern to me and probably to Apple.
The way I see it, then you simply don't download it.
But don't stop the rest of us from doing whatever we want.
Eraserhead
Mar 8, 2008, 05:53 PM
Next, maybe Apple can dictate which apps we can write and run on our laptops and desktops </sarcasm>
Sounds like an excellent idea for the majority of users. That way they could install software without risking installing malware too.
Give me a break. I grew up believing that the consumer should have the choice if they want apps running in the background, not Apple. Don't be so brainwashed- if you installed a bunch of crap and it slowed down your phone, that's YOUR problem. Apple protecting you from yourself doesn't change the problem, it just masks it.
As I have already argued at great length in this thread (http://forums.macrumors.com/showthread.php?t=444620&page=3) the user in general isn't actually capable of making that decision not to download malware, which is why there is so much spyware on Windows.
And that spyware doesn't just sit there, they can get their personal details stolen, which I have to pay for through higher charges, and they can also get into a botnet for sending spam etc. which I still have to deal with.
As the iPhone already has a 60% and growing webshare, it is very likely to be the first to get a significant mobile virus, forcing the process to be through Apple reduces that risk significantly.
Now if there was a "driving licence" for the internet this issue would go away but unfortunately there isn't.
notjustjay
Mar 8, 2008, 05:57 PM
Give me a break. I grew up believing that the consumer should have the choice if they want apps running in the background, not Apple. Don't be so brainwashed- if you installed a bunch of crap and it slowed down your phone, that's YOUR problem. Apple protecting you from yourself doesn't change the problem, it just masks it.
Do you have any friends that run Windows PCs?
How many of them are running slowly? Full of viruses? Full of spyware? Security vulnerabilities? Software that crashes frequently? Issues of peripherals that don't get along? Incorrect driver versions or conflicting drivers?
... how many of them like to blame Microsoft for making a crappy OS?
... how many of US like to blame Microsoft?
... how many of us are quick to put down Windows for implementing a poor security and admin model that allows these bad things to happen? (And praise OS X, Linux and the like for implementing a stricter security model that does NOT allow these things to happen?)
Or do we say "If your Windows installation gets a virus, gets spyware, becomes unstable, is exploited... that's YOUR fault for installing crap?"
winterspan
Mar 8, 2008, 06:07 PM
Makes sense to me that it be restricted. We've all seen the stability of Safari running while listening to music.
NO, thats called bad development and implementation. And it's hard to believe you would so readily give up such a fundamental and critical part of the platform because you happened to have a bad experience with some buggy firmware.
FX120
Mar 8, 2008, 06:12 PM
Do you have any friends that run Windows PCs?
How many of them are running slowly? Full of viruses? Full of spyware? Security vulnerabilities? Software that crashes frequently? Issues of peripherals that don't get along? Incorrect driver versions or conflicting drivers?
... how many of them like to blame Microsoft for making a crappy OS?
... how many of US like to blame Microsoft?
... how many of us are quick to put down Windows for implementing a poor security and admin model that allows these bad things to happen? (And praise OS X, Linux and the like for implementing a stricter security model that does NOT allow these things to happen?)
Or do we say "If your Windows installation gets a virus, gets spyware, becomes unstable, is exploited... that's YOUR fault for installing crap?"
Ah, I see, treat people like morons and protect them from themselves.
Sounds like the state of the US government right about now.
Eraserhead
Mar 8, 2008, 06:13 PM
NO, thats called bad development and implementation.
True, but only allowing one app at a time helps make a bunch of other stuff simpler.
onionperson654
Mar 8, 2008, 06:15 PM
Do you have any friends that run Windows PCs?
How many of them are running slowly? Full of viruses? Full of spyware? Security vulnerabilities? Software that crashes frequently? Issues of peripherals that don't get along? Incorrect driver versions or conflicting drivers?
... how many of them like to blame Microsoft for making a crappy OS?
... how many of US like to blame Microsoft?
... how many of us are quick to put down Windows for implementing a poor security and admin model that allows these bad things to happen? (And praise OS X, Linux and the like for implementing a stricter security model that does NOT allow these things to happen?)
Or do we say "If your Windows installation gets a virus, gets spyware, becomes unstable, is exploited... that's YOUR fault for installing crap?"
Actually, I run a Windows PC. It works fine and doesn't get bogged down by crap (occassionally it slows down because there is SOOO much Windows software out there you can go crazy downloading free stuff and have to keep track of that, but that's simply too much of a good thing. PC Mag just had their most read online article EVER about 157 free apps, most all were for Windows). I also like to blame Microsoft for making a crappy OS (well, I'm not running Vista, but I blame them for making Vista nonetheless).
However I don't blame Microsoft for the crap that attacks Windows, I blame the people who make the crap. Macs don't get it not because OS X is amazing but because it makes sense to target the 85+ % of people who have Windows rather than the 10+ % who run OS X. Plus, add the hate many hackers feel towards Microsoft, and that only worsens the situation.
Heck, if Macs ever start to get attacked (rumors have been floating around this past year), they'll be WAY more vulneralble. Norton and McAfee work pretty well, but you can't use them on a Mac. Plus, if Microsoft started to up security even more than they did in Vista (considered one of its better upgrades) everyone would start screaming "antitrust."
winterspan
Mar 8, 2008, 06:21 PM
As a user these things are fine by me. I don't want scores of things running in the background slowing it down.
(written by developers who want to give them away for free so they will have to resort to other ways, perhaps more underhand, to make their money..)
First of all, there are many legitimate use cases of multitasking that don't have anything to do with "scores of things running in the background slowing it down".
1) instant messaging ?
2) how about receiving information during a phone call which you need to write down?
3) how about checking your address book or accessing other data from another app that you need to provide over the phone to another person?
4) etc
And how dare you spew such unbelievably ignorant and misinformed crap about open source / freeware developers resorting to malware and spyware to "fund" the app development process. The vast majority of open source / freeware developers, including myself, work on an altruistic basis for the community or do it as a hobby. For others, they provide great freeware with an option to upgrade to a paid version or paid updates.
I suggest you get off your high horse and pay a little respect to these open source developers who MADE OSX and the iPhone possible...
Sounds like an excellent idea for the majority of users. That way they could install software without risking installing malware too.
That is unbelievable. You want Apple to dictate what software you can install on your own computer? Avoiding malware is actually incredibly easy if you are novice
of computer systems:
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.
Do you have any friends that run Windows PCs?
How many of them are running slowly? Full of viruses? Full of spyware? Security vulnerabilities? Software that crashes frequently? Issues of peripherals that don't get along? Incorrect driver versions or conflicting drivers?
... how many of them like to blame Microsoft for making a crappy OS?
... how many of US like to blame Microsoft?
... how many of us are quick to put down Windows for implementing a poor security and admin model that allows these bad things to happen? (And praise OS X, Linux and the like for implementing a stricter security model that does NOT allow these things to happen?)
Or do we say "If your Windows installation gets a virus, gets spyware, becomes unstable, is exploited... that's YOUR fault for installing crap?"
Actually I say the later. It's the fault of the novice if they have all these problems. They need to educate themselves from the MYRIAD of resources on the web as to how to properly conduct the download and installation of software, and proper security precautions, such as using secure internet browsers, NOT opening email attachments from unidentified senders, NOT downloading from p2p file sharing networks, and making sure you virus protection and OS are up to date. A few simple precautions go a long way to keeping problems from happening.
Is it the job of anyone to fencing off the sidewalk If people want to go walking straight into south LA late at night to prevent them from being robbed??
Eraserhead
Mar 8, 2008, 06:21 PM
However I don't blame Microsoft for the crap that attacks Windows, I blame the people who make the crap.
Sure and I agree, but the vast majority of people aren't so enlightened and will blame Apple.
And how dare you spew such unbelievably ignorant and misinformed crap about open source / freeware developers resorting to malware and spyware to "fund" the app development process. The vast majority of open source / freeware developers, including myself, work on an altruistic basis for the community or do it as a hobby. For others, they provide great freeware with an option to upgrade to a paid version or paid updates.
I suggest you get off your high horse and pay a little respect to these open source developers who MADE OSX and the iPHONE POSSIBLE!!!!!!
Um, I write software too, its also open-source. Check my sig for more details.
Ah, I see, treat people like morons and protect them from themselves.
If you go to a country like Vietnam, where although they will be rich in 10 years, you do still get scams attempted on you every 5 seconds, it gets old, very old, very quickly. However if you live in a Western democracy you are protected from this and so are already protected more than you know.
asdavis10
Mar 8, 2008, 06:25 PM
Where do you get your information.
And what was incorrect about anything I said?
ert3
Mar 8, 2008, 06:34 PM
Wirelessly posted (iPhone 8gb: Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/4A102 Safari/419.3)
personally I think this guide line is really more there because some devs may use it as a means of writing spyware. (some thing aol does allot of). That and they may want to make sure every app runs as advertised which means no hogging the ARM core.
GirthP
Mar 8, 2008, 06:37 PM
Here comes.. the waaambulance....
Why do people think Apple owes them anything?
This is Apple's creation, they get to do what they want with it. Frankly, it seems like a reasonable decision. They are creating a very open framework from scratch. It is not hard to see why they are making this decision. If you think that you are being ripped off, your delusions of grandeur are of epic proportions.
Go buy a Nokia N95, and have at it.
jz1492
Mar 8, 2008, 06:53 PM
The blackberry becomes slow and almost unusable when you leave applications open in the background, specially when you leave some web pages open in the browser.
One of the more affected applications is their own blackberry messenger, which is also affected by message history length and typing activity on the other end.
Nerve wrecking.
firewood
Mar 8, 2008, 07:28 PM
A lot of random badware hides inside loading code chunks, emulated code, and runs in the background. It's quite possible that the SDK limitations are to help Apple slightly more easily screen out potential malware, spyware, battery killing cr*pware, and ways of loading applets that bypass the official Apple Store. If you are BigCorp who can provide guarantees, code audits, post a huge indemity bond, maybe even provide $$$ comarketing to help sell more iPhones, then you most likely get to play slightly outside the sandbox.
So my guesses on the JVM are two possibilities: some technical manager at Sun spoke without consulting legal, and will be in big trouble come Monday; or the Java runtime will only be able to run signed applets that comes bundled with it or from the Apple Store, which will screen out the junkware.
firewood
Mar 8, 2008, 07:35 PM
The SDK limitation on interpreted code seems, as written, to disallow programmable calculators, spreadsheets, various games with scriptable characters or robots, and all types of emulators, even for legal unencumbered-by-copyright vintage games.
Hattig
Mar 8, 2008, 07:46 PM
Ah, I see, treat people like morons and protect them from themselves.
Sounds like the state of the US government right about now.
If you're a computer software company right now, this is pretty much the only option you have. Sadly, the truth is, it's true, most people are morons who can barely get the wherewithal to remember to breathe regularly.
This is fine for Apple if Apple's SDK provides a default method that tells the app to essentially "Save All State and Quit". I.e,. phone call comes in, OS tells app "That's it, time's up, save all and quit". By the time you've reacted as a user, the software has saved and quit, so it all appears seamless. Maybe the OS masks it all with a fancy Core Animation tween from the app to the next app ...
The next part is that the startup of the application checks the save state and reloads it, so that it appears to the user that nothing has changed.
On the other hand, my 512KB Amiga 500 back in the day multitasked multiple applications and laughed in your face (well, software got slower as you ran more). The vast majority of CPU cycles these days is used by media manipulation, XML manipulation and other things. Apple's issue is that media, etc, takes up loads of RAM, and that's what they don't have to spare in the iPhone. Far better the Quit App, Run Game (and get 100% performance), Quit Game, Run App and Reload State as if the app was never quit.
And I argue that is how all software should run, mobile or desktop (as regards the quit, save, restore behaviour, not having to quit when switching software, that would be silly on the desktop (unless you hadn't run it for a while, but the desktop will just page it out, which is the desktop option for this type of software).
However some applications should be allowed to listen "Launch Listeners" that will listen for incoming information, then launch the application if required. These listeners should also be allowed to keep connections alive. However they should be small, and use a very small proportion of CPU, and the active task should be able to tell the OS how to treat these things - i.e,. QUEUE UNTIL I QUIT, or INTERRUPT ME. Or whatever.
GuillaumeB
Mar 8, 2008, 07:50 PM
ok many of us will have been waiting a year before seeing thrid party applications. I got my iPhone in November and more than once I rsisted to JB it giving Apple some credit concernin the SDK.
Also I do love the Push features turning the iphone into a serious blackberry killer, i find this limit ridiculous. The phone OS they say? cm'on WFT? my gf can have GTalk run in the background of her BB pearl. it's not like it's huge CPU burner..especially for a so-called powerful machine!!
I dont see the point of opening up the iPhone if the Apps can talk one to another or be complementary one to another by multitaksing...no wonder you dont get copy/paste!
Di9it8
Mar 8, 2008, 08:10 PM
What is the situation now if you are downloading a Mail attachment and a call comes in, does mail quit and the download stop?
Surely the app would be suspended, and the download resumes on call termination?
Di9it8
Mar 8, 2008, 08:19 PM
Once they go 3G there is little/no reason they can't do a worldwide rollout very quickly, or at least rollout to Europe/Asian tigers+Thailand/Japan/Australia/New Zealand.
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?
letsdiscussit
Mar 8, 2008, 09:11 PM
I want Skype and that has to run in the background of the iPhone. I also want, when connected to WiFi full functionality of Skype, talking to people and using the camera as web camera. It would be sooooo awesome. Might it be possible?
winterspan
Mar 8, 2008, 09:32 PM
Um, I write software too, its also open-source. Check my sig for more details.
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 ?
personally I think this guide line is really more there because some devs may use it as a means of writing spyware. (some thing aol does allot of). That and they may want to make sure every app runs as advertised which means no hogging the ARM core.
1) I'm sure nefarious devs who would wish to spread malware/spyware would NOT be following any guideslines of Apples or attempt to use the iTunes distribution method.
2) All tools can be used the wrong way, that in no way means the tools shouldn't be used.
The blackberry becomes slow and almost unusable when you leave applications open in the background, specially when you leave some web pages open in the browser.
One of the more affected applications is their own blackberry messenger, which is also affected by message history length and typing activity on the other end.
Nerve wrecking.
Well of course the BB is a different beast, with a different OS and optimizations, and obviously a slower ARM processor and 1/2 the RAM.
If you're a computer software company right now, this is pretty much the only option you have. Sadly, the truth is, it's true, most people are morons who can barely get the wherewithal to remember to breathe regularly. This is fine for Apple if Apple's SDK provides a default method that tells the app to essentially "Save All State and Quit". I.e,. phone call comes in, OS tells app "That's it, time's up, save all and quit". By the time you've reacted as a user, the software has saved and quit, so it all appears seamless. Maybe the OS masks it all with a fancy Core Animation tween from the app to the next app ...
The next part is that the startup of the application checks the save state and reloads it, so that it appears to the user that nothing has changed.
On the other hand, my 512KB Amiga 500 back in the day multitasked multiple applications and laughed in your face (well, software got slower as you ran more). The vast majority of CPU cycles these days is used by media manipulation, XML manipulation and other things. Apple's issue is that media, etc, takes up loads of RAM, and that's what they don't have to spare in the iPhone. Far better the Quit App, Run Game (and get 100% performance), Quit Game, Run App and Reload State as if the app was never quit.
And I argue that is how all software should run, mobile or desktop (as regards the quit, save, restore behaviour, not having to quit when switching software, that would be silly on the desktop (unless you hadn't run it for a while, but the desktop will just page it out, which is the desktop option for this type of software). However some applications should be allowed to listen "Launch Listeners" that will listen for incoming information, then launch the application if required. These listeners should also be allowed to keep connections alive. However they should be small, and use a very small proportion of CPU, and the active task should be able to tell the OS how to treat these things - i.e,. QUEUE UNTIL I QUIT, or INTERRUPT ME. Or whatever.
You are getting at a good point here. I think from now on when discussing applications on the iPhone, everyone needs to make the distinction
between real multi-tasking of full applications and applications opening a small listener thread for things such as notifications, update downloads, etc.
I surely hope that the Apple guidelines are only that, and that developers will be able to have small background processes running the background.
How else would certain things work such as Instant messenging or downloading files in the background while playing a game.
Also heopfully only multi-tasking between 3rd party apps will be disallowed, while multi-tasking between a 3rd party app and the iPhone core functionality will be ok.
Think of situations such as retrieving information from a 3rd party app while on the phone, or writing down information while on the phone. There are so many use cases where
this functionality will be required. I only have an iPod touch, but for the people who have an iPhone, are you able to access contacts/notes while on the phone?
plumpan
Mar 8, 2008, 09:34 PM
I want Skype and that has to run in the background of the iPhone. I also want, when connected to WiFi full functionality of Skype, talking to people and using the camera as web camera. It would be sooooo awesome. Might it be possible?
that would be reallyyyyyy cool. :o hope apple allows it!
iSlicer
Mar 8, 2008, 09:46 PM
I think, for a consumer device, that may be the best path. Yes, it IS constricting---but that applies for the tech savvy, which is a more limited market. If Apple's aim is to bring the power of the smartphone feature set to a wider audience, then the needs of the general consumer market will drive the development, not the needs of the more tech savvy.
Which is how Apple has ALWAYS been.
I disagree with your final comment as to how Apple have always developed for the general consumer. I assume you don't play with Final Cut Studio, Xcode, Aperture, Logic etc... They choose their markets and develop in style which suits them best and for the most part suits us best... Otherwise you would not be using a mac and the large developer community would not be working on a mac. It's because they do develop for the tech savvy that we use macs and it's why Apple do develop for the general consumer that my wife uses iLife.
jragosta
Mar 8, 2008, 09:46 PM
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.
winterspan
Mar 8, 2008, 09:48 PM
that would be reallyyyyyy cool. :o hope apple allows it!
Well considering Europe and Asia have had cellphones with secondary forward facing video calling cameras for years, I really doubt it. The nokia, HTC, and other models of phones have these cameras outside the USA, and then the stupid US carriers make the manufacturers develop alternative models without them for the US market. It's really a bunch of crap,
Verizon's and Sprints EVDO network can easily handle the bandwidth demands of small res video conferencing. AT&T's 3G network will be good when they have HSUPA (upload side) rolled out as well.
Also, Apple already said they will block "bandwidth hog" apps from the Iphone app store, and I would include video calling/ video chat in with that, in addition to place-shifting TV apps like SlingPlayer and other awesome things. This is why Apple controlling all App download will be a major problem.
sanfransurfer
Mar 8, 2008, 10:22 PM
"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."
Apple applications already violate this. You can click on a link in mail or safari and make a phone call, launch google maps, or the video player.
MacFly123
Mar 8, 2008, 10:35 PM
Can someone in here please tell me... I have never coded anything before, but I want to download the SDK and try to learn some things and just have fun. Can I really download it for free or do I have to pay the $99.00? What do I need to do? Just use my apple ID to sign up and download it for free or will I incur fees? How would it work for someone like me? Thanks :)
Niiro13
Mar 8, 2008, 11:00 PM
That's interesting.
They're probably gonna allow that exception to AIM and Java...AIM's one of the largest IM in the United States and Java is one of the largest plugins.
Those rules are probably general guidelines...I mean, Apple approves all applications anyway, right? So I highly doubt they're going to restrict AOL and Sun.
Unless they're gonna take AOL's already made program, implement MSN, Yahoo, and Jabber, and rename to iChat. =/
PodHead
Mar 8, 2008, 11:08 PM
As for the AIM application (and if this has been addressed, forgive me), why doesn't Apple just make iChat available for the iPhone? Wouldn't that take care of that AIM problem?
I'm personally waiting for adium and 8hands even though they don't have a mac version yet, that would need to run in the background as well.
dejo
Mar 8, 2008, 11:11 PM
Can I really download it for free or do I have to pay the $99.00? What do I need to do? Just use my apple ID to sign up and download it for free or will I incur fees? How would it work for someone like me? Thanks :)
You can download the SDK for free, no fees.
twoodcc
Mar 8, 2008, 11:26 PM
i can see the concern for Apple. i'm sure that they will work with people like Sun to develop Java for the iPhone though
winterspan
Mar 8, 2008, 11:33 PM
Can someone in here please tell me... I have never coded anything before, but I want to download the SDK and try to learn some things and just have fun. Can I really download it for free or do I have to pay the $99.00? What do I need to do? Just use my apple ID to sign up and download it for free or will I incur fees? How would it work for someone like me? Thanks :)
The SDK is free I believe. The $99 would be to join the Apple Developer program and obtain a digital certificate to be able to distribute Apps through the iTunes store.
I'm not experienced in Objective-C, but I have heard its much less of a nightmare than C++ and actually more elegant to use than C. Nevertheless, if you haven't done ANY type of programming before, I'd recommend you start easy and choose a simpler language.
PHP is nice and easy, but mostly limited to web applications.
Java is more advanced and much more versatile with a huge dev community, but it has its drawbacks.
I don't have alot of experience in Python, but it seems to be a major favorite among many, and very intuitive and developer friendly. Ruby is much the same, although like PHP, it's much less popular for anything other than web applications.
C# and VB.net are also very nice to use, but because they use a "virtual machine" like Java, they are mostly limited to Microsoft systems.
If you are ambitious to get moving on the iPhone SDK ASAP and are a quick learner, then you should just dive head first into Objective-C.
I would post some links for getting started, but honestly this is such a popular topic on the web that you won't have any trouble finding resources and information.
TurboSC
Mar 9, 2008, 12:03 AM
I'm sure Apple will have a solution for something regarding IM clients and smaller background processes.
Hooka
Mar 9, 2008, 12:34 AM
I view my iPhone as a cell phone, first and foremost. Anything that may slow down this basic function would be a concern to me and probably to Apple. So, yea, restrictions and quality control are important factors here.
Amen
salilsundresh
Mar 9, 2008, 12:48 AM
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.
although you would have to have access to the filesystem for the wordprocesser and pdf viewer to me feasible, the point is that multi-tasking would make such a workflow easier. With the jailbroken touch now, every time you want to switch apps, native or third party, you have to go to the home screen. and most of the thrid party apps fully close, leavihng gaps in the usability of the progs.
The real problem is that with true multi-tasking design, they would have to rethink the UI and add buttons and such to allow the user to indicate whether they would like to close the app or put it in the background and switch to another task, something that they don't worry about now with the simple "press home, go to desktop" setup. although easy to understand, very limited.
I, for one, will jailbreak my touch/phone (when they get the 3G one to Japan) regardless of what they do for 3rd party apps. With access to the filesystem i have beautiful wallpapers (not the grainy compressed ones from the photo app), wikipedia and dictionaries, a text editor, and all the games that people will have with the official progs too. Not to mention probably the best thing, have my background show up behind my icons on the homescreen.
I mean come on, who at Apple thought people would be content with just a black background... Even if you can only choose from preset choices, it makes no difference if you can only see it for a second or two while you uinlock your phone...
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.
irun5k
Mar 9, 2008, 01:08 AM
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?
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:
G. I.
Mar 9, 2008, 04:35 AM
I don't buy crap without Skype client and call recorder, both require background running.
surferfromuk
Mar 9, 2008, 04:48 AM
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
cmclaughlan
Mar 9, 2008, 05:10 AM
"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.
winterspan
Mar 9, 2008, 05:10 AM
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?
winterspan
Mar 9, 2008, 05:13 AM
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."
kaician
Mar 9, 2008, 05:13 AM
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.
winterspan
Mar 9, 2008, 05:18 AM
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:
http://upload.wikimedia.org/wikipedia/commons/thumb/1/1f/2007Computex_e21Forum-MartinCooper.jpg/450px-2007Computex_e21Forum-MartinCooper.jpg
kaician
Mar 9, 2008, 05:18 AM
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
Eraserhead
Mar 9, 2008, 06:19 AM
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 :o.
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.
TonyHoyle
Mar 9, 2008, 06:28 AM
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.
surferfromuk
Mar 9, 2008, 07:27 AM
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'
neondiet
Mar 9, 2008, 08:48 AM
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.
Eraserhead
Mar 9, 2008, 08:51 AM
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.
EagerDragon
Mar 9, 2008, 08:58 AM
http://www.macrumors.com/images/macrumorsthreadlogo.gif (http://www.macrumors.com)
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 (http://gizmodo.com/365327/iphone-sdk-limitation-only-one-user+made-app-running-concurrently-no-background-processes#c4605837), 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 (http://www.macrumors.com/2008/03/08/sun-bringing-java-to-iphone/) to bring Java to the iPhone is not technically allowed, despite their claims:This could also restrict announced plans (http://www.macrumors.com/iphone/2008/03/08/run-windows-on-the-iphone-with-iemulator-touch/) 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 (http://www.macrumors.com/2008/03/08/iphone-sdk-limitations-multitasking-java-emulators/)
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.
Kwill
Mar 9, 2008, 09:07 AM
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.
Hattig
Mar 9, 2008, 09:09 AM
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.
Kwill
Mar 9, 2008, 09:13 AM
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.
bristolian
Mar 9, 2008, 09:42 AM
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?
Hattig
Mar 9, 2008, 09:53 AM
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...
tadunne
Mar 9, 2008, 09:55 AM
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.
It is the lack of memory, and that flash isn't really suitable as swap space due to the limited read/write cycles.
yeah, that's why apple doesn't make any laptops with flash drives, oh, wait, http://www.apple.com/macbookair/ ...
cnorth3
Mar 9, 2008, 10:41 AM
It seems like some on this thread have forgotten that the iPhone is still fundamentally a cell phone. That's it's first and most important function. It's not a mini Mac Pro that somehow squishes into your pocket. That means it has some limitations? Compared to what; Windows Mobile? Jeesh.:rolleyes:
sonicboom
Mar 9, 2008, 10:44 AM
It is the lack of memory, and that flash isn't really suitable as swap space due to the limited read/write cycles.
There's is that, but even if the read/write cycles were not an issue in practice, you would still have a limited flash resource whose size isn't really big enough to accommodate an appropriately sized swap file/partition (16GB is a lot, but goes quickly with media storage). So practically speaking, we're limited to the physical RAM of the phone.
FTR, Windows (or any OS for that matter) flash-based devices would have the same technical restriction as well.
megfilmworks
Mar 9, 2008, 10:44 AM
Anyone having problems with the Aspen Simulator "rotate left / right" menu option for landscape presentation?
Anyone having trouble getting audio to play in the Aspen sim?
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?
as these would be most conviniently handled by processes running in the background, probly not. apple has explicitly stated that 3rd party apps won't be able to access connector port so that kind of external devices won't be supported.
quantumbits
Mar 9, 2008, 12:09 PM
IMO, the restriction makes sense. However, I anticipate that it may be relaxed after the initial developer frenzy. If not, then it will certainly happen in the beefier v.2 devices.
Although a convergence device, this is still more of a mobile phone than anything else. That functionality should trump all others.
Tosser
Mar 9, 2008, 12:11 PM
yeah, that's why apple doesn't make any laptops with flash drives, oh, wait, http://www.apple.com/macbookair/ ...
Yup. Not to mention any and all PDA's.
And the iPhone has a processor and memory that can run with most of them.
I don't understand why people have to invent hardware limitations as the reason for these limitations, when the hardware doesn't have those limitations on other platforms.
If nothing else, that is certainly a red alert to apologism (this of course to the bloke you responded to).
Tosser
Mar 9, 2008, 12:15 PM
It seems like some on this thread have forgotten that the iPhone is still fundamentally a cell phone. That's it's first and most important function. It's not a mini Mac Pro that somehow squishes into your pocket. That means it has some limitations? Compared to what; Windows Mobile? Jeesh.:rolleyes:
Funny you should mention that. It has the same processor speed etc. What's the problem comparing it to an OS like that? Ah, I see, it's an Apple-product, so it's above comparison
cisco1138
Mar 9, 2008, 01:25 PM
This nifty little device replaced my old cell phone and my aging iPod. Now I would like to see it replace all of my remote controls sitting there on my coffee table.
I see the potential of the iPhone/Touch in becoming the best universal remote. Even better than some existing remotes costing twice the price of an iPhone/Touch. Maybe with a dongle attached to the iPhone or Touch that would emit an InfraRed signal, or just for the iPhone with a bluetooth accessory placed near the components that are to be controlled.:confused:
Rocketman
Mar 9, 2008, 01:34 PM
When you get right down to it, the "restrictions" are to maintain an interface paradigm, not to overtly restrict a functionality. So if your app does tasks that actually interfere with the smooth operation of "main tasks" it is lilely they would be restricted under the license restrictions.
If on the other hand your app does background tasks central to the function of the tool and does not appreciably impact user interaction (snappiness), then I suspect Apple will allow it on a case by case basis. The language allows them to refuse by default pending proof of that trade off.
We already know Apple alows considerable latitude to important app developers and despite the obvious and stated limitations of java and virtual machines to the iPhone's ultimate success, I also suspect the publishers will aswage Apple's concerns sufficient to make their environments available to their narrow markets where presence is mandatory.
It is a judgement call. Publishers who knowingly violate the default conditions would do well to both minimize it and justify those examples that persist. Maybe even NOTIFY (nag) the user that usage will impact the overall interface experience.
Rocketman
Rocketman
Mar 9, 2008, 01:36 PM
It seems like some on this thread have forgotten that the iPhone is still fundamentally a cell phone. That's it's first and most important function. It's not a mini Mac Pro that somehow squishes into your pocket. That means it has some limitations? Compared to what; Windows Mobile? Jeesh.:rolleyes:
I believe you actually don't get it.
Rocketman
Aihal
Mar 9, 2008, 01:42 PM
Most mobile phone OSes have the concept of suspended states. PalmOS does exactly this - when you switch out of an app, it saves its state and quits.
Other mobile OSes like Windows Mobile and Symbian try to allow processes to stay running in the background. This causes several problems:
- Complexity:It's not clear to the user when an app quits and when it just goes to the background - WM and Symbian have task managers which is way too complex for a tiny little screen on a mobile.
- Reliabilty: Symbian forums are full of complaints about low memory causing crashes and slowness. Open more than a few apps and they grind to a halt. The low memory available on a mobile phone forces the user to manually quit applications anyway.
- Performance: why waste system memory on a background application on a device with such a tiny screen? Are you really going to split the screen and have your web browser and email open at the same time or something?
From the sound of it, Apple have taken the sensible decision here. By only having one application running at once (with certain exceptions) they get a more reliable, simpler and faster solution. Saving the state of most applications will take writing out a few dozen bytes to storage, and the OS on the iPhone seems to be pretty quick at launching processes, so the whole thing should be transparent to the user.
iSee
Mar 9, 2008, 01:42 PM
I think the two main limitations (background tasks and data syncing) will be resolved soon. For background tasks, Apple just needs time to figure out exactly how to appropriately sandbox this to prevent it from hurting the performance of other apps and battery life.
The data syncing will surely be based on Sync Services--they probably just need more time to get this polished for external release.
My guess is that, Rather than unrestricted background tasks, apps will probably be allowed to register for either push or pull notifications.
- push notifications will have to follow a strict protocol. The OS will implement receiving these notifications, so no app specific code is run.
- pull notifications will be probably be a little app specific "plug-in" process that can poll in whatever way it wants. But the OS will probably only let it run for x seconds before killing it, and let it run at most once every 15 min (according to the user's preference).
Both notification methods will only be able to set a number (which is displayed in a red circle over the icon of the appropriate app) and/or activate the notification chime/vibration. And possibly accept a small amount of data.
There are obviously many legitimate and phone-friendly uses for app-specific message notifications. A good way of providing this service to third-party apps definitely enhances the platform. So its just a matter of time before Apple has an approved solution.
MacFly123
Mar 9, 2008, 01:49 PM
The SDK is free I believe. The $99 would be to join the Apple Developer program and obtain a digital certificate to be able to distribute Apps through the iTunes store.
I'm not experienced in Objective-C, but I have heard its much less of a nightmare than C++ and actually more elegant to use than C. Nevertheless, if you haven't done ANY type of programming before, I'd recommend you start easy and choose a simpler language.
PHP is nice and easy, but mostly limited to web applications.
Java is more advanced and much more versatile with a huge dev community, but it has its drawbacks.
I don't have alot of experience in Python, but it seems to be a major favorite among many, and very intuitive and developer friendly. Ruby is much the same, although like PHP, it's much less popular for anything other than web applications.
C# and VB.net are also very nice to use, but because they use a "virtual machine" like Java, they are mostly limited to Microsoft systems.
If you are ambitious to get moving on the iPhone SDK ASAP and are a quick learner, then you should just dive head first into Objective-C.
I would post some links for getting started, but honestly this is such a popular topic on the web that you won't have any trouble finding resources and information.
Thanks for the info. I downloaded the SDK and am going through it :) Apple has posted a bunch of videos about basics and getting started too. This is going to be fun. Right now I am going through the simulator and videos to try and find new features in 2.0 hehe :) Do they have Chinese in the current firmware? It is in the simulator!
cisco1138
Mar 9, 2008, 01:50 PM
Although a convergence device, this is still more of a mobile phone than anything else. That functionality should trump all others.
Let's not forget the iPod Touch. The Apps should run on both devices, though some will limit functionality on the touch.
yeah, windows 2.0 was such an awesome os, no-one ever wanted to have a program in the background eating all the resources...
seriously speaking, modern operating system such as os x would not allocate any cpu cycles to a process idling in the background. it should also be able to manage the memory in such a way that a process in the background would not affect the processes on the foreground.
in other words, considering that iphone is touted having the most advanced operating system of all the smart phones, this is really bizard and makes one wonder what exactly they had to do to make the mini-osx feasible.
or is this apples' way of ensuring dominance over the small software vendors. say someone introduces a killer program, but it lacks some features due inability to run in the background. then it's easy for apple to make similar program, although slightly better, having the ability to run in the background.
speaking of restriction, i've understood that there is no access to file system, making word processors etc impossible to implement. this and the no 3rd party apps during phone calls would be a serious blow to enterprise usage, when users need to make notes to word processor or spreadsheet or check things while on the phone.
Not sure if you've noticed, but the iPhone/touch are not permanently connected to a wall jack for unlimited, endless power. In addition, memory constraints are, for the moment, somewhat of a reality. To complain that an early gen hardware device and its os (less than a year old btw) should allow all of the freedoms of a desktop system are silly. I applaud Apple for taking this slowly. (Although the depth of the SDK sure accomplished an pre-emptive slapdown of the autowhine crowd.
stein0726
Mar 9, 2008, 01:59 PM
I have an ipod touch, but i realized something for iphone users. There will no longer be a need to use AT&T's texting, because you can use AIM to text cellphones for free. Why pay for texting any more? The iphone just got even better. Can't wait for all these app's on my ipod touch!
pseudonymph
Mar 9, 2008, 02:06 PM
I have an ipod touch, but i realized something for iphone users. There will no longer be a need to use AT&T's texting, because you can use AIM to text cellphones for free. Why pay for texting any more?
because the iphone plan on att gives you 200 texts anyway. good way to get around it if you're a super-heavy text user, but I send/get maybe 5 messages a day.
quantumbits
Mar 9, 2008, 02:15 PM
Let's not forget the iPod Touch. The Apps should run on both devices, though some will limit functionality on the touch.
Good point. IMO, it begs the following question: Are the iPhone and Touch destined to diverge? Should they?
ruinfx
Mar 9, 2008, 02:19 PM
Most mobile phone OSes have the concept of suspended states. PalmOS does exactly this - when you switch out of an app, it saves its state and quits.
Other mobile OSes like Windows Mobile and Symbian try to allow processes to stay running in the background. This causes several problems:
- Complexity:It's not clear to the user when an app quits and when it just goes to the background - WM and Symbian have task managers which is way too complex for a tiny little screen on a mobile.
- Reliabilty: Symbian forums are full of complaints about low memory causing crashes and slowness. Open more than a few apps and they grind to a halt. The low memory available on a mobile phone forces the user to manually quit applications anyway.
- Performance: why waste system memory on a background application on a device with such a tiny screen? Are you really going to split the screen and have your web browser and email open at the same time or something?
From the sound of it, Apple have taken the sensible decision here. By only having one application running at once (with certain exceptions) they get a more reliable, simpler and faster solution. Saving the state of most applications will take writing out a few dozen bytes to storage, and the OS on the iPhone seems to be pretty quick at launching processes, so the whole thing should be transparent to the user.
you have obviously never used the new nokia s60 devices, because if you had you would realize how uninformed you are.
Don't worry, someone will invent MultiFinder soon enough.
johnsingh06
Mar 9, 2008, 02:38 PM
Safari feels alot Snappier:D!
firewood
Mar 9, 2008, 02:40 PM
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...
They most likely already have. Apple wants to control the sum total of all possible background processes so that they can more precisely account for the amount of actual RAM, the number of CPU cycles, and the micro-watt-hours of battery required, and can then much better guarantee that the rest of these resources will be available for phone use or for any foreground app, and still maintain a given amount of user responsiveness, no matter what the user has installed from the official app store.
Apple obviously thinks that the bulk of its target market value stability, responsiveness, and a tiny selected number of targeted apps (push email, chat, etc.), over allowing users to slow their device down to a crawl running arbitrary applications.
Palm attempted to solve some of these issues with their now defunct Cobalt OS. This OS had a tiny limited pool of memory and CPU cycles that the background processes of all user applications had to share. Not sure they ever figured out how to get a bunch of unrelated random apps to share properly.
Aihal
Mar 9, 2008, 02:50 PM
you have obviously never used the new nokia s60 devices, because if you had you would realize how uninformed you are.
I have mostly developed on UIQ, Palm, WM and Linux, the few S60 devices I've used were from the N70 era when they were pathetically slow and crash-prone.
From a quick google, the N95 still has similar problems, with forum posts recommending closing every application when you quit and an advice article over at AllAboutSymbian with multitasking advice, showing which apps use the most memory in the background.
eastcoastsurfer
Mar 9, 2008, 03:14 PM
Apple obviously thinks that the bulk of its target market value stability, responsiveness, and a tiny selected number of targeted apps (push email, chat, etc.), over allowing users to slow their device down to a crawl running arbitrary applications.
Thank god I have Apple to save me from loading too many applications! I have no idea what I would do without Apple. I wish they would do the same for OSX because when I run a bunch of applications at one time things can get sluggish. I know the obvious answer is for me to close some apps, but I would much rather Apple tell me what I can and can't run.
letsdiscussit
Mar 9, 2008, 03:29 PM
Isn't Belkin trying to build an external GPS receiver? A youtube video shows a guy with a hacked phone that constructed already such device.
ruinfx
Mar 9, 2008, 03:44 PM
I have mostly developed on UIQ, Palm, WM and Linux, the few S60 devices I've used were from the N70 era when they were pathetically slow and crash-prone.
From a quick google, the N95 still has similar problems, with forum posts recommending closing every application when you quit and an advice article over at AllAboutSymbian with multitasking advice, showing which apps use the most memory in the background.
im not going to deny that the old nokia s60 devices (such as the n70) had serious memory issues. im not really sure which n95 you are talking about (because there are now 4 versions). the n95-1 is the original and has 64mb of ram. the new n95-3, n95-2 and n95-4 all have 128mb of ram (just like the iphone) and the n95-1,2,4 have demand paging which further improves memory management. it is very easy to have multiple applications open at once (such as web browsing and music) and i have never had my n95 crash.
himansk
Mar 9, 2008, 04:19 PM
Thank god I have Apple to save me from loading too many applications! I have no idea what I would do without Apple. I wish they would do the same for OSX because when I run a bunch of applications at one time things can get sluggish. I know the obvious answer is for me to close some apps, but I would much rather Apple tell me what I can and can't run.
You just cant compare the mobile devices like iphone/touch to desktop systems. desktops have lots of memory, large screens to allow you to have a dock & overlapping windows so that you can work with multiple windows, larger power battery, more processing power, etc etc...
every device needs to work inside its limitations and intended purpose. On a desktop you can do a lot more than you can do conveniently on a phone, hence the limitations on the background processes makes sense to me.
TPALTony
Mar 9, 2008, 04:43 PM
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.
Hmmmm, I wonder...
launchd anyone? That is specifically designed to listen for things on your behalf and launch processes as a result (amongst other things it's responsible for on OS X.)
So, if there ends up being a way to register interest in things, and launchd takes care of it, then we're good, right? OK, there's some details to figure out, like who "badges" the app icon with how many new messages you haven't read (in AIM for example.) but these things can be figured out.
As with all things, I expect the API and OS to evolve. You couldn't do a bunch of stuff with OS X 10.1 that we take for granted with 10.5. Over time I believe this will evolve.
Why people insist on things being perfect right off the bat I have no idea. Feedback is a wonderful thing and personally I'd rather they give us what they have given us now, and we provide feedback, rather than wait another 6 months and have them guess what we care about. Some of the feedback will be used, some will not, but that's up to Apple. It's their product. They don't add things to OS X just because someone asks either.
I believe market forces will be effective here, if not as instantaneous as some people would like. :)
be well
t
dicklacara
Mar 9, 2008, 04:44 PM
If there's an MSN Messenger app, I sure hope that would be allowed to run in the background, and a counter in the top bar (where the time is) to tell you if you have a new message. :D
Well, some apps do run in the background... I just bought an album from the iTunes store (thru WiFi) and began playing the first song & manipulating the playlist while the others were downloading in the background...
The whole process was a great experience... no fuss, no muss, no bother!
...Gee, just like a Real Computer! :D
BongoBanger
Mar 9, 2008, 04:46 PM
From a quick google, the N95 still has similar problems, with forum posts recommending closing every application when you quit and an advice article over at AllAboutSymbian with multitasking advice, showing which apps use the most memory in the background.
Just to point out that these problems existed before the v20 firmware release for the N95-1 which fixed them by improving the memory management. I have one and it's much more responsive and hasn't crashed since the install a few months back.
gnasher729
Mar 9, 2008, 05:05 PM
Anyone having problems with the Aspen Simulator "rotate left / right" menu option for landscape presentation?
Anyone having trouble getting audio to play in the Aspen sim?
You did read through the license agreement when you downloaded the SDK, didn't you?
dicklacara
Mar 9, 2008, 05:21 PM
The iPhone is going to have push email, where email messages are sent from the server to the iPhone (presumably) whenever they are available to be sent (and, presumably, whenever the iPhone is within range of cell or WiFi signals).
Doesn't that mean, by definition, that the iPhone must have some background task always running to "listen" for the mail server?
Wouldn't that be a drain on the iPhone battery?
If less than that, say, the phone only listens when active, then what's the big deal... just run a background iMap email client on the iPhone, starting when you "slide to unlock".
Here's a, somewhat dated, explanation of how MS defines push email:
http://vowe.net/archives/006589.html
What am I missing, here?
MattInOz
Mar 9, 2008, 05:22 PM
Thank god I have Apple to save me from loading too many applications! I have no idea what I would do without Apple. I wish they would do the same for OSX because when I run a bunch of applications at one time things can get sluggish. I know the obvious answer is for me to close some apps, but I would much rather Apple tell me what I can and can't run.
Sure i want to have as many apps "open" as possible so i can flick between them without noticing the transition.
What's more I want Apple (or any underlying Platform provider) to go "hard ass" on the Developers of these applications so they all play nice and not slow down my system.
It sounds like that is what they are doing.
Forcing Developers to think like it's a limited device and really thing about how they do things not just except that the way it was always done is the way it should be done now.
Apple approach encourages me that the device with apps will be good.
The reaction here on MR makes me think apps will need to be handpicked and treated as guilty until proven useful.
Edit: quick read says people are right Launchd is the way developer should be thinking about "background" tasks you can set it to watch a socket but also once you register your app to that socket a flag in your plist also registers you for Bonjour services.
You can set for watched paths if looking for file changes.
I see no reason to use the same system to pass messages between apps as well, so you can quit one app passing a message to start the next app if you created a suite of iPhone Apps
firewood
Mar 9, 2008, 06:26 PM
The iPhone is going to have push email, where email messages are sent from the server to the iPhone (presumably) whenever they are available to be sent (and, presumably, whenever the iPhone is within range of cell or WiFi signals).
Doesn't that mean, by definition, that the iPhone must have some background task always running to "listen" for the mail server?
Wouldn't that be a drain on the iPhone battery?
Yes and yes. By an amount measured and controlled by Apple; and possibly even tested by AT&T to make sure that they don't get in the way of incoming/outgoing emergency phone calls, thus creating a liability issue.
winterspan
Mar 9, 2008, 06:27 PM
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?
This nifty little device replaced my old cell phone and my aging iPod. Now I would like to see it replace all of my
remote controls sitting there on my coffee table. ... Maybe with a dongle attached to the iPhone or Touch that would emit an InfraRed signal, or just for the iPhone with a bluetooth accessory placed near the components that are to be controlled.:confused:
Isn't Belkin trying to build an external GPS receiver? A youtube video shows a guy with a hacked phone that constructed already such device.
I really hope Apple opens up the dock connector to at least large license-paying third party companies for custom accessories. I have seen some 3rd party devices being demoed on hacked Iphones on Youtube (like the Belkin), but I'm unsure of and doubt that any company has been in offical contact with Apple on these yet. I would love to see a tiny GPS module that plugs into the dock connector. It's a shame Apple didn't put in a SiftStar III in the iPhone. That would make it just that much better.
Also, "cisco", That is definitely a great Idea. I recently bought a Logitech Harmony remote, which is great, but they start at $100 and the new generation one is $249. With an iPhone software application and a tiny IR insert, Logitech could use their existing web infrastructure that contains all the codes for every consumer device to put together a kickass system for an iPhone universal remote. Even better I guess would be your idea of a bluetooth connected IR module that could sit by your entertainment center rack/cabinet, allowing the dock connector on the iPhone to remain unused. I wouldn't doubt that they may be looking into something like this.
Even better, used in this way, the iPhone could also control a Playstation 3 or other device that only has bluetooth remote and no IR.
It doesn't take much though to come up with other great uses for the dock connector... cross your fingers
yeah, that's why apple doesn't make any laptops with flash drives, oh, wait, http://www.apple.com/macbookair/ ...
Yeah, smart-guy, the Air does use a FORM of flash in it's SSD. But all flash memory is NOT made equal; there are many different types of flash memory, different architectures, different controller types, different firmware, etc. The flash memory used in solid state disk drives (SSD) (such as in the MacBook Air) is high-quality, fast, and is specifically manufactured to withstand tens of thousands of read/write cycles.
Flash used in USB sticks and memory cards is much lower quality with respect to speed, resistance to wear, and manufacturing tolerances.
The flash used in iPhones and Ipod Touches is probably somewhere in the middle, but closer to a memory card than an SSD.
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.
Just to be sure.. It's 128MB RAM and a 620Mhz ARM
firewood
Mar 9, 2008, 06:37 PM
Thank god I have Apple to save me from loading too many applications!
It's mostly likely not about you at all, since you may not fit their target market demographics. It's about clueless users who may have no idea why their cell phone has slowed to a crawl when they need to make an emergency phone call, and blames this on Apple and/or the carrier.
You might also want to look at how much memory and swap space you have configured on your Mac, reconfiguring it way down to the same amount you get an iPhone, and see how you like saving yourself from the responsiveness of your thus configured system.
krye
Mar 9, 2008, 06:37 PM
As awesome and as capable as the iPhone is, it's not a Mac. I wonder when people are going to "get it".
winterspan
Mar 9, 2008, 06:39 PM
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?
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.
My guess is that, Rather than unrestricted background tasks, apps will probably be allowed to register for either push or pull notifications.
So its just a matter of time before Apple has an approved solution.
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. Network code that relies on shared libraries that are already in memory for the OS can be very small, a few dozen KB even.
After thinking about this for awhile, It seems like the best idea to make this work is something similar to what "SuferFromUK" is saying above. Apple should have a "Notification layer/service" in their API that apps can register to for event handling, both for internal phone/OS events and for network events. These could then be handled by a small, very optimized, Apple written daemon running in the core of the OS.
For network events, I'm assuming in most cases like instant messenging, these apps currently work by having a background process listening on an open TCP or UDP port connected to the server, whether over WiFi or EDGE. So if you had multiple applications that needed this service, they would register with the Notification Service and the notification daemon would alert the apps whenever data came in on the TCP/UDP port they registered.
For phone/OS events, it would work the same way, but instead of apps registering for network data events, they would register for events such as "received call", "placed call", "txt message received/sent", "picture taken", etc and the notification daemon would alert them when these happened.
Can someone experienced with OSX programming / Phone app dev comment on this?
akac
Mar 9, 2008, 06:48 PM
Why has nobody yet brought up the question of iPhone Apps synchronizing content to the desktop? There's so much potential here, but I have heard no discussion on whether or not any of it will be possible:
- Yojimbo for iPhone
- OmniFocus or any other Tasks app
- iBank (though here I suppose the iPhone could access the QFX data directly)
- Delicious Library
- ...
Synching is a huge issue for us, since we focus on mobile productivity apps that require synched data. We're looking at supporting OTA synching at first and then as the SDK evolves adding support for other approved synching methods (if they come out).
You want a Tasks app - look at http://www.pocketinformant.com/pocketinformant - its what we want to port to the iPhone. We have hit a few issues, not technically, but legal agreement-wise with the SDK to do this. But we're hopeful.
sjo
Mar 10, 2008, 02:51 AM
Yeah, smart-guy, the Air does use a FORM of flash in it's SSD. But all flash memory is NOT made equal; there are many different types of flash memory, different architectures, different controller types, different firmware, etc. The flash memory used in solid state disk drives (SSD) (such as in the MacBook Air) is high-quality, fast, and is specifically manufactured to withstand tens of thousands of read/write cycles.
Flash used in USB sticks and memory cards is much lower quality with respect to speed, resistance to wear, and manufacturing tolerances.
The flash used in iPhones and Ipod Touches is probably somewhere in the middle, but closer to a memory card than an SSD.
well let's hope in next generation iphone apple will use the same quality flash other smartphone manufacturers are using currently. after all apple is the only one having this silly restriction and if they can remove it by simply not cutting corners in flash quality they definitely should.
Spanna
Mar 10, 2008, 03:28 AM
If the next version of the iphone has a faster processor and more ram will people write apps that will not work on the current generation iphone.
Tosser
Mar 10, 2008, 03:31 AM
If the next version of the iphone has a faster processor and more ram will people write apps that will not work on the current generation iphone.
All the more reason not to buy 1st generation hardware.
matticus008
Mar 10, 2008, 04:18 AM
as i commented earlier, modern operating systems are able to handle processes idling (doing nothing) in such a way that there is (virtually) no performance penalty.
Well, that's simply not true. Manual memory management and "out of memory" problems are the flip side of the coin.
further, as i also commented, there are applications a user wishes to use while making phone calls, even more so when emailing.
Nothing's stopping you. The iPhone does multitask, but requiring save state and exit promotes good programming habits. There's no difference to you, the user, whether it stays running in the background or not (except realtime data like file downloads and AIM), and in order to promote good automatic memory management, programs have to save and exit when instructed to do so by the OS. Allowing programmers to ignore that call to shut down would not be a better approach.
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.
With the exception of dedicated applications not being available, you can do that now without a hitch. You seem like you don't have an iPhone and that you're somewhat confused about what this restriction means to you. You can still "multitask" by switching applications and having them remember their last active state. There's not really a downside for this, except for things like IM...and there's no technical roadblock to doing so, as the iPhone already does multitask with some of its Apple applications.
The iPhone is going to have push email [...]
Doesn't that mean, by definition, that the iPhone must have some background task always running to "listen" for the mail server?
Yes. Mail already does this for interval-based email updates.
What am I missing, here?
That the iPhone isn't allowing third-party applications to ignore memory management and OS calls to shut down. This doesn't mean that the iPhone doesn't multitask. It just means applications can't assume they can run for as long as they want in the background.
There's no reason for it not to multitask.
Well, it does, and there's a huge number of reasons not to let developers monopolize background resources. As a Windows Mobile user, it's not the path to stability.
well let's hope in next generation iphone apple will use the same quality flash other smartphone manufacturers are using currently. after all apple is the only one having this silly restriction and if they can remove it by simply not cutting corners in flash quality they definitely should.
This one's totally out of left field. The flash memory used is no lower in quality than any other smartphone. It is not an SSD, and no device has SSD-quality flash in it, except in, well, an SSD. More importantly, flash memory has exactly zero to do with multitasking in the OS.
kaician
Mar 10, 2008, 05:48 AM
With the exception of dedicated applications not being available, you can do that now without a hitch. You seem like you don't have an iPhone and that you're somewhat confused about what this restriction means to you. You can still "multitask" by switching applications and having them remember their last active state. There's not really a downside for this, except for things like IM...and there's no technical roadblock to doing so, as the iPhone already does multitask with some of its Apple applications.
I have an ipod touch, so same software. What worries me is how the software functions now under the jailbreak system. When most software save states, they seem to go back to a screen where you have to choose the data set you would like to work with or something like that. That can be taken care of with programming changes, but is still a concern. A native apps such as the addressbook (look at a contact's info, switch to a different app, come back, and you're at the selection screen) and calander (try to edit an entry, switch apps without saving, then try to come back.... poof....) behave in a manner which worries me. iDic is an AWESOME dictionary app, but if you're looking up a definition and go back to the home screen, come back and your search if gone....
Notes seems to do OK with saving state...
I remember people arguing their heads off against palm for not having true multi-tasking but saving to states, me being one of the people for multi-tasking.
Here's a little thing to take note of. windows mobile's X button minimizes by default. But I downloaded a program for my phone which closes progs by default when the X is pushed and only minimizes progs when the developer puts a flag for minimize in there. Surprising how much more stable WM is when you do that. Almost no resets (except for crappy progs that springs up on any platform, even Mac, that you just learn not to install by experience...)
michelle21
Mar 10, 2008, 06:07 AM
What I want to know is when we are going to hear back on our developer program applications, I was able to submit mine and download the sdk fairly quickly after the announcement..
Haven't heard a word back, I don't know what the decision process is, I don't want to be stuck with just the emulator until June!
walnuts
Mar 10, 2008, 06:19 AM
I'm not so sure that this hasn't been said already, but there has been mention of "well maybe for [insert example big company like AOL for AIM] that Apple could be petitioned to make an exception to the rules for."
It seems to me that this is a simple business proposition. Apple has presumably made this SDK as a delicate balance between openness/ability for the developers and security/need for review on apple's end (avoiding a bottleneck or huge delay between app submission and public release). It seems to me that apple should, and they would need to make it official to be fair to everyone, make a clause that says if you want to break the rules, apple would have to review your app more thoroughly. Apple would take a quick look and then bill the developer for the time needed to thoroughly review the app. There would need to be a steep starting price to scare away menial stuff, but it would make sense for Java and AIM.
shoobe01
Mar 10, 2008, 08:06 AM
I don't understand any of y'all who say there's no need to run stuff in the background. On my S60 I run stuff in the background constantly. Seemingly silly things like the stopwatch; why can't I time something while I go about my day, take calls, or browse the internet?
And multithreading works fine on the S60. I use an N75 (very little memory compared to an N95), still with the stupid AT&T package on it, and it routinely runs 5-6 apps. Many of which are actually running (i.e. not idling) at the same time.
These /are/ little computers, not just phones with fun extra features.
Santa Rosa
Mar 10, 2008, 08:22 AM
I think, for a consumer device, that may be the best path. Yes, it IS constricting---but that applies for the tech savvy, which is a more limited market. If Apple's aim is to bring the power of the smartphone feature set to a wider audience, then the needs of the general consumer market will drive the development, not the needs of the more tech savvy.
Which is how Apple has ALWAYS been.
Well said and a VERY VERY important point which seems lost in the forums.
One of the best posts I have read in a long while.
christian_k
Mar 10, 2008, 09:31 AM
AOL and Sun are rather big companies. Heck, Apple probably has business deals with them.
I'm sure that they would allow an exception here. If Apple allowed everybody who wrote an application to do this stuff, then I'm sure the iPhone would get screwed up quickly.
Why do you all think that?
I have a G3 iMac with 300 MHz , 128 MB and a 10 GB HD. A modern iPhone will outperform this machine in many ways. Everyone is and was allowed to code for it and I did use a lot of third party software (including free). It never got screwed up anyway.
They should just include an emergency boot loader in a ROM that cannot be overwritten and that allows you to reinstall everything via USB easily if you really are in serious trouble. But I think this will rarely ever happen.
Christian
asdavis10
Mar 10, 2008, 09:39 AM
Why do you all think that?
I have a G3 iMac with 300 MHz , 128 MB and a 10 GB HD. A modern iPhone will outperform this machine in many ways. Everyone is and was allowed to code for it and I did use a lot of third party software (including free). It never got screwed up anyway.
They should just include an emergency boot loader in a ROM that cannot be overwritten and that allows you to reinstall everything via USB easily if you really are in serious trouble. But I think this will rarely ever happen.
Christian
Because background apps on any other Mac cannot get your GPS location. They also can't steal any of your personal information such as SSN which is connected to your iPhone via AT&T account. iPhone are NOT computers as much as people try place them in that category. Therefor they should be treated as such. Development for Macs will and should be different than development for iPhone. And it WON'T EVER be open.
diamond.g
Mar 10, 2008, 09:42 AM
They also can't steal any of your personal information such as SSN which is connected to your iPhone via AT&T account.
Does the iPhone store your SSN, I didn't think it did that. That seems like incredibly poor form to store your SSN on a phone. I mean, what if it gets stolen?
asdavis10
Mar 10, 2008, 09:49 AM
Does the iPhone store your SSN, I didn't think it did that. That seems like incredibly poor form to store your SSN on a phone. I mean, what if it gets stolen?
I can't say that you misquoted me because you have the correct quote included in your post. You just can't read. NO iPhone stores your SSN. It stores your AT&T account number. And what unique identifier is connected to ANY cellular phone account number? Yes, your SSN. So its not that far off to believe that this information could be stolen with an app that is constantly running in the background. Also think about you current location. I think its bad enough that AT&T (and maybe even Apple) can see where I am at all time while my iPhone is on. Do you really want some developer having that same information by using some app?
christian_k
Mar 10, 2008, 09:59 AM
Because background apps on any other Mac cannot get your GPS location.
There is no GPS in the iPhone. You could get info about the nearest cell towers. But if you are online with your Macbook on the go using a mobile phone, this is possible on a computer, too.
They also can't steal any of your personal information such as SSN which is connected to your iPhone via AT&T account.
Maybe. But a spy software on your computer could capture your ISP account, your eBay or PayPal account, your homebanking pin, data about your business, your private contacts and emails, your photos and much much more.
iPhone are NOT computers as much as people try place them in that category. Therefor they should be treated as such. Development for Macs will and should be different than development for iPhone. And it WON'T EVER be open.
Even my Sony Ericsson K610i ( that is much more like a "telephone" than the iPhone) allows me to run multiple JAVA apps at a time and they can also run in the background. There are also Java apps that load executable code (emulators for C64 or Gameboy). It is also common on other mobile platforms.
No one restricts you in writing VoIP apps for Windows mobile etc.
I see even less reasons for such restrictions on the iPod touch.
Christian
asdavis10
Mar 10, 2008, 10:13 AM
There is no GPS in the iPhone. You could get info about the nearest cell towers. But if you are online with your Macbook on the go using a mobile phone, this is possible on a computer, too.
Saying that the iPhone doesn't have GPS is correct in the true meaning of the technology, but that is only semantics because it does triangulate your location. Google Maps?
Maybe. But a spy software on your computer could capture your ISP account, your eBay or PayPal account, your homebanking pin, data about your business, your private contacts and emails, your photos and much much more.
And so because spyware is common on your computer, Apple should open up the development which will allow spyware on you iPhone? Good argument.
Even my Sony Ericsson K610i ( that is much more like a "telephone" than the iPhone) allows me to run multiple JAVA apps at a time and they can also run in the background. There are also Java apps that load executable code (emulators for C64 or Gameboy). It is also common on other mobile platforms.
No one restricts you in writing VoIP apps for Windows mobile etc.
I see even less reasons for such restrictions on the iPod touch.
Christian
First of all, Windows Mobile isn't tied to any specific carrier. Thats why VoIP apps can be written. Apple is tied to AT&T right now. But it seems like I've heard this argument a million times. "Because someone else is doing it Apple should do it". If that were the case, Apple wouldn't be what it is today. Why can't Apple just be different from other companies? If they don't have what you like, CHOOSE to spend you money somewhere else.
diamond.g
Mar 10, 2008, 10:24 AM
I can't say that you misquoted me because you have the correct quote included in your post. You just can't read. NO iPhone stores your SSN. It stores your AT&T account number. And what unique identifier is connected to ANY cellular phone account number? Yes, your SSN. So its not that far off to believe that this information could be stolen with an app that is constantly running in the background. Also think about you current location. I think its bad enough that AT&T (and maybe even Apple) can see where I am at all time while my iPhone is on. Do you really want some developer having that same information by using some app?
Ah, I did misread :o. As far as I can tell AT&T uses your phone number for account related stuff, your actual account number is different though. According to the AT&T rep the full number is probably stored in the system for billing. According to her the full SSN only used for the initial setup, they do keep the last four visible for account verification. That can be changed by setting up an account password.
For the location thing, since I work for for the government, I really don't care. They already know where I am all the time as it is ;).
Infrared
Mar 10, 2008, 10:27 AM
This is fine for Apple if Apple's SDK provides a default method that tells the app to essentially "Save All State and Quit". I.e,. phone call comes in, OS tells app "That's it, time's up, save all and quit". By the time you've reacted as a user, the software has saved and quit, so it all appears seamless. Maybe the OS masks it all with a fancy Core Animation tween from the app to the next app ...
That would be an incredibly primitive form of multitasking.
Essentially a workaround due to the lack of more efficient
multitasking.
cnorth3
Mar 10, 2008, 10:39 AM
Funny you should mention that. It has the same processor speed etc. What's the problem comparing it to an OS like that? Ah, I see, it's an Apple-product, so it's above comparison
Wow, you really do need to relax! And you completely missed my point, which is that it makes more sense to compare the functionality of an iPhone with other smartphones, not desktop cpu's. Processor speed is just a small part of the equation.
cnorth3
Mar 10, 2008, 10:40 AM
I believe you actually don't get it.
Rocketman
Great comeback, rocketman. You really proved your point!:rolleyes:
Tosser
Mar 10, 2008, 11:14 AM
Wow, you really do need to relax! And you completely missed my point, which is that it makes more sense to compare the functionality of an iPhone with other smartphones, not desktop cpu's. Processor speed is just a small part of the equation.
Haha, I'm completely relaxed. If you don't think so, you must be pretty thin-skinned …
Yes, there are more to the equation –*apologism for one.
The reality is, that the processor is almost as capable as the Somo 650. And although the Somo has somewhat more ram, yet the Somo is much more capable.
And really, I don't think the real comparison should be with a smart phone, but with a pda phone. I know you don't want to, as it will hurt, but the reality is, that it has the same speedy processor, the same ram, and, not forgetting: A big touch screen.
Of course you can come up with all sorts of excuses, and it really doesn't look that bad, when comparing it hardware-wise to "smart phones", whereas it sucks compared to many PDA-phones.
Frankly, I think you're making a strawman, when you claim people are comparing it to a Mac, whenever they mention processor speeds and ram. PDA phones and smart phones have that too. And if you want to compare, why not compare it to something with the same or just about the same processor and ram?
Great comeback, rocketman. You really proved your point!:rolleyes:
Yup. Almost as good as yours.
michelle21
Mar 10, 2008, 11:39 AM
Haha, I'm completely relaxed. If you don't think so, you must be pretty thin-skinned
Yes, there are more to the equation *apologism for one.
The reality is, that the processor is almost as capable as the Somo 650. And although the Somo has somewhat more ram, yet the Somo is much more capable.
And really, I don't think the real comparison should be with a smart phone, but with a pda phone. I know you don't want to, as it will hurt, but the reality is, that it has the same speedy processor, the same ram, and, not forgetting: A big touch screen.
Of course you can come up with all sorts of excuses, and it really doesn't look that bad, when comparing it hardware-wise to "smart phones", whereas it sucks compared to many PDA-phones.
Frankly, I think you're making a strawman, when you claim people are comparing it to a Mac, whenever they mention processor speeds and ram. PDA phones and smart phones have that too. And if you want to compare, why not compare it to something with the same or just about the same processor and ram?
Yup. Almost as good as yours.
Come on , I have a mongul htc 6800 and an Iphone, and the only advantage I see with the mongul is I can use it with the exchange server at work and sprint's 3g is the best I've seen.
There's only one app I really miss not having on an Iphone and that is slingmedia other than that everything is so much better on the Iphone.
notsofatjames
Mar 10, 2008, 11:53 AM
There might be other reasons to not allow background tasks (including the likes of AIM). AIM is a good example actually. If AIM is allowed to run a background task listening for messages, for as long as it is using the EDGE connection, you cant take a call or receive a text. Intermittent checking is fine, but defeats the object of AIM too.
Its too early to say how strict Apple will be on these Guidelines, but for the end user, I think its a great idea to impose such limitations. It saves headache and poor experience all round.
Pumpkin King
Mar 10, 2008, 01:01 PM
The only thing that I really want to run in the background, as everyone mentioned is IM. Is there anything else that is crucial (or really, really convenient) to have running in the background? So as long as Apple treats this AIM app as 1st party and allows it to run in the background, everyone will be ok?
Unfortunately, I don't use AIM. I use MSN and Yahoo. Does AIM allow me to add users from the other services? Like how MSN and Yahoo contacts are interchangable? I really hope that Apple supports those two clients as well.
I can't wait to see what the app store has to offer. I lost my iphone and have been holding out replacing it until a 3G model is out there. Incidentally, I have a blackjack as a replacement and IMO windows mobile blows.
Tosser
Mar 10, 2008, 01:19 PM
Come on , I have a mongul htc 6800 and an Iphone, and the only advantage I see with the mongul is I can use it with the exchange server at work and sprint's 3g is the best I've seen.
I'm sorry, but I'm not in the same country as you are, so when you go "sprint's 3g is the best I've seen," it really doesn't do much for comparing anything. And if you mean that sprint put their name on a phone, I need to know what the real phone are, before I can agree or disagree.
There's only one app I really miss not having on an Iphone and that is slingmedia other than that everything is so much better on the Iphone.
Yup. If you don't want or need the features and/or speed of a smartphone/PDA-phone, then I understand.
gvegastiger
Mar 10, 2008, 01:24 PM
I love reading these threads about how evil greedy companies don't let you do whatever you want with their products, especially since you dont have all the information. You guys think that just bc you buy something you should be able to use it any way you want and I say you are right. You are allowed to do whatever you want with it that isn't illegal. If you want to jailbreak it, do so.
But while you guys are busy bitchin' and moanin' you forget that this freedom thing goes both ways. Apple is allowed to implement the SDK any way they want too. Its called being a consumer and being a supplier. If you don't like it, don't buy it. Stop trying to paint Apple as bad bc they want to protect their product and make it as simple and user friendly as they can. And this is about protecting the image of the iPhone as being a great easy to use, incredibly satisfying smart phone. If you get a bunch of software running all kinds of services in the back ground that eat up memory and power you know that people are going to blame the iPhone, not the Apps. Apple knows this as well, which is why they implement some protection in THEIR SDK. Again, if you don't like it, don't use it.
OS X Dude
Mar 10, 2008, 01:30 PM
Does iPhone support Objective C 2.0?
i typed id MyRect;
[MyRect display];
and it said build succeeded, but crashed the SDK instantaneously and said "cannot find display method".
Thanks
darkblu
Mar 10, 2008, 01:37 PM
Even my Sony Ericsson K610i ( that is much more like a "telephone" than the iPhone) allows me to run multiple JAVA apps at a time and they can also run in the background. There are also Java apps that load executable code (emulators for C64 or Gameboy). It is also common on other mobile platforms.
common on other mobile platforms =/= best solution for the consumer.
empty generalizations aside, something tells me your SE's java environment is totally sandboxed - VMs, and then some. that means the CPU efficiency of those java apps is quite low, as there are (or at least should be, if carried right) layers upon layers of code making sure your co-existing java apps do not step on each other's toes or, worse, on the essential services of the device. apple have approached the same problem differently - your app gets (a big portion of) the benefits of a full native app, but in return it is expected to behave. now, guess which approach gives a better work/watt ratio (yes, that minor thing on mobile devices). or better yet just wait half a year and then compare the quality, functionality and battery life of apps for the iphone versus what you have on your SE.
as a sidenote, i think that it might be very beneficial for many of the posters in this thread if they cared to enlightened themselves on the subject of mission-critical environments and OSes - they may be surprised to see that the ability to run arbitrary apps at arbitrary moments is not valued highly there.
No one restricts you in writing VoIP apps for Windows mobile etc.
again, straight into the empty generalizations bin. many parties can restrict you if not from writing, then from running a VoIP app under WM. which of those parties do, which don't, and why they'd do so, is not covered by a simple 'but you can write app X for this other OS'.
I see even less reasons for such restrictions on the iPod touch.
and i see a pretty darn good reason - the common platform, which includes APIs, protocols, SDKs, etc. i don't see apple taking the route of spawning an 'ipod touch platform' from the current model. do you?
iSee
Mar 10, 2008, 01:40 PM
Does iPhone support Objective C 2.0?
i typed id MyRect;
[MyRect display];
and it said build succeeded, but crashed the SDK instantaneously and said "cannot find display method".
Thanks
Couple of things:
* You should probably post this question in the programming forums.
* If you don't initialize "MyRect" to point to something that implments the display method, it should generate a run-time exception error when you send that message. This is the same for Objective-C and Obj-C 2.0.
cnorth3
Mar 10, 2008, 02:21 PM
And really, I don't think the real comparison should be with a smart phone, but with a pda phone. I know you don't want to, as it will hurt, but the reality is, that it has the same speedy processor, the same ram, and, not forgetting: A big touch screen.
Thanks, I had no idea that smart phones and pda phones were completely different objects (http://en.wikipedia.org/wiki/Smart_phone). I guess I'm the only person (http://www.roughlydrafted.com/2008/03/07/apples-iphone-vs-smartphone-software-makers/#more-1618) who thinks smart phones are relevant to the discussion. Clearly, as you say, I'm just an appologist. Please accept my appology. Damn, I did it again!
diamond.g
Mar 10, 2008, 02:41 PM
Thanks, I had no idea that smart phones and pda phones were completely different objects (http://en.wikipedia.org/wiki/Smart_phone). I guess I'm the only person (http://www.roughlydrafted.com/2008/03/07/apples-iphone-vs-smartphone-software-makers/#more-1618) who thinks smart phones are relevant to the discussion. Clearly, as you say, I'm just an appologist. Please accept my appology. Damn, I did it again!
I am not sure if you were being sarcastic, but pda phones can be considered different than smartphones. That difference mainly has to do with what takes presidence, the phone or the pda? For smartphones the phone is more important, for pda phones it is the pda. Plus (at least according to wiki (http://en.wikipedia.org/wiki/PDA_phone)) pda phones tend to come with the ability to edit documents as well as view them.
OS X Dude
Mar 10, 2008, 02:49 PM
Couple of things:
* You should probably post this question in the programming forums.
* If you don't initialize "MyRect" to point to something that implments the display method, it should generate a run-time exception error when you send that message. This is the same for Objective-C and Obj-C 2.0.
OK thanks. Didn't know there were programming forums on here so I figured this was the most relevant place.
Secondly, how would initialize MyRect? I just started out on this whole programming lark and "MyRect" was an example from learning ObjC 2.0 on Apple's site.
Thanks.
Tosser
Mar 10, 2008, 03:35 PM
Thanks, I had no idea that smart phones and pda phones were completely different objects (http://en.wikipedia.org/wiki/Smart_phone). I guess I'm the only person (http://www.roughlydrafted.com/2008/03/07/apples-iphone-vs-smartphone-software-makers/#more-1618) who thinks smart phones are relevant to the discussion. Clearly, as you say, I'm just an appologist. Please accept my appology. Damn, I did it again!
I never said smartphones weren't relevant. I said that because of the touch screen, processor, and memory, the best comparison is a PDA-phone. And that that is certainly not saying that the iPhone should be compared to a mac.
I also made a point about comparing it to "just" smartphones, as those tend to come with less memory and slower processors than the iPhone, hence you're comparing a product with superior hardware where the OS isn't that caple to a Smart phone where the hardware limits it.
It would be much better to compare it to a comparable product hardware-wise, where the OS isn't crippled (although not as sleek). Here, have a look:
http://www.socketmobile.com/products/handheld-computer/somo-650/default.aspx?page=Specifications
Or this which actually only have a 201MHz processor (Meaning: The iPhone should be capable of much more):
http://www.pdadb.net/index.php?m=specs&id=952
Or this hardware wise much closer, although just 400 MHz:
http://www.pdadb.net/index.php?m=specs&id=913
Of course, these are phones *but as you can see, the iPhone is much faster, more like a top-of-the-line PDA. Hence we should compare it one, when the talk is about PDA-features, installing and running apps, and so forth. Unfortunately for the apologists (yes, really), in a like-for-like comparison the iPhone loses out. Not because of "lack of memory", or because of the processor speeds ("it's not a Mac Pro"), but simply because the OS limits it. Not the hardware, not the memory. If you don't believe me, take a look at the hardware on other platforms and then check out what they're capable of.
A great example is this (both the hard- and software):
http://www.maycom.nl/NT.html
http://www.luci.eu/home.html
cnorth3
Mar 10, 2008, 04:06 PM
It would be much better to compare it to a comparable product hardware-wise, where the OS isn't crippled (although not as sleek).
Windows Mobile? Right.
Tosser
Mar 10, 2008, 04:10 PM
Windows Mobile? Right.
LOL, it's rather funny to watch people so intent on disagreeing that it doesn't matter what one writes.
Just to be clear, and bring even the back of the class up to speed:
I am saying the OS on the iPhone is the sleekest. Unfortunately it's crippled as well. It's not the hardware limiting the iPhone.
I doubt I can be even clearer. But I have no doubt you will misconstrue that as well.
Stella
Mar 10, 2008, 07:21 PM
Windows Mobile? Right.
Why do people think that WM is the only comparable smartphone OS?
:rolleyes:
cnorth3
Mar 10, 2008, 09:13 PM
LOL, it's rather funny to watch people so intent on disagreeing that it doesn't matter what one writes.
Just to be clear, and bring even the back of the class up to speed:
I am saying the OS on the iPhone is the sleekest. Unfortunately it's crippled as well. It's not the hardware limiting the iPhone.
I doubt I can be even clearer. But I have no doubt you will misconstrue that as well.
Yes, you truly are a genius. Happy now?
matticus008
Mar 10, 2008, 10:39 PM
I have a G3 iMac with 300 MHz , 128 MB and a 10 GB HD. A modern iPhone will outperform this machine in many ways. Everyone is and was allowed to code for it and I did use a lot of third party software (including free). It never got screwed up anyway.
They're not the same by a long shot. A full PC has a much wider range of hardware resources and much deeper, more capable pipelines. A modern ARM CPU is comparable in per-clock performance to a Motorola 68040 (better than a Pentium, not as good as a Pentium II). Full PCs also utilize virtual memory more effectively, have chipsets which are less CPU-intensive, and can handle more threads at once.
The ARM architecture is very good for an embedded system, and it has excellent performance given its power requirements, but it's not just a miniaturized PC. There are very real limitations, particularly in handling memory, that affect all mobile OSes.
But I downloaded a program for my phone which closes progs by default when the X is pushed and only minimizes progs when the developer puts a flag for minimize in there. Surprising how much more stable WM is when you do that.
Exactly. The same behavior is mandated for the iPhone, but it does one better. It must close when told by the OS. This does not mean it will automatically be closed when you switch out of it.
Seemingly silly things like the stopwatch; why can't I time something while I go about my day, take calls, or browse the internet?
Stopwatch does run in the background.
Saying that the iPhone doesn't have GPS is correct in the true meaning of the technology, but that is only semantics because it does triangulate your location. Google Maps?
It's not semantics. The iPhone does not have GPS. Google Maps is not a GPS service. Signal triangulation is not GPS, but merely a locating service.
OS X Dude
Mar 11, 2008, 02:14 AM
Why do people think that WM is the only comparable smartphone OS?
:rolleyes:
that award goes to Android, and it ain't out yet lol
Tosser
Mar 11, 2008, 05:37 AM
Yes, you truly are a genius. Happy now?
:rolleyes:
christian_k
Mar 11, 2008, 07:19 AM
They're not the same by a long shot. A full PC has a much wider range of hardware resources and much deeper, more capable pipelines. A modern ARM CPU is comparable in per-clock performance to a Motorola 68040 (better than a Pentium, not as good as a Pentium II). Full PCs also utilize virtual memory more effectively, have chipsets which are less CPU-intensive, and can handle more threads at once.
The ARM architecture is very good for an embedded system, and it has excellent performance given its power requirements, but it's not just a miniaturized PC. There are very real limitations, particularly in handling memory, that affect all mobile OSes.
The first computer I used that had a hd ( so: the first machine I could really "install" something on ) was an Amiga 1200 with 4 MB Ram (no virtual memory!), a 68ec020 / 14 MHz and a 40 MB HD. The OS offered multitasking (so background stuff was possible), but even during that time I didn't need anyone to act like "Mister president" claiming to protect me from all "evil".
If things got to slow, I used fewer things at a time. Simple.
Christian
OS X Dude
Mar 11, 2008, 11:35 AM
The first computer I used that had a hd ( so: the first machine I could really "install" something on ) was an Amiga 1200 with 4 MB Ram (no virtual memory!), a 68ec020 / 14 MHz and a 40 MB HD. The OS offered multitasking (so background stuff was possible), but even during that time I didn't need anyone to act like "Mister president" claiming to protect me from all "evil".
If things got to slow, I used fewer things at a time. Simple.
Christian
Yeah - in all my apps I'd just overwrite applicationSuspend and then you CAN run your programs in the background. Easier on our part ;)
matticus008
Mar 12, 2008, 03:47 AM
an Amiga 1200 with 4 MB Ram (no virtual memory!)
Nope. AmigaOS had a RAM disk long before the 1200 existed.
The iPhone, in contrast, like most embedded systems, does not have dedicated swap space available to applications.
The OS offered multitasking (so background stuff was possible), but even during that time I didn't need anyone to act like "Mister president" claiming to protect me from all "evil".
Sure you did. Out of memory errors were quite common codes in the guru messages back then. Your Amiga also wasn't designed as an appliance first and a development platform second. If you broke it, no big deal. People expect their phones to work.
You could fit several applications on a floppy disk, while many web pages today wouldn't even fit on one. Your basic PDF is larger than most Amiga applications. Amiga OS also didn't have resource-intensive processes running in the background like an iPhone does (e.g. Apple's own multitasking applications will take precedence).
Frankly, people are analyzing the interface guidelines with a little too much dramatic flair. Apple wants people to code their applications with the assumption that it will be closed by the OS. This ensures prompt state-saves, automatic restore, optimized launch times, and minimal developer gluttony. Concessions will almost certainly be made for certain applications that need real-time data access, but as a rule, you can't rely on them. They're taking steps to cut down bloat.
It steps on a few toes and clips a few wings. C'est la vie.
rogersthat
Mar 12, 2008, 01:08 PM
100 M for the SDK?
god, google has only 23 m
i love apple
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.