Wednesday, 25 January 2012

Nokia IMAP (idle) power and data use

I find it vaguely irritating when people who are not technical dribble on at the mouth repeating Corporate "Kool-aid" when they are neither part of the company or have the faintest idea what they are talking about (nor probably even grasp basic electrical principles).

background


I've been quite impressed with my Nokia E63 smartphone and think that Nokia have done a wonderful job of making it, as well as designing the software that drives it and operates it.

With few exceptions (I can't think of one, but there must be) I've been impressed with this tool; not only as a phone, but as a useful communications tool. Having been impressed with the E63 I became curious about the E72 which is the "hotted up - professional communicator version" and after reading much about it decided to buy it.

Well cut a long story short Nokia screwed the pooch on this one and the E72 fell into the "looks sexy" but functionality falls short. Probably because it's aimed at executives category, actual functionality takes a back seat to how sexy it looks (hands up who's working at a place with highly technically competent management).

Which is a shame really as the E72 has lots of good specs which would seem to make a compelling case for it at the lower prices that have occurred as the shoal has swum after phones with no keyboards. Stuff like:
  • a great camera
  • internal OCR for converting photographed text into text
  • very crisp screen with good colour rendition
  • nearly double the CPU speed
  • nearly 10 times the data access speed (compared to the 63)

Being a Skype user (and that's skype-in too) the last two aspects drew me in. It would be nice to have the phone on Skype using 3G to enable Finnish family and friends to call me when I'm not in WiFi (and the data rate on the E63 just wasn't quite up to good call quality when on 3G rather than WiFi. Compare in detail here).

Quickly after owning the E72 some things stood out. Like its ability to function as an E series communicator should ... stuff like email.

Now don't get me wrong, used as directed the Nokia Messaging service does work and (after some bugs have been ironed out over time) seems quite reliable. It allows you to keep your phone checking email without intervention just as it works with SMS.

For the technically inept it may seem confusing that email drops off when events happen (like you take a subway somewhere) or you travel to where there is no phone coverage. Technically aware people will understand this and know that they need to reconnect their email.

Email is not the same as SMS. However Nokia Messaging does a nice job of making Email rather like SMS.

Its just that if you're used to email and security issues then you naturally feel a little iffy about handing over your credentials to an other agency. This has in fact in the past been frowned upon by many providers. It may in fact leave you liable for fraud or illegal activity done using your account.

So naturally its a bit of a stretch for Nokia to not only ask for your credentials, but to in effect give you NO OTHER CHOICE if you want email to work properly on the E72 (and on their new phones too AFAIK).

The E63 does give you a reliable and dependable IMAP connection which remains connected while allowing you to choose your connection method. With the E63 you can pick either:
  • 3G
  • WiFi
to connect your phone and check mail. Heck you can connect your E63 and remain checking mail all day. But not on the E72 communicator (or incommunicator).

the icing fell off the cake


The first thing which stood out to me on the screwed the pooch failure factor of the E72 was that my IMAP connection to my Gmail just kept dropping out. In fact it dropped out every 5 minutes.

WTF

Some research identified this was a well known problem among anyone who has a clue about what IMAP means and why you would be keen on using its IMAP idle feature (amazing what you can find after you buy something when looking for its faults but can't find before buying it eh?). IMAP idle is stonkngly efficient on both network bandwidth (and who doesn't want their data consumption to be less) and CPU activity (read battery life).

So back to the issue of corporate Koolaid sucking numbbits the "Nokia" excuse for this stupid drop of the IMAP feature is (according to Davis Fields, a Nokia product manager at Nokia messaging) is to because having IMAP always on would "significantly impact on battery life" as well as "consume more data".

Davis probably has a marketing degree, and just swallows whatever technical bollox he's told.

As it happens there are some excellent tools available for Symbian OS and Symbian applications development. One such tool is Energy Profiler; which is designed to sample and report on battery use (among other things) to enable developers to develop efficient software. I've not seen anything like that for Android or iPhone, but then efficient is not one of their criteria.

So with that in mind I set my little experiment to see what happens with IMAP off and then IMAP on. Below is a chart I made in EXCEL using the CSV data that Energy Profiler produces, you can see 3 'zones' here.

  • The Blue zone where I ran with IMAP off
  • The black zone where I started up Nokia mail and connected to my Gmail (soon after I started I got an email, so I included that in the black zone)
  • the Green zone where it ran with IMAP idle in the background.



the power use sure looks even at this sort of charting doesn't it ...

Well as it happens Energy Profiler gives both instant readouts as below.


or averages over a range. The image below is the average taken over the first 5.06 minutes of the test.


its 0.05W, which represents what amount of power is consumed by the phone while its screen is powered down and its just sitting around waiting for calls.

Now, powering on the IMAP client and letting it sit around 'waiting for email' via the very same 3G connection the phone is using, we see this.


Yep, also 0.05W

Ok, so this then means that its nearly the same. I have also done the same thing with my E72 and found the same thing.

The next question is, what happens if you run it over a longer time?

Well I'm glad you asked.

First I ran it for an hour with one IMAP connection to see what the consumption was. It turns out that over the longer period that the consumption is higher, it increases from 0.05W to 0.09W.


ok ... that's beginning to get interesting.

This is still trivial and base line power consumptions, but it has demonstrated a lift in the power requirements ... just like Nokia claimed. Then next I ran it for nearly an hour with 2 IMAP accounts connected to see if that made any changes in the baseline power requirements.

You can see below that the two accounts (started one after the other) resulted in two handshaking events with the IMAP server.


That one is shorter in duration than the other is interesting, I wonder if this is because each server has different responce times (due to say load) or that (because they are located in different geographical locations) that there was greater delays involved. Interestingly these handshaking events occured at about 5 minute intervals (or close to the expiry time that I have read that the SSL socket is set for).

Anyway the result of running these two IMAP connections over 35minute was a consumption of 0.09W as well. So it would seem that the additional server interaction created by doubling the connection quantity (from one to two) has not had a similar effect on the power demands (NB it has not doubled it).

Why might this be so?

One reason may be that the average is already so low with so many readings at IDLE using 0.05W and a few less than 1 second durations of handshaking consuming about 1.0W that it essentially makes no difference to the average over an hour.

It would mean that sending and SMS or talking on the phone for a few minutes would suck up that difference. For example, at the end of the last run I made a call for about 45 seconds. You can see that the power consumption during the call was about 1.3W


Dropping to about 1.2W when the handset screen darkens off.

This single short call lifted the average power consumption (over an hour) from 90mW to 120mW. Clearly actually using your phone as a phone even for a short time makes a more significant drain on the battery than leaving it on checking your mail all day.

So if you leave your IMAP connected for 8 hours and it communicates for half a second every 5 minutes. That's consuming about 0.8 minutes of call power (well, less really) over the entire working day. No wonder I don't see much difference on leaving IMAP on all day.

Even with 2 IMAP connections running.

Given that I make about 40min of calls a day (often longer) adding another 0.8 minutes worth of calls can hardly make a blink of difference to my battery life. Not to mention that my battery usually lasts me 2 ~ 3 days between charges as it is.


Data you say?

Glad you asked. Nokia (unlike Android) has a connection manager, which keeps your data connection alive for you. Data is often billed by connection and by either MB or KB. Android and iPhone just request the data and move on, but Nokia doesn't it keeps that connection alive. This is the data use for one of my experiments.



That little set of handshakes for nearly an hour resulted in a total of 13Kb (Tx+Rx). So even with MB billing (which my phone provider uses) this hours worth of connection cost me just 1MB of data and bugger all extra power usage.

So with data like this its really hard to see what the hell they're talking about in there at Nokia.
Being one to prefer backing up stuff with facts I thought I'd put this here for:
  1. any poor bastard trying to make sence of the arguments on the Nokia fora about this
  2. any person who has another agenda.
Agenda? What agenda? Well Nokia really really want you to sign over your usernames and passwords into Nokia Messaging so that it can do this background IMAP idle for you. Seems that they have some non RFC version of the IMAP idle protocol which will (after you give them your username and passwords) will do what the bloody phone should do out of the box.

bottom line


I really (really) wanted to like the E72, I mean it has a great camera, slick look, full qwerty keyboard, 600Mhz CPU and fast 3G connection (as well as WiFi). However the lack of actual functionality and crippled operation (compared to the E63) left me wondering what the hell happens in there at Espoo?

Never let a committee develop phones.
So if anyone has any data which they wish to submit to this discussion to identify how the Nokia case is actually upheld, please make a comment.

Looking forward to it :-)

PS: the E63's "screen saver" is a great clock. You can read it anywhere there is light enough to read and the digits are big. You can give it a quick glance and immediately see the time. Its like having a fob watch in your pocket.

The E72 however while it has the same sized screen uses a font that is so small that I just can't see it without close inspection.

If the devil can be said to be in the details there are lots of "details" on which the Nokia E72 f%$ked up on.

1 comment:

Anonymous said...

Agree absolutely with you. Nokia did a very bad job when removing native IMAP IDLE. My E51 supported it flawless while the newer "e-mail machine" E75 does not. Nevertheless, the datasheet states IMAP IDLE.
Nokia is forcing us to change the supplier. Google, Apple, Samsung, you name it.