In The City

Another day, another app! This time it's a guide for In The City, Manchester's premier music festival (and industry conference). I'm really really pleased with the v1.1 update which went live just in time for the festival. Download it from the store now!

 

(download)

This was a full team-up effort with my mates at local web agency Cahoona who built the main festival website. Together we worked on the design (both visual and conceptual) of the application and at the back-end built an API and administrative interface so the scheduling data for the app can be updated on-the-fly by the festival organisers.

The app revolves around a grid view of the schedule with the venues on one axis, timescale on the other and the individual events (both conference and bands) occupying the spaces in-between. There's a "Faves" list for building a personal schedule and a really rather nifty "Buzz Chart" which uses a number of data sources (ahem Twitter) to work out what the coolest bands and panels are. I'm really looking forward to see how the latter changes during the festival!

The crowning glory is that it has streaming audio courtesy of Soundcloud. The majority of the bands have a track associated with them which plays (even over edge) like a dream. Streaming is something I've not seen before in festival apps and is such a no-brainer. I've spent quite a bit of time wandering down the street just listening through the tunes and making up my mind as to what to see. That being the whole point!

This is the first in the line of Festometer offerings: Bestival, Glasto, FutureEverything, ATP... you know who to call!

While I've not got Murdoch's promotion budget this time we've also done pretty well on media coverage; we've got massive posters for the app up around town, A4 flyers for it in the windows of many of the venues and we've hit a number of news outlets including How Do, Manchester Confidential and rather satisfyingly The Independent.

9j8l

A few shout-outs and thank-yous while we are here:

The data modelling was based on conversations with and mashup efforts by Chris Gutteridge from the University of Southampton. While our back-end is built on rest/json/django/mysql rather than a happy sem-web world of triple-stores it certainly owes a lot to those efforts.

The general idea for the grid view was blatantly thieved from the excellent Roskilde festival app - which in turn was introduced to me on an excellent night out in Barcelona with Annette Pedersen and Joyce Seitzinger.

The Soundcloud streaming relies on Ullrich Schäfer's cocoa-soundcloud-streaming library (under Apache Licence) which (while they claim it to be basic) is a damn fine piece of work.

Next time:

With limited time and a limited budget there were a few things that didn't make the cut. The next iteration (for whoever wants it first) will definitely include maps, an absolutely killer "you are now watching" feature and erm, search :)

Look what I've been making: The Times iPad app

I've been working on a contract at News International for the last two months - specifically on the Times iPad application. It launched last Friday and I was rather delighted to see this at Liverpool Lime Street station on the Saturday morning:

(download)

I've got another month to run on the contract - but meanwhile if you have an iPad and a tenner to spare give it a spin...

I'd love to write a much more lengthy set of thoughts about it - both in terms of the tech and the overall strategy of NI... But for the time being I'll try and keep my comments reasonably pithy.

Some of my favourite things about it:

  • The swooshy effect when you navigate to a distant page (not one of mine but it's great)
  • The clock on the leaders page, which (while they made it a bit too small) tells the real time
  • The image/slideshow/video handling stuff (which I spent way too long working on)
  • The text rendering and layout on the article pages - which while there is room for improvement is really quite pleasant to read

And (if I'm allowed just one) the thing I really don't like about it is the way it takes forever to download an edition over 3G. This sadly isn't something I can do much about from where I'm sitting - but I'd hope it gets sorted in the long run.

Oh yes and as someone who got access to an iPad much earlier than most, yes, they are lovely though I do still feel like I'm being eyed up somewhat when using it in public. I've been playing Enviro Bear 2010 on it rather a lot and even though it's an iPhone game scaled up it's utterly awesome. Watch out for badgers.

Augmented Reality Adventures

Some months back - in fact when I first went solo with Spotlight Kid I was asked to produce a prototype Augmented Reality application on the iPhone. The concept was show a number of local landmarks around Manchester atop of the iPhone camera feed, visualised to be in their real position relative to the user.
Implementation-wise it was a bit of a challenge to say the least - but not beyond the wit of man!

Camera overlays
At this stage the iPhone 3.0 SDK didn't support overlays on top of the camera feed. The 3.1 beta I had at the time would allow it but I couldn't distribute 3.1 based betas to my clients so had to find another workaround. What I did at this stage was to screw around with the view hierarchy (iPhone GUIs are constructed of a stack of views layered one atop the other) and call the camera up from a view controller which I had strategically placed behind the one controlling the OpenGL overlay.
How you do it now is far more simple. You just set the overlay property on the UIImagePicker to the appropriate UIView that is displaying the annotations. And it happens.

Trigonometry in the 4th dimension
The 3d visualisation I came up with was to take the positions of the various annotations (using the same delegate protocol from the MapKit) and render them within a cylindrical volume. Nearby objects appear close to the centre and lower down so as not to occlude distant objects. This seems quite effective - and while there are certainly improvements that can be made it's quite natural feeling and to my mind looks better than the efforts of some of the other AR browsers.
A challenge that tripped me up (and one which experienced OpenGL-ers will know all about) was getting the camera view to rotate around more than one axis without screwing up. To be honest I'm still working my way through the 4d maths to do this and will post up more details when I've got it properly cracked.

Markers and live data
Another thing that appears rather painful is getting the raw camera data out of the phone. Enabling other AR techniques such as tracking markers seems impossible at present without resorting to "unacceptable" hacks of private frameworks. However as Apple has chosen to allow several live-video-streaming apps into the store of late I'm suspecting that this may be slightly less of a road-block. Meanwhile I'm hacking.

The future
There are a number of proprietary AR offerings out there - and derivatives of the AR Toolkit project ported to iPhone. My view however is that standalone browser platforms such as Layar don't cut it in terms of utility and that a freely integratable framework to be used across many apps is the only way that this will really take off. So I'm going to look seriously at open-sourcing my work - and/or contributing to existing projects in this vein over coming months. Again... watch this space!

Click here to download:
ar-talk.pdf (2.46 MB)
(download)

Guerillas in the mist

The week before last I did a bit of teaching - for the first time in a while... and really enjoyed it. Under the monica of Guerilla Training in collaboration with Stuart Smith, Rob Hayward and the guys and girls from Manchester's nascent Madlab, I led a 3 day course on iPhone software development aimed at people with previous programming experience (on other platforms).


Image courtesy of Matthew Couper

So what did we do?

This being a first offering I started with a plan... and then ditched half of it! The first day was more or less as intended, an overview of the Objective-C syntax, a few of the essential Cocoa classes and then straight into building a few basic bits and bobs, hello world through to a noddy address-book type app to demonstrate linking up UI components made in the interface builder with running code. They got stuck in and engaged while I ran around like a lunatic nursemaiding their *s and @s into the right places. And for the most part their stuff seemed to work. On the initial inputs we realised that some side-by-side comparisons of how (for example) Java does it vs how Obj-C does it would have been helpful, so there is definitely a little something to build in for next time.

On day 2 the wheels came off a little - in the morning I was trying to cover using the Google Maps UI components and XML parsing libraries - however the internet (which would have been helpful for such an exercise) kindly decided to become almost totally broken. The Madlab being very very new had still not managed to get BT to finish installing their own line and despite mammoth efforts to get a pipe into the building on the part of others (down to running cables out of the window into the next building) we still appeared to be stuck with an upstream problem. The afternoon, which I had originally envisioned as a more open-ended "try building something of your own devising" session really became a bit flabby as a result, with people being unable to get the help they needed online and myself being spread rather thin. However it was a good lesson for me - firstly not to rely on flaky internet connections and secondly not to open things up so much (next time I'd save this till the very end of the course) and keep plugging away with bite-size chunks of Cocoa stuff.

So lessons learned, day 3 was more in this vein, covering CoreLocation, the accelerometer, camera input and getting multi-touch data from views. More running around for me and some intelligent solutions to issues (from the participants) that I'd not anticipated such as how to figure out which finger is which when interpreting multi-touch stuff (something I'd not tackled myself) made for a nice stimulating day. We also had a good chat about the App Store processes and the do's and dont's of getting approval. In the end we packed up our kit and bobbed round the corner to Trof for nibbles and beers and general feelings of self-satisfaction.

And into the future

An important factor in supporting the guys (oh yes, next time it would be wonderful to have a gender balance!) has been putting in place both a closed-ish online community (we started on elgg and then moved to ning) for the participants to continue their learning and also to encourage them to engage with the established iPhone/Mac developer community group, NSManchester. I'm hoping that these both see some action from the participants over the coming months.

Helping the competition or creating capacity?

As what I basically do as Spotlight Kid is developing apps in my own right and building them for other people as a contractor it could be argued that giving other freelancers and agencies a leg-up is contrary to my own vested interests! However I'm thinking it's not so simple. There are not an awful lot of folks around Manchester playing this particular game and frankly I've got enough on the cards for the next month or two. In this regard what I really want is to develop the ecology and reputation of Manchester as the kind of place where people do this stuff and hopefully do it well, bringing in more interest and investment both around the city and from the outside world. It all makes perfect sense to me and hopefully to my punters too. Suffice to say I feel very proud of them all!


Image courtesy of Matthew Couper

Visit Manchester - Autumn Campaign

In partnership with Manchester web agency Cahoona, I created a Google Maps mashup for the Visit Manchester Autumn campaign. The data is taken from a mySQL database held by Cahoona, delivered to client machines over JSONp.

It uses custom overlays within the Google Maps v2 api to produce the customised popout annotations - something which took quite a bit of head-scratching as the documentation and online examples for doing this are pretty scant at the moment.

Visit Manchester Map

See it in action

The big issue (apart from the usual delights of Javascript) was that we ended up doing the geocoding of UK Postcodes for the venues at the client-end using calls to Google Local. Google Maps' official geocoder component produces wildly inaccurate results and of course getting the official Royal Mail dataset is notoriously expensive, so this workaround was a great find.

Interestingly enough there has been much debate recently on the Royal Mail's stance on access to the postcode database as well as a leak of much of the current dataset - hopefully the outcome of all this will be that one day Royal Mail will open things up rather than leaving us all scraping around for alternative methods.

There are a number of things in the implementation that could be perhaps a little more efficient or subject to a fraction of extra tarting up, such as making the popouts animate would have been a nice thing to get in there, but in the time we had to implement it I think we did quite well.

Crain's Article

Entrepreneur’s new gig is focusing on iPhone applications

Spotlight Kid has just released its first piece of software

By Richard Morris - first published in Crain's Manchester Business

For five years Sam Easterby-Smith worked at the University of Bolton’s Institute of Educational Cybernetics research department, helping to develop new ways of learning through IT and communications technologies. Now he’s decided to go it alone and start his own business developing iPhone applications.

Easterby-Smith set up Manchester-based Spotlight Kid Ltd in May and last month released his first piece of software called Gigometer. Originally designed for Apple Macs, the application takes data from a music website and lets users know what concerts are taking place in towns and cities across the world.

He said: “It builds on work I had already been doing in my spare time, such as the Mac dashboard version of the same thing. In Manchester’s case you’ll see everything from major acts playing at the Academy or the MEN Arena right down to gigs at venues you’ve never heard of. If you don’t know how to get there, Google Maps integration will show you exactly where to go.”

Easterby-Smith has spent around £4,000 setting up his business and currently works from home and the city centre offices of digital agency Cahoona. He admits trying to make a living from direct sales of his applications through Apple’s online store will be tough.

He said: “My download rate has been between five and 10 a day. The app costs £1.79 and 30 per cent of that goes to Apple. I’m not sure it is possible to make an awful lot out of direct sales from Apple unless you get very lucky, but if you do have a very successful application then yes you can.”

Until Easterby-Smith strikes gold in the Apple download store, he is working as a freelance application developer for Manchester-based agencies including Cahoona and Flame Digital. For digital agencies however, the possibility of making money out of applications for the iPhone is certainly achievable. Another, Manchester-based Tecmark began looking at iPhone application development this year. 

Kevin Jones, a director at Tecmark, said: “It is something we are getting a lot of enquiries about at the moment. We only really started doing it this year and we have got a couple of projects ongoing at the moment.

“The latest one is a golf related application for a company based near London. From the development side of things there is certainly good money to be made. For most companies it’s going to run into quite a few thousand pounds to get an application developed.”

Along with making applications for clients, last week Tecmark agreed to start collaborating with students from Trafford College. Between November and Christmas a group of 16 year-olds will be visited by developers from Tecmark who will explain about the iPhone and give them pointers on what an application is capable of. They will then be handed a brief from one of the firm’s clients and tasked with creating a concept for a programme.

Stuart Drummond, a lecturer in creative technology at Trafford College, said: “From my point of view it’s what I’m all about. I have been developing links with a few agencies in Manchester like Love Creative and The Neighbourhood who are both doing projects with me this year. I think it is invaluable for the students.”