I found an interesting feature/bug in Android this morning regarding the time settings although, as I found out, it is not a new discovery. I had been in Didsbury for the BBC Daily Service as I do approximately once every four months with my choir, the Manchester Chorale. As it is a live broadcast, we have to turn off all phones and suchlike (setting to 'silent' is not enough as a network connection can still interfere with the broadcast) and I decided to go one step further and remove the battery. I did this because I am the sort of paranoid person who will continually check a phone to make sure it is really turned off but the only way to do that with my phone is to press the 'on' button.
After we finished I plugged the battery back in and turned on to find that that time was 00:00 on 6th January 1980. This didn't concern me a great deal as I knew that the phone would get the time updated when the network had woken up fully and, being almost exactly 31 years, 9 months, 4 days and 10 hours slow, I could still use it to approximate the correct time.
By about quarter-past midnight on that Sunday back in 1980 I was starting to get concerned that the time would not click back into place as quickly as I had hoped so I started to search t'Interwebs and I came across this forum post that made me realise that this is not a new problem and, what was more, no one had apparently come up with a sure-fire way of fixing it. At half-past midnight, at the age of nearly six years old, I thought I would try experimenting to see if I could kick my phone back into the present so I turned on GPS and used a useful app called GPS Essentials to monitor how it was getting on.
For those who don't know, GPS works by putting your distance from a number of satellites into a set of simultaneous equations where the unknown values represent your position. As we live in three dimensional space you might be forgiven for thinking that you need three satellites and three equations to find your position but in fact there is a fourth unknown, time, that also needs to be calculated. This is because the distance between you and the satellite is found using the time it took the signal to reach you and unless the clock on your GPS receiver happens to be an atomic clock and set to exactly the same time as all the satellites, it just isn't accurate enough. As a result, a rather useful by-product of GPS is the correct time. Obviously, my smart-phone will be smart enough to use this to correct itself, right?
Not only did my phone not take the correct time from the GPS fix, it clearly assumed that it had made a mistake and refused to get a fix. I watched as up to 8 satellites were found but none was used. GPS Essentials even briefly displayed the correct time but clearly thought that that was so ridiculously wrong that it discarded it.
So I was left wondering, as my phone has GPS installed, and it can calculate the correct time as accurately as any time server that my carrier can provide (and Android can fail to pick up), why is there no option in the settings to use this?
As an interesting aside, it appears that the first GPS satellite was launched on my 4th birthday. That's nice of them.