Log in

View Full Version : The Official® iOS 4.0 Thread



solo12002
9th April 2010, 07:59 AM
here we go again another upgrade to the above OS:

http://news.bbc.co.uk/1/hi/technology/8610610.stm

Ben
10th April 2010, 12:30 AM
I don't think we've covered this here yet, have we. Twitter is so immediate it's easy to forget how things come and go on there without any deep discussion.

I haven't seen the keynote yet, but I think Apple's implementation of multi-tasking is extremely clever. Yes, limited, but it makes so much sense - apps don't need a free reign over the phone, that's the very thing that makes phones such a nightmare. Instead, Apple has created a web of ingenious extensions to permit certain tasks to be undertaken while the app is technically closed. Love it.

The other features sound good, too. All-in-all I think we've seen all the evidence we needed to reassure us that Apple will continue to push ahead in the phone OS space. Now all we need is the next iPhone.

Hands0n
10th April 2010, 07:54 AM
I have yet to see the keynote myself but, oddly enough, I really am not that bothered about OS X 4.0, although I will of course update to it when the time comes, just like any good Apple citizen :D

I did quickly scan the features as published on Macrumors and, for the life of me, I cannot find anything that particular fires me up, floats my boat, spins my wheels.

So much negativity has been said about the iPhone's lack of ability to multi-task, yet I don't miss it. Yes, I know what it is to be able to multi-task, of course I do, having had three generations of Android (G1, Magic and Nexus One) it is quite apparent what multi-tasking offers. But when using the two handsets side by side the real, as opposed to perceived, benefits are not so apparent. In fact, I would go as far to say that Android, even with its memory and garbage collection, can have problems associated with multi-tasking that just do not exist in the iPhone. I find it essential to have an app called Taskiller installed to allow me to purge apps from memory rather than rely upon Android's own ability to recover memory as required. That is not to say that Android doesn't do it - but I find noticeable performance dips when relying upon the OS as opposed to taking full control. No such thing necessary on iPhone. So lets hope we don't have to face similar issues with OS X 4.0.

The big question in my mind when Apple release this kind of stuff is have they raised the bar? And this time I am not convinced that they have. For sure, they've gone a long way to addressing criticisms, but what are the benefits? Will they be tangible? I mean really tangible, or just gimmicky?

I wait with bated breath the next iPhone hardware, but the same questions apply.

The iPhone has matured over these last few short years as do most things technology. It is difficult to see what else they will or can do other than upgrade things like memory and camera. The format works so very well, and their adherence to the aesthetics and styling has been a major player in establishing its iconic status. Everyone recognises an iPhone - yet when I whip out the Nexus One I am often asked "What phone is that then?". And that, I believe, says it all about the iPhone :)

gorilla
12th April 2010, 07:22 PM
I watched the keynote and (this shows what a fan boy I've become) immediately signed up to the developer programme! I have OS 4 running on my 3GS and it feels a lot quicker, but there are performance issues. Let's not forget this is beta release 1. Some Apps are not able to launch while others crash. This is not an issue with me as those apps (e.g. daily telegraph) are not essential to every day use, while my important apps e.g. awesome note, words with friends, tweetie all work fine. I would assume that these apps will all be updated to work with 4.0 in due course.

A big new feature for me is multiple exchange accounts which removes the restriction of only one exchange account. Apple have also included a single inbox which means all of your email shows up in the same inbox - a time saver I'm sure!!

The multitasking is ok and probably accounts for a snappier experience but it's not much different to the way it works at the minute i.e. you leave one app to go to another, the only difference being that it remembers where you left off.

I'm looking forward to the background audio which will mean you can listen to the radio while doing other things.

I used the beta 3.0 software last year and they tend to release updates every couple of weeks where they fix things and sometimes they break things. Is it worth it? Absolutely not, but I like to be at the 'cutting edge' :-) and I'm a sucker.
I've been saying for a while that my next phone will be an android so it will be an interesting couple of months and whether I get the new iPhone will probably be based on what changes they make to the hardware.

Hands0n
12th April 2010, 07:32 PM
Nice one Gorilla - I remember your escapades with the 3.0 beta. You're a braver man than me Gunga Din. I remember breaking out in all manner of sweat when I jailbroke my original iPhone - and then I only did that after I had the 3G in my hands and fully working. Y'see? I've come to depend on the iPhone being instantly available, I use it for so much that if I broke it for a few days I'd be left a bit high and dry.

The Android, Nexus One, on the other hand is my plaything. Although, that said, I have not rooted it or tried out any of the custom ROMs for it. The Android 2.1 fills the bill perfectly for me on that device, so I really don't feel the need.

gorilla
12th April 2010, 09:44 PM
Don't get me wrong, the iPhone is perfectly usable and after posting I checked all my apps and it's only the telegraph app that doesn't work.
I also failed to mention the global spell checker which is pretty cool. Of course as I write this I remember that iTunes no longer backs up the phone, but I'm sure that will be resolved soon (it still syncs ok). I still haven't figured out how to kill an app, that is close it so that it no longer appears in the multi tasking tray.
I would say this update is very much like the snow leopard release on the Mac i.e. Evolutionary rather than revolutionary.

Ben
12th April 2010, 11:59 PM
Glad to see you've been giving it a spin!

Yes, I would imagine it's absolutely evolutionary rather than revolutionary, but then it'll only be when apps are written for 4.0 that we'll see some really exciting stuff making use of the new multi-tasking functionality. Everything else is just a progression of an OS that hit the ground running on the iPhone 2G in a remarkably well-rounded state.

It's hard to imagine too much of a departure in the hardware of the next iPhone, but then again as the 3GS was exactly the same as the 3G I don't think change is out of the question. I'm hopeful :) Hardware, of course, will always play second fiddle to the iPhone OS.

Hands0n
13th April 2010, 07:04 AM
Maybe we'll see a "unibody" iPhone 4G? I quite fancy the thought of that. :)

Ben
13th April 2010, 10:20 AM
I think it's a distinct possibility. Having shunned the 2G for lack of, erm, 3G, I'd rather like to have the Alu-experience. Mind you, I didn't find the original iPhone particularly attractive... but they've come a long way in their unibody notebook design since then, so who knows.

gorilla
13th April 2010, 12:32 PM
Wasn't the whole Alu thing one of the reasons why there was no 3g in the original model and why they moved to plastic for subsequent handsets?

I've remembered another new feature: the camera zoom. While the zoom itself works very well (very smooth and responsive zoom) obviously it's only a digital zoom. I am wondering though whether we will see an opitcal zoom on the new hardware?

I'm going to guess, but I think we'll see OS 4.0 ship on the 25th of June or the 2nd of July (at the very least we will have reached gold master by then). I base this on there being 5 - 6 beta releases coming every two weeks and the fact that the iPhone is on about a 12 month upgrade cycle.

Ben
15th April 2010, 02:53 AM
The 2G had a rather unattractive panel for the WiFi and cellular antennae, I think they'll be able to get aluminium to work if that's what they really want.

I think what matters to me most is better reception and better battery life!

Interesting to hear that they've implemented digital zoom.

gorilla
15th April 2010, 10:16 AM
I should really get my a*se in gear and post some screen shots.

a_ukboy
25th April 2010, 09:49 AM
Hello guys, me being too impatient have got my iphone UDID registered with the Apple developers program, but i need some help as ive downloaded the firmware which come thorugh as i zip file, after extracting im unable to find the ipsw file i need, has anyone got a copy they could give me? Also i did manage to find a copy on pirate bay which allows me to start the restore to the new version but then it just comes up with an error 13 message and i have to do a restore back to 3.1.3..

Im running on windows 7, intunes 9.1

thanks for any help

miffed
25th April 2010, 12:21 PM
I think I am right in suggesting you should simply rename the .zip as .ipsw -


Or if you'd rather be sure , try here

http://myiphoneactivation.com/download.php

Another problem can be that if you use safari (and maybe other browsers ? ) it can extract the .ipsw on completion of download , when , Ideally you want it intact - In Safari you simply need to go into preference and tell it not to open safe files automatically

Hands0n
25th April 2010, 01:22 PM
Just be very careful and read the FAQ on the website


Q. I get an error 13 when trying to install on windows?
A. OS 4.0 is not supported on the windows platform. While it is possible, you're likely to encounter errors. Please install 4.0 using a Mac.

a_ukboy
25th April 2010, 03:31 PM
Hmmmmm, that's my problem then, i've not got a mac, and keep getting the error 13 message! Bugger

Ben
29th April 2010, 09:17 AM
i've not got a mac
What what WHAT!?

:p

gorilla
1st May 2010, 08:08 AM
I've had some time to play around with OS4 and I'm not impressed. Yes it's beta, but it's a very poor Apple experience. The phone is laggy and there are constant problems. I'm sure the next beta release will show improvements, but I'm convinced OS4 is not a reason to buy an iPhone.

Now, if OS4 is nothing special why would you buy the next iPhone? I'm hoping that the new hardware will be compelling, but if the gizmodo leak is accurate (I'm not convinced it's the actual next phone) then the hardware is just ok.
So good OS and a good phone - I already have that so why upgrade?

Hands0n
1st May 2010, 09:37 AM
Thats an interesting set of observations, albeit as you say, about a beta of OS4. I have to hope that the lagginess does not materialise in the production version of the code. That would be quite damaging as I think that Apple have the 3GS working just about right in terms of speed and actual performance.

I tend to think that Apple have been forced into a bit of a corner here. They probably did not expect Android, particularly in its 2.1 incarnation, to work quite as well as it does. On a device with the physical capability such as the Nexus One and Desire we see for the first time how well Android can really run. And it is very good indeed. So, Apple have had to renege on one of their core iPhone design decisions, that is not to use multi-tasking.

In OS4 we will be getting, for the first time, multi-tasking in the OS. But not quite the multi-tasking that we normally see in other OS. Instead this one has had to be shoe-horned into the OS in such a contrived manner that I am hardly surprised that the Beta, at least, is running substandard. The big question though is whether or not Apple can fix it such that multi-tasking runs at all well. They do run the risk of making the iPhone inferior to Android, at least in performance terms, and that would be a disaster on very many levels. The industry would tear Apple to shreds like a pack of wild dogs with negative publicity and it would serve Apple's head on a silver platter to Android and WinMo7 at least.

If I were Apple right now I think that I'd be pooping myself. It can't be very pleasant in their OS development lab right now. Apple have to get this right, first time. But will they?

Ben
1st May 2010, 11:44 AM
Mhm, 4.0 will definitely be buggy to some extent. Apple's first release of everything never goes smoothly! OS 3 has spoilt us a little, but OS 2 took some time to settle down.

However, this beta is only in the public domain so early because Apple needs developers to be writing apps now. They have built an app store that is so unwieldy simply managing all of the new submissions will be mission impossible. It needs to be able to run third party apps... I don't think we should worry too much about the user experience just yet.

Hopefully.

gorilla
5th May 2010, 08:29 AM
I've installed beta 3 and it's a major improvement over the earlier betas. The screen orientation lock (only portrait) is a welcome feature for me.

Do you know what's funny? Despite beta 2 being an absolutely joke, the phone was functional and didn't really interfere with my daily routine. Yes there were many annoyances, but it's a measure of how solid iPhone OS really is that I could still carry out the majority of my normal tasks.

Already I can tell that beta 3 is very stable, so I imagine that we will definitely see 4.0 being released in 6 - 8 weeks.

a_ukboy
5th May 2010, 12:21 PM
Ok, have you got a link to the beta 3 download? and any info on if it will update on a windows system?

gorilla
5th May 2010, 12:43 PM
I downloaded it from the iPhone dev center (http://developer.apple.com/iphone/index.action).
According to the readme it wont work on windows:

iPhone SDK 4 beta 3 requires Mac OS X v10.6.2 or later.

Ben
5th May 2010, 12:49 PM
That's good news; yes, we'd certainly hope to see stability being shored-up around now if we're to be spared a beta-like fiasco when the OS launches.

DBMandrake
5th May 2010, 09:39 PM
Something that non developers (and tech blogs etc) don't seem to realise about beta builds is WHY they're buggy and slow, and why they shouldn't try to gauge the speed and robustness of the final release based on a beta.

Beta iPhone OS builds will almost certainly be built including debugging code and symbols that the final release does not - this bloats the size of the OS and slows it down dramatically - this is standard for a debug build of any application or OS. Apple are not performing some sort of super-human code optimization when the final release suddenly runs so much faster than the beta versions - they just take out all the debugging code and symbols! (Anyone who has ever run a debug build of the Windows or Linux kernel will know what I'm talking about here)

It's also not uncommon for some aspects of an application to not run correctly in debug builds (app crashes when doing certain things etc) but that is accepted as a trade off for being able to debug some other specific aspect of the application that is being worked on. Add to that the fact that a beta version of the OS is a "snapshot" where different components and applications are in varying states of completion in regards to any changes that are in progress and it's no wonder certain things don't work. (Like the camera not working in Beta 2)

It's not as if Apple is writing horrible buggy code and half the stuff is broken because of that, it's because it's a work in progress that is not ready for release to the general public, and it's only out there for developers to test and verify their apps on the updated API's. Apple are aware of all (or nearly all) of the issues encountered in the Beta's before they even release them.

Some people point out that multitasking is "broken" in the Beta's - well not exactly, it does work, it's just that there are no publicly released 3rd party apps that support it yet, because apps must be rewritten (albeit very minor changes) to support the new multitasking API's - they don't automatically inherit multitasking. Without the 3rd party app support for multi-tasking, only the quick task switcher aspect of the multitasking support is working.

Patience people, I'm sure the 4.0 release will be a good one, not like the disaster that was 2.0, although I forsee a settling in period while 3rd party apps are updated to support the multitasking API's correctly...

gorilla
6th May 2010, 10:53 AM
Totally agree. Half the fun of installing beta firmware is to see what works and what doesn't.
With regard to 3rd party apps and multi tasking, I don't think apps can be submitted yet for approval under the current SDK (could be wrong), but I don't think we'll see multi tasking working until after the public release of 4.0.

Some interesting rumours floating about that the new iPhone (and possibly the 3GS) will have 720p video capture. I'm not sure where or why I'd use it, but hey, why not?

Ben
9th May 2010, 01:47 PM
While I hate to single out Google...

Many companies these days seem to struggle to get away from the beta tag. Google being the prime example, running services under a beta moniker long, long after they should have been official releases.

The result is that the short-memoried are appalled when they experience an actual beta!

DBMandrake
17th June 2010, 07:40 AM
For those that are desperate to install the OS 4.0 Gold Master, someone posted a download link in another forum:

http://gumballtech.com/2010/06/07/download-ios4iphone-os-4-0-gm-here-itunes-9-2-beta-included/

You need iTunes 9.2 to install it, but nothing else special, no registration of the device UDID etc. I'm going to update my spare hack-around 3G so I can see what the IPCC / Carrier settings bundle situation is with OS 4.0 and Three, but I might leave my primary 3GS until the official release. (It should be identical - the GM release is the one given to developers at WWDC, and is binary identical to the final release on the 21st, but install at your own risk)

DBMandrake
17th June 2010, 08:15 AM
Looks like this is a restore only update - trying to use check for updates failed during the verifying stage, but doing a backup and restore is working, and is part way through now - fingers crossed :)

Whether that will be like that for the public release I don't know...

Edit: restore successful! Just restoring media files now :)

Now to go and explore 4.0 (sans multitasking, which is not supported on the 3G...)

DBMandrake
17th June 2010, 11:00 AM
I'll post a few findings of the 4.0 GM here, and update this post as I find interesting things.

* Field test mode doesn't seem to work, ( *3001#12345#* ) by looking at the debug log it appears the app itself is missing or renamed and the phone app hasn't been updated. Be interesting to see if this changes in the final release or whether the hidden field test app has been nixed in 4.0. (Doesn't seem likely)

* Find my iPhone is not working - it all looks fine on the phone but the phone doesn't show up in the Find my iPhone control panel. I saw a notice on the Mobileme website that it will be down for "maintenance" in a few hours, perhaps to support OS 4.0 changes ?

* The dock at the bottom now zooms in and out with app launching and closing like the ipad, previously only the top set of icons zoomed in and out, I find the new style a bit disconcerting :p The dock is now an iPad like reflective shelf, which makes it look a bit more spacious. Some of you might not remember, but the first OS for the iPod touch (1.1) actually had this reflective shelf style dock, but some time around 2.0 they changed it to the iPhone crosshatch. Now the iPhone and ipod touch go back to a reflective shelf. Full circle. :)

* No carrier settings bundles for Three yet - I guess Apple won't push them out until OS 4.0 is officially released. Because Three is so late to the party it's unlikely that they will be rolled into the OS, but will require an automatic iTunes carrier settings bundle update. (And probably T-Mobile too)

* Overall feels a bit sluggish (on a 3G) but I'm not used to using a 3G any more, (having a 3GS) so it may not be much slower than 3.1.3. It's noticeable, but certainly not hideous.

* The speaker sounds a bit different listening to podcasts - a bit smoother, maybe they've tweaked the frequency response EQ a bit on the speaker to make it sound less nasal ? (I could be imagining it though)

* Finally you can read podcast show notes in the iPad app ^5. :)

* Upgrading messes around with your mail settings. I had bookmark sync turned off on this spare iPhone, so it had a lot of out of date bookmarks that I've since cleaned up - updating to 4.0 turned bookmark sync back on without telling me, and kindly synced all those old unsorted bookmarks back into my mobileme account creating loads of duplicates and a big mess. Argh. Fortunately I also use XMarks so I restored a backup from there and got everything straightened out. (Boy does mobileme need an automatic backup history like xmarks, so you can roll back...)

* Unified Inbox. Ahhhhhh, bliss :D

* Even though the 3G doesn't support fast app switching, they have left some vestiges of it - launching the Maps app instantly shows an image of the previous thing you were looking at, but a second or so later the map clears and reloads from scratch. A bit ugly and un-Apple like.

Ben
17th June 2010, 12:06 PM
Would you recommend 4.0 to 3G users? I'll definitely stick it on the 3GS as it's considerably faster, but the 3G seems very happy on v3...

Very much looking forward to giving the new OS a proper spin! When's the official outing, 24th?

DBMandrake
17th June 2010, 12:14 PM
Hmm, I think it's too early to tell. I'm going through trying all my apps and I have found a few that crash on launch, one seems to be due to a bug (IM+) while a couple of others like Motion X GPS are crashing occasionally due to low memory.

Memory is always extremely tight on anything earlier than a 3GS and low memory warnings to apps (that you can see in the debug console while running iPhone configuration utility) are normal and very common on the 3G even on 3.1.3 - the sluggishness that you sometimes feel is actually the OS running out of memory and going around in a mad panic asking background apps to free memory or terminating them - which slows responsiveness in the foreground. Doesn't happen with a 3GS as it never runs that low on memory.

Although the GM (gold master) is supposedly the same build that we'll see in the final release, (8A293) it does appear to have extra debugging and profiling stuff turned on judging by watching the console log zooming by verbosely, and those will use extra memory and slow things down, so I don't think I would recommend anyone using a 3G as their main phone try the GM release - just wait for the official release on the 21st, and hopefully that extra debugging stuff will be turned off, letting the 3G cope a bit better.

When the official 4.0 comes out on the 21st, I'll do another restore to that version on the 3G and see if it's any faster. I only really updated early to investigate the Three IPCC situation, but unfortunately there is no Windows based jailbreak available yet, so I can't work on that anyway ;)

It's pretty clear that they're working really hard to shoehorn the new OS into the 3G though, you can bet that you won't be seeing a 5.0 release for it...

DBMandrake
17th June 2010, 03:00 PM
Well I'm impressed. Apple seem to have done some significant optimizations on graphical performance in games on the 3G model in OS 4.0 - the 3GS has always played most games silky smooth, but a lot of games are quite stuttery on the 3G in previous OS versions. I've noticed on several games now (chopper, jellycar 2, Platypus, Bejeweled 2, ) considerably smoother game play and apparently higher frame rate than before. Maybe they've optimized the Open GL implementation, or fixed the double buffering limitations that some game programmers have alluded to in interviews... Whatever it is, games seem noticeably smoother :)

On the other hand I'm finding video podcast playback in the iPod app sometimes a bit choppy - the video itself is ok if left alone, but the controls are quite slow to appear and hide, and cause the video to stutter slightly when bringing them up or putting them away.

Overall I'm liking it a lot - I particularly like the new Location services security mechanism - a compass arrow that shows whenever an app is using the GPS, (although you only see it in apps that don't hide the status bar.....) and you can individually turn Location services off per app without annoying prompts every time you launch the app.

Keyboard seems a bit more responsive now too, not as instantaneous as the 3GS, but not nearly as laggy as before.

Apps that I've had trouble with: IM+, (crashes on launch) SignalSuite, (tone test generator app - functions visually, but no sound is output, kinda defeating it's purpose) Angry birds, (seems to hang at the loading screen) and all of the other 100 or so apps on that phone seem to work fine, which is a LOT better than the 2.2.1 -> 3.0 transition where tons of apps broke and needed fixes.

Hands0n
17th June 2010, 08:47 PM
* Unified Inbox. Ahhhhhh, bliss :D



Seriously people! When I first heard, read about and saw the "Unified Inbox" I thought to myself "meh!".

Recently, some of you will know, I have swapped out my iPhone 3GS for a BlackBerry Bold 9700. That device has a Unified Inbox that brings together new messages from all sources on the BB. Mine is currently delivering to me SMS, MMS, eMail, Twitter, Facebook and BB Messenger. All of this in a single place, and I cannot tell you how neat it all is.

Previously, and with all other devices, one has to flip between messaging apps dealing with the input that comes in to each. However, with Unified Inbox that is all confined to history. From a single view you are able to deal with all of your new incoming mail. This is a marvelous innovation and I expect to see it in all mobile phone OS in short time.

DBMandrake
17th June 2010, 09:00 PM
To be fair, the Apple implementation is a unified email Inbox only, but to be honest I'm not sure whether I want my twitter, Facebook etc mixed up in with my email. I kind of like how they've keep the mail app really clean and simple.

As well as the unified Inbox you can get directly to individual account Inboxes one tap from the top level hierarchy instead of two taps deep, which is kinda cool. It's only if you want to go to another folder that you must go via the top level -> account -> folder hierarchy.

DBMandrake
17th June 2010, 09:42 PM
Ok next up, a review of the practical aspects of Apple's new "multitasking" system. Wait I hear you say, I thought you installed it on a 3G which doesn't support OS 4.0's multitasking ? Yes I did, but I've now jailbroken it with a beta of redsn0w, and one of the redsn0w options is to enable home screen wall paper and multitasking - both disabled on the 3G by default, so of course I enabled it to play around with it :D

First of all, I will say against all the nay-sayers and complainers in the blogosphere that Apple did absolutely the right thing disabling the new multitasking and task switching interface on the iPhone 3G - it's very clear that while it works after a fashion, there is just not enough RAM in the device to do a satisfactory job and it ends up being more of a glorified task switcher. More on that later.

So how does it operate ? We've all seen the demos from the keynotes showing double click to bring up the "recent apps" list etc, and "descriptions" of how it works on some blogs, but it appears some of the blogs have got it a bit wrong, so here is my take on what is going on under the hood.

1) No 3rd party app runs in the background unless it has been rewritten with the 4.0 SDK to use the background processing API's. That means almost no current apps will actually run in the background, although you can be sure that updates will come out rapidly over the next month or so, and apparently it is not a lot of coding work for developers to implement.

2) Background processing is not a carte blanche affair where a developer can do whatever they like for as long as they like in the background. There are 7 specific use cases, the most generic of which is "task completion" which is a fancy way of saying "give me a maximum of x number of seconds for this thread to finish what it's doing then I'll terminate, and if I don't terminate by then, you terminate me".

The use case for this is things like photo uploaders where you want the upload to finish even though you "quit" the app, and the app can ask for say 2 minutes to finish uploading. The app appears to close immediately, but most of the code from the app stops executing, with a single thread registered as the thread to keep running to do the upload job, once it's done it exits.

There are other API's for background location, streaming audio, VoIP and so on. These are the mechanisms that allow apps to continue to run in the background in some fashion.

3) All apps not written to use the multitasking API's will either suspend (pause) in memory when in the background, or exit. This is where some of the blog sites start to go off at a tangent in the description of how it works.

Basically, any app that is compiled using the 3.1.3 SDK or earlier, (eg all legacy apps) will always EXIT when you press the home button, or switch to another app using the double click task switcher. They will not suspend in the background, so when you switch back to them, you'll find that they just launch from scratch, whether you launch them from the home screen, or via the task switcher. The majority of my apps currently do this.

Any old apps written with "pseudo state saving" (such as Twitter for iPhone) will continue to do their pseudo state restore when you load them - but they're basically just loading into memory from scratch and restoring their own state, they're not suspending in memory.

Now here's the important bit - any app that is recompiled against the 4.0 SDK, even if there are no code changes made, will automatically gain suspend/state saving with no work from the programmer.

That means all they need to do is compile using the new SDK and release an update. They can still target >= 3.1 OS as well, which means one app can run normally on 3.1 and also work with state suspension on 4.0, they don't have to forgo 3.1 customers to gain the suspension/state saving support.

Once an app is compiled against 4.0, when you quit out of the app, either by returning to the home screen, or using the task switcher, the app execution is suspended (assuming it doesn't use the multitasking API's) but it is left fully in memory ready to go again, and when you return to it, either by it's home screen icon or the task switcher, it resumes exactly where it left off. Dropbox has already been updated for 4.0 and I've been doing testing with that.

No sort-of-almost-where-it-left-off like twitter for iphone, where you can clearly see it loading and then restoring it's state - the screen just zooms back in where it was and it is instantly usable without a delay, even on the sluggish 3G hardware.

4) The OS will try to leave the most recently used apps in memory so you can switch instantly back to them, (this includes built in apps that previously didn't multitask like photos, calendar, contacts, settings etc) and as long as it doesn't run low on memory, they will sit in memory suspended. If you start to get low on memory, the OS selects a background suspended app, probably least recently used, and saves it's state to disk and terminates it.

Next time you switch back to that app, there is a noticeable delay of around 1-2 seconds where you can see that it's being loaded and state restored - however after this happens, you are back exactly where you left off, the only difference is a slight delay.

5) The task switcher interface shows "recently used apps" in order from left to right, but there is some debate in blogs as to whether it only shows suspended apps, or recent apps even if they're not in memory. Well it definitely shows suspended apps and recently used apps which may have been flushed out to disk, and it does not make a distinction between them.

By holding down on one of the icons on the task switcher they start to wiggle and show minus signs - again, there has been debate as to whether this is a task killer or whether it just cleans up icons of programs that are no longer running - well it's both.

If the app you're killing is still suspended in memory, it will forcibly kill it, (kill -9 for you unix geeks :D ) as proven by watching the console log. If the app that you're "killing" is in fact already flushed out to disk or gracefully exited, it simply removes the icon from the recent apps list. So despite what Apple says it IS a task-killer.

When you think about it, there must be a way to forcibly kill an app that has gone rogue and has stopped responding, and this is how. (Or hold down the top button for 5 seconds then release and hold down the home button for 5 seconds while in the app, as with 3.1.3)

Now the problem with running multi-tasking on the 3G - basically there is barely enough ram for one app to run let alone keep suspended apps in memory, so every time you switch to a memory hungry foreground app the background app that would have otherwise suspended has to get it state saved out to disk and terminated, so you end up swapping apps out to disk all the time.

It would also make actual background execution of apps like gps navigators unusable - they tend to be memory hungry themselves, open another memory hungry app in the foreground and the OS has no choice but to save state of the background app and terminate it, so Apple did the right thing to limit this to the 3GS/iPad/iPod touch 3rd Gen and later.

All in all I like the system a lot - it gives 90% of the functionality that carte blanche multitasking would, but without having to think about manually exiting apps to save battery life and ram etc, with a mechanism to automatically reinstate any background app that had to be saved out to disk, wrapped up with a UI that disguises the difference between a background executing, suspended to ram, or suspended to disk app, so that the average user can make sense of it. It just does the right thing 90% of the time.

The only problem I can see is thousands of people complaining that the system doesn't work, because they're still running apps that haven't been compiled against 4.0 yet, but within a month or so that transition will have passed :)

gorilla
18th June 2010, 08:56 AM
Seriously people! When I first heard, read about and saw the "Unified Inbox" I thought to myself "meh!".

Recently, some of you will know, I have swapped out my iPhone 3GS for a BlackBerry Bold 9700.

Is there anything like this is the Android Market? 2.1 doesn't do messenging that well, whether it's SMS or email. It makes me wonder why it's not integrated into friend stream.
(Who sends MMS these days?)

DBMandrake
18th June 2010, 09:19 AM
Well, as I suspected, Apple's MobileMe "maintenance" last night has enabled Find My iPhone on OS 4.0 :)

But not only that, they've done a complete overhaul of Mobileme, and while I'm not crazy about the new Email app (I left the beta program after a couple of weeks) the revamped Find My iPhone interface is really good. Not only that, they've gone and released a Find My iPhone app for the iPhone - about time, and I knew they would eventually.

What use is it if you lost your phone ? Well a lot actually, if you're a multi-iPhone household. If one person lost their iPhone previously you would need to carry a 3G enabled laptop around with you to locate your phone, (especially if it was moving, eg lost in the back of a taxi or friends car etc) or you could try to struggle with the web interface on Mobile Safari - which was just barely usable.

Now you can launch an app on your other iPhone, type your mobile me password, and easily and rapidly locate the other phone while you're out on the move. Brilliant.

The app and the web interface even seem to sync to each other - for example if you initiate a location refresh on the iPhone app, the web interface will also start refreshing location.

One thing I notice, which I presume is on purpose, is that the location services arrow on the status bar that comes up when any app accesses location information does NOT come up when a remote find my iphone is executed. Possibly that's to prevent thieves from becoming skittish if they see it come up while they're looking through the phone (if they were smart enough, LOL) but I could see how that might be abused. It's no worse than before though I guess, where there was no visible indication when location was being used.

Nice upgrade Apple :)

DBMandrake
18th June 2010, 12:08 PM
GPS improvements in OS 4.0.

Those of you who had an iPhone 3G from the early days and used the GPS a lot probably remember that it actually worked really well on the 2.0 firmware, reaching a pinnacle at the 2.2.1 release.

It was relatively fast to lock on (typically 10 seconds) and although best accuracy was 17 metres, it was quite responsive, typically showing what your position was about 5 seconds earlier whether you were walking, or driving fast in a car. The position on the map would update smoothly if you were doing more than about 10 miles/hour and would move about every 2 seconds if you were walking.

Then came the 3.0 firmware update. Disaster! :mad:

There were threads hundreds and hundreds of posts long on the Apple forums of people for whom 3.0 had either killed GPS entirely, (leaving only cell/wifi location) or caused it to take forever to lock on (up to a minute or two) or fail to lock on unless you were outdoors in direct sight of the sky (previously it worked through a nearby window) and even when you did get a lock on the position, it would update very infrequently, in large random jumps, and your position was often hundreds of meters behind if you were driving.

I was one of the many people affected by this, and it had me tearing my hair out. At first I couldn't get a GPS lock to work at all, but a reset network settings got it to work again, however it was very unreliable.

Often if the phone had been running for a long time (days) GPS would not work at all until the phone was rebooted, (maybe a daemon dying in the background during low memory and not being restarted ?) and usually you had to stand in clear outdoor conditions for a minute or more to get any sort of lock.

Gradually through 3.0 and 3.1 the GPS issues were addressed to the point where it wasn't usually a problem to lock on, (with the 3GS being much more reliable despite using the same GPS chip) but the accuracy and update frequency were still very poor. As far as I can see, this problem has existed right up until 3.1.3 on both 3G and 3GS.

So what went wrong in 3.0, and what has changed in 4.0 ?

What Apple seemed to do in 3.0 was to add some sort of heuristics and filtering/smoothing of the co-ordinate data provided to applications. In 2.2.1 it seemed like it was pretty much providing raw data directly to apps as it came in - longitude, latitude, altitude, and accuracy radius. (in metres)

Accuracy radius is typically either 17, 47, 76, or 162 metres, depending on signal strength, number of satellites visible, their relative angles etc.

It was up to apps to do their own smoothing, if they so chose. The problem with this, is that even if you were stationary, because the satellites are moving and there are errors in the calculations, an app that showed the raw data would show your position appearing to move and fidget slightly, sometimes in the order of a few metres, especially if the current accuracy was 47 metres or worse.

Presumably Apple didn't like this, and decided to add some heuristics or filtering of some kind in 3.0. What they appear to have done is made it so that if the calculated position move is less than about 2/3 of the current accuracy radius, no change in position is passed onto the application.

This means if the accuracy radius is large, such as 47 metres, then you would have to move approximately 30 metres before any movement at all is reflected, (even though smaller movements were detected) then it will move in a big jump. The larger the radius the worse this issue gets, and even at 47 metres it's almost impossible to use it for turn by turn directions without missing your turn.

Well, in OS 4.0 it seems they've reversed this design mistake. I went for a walk with the 3G running 4.0 and the 3GS running 3.1.3 held in each hand, and tested the built in Maps app, Motion X GPS, and Navigon.

I walked in both a park with clear sky, and through residential streets with tall buildings around, and the phone running OS 4.0 was clearly giving better results. The update rate was much better with updates as often as every 5 seconds while walking on 4.0, and as bad as 30+ seconds on 3.1.3 in the same conditions. The 3.1.3 phone was falling as much as an entire block behind where I actually was (approx 60 metres) even though it had a relatively good view of the sky, and when it did update, it would lurch a whole half a block ahead in one movement, but still be over a block behind where I actually was.

Meanwhile the 4.0 phone was usually not falling more than about 10-15 metres behind where I currently was.

If I crossed the road at right angles to walk on the other side the 4.0 phone picked that up within 10 seconds, showing a sharp bend in Motion X GPS, while the 3.1.3 phone still thought I was on the other side of the road, and then showed a gradual diagonal drift across the road. (Obviously lots of smoothing being applied there...)

Although I don't think it's as good as it was in 2.2.1, it's still a big improvement :) Navigon might actually be useful now, rather than informing you of turns that you've already missed....

DBMandrake
19th June 2010, 09:57 AM
Would you recommend 4.0 to 3G users? I'll definitely stick it on the 3GS as it's considerably faster, but the 3G seems very happy on v3...

As you've seen, I've been playing with the 4.0 GM on my iPhone 3G with Multitasking enabled (via a relatively easy plist hack, once the phone is jailbroken) and while it sorta works it is very sluggish. It starts off ok - around the same speed as 3.1.3, but after several apps have been suspended in the background it really starts to lag and struggle, and becomes unusable without manually exiting background apps. Having the homescreen wall paper enabled (which is also disabled on a 3G without a plist hack) also causes the home screen to be rather sluggish, especially opening app folders. Definitely not up to Apple's usability standards in either case.

So after a couple of days running it like that I decided to disable multitasking and home screen wall paper to judge what the performance is like as Apple deliver it, and I have to say, it's pretty good. I'm sure that graphics performance is better than 3.1.3, especially in games, and the phone just seems significantly more snappy than 3.1.3, without the usual sluggishness that crops up after running for a while without rebooting.

There is one glaring exception though - the iPod app seems to be very sluggish. It takes as much as 10 seconds to launch and then start playing, and is a bit sluggish in general, for example switching to coverflow and back - which is very unusual considering almost everything else in the OS feels noticeably more snappy.

So yes I think it will be worth updating the 3G to OS 4.0, I'm sure they'll sort out this issue with the iPod being slow, probably by the first point release. (Or maybe it's only an issue in the GM and it will be already fixed in the public release - I'll find out on Monday when I do a new restore :) )

Besides, it'll only be 2-3 months before many apps start requiring OS 4.0, so if you stay behind on 3.1.3 there will start to be a lot that you can't run...

Ben
19th June 2010, 11:42 AM
Ok that sounds positive... I think I'll put iOS 4 on the 3G. Not quite sure what I'll do with the handset then, though, as its current keeper will be having my 3GS unless they decide (after playing with mine) that it's time for iPhone 4. I know I should probably be generous and gift it to somebody, but I've a terrible record when it comes to letting my own phones out of my sight/possession! I may weep.

Oh yes, I think due to the changes in iOS 4 for developers we'll see new apps, and updates of old apps, have a base restriction of iOS 3.2 (iPad) very quickly. A little bird tells me that the next FishText update will be 3.2+... Apple have fixed a lot in iOS 4, but it makes it difficult to be backwards-compatible as the old workarounds break the fixes!

DBMandrake
19th June 2010, 12:09 PM
After testing it for a few days only on the 3G I would have to say it's one of the most robust x.0 releases of iPhone OS (whoops, iOS) yet, especially considering the amount of stuff they've changed and added.

The only issues I've noticed are a very few 3rd party apps that need updating to work (but far less than I found with 3.0 where I would say fully a 1/3 of my apps broke) and the iPod app being somewhat sluggish.

Other than that I think it's a winner, and I can't wait to install the final release on my 3GS, I think it could be the first time I'm happy to forego jail-breaking entirely. :) (since multitasking addresses my last major jail-break feature requirement well enough, and in some ways, does it better)

Although there is a working jailbreak for 4.0, a LOT of the most commonly used jailbreak apps are not currently compatible, including kirikae and backgrounder, sbsettings, bossprefs, activator etc, so there would be no point in me jailbreaking anyway.

Ben
21st June 2010, 11:49 AM
Thread renamed! :)

Well, today's the day that we will officially get iOS 4.0 for our 'old' iPhone's. I'm very much looking forward to putting it on the 3GS as it should offer a comprehensive experience, even if it does take the shine off of Thursday a little bit. But a new OS and a new iPhone in the same day would probably make my head explode anyway ;)

Apple are still stating "Coming soon" for the upgrade at the moment: http://www.apple.com/uk/iphone/softwareupdate/

No doubt it'll be the end of the day (UK time) before we see the software, but hopefully it'll make an appearance sooner rather than later...

DBMandrake
21st June 2010, 12:33 PM
My guess is it will be around 6-7pm our time. I'm curious to see what changes there are between the 4.0 GM and the final release, and whether they've bumped the build number.

It occurs to me that although the GM might be API complete for developers to test their apps against, (which was the purpose of the GM seed) the configuration of the OS and built in apps may well be different from today's release. For example I notice that the field test app is completely missing in the GM - even though dialling the appropriate number in the phone app still attempts to launch it. (Thus generating an error in the console log) Seems very unusual for them to leave out the field test app after 3 major OS releases including it, so I think we'll see it back in the final release.

I'm hoping it will also perform a bit better, and that they have debugging stuff turned on in the GM that won't be turned on in the final release - as comparing it side by side with 3.1.3 on an iPhone 3G it is definitely a bit slower. (Somehow it felt faster to me, but side by side tests proved that wrong. I think what I notice is that the occasional very long pauses of 3.1.3 on a 3G are gone, but most other things including app launch times are a bit slower)

Ben
21st June 2010, 12:48 PM
Yes I think the timing will probably be early evening for us. A little annoying, I could really do with it today for final app testing!

You probably have a point regarding the GM having some bits missing, too, and having additional debugging on. Lets hope we do get a nice surprise in the form of a new build number and better performance.

DBMandrake
21st June 2010, 03:28 PM
There are a few interesting things hidden in the GM /Applications folder as well, I wonder if they will remain in the final release.

The most interesting is a hidden app called IpodOut. While trying to figure out what it was, I found this:

http://www.tuaw.com/2010/04/12/iphone-os-4-0-secrets-hidden-ipod-application-hints-at-automobi/

It looks like it is a (possibly unfinished) app that allows the ipod app to be remote controlled, while outputting an external non-touch user interface over a video out cable. The theory in that article is that it's designed to be sent via a dock to a large (10" ?) screen in a car that has control buttons below it, so the UI is displayed on the large screen with song names and cover art etc, but rather than a touch interface, it's a safer (for driving!) button based interface that resembles FrontRow.

I was able to get it partly working - with my Apple Composite AV cable connected to a TV, if I launched the iPodOut app it seemed to act like a toggle to switch the normal iPod app into this remote mode, and I was able to get the interface shown in that article on-screen on the TV. (I'm guessing iPodOut.app is just a debugging utility to manually kick the ipod app into this mode for testing)

Meanwhile the iphone display just shows an Apple logo in the middle, and "Connected, OK to disconnect" at the bottom. I wasn't able to find a way to navigate through the menu or play music though - it doesn't respond to the touch screen, so I assume the person making that video had access to a prototype hardware interface. (There have been rumours for some time that Apple were working on their own car kit, this suggests that's possible, or that they're working with a hardware vendor to release something)

Another new app - Game Center - this isn't hidden, and allows you to create and log into a game center account, add friends, but nothing else - I presume this is a debug tool for developers and won't be present in the final release. (Since game center functionality will be built into games, not a standalone app)

The rest of these are hidden from springboard, but when I launch them via other means, they just load to a blank page:

AdSheet.app (something to do with iAds ?)
TrustMe.app (????)

None of these apps are present in the /Applications folder in 3.1.3.

Meanwhile, present in 3.1.3, but missing in the 4.0 GM are:

Fieldtest.app
Nike.app (although that one may only be present on a 3GS not the 3G)

Nothing like a like bit of mystery with a few clues is there :)

Ben
21st June 2010, 06:43 PM
Now available in iTunes, apparently! I know what I'll be doing when I get home =)

DBMandrake
21st June 2010, 08:15 PM
Despite the build number being the same, the file size is slightly larger than the GM and there is at least one confirmed change:

http://9to5mac.com/node/18320

The gamecenter app is removed. If they've removed that app and yet the file size is actually bigger there must be more changes or additions... :)

DBMandrake
21st June 2010, 08:56 PM
Looks like there are a few subtle changes here and there. Already I've found one - The "Cellular Data" on/off switch in Settings->General->Network which was first added in the betas of 4.0, and was there in the GM is now called "Mobile Data". A small change perhaps, but I wonder why they decided to rename it ? I'm not sure that the new name is less ambiguous for the typical user.

Ben
21st June 2010, 10:05 PM
Mine is "Cellular Data". Also I see field test app doesn't work? Or at least doesn't for me when I enter that number.

My iPhone now corrects me to ms. Infuriating! Loving most of the changes/tweaks, though.

DBMandrake
21st June 2010, 10:24 PM
Mine is "Cellular Data".

Funnily enough, so is mine now :D

I checked it the first time after the firmware restore was complete but before I had let it restore my configuration backup - and the switch was labled Mobile Data. Now that the backup is restored, it's now called Cellular Data again! Obviously the labelling of the switch is regionalized, and my backup (of NZ origin) must be a region where Cellular Data is the phrase used...


Also I see field test app doesn't work? Or at least doesn't for me when I enter that number.

Yep, seems to be missing, same as in the 4.0 GM. The console log shows the following:

SpringBoard[40] : Unknown application display identifier com.apple.fieldtest.

(Which basically means the fieldtest app doesn't exist!)

A bit strange, and fieldtest was something I used a lot for testing signals and looking up Cell ID's etc...annoying.


My iPhone now corrects me to ms. Infuriating! Loving most of the changes/tweaks, though.
OS 3.1.3 and earlier always used to correct nz (as in .co.nz - something I typed ALL the time in New Zealand) to ms - and it would never learn my correction. I wonder if it's still the same :p

DBMandrake
22nd June 2010, 09:03 AM
Well I leapt off the cliff and updated my 3GS (which is my main phone) to 4.0 last night (forgoing my customized 3.1.3 with jailbreak) and I'm glad I did.

It didn't go without problems though - when I first tried to do a restore I got an error number and failed restore that has been reported on a couple of blogs - I wanted to do a restore not an update as I wanted it to blow away all my jailbroken apps, not leave them hidden but consuming storage space. So after rebooting both PC and phone I tried again, and it worked - except that I'd accidentally said yes to the dialogue that said there was a new software update, which does an update not a restore, so 20 minutes later I'm looking puzzled as to why it's finished already ;)

Although most things appeared ok, all was not well. For some reason Safari had no bookmarks in it even though Mobileme was set to sync my bookmarks. Despite the fact that the phone usage meter in iTunes showed the same proportions of space consumed by music, podcasts and so on, neither music nor podcasts were accessible on the phone. After realizing I'd done an upgrade not a restore, I decided to start again with a restore, and once again I got an error and it failed to restore.

Another reboot of the PC and the phone and a restore and it went through. This is very unusual to me as I've never had failed restores before on non-modified firmware images... and I had the same issuing trying to install the 4.0 GM on the 3G - except in that case an upgrade failed but a restore worked.

Something is not quite right with the install process on 4.0, even if it's only affecting a few people.

After the firmware restore, backup restore, and resyncing of media (which I had to leave over night) all is well.

So what do I notice ? Wifi is fixed!!! This is a really big deal for me.

Ever since the 3GS first came out it has had Wifi issues with some (most?) routers, that cause very poor and bursty performance. Typically on a 15Mbit home ADSL connection as I have, the speedtest.net app on the 3GS will hover around 400-800kbit. Occasionally it will burst much higher but it will typically remain under 1Mbit. Meanwhile my 3G or 1st gen iPod touch can achieve 5Mbit - 8Mbit on the same access point.

This problem plays havok with Youtube in particular, which buffers and struggles, streaming audio/video are affected, app downloading can be very slow etc, in short, its a real pain.

Every single firmware update I cross my fingers and hope Apple have fixed this problem and they always disappoint - until 4.0. It seems that they have finally fixed this problem - now that the 3GS is obsolete! Sigh. :p

Now I'm seeing a good solid 8Mbit+ every time I do a speed test on Wifi. The difference in Youtube and other throughput heavy apps is astounding, and I really can't understand why it took them so long to fix, especially when the problem is there even with Apple Base stations.

I sort of know what the problem was too - the low power mode time out for the wifi chip was set too short - so short in fact that it would time out and go to sleep in between individual packets, if the throughput was below about 2Mbit! Once it went to sleep it would not receive any packets from the access point for a few hundred milliseconds, something that you could easily test by pinging the phone from another computer. (High and bursty ping time) Of course TCP/IP would see this as packet loss, and throttle back. To fix the problem, all they've probably done is increased the low power timeout by a factor of 10 or maybe even 100...

Anyway, rant over, they fixed it, Wifi works brilliantly on the 3GS now.

What else ? I see app updates are coming in quickly now. Angry birds has been fixed already (woohoo) and Motion X GPS has been updated with full background support - brilliant. (Now to get an iphone bracket for my mountain bike :) )

The way they've handled background support in that app is to provide a preference setting - GPS always on in the background (why you'd want that setting I'm not sure) GPS always off in the background, or GPS on in the background if the track recorder is running. (default)

With that default option it makes perfect sense - if you quit the app when you're not recording a track, it turns the GPS off and the app suspends, consuming no power or cpu cycles. If you are recording, it leaves it on. Either way, when you return to the app you're at the exact spot you left off. (And it fires up the GPS again if you weren't recording a track in the background) Perfect - no need to think about anything, it just does the right thing.

If you're recording a track, GPS stays on no matter what happens - even if you take a phone call. And if you're finished with the app but forgot that the track recorder was still running, you'll clearly see the location services icon remain on the screen back at the home screen, which will instantly remind you that GPS is still running, so you can go back and turn off the recording instead of finding a flat battery a few hours later.

Apple introduced the Location icon for privacy reasons, but I think it's great as a "headlights on with the door open" reminder as well.

Older apps that exit instead of suspend in the background stand out like a sore thumb, so I think most of them will get updated rather quickly, as there will be quite a bit of pressure on developers to conform. I love having things resume where they left off (especially things like youtube) but I'm not crazy about the Settings App resuming where it left off - and it doesn't resume exactly where it left off either, often one screen up. A bit confusing.

Overall, very happy so far, and things will only get better as all apps become suspend aware and start to make use of multitasking API's. (where appropriate - I think suspend is all that's needed for 90% of apps, so they return exactly where you left off)

The next interesting test will be what battery life is like, as I've always had trouble with standby time since about 3.1 - I can't get more than about 8-10 hours with light use...

DBMandrake
22nd June 2010, 11:43 AM
Anyone with a Bluetooth keyboard tried it with their 3GS running OS 4.0 ? :) Apparently it works much like the iPad, however only the iPhone 3GS and iPhone 4 are supported, not the 3G. (Odd decision to leave out the 3G, but I'm sure there's a reason...)

Not sure exactly what use having a full size bluetooth keyboard attached to a phone is, but perhaps one of those mini roll-able keyboards would be useful in a backpack ? :D

Ben
22nd June 2010, 11:50 AM
The WiFi issue you had been experiencing must have been incredibly irritating! I definitely wasn't experiencing that. Bizarre!

I hope developers don't dive head-first into multitasking without good reason to. I think some heavy app users are going to find that they take quite a hit in battery life as they update their apps if developers get frivolous or, worse, lazy. I love the push notifications system - it should absolutely be used everywhere humanly possible.

I restarted my 3GS last night and fully-charged, so today will be its first day of 'normal use'. I'll definitely be keeping a close eye on battery life.

Conversations in the new unified Inbox seem a little hit and miss... me.com mails are getting grouped better than my Google ones, which sometimes aren't getting grouped at all like they would be in Google Mail.

DBMandrake
22nd June 2010, 11:58 AM
The wifi issue didn't affect everyone - many base stations though, depending on their exact firmware and configuration, such as RTS/CTS thresholds, encryption type, whether it was on b/g or just g and so on. I had the problem with an Airport Express, which is what I normally use, also with the Sky BB router. (Dlink ?) The threads discussing the problem in the Apple discussion forums were hundreds of posts long, going on for months so I wasn't alone, despite Apple never officially acknowledging a problem :)

Youtube buffering on Wifi has also been a big problem for me for a long time, even on the 3G and iPod touch. I've rarely been able to play an entire Youtube clip without buffering on Wifi, going right back to firmware 1.1.1 on an iPod touch, on a multitude of different access points and internet connections. On the 3GS this was made worse by the Wifi issue.

On 4.0 I'm now playing and streaming Youtube perfectly and consistently on the 3GS for the first time ever :) (Haven't tested the 3G with Youtube since updating to 4.0)

Edit: Looks like the 3G running 4.0 no longer has buffering issues on Youtube either. :cool:

The Mullet of G
22nd June 2010, 02:38 PM
I'm holding off till there is a JB for iPod Touch 3G, wish they would hurry up. Everyone seems to be releasing JB's for the same models, which is a complete waste of time in what can only be described as a pointless game of "me too" yes I'm getting impatient. :)

gorilla
22nd June 2010, 04:04 PM
There seems to be a jailbreak already (http://www.cultofmac.com/ultrasn0w-jailbreak-update-unlocks-iphone-ios-4-0/47655), certainly for the 3G and the 3GS with certain basebands.

The Mullet of G
22nd June 2010, 04:44 PM
There seems to be a jailbreak already (http://www.cultofmac.com/ultrasn0w-jailbreak-update-unlocks-iphone-ios-4-0/47655), certainly for the 3G and the 3GS with certain basebands.

I think there are 2 or 3 JB's for various iPhones and iPod Touch models, but none for the new iPod Touch 3rd Gen, or iPhone 3GS with the new bootrom. It seems we're always last, had to wait till Spirit was released just to have an untethered JB, hoping its a little quicker this time, or I'll be sticking with 3.1.3. :)

DBMandrake
23rd June 2010, 05:43 PM
Ok now that some apps are starting to come out supporting Multitasking, how are you all finding it ?

I think Apple has managed to hit on a good balance between functionality, battery life, security, and simplicity/usability, and it's driving me crazy reading reviews from people harping on about how it's not "true multitasking", how poor it is, Apple blew it, blah blah, when they clearly don't get it, or even understand how it works under the hood, and why the same design decisions for a desktop OS don't make sense on a small screen size and battery constrained mobile device.

For good examples of people that don't get it, and are trying to "over-think" the whole multitasking system in OS 4.0:

http://www.pcworld.com/article/199528/multitasking_with_ios_4_is_horrible_apple_blew_it. html?tk=hp_new

and

http://www.iphonewzealand.co.nz/2010/all/opinion-multitasking-love-it-or-hate-it/?utm_source=rss&utm_medium=rss&utm_campaign=opinion-multitasking-love-it-or-hate-it

I had Kirikae and Backgrounder installed on my jailbroken 3GS running 3.1.3 for months, which gives "true multitasking" in the strictest PC sense (all app types continue to execute in the background thinking they're still in the foreground, if I so choose) and guess what ?

I found myself barely ever using actual background processing, I ended up using it primarily as a fast app switcher due to having 11 screens full of apps, and no fast way to toggle between the few most recently used apps, plus the fact that it prevented apps losing their state and having to reload from scratch.

The only apps I ever backgrounded with the purpose of multitasking them were (you guessed it) GPS navigation software, background audio streaming, and Skype.

And guess what ? If I forgot I was still running any cpu or network using app in the background, my battery would be dead in a few hours. I had to manually think about "have I quit all background apps" before locking the phone and putting it in my pocket, so unless I was sitting at home using it as an iPad-nano I didn't ever background anything.

Apple have addressed 90% of the concerns of "multitasking" and what people are getting upset about I think was that it wasn't "true multitasking" they needed in the first place.

On a phone you can't interact with more than one app at a time in any meaningful way (apart from playing and pausing music, or talking on the phone while running another app) so for the majority of apps it doesn't make sense for them to execute in the background.

You may want to get back to that app instantly yes, but does it really need to execute while you're not looking at it ?

For example people are complaining that Twitter apps cant continue to execute in the background and poll for updates. Why ? What benefit does that provide when it can poll for updates and have them ready for you in a few seconds as soon as the app un-suspends ? Do I really care if 5 extra tweets are already visible when I switch back to Twitter, if it means it's polling the network frequently and running the battery down even if I don't use Twitter again that day. Nope!

People are complaining that the task switcher is a dumb idea because the list of apps keeps building up and they have to go and manually remove them - why are they even going around deleting them in the first place ? It's not a task manager, it's a recent apps quick switcher.

The apps in the list are ordered from most recently used onwards, and they may or may not actually be still in memory.

People are also trying to use it as an app launcher in place of the spring board - and complaining that the list gets too long - it's not an app launcher, its a task switcher. If you want to launch an app that you used more than 4-8 apps ago, locate it via your nicely folder organized springboard.

There are a lot of people obsessed with the fact that the icons on the task switcher don't go away, and think that means there are loads of apps running in the background - well, most of them have been terminated, but the ones that are still in the background are paused (apart from the special cases like gps navigation) and not consuming any resources except RAM - and if RAM gets low they are purged from memory automatically and restore their state from disk next time they are launched.

What people don't seem to be getting is that Apple is trying to do away with the whole launch app - close app paradigm in their UI. With OS 4.0 aware apps you are either using an app, or not currently using the app. When you're not using it, you don't need to be thinking about whether it's executing or not, whether it's still in memory or not, whether it's suspended or terminated etc, you are just moving from one app state to another and letting the system do the right thing.

People are complaining that apps have to be updated to properly make use of the fast task switching, and for that reason the whole multitasking system is flawed. Duh.

App updates are coming out thick and fast 2 days after OS 4.0 went public. As apps are being updated, I'm very happy with the way that they're handling it - Motion X GPS is a perfect example of how to do it right in OS 4.0. Many games like Plants vs Zombies, and Real Racing handle multitasking perfectly too - switch to another app and they pause, return and they provide a resume prompt and away you go, exactly where you left off.

Even on the 256MB 3GS I'm surprised just how many games and apps can be suspended in the background, and I've noticed NO reduction in foreground game performance or battery life since updating to OS 4.0.

I think suspending the majority of background apps makes a lot of sense, allowing only those few app categories that really need to execute in the background do so, and within certain pre-set boundaries.

Ben
23rd June 2010, 06:12 PM
Well, I nodded so much through that post that my neck hurts!

Folk are really clutching at straws and deep misconceptions in order to view iOS 4.0's multitasking functionality in a negative light. It's a damn revelation, that's what it is! A game changer, IMHO, in app management on mobile devices. You're absolutely right (as is Apple) in that a user shouldn't have to even think about what's in the background and what isn't, and this elegant solution gives a truly foolproof experience to people who shouldn't have to remember to close things or else feel the sting of a flat battery.

I'm sure new options for developers to use for background processes will be added over time, but already the current extensions allow for almost everything one can think of. So far I'm really impressed by iOS 4.0, and as more and more optimised apps get released I can't see that changing.

DBMandrake
23rd June 2010, 07:31 PM
This seems to be a repeating cycle - Apple does something in a different way than people expect them to, the critics all diss it and complain bitterly, then a year later people realise they were right and it becomes an accepted way to do things with everyone else trying to copy them. (Just look at the release of the iPhone itself, with its multi-touch interface)

What I really like about Apple's design philosophy is that rather than throwing a ton of half baked stuff at the wall to see what sticks, they'll go for an minimalist approach where only the things that work really well and are important are included, and other things are left out until they've been thought through carefully and thoroughly, adding them bit by bit, and never adding something they don't want to support into the future.

If people think Apple were somehow incapable of adding (carte blanche) "true" multitasking to iOS they're crazy. It's literally a few lines of code in iOS (3.1.3 and earlier) that prevent a 3rd party app from continuing to run in the background when you press the home button.

The Backgrounder jailbreak app does not add multitasking, it disables the code that forces 3rd party apps to exit when you press the home button. (From what I understand it hooks a single callback to do this)

When 2.0 first came out, Apple knew that the devices at the time (iPhone 3G and earlier) with 128MB of ram were not capable of running multiple 3rd party background apps in a satisfactory way, and certainly not without severe restrictions, so they left it out.

When the 3GS came out with 3.0 they now had a phone with the hardware to support multi-tasking, but again if they let apps run freely in the background you could only run a few in the background before you ran out of memory and apps had to be terminated, foreground performance would be worse, battery life would be terrible. (Not to mention there would be huge security and privacy concerns if anything could be left running in the background - recording conversations in the room, tracking your GPS location etc)

Most importantly of all, if they had just opened up 3rd party "true" multitasking in 3.0 with the 3GS they would then be stuck supporting that forever - imagine the outrage if they then pulled multitasking in a later release in an attempt to improve battery life...or made it more restricted.

So they played it conservative, took a lashing in the press for not having it, but worked away at a solution that provided a just enough access and functionality for the majority of use cases, but no more.

For example it's now possible for an app to record microphone audio in the background, but the OS enforces a recording banner in the task bar so you can't be spied apon. Without the restrictions of the multitasking API's an app could run in the background and do whatever it wanted without you realising it was recording you.

I'm sure that as more specific use cases are found that aren't covered by the current API's that new API's will be made available, what we have today is not the end of the line.

The great irony is that Android is always held up as the standards bearer for smartphone multitasking - that it somehow has "true" multitasking, but in fact its multitasking approach is quite similar to iOS 4 in many ways. (In fact Apple have probably cherry picked a few ideas from Android)

In particular Android divides apps into foreground and an optional background component.

A "normal" Android app cannot continue executing in the background any more than an iPhone app - when the app goes into the background its suspended in memory just like iOS 4, and resumes execution where it left off when brought to the foreground. If memory runs low, background apps have their state saved and terminated - again much like iOS 4.

(Except with iOS 4 the app saves its state when first backgrounded, not when terminated, while I think Android saves state just before terminating suspended background apps)

So how do they appear to run in the background ? An Android app can install a background "service" which is capable of running in the background, and the foreground application works like a client connecting to the server. A good analogy of an Android service is a Windows NT/XP Service.

This service is supposed to be as small and frugal on resources as possible, but there is nothing enforcing that.

So in the example of a Pandora type app, the background service would contain the networking code that streams the audio from the server, and the audio output code, while the foreground app would contain the UI.

When the app is backgrounded the UI app is suspended, but the service continues to run in the background streaming and playing back audio, thus the appearance of multi-tasking.

When there is low memory pressure the OS tries its best not to terminate services, they are a very last resort, and it will terminate suspended processes in preference.

So what's the problem with this approach compared to Apple's ? Two things:

1) Any app that needs to have any background processing ability needs to be written in a client-server model, and while that works out well for something like Pandora, I'm not sure that from a programming point of view that it makes good sense for other applications, such as Turn by Turn navigation, where the entire routing code must be in the server half if it's to keep running in the background.

You have a conflict between a service needing to be small in size and memory footprint so as not to consume resources, and yet in many typical applications the bulk of the logic and work will have to be done in the service, with only the UI done in the main app.

In Apple's implementation a background capable app is still written as one app - there is no need to re-architect it in a client-server model, you just add a few callbacks and a bit of code to your main app and you're done.

2) Services don't really have any restrictions, they can pretty much do what they like, and are "expected" to play nice. If a service wants to download data all the time it can. If it wants to record your microphone, it can. If it wants to track your GPS location and send data back to the mothership it can. If it wants to poll Twitter every 2 minutes, it can. It has none of the security/privacy related restrictions that the Apple API enforces.

Because there is nothing regulating what services can do, poorly programmed services can run the battery down, be a security risk, use too much memory and bog the OS down etc. (And the OS will try not to terminate services as they are treated as "special")

So although Apple have take some ideas from Android, I think they've actually done an end run and architected a better solution - one with a few more restrictions on developers, sure, but one that gives better battery life, security, and privacy, while adding a minimum amount of work for developers to make their apps background capable.

DBMandrake
26th June 2010, 05:45 PM
A good layman's description of how iOS 4 fast task switching works from a practical point of view:

http://db.tidbits.com/article/11378

Ben
28th June 2010, 09:43 PM
Nice article. Your post is particularly good, though.

Apple consistently looks out for the user experience. Reading suggestions that somehow they're not good enough to implement something like multitasking is infuriating. Copy and paste is the best example - yes, we had to wait for it, but Apple stuck to their guns and didn't release this 'basic' feature until they'd come up with a truly instinctive way of providing it.

DBMandrake
29th June 2010, 09:46 PM
Speaking of waiting for things, now that you guys have had a chance to get used to iOS 4, does the single-tasking iPad running 3.2 seem like a poor step child ? :)

Word is that iOS 4.x won't be out on the iPad until November, (originally September ? A few months minimum in any case) and by then it will probably be 4.1 or 4.2 that will be the first 4.x release for the iPad.

Will the iPad benefit from iOS 4 even more than the iPhone ? What is the delay ? Were they just too busy getting the iPhone version out the door first for the iPhone 4 release, or are there additional features in iOS 4 that are iPad specific that they are still working on completing ?

Hands0n
29th June 2010, 10:58 PM
The iPad desktop does "feel" a bit dated in comparison to the iPhone but I really cannot put my finger on the reason why. It makes no sense because the look and function are exactly the same. Although, I do mistakenly go for the Task Switcher (as opposed to the multi-tasking) which of course is not there in iOS 3.x.

I have no problem waiting for the iPad firmware to come out later this year. I would rather that they got it right than rushed it to market like some other well known brands of OS. There is quite enough to be getting along with for now :)

I suspect that the iPad will benefit from the new iOS 4.x when it arrives. The likelihood of using multiple tasks is higher, and by then we could reasonably expect the ISVs to have caught up with iOS 4's multi-tasking capabilities. Certainly, some of the recent app updates have been good to see in their multi-tasking form.

Meanwhile the iPad has turned into a rather neat little sofa companion for me - although today I am mostly using the MacBook Pro :-)

Ben
1st July 2010, 06:00 AM
I do rather think Apple should have shipped the iPad with iOS 4 from the start, and my iPhone 4 does feel 'more powerful' for having the new OS, but I'm not too bothered by the wait.

There's a bit of an irritating bug in Safari, though, on 3.2 (maybe 4, but I haven't had it yet) where often times pages requiring HTTP authentication don't display the prompt. Safari just sits there doing nothing until you refresh the page, then you're asked to authenticate. Annoying for me given that a lot of the pages I access are protected.

DBMandrake
11th July 2010, 12:56 PM
Aha, the "iPodOut" facility of iOS 4 has been unveiled - it is indeed car integration, and I have to say the system looks very nice :)

I wonder if anyone besides BMW will offer it ?

http://9to5mac.com/node/19432

Ben
13th July 2010, 04:11 PM
Very cool! Yeah I hope other manufacturers pick it up to be honest, surely it'll appeal to them.

Though somehow a lot of cars seem to feature Microsoft connectivity? Like... for what? lol. Mhmm.

The Mullet of G
13th July 2010, 08:57 PM
iOS 4 is pretty sweet now that I'd pwned it on my Touch, had to jump through a fair amount of hoops, but it was worth it in the end. 5 icon dock FTW. :)