Archive for category 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: , , , , , , , ,

2 Comments

Earning enough savings in 1 year to take a 4 year holiday

What would you do if you knew you had enough free cash to last you Four years? Save it? Take a holiday? Buy a new car? Quit your job? Go travelling?

What then if you had no debts, had a nest-egg already saved and your mortgage taken care of?

It’s a tough decision isn’t it! I bet nobody in the world would want that choice. Do you want Cake, Jelly or Ice-cream?

 

For me, I decided to take time out to travel and do my own thing. Twelve months after leaving my job and I can honestly say it was the best thing I ever did in my life.  Its given me time to decompress and allow me the opportunity to work on projects that I always wanted to do but never really got round to. It also gives me the option to choose wisely the next path I take, like returning to work in a company I really want to work in, instead of coming from a drive of desperation and accepting the first offer. Instead, there is the option to go back to formal Education, or even start a business. These options really didn’t feel viable from when I was working at a salaried office job.

Every day I get to do the activities I really want to do; study Languages, read up Personal Development and Computer Software, whilst setting my own schedule. I can go meet friends for coffee, watch a movie, or sleep in. The surprising thing is that I feel like I am the least lazy I have ever been in my life! Although I might “work” for less than 6 hours a day, those are action packed 6 hours and I love every minute of it. And the quality of my work output has never been better. I never learned a new language as quickly as I have done, and I can quickly find elegant solutions to software solutions, whether it be debugging, looking at a new plugin for wordpress or doing an online programming test. I don’t have to worry about earning money for 4 years because I know what I have will last that long. I am sure that I will find something to extend that time, so long as I am open minded enough to search and find it.

 

You might ask how on earth I managed to get into this seemingly privileged situation in the first place. It all started with the decision to reject the situation I was in and to search for a better solution. It was also a terrifying decision to make. The decision to stop working and stop a “career path” flew in the face of everyone around me. I got comments from close friends and family such as ..

“You already have a decent job and life, why throw it all away?”

“So if you take a year out now, when do you plan on getting married?”

“What will you do when you run out of money?”

“If you leave you will never have things as good as you do now”

“You are jeopardizing your career by voluntarily taking gaps”

 

If someone told me earlier that this was all going to happen, I simply could not have believed it. It was 6 months after leaving my comfortable but boring life in UK. I was in Tokyo, working day and night just to scrape together a meagre existence living in a shared dormitory with 12 people. I remember walking outside seeing homeless people and envying them. They seemingly had all the time in the world and they had their own little cardboard box homes to live in and they weren’t about to get kicked out the country because they were about to run out of money!

Every day was a real grind. New requests came in for new features to the project I was working on, there seemed to be no end in sight. I was taking two or three English teaching classes per week to have some kind of cash flow whilst waiting for the big project payoff. My expenditures were reduced to coffee at MacDonalds (taking the laptop to work there at the same time, of course) and fishing out the reduced price food at the local supermarket. At the same time I was searching for new contracts or jobs to keep going. And all the while still studying Japanese!

I distinctly remember going for an interview at a company and failing miserably at a relatively simple programming test. I realised at that point I was burning out. But I couldn’t stop on any front because everything was so important.

There were times I just couldn’t understand how things could get this way. Only 6 months earlier I was living the comparative dream in UK. It was an 8 out of 10 life. Boring, but no overtime, easy work with no pushy clients to deal with, my own car, my own room! And I gave up that cushy life for this. The worst part was I had freely chosen this path. It felt like the biggest mistake I had ever made. I was very ready to “vanish” and go back home, defeated.

But things got better. Finally the project came to an end and I found myself finally with free time. I still had other commitments but the biggest one had finally let up and I had some time to myself. I had the time to search for a new place to live and found a room in a guest house. Because of the 2011 earthquake, there was less foreigner demand for rooms so I managed to get a reasonable discount. It was still twice the price of the dormitory, but half the price of a single studio apartment. It was a decent sized room (for central Tokyo) with double bed and my very own air conditioner! I had never appreciated having my own private space before in my life as much as I did at that point.

Things got better still. A CV I sent out a few months earlier to a recruiter website had been picked up by another recruitment company, and I was offered an interview. I didn’t have high hopes because I had already had at least 10 interviews in various companies in Tokyo. Only one job offer came from that and the salary was too low for me to reasonably accept. However, I got the phone call and I was offered a 1 year contract. What’s more is the recruiters had negotiated a salary 33% more than I had asked for! I couldn’t believe it! A huge weight had been lifted off my shoulders.

At this new job, they had regular hours like a real company. I was so relieved that I could go to work at 10am and leave at 7pm. That was still worse hours than I had back in UK, but compared to my previous work it was a dream. And they actually paid for overtime!

I still kept up the routine of eating cheaply. I bought myself a rice cooker and bought salad and meat daily. There was a bento shop near my place, so I could eat lunch for just 250 yen (USD2.50) That food tasted unbelievably tasty, considering I couldn’t afford to eat that just a short time earlier. Each month I was able to save about 55% of my take-home wages without really trying. I was still living a reasonable life; going for the occasional lunch at a restaurant, going out at weekends and holidaying to foreign countries.

By the end of the contract, I had saved up a healthy savings account; enough to live for 18 months in Tokyo at my current burn rate. However my plans had changed and I wanted to learn Chinese. I made the decision to move to Taiwan under a Working Holiday Visa. This was a new visa for UK Citizens under 30, and because I was 29 at the time it made perfect sense.

It turns out that living costs in Taiwan are significantly less than that of Japan, so my 18 months forecast actually turned into 4 years.

But more important than the money is the experience. From my experiences at the bottom, I now have the capacity to work 12 hours non-stop on a project, or to get through the wall when it comes to studying or reading books. I have the drive now to push myself forward and find out more things that I didn’t have before. The money merely provides time such that I can use to study or work on new projects.

 

How to make this a reality for you

Despite these savings, and the experience of doing it all already, there was still resistance to the idea of leaving and starting all over again. There was still the chance that everything could go horribly wrong and I lose everything with nothing to show for it. Or worse, I couldn’t pick up a job because I had Another huge gap in my career.

The biggest issue is taking the decision to step out of the current situation and into the unknown. It took me one full year of frightening uncertainty and having things worse to get to the position of earning enough money in one year to last for four.

One thing’s for sure, you can never find out the solutions until after you step out into the wilderness and summon the courage to find out for yourself. And it really does take life or death situations like that in order to push you to find a solution. Things will almost certainly get worse, but I promise if you keep on going and searching for new answers, you will find the ultimately better solution.

Share Button
No Comments