Wednesday, October 28, 2015

Getting Started with Android using Android Studio in Preparation for a Zombie Apocalypse



One of the biggest challenges in creating training material is capturing, and holding, people's attention. We also want to appeal to a diverse audience -- meaning a wide variety of training techniques and styles.

In the past I've tried blogging, authoring books, conference speaking, and MOOC training -- this video is the first in what will hopefully become a series of narrative driven guides to developing for Android.

It takes you through the process of installing Android Studio and creating your first "Hello World" app, interleaving this instructions with the experiences of a startup trying to answer the question we've all been asking:

What are the Best Practices Android App Development in a Zombie Apocalypse?

The first step is to get Android Studio installed. Android Studio is the official Google IDE for Android development, and will simplify your development experience significantly.

Then it's really about learning best practices for developing apps with good user experiences in “high stress” situations, such as global apocalyptic events including a zombie uprising.

Installing Android Studio
  1. Check for the Java 7 SDK. Android development requires version 7 of the Java SDK. You can check if it’s installed by typing java -version at the command prompt. The version number comes after the leading “1” — for example “1.8.0_60” is Java version "8.0_60". If you get an error or the version number is too low, download and install the JDK from Oracle’s JDK site.
  2. Download and Install Android Studio. Android Studio is Google’s official IDE for Android development. Download it from the Android Developer SDK page. Once downloaded, double-click to install and run. The final installation step will download the latest Android SDK.
  3. Create a new Android Studio Project. Select “Create a new Android Studio Project” from the project wizard. Enter a name for your app, and enter a domain. The domain and app name will be combined to form the package name. Package names must be unique across apps, so make sure only you are likely to use the domain you select.
  4. Select the Minimum SDK to Target. Selecting an early version will allow more users to install your apps, but the backwards compatibility burden will make it more challenging for you to use new features only available in newer Android releases. The “Help Me Choose” link will show you the proportion of users on each version and the main features introduced in each release.
  5. Create a New Activity. Activities are UI screens for your app. Selecting a “Blank Activity” will create a standard material design “main screen”.
  6. Run your app! The default template will create a “hello world” implementation. Hit the green “run” button to see it running on your emulator, or follow these instructions to run it on an Android device.
Zombie Apocalypse Best Practices

Most of the standard best practices for mobile app development are applicable in the case of zombie attack or other apocalyptic / post-apocalyptic event.
  1. Solve a Real Problem. It’s critical for any startup to find a real problem to solve. In the case of an apocalyse, time is a critical factor, so it can be critically important to focus on a problem that’s directly relevant to the apocalypse at hand.
  2. Use the Support Library. The Android support library simplifies adding backwards compatibility to your apps. In apocalyptic situations it’s critical that your app is available to the largest group of users possible, and you don’t want to burn cycles adding backwards compatibility manually.
  3. Downloads Take Time. In the panic driven development caused by the risk of imminent death, it’s important to understand your bottlenecks. Downloading Android Studio and the SDK will take some time, so take that opportunity to board up doors and make your development environment more secure. Buying time now may save your life.
  4. Preventative Optimizations Aren’t Premature. Performance should always be a consideration, and in this circumstance you may not be able to come back and refactor later. More details here.
  5. Don’t Forget the Zombies. Developing apps is fun! It’s easy to get caught up in the excitement of a new project, but don’t forget the zombies trying to break down the door.
  6. Good UX is Critical. Users of mobile devices don’t have the time to learn your apps quirks. This is especially true while they’re desperately fleeing for their lives. Take the time to create a UX that’s intuitive and easy to use — a potential user should be able to download and use your app while sprinting from a hoard of the undead.
  7. Always Take the Shovel. Never leave a potential weapon behind. That’s just good sense.
  8. Minimize Time to Market. No matter what the context, it’s important that you get your app out there as quickly as possible to secure a competitive advantage in a crowded market place. This is especially true in an apocalypse. Singularities like this only come along once in a lifetime, so it’s important to get out there early and win mind share.
More?

What do you folks think? Would you like to see more Android tutorials with this kind of narrative story telling element included?