Monthly Archives: January 2015

Getting to know git

This weekend I took some time to get to know Git. It’s software that helps you work with different versions of files. If you work with multiple people on a bunch of files, like software developers often do, Git can be of great use for dealing how to merge each contribution of new code. It also gives you a way to undo mistakes.

A couple of months ago I tried to understand it for the first time with some help via Skype, but it didn’t really stick.

These The New Boston videos helped me to understand the basics. I love The New Boston videos, because Bucky (the one who explains everything) never assumes you know anything and he always explains by showing how and then explaining why.

I also watched most of the C programming language play-list from The New Boston. Again, it’s great the videos start with the absolute beginning; in this case what program to use and how to install it to run C code. I’m not sure if I’m ever going to code a real program in C, but it’s nice to know a little bit about the grandfather of so many languages.

Moving forward

I’d like to give some examples of the type of tools I’d like to work on and why. Firs let me humbly explain my view on how the world works.

Motivation – Most people are motivated to do the right thing. They want to improve the conditions for themselves and if possible for all people. Think about what a Miss World would talk about:

  • Quality education for all
  • Peace for all
  • No more poverty
  • etc

Most people know the world as a lot of problems, and we would like to see it differently. In my believe we don’t have an awareness problem.

So what’s holding us back?

  • Lack of understanding
  • Broken feedback loops

Understanding – The world is rather complex. A lot of interconnected parts impact how the world operates. How do people become homeless? And what does it take to get them back on a more stable track. It’s not simple and not easy [1] to fix this problem.

Feedback – When you try something new, you want to know if it had any effect. If the feedback is positive you are motivated to do more of it. When you try to take on the big problems like poverty and education the feedback loop feels broken.

Broken feedback comes in many forms:

  1. No feedback at all. Someone asks you to give money for the children in Nepal. You give some money and you never hear about these children again.
  2. Slow feedback. When you vote for a politician to improve the way the educational system works. Even if that politician gains the power to work on the problem, it takes many years before you can expect to see any significant results.
  3. Noisy feedback. What does it mean when more people immigrate from conflict areas to the Netherlands? Are there more conflicts? Has it become easier to get out of these countries? Was it because of policy changes in the Netherlands or in Europe? It’s not so clear if it’s a good or a bad thing in the short term or long term.

How to fix it – Improve feedback loops,simplify where possible [2] and make it easy to take steps in the right direction.

The assumption is that things will improve when people have a greater understanding of what is going on and it’s easier to take actions and learn from them. This reasoning gives birth to unlimited opportunities and ideas worth investing in.

Some examples of possible tools:

  • Help politicians better understand what’s going on.
    Example: Enabling them to better recognize who the true authors are of the information that is coming to them. Is this petition a signal to be taken seriously or part of a lobbyist campaign?
  • Supports people in the creative process [3].
    Example: Enabling them to form quality concepts out of their ideas and make those into projects that have impact.
  • Help police on the street to quickly judge situations correctly.
    Example: Make it easier to recognize psychological disorders.
  • Help people to deal realistically with their own ambitions [4].
    Example: Make it super easy to quickly keep track of your goals and progress towards those goals.
  • Help teachers to learn from other teachers.
    Example: Share experiences on how to deal with bullying.
  • Help parents to better educate their kids [5].
    Example: Make a cheap marketplace for sharing children books online that also makes it easy to find books that match the reading level of the child.
  • Tool supporting informal care givers.
    Example: Making it easier to understand what care is needed and how to provide it in a way that fits with their capabilities.
  • Tool that makes it easier to eat healthy [6].
    Example: Make it easier to compare the health qualities of different food options.

How about making money?

Both for my own sake and because it enables the investment in the long term impact of these tools, profitability is an essential part of the equation.

Obviously the business model shouldn’t infringe on the primary purpose of the tool. It wouldn’t make sense to provide advertisements inside a tool that was created to help prevent manipulation by lobbyists. In the same way that FIFA should not have McDonald’s as a sponsor [7].

Concluding

So this is the rough road map for me to move forward on. It has a clear focus and it’s extremely diverse. It can include small prototypes and projects that take years to mature. There is a lot to learn and a lot to do. Let’s get going :).

Notes

[ 1 ] Simple made easy
The link is to a presentation that explains simple versus complex and easy versus hard. Easy are things that are ‘near to us’, that we understand quickly, that require little effort. Simple is straightforward, with no (or few) intertwined parts. Something simple like losing weight can be very hard to do.

[ 2 ] To quote Einstein – “Make things as simple as possible, but not simpler”
It requires deep understanding in order to simplify something complex and stay true to the nature of what you are trying to convey. This means that for designing these tools, the designer needs to become somewhat of an expert in the field the tool deals with.

[ 3 ] Google Play – Idea Growr
Android app I made for the purpose of helping people to grow their ideas.

[ 4 ] Google Play – Personal Life Goal Goach
Android app I made to help people set and keep track of their personal goals.

[ 5 ] Google Play – My Picture Books
Android app I made for the purpose of making it more fun to read with your kids by enabling you to add sounds to the pages of your books. Another angle to this app is that it makes it easier to take a whole bunch of books on a trip, because you only need to take along your tablet.

[ 6 ] Sugar Fat Salt
An idea that I have not fully worked out yet, that makes it easier to understand how healthy your food is.

[ 7 ] FIFA – Who we are
FIFA states: “Promoting health through playing football and using the game as educational platform”. Somehow this coincides with having McDonald’s as a sponsor.

I’ve put this same text on the about me page.

Making Android Studio easier for new developers

As someone who is quite new to software development, I sometimes want to rant about how some parts of development should not be part of my job as a developer. It feels like more experienced developers have sort of accepted that some parts suck, while clearly a lot of developers are doing stuff by hand that computers are much better suited at.

I’m talking about how ProGuard is used in Android Studio. ProGuard is a tool that you use to make your Android file you put on Google Play. The effect of running ProGuard is that your file will become smaller and less easy read for potential hackers. A great thing, but it’s very easy to make a mistake and create all sorts of (hidden) bugs.

So I wrote down my rant as constructively as possible in a feature request for Android Studio, asking to implement a simple interface to ProGuard, or better yet, make it invisible and just take care of making my app file as small and un-hackable as possible.

I’m in no way saying ProGuard isn’t well made or doesn’t do a great job. I actually had the chance to talk with Eric Lafortune, one of the core developers for ProGuard, two years ago. He is a very friendly and smart Belgian guy who clearly knows what he’s doing. It’s just that in my view ProGuard should just work, meaning that I need a layer on top of ProGuard giving an easy to use interface and do background analysis on the code so ProGuard can be set up correctly automatically. Not something I expect Eric to do, but I would like to see Google invest in with it’s Android Studio team.

Here I go again ranting along, so I’ll leave it at this :) and if you want to read more, you can read the feature request over here.

Side projects progress in 2014

I’ve been working on a number of projects in 2014. All of them are Android apps.

I’ll give you a quick update on how the apps have been doing in 2014 and at the bottom tell you about the projects I’d like to work on in 2015.

Idea Growr

With Idea Growr you can quickly write down ideas and add notes to them. The provided question sets help you take on different perspectives and grow your ideas. My goal for 2014 was to add online accounts to the app. That effort failed. What I did do is make lot’s of long term plans and wireframes.

So what happens to an app if you don’t do much development on it? It stops growing. I also didn’t do much promotion and there are some interface issues I should tackle. Still, there are about 11 thousand people who have the app on their device.

My Picture Books
With this app you can use your own pictures and sounds to create your own picture books.

I started this project in September and it went live in November. It’s now slowly growing.

MPBStats2014

Yes, we are only talking about 39 users at the moment. What’s interesting is that when compared to my other two apps, My Picture Books users are less likely do remove the app from their device so far.

stats2014

It’s too early to tell, but that could mean the users really value the app.

Personal Life Trackr

This app let’s you set goals on a specific date for your ‘future self’. You can also measure yourself on any moment on a scale of 5. I created this app after Idea Growr, and it is the app that has gotten the least amount of love from me so far.

In November I had launched My Picture Books and had a greater understanding of working with libraries and Android studio. So I thought it was time for an update. I made some interface changes, but for me the most important part was migration the database. In the new database I use the ActiveAndroid library and this makes it easier to maker future updates and I expect less bugs.

PLT Update Compare

Growth stats:

PLT_stats_2014

Just like with Idea Growr; if you hardly do any improvements, the number of users stop growing. It now has about 2.600 device installs.

Lessons learned

In the first half of 2014 I lost a lot of time trying to get Idea Growr collaborations working. When I started to work on My Picture Books it was more fun again and I was learning a lot of new things again. So I guess the main lesson is that I must keep coding in 2015 and build new things people value.

  • Technology
    • Working with libraries like Active Android makes creating an app a lot simpler.
    • I now have fully switched to Android Studio.
    • I have gained experience in storing and retrieving files and working with audio.
  • Process
    • Collaborating on a pet project with someone is hard. Since no money is involved, they don’t have the same commitment as I do. If their day job is demanding more time, I can’t really argue with that.
    • It’s still fun. I used to play all these sim games like Sim City, Civilization, Transport Tycoon, Football manager games, etc. Creating apps is just like that, but it effects real people.

Plans for 2015

As far as non-day-job plans go, here are the things I like to do in 2015:

  • A app that makes use of an online platform like Parse. It provides a relatively simple way to implement a cloud back-end. Plan A is an app that helps you keep track of what meals you like and what to eat for dinner today.
  • Make a first version of the Sugar Salt Fat concept. In the far future it could be combined with the dinner selection app.
  • Add online accounts to Idea Growr. Plan A is realizing this with a new collaboration with a good friend. Plan B is to use a platform like Parse.
  • Improve on My Picture Books. It depends on the feedback I’ll get and how much time I’ll have, what improvements I’ll make. It would be interesting to sell children books from publishers via the app.
  • Improve on Personal Life Trackr. At the very least I should improve how the notifications work.
  • Add in app purchases in one of my apps and learn how willing users are to pay for features.
  • A simple app that uses Google’s new Material Design. Plan A is a simple audio recorder app.
  • Make a simple web app that uses the same cloud back-end as an app, like Parse.  Plan A being a minimalistic mix of Twitter and LinkedIn.

So there are enough plans for 2015. All are a combination of two goals: create tools people value and learn new skills so I can create even better tools.