Experiences from an Android app developer

HTC Dream

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 developer

As a developer you will have to:
  • Pay $25 for your Google Play developer account
  • Get spam in your email
  • Google might at any time remove your app from Google play for whatever reason they prefer
  • If Google remove your app, they will not tell you if there is anything you can do to make your app comply and being published again
  • If you don't like all of the above, there is no way out. Google will keep your fee for their no longer served service and spam will keep coming in your mail box

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:

Start publishing on Google Play in minutes by:

  • Registering for a Google Play publisher account
  • Setting up a Google payments merchant account, if you will sell apps or in-app products.
  • Exploring the Google Play Developer Console and publishing tools.

When you're ready, use the Start button to go to the Developer Console.

Register for a Publisher Account

Tips

  • You need a Google account to register. You can create one during the process.
  • If you are an organization, consider registering a new Google account rather than using a personal account.
  • Review the developer countries and merchant countries where you can distribute and sell apps.
  1. Visit the Google Play Developer Console.
  2. Enter basic information about your developer identity — name, email address, and so on. You can modify this information later.
  3. Read and accept the Developer Distribution Agreement for your country or region. Note that apps and store listings that you publish on Google Play must comply with the Developer Program Policies and US export law.
  4. Pay a $25 USD registration fee using Google payments. If you don't have a Google payments account, you can quickly set one up during the process.
  5. When your registration is verified, you'll be notified at the email address you entered during registration.
The above text was copied 2017-02-06, the link or text might have changed since then, but $25 fee has been the same from 2009 until the time of this writing.

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 choice

As 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.

My apps

Telenor Kontant

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.

HaltTimer

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.

Why OpenSource?

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:

From: Android Market <noreply-android-market@google.com>
To: xx@xxx.xx
Subject: New version of Android Market Developer Distribution Agreement. Your action r...
Date: Sat, 24 Jul 2010 01:06:58 +0000

You are receiving this email because you have applications published in
Android Market.

We'd like to let you know that there is a new Developer Distribution
Agreement (DDA) for Android Market. The next time you sign in to the
Android Market publisher website, you'll be asked to agree to these new
terms before continuing. If you have not accepted the new DDA by
Monday, August 23, 2010 12:00:00 PM Pacific Daylight Time, your
application(s) will be unpublished from the Android Market.

You can view and accept the new agreement by visiting
http://market.android.com/publish/ddaUpdate. Please do not reply to
this message.
Thanks,
The Android Market Team

Spam

In 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 suspended

In December 2016 I got an email from Google:
From: Google Play Support 
To: xx@xxx.xx
Cc: yy@yyy.yy
Subject: Notification from Google Play
Date: Mon, 12 Dec 2016 17:49:48 +0000

Hi Developers at Henrik Carlqvist,

After review, Telenor Kontant, se.poolhem.telenorkontant, has been  
suspended and removed from Google Play as a policy strike because it  
violates the impersonation policy.

Next Steps


Read through the Impersonation article for more details and examples of  
policy violations.
Make sure your app is compliant with the Impersonation and Intellectual  
Property policy and all other policies listed in the Developer Program  
Policies. Remember additional enforcement could occur if there are further  
policy issues with your apps.
Sign in to your Developer Console and submit the policy compliant app using  
a new package name and a new app name.

What if I have permission to use the content?

Contact our support team to provide a justification for its use.  
Justification may include providing proof that you are authorized to use  
the content in your app or some other legal justification.

Additional suspensions of any nature may result in the termination of your  
developer account, and investigation and possible termination of related  
Google accounts. If your account is terminated, payments will cease and  
Google may recover the proceeds of any past sales and/or the cost of any  
associated fees (such as chargebacks and transaction fees) from you.

If you've reviewed the policy and feel this suspension may have been in  
error, please reach out to our policy support team. One of my colleagues  
will get back to you within 2 business days.

Regards,

The Google Play Review Team
As I published my apps in my own name at my Google Play developer account I thought someone must have made some kind of a mistake, so I contacted the support team. Two days later I got a reply:
From: xxx@google.com 12/14/16
Hi Henrik, 

Thanks for contacting the Google Play team.

After further review, we won't be reinstating your app because it violates our
Impersonation and Intellectual Property policy.

Our policy states:

    We don't allow apps that use another app or entity's brand, title, logo, or
name in a manner that may result in misleading users. Don't try to imply an
endorsement or relationship with another entity where none exists.

For example, your app contains content from https://www.telenor.no/

Apps must not have names or icons that appear confusingly similar to existing
products, or to apps that come with the device (such as Camera, Gallery or
Messaging). Apps like these violate our Impersonation policy.

If you publish a new version of your app, please make sure it complies with our
policies. You may want to review the Developer Program Policies for additional
guidance.

If I can be of further assistance, please let me know.

Regards,
Charlie
The Google Play Team

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:

xxx@google.com 12/15/16
Hi Henrik, 

Thanks for contacting the Google Play team.

At this time we are unable to comment on your planned implementation. If you
believe that your app is in compliance, please submit your app for review.

We strongly suggest that you refrain from using graphic assets and text
references that may cause confusion or imply endorsement or relationship with
another entity where none exists. Impersonation can occur even if there isn't
an intent to deceive, so please be careful when referencing any brands and
using any content that do not belong to you.

You may want to review the Developer Program Policies for additional policy
guidance:
https://play.google.com/about/developer-content-policy.html

Please be advised that any perceived compliance or non-compliance of other
developers' apps has no bearing on the compliance of your own apps.

If you want to report an app that you believe is a violation of our developer
terms please flag it as inappropriate on Google Play or submit a report through
our contact form:
https://support.google.com/googleplay/android-developer/contact/takedown

Thanks for your understanding and continued support.


Regards,
Charlie
The Google Play Team

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:

xxx@google.com 12/19/16
Hi Henrik, 

Thanks for your reply. 

We appreciate the opportunity to review your appeal pertaining to the removal
of your app from Google Play.

We were not able to validate your account's relationship to the original
content or brand owner: Telenor. In order for us to process your appeal, please
reply with verifiable documentation that your application is authorized. 

A signed document from both parties involved or a signed letter that the owner
of the content giving you their permission to use their content. A document in
PDF form will be acceptable.

We appreciate your assistance and look forward to your reply.

Regards, 
Victor
The Google Play Team

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 out

But once you gotten yourself a Google play account and published some apps, does Google allow you to terminate that account? Nope!

xxx@google.com 22/01/17
Hi Henrik,

Thanks for your reply. To answer your question:
1. We can only cancel and refund with no apps inside.
2. The ONLY solution to transfer your suspended app to another account, is
to un-suspend this app. 
3. To un-suspend your app, the ONLY way is to appeal to Google Policy Team
via: https://support.google.com/googleplay/android-developer/answer/...

I hope this is clear. Please let me know if you need further explanation from
our side.

Regards,
Victor

Google Play Developer Support
The above was only the last of several emails explaining their Google Play developer account termination routine which could be summarized as:
  • A developer account with apps cannot be terminated if the developer wishes to do so.
  • The only way to remove an app from a developer account is to transfer that app to another developer account.
  • Suspended apps can not be transfered to another developer account.
Of course I did not want to transfer any of my apps to another account. I simply wanted to get out of Google play to get rid of the spam in my inbox. But even if I did want to transfer my apps that would not have been possible for me to do as Google would require a letter from a third party to do so.

My way out

Fortunately 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 questions

This 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.


Ads:
Last modified: Sat Mar 18 23:18:07 CET 2017