Skip to main content

What I learnt validating my MVP and promoting my app for free

In October 2015 I developed Xtegos - Voices for Whatsapp as a weekend project. Xtegos is a mobile app to read messages with funny foreign accents and share them on Whatsapp as voice messages.

After launching the MVP for Android, I wanted to test the following assumptions:
  • 1) People like sharing voice messages with someone else's voice on Whatsapp groups.
  • 2) People prefer that voice to have a funny foreign accent.
  • 3) This app will grow organically after some initial marketing effort.

In order to achieve some customer base, I implemented the following marketing strategies:
  • A) Create a website, Facebook page and a Twitter account (renamed one with 5k followers).
  • B) Share the app with my personal contacts on social media.
  • C) Share funny voice messages created with Xtegos on my Whatsapp groups.
  • D) Promote Xtegos on Facebook groups with keyword "Whatsapp" with a big lie in the post: "Xtegos, the app to share voices on Whatsapp that is revolutionizing the Internet. Selected as one of the top 10 free apps in 2015".
  • E) Email some app bloggers to review and feature Xtegos.
Strategies A, B and C were quite successful during the first few days, and helped Xtegos get its first 100 users, with many 5-star reviews (most from friends of mine). Some Whatsapp groups I am part of started sharing voice messages and the organic growth worked smoothly. However, after a week or so, the illusion was over. Xtegos was not sticky nor viral.

I went back to the lab, improved the UX, added new voices and launched the iOS and Windows Phone versions with Phonegap (as requested by some users). Then I used strategy D with mixed results: I got a few hundreds of new installations but 70% of them uninstalled the app immediately, and some of them gave Xtegos a bad review. Nobody likes lies, and if you say "Selected as one of the top 10 free apps in 2015" they would expect something ground-breaking, which was not the case.

In view of the results, I decided not to proceed with strategy E. I'll use that silver bullet once I have fixed the problems I have observed. The least thing I want right now is a bad review in a specialized blog.


What I learnt from this experience:
  • Assumption 1: validated.
  • Assumption 2: not validated. Many users chose the voice with their own accent.
  • Assumption 3: not validated. The app is not sticky nor viral.
  • Don't trust feedback from your friends, but their installations and reviews are welcome.
  • Don't lie to your users. "Fake it till you make it" is a dangerous game.
  • Don't waste your time developing the app for other platforms or languages before you have validated your value proposition.
  • Don't do any PR before you have validated your value proposition.
As a consequence, I am going back to the lab and implement a new version with the outcome of this learning experience.

Popular posts from this blog

Microsoft will soon launch a feature to schedule chat messages on Teams

In 2021 I wrote an article  where I shared why I started scheduling my emails and the positive impact this easy action has had on the wellbeing of the recipients and on my own work-life balance . However, one of my frustrations is that, as of today, it is not possible to schedule chat messages or posts on Microsoft Teams. Have you ever received a push notification on a Friday evening  from a non-urgent message that could have easily waited until Monday? Yes, you know what I am talking about! The good news is that Microsoft is currently working on this feature, and it is expected to be released in July 2022 , as we can see on Microsoft's roadmap . It was back in June 2019 when this useful functionality was first proposed on Microsoft Tech Community . It soon gained many supporters that pushed it through the approval channels. I can't wait to start using this!

How to jump to time offsets in HTML5 video

Let's say that you have a 30-minute WEBM video file, from which you just want to play the following video segments , jumping from one to the other automatically  without interruptions : [00:01:25.00 - 00:02:25.00] -> from second 85 to 145 [00:11:40.00 - 00:11:55.00] -> from second 700 to 715 [00:20:26.00 - 00:21:07.00] -> from second 1226 to 1267 [00:26:11.00 - 00:28:01.00] -> from second 1571 to 1681 To increase the complexity, let's think that you have these video segments in a PHP variable $arrayVideoSegments  (normally the case if they were retrieved from the database).   $arrayVideoSegments[0]->startTime = 85   $arrayVideoSegments[0]->endTime = 145   $arrayVideoSegments[1]->startTime = 700   $arrayVideoSegments[1]->endTime = 715   $arrayVideoSegments[2]->startTime = 1226   $arrayVideoSegments[2]->endTime = 1267   $arrayVideoSegments[3]->startTime = 1571   $arrayVideoSegments[3]->endTime = 1681 The fo

How to disable cookies on Google Analytics so that you don't need a consent banner

The integration of Google Analytics into a website or blog is not GDPR-compliant by default . You must first obtain explicit consent of the end-users to store cookies, describing in your privacy policy how you intend to use collected personal data. This is the reason why most websites nowadays display an annoying (but necessary) consent banner. If you fail to do so or if you only ask for implicit consent, you are at risk of being fined. However, it is possible to disable cookies on Google Analytics (GA) respecting end-users privacy, so that you don't need to ask for consent. The downside is that you will not be able to distinguish the type of user (unique vs new vs returning) and you will miss some session insights. If these details are not relevant for you, here is how you do it. Disable Google Analytics cookies on a custom website If you have a custom website with full access to the source code, you can simply insert the script below between the <head>  and </head>