Developing on a small scale – making a new app yourself

When you’ve gotten THE IDEA for your next app, how do you go about making it happen? How do you plan on developing it? Testing it? Do you make a list of features you want in it or do you just start writing code? And have you thought about how to store and version your code?

Developing apps for me is definitely development on a small scale, since I’m a team of one. Sure, I bounce ideas off people, scour the net for ways to solve coding issues and present the results to others, but the development process is pretty much just me and my code.

Working like this can be both a blessing and a curse, if you’re doing it like me. On one hand choice of tools and process is up to you and decided by you alone, so it’s going to be just like you want it. On the other hand, if you don’t do something that needs doing, no one does it. That said, having a proper set of tools can make it easier to keep track of all the moving parts and make you focus on what’s important, namely your app.

The tools

All of the tools listed below are free of charge if it’s just you or a few people using them. I find they make collaboration easier, should you need it down the road 🙂

Android Studio: If you’re developing in Java or Kotlin, I definitely recommend using Googles Android Studio. The IDE basically runs out of the box and updates are handled through the environment. This tool has sped up my development process quite a bit, compared to my previous experience with Eclipse and other tools. Android Studio gives you emulator, profiler, Git integration, build engine, a good code editor out of the box. So far that has been all I needed and wanted.

Bitbucket: Your code is probably your most important asset, and you want to keep it safe. Store it somewhere you won’t accidentally delete it. There’s a host of source control systems, but none is more known than Git. Personally I use bitbucket.org, which integrates nicely with Android Studio. If you don’t know what source control is, I recommend you look into it. I find it giving me the added benefit of always being able to switch to a specific version or branch at any time and not having to spend time on setting it up.

Trello: At my full time job (I know, “Whaaat you can’t live off this ?!?”), we’re using the agile methodology. Thru working this way I learned how user stories and features can encapsulate the work everyone is doing and going to do in a fast and efficient manner. Again I highly recommend you check it out, as I find it gives me a good toolbox for capturing and organizing relevant information, even if I’m just one person. Personally I use Trello, which integrates nicely with bitbucket.org, but there’s probably a whole bunch of these tools out there. Never again will I have to store to do lists in emails, on sketchpads etc. and have a billion ways to misplace my notes.

Stack Overflow: I don’t know if this really counts as a tool, but countless times I’ve been looking for a way to resize a button, find an example of how to use a collection or remember the symbol for that XOR operator. I’ve mostly ended up at Stack Overflow. Basically what I’m trying to say is I try not to sit and battle with a problem too long before I look up a solution on the net. Nobody is grading you on how well you know all the answers, but only on how well you application is made. If credit is due to someone who helped you solve a problem, then give it. It doesn’t detract from your ability to make great stuff.

These are the tools I’m currently using, so feel free and give them a try. In the meantime I’ll start working on my next app. I hope to document a little bit about the process for you to see.

Until then Happy New Year to everyone 😀

(feature image from Good Free Photos)

The Gaming Beast and why I don’t get the important things done

I like computer games. I like a lot of games. So much that it’s becoming almost like an addiction. Not the one that makes me lie to people and forces me to make morally despicable choices just to satisfy the Beast, but the kind that stops me from being a better version of myself.
Tell me you don’t recognize the situation; I got some stuff I should do, doesn’t matter if it’s important or just a little thing. I want to do it, and doing it would give me a sense of achievement. If I did it I wouldn’t have it hanging over my head. But somehow I end up putting it off and not having it done by the time I end up going to bed, which these days end up being much later than it should be. Especially considering I got two small kids to take care of.
Why is this? Games. Lots and lots of games. It’s so easy when I settle in front of the computer, which is around 8 PM, when the kids are sleeping. I feel my energy ebbing out, knowing I could be doing things with my time now, that I can’t do during the day, if only I could muster the willpower … And then it’s just sitting there. That little icon that promises a few minutes of fun. It starts off so innocent and BAM, the evening has passed. The wife and I have an understanding. She likes watching TV, I like my computer games. And we go to bed at the same time. Well used to anyways.

So why is this? Because I’m soft. Because I’ve put myself in a vicious loop where I don’t get enough sleep since I’m up playing games, and I play games since I’m too tired to do anything else. But I know I’m able to change this. I just need to take the first step… And this is it. So tomorrow evening I’ll refrain from clicking that little time consuming icon. If I can’t muster the energy to get the important things done first, then just shut the computer down and go to bed, or read a book, or spend time with my significant other.
So tomorrow I’ll let the Beast sleep.
And who knows, I may even get something done …

How fast do users upgrade to a new version of your app?

Hi,

About a month ago I released a new version of the 10,000 app. It contained a few things but nothing ground breaking. Nonetheless I had some assumptions about how fast users would upgrade their app, more precisely I expected that 80 to 90 percent would be running the latest version within 30 days of launch.
At the time of writing a little over a month has passed and I have some numbers to reflect on. With a total of about 10,000 active device installs (totally coincidental :)) I think there’s some basis for statistics, which I find interesting.

EDIT: I made a miscalculation the first time I ran through the numbers. I have adjusted this and some of my conclusions has been re examined and adjusted accordingly.

 

The numbers

After 1 day: 15.5 % had upgraded
After 2 days: 28.9 %
After 3 days: 33.7 %
After 4 days: 36.4 %
After 5 days: 38.9 %
After 6 days: 40.0 %
After 1 week: 42.1 %
After 2 weeks: 48.4 %
After 3 weeks: 52.6 %
After 4 weeks: 55.9 %
After 1 month: 56.8 %

What I find interesting is two things.

  1. The “curve” flattens quicker than I anticipated. After recalculating the numbers it’s not cut in half every day, but the curve still rapidly flattens
  2. A little over half the devices have been upgraded one month after the release.

 

Conclusions

I’ll be wary of what to conclude based on this, but for future reference I’ll just note that getting a new version out to all users/devices is going to take a lot longer than I first anticipated. If only 3.3 % upgrades every week from now, which is the difference between week 3 and 4, it’ll take more than 4 months total, for all devices to get upgraded.

 

Just something to think about 😉

10,000 version 1.4 on Google Play

Hi all,

I’ve put a new version of “10,000 – The Dice Game” (there’s a link at the bottom of the post) with a few new things in it.

  • Bug Fixed! One of the user, Brian Farmer, took the time to write a review, where he described an error where the game was reset if your screen went to sleep. That bug is now fixed and your game will now live on, while your phone takes a break. Thank you, Brian.
  • Cookie Policy. A popup appears when you start the app for the first time (or the first time after you update to 1.4). This warns the user about the use of cookies and provides a link where they can read more about it. This is a requirement to comply with the European legislation and the Google User Consent Policy. I chose to not restrict the message to EU citizens only.
  • Danish Translation. I am Danish after all, so why not 😉

 

As the astute reader may have noticed, the Google Play listing has also been changed a bit. A user, Daniel Der, made me aware the a comma is the correct digit grouping sign. That has also been corrected in the game too. Thank you, Daniel.

 

That is it for now. I’ll be eagerly awaiting the data on how fast the updates are getting to the users and maybe even make a post about that.

 

Best regards

Lars Sonne

 

And there’s the link I promised 🙂

Revamping “Neurons In Action”

Hi all,

I’ve felt that this site has been a bit idle and inactive for a while. The reason for this I think is that I haven’t really felt any interest in the topic on which the domain was aimed at. I’ve therefore decided that, instead of discontinuing the site, I’d revamp it into something that I do feel like sharing my thoughts on.

At the moment I’d mentally preparing for the prerelease of “Born of the Gods”. For those of you who doesn’t know what this is, it’s the upcoming expansion for the collectible card game Magic: The Gathering. I’m really loookign forward to this and I’m playing a bit online to try and improve my skills, which currently is in a sorry state. The revamp will make this site into sort of a logbook of my matches and whatever research and resources I manage to come across. It doesn’t imply that Android development is totally off the table, just that you’ll probably see a lot more updates that’s got nothing to do with that.

With dedication

Lars