When an App is a victim of it’s own success

Firstly Windsock has been in the store for nearly three long years and was originally developed to work on iOS 5 which is an incredibly long time for an app! I worked hard building it so that I could save time finding the best location to fly my model plane from after work and originally developed it for myself.

I’ve often struggled to find reliable data that updates hourly until I found the amazing Forecast.io. This is a paid-for 3rd party service used by Windsock behind the scenes to collate and compute data from over a dozen different sources to give you the most reliable data possible. I also use data from a number of other sources and these are merged and handled by Windsock’s server – the server the app talks to. However recent downtime and removal from the App Store has questioned it’s future…

Continue reading

Facebook’s London Mobile Forum 2.0

Scott Goodson of Facebook starting the discussions with developers

Scott Goodson of Facebook starting the discussions with developers in Hoxton, Shoreditch, London.

Last week I was fortunate to attend Facebook’s London Mobile Forum 2.0. This gathering of top London mobile developers and designers was a great chance to swap ideas and listen to a number of talks by Facebook, Big Nerd Ranch, Yammer, Bloom and Mozilla to name a few. The event was tiny with only 60 people in the room but it had many big players and it was great to talk to as many of them as possible, particularly at the free bar Facebook had laid on in the evening! So what mobile development secrets did we talk about? Continue reading

Advanced Weather App for RC Planes – Windsock 2.0

Windsock - an advanced weather app sitting in a bagMy app Windsock 2.0 has hit the App Store. It’s an advanced weather app for flyers of RC planes, helicopters and drones, optimised for iOS 7 with a slick new minimal design. Windsock solves that problem of having a few flying sites you like to fly at and not knowing what the weather will be just before dusk (often the best time to fly). Its main focus is on wind direction and wind speed, sunrise and sunset times – critical information for RC flyers! This app is also particularly useful in these cold wet months as it makes finding a good ‘flying window’ of weather much easier.

How accurate is it?

It’s powered by Forecast.io. An advanced weather service that delivers hourly weather forecasts. Forecast.io works by aggregating together statistically multiple sources such as local RADAR, MET office stations and data fetched from satellites for NOAA, the US NAVY, the Norwegian Meteorological Institute and the Canadian Meteorological Center. Aviation buffs will be pleased to know it also sources data from worldwide METAR observations (the same ones 747 jet airline pilots check in some form at airports). Continue reading

5 Time-saving Objective-C tips every developer should know

Batman Flat White Coffee

Here’s a quick fire list of 5 time-saving Objective-C tips that every developer should know. Perfect for making time for that extra coffee!

1. Enum shorthand

Enums at their simplest are labelled sets of integers. Where an inexperienced programmer might use a number to represent the download state of an image lets say, e.g. 0 = queued, 1 = downloading, 2 = downloaded, 3 = complete… When using these numbers in actual code a simple slip of the finger on the keyboard and they could easily type an extra digit in their if statement or assignment. These types of errors don’t usually show up when compiling. Even worse, these are usually obscure errors that only reveal themselves at run-time and only then when things don’t work as expected often requiring considerable debugging effort.

This is where enums step in. Enums are really handy and allow you to associate symbols or ‘labels’ with integers. If you type an enum value that doesn’t exist the compiler steps in and reports an error at compile-time instead and Xcode will probably suggest a fix for you if it was a typo! The other benefit of enums is that you can quickly add new values into them and assuming your code doesn’t save the integer to disk your code will automatically work with the new values.

There are a couple of different ways to define enums but the easiest way which will also provide Xcode with some extra compiling hints is as follows:

Continue reading