Due to a recent stroke in the family, I recently was motivated to look for a method of helping non-verbal people communicate without making everyone around them learn sign language, or play charades. There are a number of apps available for smartphones and tablets, notably the iPad and the Android platform. After comparing features (and prices), I settled on a AAC (Augmentive and Alternative Communication) app for Android called JABtalk (which I plan to review here also, Real Soon Now ™). I was able to reach the developer, Joe Bureau, directly and he graciously consented to an interview.
Without further ado, here’s Joe:
Q. Tell us about yourself and your company.
A. My name is Joe Bureau. I’m a software engineer living in the Seattle WA area. I’ve been working in the software industry for the last 15 years working primarily with early-stage startups. In 2011, my wife and I started a software company called JABstone, which specializes in speech communication technology for Android. Our first product is an augmentative and alternative communication (AAC) application called JABtalk. We currently have over 20,000 active users in over 70 countries around the world. Our website is www.jabstone.com.
Q. What motivated you to start developing smartphone apps?
A. I first started developing smartphone apps for one of the early-stage startups I was working for in 2010. My initial experience was writing a location based application for the iPhone. I then ported that application to Android. Prior to building smartphone apps I spent a lot of time doing java development so stepping into the Android world was very straight forward. My experience with iPhone development was much more challenging since I had to learn a new language (objective C), new development tools (xCode), and was working on an unfamiliar operating system (Mac OS).
Q. Where did you get the idea for JABtalk?
A. In 2009, my wife and I took our five year old son, Wyatt, to a speech communication evaluation center to be evaluated for a speech communication device. Wyatt has Down Syndrome and struggles with verbal communication. The speech center we visited had an array of speech communication devices ranging from $8000 dynavox machines to $600 iPads. We tried several of the top communication apps for the iPad and spent a couple months evaluating the $8000 dynavox. After witnessing our son’s frustration trying to learn the various speech systems, it became clear he needed something much easier and intuitive to use. Having spent the previous year building iOS and Android applications, I knew I could build an app tailored to his specific needs that would give him a much better chance of communicating with us without the frustration he was experiencing with the other AAC applications he had been trying. Our son’s need for an easy to use speech communication device was the driving factor that led to the development of JABtalk.
Q. Why did you choose Android instead of iOS?
A. I get this question often. When we first started JABstone, our goal was to provide the most affordable speech communication app available. We also believed that a child needing a communication device should have access to the device at all times. This means taking it to school, to the playground, and anywhere else they may need it to communicate. At the time, the leading AAC app on the market was only available on the iPad and was $200. By the time a person purchased an iPad plus the application, they were looking at a minimum investment of $800. The idea of sending Wyatt to school with an $800 piece of fancy technology didn’t seem like a wise strategy. Being involved in the technology industry, I knew the market would soon be flooded with inexpensive Android tablets and would be a much more practical solution for the problem we were trying to solve. From my own software development experience, I also knew developing an application for Android would be much faster and cheaper than it would be for iOS. As of today, over 70% of JABtalk users are running the app on devices that cost less than $200 so I think Android was the right decision for our particular needs and goals.
Q. How long was the development process for JABtalk from idea to Google Play and Amazon’s App Store?
A. Building software is a very iterative process. The first version was pretty basic and only offered a few fundamental features like importing a picture and audio files from an SDCard. The first version probably took a month of mostly weekends to create and publish to the Google Play store. During 2011, we released 11 updates to JABtalk and now have dozens of features as listed on our website. If you were to ask how many hours have been spent working on JABtalk over the last year, it would probably be a couple hundred hours.
Q. What are the challenges of developing for the Android platform?
A. There are two main challenges with Android in my opinion. The first challenge is the fragmentation of Android versions available in the marketplace. Apple has the advantage of controlling what versions of iOS are in use by automatically pushing new versions of the operating system to iOS devices. Android users are at the mercy of device manufacturers or cellular carriers to send them updates. Unfortunately, making sure users have the latest and greatest version of Android isn’t always a priority or even in the financial interests of cellular carriers or device manufacturers. If you want your app to be available to the largest number of users, you have to write your app in a way that is backward compatible with versions of Android that may be 2 or 3 years old. This means you can’t take advantage of the latest Android features. For example, one of the features I want to provide JABtalk users is the ability to control the speed of a scrolling window. The API to add that functionality is only available in Android 3.0 and higher. Since more than 70% of JABtalk users are running Android 2.3, I can’t offer that feature unless I want to create a different version of JABtalk specifically for Android 3.0 or greater.
The second challenge developing for Android is the number of Android devices in the market that look and work differently. For example, the Nook Tablet, Kindle Fire, and Samsung Galaxy all run a flavor of Android but all look radically different from each other and have different hardware capabilities. Since each device has different capabilities, JABtalk has to detect the hardware capabilities of each device and suppress or enable certain features on the fly. While this isn’t a challenge from a technical perspective, trying to describe the features and capabilities of JABtalk can get complicated since the features available are completely dependent on the capabilities of each Android device. The wide variety of devices and capabilities can make reproducing and debugging a problem very challenging as well.
Q. If you had known all that before starting on JABtalk, what would you have done differently?
A. I’m not sure I would have changed anything if starting over. I still believe Android is the best platform for our particular needs and goals. Android owns 50% of the smartphone market now and I personally believe that trend is going to continue going upward. The iPad currently dominates tablets, but it’s hard for me to believe Android won’t overtake the tablet market as well over the next few years unless Microsoft can pull a rabbit out of their hat with Windows 8.
From a development perspective, I wish there were one set of tools or a specific technology available to allow you to create truly native applications for all platforms. If you want to create an application today that performs well and can take full advantage of Android or iOS features, you need to use tools and frameworks unique to each platform. That means if you want to write native Android applications, you’re typically going to use Java for your programming language and Eclipse or IntelliJ for your development environment. If you’re writing a native iOS app, you’re going to use objective C for your programming language and Xcode for your development environment. If you’re writing a native Windows phone application, you’re going to use a C# for your programming language and Visual Studio for your development environment. There are tools available today, like PhoneGap, that do a pretty good job of providing a cross platform framework using web technologies, but since no native user interface widgets are used, the resulting app look more like web app than a native Android or iOS app.
Q. What advice would you give to someone wanting to develop Android apps?
A. The first question they should ask is if the app really needs to be an Android app. In many cases, an app could just as easily be implemented as a web app optimized for smartphone sized screens and accessed via a web browser. If the app doesn’t need to leverage native smartphone features (i.e. camera, microphone, GPS, etc…) and doesn’t need to have a native look and feel, it may make more sense to build a smartphone optimized web app instead. If the obvious choice is to implement your software as an Android app, visit the Android developer website https://developer.android.com so you can get the free development tools necessary to get started and begin learning best practices for designing your app https://developer.android.com/design. I would also caution people away from using third party tools like Adobe Air or Mono for Android when getting started. It’s important to acquire strong fundamental skills when learning any new technology so you fully understand what you are doing and can troubleshoot problem when they arise. Once you understand a new technology and are competent with the native tools provided, using third party tools to speed up development isn’t as much of a concern.
Q. Anything else you’d like to say to our readers?
A. If you know anyone who could benefit from a free speech communication application, please direct them to www.jabstone.com.