Four Months of Lessons - Eight to go

If I was on a trip around the world, I would probably be somewhere in India or in the Rocky mountains, depending on which direction I’d had taken initially. But, well, I am not (sigh). Instead, I am struggling to get some crazy ideas to see the light of day. Surely I have missed a few stunning landscapes, and lots of amazing food, but in turn I got to learn a few things along my own path. This article is to share with you some of the valuable lessons I have collected so far from this adventure.

For the last four months I have been in my “prototyping phase”. I chose not to focus on one single idea right away, but instead to dedicate about one month of time per idea, to create so-called “Minimum Viable Products” (MVP). At first, it was just a way not to put all my eggs in the same basket. But now I realize how instructive this approach was to me, and in fact, how focusing on one single idea would have probably been sub-optimal, to say the least. By building these MVPs addressing different issues in different sectors, not only did I learn useful lessons about business and technology, I also assembled my own set of criteria to judge the attractiveness of business ideas. These criteria, forming a sort of “idea filter”, are sometimes quite unintuitive and/or subjective. Such a filter is proving more and more useful to make decisions and reshape ideas.

The idea filter is implicitly based on our perception of how businesses are started, are run, work, or fail to work. This perception is largely biased by our culture and environment. As a kid, my perception was that companies were created by old rich people “who had made it”. It was influenced by images from books and films which both most often depict a rather terrifying image of the businessman: A money-hungry shark wasting his precious time on earth to fulfill his sole ambition, at the price of his happiness and that of the people he has to run over. The image of Scrooge is so deeply rooted in our collective unconscious, that every company-guy character on the big screen has something “scroogy” about him. So many movie villains are actually businessmen. There are rare but notable exceptions, like Bruce Wayne, at the head of a billion dollar company (although he is happily willing to give it up). But the true change came with David Fincher’s The Social Network. For the first time in a long time, the entrepreneur was a cool brilliant young guy, whose only skill was computer programming. It is difficult to say how much influence this movie had on society. Surely it influenced me to some extent. Recently a poll showed that 50% of people between 18 and 24 said they had the desire to create their own company, a figure that should shame older generations, stuck with the Scrooge image.

The Social Network set a standard for the common man’s “idea filter”. However, still a simple and naive standard. The film largely promotes the terrible idea that one just has to create a website, and wait for users to sign up by millions. As I will describe below, creating a website or an app is not very difficult, and anyone can learn to make them with enough time and perseverance (and for free). Reading and hearing about entrepreneurs stories surely helps fighting this sort of cliché. But there’s nothing like experiencing it yourself. Try building a website. When you’re done, try to get users to sign up. Then you tell me which was the hardest.

All this jabbering also to prepare yourself to the awful sight of a prototype (or MVP). When you work only on a project for one month (which also includes the time needed to learn about a technology or a programming language), what you get is a pretty ridiculous product. I often face disappointed reactions (or disappointing lack-thereof) when showing off a prototype to people. To be clear: prototypes should be ridiculous, or else they would probably be overworked. They are meant to scratch the surface of a concept, to grasp the ins and outs of a potential business, to get a feeling of a technology. A prototype is meant to be a tool for learning about what users want and need, and what business model you can create from your product.

Network Effects

Many of the successful startups we hear about rely on network effects. What are network effects? Simply the fact that a service or an app becomes increasingly more interesting and useful when more and more users join it. Network effects are great, extremely powerful, and easy to support with web technology. This is why “network ideas” are very attractive to entrepreneurs (attend a startup weekend to see what I mean). However, the problem is that people tend to imagine their idea with the network of users already formed and waiting for them. Take the idea of “a social network dedicated to sports”: It would be so great to be able to find tennis players in the area when you want to play tennis. Indeed it would be. But a prerequisite for the app to have any added-value is that all the tennis players sign-up to use it. People assume that when you create a great app, everybody will somehow hear about it by word-of-mouth and sign-up to use it. What really happens is that word-of-mouth does not work until the app is big. Even people around you are very reluctant to spread the word, before they are absolutely sure that it will not hurt their image (and an app with ostensibly few users is very ugly-looking, regardless of what it does). This is why, starting a business relying exclusively on network effects is hard and painful. You need to recruit early adopters who will give you a ton of feedback and will help you themselves to recruit more early adopters. Needless to say that they are hard to find.

The first idea I worked on, Reverse academy, does not rely exclusively on network effects. One student can potentially start working with one mentor, without a full network behind it. This what I had in mind when working on this project: “we can start very small and grow progressively”. However, there are two major obstacles which are linked to network effects:

Before the network has grown and the service is widely known, it is hard to convince anyone to pay for a training that is not immediately recognizable by recruiters (especially in France, the name of your university still matters a lot on your resume). Reverse academy is actually based on a double network: You have to find students, but you also have to find mentors. That’s two kinds of early adopters. Outch!

The Attraction of Complexity

Imagination can be dangerous. When thinking about Reverse academy, I pictured a lot of potential additional services that I could add to the website. “We could sell recruiters data about the students performance; that would make a richer business model”, said I at the Startup weekend pitch. This is not the right way to think. The simpler the business model, the better. The problem with fantasizing about a startup idea by adding more and more complexity is that you are missing the point: People will not use your product because it offers lots of small different services. They will use it because it offers one single, clear and valuable service.

Successful startups actually focus all their energy on one single, simple service, and for a long time. This talk by Alex Schultz (Facebook) illustrates the point pretty well. Think about it: Facebook has introduced its friend-to-friend payment system only very recently. They could have added that much earlier (Paypal existed way before Facebook)! But they did not, and instead focused on their one big mission: Connecting the world.

One notable exception is of course Google. The range of projects that Google is running in parallel is simply incredible, for a company of “only” 50000 people. But in fact Google looks more like a unified and powerful network of startups, rather than a single company. Each individual service is focusing on its own mission, and does not grow in scope (however the technology itself does increase in complexity).

Identifiable Customers

Finding users/customers is one of the most difficult aspect of starting a business. The idea that startups which create a great product will naturally attract users is just wrong. The ability to find customers and sell the product is as much important (if not more) than the quality of the product. Few startups actually have a really good product (one that has the potential of being widely adopted among a large market). But many startups with a mediocre product do manage to raise money and survive at a small scale, thanks to their ability to find customers and sell their product.

One thing that makes an entrepreneur’s life much easier is when potential customers are clearly identified or at least identifiable. Ideally, you want a large supply of them, and their contact information. This is one advantage of Business-To-Business (B2B) startups: Normally their customers can be looked up in the phone book. Although if your customers are 10000-people companies, how do you know what door to knock on?

Nowadays, you can leverage the billions of users of Google and Facebook, using their advertising systems to reach new users and put ideas to test. If you can target precisely your users, this can be very efficient, and relatively cheap. That was another problem with Reverse Academy: how do you target “students who want a tailored training about technology”?

Naturally, my next project, Tyle (gettyle.com), was aimed at targeting at least one identified customer, which was Airbus. Knowing in person the customer (and the customer’s problems), it is much easier to get feedback about the product, and it creates a natural entry barrier into the market for potential competitors. Tyle is not aimed only at Airbus though. It is aimed at similarly large engineering organizations. Here, what was an advantage becomes a weakness: Engineering organizations are like remote islands that don’t communicate with each other. Setting foot on one island does not guarantee you at all that you will set foot on another. In other words, you cannot expect a network effect.

Early Markets

I like disruptiveness. Maybe too much. It’s important to see that disruptiveness is a double-edge sword. On one hand, you are potentially exploring a whole new market before everyone else, and therefore you have a chance to conquer it with a large advance. On the other hand, because the market does not exist yet, you have to pull customers to it yourself and face a lot of incomprehension and skepticism. Of course, you don’t want to join a market when it is already saturated (drones, 3D printers…). But you don’t want to be too much in advance either. Many successful startups appeared on a market where existing solutions were already in place (search engines existed before Google, social networks existed before Facebook, etc…). The sight of competition at least reminds you that you are working on something with potential.

My next undertaking, Blind Tale (Github, Playstore), is rather disruptive. It is an Android adventure game (actually, a game engine), that can be played hand-free, purely by audio and voice recognition. The target I have in mind is drivers, spending a lot of time alone on the road. Currently the audio game market is extremely small, and mostly targeted at blind people. I have the feeling that this market might grow significantly with the arrival of the Google and/or Apple OS in our cars. See this page for Google. But is this still too early? Judging by feedback I got, the “driver should not be disturbed” seems stronger than the “driver should be kept awake”. And the autonomous car, in which drivers will hardly be doing anything will still not be on the road for a few years…

Another problem with Android auto is that you have to own a brand new car with their system just to test your app in real conditions! Much bigger investment than a smartphone, or smartwatch…

Technological Barriers

In Hackers and Painters, Paul Graham gives the advice of tackling the most difficult possible problems, because this is a place were the competition, in particular large companies, will never be able to follow you. My previous projects were not trying to invent something technologically brand new. Technology represents a huge entry barrier. It means a greater investment to enter the game, but it also means a potentially greater reward. Many startups cannot afford it, in particular due lack of skills. It’s one thing to build websites, it’s another to design rockets. However, if technological skills are a card in your game, it would be a pity not to play it.

My current project (still a work in progress), is definitely technology-driven. Joining the booming field of machine learning, I am developing an airplane-recognizing application. Similar to CarCapture, Shazam or PlantNet, but for airplanes. To be clear, there is no commercial plan behind this idea (yet). My motivation is mainly to learn as much as possible about machine learning (in particular, deep learning), and airplane spotting is just a use-case (which hasn’t been tackled so far, I believe).

Traditional large companies do not share publicly their products’ blueprints, because of the natural fear of competition. However, in the digital world, many actors do share their software publicly, sometimes as much as possible. Why? The reason is that their capital is not in their technology, but in their supply of users. Sharing the technology potentially leads to its improvement (thanks to a community of people using it and contributing to it), which potentially leads to more users. In the case of machine learning, a lot of breakthrough software & documentation is available online. In a rather small amount of time, one can get up to speed with state-of-the-art algorithms and quickly produce valuable software.

(I will write a full article about what I have done, which has been a very interesting and fun experience, involving crawling airliners.net to fetch millions of pictures and data, and letting the computer train an artificial intelligence for hours/days with intensive GPU usage.)

Building Prototypes

(Skip if not a geek)

With the humongous amount of resources that is freely available on the Internet, it is possible to self-educate yourself about any topic extremely quickly. Thanks to websites like StackOverflow, you can get your questions answered in no time by experts in their domains (also for free).

If you need to build a website, you have a large range of technological options at your disposal. Interestingly, while websites have changed considerably since the beginning of the Internet, the technology that supports it has not considerably evolved. We still work with the good old protocols and languages of the early days (TCP/IP, HTTP, HTML, CSS, JS). What has changed is the impressive volume of libraries that were developed to cope with the terrible experience of using them natively. Since the beginning of the year, I have built three (very simple) websites using three different approaches:

  • A Content Management System (Drupal), for this blog: My moderately-educated opinion is that CMS are not worth it. There are a lot of modules to customize them, but as soon as you need to customize them further, you need to learn about their internal mechanics, which is overly too complex. I find it is a better deal to go bottom up and craft the site yourself. At least you have the full knowledge of what’s in its guts. Also, your stylesheet is not 1500-line long.
  • A plain PHP page, for Reverse Academy: Here I had to write the HTML, CSS & JS from scratch (well, using standard libraries). I must say this was painful. CSS is very weird when it comes to positioning elements. When you add the constraint of responsiveness, it becomes a nightmare.
  • A plain HTML page, for Tyle: As I hosted the site on a GitHub static page, there’s no server-side allowed. The game is to perform all the traditionally server-side tasks in the browser with JS. For example, the contact form is processed in the browser and sent to a mail API (Mandrill) that does the work for you. It is possible to apply this method even for complex website, by storing data in a database accessible through JS APIs, like Firebase.

I think I preferred the last method, because of the great joy of getting rid of (well, “outsourcing”) the hassle of servers and databases. In fact, Tyle is built along this philosophy. The only thing you need to run the web version is a simple File server. On the other hand, I must say JS is a pretty unpleasant language. I can code in Java for hours with confidence without running the app, because most errors are detected before compilation. On the other hand, with JS, I sometimes had to run the app after every new line of code, because of the hardly predictable functioning of some libraries. AngularJS, for example, is supposed to make things simpler, but in fact has a so intricate internal functioning, that you spend hours trying to reverse engineer it. What you gain in agility with a dynamic language is quickly lost in debugging time…

Building an Android application was not a piece of cake either. Again the internal mechanics of the platform feel more complex than they ought to be. Testing the application is a hassle. Android-Studio’s build system is incredibly slow, and the application takes ages to launch on a connected device. Testing with an emulator is even slower, and consumes an unreasonable amount of resources.

For Blind Tale, I had to deal with both Text-To-Speech and Speech-To-Text libraries. Google’s Text-To-Speech capabilities are quite good, but unfortunately do not offer various voices (the user has to download other voices if needed). To simulate different voices, I used the two only degrees of freedom available: voice rate and voice pitch. This gives the app various “shades of robotic voice”, which is good but definitely not a replacement for real voices (or at least not in an adventure game). Google’s Speech-To-Text capabilities are even better, but unfortunately have a too long latency (because the recognition is done on a remote Google server). The speech recognition can supposedly occur offline, but it is not something you can control from the app… So I had to use a different library capable of processing voice faster and offline. Unfortunately its performances are not as good as Google’s. I have not tried it inside of a car, but I suspect it won’t like the background noise.

Conclusion

In conclusion, I would say that the ideal business idea I am looking for has the following characteristics:

  • Does not rely (exclusively) on network effects (can be tested and developed on very small scale with a handful of users).
  • Answers a single and crystal-clear need (not trying to agglomerate numerous features).
  • Has easily identified customers (e.g. that you can target with Facebook ads for B2C, or you can unambiguously identify within an organization for B2B).
  • Comes at the right time (not a lot of competition, but signs of a growing market).
  • Involves (reasonably) complex technology (to create an entry barrier, and claim higher prices).

Of course, this list is not exhaustive, and will certainly keep growing. But these are things I did not necessarily consider closely from the start, and I did realize their importance by getting to grips with concrete projects.

What’s next? Well, I cannot say I have found the truly perfect idea matching all the criteria. I want to keep working on prototypes at least till September and then focus on one project (which does not mean killing all the others). I will also join a co-working space in Toulouse to meet other entrepreneurs, talk about my MVPs and pitch some ideas.

In the meantime, I let you put your business ideas to the test of this filter ;-)