Speeding Up iPhone 3G on iOS4 If Ever So Slightly


Sun, Sep 5th, 2010 20:00 by capnasty NEWS

The Problem

If you're stuck with an iPhone 3G like me with iOS4, you probably noticed something about it: it sucks. I'm not talking about the lack of multi-tasking or that your background remains black: that's understandable.

It's the long-loading and then crashing applications that sucks. It's the lag in typing that sucks. It's the fact that even answering a simple phone call becomes a challenge. My iPhone has ceased to be a fun, zippy little toy. Meanwhile, friends with just-as-old Blackberries or Android phones are humming away, doing their phone stuff with pleasure and without any issues. It's funny, when you think about it, how my iPhone was crippled right before Apple's latest and greatest was released all while preventing me from going back to the previous operating system. Purposely malicious? You tell me.

So why not upgrade? Apple's ethics aside, firstly, mechanically, there is nothing wrong with the phone, it's the software. Secondly, upgrading to the latest smart-phones isn't exactly cheap. And lastly, despite what Apple fan-boys will tell you, I've seen the problems plague not just a 3G, but 3Gs. Someone else with an iPhone 4G finds herself with mysterious shut-downs or the inability to reset the phone but is told by the Apple store there is nothing wrong with her device.

What Doesn't Work

There have been various suggestions online on how to make your iPhone 3G suck less. Here is what doesn't work:

  • Cult of Mac's Adam Rosen thinks that hard resetting the iPhone speeds it up. It's true, it does. But only for a short while. After some regular use, it's back to your jar of molasses. You can just simply re-spring Springboard and you'll get the same benefit.
  • Restore to factory defaults: I've read this one in a few places. The comments that followed indicated that this worked well for a short period of time and then it was back to square one.
  • Disabling MMS in your text messaging and doing a hard-reset. See above for Hard Reset.
  • Disabling Spotlight, as mentioned on Covering Web kind of works. You're removing the indexing process, which improves on performance, but in my experience, by itself, at least in the long run, it's not significant enough to make a world of difference.

  • A disabled SpotLight Search will look like this.

What I Did

I did this on a Jailbroken iPhone. You cannot do this on a non-Jailbroken iPhone. You should probably not do what I did or you could risk screwing up your phone and being forced into a factory reinstall. You've been warned.

  1. Install zToggle. Then, if you have enabled multi-tasking and the background, disable it. You don't really need it and the eye-candy, nice as it is, after a while slows things down. That's right: after a while. If you have background and multi-tasking enabled, it works like a charm on iPhone 3G, but only for a while. Then it starts to slow down, even if you kill any of the apps it keeps in memory. The only solution is to reboot your phone once a day. Sometimes more.

  2. zToggle's only two options: pretty straightforward.

  3. Install Backgrounder. Be sure to configure it so that it does not use the Native mode, or applications will quit on you regardless of how much you background them. This gives you a chance to monitor what's running and to kill iPod and Mail if you're really not using them -- they will otherwise stay in memory.

    Backgrounder should be configured like this.

    Backgrounder is actually very useful. Take a look at the screenshot below: the blue circles indicate native programs that stay in memory no matter what. So if you use the iPod app, and stop listening to music, it will stay in memory. Checking your mail will leave the application in memory. Using Safari and not going back to a blank page (as in, you leave whatever page you visited open) will leave Safari in memory. Backgrounder will allow you to disable them from running, keeping you from running out of precious resources.

    The black circle is an application I am running, even though it's not meant to run after you quit out of it. Can be handy if you want to run an instant messenger program and use your phone for something else. Yes, it's silly to have to do all this micro-management, but you want your 3G faster or not?

    So many apps... so little processing power.
  4. Disable Spotlight. Go to Settings, General, Home Button, Spotlight Search and switch off all that in there like in the screenshot shown before. Like I said, this seems to do very little, but every little bit works. If just by disabling the background image makes things less sluggish, this can only add to improving things.
  5. Install OpenSSH via Cydia. This will allow you to SSH into the phone, login as root, and alter key files. You can find your IP by going to Settings, Wi-Fi, selecting the wireless connection you're latched on, pressing the blue arrow, and finding your IP address. You then would SSH to that IP number. Since I use Ubuntu, I can simply explore the iPhone as if it was a regular file system. If you're using Windows or OSX, you will need to use the respective SFTP program for your operating system.
  6. Overclock your phone. The full instructions are here. But in a nutshell, you edit your fstab file, located in Private/etc (don't forget to make a backup) and change it to looking like this:

    sualpine (or whatever your iPhone password happens to be)sysctl -w hw.cpufrequency_max=550000000sysctl -w hw.cpufrequency=550000000sysctl -w hw.cpufrequency_min=450000000/dev/disk0s1 / hfs rw 0 1/dev/disk0s2 /private/var hfs rw 0 2 

    Does this work? The battery does drain quicker but... it's still debatable. I find it hard to believe that it does, but reports seem ambivalent about it. On my own personal experience, unless I am suffering from some kind of placebo effect, it does seem just slightly better. But not by much since I didn't crank it out to its full 600Mhz. You can crank it to full speed by renaming om.apple.SystemPowerProfileDefault.plist to something else. Overclocking your phone can make it overheat and potentially explode. Be careful.

  7. Improve your Virtual Memory by installing this .plist file. Full instructions are here. There's lots to read -- and you should probably read it. But for the lazy: the author warns that too much read and write can destroy your iPhone's flash memory, with an estimated "time of death" averaging between yesterday and 5 years from now. By using the .plist file versus the Chinese file, reportedly performance boosts have been reported.

    To install, you download the .plist file, ssh into your phone, place the .plist in /System/Library/LaunchDaemons/ and then reboot.

  8. Disable "auto-join networks". I travel between home, office or friends' houses and those are the only wireless connections I am using. I do not need the device to constantly offer me to connect anytime I open up iMail. This has helped a little. Disabling WiFi access completely, improves things drastically.

    In fact, it's clearly an issue with obtaining reception with a 3G tower or Wifi that slows the phone down to a crawl. I have no idea why this is the case -- software leaking like a faucet into the limited RAM is my guess -- but just disabling Wifi improves performance significantly when the phone wakes up. Putting the phone on Airplane mode makes it pretty fast -- defeating the point of owning a phone in the first place.

Conclusive Performance

It's better -- but not like what it used to be. Is doing all that, risking to damage your phone, potentially making your battery drain significantly faster and voiding the warranty worth it to give the phone only a slightly better boost in performance? It's your call. It was worth it to me. Or maybe it's the fact that I am obsessive-compulsive when it comes to tinkering with electronics.

And while the phone is still sluggish, there is still a delay when trying to unlock the phone and it's definitely nowhere near the speed it used to be, it is comparatively better than it was before I did any of the above. At the very least, it's a little more usable and will allow me to hang on to it until I can ditch it for something better. If you try this, let me know how it pans out. Good luck.



You may also be interested in:

Apple's Siri Does Not Understand Scottish
In Japan, Cellphones Have Become Too Complex to Use
Apple TouchID Security Broken by Chaos Computer Club
What a Mobile Phone for Blind People Could Look Like
Matt Haughey On How to Travel the World with an Unlocked Verizon iPhone 4S