Posts Tagged personal development

Taking the MVP approach to product development

For the last six months I’ve been making apps on mobile phone platforms and I’m seeing some early successes that push me to keep on going with it.

Following the MVP (Minimum Viable Product) approach, test minimum ideas and pivoting on feedback when necessary. The approach is mentioned in the Lean Startup book, by Eric Ries. Definitely worth a read, even if you aren’t working on your own stuff. Its got some really interesting ways of looking at feedback which is invaluable.

The aim is to develop a successful product that are useable to other people and make sure that your efforts are as efficient and profitable as possible. I don’t just mean earning as much money as possible, but also to be useful to many people. Usually making money and usefulness to others goes hand in hand. If a product is useful to a lot of people, theres more chance a lot of people would pay for it.

The MVP and feedback approach went against my entire career of software development so far. Usually what happens in software creation is a more linear approach. Various design meetings come up with a blueprint for the new game or app. If I was lucky (or unlucky) enough I would be present at these meetings to hear what people wanted, and mock-ups some designers had made already. After the features and design was finalized, we went to work to create the app and it was released to the client or the public. If we did it right, the company was paid, or we saw the download counter increase. There the cycle ended and I was put on to a new project to begin the path again until enough projects failed that the company went bust, or I got bored enough to move on to a new company.

This is almost the exact opposite of MVP and Iterative development cycles. Instead of finalizing a design and creating the product, only the bare minimum is created to convey the core feature and is released to the public. Feedback is obtained to prove or disprove assumptions and a new version of the app is pushed out based on this feedback. This loop is an ever continuing cycle of feedback and improvements. At the start I found this a difficult process, but now I find this method a much more natural way of application development and I can see success and failure very quickly so I can capitalize or fix the problems as soon as possible.

Study’N’Walk, The road to my own language learning apps.

During my year in Taiwan, I used the flashcard app ANKI to learn Chinese which led to creating my own decks to tie in with my own Chinese books.

I realised early on that my listening skills were terrible, and reading text wasn’t helping. So I integrated voices into the anki cards, producing a spreadsheet and scripting process to help me do this more efficiently. I ended up documenting the process for others to see and try themselves.

From these posts, I got 3 major pieces of information,

1. Traffic to my website jumped quickly, it looked like lots of people were searching how to make their own ANKI cards.

2. I got a couple of comments asking how they could use this process to study a language other than Chinese.

3. I got a more than a few comments online about how the people who wanted to make their own ANKI decks were not technical enough to follow the process. Spreadsheets seemed to be OK, but scripting was a bit too much to ask for.

Next step was to simplify the process of creating decks by making an PC app to replace the difficult steps of scripting, and also add some flexibility to the languages.

I ended up with a C#/GTK+/MONO app that was much more flexible and convenient and after a few iterations I then had a system that could take in any language and output any language, with voices in a range of languages.

The feedback was not particularly good, because of the particular development environment I used, MONO, users had to download an additional component to make it work, similar to Flash for web browsers. MONO had allowed me to develop cross platform on Mac and Windows which I thought would be useful, however users of ANKI were not really prepared to get technical to install this software. A particular point of confusion was created in what I thought was a useful flexibility, the ability to create your own structure for each card type. Testers I showed this to were confused as they weren’t used to this level of control.

In one particular Test I made voices in both English and Chinese and then tried the deck in ANKI. This gave me the idea that I could study using my phone without looking at the screen and instead use only voice prompts. After a few trials using ANKI with this particular combination of text and voice in both English and Chinese, I found I could use my time while walking outside to study Chinese effectively.

The next problem was the  interface for ANKI was not quite appropriate.While functional, the button positions were a little awkward to press if not looking at the screen (at the very bottom of the screen) and the button positions occasionally changed. This was no good if you wanted to press the buttons without looking at them.

I decided to address this problem by making my own flashcard client on Android, called Study’N’Walk. The concept was to show the flashcards on screen, similar to ANKI, but have a much more consistent and easy to use interface that could literally be used with your eyes closed. This then opened the possibility of integrating monetization features such as IAP and adverts. Most importantly, it opened the reach of my app across the Android app store and gave feedback about numbers of downloads, current installs, daily use of the app, what language people opted to study. It also provided a very flexible platform in which I could release different apps and perform A/B tests and have different languages.

I began to realise that this app was now becoming available to people who wanted to study a language but had never heard of ANKI or a flashcard learning system. This was unexpected as I always thought of this as an addition to ANKI. These users had no problem getting the app into their phones, but they were unfamiliar with the ‘question’,’answer’ format of flashcards as a means to study vocabulary. I added some tutorial pages, but I found that users just seemed to click past them all without reading and then they found themselves stuck. I then added some interactive help bubbles which seemed to help.

I have since produced a variety of versions of the app (the first one being a 9 language demo pack) to Chinese and Japanese versions, and branching out to ‘Dictionary’ versions that have a slightly different UI, but present the data as a Dictionary primarily, with an option to learn the words in a training mode.

These A/B Tests let to an unexpected win when I was asked to about the possibility of a Plants Dictionary. The app lists many plant names with their Botanic equivalents. This has now become my most downloaded and profitable app, and it is used most in South-East Asia, a previously unconsidered market.

I also discovered that people do not care for the ability to make their own content. Users would typically search for a language they want to study rather than search for the ability to create their own content. Considering this was a core feature I was trying to push at the beginning, I was very surprised to hear this. Following this, I decided not to include the feature in the iOS builds, and I have found no negative feedback about the lack of this feature. This saves development time and the risk of anything going wrong.

The next lines of focus are now to look into Windows Mobile, whilst considering different content such as different languages and dictionary content. The design of software has allowed me to switch between content fairly easily whilst still using the same ‘engine’. I can make changes to the core learning experience and it is instantly reflected in builds for all the apps.

Major Points

The major points I have learned from this approach to application development are:

  • The traditional model of product development is not applicable here. You must be flexible to change the direction of the app in order to achieve the success you are aiming for.
  • Spontaneity is vital. For example I was impressed at how the swiping actions were used in one app, so as a quick test I added the swipe functions in the app to act in the same way as the buttons I had on screen. It was an immediate hit, because swiping a screen can be done without looking at the screen far more easily than pressing a button, even if it is big and in a set place. In the end, I removed the buttons altogether in favor of the swiping motions.
  • Get feedback as quickly as possible. Get the systems in place to give feedback and see what
  • Listen to suggestions, even if you think its stupid, see what can be done to accommodate. It might be a very simple change, and it might get a whole load of new users.
  • In my opinion, Dog Fooding (using the product yourself) is a major factor in getting it right. You’d have to use the product yourself in order to know whether you like it or not. Its one of the best feedback models.
  • Push something out to users as quickly as possible. It doesn’t matter if it doesn’t look very nice or breaks a lot. The important thing is to get the feedback loop started as soon as possible so you know how to improve it.

It was a big deal for me to put in monetization elements into the app, even from the beginning (who likes to see ads in your app?) but I see now that the money part is still a huge driver in making me want to make great apps. If I started this without any way of making money, I’d be missing one of the most important parts of making this business work.

Share Button

Tags: , , , , , , , ,


Review of 2009 and Plans for 2010. Part 1

Happy new year!

It has been almost a year since I began looking at personal development, and I’d like to give a quick review of some of the stuff I’ve done and what I’m looking forward to in the next year.

I’d like to have a go at breaking my posts down to smaller chunks, so I’ll post this in segments.

My path of personal development began at the start of 2009, when I entered into a course at work to develop product creation and selling skills. This was called “Dragons Apprentice”, a mixture of 2 closely related BBC TV programmes: Dragons Den and The Apprentice. Would you ever have guessed? 🙂 Unfortunately due to other work commitments I had to leave the course early but it left me hungry for more. This led me to look at my personal communication skills and think more about my effectiveness when talking to other people and to get over my nerves when speaking publicly. Since joining Toastmasters in March 2009, things have snowballed with various topics, including blogging, volunteering and looking at my own beliefs of my existence.

I’ll go for a topic per post. Topics I have so far are:

  • Blog
  • Mind set – Beliefs
  • Communication skills – Toastmasters
  • Health
  • Work-life
  • Life – major events

Ill try to make a post out of each topic.


I started this blog in February 2009 and I am glad to say that it is something I have benefited from, though not in the ways I expected.

As far as the technical side goes, I found it very interesting to begin the process of signing up for a domain, and uploading the software to get WordPress blog software online, and tinkering with all the settings to get something which aligned to the vision which I was aiming for. I even had a go at creating my own php code for the archive page which was interesting as this was the first web-based programming I’d ever done. I’ve posted the code here (

Unfortunately this site didnt turn into the mass traffic hub I thought it would. In fact if I look at the statistics I would see less than 10 hits per week and of them I assume most are bots, considering the amount of spam that comes in. I’ve manged the hefty sum of £6 from google adsense clicks, which is still too low for me to take out! So as far as attaining recognition and making money from this venture is concerned, its been a complete failure.

But positive results have come in unexpected places. Because I took the time to set up and continue doing blogging, it has made me more aware of other people’s blogs and writing. I now find myself reading and replying to posts made by others whereas I would otherwise have just skipped over them or not replied before. The result is I have read more about different opinions and this has opened me up to other thoughts I would never have previously considered.

I made some heavy claims in the blog at the start, about how this would be the saviour for everyone who read it and how I would post almost every day! Maybe it was a bit overzealous to make these claims but making these outrageous claims and seeing the result has allowed me to reform what I can reasonably achieve and what I can aim for.

The blog has taken on a new platform in my mind. Instead of being the soap box that I can proclaim that the world is flat, it is more of an access point for people to connect to my thoughts if they choose to. I dont take offence that it appears that not maybe people choose to do that, as my skills to do this still need to be more refined. It shows me that I need to work on my visions on life and the ability to articulate my views in a way that aligns to others.

Aims for the blog in 2010 would be to blog more often! A reasonable amount would be to blog at least once a week.

I’d like also to work on the technical skills behind the blog and keep up with other communication technologies. For example, I have a facebook which I use for my friends, but I dont use twitter. I would also like to spend more time communicating online with people in the field of personal development.

To be continued…

Share Button

Tags: , , , , , ,