Hi, I'm Allen Pike. I run Steamclock, where we design and develop polished apps in beautiful Vancouver. At least monthly, I write an article and publish it here.


Do Great Work, Then Tell People About It

February 28, 2021

“We are looking for a development team for our app idea. We have our brand and logo finalized – with a worldwide go-to-market plan – and just need to finish things off by building the app.”

I’ve spent a lot of time building new products with different people. I’ve picked up on various signals that hint at whether a product will succeed or fail. Some of these signals are subtle hints; mild warnings. Others are the most crimson of red flags, pulsing with danger, like a lighthouse in a storm.

One of the more alarming flags is a founder that thinks they have finished the marketing before they start the product.

Some ventures have a hard time after "conceptualize".

Telling tales

Now, marketing is a crucial part of any venture. You must tell stories that your potential customers find compelling. Marketing is a multiplier, and without it even a strong product can stall out, failing to find the customers it would serve well.

This is especially true in markets that are commoditized.

If you’re getting into a commoditized market – say, laundry detergent – then your marketing should come before the product. You start by understanding the competitive landscape, who the customer is, and how they want to feel about their detergent.

Then you craft a compelling detergent-based story, design brand assets, and build a compelling marketing campaign that compels people to want your very specific tub of fragrance and alkyl sulphate.

Once you’ve done that, you can choose the fragrance – one that helps tell the chosen story. And oh yeah, don’t forget to add the actual alkyl sulphate before you package it all up and send it off to do battle in the crowded field of laundering agents.

There are a lot of business opportunities like this. By bringing a compelling marketing vision to a commodified market, you can build a monster of a business by displacing a similar product that has a less compelling story than yours.

Famously, Grey Goose started with a name, then a feeling, and a price point. Then they decided on a provenance – how about we make it in France? Oh hey, we can filter it through limestone from Champagne? YES! Okay we’re almost done, we just need some vodka.

8 years later they cashed out for $2 billion.

Vodka is a beverage that is supposed to taste like nothing.

Starting with marketing is a great approach if you’re selling a commodity by attaching a feeling to it. But it’s a not-great approach if you’re trying to build a new software product.

The tricky part

Software is, generally, not a commodity. Most software companies succeed by solving new problems, or solving old problems in better ways. Building and scaling software is a complex undertaking with ambiguous requirements, rife with pitfalls and tradeoffs. As a result, different teams tend to end up with different software, differing depending on their path and environment.

Further, successful software often benefits from network effects and economies of scale, further differentiating it from would-be competitors. Duplicating Facebook is not a way to get anywhere.

This makes a head-on challenge – the detergent approach – ill-advised in software world. Fledgling apps are usually leaky buckets: most prospective customers bounce right off of them. Helpful for the team’s learning and iteration, but hardly a business. And all the marketing in the world won’t fill a leaky bucket.

So the approach in the software world is to first build a good bucket. When that’s coming together – often many iterations in – you can hone in on a marketing strategy that suits the kind of bucket you’ve ended up with.

Alternatively, you can try to nail down an exact product vision, from brand to marketing strategy, up front. Then when you start building, you will be surprised. You’ll realize that the hero feature you were banking on is actually just table stakes. You’ll discover that your supposed target audience doesn’t have the budget to fund this amount of work. You’re going to learn that the platform partner you intended to rely on wants you – and any company like you – to thoroughly die, and they have the means to make that happen.

Companies that have invested a lot in up-front branding and marketing often struggle with these surprises. “Dude, we paid $2 million to buy tea.com,” they’ll say. “I don’t care what the margins are on coffee, we’re going to be a tea delivery app or die trying.” So they die trying.

If you want to survive in software, your product is going to change. If your marketing is going to be worth anything, it needs to roll with that change, not impede it.

Getting started

A lot of founders agonize over naming their company. “How will this fit in to our larger brand vision and achieve optimal strategic synergy?”

Meanwhile, the company that built Buddybuild from nothing to world-class to being aquired by Apple in only 3 years was not founded on a long-term brand vision. It was founded as “doe pics hit, Inc.” As in, “DoEpicShit.” Then they dove into the process of making something people needed. That initial brand, such as it was, was irrelevant as soon as they’d built a product that was the best in the world at what it did.

So yes, absolutely invest in marketing, once your product is crystallizing. Once you’re selling something that people want, and you’ve proven it, telling your product’s story well is a critical multiplier for your success. But you need to get the order of operations right. At a company level, the recipe for marketing is as follows: Do great work, then tell people about it.

Until then, focus on doing epic shit.


App Tracking and Analytics

February 9, 2021

Today I posted a recap of iOS’ new 3rd Party Tracking rules and their impact on analytics over on the Steamclock blog:

Apple did not – and from a legal perspective likely can’t – explicitly ban the Google Analytics, Flurry, Facebook, and Firebase SDKs. Their wording leaves some wiggle room. It seems like it could be possible to use them. It seems even more possible that Facebook and Google could make them usable. However, this puts developers in the situation of evaluating the changing documentation, complex privacy policies, and large settings panels that these tools offer, trying to judge whether a given setup of a given SDK would now pass muster from Apple’s perspective.

This doesn’t even get into the even gnarlier uncertainty facing businesses that rely on 3rd party ad attribution via the Facebook or Google SDKs, or indirectly via something like Segment or Branch. Hopefully we do get something conclusive about how App Review is going to manage all this, but I doubt it. As is often the case, you can either do what Apple is implicitly asking you to do – remove these SDKs entirely – or figure out exactly what’s permitted by an App Review trial-by-fire.


Streaming Stories and Troubling Tales

January 31, 2021

Conventional wisdom says that spending hours in front of a screen is not great for young kids. Most guidelines encourage parents not to give kids under age 2 “screen time” at all, and not to give kids ages 3 to 5 more than one hour a day.

Now, in the best of times, limiting a 4 year old to one hour a day of screen time can feel… ambitious. In the worst of times – say, in the middle of winter during a global pandemic, that kind of thing – it’s outright gruelling. That’s because screen time is like pixie dust.

Kids love screen time. Parents love screen time. During screen time, kids can do what they want to do: watch princesses defeat evil. Parents can do what they want to do: finally fix that door that doesn’t close properly. Everybody is happy.

Everybody is happy, at least, until the designated time limit comes up. Eventually – whether by parental intervention, or by Apple’s excellent Screen Time controls – we return to reality.

As a result, parents spend a lot of time asking themselves: what indoor activities are wholesome and engaging enough that they facilitate half-assedly accomplishing things that are required for our household to function?

There are a lot of options. Drawing princesses. Playing with princess Lego. Building structurally unsound princess castles out of random household objects. I’m here to point out an option that is under-utilized, perhaps only for technical reasons: streaming kids’ audio stories.

Once upon a time

Watching a story on-screen is a pretty passive activity. Contrast that to when kids are told a story: they imagine the story unfolding, get exposed to new vocab, and are less likely to be scared when the villain magically transforms into a giant demon octopus thing.

So, if you subscribe to Apple Music – or are willing to try it out – check out their high-quality kids’ stories. They have audio adaptations of many Disney movies, most Robert Munsch books, and countless renditions of classic fairy tales. When we first discovered this, it was like being granted extra wishes.

But there are a few, uh, provisos. A couple of quid pro quos.

For starters, although Apple Music has a lot of kids’ stories, it’s fiendishly difficult to find them. There are no official playlists or categories for stories. They’re just buried deep in a sea of dodgy search results. So you get to play a game.

Hm, do they have a Moana story? Nope. The Gruffalo? Ye… no, it’s just the music. What about Winnie the Pooh? Okay cool, now to locate the story track amongst all this music… Ah okay, I can search “winnie the pooh story” and it’ll work. Oh, other times the tracks are just titled, e.g. “Yertle the Turtle” so if I search “yertle the turtle story” it’ll return nothing…

I said it was a game, not that it was a fun game.

Still, some of the stories are quite good. Our daughter loves them! In some cases she’ll play and listen for an hour while we get some human-adult stuff done. It’s great.

Some of the stories, however, are not great. Some are just kind of poorly acted or produced – tiresome but tolerable. More annoying, to me, is the minefield of “why did we think this was a good idea” plots and topics that many kids’ stories revolve around if they were produced before, say, 2000. You know, princesses whose sole purpose in life is to marry. Characters who shame one another for being fat or ugly. A surprising amount of murder? Generally just a lot of people being horrible to one another.

I know there’s only so much we can do to set positive examples for our kids. But if a 4 year old is going to be enraptured by a story, why not make it one without sexism, murder, or blatant racism? Is it too much to dream?

To its credit, Disney Plus locks down some of its most egregious historical artifacts from being accessible by kids. Apple Music, meanwhile, decided that once a wholesome Winnie the Pooh story completes, it should auto-play “similar” tracks, specifically this uncensored version of Peter Pan. Yes Peter Pan, the movie where characters infamously and repeatedly refer to indigenous people as “redskins”. Where they sing:

In the Injun book it say
When first brave married squaw
He gave out with heap big “Ugh!”
When he saw his Mother-in-Law
What made the red man red?
What made the red man red?

After noping the fuck out of that, we decided it would be best to play stories from playlists only.

How far I’ll go

Unfortunately, there are no curated playlists of kids’ stories on Apple Music. So we had to accumulate one ourselves, via expeditions into the search system, with periodic removal of ones we found too inappropriate or annoying to tolerate. Throughout this process, though, I found a frustrating pattern: our daughter wanted princess stories, but most of the ones I could find were old-school – the Sleeping Beauties and Cinderellas. Sleeping Beauty is wonderfully animated, but the princess’ primary traits are:

  1. Her appearance, and
  2. Her lack of consciousness.

Not exactly a robust role model.

Meanwhile, the stronger modern stories like Moana, Frozen, and Brave didn’t have audio versions. Or, in the case of Brave, did have a “Songs and Story” edition, but not available on Apple Music. How peculiar.

Recently though, things changed. Apple Music suddenly added some of Ellie’s favourite stories: Frozen, Ratatouille, Moana, WALL-E, Peppa Pig, and more. And in doing so, they revealed why so few kids’ stories were being released in the streaming era.

Here is a Peppa Pig story released on Apple Music this month.

Behold. A 5-minute story released not as a single track, but as an “album” split into seven tiny chunks. 38 seconds, 36 seconds, 40 seconds, 34 seconds.

Of course it was. Because streaming services pay rightsholders not by length. They pay by number of tracks played.

So while Disney was previously producing 50-minute audio versions of their animated movies, they’re now producing 9-minute versions, split into 3-minute chunks. Each story starts with a clear warning, “Be sure to set your device to play in order, and not on shuffle.” Meanwhile, Apple Music persists your shuffle state in such a way that sometimes it will unexpectedly be on. Don’t worry, you won’t notice – not until the story suddenly warps to an arbitrary location. “DAD, THE STORY’S WEIRD AGAIN!”

Streaming giveth, and streaming taketh away.

I want to be… where the stories are

So stories are great, but Apple’s offering here leaves something to be desired. What’s a bear to do?

Audiobooks. Audible has a number of kids’ stories. However, the books often cost $20 each. This can be a good investment if your kid will listen to a given story multiple times, but that can be hard to predict. I’ve long pined for a 30 to 60 minute long version of Moana, but the options on Audible are hours long. Does your kid have a 3 hour long attention span?

Audiobooks are also much less likely to include the voices, sounds, and music from the properties the books are based on. And audiobook apps certainly don’t expect you to build up a playlist of books and shuffle them, listen to the same book repeatedly, and overall behave like a 4 year old. Oddly.

Spotify. A few years back, Spotify didn’t have much in the way of kids’ stories. Recently they seem to have leapfrogged Apple Music on this front, offering not only many of the same stories, but a whole Spotify Kids app. This makes discovering them far easier than on Apple Music. Having kids stuff in its own app also makes it easier to keep kids’ listening interests from destroying your own recommendations and playlists. (Spotify thinks my favourite album of 2020 is the soundtrack to Pixar’s Cars. It is not.)

While having curated lists is great in theory, Spotify not only offers the aforementioned “redskins” edition of Peter Pan, but happily features it at the top level of the Stories section in the Spotify Kids app. Yikes.

Podcasts. There are a number of kids’ story podcasts out there. Some are pretty good. For example, our daughter likes specific episodes of Earth Rangers and Girl Tales. Now, good luck getting the Podcasts app to help you listen to specific episodes over and over. (In the app’s defense, I don’t particularly want to listen to them over and over either.)

Hoping for some variety, I recently checked out the popular “Stories Podcast”. I put on their version of “Princess and the Pea” since it’s an interesting litmus test: how do they treat a tale whose traditional moral is that a princess’ purpose in life is to be extremely intolerant of discomfort, then marry?

Before we find out, we get 3 minutes of ads. Two of the ads were for life insurance. Now, I get that ads are part of podcasting. But life insurance? Even relevant ads are not great in kids’ content. 20% of the podcast episode was about Toronto Dominion Bank.

In their defence, they do have a Patreon for ad-free episodes. While that’s hardly convenient, given the annoyance of trying to collect stories within a podcasting app, maybe juggling Patreon downloads would be less annoying.

I should say that their Princess and the Pea was better than most. Unlike the insufferable pea-intolerant royals of generations past, their princess doesn’t notice the pea’s discomfort at first. She then susses out that she’s being given an unreasonable test, and uses her wits to resolve the problem. So, that’s cool.

Unfortunately, when I tried to play the episode for Ellie, after two grown-up ads, she asked to hear a Disney story instead. We try our best.

The moral of the story

I do think audio stories are a great addition to any parent’s bag of tricks, even if they’re a little tricky to collect. I’ve exported the current state of our ‎Kids’ Stories playlist on Apple Music – if you’re curious, be our guest.

And to any poor unfortunate souls entertaining young ones out there, stuck inside and trying to make do: best of luck.

For better and for worse, this too shall pass.


Two Birds, One Scone

December 31, 2020

Humans are wired for language. Soon after birth we start noticing phonemes, and within a year we’re recognizing words. Then we’re off to the races, absorbing vocabulary, trying out new words, and refining how we communicate.

Despite having learned enough words to get by, as teenagers we continue to rapidly assimilate new words and phrases. We go beyond saying what needs to be said, and experiment with how it can be said. We learn the nuance between different word choices, and the subtext that certain phrases imply.

For example you could say that something is “cool”, which means you think it’s good. It also means, these days, that you are old. Alternatively, you could say that thing “slaps”, which means you think it’s good, and also that you are not old. Or you don’t want to be seen as old. Or you are attempting to embarrass your kids.

While preceding generations may roll their eyes at today’s kids’ flexing, capping, and yeeting, new words and phrases like these stick out. Through exposure, they often enter our receptive vocabularies whether we like it or not. They become words we recognize.

What does have a tendency to calcify with age, though, is our expressive vocabularies. The words we say, and the meanings we ascribe to them, tend to kind of settle in, and don’t change much unless we intentionally update them.

Although the meaning when I use the word “cool” is, ironically, changing over time to communicate that I am not cool, I don’t really want to stop saying “cool”, and I am certainly not cool anymore – if I ever was, which I wasn’t – and you know what? I’m cool with all that.

In the case of cool, the word’s meaning has shifted, but it still works. Sometimes though, words’ implications shift in ways that we don’t want. Or their implications already are something we don’t want, and we just don’t realize it yet.

Meaning is in the ear of the recipient

While our language continually mints new words, our society also deprecates old ones. Sometimes they just fall out of fashion. I know my grandma calls a couch a “chesterfield”, but nobody in my generation would call one that. That’s the way it goes.

Other times, though, we retire a phrase because it has an in-built hurtful or discriminatory connotation, or has developed one. As our society has become more tolerant, many overtly racist, sexist, and homophobic terms have fallen out of use in everyday speech.

More recently, we’ve started making progress on less overt but still racist language, ableist terms, gendered phrases, insults that stigmatize people living with mental illness, and… wait a minute. Did we actually have a major league sports team using the name “Redskins” in 2020?

There’s still a lot of work to be done. That work though, the process of improving our expressive vocabularies, is a complex process.

Let’s take “crazy” as an example.

Popular discussion around mental health terms like crazy, and how we should probably not be using them, has been going on for a few years now. Although a few people have successfully retired crazy from their repertoires, it is still an extremely commonly used word.

Although most of us would be uncomfortable directly labelling a person living with mental illness “crazy”, English speakers of today constantly label negative, unpredictable, or ridiculous things as crazy. I myself used the term over 30 times over the years on this very website, especially before 2015. It’s in commercials, it’s in music, it’s in kids’ cartoons. Over the same years that terms like “retarded” have fallen into disuse, use of the word “crazy” has actually increased.

It’s pervasive.

Yet, if it is to be a retired word, as it seems like it probably will be, its demise will probably still follow a familiar pattern:

  1. Term is pervasive, concern about it is not mainstream.
  2. Pushback against it builds, discussions occur, “early adopters” start working it out of their vocabulary, years of habit make change difficult.
  3. Term slowly becomes thought of as inappropriate. It stops appearing in polite media. Laggards protest, claiming the change is “political correctness” or “cancel culture” run amok.
  4. The change hits a tipping point, and the word is widely considered offensive. Grandparents using the word at dinner cause a ruckus.

Like many changes, words are retired first slowly, then quickly.

Disney has been criticized for playing cognitively impaired characters for humour. One one hand, I love Heihei. On the other hand... yikes.

A strategy for evolution

One of the things the last few decades of civil rights progress has taught us is that social justice is an ongoing process. The sheer scale of the racism, sexism, ableism, and other kinds of discrimination in our day to day speech is staggering. We can’t fix it all simultaneously. Society develops awareness of it, and strips it out, in waves. And as with any society-scale change, the size of it all can feel overwhelming.

It can seem, especially if you’re Very Online, that there is a correct and socially acceptable way to talk, and it’s constantly changing, and you’re constantly at risk of being wrong, and even if you’re putting in effort, there is a legion of more-correct hyper-woke Twitter people poised to strike you down if you speak in error or ignorance.

And maybe that’s a little bit true.

But that idea, the concern that we should be motivated by the social-justice word police out on the internet, is not a productive frame of mind for doing this work. Fear of backlash is a bad place to start from when you’re doing slow, meaningful, lifelong self improvement.

Because – and this is easy to forget in the noise – the actual goal is not to just avoid backlash. The goal is to show love. It’s to be respectful of people worthy of respect, to invest in small changes that can make people feel more welcome in this harsh world. The goal is to slowly build a better understanding of how our words make people feel, and the example we set when we use them. To refine our communication so it gets across the love and respect and empathy we’ve built.

And if it prevents you from getting destroyed on the internet for saying something poorly and necessitating a screenshot of your heartfelt Notes-app apology, well then that’s a nice bonus.

An empathy-first mindset to language actually feeds two birds with one scone: it informs and motivates our process of doing better, and can also act as a damper on the “smash people on the internet” instinct. The goal is not to alienate. We don’t need to be the person who learned how to use “racialized” last month and then turn around and jump on somebody who did not use it today. Heck, Apple’s autocorrect hasn’t even picked up that racialized is a word yet.

Meanwhile, there are many phrases probably worth banishing, dozens of words we may not yet recognize as problems, but that could – if we don’t work them out of our systems – make us that caustic grandparent at some future dinner table. So it’s a journey.

If you are interested in prioritizing “crazy” for a vocabulary eviction, I have a little tidbit for you. The word is used really broadly these days, to the point of being a cliché. Since crazy is usually used to describe something that is interesting, there are a lot of novel words you can use instead. Depending on what you’re trying to say, your kids might be acting feral, that proposed schedule might be ridiculous, and your uncle might have been trying to sell you on his latest absurd scheme. And overall, it’s probably worth focusing first on avoiding labelling people or their actions as crazy, and worrying less about how to describe the crazy day you had.

Especially if you’re in a visible position – parent, writer, manager – it’s worth putting in the effort, slowly over time, to work words and phrases out of your vocabulary that might be seen as hurtful. Even if there’s no consensus yet that they’re offensive. Even if nobody notices, other than people who read your reluctantly self-righteous blog post about developing a just vocabulary.

Truly though, words are a case where I think the price of being an early adopter is worthwhile.

We can’t control how people interpret what we say, but we can practice continual improvement of the words we choose.


Addendum

In my research for this post, I reviewed a lot of problematic phrases and proposed alternatives. (There are a lot. That’s why this is a process.) One of the more surprising candidates for banishment was the term “Kill two birds with one stone”. Coincidentally, I’d recently started using an alternative for this in recent months after seeing it on Twitter and enjoying it. To wit:

  • Kill two birds with one stone: Cliché, rather morbid
  • Feed two birds with one scone: Evokes same meaning, is adorable

To me, this is a clear upgrade.

What I hadn’t realized until this week was that the “scone” phrasing was featured in a 2018 campaign by PETA to end “common phrases that perpetuate violence towards animals”. As with many PETA initiatives it instigated more eye-rolling than actual change – most of their proposed phrases are pretty awkward, and I’d argue we have more pressing linguistic battles to fight than the campaign to retire the poultry-hostile phrase “put all your eggs in one basket”.

However, in addition to the birds and scones, I also liked another of their suggestions: swapping “Beat a dead horse” with “Feed a fed horse”. It subs in seamlessly for the existing cliché, and it also replaces the quite unnecessary unpleasantness of bludgeoning a deceased equine. Everybody wins.


Living, Fast and Slow

November 30, 2020

At the core of narrative design is the concept of pacing.

Interesting things need to happen pretty frequently, and at a brisk enough tempo to hold our attention. New elements need to be introduced over time, and new situations should test our characters and help them grow.

That said, an intense pace can only be sustained for so long. Even action movies and thrillers – good ones, anyway – intentionally bracket their sequences of intensity and turmoil with moments where our audience can reorient themselves, and process what they’ve seen. Sometimes we need a short montage as our heroes recover from a major setback, or even a few seconds in a ventilation shaft to breathe and crack a couple jokes before we jump back into action.

While great storytellers work hard to manage their pacing and give the audience alternating action and reflection, life does no such thing. Our world, haphazard as it is, is perfectly happy to give us a year of almost nothing at all, and then a year of incessantly everything so much. Where an author or screenwriter will pick one to three plots to weave together, and give much thought to how the audience’s attention is directed to important moments yet try not to overwhelm us, life will toss us eleven plots at once, and say, “Here’s some stuff, I guess?”. Rather inconsiderate, frankly.

Knowing this, society has some structures, rituals of a sort, that attempt to regulate the pacing of this otherwise random walk we’re on. We designate a few days a year, here and there, as holidays. We elevate a certain time of year as “The Holidays” and normalize the idea that some kind of reflection, reconciliation, or recuperation may happen then – and then, perhaps, set us off on January 1st with some new goals, and a renewed focus on doing better the following year.

Or at least a fresh mind and a belly full of hazelnut chocolates.

So I guess we’re not entirely on our own with regards to pacing our lives, but for the most part we need to take the reins when it comes to what’s enough and what’s too much.

Meanwhile, cooped up at home, a friend or coworker is less likely to notice if we need a break, a shoulder, or a kick in the pants. In such a state, it’s even easier to let the world’s randomness put us off track. To let it overwhelm, or stagnate, or – a pairing that once sounded unlikely but is recently all the rage – both overwhelm and stagnate at the same time.

We all know the tools for managing this, in theory. Saying no to more things, or yes to more things, as appropriate. Putting in the time to evaluate our habits and goals, instead of just going day by day. Reaching out to friends and to professional help as needed. Long hot baths and boxes of hazelnut chocolates. We can’t always control the plot, but we can control our attention, and how we as the protagonist work through what we’ve been given.

Now, if you’ll excuse me, I’m off to source some chocolate and purge a horde of OmniFocus tasks I’m never going to get around to. It’s going to be glorious.


On Refining Apps' Text

November 9, 2020

I recently wrote an article on tuning microcopy – the tiny bits of text that lead folks through your product – over on the Steamclock blog:

Just like that, the complaints stopped. We went from receiving frequent annoyed reports that transactions were broken, to occasional kind suggestions that it would be nice if people could see more than 3 months of transactions. Everybody rejoiced.

So satisfying.


How to Not Build a Social Network

October 31, 2020

I hear that you’d like to build a new social network.

Seems like a good idea, right? Today’s social media is a tire fire, the companies that dominate it rake in billions monthly, and you have a novel concept for a social app that might make people feel less blue, while making you a lot of green.

So where do we start? Well, at the moment, the top result on Google for “how to build a social network” is an Inc. article so bad that it brings me physical pain to read:

The overall vision of your website is crucial. Macro scan that will break things down into categories such as user functions, administrative functions, and advertising is a must thing to do.

Macro scan? A must thing? Website?

Focus on the core values of your social media platform and build it the best you can. Success is inevitable if you plan everything the right wat.

Wat indeed.

I regret to inform you that success is extremely not inevitable, no matter how much you plan in advance. If you start building a social media app with any sort of “my vision’s strength will inherently lead me to success” mindset, your aspiring startup is going to get impaled on a sharp and very expensive spike.

Over the last ten years I’ve worked on almost a dozen social networking apps. I’ve worked on chat apps, sharing apps, and dating apps. I’ve seen product-market misfits, product launch faceplants, and strong teams that flirted with traction but just couldn’t get the numbers required to find a path to profitability.

Given this experience, I’d like to share a guide of my own. A resource for future generations of social media hopefuls, informed by my years of walking this path. What is the best way to build a social network?

1. Don’t build a social network.

That’s it. That’s the article.

Good night everybody!


This post is now over.

When I say “Don’t build a social network” it’s not some kind of “hack” where I claim the real way to build a successful social network is to not think of it as a social network.

Trust me, half the social networks I’ve worked on had executives insisting that they were not in fact social networks. “Just because our app revolves around people posting things, following one another, and viewing the aggregated content in a feed doesn’t make it a social network”. 🙃

I’m not saying don’t call it a social network, I’m saying it is a bad idea to try and build a new platform that revolves around consumers posting content and viewing one another’s content, and you should not do that.

Thanks for tuning in – please like and subscribe, and remember to smash that bell!


You’re still here.

Okay. I’ll make you a deal.

As long you promise not to use this information to actually go and try to build a social network, I’ll share a couple of the things that I’ve learned about why it’s incredibly hard to do. The goal is to convince you not to do it.

Although it can take a lot of engineering work to meet the “table stakes” of user expectations in this space, the truth is that it’s not entirely difficult to build a social network. The truly difficult part – fiendishly difficult, really – is successfully launching one, and then turning it into a profitable business.

Trying to iterate a community

Gall’s Law tells us that “a complex system that works is invariably found to have evolved from a simple system that worked.” This generally holds true in the world of software. So much so, that it broadly outlines the challenges of building software products: understanding what parts need to be complex, keeping the rest simple, and evolving the key parts effectively enough that they get Good before you run out of time or money.

Successful software businesses are generally built this way: you make a thing that seems like it’d be useful, then you have some people try it. Based on what you learn from those people, you make the software better, in a repeating loop until the software is Good. Good, in this context, means that your app retains users well enough that you make more money from a customer than it costs to get that customer.

One awesome thing about designing and developing tools – that is, apps that solve a particular problem – is that you can usefully test most tools using a pretty small number of users. If you can find 10 engaged customers that are a reasonable representation of the target market for your tool, you can often learn a lot about how you should be improving your thing, or determine if you need a change of plans entirely.

As a rule, social software doesn’t work that way. If you cloned Facebook at full detail and fidelity – which would be a staggering amount of work at this point – plus made it meaningfully better in a way that you think users would significantly prefer over Facebook, you couldn’t just onboard 10 representative people and determine if your thing was good. Your possibly-awesome codebase with no users would just be a bizarrely complicated ghost town.

Search for a friend it says, no results. Recommended groups, none. Top photos from your network, nothing. Trends, zilch. What an overwhelming waste of time. What am I supposed to do with this? Invite my friends? Not likely.

Part of this is the well-known “network effect” where a social platform gets more valuable when there are a ton of people already on it. But there is also a subtle, related issue – a kind of “noise floor” where for a social product, it’s hard to get any signal at all from your users when there aren’t a lot of them.

Consider that even if your theoretically-better-than-Facebook platform started to get adoption in some niche, who’s to say those are the users that fit the product best? The same app in 10 parallel universes could have highly varying levels of success depending on who their early users happened to be, and how that effected the community norms, product evolution, and so on.

So sure, you might have this very nice app, only for it to be initially colonized by rabid fans of badly drawn Sonic cartoons. Next thing you know, all your user onboarding algorithms “learn” that new users always want to be recommended looping gifs of a MS Paint style Sega mascot attempting to locomote poorly.

While you’re now excited to finally be getting some user data to start validation, and you appreciate users’ feedback that they wish the app would “run fast,” your team is concerned that they may be hitting a local maxima. While you’re happy to tell your investors about your recent uptick in active users, your growth team is finding that the difficulty of acquiring and retaining new users who are not Sonic fans has actually increased, entrenching the existing userbase. Given that you’d still need to scale your network to the hundreds of millions of users to build an independent advertising business that can compete with Facebook and Google, your investors start pushing you to find an acquirer.

FOR SALE: One social network; better than Facebook (we think); as is where is; currently infested with hedgehogs. Will consider all offers.

Shooting the moon

There are countless things that can doom a social networking startup, but most seem to follow a common trajectory:

  1. Raise investment around an interesting concept and the vision of a thriving user community.
  2. Launch with engagement and retention rates so low that the system needs to be constantly “fed” with expensive new user acquisition to keep learning and iterating the product, after which maybe you see some user growth but it levels off well below the enormous size that could make an ad-driven platform profitable.
  3. The product team struggles to get traction fast enough to justify the high burn rate, and investors lose interest and cut off the venture.

To be fair, the arc of most tech startups follow a variation of the above. The issue with social networks specifically is that the number of contributing users necessary to have a compelling product and the number of active users needed to ever turn a profit are just far higher than for most software. This makes them expensive to iterate and experiment on, and necessitates a smash hit in order to be sustainable. All startups are hard, but this combo makes social media startups exquisitely difficult.

As it happens, realizing this points us to a potential formula for building a social app in a less risky way: develop a platform that is very compelling even with a small initial group of users. If you can make something so useful that you can get a small group to pay for it directly, rather than needing to scale to the point that you can profitably sell ads, you can be sustainable and then grow organically. This is perhaps then less of a social network, and moreso a social tool.

You can see this general approach in certain non-traditional social platforms like Pinboard, most modern dating apps, and even the subscription-required social spaces for fans that have proliferated due to Patreon and its ilk. If you build something that users will pay for directly, a quirky but rabid fanbase becomes an asset.

Of course, a paid social platform for Sanic GIFs has less potential upside than something that tries to dethrone Facebook or Twitter. So, just as people buy lottery tickets, people will still try and build new social networks.

And, inevitably, they will keep trying to hire our team at Steamclock to help them do so. And I will keep trying to convince them not to build a social network at all, partially with arguments like I’ve made here and partially by outlining our ever-growing list of special requirements we have for social app projects.

And – if history is any indicator – my efforts at rebuffing them will endear them to us, and convince them that they want our team of battle-worn app developers who have built who knows how many failed social networks to bring our experience to their project, giving it a better chance at avoiding the pitfalls of their predecessors. And they will probably fail too.

This is my fate. But it doesn’t have to be yours. I’ve said my piece, I’ve made my case.

Don’t build a social network.

That said, it would be great if somebody actually did build a better social network. The existing ones are kind of trash…


6 Months in the Closet

September 28, 2020

A famous notion in the business world is the “Curse of the new HQ”. The theory is that companies tend to build out a swanky new office just as their success peaks, at which point a fancy space full of potential becomes an expensive millstone.

I saw this happen up close when I was first starting out in technology. I watched a growing company design and build a beautiful new office building, only to lose a client that was too big to lose. Within a year, I was helping them move out to a much more modest space. Although there doesn’t seem to be a lot of evidence for this being a statistically significant phenomenon, I’ve long been cautious about building out any kind of office for Steamclock.

Eventually though, after ten years in business, last year we finally committed to building out an office space that fits our needs. A place we could call our own. It’s nothing monumental, but I think it’s a nice place to work. By February 2020, we’d settled in.

Working from home every Wednesday was already tough for me with a 3 year old bouncing off the walls, so with the impending arrival of our second child and a pressing bedroom shortage, I decided I was done working from home. I sold my home desk, assembled a crib in its place, and poured one out for remote work.

Oops.

Within a month, our entire industry was working from home, as we waved goodbye to ye olde precedented times. Like everybody else on earth, I started searching for small desks online.

On account of our new space limitations, I didn’t have a lot of options for where to put a desk. Initially, it seemed there were no options. But as they say, “Desperate times call for removing the wire shelving from the closet near the baby’s crib and cramming a tiny standing desk in there.” A standing desk, not just for ergonomic reasons, but because there wasn’t room for a chair.

So there I was, six months ago today, wiring up a bedroom closet. Half CEO’s office, half sundress storage. Population: me.

At first, I resented it. It had no ventilation. Standing all day was tiring. The nearby breaker panel interfered with electronics. My elbow would often hit the doorknob. Getting in and out of the “office” was a mild feat of acrobatics.

This was all just slightly more annoying due to the fact we had literally just finished building a wonderful office that I loved to work in. Depending on our local advisories and statistics, I am still able to work at Steamclock from time to time, which was nice for a change but didn’t make the closet any more comfortable.

In time though, I came to terms with it. I made it nicer over time. I set up lighting and art so it wasn’t totally obvious I was working from a closet. It started to actually feel like a productive place where work gets done – a key station in my Spaceship You.

And work did get done. Our one-day-a-week working from home culture adapted to the new world. Since the initial “reorient and refocus” period, we’ve been productive and effective. We lost business in the travel sector, but gained more business in e-commerce. We kept the band together, and even have a new employee starting next week. Our work is far from over, but so far Steamclock’s doing well for a company in a world of turmoil, run from a closet office.

Still, it’s a very small office.

It’s so small that after a couple months I noticed out of the corner of my eye that I could see myself in the doorknob. Often, polished doorknobs get dull from frequent use, but this was the inside doorknob in a closet so it had rarely been touched over the years. Not only could I see my sorry mug in the reflection, I could see the entire 9 square feet I was working in.

I could see the tiny desk, and the various things I’d raised above it so there was enough space for a keyboard. I could see the lights in front of me, and the art behind me; the sundresses beside me, and the luggage above me. A 360° view of where I spend 30-50 hours a week.

Today, six months from the day I wired it up, is my last day in the closet. Like many people around the world, my family is moving to a new place that’s a bit bigger and a bit more suited to spending time at home.

As grateful as I am to be leaving the closet behind, there is a part of me that still feels the need to kind of say farewell. This space wasn’t what I wanted, but I’ve been very lucky to have it.

It was here that I learned how to work remotely, and how to make any space into a productive one. It was here that we turned lemons into lemonade. I almost feel like hiding a little commemorative plaque somewhere, tucked behind the clothing rack.

In this spot in 2020, somebody steered a business through a pandemic. It was dumb.

But it worked out.


The Case of the Missing Tuna

August 31, 2020

Fairly often, when I order food from DoorDash, I find that an item is missing. Of course, this should not be surprising, since DoorDash is a bizarre capitalist Rube Goldberg machine where every party – the restaurant, the driver, and DoorDash itself – seems to be having a bad time. It’s only fair that by patronizing and enabling this system, I should have a bad time too.

In their defense, DoorDash has long had a system for handling missing items. In the early days, they’d specially dispatch a driver to bring you the absent dish. This was impressive, but rather slow and hideously expensive for DoorDash.

In modern times, they scaled back to refunding the whole order if a part of it was missing. This leaves you a bit hungry, but it’s easy to get over a missing dragon roll when you’re eating free salmon nigiri. And let’s be honest, those dragon rolls taste so good that eating them might not have been advisable in the first place.

Still I’d often wonder, after receiving a notification that my dinner would be free, “How can this be sustainable?”

The answer will surprise you: it was not sustainable.


If you’re the sort of morbid person that likes to follow financial news about food delivery and other “gig economy” companies, you might have seen that, like its competitors, DoorDash has a margin in the range of negative 50%. That’s Wall Street speak for “giant cash-fuelled bonfire”.

As you may know, cash is not the ideal fuel for a bonfire, and as such it was only a matter of time before things changed. This year, the inevitable happened: DoorDash switched to only refunding the missing item. This is patently reasonable – I can’t fathom how many orders it would have taken for them to make up the cost of refunding me $40 when they missed a single salmon roll – but it can still be a downer.

For example, a few months back I ordered two personal pizzas – one for me and one for my wife. Only her pizza came. They refunded mine, but we still paid the full fee and tip, and I ended up eating cereal for dinner. My experience was not five stars. (For those keeping score, the cereal was Nature’s Path Flax Plus® Cinnamon Flakes, which are five stars.)

So it’s not great, but whatever. I shouldn’t be using a delivery app anyway. This is reasonable penance.

Something’s fishy

This week, things changed yet again. As it happens, my latest order was missing a mango tuna roll. Whether it was due to a policy change, a magic threshold, or my stubborn ass being too willing to keep ordering from restaurants that leave out items, DoorDash’s system flagged me as a problem customer. Perhaps the algorithm found it suspicious that anybody really wanted a mango tuna roll in the first place. I really can’t say.

In any case, the app informed me that I wasn’t getting the roll, and I wasn’t getting refunded for it, and if I was unsatisfied I should contact support. Eyebrow firmly raised, I politely informed their support chat about this injustice. The agent apologized, offered to “check what happened”, then after 60 seconds closed the chat.

A second attempt led to a message that they would no longer compensate me for missing food due to my account history.

The nerve! After the dozens of times I’ve offered them the opportunity to deliver me food at a loss, after all the money they’ve spent on me, they just toss me aside. They clearly don’t appreciate what a critical part of their business I am. I can only hope my tuna went to a good home.

I must say that it’s hard to justify using their service anymore if they’re going to continue charging me for food I didn’t get. From here on out, Doordash isn’t going to get any more chances to lose money on me, no sir.

Now, in theory, I should start ordering our sushi directly from the restaurant, but there’s a little complication: our preferred sushi place doesn’t have their own delivery.

Luckily for me, there are other fish in the sea. Not other sushi restaurants – there are hundreds of those, but any Vancouverite knows that finding the right sushi restaurant is a serious undertaking. But there are a variety of other delivery apps, eagerly waiting for a chance to bring my family sushi using their VCs’ money.

So for now, I’ll switch to another app. Maybe they’ll have a better system for helping the restaurant ensure the whole order is in the bag before it’s picked up. Or maybe they’ll find a way to earn enough money to comp the occasional wayward tuna and still stay in business. Or, most likely, they’ll just implode, one by one, until my entire generation starves – or at least becomes tragically deficient in Omega-3 acids.

In any case, so long DoorDash. Thanks for all the fish.


Being Good at Roulette

July 31, 2020

The first time I visited Las Vegas was on a business trip. I was 21. My official mission: train a large customer on our new software. My unofficial mission: try my hand at a Vegas table game.

Now, I’m a pretty logical person. Given that there is no such thing as luck, I knew that betting at a casino is irrational – unless perhaps you’re cheating, or you’re very good at poker. Still, I thought it would be fun. Pay $20 to say I lost some money in Vegas.

So on my first night, once I was happy with my slides, I ventured down to the casino floor of our hotel. I observed the various games as I passed by, but I knew where I was headed: roulette. It seemed to me that there was no simpler, no purer a way to lose your money in Vegas than roulette. The nakedness of its terrible odds were part of the charm.

I approached a table, and watched the guy ahead of me play, studying the etiquette. When he cashed out, I sat down and turned my $20 into 4 chips, $5 each.

Nervously, I reached out and made the simplest bet I could. $5 on black; I won $5. I put another $5 on black, and again won $5. “Okay, I get how this works.” But I wasn’t there to try and beat the house. I was there to lose my $20. So I took $5, and put it on 17. And won $175.

Of course, I made the next logical move: I cashed out immediately. I had gotten temporarily lucky, and I cashed out feeling like king of the world. I bought a hideously expensive whiskey cocktail and felt proud for trying something new.

The next day, as I was gearing up to fly home, I found myself passing near that casino floor again. Remembering how much fun I had last time, I thought I might as well take a second crack at my goal of losing $20. I sat down at a different table, but this time went right to my patented strategy: I bet $5 on 17. And holy shit, I won $175.

Now, this is not a great thing to happen to somebody. I mean, in one way it was extremely great – sweet, another $175! And cerebrally, I knew that hitting two single bets in a row is an extreme fluke, a 1444 to 1 chance. But the emotional high from that hit, the endorphins and adrenaline, it messes with you. You can enter a casino a logical human being, yet next thing you know you’re asking yourself, “Huh. Am I… good at roulette?”

You will be surprised to learn that I am, in fact, not good at roulette.

After promptly losing $100, I cashed out and headed to the bar. This time I felt less like king of the world, and more just a participant in the human condition. Still, I suppose, $100 was a small price to pay to learn conclusively that I am not good at roulette.

Luck tends to cause problems. When I say luck in this context, I don’t mean the fostered luck that results from being open minded, observant, and keeping a positive mindset. It does seem that people who think of themselves as chronically lucky do have more positive things happen to them, partially due to how they approach life.

Random luck, though, that just happens. Random luck is something you stumble upon. It’s the privilege you were born into, and the coin flips that have gone your way since. While it’s certainly nice to receive random luck, it’s not all roses. When something goes your way, your instinct is to feel like you’ve earned it. Random luck can initially make people feel guilty, and that cognitive dissonance often leads to people reframing their good fortune as the product of skill or hard work. The next thing you know, people feel entitled to the spoils of chance.

Besides the thorny problems of entitlement, if you’re not careful random luck can also make you a less effective person. At best, an unearned windfall can make you less motivated, less hungry to make things better. More dangerously, a lucky success can make you overestimate your skill, leading to a kind of luck-generated Dunning-Kruger effect.

As it happens, most great leaders seem to intentionally stay mindful of the role luck has played in their successes. When luck comes up, Barack Obama is eager to acknowledge the factor it played in his life – skill and hard work were necessary, but not sufficient to achieve what he did. Meanwhile, if you ask his successor about luck, you’re more likely to hear about how luck just amounts to hard work, or that success is not due to luck at all. Such are the differences between a thoughtful leader and a lucky idiot.

In fact, the majority of the highly successful CEOs they study in the book Good to Great name luck as a key factor in their success. While that is kind of strange – the whole point of the study was to determine what objective factors lead to successful companies – luck-awareness seems to actually make people more effective. Correctly attributing some of your success to luck seems to inoculate you against arrogance, and foster that lucky mindset, which we know can itself be helpful.

So, it seems, that’s the formula. Next time you have an unexpected success, don’t let it rob you of your humility. Don’t let your mind trick you into believing you’re somehow good at roulette. But do try to be mindful of your good fortune.

I bet you can think of five reasons you’re lucky right now, and you can create even more luck just by adopting a positive and open perspective on things. All because you happened to read some blog post about roulette.

I suppose you’re just lucky.


The Secret Rules of iOS Development

June 30, 2020

Two weeks ago, news broke that Apple rejected the iOS version of Hey, Basecamp’s highly anticipated new email product. The reasoning? Like many apps on iOS, Hey didn’t support Apple’s in-app purchase system. Not long ago, Hey’s app would have been approved, but a recent change to the secret rules – not the public guidelines, but the actual policies Apple uses to selectively enforce those guidelines – resulted in a surprise rejection.

As he often does, Michael Tsai compiled quotes from various articles and stories that resulted. The first comments were from pundits and observers, but they quickly gave way to a catalogue of greivances, unpleasant surprises, and weird injustices developers have faced over years of App Review, often due to rules that have never been publicly acknowledged by Apple.

In response to the ensuing bad press, Apple allowed Hey onto iOS – despite it still violating the guidelines – and announced that developers will be getting a mechanism to challenge Apple’s review guidelines.

Which is definitely something. The idea seems to be that Hey will have a chance to challenge Apple’s public guideline about multi-platform apps, which says that apps can only allow users to access content, subscriptions, or features they have acquired elsewhere if they are also available via IAP.

While it’s great that Apple is open to these rules being challenged, it seems that the things most worth reconsidering about App Review aren’t even part of the public guidelines. Will Hey be able to challenge the secret rule that says they need to follow the IAP guideline, but that Slack doesn’t? What about the policy that iOS apps can’t be distributed directly to customers? Or Apple’s habit of quietly changing the undocumented approval policies, without notifying people that apps that used to be approved will now be rejected?

Or the existence of secret App Store policies at all?

I suspect not. Chances are, iOS app development will continue to depend on reading tea leaves and following other developers’ tales of surprise rejections, never fully knowing exactly what can and can’t be distributed on iOS at any given time.

But hey, a developer can dream.


Half Here, Half There

May 31, 2020

There is a lot that needs fixing right now. There is a lot of injustice, a lot of suffering, and a lot of inequity. A lot of work to be done.

If you’re lucky enough to be in a position that you can donate something to organizations doing that work, there is no time like the present. But it can be difficult to decide exactly which organization to contribute to. There are a lot of good fights, and countless groups fighting them.

Do you fund activists in Minneapolis because you’re rightly furious about what is happening, or relief efforts in your own backyard because your community is your responsibility, or organizations fighting climate change because it’s a species-level threat, or groups distributing mosquito nets because Bill Gates says they prevent the most suffering per dollar, even though you’re watching a nation tear itself apart and really don’t care about mosquito nets right now?

It can cause a bit of analysis paralysis.

Maybe you give to all the causes you care about, or the first one that hits home for you each month, or you use some other philosophy that guides what you donate when. If you have an approach that is working for you, then awesome.

But if the paradox of choice has fuelled a bit of procrastination or inconsistency in your charitable acts, I have a suggestion that may help get you unstuck: Choose an amount to give. Give half of it near, and half of it far.

The parameters are up to you. Maybe you give $5,000 to Doctors Without Borders, and $5,000 to an indigenous rights organization in your city. Maybe you give $20 to a group in Minneapolis, and $20 to fighting climate change. The point is to break the loop of being overwhelmed by choice, and pick a couple places you can put your money to work.

As a bonus, you could consider evaluating how much impact your dollars – or euros, or whatever – might have. There are organizations that attempt to answer this question. For example in Canada, Charity Intelligence attempts to score charities on factors like demonstrated impact, financial transparency, need for funding, and what percentage of donations go to overhead costs. This is of course an inexact science – it’s a lot easier to demonstrate a local outcome like housing somebody in need than than a historic outcome like helping get a law changed. Still, it’s worth considering where your dollars are going, and avoiding a loop where donations primarily fund a marketing machine, rather than a change engine.

That said, the most important step is doing something. When we’re overwhelmed, making simple rules for ourselves can help. Don’t let the size of it all push you into doing less than you can.

Archive of all articles →

© Allen Pike. See also Twitter and Steamclock.