2009/01/24

Push e-mail on the iPhone, now free for the rest of us (jailbrake required)


One of the iPhone's nice promises -and one of the selling points for Blackberry mobiles- is push e-mail, where messages are received immediately (like with SMS) and supposedly not fetched from the server at regular intervals.

For reasons which my wireless phone provider has still not been able to explain only Apple can possibly know, the promise of Yahoo push e-mail is not being delivered (I have not tried MobileMe or Exchange).

But actually push e-mail uses a hearbeat data stream which involves a 60-second poll, so it is more or less the same thing as polling for new messages once a minute, which is something you can do with your iPhone and any IMAP based e-mail service right now in spite of Apple and your mobile phone company.

Last week I explained how it is possible to modify a jailbreaked iPhone's configuration files to turn off web images, something which can lower your bandwidth use and save you money if you are not on an unlimited data plan.

Today's trick is the opposite, setting your phone to check for e-mail more often can increase data usage (and decrease battery life), so I suggest you don't try it unless you have unlimited or at least a large data plan.

You will need to have SSH access in order to modify the following file:

 /System/Library/PreferenceBundles/ScheduleSettings.bundle/ScheduleSettings.plist

And add something like:

<dict>
<key>cell</key>
<string>PSListItemCell</string>
<key>interval</key>
<integer>300</integer>
<key>label</key>
<string>5_MINUTES</string>
<key>set</key>
<string>setPollInterval:specifier:</string>
</dict>

Although optional, you might also wish to modify this other file:

/System/Library/PreferenceBundles/ScheduleSettings.bundle/English.lproj/ScheduleSettings.strings

And add entries like this:

 <key>5_MINUTES</key>
<string>Every 5 Minutes</string>


And that's it. No need to pay Apple for MobileMe, and no excuse for not having read an e-mail in time. You can add more entries for more intervals if you like. Enjoy.

If you are going to spread the word about this hack or build a script that uses this discovery, please do not forget to credit and link the source. Thank You.