Android Drupal Planet Training

Training Class Recap – Building your first Android App for Drupal – SandCamp 2013

Recently, I had the opportunity to provide training on building Android apps at SandCamp in San Diego! I was excited to teach my first training class at a Drupal camp, because I like to teach, and I like Drupal. We built this app from scratch:


Why Android apps? First, Android is open source, and the developer tools run on Windows, Mac, or Linux. Second, you can run the app you create in the class on your Android phone or tablet just by plugging it in, changing a simple setting on the phone, and then clicking “Play” in the Android Developer Tools. Third, a lot of the concepts for native mobile app development with Drupal (asynchronous networking, threads, list views, JSON/REST) are shared between the Android, iPhone/iPad, BlackBerry 10, and Windows Phone platforms.

I chose to teach how to build a Android 2.x style of application for this class – it was an intro class, with no expectations of knowing anything about app development or Java. Android 4 (Ice Cream Sandwich) has many new components, including the Action Bar, and Fragments, but they don’t work out of the box on Android 2.x, which is still running about 50% of Android devices.

We covered a lot of interesting topics – including Android layouts, Java classes, methods and exceptions, Android’s AsyncTask, Drupal’s Services and REST Server, Android ListViews, parsing JSON with Android, Android’s permissions, and last, loading an image off the web into an Android app.

I haven’t given a training class for a Drupal Camp before, but I found it to be very useful to me to create a training guide for the students that basically covered everything I spoke about, with lots of screenshots of how the app should look when you add this code, code listings, and discussion. It ended up being about 80 pages for a four-hour class, so it’s about half of a decent book right now.

The biggest request at the end of the class was – where should we go from here? There aren’t a lot of specific resources for building Android apps that talk to Drupal, but I can definitely recommend the Android Design web site:

Before getting too deep into Android, it’s definitely important to understand how Google wants you to design apps. It’s definitely different from iOS app design, which is what you will usually find in when mobile design is discussed. Beyond that, I also highly recommend this book on Android development:

Android UI Fundamentals: Develop & Design by Jason Ostrander.

Google has an Android Developers web site, but I feel that it’s not well suited to beginning app development.

If you’re interested in Android or iOS mobile app development for Drupal, and you have any questions, feel free to contact me here through the Contact Form at the top.

iOS Games

Cat Game: Aquarium – now available on the App Store for the iPad

Is your cat moping around this holiday season? Is she bored of all of her little stuffed toys? Does he ignore that oh-so-awesome scratching post you bought him, even when you cover it with catnip?

Let your cat play games on your iPad! Just in time for Christmas, my newest app Cat Game:Aquarium came out on the App Store.

Inside the app, you get a never-ending-mode for cats with no levels, and no scores – just fish coming in and out of the aquarium – your cat can swat at them to make them explode into bubbles.  For kids or adults, there’s a level-based playing mode where you can compete for the top score through GameCenter.

Our cat Mango comes running when he hears the theme music for this app, and I hope your cat does too!

iPhone Development Uncategorized

Find Me Hotel Deals 1.0.3 available on the App Store!

The major feature in the 1.0.3 release is support for the iPhone 5 screen – it’s longer than the iPhone 4 screen, so I had to add a few autoresizing masks to get the content to flow properly.

The iPad version remains the same, and it will also work the same on any iPhone 3GS, 4, or 4S.

iPhone Development

Cat Game: Aquarium for iPad – Sneak Peek

Sometimes it’s fun to just work on a video game. Especially if it’s one for cats.

We downloaded and bought all of the cat apps for the iPad, and our picky feline, Mango, got bored with all of them. The game he did go nuts over – Cut the Rope! So I decided to make game for Mango, and bring in some of the Cut the Rope style game play, like swiping and “swooshes”.

Turns out, after some “beta testing” with my friend’s kids, that toddlers really like the game too. You know who didn’t like the game? Apple. The first pass at the game got sent back to me for not having levels or scores…..well, it’s an app for cats, and they don’t know anything about game scores.

Arguing with them was basically unlikely to get me anywhere, so I’ve revamped the game to have levels, scores, and GameCenter integration for a leaderboard. Of course, this adds some useless complexity for the cats, so there’s a mode where the cats can just play with no levels and no scoring.

The app is currently out in beta testing, and should be in the Apple App Store in time for the Christmas holiday season. Goes great with an iPad mini!

iPhone Development

Kimbell Art Museum 40th Anniversary iPad app

I recently teamed up with Level Ten to create an iPad app for the Kimbell Art Museum in Fort Worth, Texas. The Kimbell is one of my favorite art museums, so I’m pretty excited about this app! You’ll have to go to the museum to check out the app, because it’s installed on their iPads.

From a techie perspective, the app connects to a Drupal server and downloads all of its content locally, so it can be used in the museum in areas without wifi. Also, some of the images are very large – the focus is on art conservation, so you can see before and after images of many of the exhibit pieces.

It’s a 100% native Objective-C app, which meant that I was able to develop it very quickly.

Read more about the app on Level Ten’s Blog


Mobile App Strategies for Drupal: Presentation from Dallas Drupal Days 2012

I gave a talk on mobile application strategy for Drupal sites at Dallas Drupal Days 2012.

Usually I give technical talks, so it was definitely interesting to give a talk on business topics.

Ruby Twilio

Building an Unconference App For RailsConf with Twilio and Twitter: Guest Post at Twilio

Earlier this year, I built a little web application in Ruby to help out with RailsConf 2012 – basically a gateway between Twitter and SMS using Twilio. Twilio thought it was a pretty cool hack, and they wanted to make sure that the code didn’t just get lost in austinonrails’ GitHub account, so they asked if I could write up how I did it for their blog – read it over at Building an Unconference App For RailsConf with Twilio and Twitter

Here’s an excerpt:

How do you keep everyone at a mega-conference up to date about what’s going on in a community-organized unconference that’s running side-by-side? That’s the problem Austin on Rails set out to solve when RailsConf 2012 came to our city.

What’s an unconference? It’s a participant-led conference – instead of having speakers apply to speak months ahead of time, and having committees set the schedule in advance, unconferences are more fluid. This is great for a fast-moving technology like Rails, where you may have put something up on GitHub last night, and you can show it off the next day! Of course, the problem with this format is – how do you let people know what’s going on?

Austin on Rails took on the responsibility of organizing the unconference, BohConf. We could have hack sessions, talks, or birds-of-a-feather going on. Based on previous BohConf/RailsConfs, one of the biggest complaints was that people would have gone to a BohConf happening if only they’d known about it!

Read more over at Twilio – Building an Unconference App For RailsConf with Twilio and Twitter

Hackathon iPhone Development

Mashery Features my app Find Me Hotel Deals!

My app Find Me Hotel Deals just got featured by Mashery! They’re showing off their new app directory as part of their “Apps Grant Wishes” – here’s their blog post:

Mashery makes it easy for developers to find interesting APIs – they handle all of the details that make an API great – signing up as a developer, documentation, test API calls, etc.

They also sponsor API Hack Days, which are 8 hour hackathons that usually feature Mashery, SendGrid, and Twilio, along with a few other API companies. This is a great way to reach developers, and actually get them hands on with your product – I probably would never be building cool telephony apps if it wasn’t for hearing about Twilio from all of the developer contests they sponsor.

Drupal Planet iPhone Development Talks

Drupal and Mobile Apps at the Dallas Drupal User Group

Here’s a talk I gave at the Dallas Drupal Users Group on creating mobile apps that use Drupal as a back end. Thanks to Level Ten Interactive for hosting the users group and inviting me up to speak!

Some links to interesting resources I used:

Codiqa – Rapidly Prototype your jQuery Mobile app

PhoneGap – Support HTML5 mobile web sites within native apps

AFNetworking – Easiest/best HTTP/REST/JSON networking library for iOS

Jeff Linwood’s Drupal and Mobile App Talk

Hackathon iPhone Development

Dallas API Hack Day: I won the Mashery Prize for RV Trip Log

Here’s a link to Mashery’s Dev Blog for the Dallas API Hack Day

I had a great time up in Dallas on July 1 for API Hack Day. For those of you who don’t know what API Hack Day is, a bunch of great companies (Twilio, Mashery, and SendGrid) that provide APIs for developers throw an 8-hour hackathon. Improving Enterprises provided an awesome space for us to work out of – their training lab.

On this trip, I wasn’t sure exactly what to build, but Mashery has a huge collection of APIs, so I thought I could find something interesting in there. Digging around, I found out that has a camping API, where you can get lists of campgrounds (with photos!) and then reserve them online. On the web, this service is called ReserveAmerica, and it’s actually something I’ve used before for reserving state park campground sites.

What I thought I would do is mash together the campground API with an iPad map, so that you could keep a trip log of the campgrounds you’ve been to on your trip. And then, using SendGrid, go ahead and share that out as an HTML email to your friends and family.

My little RV Trip Log app won the Mashery API prize, and because this was the third time that I’ve won that prize, instead of another JamBox (a very cool Bluetooth speaker system that I now have two of), they sent me a pair of Etymotic ER-4PT MicroPro Headphones!

I’ve done a couple of hackathon type events over the past year (three API Hack Days, XHack 2012 in San Francisco, Austin Startup Weekend, DrupalCon Denver Twilio contest), and I think 8 hours is a great time for a “hack”. No one expects to see something super polished, and if you don’t get anywhere on the project, it’s definitely not the end of the world. The last few that I’ve entered, I’ve actually been trying to focus on iPad development and UX – how to create an iPad app to make really complicated things simple.

XHack 2012 was 24 hours, and I think I actually spent about 4 hours on ViaMeme, my iPad meme generator app. Startup Weekend was 48 hours, but that competition isn’t really a development/execution contest – it’s more about the business model and convincing the judges that you can make money. The biggest problem with that is that most of your potential B2B customers don’t work on the weekends, so it’s tough to validate an idea on a Saturday!