Android for People Who Hate Phones

Mobile Platforms
Location: E145/146
Presentation: external link
Average rating: ****.
(4.05, 21 ratings)

Attendee prerequisites for this tutorial are listed below.

A light-hearted, content-rich introduction to the world of Android development and design for existing object-oriented programmers (Java experience not necessary). In Android for people who hate phones you’ll learn what it takes to build amazing experiences for Google’s Android platform. This tutorial will also include a primer on interaction design for engineers — on mobile, an amazing UI is no longer the domain of hipsters (beards are now welcome).

To geeks, the idea of a telephone often elicits screams of terror — with the emergence of the modern smartphone, and particularly the relatively open Android platform from Google, no longer can we hide in the shadows from this new-fangled ‘telephone’ technology. With the opportunity to carry a computer in our pocket, we can have all the comforts of home from an SSH terminal to a remote X session, to a fancy modern Twitter client.

This session shows you that Android doesn’t have to be a phone — existing programmers of almost any language will learn the ins and outs, philosophies and ideologies, loopholes and drawbacks and quirks (and there are many) of the Android platform. Attendees will come away confident with the skills to build an application for Android that makes a phone no longer a phone. You’ll build apps. You’ll rock the world.

Topics covered will include:

  • Why, as a programmer, you need to understand interaction design when building for mobile
  • The core features, capabilities and limitations of the Java Android SDK
  • Java, and why it doesn’t suck on Android
  • Resource constraints, and how to remember that they exist on a TINY FREAKIN’ COMPUTER


If you want to do the tutorial work in your usual working environment,
you’ll need to follow the following steps before you attend the
tutorial — time is tight, and we don’t have enough time to wait for
people to download SDK components!

1) Install the SDK

You’ll need to follow the Android Developer Guide’s instructions for
installing the SDK. Versions for x86 Linux, Mac OS X and Windows can
be found at:

For Unixy people, I suggest installing under /opt or $HOME/opt

2) Install Eclipse

We’ll be using the Eclipse IDE for our demos during the tutorial. You
can use other code editors, but Eclipse contains the only way to
visually assemble user interfaces in Android.

For Windows and Mac users, you can download Eclipse (the “Classic”
version) from

3) Install the Android Development Tools for Eclipse

The instructions for doing so can be found at

4) Install an Android Platform

Our code is tested against Android version 2.3 (“SDK Platform 2.3.3,
API 10, revision 1”), so you will need to install that platform at
least. Instructions for this can be found at

5) Download libtwoscon.jar

This can be found at

6) Bring pens and paper!

QUESTIONS for the speaker?: Use the “Leave a Comment or Question” section at the bottom to address them.

Photo of Paris Buttfield-Addison

Paris Buttfield-Addison

Secret Lab Pty. Ltd.

Paris is co-founder of Secret Lab Pty. Ltd., leading production and design efforts in the mobile game and app development space. A frequent speaker at conferences, workshops and training sessions, Paris enjoys discussing engineering, product development, design and other facets of the mobile and game development worlds. Recent conferences include Apple Australia’s /dev/world/2011 in Melbourne (and 2008, 2009 and 2010), a keynote at CreateWorld Brisbane 2010 (and a speaker in 2009 and 2011), IxDA’s Interaction 11 in Boulder (March 2011), XMediaLab Location-Based Services in Malmo, Sweden (January 2011), a tutorial and a session at OSCON 2011 and many others.

Paris is the co-author of the books ‘iPhone and iPad Game Development For Dummies’ and ‘Unity Mobile Game Development For Dummies’. The books cover game development on mobile platforms such as the iPhone, iPod Touch, iPad and Android devices in languages/frameworks such as Objective-C, CocoaTouch, Open GL ES, Unity, C# and JavaScript. They also cover game design techniques, principles and patterns.

Paris founded and led ithinkitworks P/L from 2001 to 2008, spearheading product development and design efforts on a variety of platforms including desktop Linux, Windows, Mac OS, Palm OS, Windows Mobile/Pocket PC and others.

Paris is also a highly experienced software developer, product and project manager. Key experiences include Objective-C/Cocoa on the Macintosh and iPhone/iPod Touch and iPad platforms, Java on Blackberry and Google Android and C# on Windows Mobile. Open GL ES and Unity are also favourites.

Paris recently spent 2 years leading Meebo Inc.‘s mobile strategy; Meebo is one of the world’s fastest growing consumer internet companies and is based in Mountain View, CA. Paris is currently working on his next book, this time with O’Reilly (Learning Cocoa with Objective-C Third Edition), whilst working towards the completion of his PhD in Human-Computer Interaction.

Photo of Christopher Neugebauer

Christopher Neugebauer

AlphaSights | Python Software Foundation

Christopher Neugebauer is a senior software engineer at AlphaSights, where he uses Kotlin to build communications tools that put clients around the world in touch with knowledge they need; a director of the Python Software Foundation; and co-organizer of the acclaimed North Bay Python conference, a boutique one-track conference run in a live music venue in Petaluma, California. He’s an an Australian developer, speaker, and serial community conference organizer.

Comments on this page are now closed.


Picture of Christopher Neugebauer
Christopher Neugebauer
07/26/2011 1:50pm PDT

Howdy all!

I hope you enjoyed the tutorial session today. Just to remind you, our resources are now available at

That link points at all of the resources that we linked to during the slides. We’ll also put an abridged version of the slides up there as well.

Thanks for attending,


Dennis Jane
07/26/2011 12:31pm PDT

Really awesome! Thank you so much!

Picture of Fred Willerup
Fred Willerup
07/26/2011 10:06am PDT

Significantly slow down tutorial, very few could follow along. Great content, thanks.

Mark Deason
07/26/2011 9:59am PDT

Good content. Bad coding tutorial (way too fast, minimal intervention tolerated). Several slides had a URL on them, however they flashed two quickly to copy. I would really appreciate a copy of the slide deck.

Picture of Paris Buttfield-Addison
Paris Buttfield-Addison
07/24/2011 9:06am PDT

Hi again everyone!

We’ve posted a list of prerequisites in the session description above. Please make sure that you’ve covered all of them before attending!

Thanks, and we look forward to seeing you on Tuesday. Don’t hesitate to contact me via email ( if you need help or have any questions!

Cheers! Paris

Picture of Paris Buttfield-Addison
Paris Buttfield-Addison
07/01/2011 9:16am PDT

This session will be a good mix of UX and product design for Android, followed by an intro to development and the development environment. Participants should have programming experience in any environment/language, but it doesn’t need to be in-depth.

During the workshop, we’ll be designing a UI, building a UI and then coding a simple app. We’ll run you through the different tools that make up the Android development environment, but we won’t be spending time telling you how to install them.

Please don’t hesitate to email me ( or post in this area if you have questions!

We’re looking forward to seeing you in Portland, Paris