The Rise of the Mobile Web

This is in response to Chris Dixon’s post, “The Decline of the Mobile Web“.

Mobile Web isn’t declining… it’s changing. The whole approach of taking a traditional desktop browser and compacting it for mobile didn’t work. People are realizing that now, and Mobile Web is adapting accordingly.

If you look at this chart, people are clearly spending less time in mobile browsers (Safari, Chrome, etc…) and more time in native apps.apps_dominate_hires-resized-600

From the same article by Flurry, we can see where folks are spending their time – a combined 42% in enablers of Mobile Web (Facebook, Twitter, Social Messaging and Browser)

time_spent_donut_hires_v2-resized-600

Mobile Web isn’t limited to browers – so many apps have browsers built-in, and messaging apps are starting to take this to the next level. It all started with Facebook and Twitter having webviews, enabling quick and easy access of web content, but with poor retention. Kik has the best approach I’ve seen for a new-age “browser”. Built into their messaging system is a browser that takes the best of both worlds (quick and easy discovery + retention).

Because of the Mobile Web, we (Clay.io) have grown by 1.75m new users in the last 3 months with $0 spent on user acquisition – how many native apps these days can say that?

The “open architecture of the web” is a alive and well, albeit a bit different. Mobile Web is on the rise, not decline; it just doesn’t look like its desktop predecessor.

P.S. If you’re someone who wants to hear more on what we’ve learned about the current state of Mobile Web (specifically related to games), shoot me an email – austin@clay.io.

Near Misses

Running a startup is hard… and in my experience, near misses take the cake for being the most tolling aspect.

I think a “near miss” is self-explanatory, but just in case, it’s when you think you’re close to closing something important only to see it fall through.

Near misses come in many forms for a startup: recruiting, accelerators, raising money, partnerships, marketing opportunities, etc… and I’ve had the displeasure of experiencing each.

  • I’ve had what I thought was almost a sure thing with a CTO candidate who would have been an excellent fit… Only to find out he was burnt out after a year and a half of trying to start his own company. He decided a more stable company is a better fit for his current stage in life.
  • I’ve been to the interview stage of multiple accelerators, only to get rejected for being a single founder or “we don’t think the market is there yet”.
  • I’ve had the first draft of paperwork for a major deal that would have had us porting one of the most popular mobile games of all time to HTML5 with exclusivity. Only to see it fall through after a lower-than-usual quote led the developer to do more research. He found it would be just me doing the port (opposed to the dev shops they were used to).
  • I’ve had a co-founder of a billion dollar game company say he was interested in investing, then weeks later found out his buddy from that company pivoted his new startup to the same market we’re tackling. He chose them.

Near misses suck.

What’s important to realize, however, is that there will always be more opportunities and occasional hits. Always stay positive and never let a miss affect the energy and optimism you put into a similar opportunity next time.

Optimism leads to more perceived near misses. For me, I think I have more of an impact on making something a guarantee than I actually do in some cases. I go all out to make things happen – whether it’s a custom game to grab a news site’s attention, or driving 3 hours to try and sway a potential co-founder’s decision. It’s important that I keep that mindset, regardless of the number of misses and failures, because there are some cases where I am able to will something into happening.

Even with all those misses, we’ve still had some big hits. The most recent hit for us was a new distribution channel that has brought in a million new users in the last two months. Those types of hits feel really good.

It’s also important to note that in hind-sight, sometimes a miss is a good thing. If we had closed the deal to port that game to HTML5, it would have killed at least 2 months of development time. Time I think we were able to find a better way to spend.

Near misses are also great learning tools. You get to experience most parts of a certain process and there’s a lot to gain from this. I’ve become a better recruiter, interviewee, salesman and presenter because of these misses. As a more concrete example, there was an obvious lesson I learned in the game porting deal. I need to not undervalue the service I’m providing… that sometimes charging more is a better thing.

Never let near misses bring you down for too long. They’re going to happen, they’re going to suck, and they’re going to affect you in some ways, but the extent it does can be mitigated. Stay positive, realize that this miss may be a good thing, and there will be more opportunities.

21st Century Carol of the Bells

As part of my Christmas gift to my girlfriend, Rachel, I wanted to do something interesting with technology – specifically the many devices I have at my disposal.

What I ended up building was a “symphony” with multiple phones, tablets, desktops, etc… playing different parts of a song Carol of the Bells.

EDIT: Node server taken down for now… Try it out here

This is the version where every device plays the same part – it’s a bit more visually pleasing than it’s ensemble counterpart:

And the ensemble version where there are four parts split between the devices:

This was hacked up on Christmas Eve, but if you want to dig through the code, it’s on GitHub.

The client connects to a Node.js backend which lets the clients know which audio file to use. Once the sound files are loaded on all clients, an event to play the audio files is sent out (adjusted for latency on each device). The only painful thing here was some of the differences in HTML5 audio implementations on each device… it was easy enough to get the audio files to play, but there were different delays when using audio.play() or audio.currentTime = 0 (and Web Audio isn’t supported enough on mobile).

The four mp3 files are generated from a Carol of the Bells MIDI. To add in the visuals, I converted the MIDI file to an XML format, and again to JSON keeping just the info I needed (when a note is played, and which note).