Cut-down version of Safe Vision app for iOS

I have created a cut-down version of Safe Vision app for iOS. This version has these limitations:

  • It works on iPhone only, not on iPad.
  • Parents are unable to sign up for a new account from the app. They can sign up from website or Android app only.
  • Parents are unable to purchase app subscription.

Basically it has parental controls only:

It is mostly useless but the good news is Apple has accepted it to its App Store! Here is the link: Safe Vision app on the App Store.

My plan is to gradually bring back missing features until I have fully functioning app available for iPhone and iPad. Also, Apple allows selling app subscription using their in-app purchase mechanism only. No PayPal, no credit card – they want their 30% cut of the profit!

I keep improving the app itself. I made the Home screen to look better on tablets:

Previously it was one-column list with a lot of wasted screen space.

Key Metrics July – October 2017

Here are key metrics from past 4 months (click for a larger image):

Most of the downloads are from Amazon App Store. I figured out how to rank high enough when people search for ‘YouTube kids’ there. Right now Safe Vision app is number 12 in search results.

Right now I’m working on improving activation rate. Currently around 30% of people that install the app watch at least 10 videos on the same or the next day. This means that many people decide that the app is not good enough and do not let their children to use it to watch YouTube videos.

I did some user testing and it looks like many parents get stuck during setup. They try to use search, see that all results are locked but don’t know how to unlock them. I’m going to improve initial user experience and make it easy to unlock channels.

Pricing Change

I changed the app price from $1.99 one-time purchase to $15 per year subscription. I just couldn’t see how to make it work with such a low price and me working on the app on the side. The app is free to install now with 7-day free trial.

I’m happy to report that 13 people purchased the app since September 12, 2017! On average I get 3 sales per week.

What’s interesting is all purchases are from Kindle Fire tablet owners so I’m going to concentrate on this market segment from now on.

Here are my key metrics from past few weeks:

Acquisition – number of people that installed the app on a give week.
Activation – watched at least 10 videos on the same or the next day when installed the app.
Retention – watched at least 5 videos day after installed or the next day.

As you can see the number of acquisitions is trending down. I’m going to work on bringing them back to previous level bu my main challenge is getting feedback on the app. My goal is talk to them on Skype or phone, based on advice from Dan Martell. I tried sending emails to parents that installed the app but got almost no replies.

Here’s the link to the app, if you’re curious: Safe Vision: filter YouTube for kids

Tracking Key Metrics

I made 22 sales total of Safe Vision app on Amazon App Store between July 12 and September 12, 2017. After that I changed the app to require paid subscription of $15 per year with free 7 day trial. I also offer free 1-year subscription if parent helps the project with classifying videos: safe.vision/free

So far nobody purchased the subscription and one person received free 1-year subscription (someone from Poland).

I decided to start tracking key metrics for my business: acquisition, activation and retention. I’m going to track them based on weekly age cohort (click for bigger image):

The chart shows that for example in the week starting September 18:

  • 90 people installed the app (acquisitions)
  • out of those people 23 watched at least 10 videos on the same day or the next day (activations)
  • 11 people watched at least 5 videos a day after installing the app (retention)

My plan moving forward is to start inbound marketing by making guest blog posts. Please let me know if you have ideas on topics that would be interesting for parents of kids 5-7 years old.

Also I’m going to ask parents that installed the app recently to give me feedback on why they decided not to use it.

Onward!

First sale!

I’ve made the first sale of the Safe Vision app! I’ve changed the price of the app on Amazon App store from free to $1.69 on July 12 and someone from Russia purchased the app! I increase the price to $1.99 after that.

So it looks like I was right about Kindle Fire users being underserved: many people there are looking for YouTube Kids app there but it’s not available. I’ve sold 14 copies total so far.

My strategy moving forward is to increase the number of sales on Amazon App store. I ran advertising campaign there but the results were disappointing: the ads were displayed 158,323 times (impressions) and only 2 people installed the app (2 conversions). As it turns out, one of those installation was by child done without parent permission.

I think my best be is to get my app to rank high when people search for ‘YouTube kids’ on Amazon App store somehow. I learned that Amazon ranks apps based on number of recent sales so this presents chicken and egg problem: in order to rank high I need a large number of sales and in order to get sales I need the app to rank high. Please let me know if you have any ideas.

I noticed that children stop using my app after some time. Out of 3 children that signed up on the week starting July 17 nobody opened the app last week. So my retention rate is poor. I’m going to improve it by making the app more engaging. I realized that children actually don’t know what they want to watch so the app should offer a large variety of videos.

My Experience with the Founder Institute

I enrolled in Founder Institute in September 2016. Founder Institute is incubator/accelerator with chapters in many cities.

At that time I had an idea for a parental control app for YouTube. I had few pre-orders – 12 people paid me money upfront for free lifetime access to the service once I build it.

Founder Institute course is a 3-month program. It is very intensive. It includes program sessions every week where local entrepreneurs teach us various aspects of company building but the bulk of the learning is done through doing homework assignments. Each week we were getting about 10 assignments.

I learned a lot about company building. The main benefit for me was learning how to clearly articulate my idea by pitching it to potential investors, customers and hires.

Also I met a lot of local entrepreneurs and worked together with fellow founders in a small group.

Overall I think Founder Institute is great. It pushed me outside my comfort zone many times. I significantly upgraded my vision for my company as result of going through the program. Founder Institute helped me to move forward quickly with my idea.

Thank you Adeo Ressi for creating The Founder Institute and thank you Ian Hopkinson and James Kyd for leading Melbourne Chapter in 2016!

What is Wrong with JSON Viewer on Codeplex

JSON Viewer for Windows (hosted on Codeplex) is a great tool, I use it at least once a week. However it hasn’t been updated since 2011:
about-json-viewer

Here is the list of issues with version 1.2 of JSON Viewer.

1. When you open a large JSON file (more than 10 MB) the viewer freezes for 2-3 minutes, sometimes longer. You have to kill it with Task Manager.

2. When you edit JSON the cursor always jumps to the beginning of the file – very annoying. Making any changes to JSON is essentially impossible.

3. The URLs in JSON look like hyperlinks but clicking on them does nothing:
links-in-json-viewer

4. When you press Ctrl+V in the search field the text gets pasted to the JSON document instead, usually making it invalid!

Did I miss anything?

How to View Large JSON Files on Windows

Let’s say you need to view a huge (more than 1 GB) JSON file. Of course you are not going to view so much data, it’s humanly impossible. What you want to do is to get a general understanding of JSON structure.

I assume that JSON document is already properly formatted.

First of all we will copy first 10,000 lines to a new file. We will user PowerShell for that:

Get-Content large.json -TotalCount 10000 | Out-File truncated.json

Next, open truncated.json in Sublime Text Editor and scroll to the end:
sublime-truncated-json

The JSON is not valid right now. Let’s make it valid by closing all ‘[‘ and ‘{‘ brackets. Sublime Text has a great feature that highlights invalid JSON code:
sublime-invalid-json-highlighted

All you need to do is to try to add brackets alternating between ‘[‘ and ‘{‘ until you reach the first column:
sublime-valid-json

Now you can save the file and open it in JSON Viewer. Since the new file is small you should have no problems viewing it as tree:
json-viewer

By the way, I’m thinking of building a tool that would automate this process – leave a comment if you’re interested in learning more.

Viewing JSON

From time to time I need to examine data in JSON format. Now unformatted JSON is very hard to read, for example:

{"movies":[{"id":"770739679","title":"Captain America: The First Avenger","year":2011,"mpaa_rating":"PG-13","runtime":121,"critics_consensus":"With plenty of pulpy action, a pleasantly...","release_dates":{"theater":"2011-07-22"},"ratings":{"critics_rating":"Fresh","critics_score":71,"audience_score":96},"synopsis":"Captain America: The First Avenger will focus on the early days...","posters":{"thumbnail":"http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg","profile":"http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg","detailed":"http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg","original":"http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg"},"abridged_cast":[{"name":"Chris Evans","characters":["Captain America/Steve Rogers","Steve Rogers / Captain America","Steve Rogers/Captain America"]},{"name":"Hayley Atwell","characters":["Peggy Carter"]},{"name":"Sebastian Stan","characters":["Bucky Barnes","James Buchanan \"Bucky\" Barnes"]},{"name":"Tommy Lee Jones","characters":["Colonel Chester Phillips"]},{"name":"Hugo Weaving","characters":["Johann Schmidt/Red Skull","Johann Schmidt/The Red Skull","Red Skull"]}],"alternate_ids":{"imdb":"0458339"}}

I usually use JSON Viewer to format JSON:

{
    "movies": [
        {
            "id": "770739679",
            "title": "Captain America: The First Avenger",
            "year": 2011,
            "mpaa_rating": "PG-13",
            "runtime": 121,
            "critics_consensus": "With plenty of pulpy action...",
            "release_dates": {
                "theater": "2011-07-22"
            },
            "ratings": {
                "critics_rating": "Fresh",
                "critics_score": 71,
                "audience_score": 96
            },
            "synopsis": "Captain America: The First Avenger will focus...",
            "posters": {
                "thumbnail": "http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg",
                "profile": "http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg",
                "detailed": "http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg",
                "original": "http://content9.flixster.com/movie/11/15/83/11158339_tmb.jpg"
            },
            "abridged_cast": [
                {
                    "name": "Chris Evans",
                    "characters": [
                        "Captain America/Steve Rogers",
                        "Steve Rogers / Captain America",
                        "Steve Rogers/Captain America"
                    ]
                },
                {
                    "name": "Hayley Atwell",
                    "characters": [
                        "Peggy Carter"
                    ]
                },
                {
                    "name": "Sebastian Stan",
                    "characters": [
                        "Bucky Barnes",
                        "James Buchanan \"Bucky\" Barnes"
                    ]
                },
                {
                    "name": "Tommy Lee Jones",
                    "characters": [
                        "Colonel Chester Phillips"
                    ]
                },
                {
                    "name": "Hugo Weaving",
                    "characters": [
                        "Johann Schmidt/Red Skull",
                        "Johann Schmidt/The Red Skull",
                        "Red Skull"
                    ]
                }
            ],
            "alternate_ids": {
                "imdb": "0458339"
            }
        }
    ]
}

Much better isn't it?

JSON Viewer is great because it also shows JSON in a tree:
JSON Viewer

Now I can easily expand and collapse elements and quickly understand the structure of the data.

However there is one problem: JSON Viewer doesn't handle large files well. If I try to open 4 MB file it just freezes for few minutes and I have to kill it with Process Explorer.

Do you have the same problem too? How would you like to see the problem solved? Please answer as a comment below.