Last updated: 25th July 2016

Key Skills & Achievements

Over 4 years experience of writing Android applications from the ‘ground up’, with a passion for good interface design.

  • Wide experience of Android technologies including: concurrency, fragments, tablet UIs, custom Views and integration with external services.
  • Top 25 Winner of Mobile Apps Showdown at CES 2011.
  • Developed Friendcaster for Facebook, the most popular third-party Facebook client for Android. Previously ranked in the top 100 on Google Play, having had over 6.5 million user installs to date.
  • Keen advocate of open-source libraries, whether that means writing my own or contributing to others.
  • Keen advocate of the Android platform, writing blog posts on my site and posts on social networks.


Aston University Sept 2006 – June 2010
Computing Science BSc (Hons) 1st Class



Friendcaster for Facebook

An Android application created through the personal need for Facebook Notifications on my Android device. Handmark acquired the App in June 2011.


An app designed to mimic Facebook Camera for iOS, on Android. Its features include: batch uploading, photo filters, friend tagging, cropping and more. Now open-sourced on GitHub.


An Android application created as part of my Final Year University project. It’s main aim was to help users compare item prices while out shopping, utilising their phone’s barcode scanner and location sensor. A RESTful JEE Web Service was created alongside the client.

Open Source Projects (all hosted on GitHub: @chrisbanes)


An Android library designed to implement the Pull-to-Refresh gesture on Android. It is open source and available on Github for anyone to use. Currently used in many popular Android applications, including Foursquare and Flickr.


A new implementation of the pull-to-refresh interaction for Android. This time mimicking the Gmail ‘swipe-to-refresh’ pattern. It’s still in early development but the feedback from developers has been very good.


A reusable implementation of ImageView that supports zooming, via double-tap and multi-touch gestures.


An Android library designed to optimise and seamlessly handle the caching of Bitmaps, both in memory and to ‘disk’.


Google Developer Programs Engineer (January 2013 - Now)

Working as part of the Android Developer Relations team where I have working on various projects, including the Action Bar compatibility library: ActionBarCompat, the Android Device Manager application, and various UI samples.. I also participate in developer outreach, such as writing technical blog posts, new technical documentation and attending conferences.

Omnifone Contract Android Developer (June 2012 – August 2012)

Part of a small team working on’s Android app. Rara is a subscription music streaming app, my role was to assist in fixing bugs, implement new features and design it’s forthcoming UI refresh, including tablet support.

Mobile Interactive Group Contract Android Developer (January 2012 – May 2012)

Part of a small team which developed Samsung’s Hope Relay application for Android. As part of my work I developed the application’s run tracking functionality, and a number of the UI sections. During my time at MIG I also worked on the car insurance app for Android.

BSkyB Contract Android Developer (September 2011 – November 2011)

  • Worked within team to develop and test Sky Go for Android
  • Developed using Agile Methods: Pair Programming and Test Driven Development utilising Robotium

OneLouder Apps Senior Android Developer (July 2011 – January 2012)

Leading development on Friendcaster for Facebook:

  • Working with the graphic designer to generate ideas and implement them
  • Releasing updates on a fortnightly basis

IBM Hursley Software Development Lab Software Engineer (August 2010 – July 2011)

Returned to IBM after University to a role similar to the role I completed in my internship. During this time I have also taken part in a number of Android projects including:

  • Generic push messaging library based on MQTT
  • Location based content delivery system.
  • Car sharing application designed to help users advertise spaces in their car or request lifts for journeys, to and from a place of work.

IBM Hursley Software Development Lab Software Engineer (June 2008 – September 2009)

A sandwich year placement as part of my University course. The day-to-day duties varied, although for the most part my primary responsibility was to analyse automated software test results. I was responsible for investigating any failures, and then either creating a fix or raising a defect. Throughout the year I was given the opportunity to work in different teams, showing my initiative to come up with new ways of completing tasks.