Halfway and not a moment to lose.

August 7, 2012, 9:15 am

Wish me joy! I have passed the halfway point in my epic project to map the events of the Aubreyad, the Napoleonic Age of Sail novels by Patrick O'Brian.

In a few months I will have been mapping the books for six years and, at my current rate of sail, I will be mapping for another eleven. I am thoroughly enjoying the process and even more so when I hear from other fans of the books. If you are one such, please get in touch on my guestbook.

Right now I have completed maps of the following books:

Permalink - Comments - Tags: Patrick O'Brian

New icon for Ballet Index

July 18, 2012, 7:25 am

Pretty happy with the new icon design for Ballet Index (and Ballet Lite). Thanks to Lindz.AD and 99Designs.

Permalink - Comments - Tags: Development,iPhone,Ballet Index

How accurate is the iPhone GPS?

July 2, 2012, 12:26 pm

I have written in the past about the inaccuracy of location data provided with "Significant Change" background location updates. The solution to this problem is simply to use Significant Change as a trigger (ignoring the data it gives you), then use CLLocationManager startUpdatingLocation to get the quality location data.

So how accurate are the updates that you get from this approach?

At goCatch we track the locations of thousands of Taxis driving all over the world. The data gives us some useful insight about how to measure the proximity of passengers and drivers, hopefully you will find it useful too.

For the 650,704 location updates I used in my tests, I found the average accuracy radius was 246m. 85.1% of updates had an accuracy of less than 100m. Indeed if you eliminate the wildly inaccurate values (>1km) the average accuracy radius is only 91m.

In this last chart you can see the spread of accuracy updates over the first km. I am guessing the outlying (>1km) values are for phones with no GPS and no nearby Wifi that are relying on the cell tower triangulation (same as Significant change) to get a location.

N.B. When I say "GPS" in the title I am actually talking about all the sources of location data that the iPhone passes to the app (GPS, Wifi and Cell proximity).

Permalink - Comments - Tags: Development,iPhone

Photoshop hex RGB to a UIColor

February 2, 2012, 1:16 am

Adam (the awesome goCatch designer) and I got sick of converting from hex RGB colors to decimal UIColor initialisation params, so I wrote this script.

import sys if (len(sys.argv) != 2): print ("convert.py <hex color>") sys.exit () color = sys.argv[1] if (len (color) != 8): print ("convert.py <8 char hex color>") sys.exit () # get the two character chunks red = color[:2] green = color[2:4] blue = color[4:6] alpha = color[6:8] decRed = int (red,16) / 255.0 decGreen = int (green,16) / 255.0 decBlue = int (blue,16) / 255.0 decAlpha = int (alpha,16) / 255.0 #iOS code print ("[UIColor colorWithRed:%.4f green:%.4f blue:%.4f alpha:%.4f];" % (decRed, decGreen, decBlue, decAlpha)) #Android code print ("private static final int COLOR = 0x"+alpha+red+green+blue);

Yep it also does an Android static final int. We love Android too ;)

Permalink - Comments - Tags: Development,Android,iPhone

Thanks for the fish

January 3, 2012, 9:52 am

At the end of a nine years at Cognethos. Today, nine years at any company is a ridiculously long time. Though the company expanded and contracted over time, the core group of employees stayed the same. We worked through boom times, global financial crisis, uncertainty, wild speculation and fundamental disagreement, and somehow managed to treat each other with respect. I am proud of the work we produced and grateful for everything I learnt.

I don't need to wish this very talented group of people luck, as clearly they won't need it.

Permalink - Comments - Tags: Development,Misc