In fact, this is the first time I didn’t stay up all night, in a 15-hour non-stop coding splurge writing a massive, over-ambitious beast of a mobile app. I must be getting old… this time I wrote a couple of quick hacks, each of which under a couple of hundred lines long, and had eight hours sleep instead. Much more civilised.
This is what I managed to come up with:
hack 1: a crap husband helper
Sometimes I stop at the shop on the way home from work because I want something. Invariably, I don’t think to check with Amy if we need anything. I get home with a shopping bag, and get something along the lines of “Why didn’t you tell me you were going to the shops? We need nappies.” At which point, I feel like I should dutifully volunteer to go back out to the shop.
Going to a talk on the BlueVia API gave me an idea.
I wrote a bit of Python to run on my home server, that will keep an eye on where my phone is using the BlueVia Location API.
If I go near the shops, it will send a message to my wife using the BlueVia Send SMS API, to say “I’m near <insert shop name here>, do you need me to get you anything?”.
90 lines of Python is all it takes to make me look like a thoughtful and considerate husband. Huzzah.
The API is a polling one, so I try to poll sensibly – deciding when to poll based on how far I am from the shops, and how fast I can possibly travel. For example, if I’m over 70 miles from the shops, there is no point polling again within an hour, as I couldn’t get there quicker without going consistently faster than 70 mph.
And it is completely cross-platform – the BlueVia script runs on my server and is getting my location direct from my network operator, O2. Nothing is running on my phone, so it doesn’t matter what type of phone I have. And it sends SMS, which can be received by any phone.
(Okay, so this is pretty stupid. If you want to see a proper use of the Location API, check out locateupdate.co.uk, which keeps Google Latitude up to date using location information from the network operator, and without needing to constantly run Google Maps on your phone, or even have an Android phone.)
hack 2: a day in the life
My other hack was a Windows Phone 7 app. My first attempt at WP7 development! I even had to download the WP7 developer tools today… in fact, that was probably the trickiest part of the hack, given the wifi difficulties* at the event.
For one day, every hour it will ask you to take a photo to capture the moment – to get a photo of what you are doing.
(And it uses a live tile on the home screen to remind you if you still haven’t taken your photo this hour.)
It gives you a scrolling picture gallery to show a day in your life.
But in 10 years time, how awesome will it be to look back and see a typical day in photos… with all of the everyday stuff that’s so usual that you never bother to keep a photo of it?
For example, I picked up a bunch of Android development tips from Nick and Richard. And I learnt about a project to build a structured, linked data catalogue of the contents of multiple UK archives, including the BBC’s, from Mo.
Plus I got to go on a guided tour of Bletchley Park and learn about the history behind machines like Enigma and Colossus.
Plus I got a load of cool stickers, T-shirts and mugs.
Even Grace is now WP7-branded. What’s not to like?
* I’m not moaning about the wifi. Providing wifi for a very large number of people in an unfamiliar location (each of whom had several WiFi-enabled devices with them) is not trivial.