Android fosters a wide and varied app ecosystem, enabling companies both large and small to produce compelling software. The ability to write an app and easily distribute it to most of the world has given rise to independent developers like Chris Lacy, the man behind Action Launcher, Tweet Lanes, and most recently, Link Bubble. Chris took some time to answer a few questions and tell us a little about his experiences developing apps for Android.
AP: What attracted you to mobile development, and Android specifically?
Chris: Before I developed mobile apps I was a game developer. Given my interests in gadgets and technology, developing an interest in the mobile space was natural. The iPhone certainly grabbed my attention initially, but I switched to Android largely in protest when iOS4 turned my iPhone 3G into a slow and unresponsive shell of its former self.
I decided to write an Android app for the simple reason that I thought in the aftermath of Ice Cream Sandwich’s release, the state of Twitter clients on Android was disappointing and I thought it’d be fun to try and make a better one.
I’m attracted to Android development specifically for a few reasons. Android’s APIs are a lot more flexible than other mobile platforms, which brings a lot of opportunity to create experiences that just aren’t possible on other platforms. With Link Bubble I can intercept links clicked in 3rd party apps, download and render them in the background and display them over the top of an existing app. How cool is that?
Another point that attracted me to Android is that I like the idea of spending my time writing apps for Google’s platforms. With their plethora of web APIs, conferences, strong developer advocate programs, etc., I feel Google do a lot enhance not just their interests, but to help smaller developers and push the technology space forward in the process. I like the idea of devoting my efforts in support of their platform, and the thought of my apps potentially pushing Android forward by even the smallest amount in the eyes of even a few is a target I like working towards.
AP: A common mantra among developers is that we write software to solve problems. What types of problems are you most interested in solving?
Chris: I like trying to solve high-level problems people don’t even realize they have, but once they see the implementation their natural reaction is “this is so obvious - why hasn’t someone done this before?”. I also like focusing on low-hanging fruit. How can you take something that exists today, tweak it a little, and make it an order of magnitude better?
AP: As an Android developer, what do you find yourself struggling with the most? Are there any particular pain points in Android that keep conflicting with your work?
Chris: WebView (which is used by Link Bubble and many other apps to render the web). The API itself contains a few critical flaws, it renders slowly, and it can cause apps to crash in a manner that is largely impossible to prevent. This last point is particularly nasty - WebView is causing my app to crash, I can’t stop it from happening, but I consequently suffer as people request refunds or leave 1 star reviews complaining about an unstable app.
Google have publicly stated their goal with Blink (Chrome’s renderer) this year is it “must exit 2014 much more mobile-awesome”. This is a fantastic goal, but unless something changes, the only people to benefit from this work will be the users of Chrome itself. Developers who want to render the web in their apps, or users who want to use a browser other than Chrome will not be able to enjoy these potential benefits.
For the same reason Google have put so much functionality into Play Services, I think the main interface apps use to render the web itself should not be tied to Android OS releases. I’d very much like to see some form of API so that developers can easily use the latest Chromium/Chrome to render the web in their apps.
AP: How do you think that Google could better serve Android developers?
Chris: By and large I think Google do a pretty good job here. The developer relations group is accessible and responsive, Android Studio is a terrific step, and the Play Developer Console’s ability to distribute beta APKs is also great. Having apps roll out to all your users within 2 hours of clicking publish is a blessing compared to waiting 4+ days on iOS, although if I’m being greedy I’d say I do wish that time period were closer to 2 seconds.
I do think there’s an opportunity for Google to do a lot more when it comes to app discovery via the Play Store. I’d also like to see some further means for developers to monetize their apps on an on-going basis.
AP: What do you most want to see changed in Android, both as a developer and as a user?
Chris: The permission system. I can understand why the Android team went with a system requiring users to grant permissions before an app is installed at the time, but I feel strongly this system is massively flawed today. Almost all non-Nexus/Play Edition devices have 3rd party apps pre-installed out of the box, and in my experience a great many of these apps not only can’t be uninstalled, but can’t be disabled either. My carrier-unlocked Galaxy S4 has a large amount of such bloat. One such example is an app called “Com2usPoker”, that has access to the apps I’m running, my account details, phone number, full internet access and more.
It would be entirely unacceptable if suddenly all new houses came with built-in spy-cameras that transmitted details of your life back to an unknown 3rd party that you can’t disable. Why is it acceptable for mobile devices to behave in a similar manner?
I doubt Google have the legal standing to mandate that such apps can’t ship with devices, but as a user I feel strongly such apps should not have access to any such data unless I explicitly grant them permission at runtime. Also, I should be able to easily revoke such permissions at any time.
As a developer, I’d also like an opt-in permission system. With Link Bubble, I have to request the location permission up-front at install time, and have an off-putting notice about its usage in my product listing in the Play Store. It’d be a much better experience all around if this location permission could be requested in the app the first time a website requests your location. Same with Action Launcher requesting your contacts or dialing a phone number.
The strange thing is, 3 different methods of runtime permission control already exist in Android 4.4: you can turn location access off via the system settings, there's a notification access permission screen and a "do you grant permission" alert dialog appears when a 3rd party application attempts to place a widget. These controls only work for very specific permissions, and each interface is different from the next. As a user and developer alike I’d love to see permissions fleshed out to become a more helpful, powerful and accessible feature of the system.
AP: How successful do you think Google has been in driving for better UI and design sense in its own apps and those of other developers? Are there any things you really like or dislike in your own apps, Google's, or other 3rd-party apps?
Chris: I quite like the way Google’s apps have evolved, especially those under the Play banner. I’m not a massive fan of stock Android Holo itself, especially Holo Dark. I find it a bit drab and lifeless.
AP: Generally speaking, most apps on the Play Store tend to stay at or below $2. Except for the occasional sale, you've kept Action Launcher at $4 for most of its life and launched Link Bubble at $5 with the suggestion that its price would likely go up. How did you choose these prices and what's your take on the general response?
Chris: Firstly, I disagree with your initial statement. If you look at the top paid charts, most of the non-games cost more than $2. I chose $4 with Action Launcher for the simple reason that the direct competition was priced at that level, and the market has proven they will accept it.
I went with $5 for Link Bubble because I felt like the app was worth another dollar. For my money, Link Bubble changes the way you use a phone the way a new phone or OS update might. Personally, I feel that’s worth at least $5.
I mentioned to Artem in a private chat that I was considering increasing Link Bubble’s price post launch, but I never said that publicly. This was something I was thinking about, but to be fair I think about a lot of different things. As things currently stand, I have no current plans to increase Link Bubble’s price.
The response to Link Bubble’s price has been largely positive. The initial launch has been terrific. Some have complained, but a great many more have supported me by buying the app. I do find it strange that some people get so vehemently worked up because they feel a sub-$5 app is too expensive. My apps aim to empower your expensive mobile devices - it’s not like I’m begging for money outside a homeless shelter. Nor am I releasing sham apps like Virus Shield, or selling your private data. My app works on all your devices and is less than half the price of a ticket to Thor 2 (and that price doesn’t count the popcorn/soda/candy in-app purchases). Plus there’s a free version that enables you to try the app and see if you like it.
But with all that said, at the end of the day it doesn’t really matter what I feel an app is worth - it’s about finding the price the market best accepts that enables the apps to collect maximum revenue. Maybe I’ve done that to this point, maybe I haven’t. We’ll see.
AP: Do you think there are circumstances where you would release apps at a higher or lower price point?
Chris: I’m not sure I’d go much higher than Link Bubble’s $4.99, but it depends entirely on the app. Certainly I’d have no problem setting an app to a lower price if I felt that was the sweet spot.
AP: You regularly ask your followers for comments and opinions about your apps and changes you're thinking of making to them. What has been the effect of followers on your development process?
Chris: Having a few followers has definitely been handy to be able to run quick straw-polls as to what defaults I should use for settings and little things like that. Generally speaking though, my process is to write an app solely for me and my use case, and trust that an audience of similarly minded people will also like the app. This may seem strange, but in the past I’ve made the mistake of building for what I think an audience wants, and that has ended up being a product I’m not interested in using every day, which is not good.
AP: Do you interact much with the community on XDA? If so, how different has that experience been compared to that of the people you're interacting with on social networks?
Chris: I think I have an XDA account, but no, I don’t spend any time over there. Frankly, I’m ridiculously time-poor as it is. One hour on a forum is an hour not coding, and between Google+/Twitter I feel I already make myself pretty accessible.
Also, it might be of interest to some to learn that I have close to zero interest in the tweaks and tinkering that seems to largely be discussed over on XDA. I almost never even bother rooting my devices, let alone messing about with custom ROMs, Xposed or similar.
AP: Are you working on or planning any new projects? Anything you can tell us about?
Chris: I do have another app up my sleeve that I could release tomorrow if wanted to, but for a few reasons I’m still thinking about what to do with it. I wrote it as a little experiment, and I’m very happy with the results. It gets used every day in my household. My plan was to write it quickly and just release it, but now I’ve given the idea more thought, I think I know how to take it much further. So I’m still thinking on that one. But I’ll probably just package it up one Friday afternoon and release it and see how it goes :)
Just recently I had the AHA! moment for an app idea I prototyped 18 months ago. I’m confident it will prove useful, but I don’t know when I’ll get to it yet as I’m rather busy currently.
Time is my enemy it seems.
AP: You’ve had a certain amount of success as an independent developer, but have you ever considered working for one of the bigger companies?
Chris: I’ve had discussions with companies both big and small. Generally speaking, my taking such an offer would mean uprooting my family from Australia and moving to the Bay Area. This would not be a trivial move for us, as the reality is, we’re in a fortunate position right now. My apps are selling, I can work on what I want when I want, my wife has a career here, my family and I love living in Australia, we have a network of family and friends here, etc.
But at the same time, working alone has a few considerable drawbacks for me personally. I very much miss random hallway conversations with co-workers and the camaraderie of working in a team to get a release out. I salivate at the idea of working on products that could reach 10s of millions of people, and I greatly miss having people around to bounce ideas off.
If I were to be offered an opportunity I couldn’t refuse to join a talented team working on an exciting product, moving to a country with easy access to chili fries and Buffalo chicken might be tough to pass up.
AP: What are your thoughts on iOS?
Chris: I’ve recently spent a bit of time with my Retina iPad Mini for the first time since I bought it at launch. There’s a lot to like about iOS. Certainly the speed and fluidity at which the entire system animates is unmatched by Android, even after all of Google’s efforts in this area. On a Nexus 5, it is still not uncommon for even resuming an already instantiated Activity to take a second or two, which doesn’t seem to happen on iOS.
I’m almost in disbelief that 7 full iOS iterations on, there’s still no way to set a default browser, mail client, etc. The inability to quickly share a link with any other app on my system drives me nuts also.
As I use Twitter and Google+ on my iPad, I find myself missing Link Bubble immensely. Clicking a link and waiting for it to load feels like such an immense waste of my time after having used Link Bubble for 6+ months.
AP: What are your thoughts on 2014’s flagship devices so far?
Chris: Not much. I’m getting to the point where I’m pretty bored of the incremental spec updates that we’re seeing. I hate the trend for each device to get a little bigger each year. The S2 had a 4.3” display but three iterations later the S5’s display is 5.1”. Where does it end?
I know it’s far easier said than done, but I’d like to see some progress in areas where all smartphones suck: I want to never have to worry about my device losing its charge; I want a durable screen that I can put in my pocket with keys and coins without fear of it being scratched/damaged; I want a camera that I can trust to take a non-blurry/good quality photo first time.
Are you considering other platforms or other device types/form factors (Glass, Fire TV, Android Wear)?
Chris: As someone who worked in console games for 10+ years, I’m immensely interested in the TV space. For the last 3 years I’ve been hoping this will be the year Apple/Google finally make their big livingroom push, but it’s not happened as yet.
I know what I’d like to try to push the TV interface forward, but realistically this is an idea that I’m not at all equipped to build on my own and would be far better handled by a bunch of people like Google’s ATAP group or Amazon or similar.
I have an interesting idea for Android Wear, but until I get my hands on a device and see the full SDK, I don’t know how feasible it will be.
AP: Thank you for chatting with us, Chris!