I usually blog about .NET related topics on this blog. I got asked by a friend, why I did never blog about my mobile app, and how I earned 2000$+ with it. Well, I guess it’s true, I never talked about it, and I never wrote about it (except this article from 2015).
I have to admit that my mobile app is not a .NET app, but an Android app written in Java and published in the Google Play Store.
It’s finally time to reveal all the secrets that made me rich so you can become wealthy too – I’m kidding. This article gives insights into my experience programming, marketing, selling, and rewriting my first mobile app.
I also share what I’ve learned during the process and what I would do the same again, and what I would do differently in another mobile app project.
Let’s talk about money first. Yes, I made more than 2000$ in sales with a simple mobile app in the Google Play Store. Let’s dive deeper into what money went into my pocket.
Back in November 2010, I released my first (and only) mobile app to production. After the initial release, I made several updates and a complete rewrite in Spring 2017.
Let’s take a look at the earnings. The following data shows the sales, which means that 30% of the amount went to Google, and 70% of the amount went into my pocket.
My currency is CHF, and all the data is provided in CHF. At the time of this writing, the USD is 1:1 to CHF, so it makes it easy for people to understand, and I do not need to convert those numbers. I use USD in this article.
As you can see, I made most of the profit in the early months after the release. Within the first 14 months (end of 2010 and the complete 2011) I made about 1480$ in sales.
In total, I made about 2179$ in sales, which is a net profit of 1525$.
It also means that between 2012 and today I only made about 700$. There are a few things I learned that I want to share with you:
Make sure that your app is working and feature-rich when you first launch it. Sure, you might use agile development practices, but your app should be working and have a minimal feature set. My app got pushed in the market, and therefore, I got many downloads in the first few months. If the app did not solve a real problem, people would not pay for it, and the store would not have recommended my app to new people.
Developing an app is not only writing its first version and never touch it again. It’s not a money machine like real estate or something else like that. I did not care about the app after it’s launch, which was a mistake. I would suggest planning to work on the app after it’s release as long as it’s in the store. I only did a few bugfixes, but I never made any more significant improvements, and I never added additional features. I guess that’s the reason why after only 1 year the sales dropped significantly.
You can make some side money, but you won’t become rich from a single app. Sure, if you build the next Uber with an entire engineering team and funding, the sky is the limit.
But if you’re an independent developer without a team and you develop your app in the free time don’t expect to make that much money from it. I have to say that 1000$ per years seems pretty neat to me, and I did never expect to make more than a few dollars out of it.
I made CarParking Schweiz, which is a directory for parking lots in Switzerland. If you open the app, you can see which parking lots are open and how much parking space is available.
More screenshots available on Google Play.
Besides the listing, I also included a map view that shows all the parking lots, and if you press on a parking lot, you can start navigation to it using Google Maps.
The app has a one-time price tag of 1.95$. I don’t like subscriptions myself and I think most consumers do neither. Therefore, I decided to go with a paid app with an upfront cost. 2$ is a small amount in my country and I might even be able to raise the price, which I never did.
I wanted to create something for myself that helps me finding a parking lot when I visit different areas in Switzerland. In the cities, there is often traffic jam, and I was sick of searching for parking opportunities. I wanted to jump into my car and drive to the closest available parking lot to my destination.
What I learned from it:
It is crucial to have a clear goal in mind. Your app should solve a problem for the user. It does not matter how hard that problem is to solve; it is essential that the app solves the problem.
The motivation to finish the project was to be able to solve a real-world problem for me and to learn how to develop mobile apps. At the time of the release of this app, mobile apps were pretty new, and I wanted to gain some experience developing a mobile app.
Back in the days Eclipse and the Android Developer Tools (ADT) were the way to go. I installed that software on my computer, and I was ready to go.
Everything I needed to know to build an app was the programming skills that I already had and the online documentation of the Android platform, and of course, an Android device to test the app. Back in the days, I used an HTC Desire, which was my first smartphone.
After a few years, I got back to the project and thought about modernizing the app. There were new Google Maps APIs I had to use. The old API was retiring, and there were other platform changes like the physical buttons that disappeared from the devices.
I got back to the code base and let me tell you; it was a pain to develop with Eclipse and ADT. The tools were bad in 2010, but they did not improve in 7 years. At least not to something I wanted to use. I was used to Visual Studio, which developed a lot and offered many more features.
It was time to try the new Android Studio. I installed Android Studio and decided that the app was that old that I would write it from zero. I opened up the IDE and started working. Except for a few resources, I completely rewrote the app to fit the current platform requirements.
When I completed the project and released version 2 of my app, I hoped that it would gain traction again and make a few sales. As it turned out and as I described above, it did not go according to plans.
Going into a new project I would consider the following key learnings:
Make sure to solve a real-world problem. If the app solves a problem, there is a potential market for it.
Your app has to solve the problem well. There are millions of apps in the store, and you want people to install your app. It has to stand out and do it better, faster, or in a unique way. Marking people would refer to this point as a unique selling proposition (USP).
You can make money as I explained in detail above. People are willing to spend money on apps that solve their problems. Sure, there might be free apps available, and if you do not want to make money, you can always create a free app.
But if you want to sell your app, make sure to get the pricing right. In my case, I sell my app for 1.95$, which worked for me pretty well. I have to admit that I never tried a higher price. Make sure to test what works for you best and do not hesitate to change the price often when your app is new.
Completing a project like developing an app from start to finish helped me to understand the project lifecycle of the software in general. I had to do everything from planning to designing, developing, and marketing on my own, and I have learned a lot. This knowledge helped me a lot to understand business processes in the company I was working for in my day job.
If I created a new mobile app today, I would try Xamarin. Microsoft acquired Xamarin in 2016. Xamarin development was very pricy before Microsoft bought it. After the acquisition, most of the resources such as the Xamarin University, became free for developers.
Also, one of the downsides of my Java code for the Android platform is that the app only runs on Android smartphones and tablets. It was always my goal to bring the app to the iPhone, but without a Mac, I could not compile the app, and I would have had to rewrite the code in another programming language.
Xamarin and Xamarin Forms offer a compelling platform to develop a single code base, cross-compile to either Android or iOS, both resulting in a native app for the respective platforms.
This article explains how and why I created my first (and only) mobile app back in 2010. It also reveals how much money I made from it and that it is possible to make money with a simple app.
If I come across another problem I want to solve; I would consider writing a new app again. It was a fun experience, and the few extra dollars helped me to pay my bills during my time at the university.
Although it is still possible to write Android apps in Java, as an experienced .NET developer with a heart for C# programming, I would try Xamarin and Xamarin Forms for my next mobile app.
Let me know in the comments if you also wrote an application, which technologies you used, and what your results were.
This article was originally published on claudiobernasconi.ch on May 22nd, 2019.
Soft skills are as critical as technical skills for a software engineer. No one works in isolation. Each person has to deal with teammates, colleagues, managers, etc. Therefore team interpersonal skills are essential too. Soft skills include things like good communication, honesty, teamwork, integrity, organization, empathy, etc.