Experiences from an Android app developer
The phone intended for developers
For me it all started year 2009. Android was a new operating system for smartphones and I found this HTC Dream, also known as HTC G1 or Android Developer Phone 1. This thing was really an internet connected computer with backlit keyboard, touch screen and a trackball. It also had a camera and a GPS receiver and all this would fit in your pocket.
As you could also make phone calls with this device it could replace your ordinary mobile phone. Unfortunately, back then in 2009, the only way to get such a device to me in Sweden was to order it from the USA, and to order it from Google I also had to sign up as an Android developer. The extra 25$ it costed to sign up as a developer was a small amount of money compared to the total cost of the phone. As I have done some software projects during the years I also thought it would be fun doing something for my new pocket device.This page is a rather long story of my experiences, if you think it is too long to read it all, here is a short summary:
Think twice before becoming an Android app developerAs a developer you will have to:
The developer account
Back in 2009, this was called Android Market, since 2012 it is called Google Play. Of course it would be possible to develop Android apps also without a developer account, but to reach users you really need an account as most users download apps to their phones from Google Play.From https://developer.android.com/distribute/googleplay/start.html:
The developer phone and different Android versions
My phone shipped with Android version 1.1. Later that spring 2009 Android version 1.5 was released and I upgraded my phone. I also started thinking about the possibilities and what kind of app I wanted to create on my summer vacation. One of the new features in Android 1.5 was widgets and I decided to write some widget app.
In September 2009 Android 1.6 was released. If I remember right there was no official ROM of Android 1.6 for my phone, but I instead installed the custom ROM Dwang which basically was Android 1.6 with some extra goodies like the possibility to store apps on the SD card.
In October 2009 Android 2.0 was released and my phone which by then was about half a year old was unsupported.
My carrier of choiceAs I don't make much calls and would use my phone mostly as an internet connected computer I did choose Telenor as my carrier with their prepaid price plan. In Sweden this price plan was called "Telenor Kontant" and to back then in 2009 get unlimited amount of data for only 59 SEK (about 6 €) each month was a rather good deal even though the data rate wasn't so high at that time.
As I wanted my first app to be a widget and I thought that one of the most useful things to present on the screen of my phone would be my current balance at my prepaid sim card I wrote Telenor Kontant. This app could best be described as a simple web browser being capable to fetch data from one web page only and presenting fetched data in a widget. As the data was fetched from swedish telenor web servers my app was only usable to swedish customers of Telenor having prepaid accounts, for that reason I only published that app in Sweden on Google Play/Market. However, if someone would like to use my app as a starting point for something similar I also published the source of my app at SourceForge.
My second app was another widget written year 2012. The function of this app was to monitor when the charger was disconnected and when that happened shut down the phone with a delay. This app was intended for embedded systems like my home made GPS tracker. Again I did choose to make that app OpenSource and placed the source on SourceForge.
The development environment
Android Apps are developed in the Java Language and back then in 2009 this was done in the Eclipse IDE. Even though Android is built on top of Linux you do not get access to some full featured Posix environment with X window system. Instead you get this custom Java environment which more or less requires an IDE with context sensitive help to be useful.
Unfortunately I found that the Java written Eclipse environment crashed far too often to be usable. For editing I could instead rely on more stable editors like Emacs but then lost the context sensible help that was needed to work efficient with Java. For compiling I also wrote my own custom Makefiles to avoid having to rely on my buggy Eclipse installation. Today the Eclipse IDE seems to have been replaced by Android Studio, however I never tried Android Studio and can't say if it is more reliable.
I did choose to distribute my Android apps as OpenSource with GPL license. Lets face it, with only a few hundred users in Sweden of my app Telenor Kontant I would not have gotten any money to talk about for my hours spent developing. I might just as well give my work away for free. Also, if I would have gotten any income from my app it would mean administrative work with declaring taxes. Making Telenor Kontant a paid app would not have been worth the effort and would also result in less users. Even though my other app HaltTimer have a few thousand users the same still applies there.
Making my apps OpenSource however also gave me some things for free. I could use the source code repositories (I did choose CVS back then) at SourceForge. SourceForge also provides support pages where users can ask for support, report bugs or provide patches.
I also have some other OpenSource projects at SourceForge, most of them being different Linux programs. Those other projects have hundreds or maybe tens of thousands of downloads and sometimes also support requests, bug reports and contributed patches. However, it isn't so strange that this interaction with the users at SourceForge is lacking for my Android apps. Instead the interaction with Android app users is supposed to happen at Google Play.
Interaction with users
At Google Play users can rate apps that they have installed. Both my apps got rather popular rated between 4 and 5 where 5 stars were max. For support requests they also get contact information. In fact, today everyone gets to see the contact information including the email address to the developer.
As a developer I really don't like giving personal support by email to each individual user. It takes too much of my time answering the same questions again instead of having all questions with answers in some public forum like the ones at SourceForge. Fortunately, much of my interaction with users of Telenor Kontant took place at the public forum Swedroid.
During these 7 years I have fortunately only gotten about 20 mails from users. During the same time I have gotten about 25 mails from Google, those mails mostly looked something like this:
SpamIn May 2012 spam started coming to my email inbox. Before that, the email address which was used for my Android developer account had only been used by Google and some kind of contact form on Google Market. But now, with Google Play my email address was published on web pages. Fortunately this email address is an address I only use for Google play, but nevertheless the spam is annoying. Compared to the total of less than 50 mails from users and Google in 7 years I got 320 spams in less than 5 years. That is more than one spam every week to an email address which is used to nothing else than point of contact to Google Play.
App suspendedIn December 2016 I got an email from Google:
So Google told me I couldn't use the brand name Telenor, the Telenor logo or web content from https://www.telenor.no/. My app didn't use any web content from telenor.no, it got the balance from telenor.se, but they probably meant that I was not allowed to display data read from web servers not owned by me.
What to do?
I did not have any intention to impersonate Telenor. My app was published in my own name on Google Play. To me it also made sense to use the word Telenor in the description as well as in the title to describe that my app was only usable for swedish customers of Telenor. But maybe it was a bad idea to also use the Telenor logo in the widget and as app icon? My app would be to no use if it didn't fetch current balance from Telenors web server. It would also not be found by any users if I were not allowed to at least in the description write that my app was intended for Telenor users. But my app would still be useful without the telenor logo. If I would replace the logo, would Google then again publish my app? I asked if it would be enough to remove the logo, but got this non-answer back:
Of course google should be free to choose the terms for any service they provide and they should also be the first to choose how those terms should be interpreted. But it really is annoying that once they find that my app in some way breaks their rules are unable to tell me how to make my app comply to their rules.
I made more attempts to make Google tell me if there were any way I could change my app to make it comply to their rules. I also wrote that unless I was told how to fix my app I would remove both Telenor Kontant and HaltTimer from Google Play. As HaltTimer is mostly intended for advanced users building embedded systems it didn't make sense to keep my Google Play developer account with all spam coming to my email inbox only for that app. Those users will find the app and install it from the web instead. I got another reply:
So Googles policy really said that you are not allowed to in any way republish data from web servers of others! To do so, the require that you provide a signed letter where the owner of the web server allows you to republish their data. I did not expect to hear that from google... I wonder if every web browser and every search engine out there have such signed letters for every web server they might visit or index? Probably not, but Google did require this for my app.
I did spend some time on getting such a signed letter form Telenor, but failed and gave up after a few weeks. Instead of getting my app back on Google Play I decided to remove my apps from Google Play and terminate my developer account.
No way outBut once you gotten yourself a Google play account and published some apps, does Google allow you to terminate that account? Nope!
My way outFortunately I know that in these days of spam email addresses should be considered temporary and only usable for a limited time. To Google as to any other web service who wants you to provide your email address I gave a unique email address. My way out of my Google Play developer account was now to simply terminate that account. That way I no longer get all that spam caused by my publication of apps on Google Play.
Comments or questionsThis page is only a simple static web page, it is no blog with room for comments.
If you are from sweden and have any questions or comments about my app Telenor Kontant please post any questions or comments in the swedish Telenor Kontant thread at Swedroid.
I will try to answer any questions or comments in english about HaltTimer or my experiences as an app developer in my facebook post.