Back in February 2011, I noticed that the internal clock in my iPad 1 with iOS 4.2.1 was drifting quite a bit, off by many minutes from when I bought it, and I reported on the problem . It appeared that, to save battery power, iOS was not firing up a radio subsystem and periodically checking the accuracy of the internal clock, something our Macs and PCs do routinely. I wrote about how to work around that problem with an app that does connect to a NTP (Network Time Protocol) server, called Emerald Time from Emerald Sequoia LLC.
The reason we want our iPad clocks to be accurate is that the huge popularity of the iPad has placed it in the hands of private and commercial pilots, doctors, astronomers, technicians and scientists who generally cannot afford to have a reference clock off by more than a few seconds. Previously, the Wi-Fi iPad could be off by many minutes if left uncorrected.
In April, I conducted the same test with iOS 4.3.2 and my new iPad 2. I found that the clock in the iPad 2 drifted at about the same rate and that iOS 4.3.2 was still not connecting to an NTP server. My iPad 2 drifted by about 25 seconds in 14 days. I reported on that and showed a chart of the clock drift. Here it is again for easy reference.
Fig 1. iOS 4.x clock drift on Wi-Fi iPad
I collected that data by running Emerald Time, and taking a screen shot each day to log the offset. It looks like this:
Fig 2. Emerald Time
The big white numbers are the time from an average of several polled NTP servers. This is the correct time. The small red number on the upper right is the offset of the iPad’s clock from the polled Network Time Standards such that:
Correct time = iPad time + offset
As soon as TMO started testing betas of iOS 5, we noticed that several of our Wi-Fi-only iPad’s were keeping much better time, so I again started keeping a log. Here’s the data for the time drift, in seconds, over the last seven days:
Fig 3. iOS 5 clock drift
It’s clear that instead of allowing a linear drift, as in Fig 1., there are corrections being made on day #3 and day #7. However, it wasn’t clear exactly what mechanism iOS 5 was using until TMO’s Dave Hamilton found a handy iPhone utility called AppSwitch by XCool Apps. That app allows the user to look at the iPhone’s (UNIX) console log. Searching for references to time showed this:
Fig 4. AppSwitch console log
The top entry from Oct 22, 11:50:39 clearly shows that iOS 5 is setting the system time from an NTP server. However, Fig. 3 shows that it doesn’t happen very often, perhaps every few days or so. (The next entry in the log shows that Mr. Hamilton’s system needed an update in 88 hours.)
I surmise that Apple engineers took a look at what kinds of clock drifts they typically encountered with components that were being shipped, averaged them, and decided that an NTP check every three to four days is sufficient to keep the iPad’s clock within a few seconds of a time standard.
This is great news for iPad customers who have upgraded to iOS 5, an amazing, capable mobile OS with lots of terrific new features. Keeping the iPad’s clock much more accurate is a welcome addition to iOS 5.