How to Disable Multitasking on iPhone 3G and 3Gs iOS 4 Without Starting All Over

[contentblock id=2]

Problem: If you were in too big of a hurry to install iOS 4 on your jailbroken iPhone 3G, you might be surprised and disappointed to find out that Apple’s multitasking really doesn’t work well, or at all. After opening a few apps it basically leaves your phone with 2 to 4 MB of memory all the time. As you can imagine, that’s not enough memory to do just about anything without the OS having to free some up. You can manually remove the app freeze states but I found myself constantly doing it and trying to free memory before running anything. What a pain!

You might be asking, how did this happen? I thought multitasking was not supported on the 3G? That is correct.  It’s not supported but it can be enabled by simply flipping a switch in a Springboard plist (startup preferences file). Using the pwnage tool from the iPhone dev team you can enable multitasking during creation of your restore image by checking a checkbox but if you don’t want to build a new restore image, here is a better way.

This also applies to 3Gs owners who are disapointed in Apple’s implementation of “multi-tasking”. I prefer backgrounder to this solution. I would even if I were on a 3Gs.

Backgrounder has been updated for iOS4.  The beauty of this solution is that you can turn it on or off any time you wish.  It also supports more than one type of backgrounding (native, and foreground styles).

Solution:

  1. SFTP in to your phone or use something like iPhone Explorer and Go to /System/Library/CoreServices/SpringBoard.app/
  2. Open the N82AP.plist (for iPhone 3G) or the N88AP.plist (for iPhone 3Gs).  If you are unfamiliar with plist files, they are just XML files. In this case you may need the Apple plist editor (already installed on all macs) since these particular plist files are stored in a binary format rather than text.
  3. Expand the “Capabilities” section and uncheck the “multitasking” boolean property.
  4. Save the file and respring.

There are a few other things you may want to modify in the plist file while you’re in there.  Have a look at the options.  For the sake of speed, I disabled “homescreen-wallpaper” and enabled “launch-application-while-animating” and “load-thumbnails-while-scrolling”.  After making these changes and respringing, my iPhone 3G is running snappy!  There are a few exceptions to this such as the built in camera app. It is definitely slower to start up.  🙁

Can somebody please make an SBSetting Toggle for this?  That would be awesome!

UPDATE: There is an app on the SiNfuL iPhone repo now which will disable multitasking.  It’s called “Disable iOS4 Mutlittasking”.  That’s cool but an SBSettings toggle would still be cooler (even though it requires a respring).

Life Design Tip – Backup your stuff

Recovering data from a failed hard drive

There’s not much worse than realizing that you just lost months and months of work.  We keep things backed up on a fairly tight schedule but it still got to our nerves when the hard drive went bad a few weeks ago.  The silence between each click of a stuck hard drive spindle seems to last forever when it’s your data at risk.  Our experience is yet another testimony that hard drives DO fail.  Backup early and often.

Luckily for us we didn’t have to lose anything.  A great tip that worked for us was to leave the hard drive in a zip lock back in the fridge over night.  The next day we plugged it in and spun it up.  Everything worked long enough for us to recover all of our most recent projects.  What would we do without refrigerators?

Working with Flash video

Our most recent project dealt with streaming Flash video.  After dealing with some of the nuances of influxis’s configuration we began experimenting with flv and mp4 wrappers.  It appears that the flash player will play just about any h.264 video file regardless of the video wrapper type.  This is good news because it allows people to encode video using a bigger variety of tools.