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.


The Teams You Worked on May Have Sucked

June 1, 2021

As we grow at Steamclock – we’re now at 14 and hiring our 15th – we’re getting more intentional about how we do things. I worry less about how to do the work, and more about how to build the team and our processes.

Which is great. But it’s a problem set that is a bit more… ambiguous. We want to constantly improve. But how do we separate the big opportunities from the stuff that’s just inherently annoying?

There’s a sentiment I sometimes hear when we’re considering these kinds of problems:

Well it’s not great. But we’re already better at this than any company I’ve worked at before.

Which is nice to hear – we’re already the best! Phew. Maybe it’s just a hard problem, and nobody’s great at it. We can just move along and… wait a minute. Waiiit a minute.

We’re better at this than any company you worked at before. But how did things go for those companies? Poorly enough that you left.

Do they even exist anymore? If they do, presumably they’ve gotten better. If not, they’ve been replaced by leaner and smarter competitors. Meanwhile, we’re comparing ourselves to companies that couldn’t retain great team members. We’re ignoring the existence of the teams that are out there kicking ‘tocks, and defining the new standard for how ‘tocks can be kicked effectively and profitably.

Of course the past experience of our team members is invaluable. But we need to be actively researching what effective teams are doing nowadays. Find people who work at companies that do great work. Read what they write. When you can, build a relationship where you can share what you know and they can share what they know. Don’t let yourself feel smugly superior to the last generation of companies.

Benchmark yourself against the folks kicking the most ‘tocks.


Should You Build a Mobile App?

May 6, 2021

I talk to a lot different companies about their mobile app plans. Sometimes they have a really compelling business case for an app. Sometimes getting a quality app their customers’ hands is the key to supercharging their business, and is something that will pay dividends for years.

More often, it is… not that. Usually they just need a website.

So my team made a little checklist to help explain to folks why they might (but probably don’t) need an app.


Books Are a Seed You Can Plant

April 30, 2021

For most of my life, I rarely read books.

I’m a pretty high-energy person, but a rather slow reader. Ever since I grew into an Extremely Online teenager, books have felt a bit… sluggish. Less informative, per hour invested, than the alternatives. Low density.

I’ve always loved the idea of books. But did you know that finishing a book can take days, if not weeks?! Meanwhile, our world is thronging with fascinating topics, perspectives, and information. There are so many things one could be learning about. You could read dozens of short-form articles – or thousands of tweets – in the time it would take to finish a book!

Going wide

Unfortunately, there’s a problem with gorging short form writing. Although it can expose you to a wide array of things, your understanding of those things eventually hits diminishing returns. Eventually, all the quick takes start to sound familiar. The Wikipedia articles start to feel a bit samey.

A book, on the other hand, can take you in a different direction. It can help you go deep.

In long form, authors can do more. They can do more setup, provide more context, and build a more thorough framework for considering a topic. They can also give more memorable examples, work through more potential criticisms, and offer more variants of their most useful ideas.

Something I’ve only recently come to understand, though, is the value to readers of going deep themselves. Taking the time to read something a little bit each day, highlighting passages, taking notes, and thinking about a topic throughout the week helps you really process it. You can consider something in a deeper and more meaningful way, often leveling it up from something you’ve been exposed to towards something you can do – or even teach. You can really immerse yourself in how this thing really really works.

Of course, it’s not possible to engage in depth with every topic out there. But for me, going deep on a few things a year has been really cool.

When building teams, we sometimes talk about the value of “T-shaped people” – folks who have a broad array of experiences and skills, but also deep experience in a specific area. In the same way, mixing a few deeper works in with the broad reading we do online can make for a powerful combination. A T-shaped information diet.

And it can be really nice to get some distance from the shitstorm du jour. Not all books are timeless, certainly. But their production cycle lends itself to ideas and treatments that might still be meaningful years, or even decades later. Whether you get your recommendations from Goodreads, friends, or coworkers, you’re probably not going to be inundated with books like Everything you need to know about Apple’s AirPod Socks production delay rumours. Or You Won’t BELIEVE What Elon Musk Just Said About NFTs. And that’s pretty great.

Since books often have more durable value, you can also justify putting a little more into reading them. You might add a few notes, highlight some passages – Kindle makes this easy – and write a brief reflection afterward.

Afterwards, you have gained not just the knowledge of the book, but a new tool in your belt. A new seed you can plant in the minds of others – or your future self. You can refer to your notes when you revisit the topic.

Of course, any book is at its best when you read it at the right time, and sometimes that time isn’t now. But by taking notes, you can cue yourself to revisit it later, when it’s exactly what you need.

Recommending a book to others can be a bit trickier. A lot of busy people don’t exactly love having “read a whole-ass book” added to their todo lists. But if you have a culture of reading on your team or in your family, then building a library of books you can suggest or refer to can really help you help the people around you.

Admittedly, getting there can be a little slow. But sometimes – especially when everything is feeling like a lot – slowing down can be worthwhile. Nice, even. Just for a while.


Remote Hiring at Steamclock

April 21, 2021

I’ve spent the last year trying to decide if Steamclock should go all-remote, or if we’re better off going back to all-in-office. Both options have substantial upsides! And both avoid the dreaded “hybrid” meetings with half the team in a conference room and half on Zoom.

I feel a bit silly that, after all this time, we’ve decided to do neither. For us, neither extreme is going to build us the best team, and lead to the best software.

Still, I think our approach for avoiding hybrid meetings – namely, cutting down meetings – will be great. And “Vancouver HQ or Remote” feels like the right heading on our job ads.

So if you’re one of the many thoughtful, skilled developers doing quality work in many of Canada’s beautiful out-of-the-way places, I’d love to chat! Especially if you make apps. But even if you don’t – yet.


An Iterative Workflow for Attention

March 31, 2021

I am not instinctually a planner.

In school, I didn’t keep a todo list, or even a calendar. I would make the occasional list, but for the most part I was a “we’ll do it live” sort of person. And sometimes that served me well!

And other times it didn’t. At times, I would end up needing to pull an all-nighter to finish something. Or feel discouraged by the sheer number of half-completed projects I had laying about. Or only realize that today is midterm exam day because the test papers are being handed out this very moment.

I did okay in school, but it was certainly more stressful than it needed to be.

When I got into the “real world”, especially once I started a business, the seat of my pants stopped being a viable method of flight. When you’re running the team, nobody is reminding you to do things. You either do the important things, or you’re gonna have a bad time. If you forget to invoice a client, or neglect to check in with one of your team members , things will get rough and it’s your fault.

You need a system to draw your attention to what’s important, before it becomes urgent. For me, I maintain that system in OmniFocus.

Being kind to future you

Many years ago, I started my time management journey the way many people do: with a calendar, Things, and the book Getting Things Done.

I had a hard time getting through the book – David Allen is far more interested in putting pieces of paper in filing cabinets than I am. But I liked Things. It’s simpler and prettier than OmniFocus. That makes it a good place for establishing some core habits that can put focus on what’s important:

  1. Capture everything that is worth doing, bothering you, or distracting you.
  2. Organize it into a simple system that flags what’s actually critical.
  3. Iterate that system and your habits over time.

After a couple years improving my habits around capturing and organizing, I started to hit limits when it came that third point: iterating the system. Things is a great starting point, but switching to OmniFocus gave me the power I needed to start really getting in there, patching and refining my workflow to keep me focused and effective.

In the years since, I’ve wound my way through many different setups and workflows. I’ve learned a lot about what my personal weaknesses are, and what kind of setups are the most effective for me.

I also should say that, recently having re-read Getting Things Done, that there are a ton of useful ideas and tips in there! Is the revised version better? Or did I just grow up? Either way, a really useful book. Still gonna be a no from me on the filing cabinets though.

Anyhow, after many attempts at devising the One True System that will bring me ultimate productivity and focus, I’ve come to terms with the fact such a system can not exist. As life and work are always changing, and so are our habits, and priorities, and weaknesses, the ideal system for a given person is always changing. To stay effective and calm, I now expect to keep tweaking my workflows over the months and years to come. The system now grows along with me, so it can help keep me focused on what’s important.

Iterating work, life, and systems

My need for iteration became even clearer in 2019, when we made a big decision at Steamclock. We decided to leave a safe, calm territory we’d occupied for years – a 10 person studio with no real structure or management layer – and start growing. For a decade I’d managed our development team directly. Now I manage managers, and we’re hiring and building like never before. I’m now presented with 10x more interesting ideas and opportunities than I was previously. I run strategy meetings now? I basically have an entirely different job than I did two years ago.

During this transition, we also got thrown into unexpectedly working from home, and my family welcomed our second child.

So it’s been a lot. Together, these changes have meant I’ve been flooded with things worth doing. Which is cool! But there now are way more things coming to my attention than I can actually do, or that we can even do as a company. So as is the way, I started trying iterations and variations on my workflow to handle this. Tuning it, so I can effectively navigate this new environment.

When doing that work, there are 4 principles I’m looking for. In rough priority order, I want to see that:

  1. Time and attention is going to what’s important – I’m not only working on urgent things.
  2. Blocked and “someday” stuff is out of mind – not distracting me from the “now” stuff.
  3. The system is resilient – if I get overwhelmed one week or neglect maintaining the system for a while, it needs to still be workable.
  4. The system calms and motivates – it should be a source of focus, not stress.

If the above is true about my setup, I’m in good shape. If not, it’s time to experiment to get me back there.

Since my setup is relatively simple as far as OmniFocus setups go, it might be interesting to folks who are on their own journeys, trying to achieve a little more peaceful control over their task lists. So here’s where I’m at.

The Forecast

My most important view is OmniFocus’ Forecast view. This is where I pull work from, primarily. In the Forecast you set can up a “hero tag” so any actions with that tag will appear, sortable, underneath anything that is now due.

I’ve learned, through trial and error, not to over-use due dates in OmniFocus. Deadlines are powerful things, but putting fake due dates on stuff tends to set you up for “due bombs” where a bunch of stuff is supposedly due but only 1-2 of the items are really due. I prefer to only set due dates where an actual bad thing happens if you don’t do that thing by then. I’ll often indulge by also putting a “fake” due date on a couple of my most important things – but that’s it!

On the other hand, Defer dates are wonderful. If you can’t do something right now, or you’re realistically not going to do it anytime soon, but it’s still pulling on your attention, then defer it. Bye, thing! I have a ton of deferred tasks in the system. I don’t think about them, until they’re useful.

Naming actions

OmniFocus is a way more motivating place to be when you’ve named your tasks not as if they’re reminders, but rather like recipes for getting started. That’s why the app calls them “actions” and not “todos”. GTD calls this principle the “next physical action”. My rule is if that I look at a thing, it should describe the way I go about starting it.

My follow-on rule is if I find myself still not starting an action, even though it’s important, I try rephrasing it. I’ll try adding more detail about how I can start doing it, or even just use different wording. I want my lazy “monkey brain” to see an action, and instead of thinking, “Ugh right, that thing I haven’t done” it will think “Okay, I can easily start that.”

Projects

David Allen defines a project as anything that takes multiple steps, and which you will complete in the next 12 months. That’s cool, but I find it a huge distraction trying to organize my OmniFocus Projects that way. Creating hordes of Projects with 3 items in each is too much work for me, and it’s a pain trying to clean up my inbox when I have a horde of Projects set up that are weirdly worded because I wanted them all to be actionable and completable.

Instead, I keep about 10-15 ongoing work Projects, mostly named after areas of responsibility in my role, roughly sorted by importance. I keep about the same number of home Projects, set off in a folder. They all start with emoji. Obviously.

I often name Projects with reminders about why the thing matters, paired with a quick keywords for autocomplete filing purposes. I do marketing to bring in new clients and customers – it’s not an end to itself – so it’s called “🧁 Find new clients – marketing”.

Sometimes a project is important and complex enough that I do want to promote it to a top-level OmniFocus Project. Often, though, multi-step things live in my system just as the next action I’m going to take on them, often with a reminder of why attached. For example, I might have an action like “Refine this hiring principles doc, so I can share it with the team”.

Finally, I’ve learned to notice certain patterns that indicate something has gotten off track and needs a changeup. If a project isn’t well served by this system – it’s stressing me out, or not getting done, or just gumming up the works – I’ll usually try promoting it, demoting it, splitting it, or renaming it to get things moving.

Getting Things Calmer

I have two special projects. These sit on the top of my work and home project lists, respectively: “🎯 Make work more relaxed and focused” and “🧘🏽‍♀️ Make home calmer”. These are for fixing things that are distracting me, impeding me, or otherwise harshing my vibe.

Sometimes these lists clear out and I’m just happily working on project work. Other times though, there are so many things I should be doing that I notice myself getting overwhelmed and actually doing fewer things. If you notice this, it’s a warning sign that you’re veering towards burnout. In those times, I find it really useful to put a priority on clearing out things that are contributing to that stress or distraction. This might be responding to an intense email, finding a meeting we can cancel to open up more focus time, even just cleaning up my desk. Simple tasks that help bring back focus can have a huge payoff.

Someday

One issue I’ve recently been getting more strict about is “someday/maybe” projects. As I’ve gotten more and more ideas of things that seem worth doing – from our team, from books, from the daily inputs of running a team and being a parent – my OmniFocus projects have become infested with interesting potential actions that, if I’m brutally honest with myself, I probably won’t actually get to. Especially not in the next few months.

If you can get real and convince yourself you’re not gonna do the thing, you can just delete it. That’s not always fast and easy though. Look at all those cool ideas! It would be so great if I did them! So what a lot of people do is put things they want to reconsider doing later in a giant “Someday” project. When I’ve tried that, “Someday” quickly becomes a black hole from which ideas will not return. An admission of defeat, and source of angst.

But!

I’ve had great success recently with, instead of one giant Someday list, demoting not-right-now actions to a set of “Ideas” lists. Marketing ideas, Learn a new song, Ways to improve process, Prototype an app idea, and so on. This has made it psychologically easier for me to demote a non-critical action that’s clogging up my OmniFocus, since it will be easily findable and retrievable if do want to spend more time on whatever kind of idea it is.

Like many habits worth building, this is kind of an arbitrary distinction, and its benefits are mostly psychological. Which is fine! It satisfies my monkey brain and that helps me live my best life. A life which may or may not involve actually doing anything with the things I stick on those lists. 😅

There’s another form of Someday task I’ve been recently banishing with great benefit: other people’s Someday tasks. As a manager, I often have or receive ideas about things another team member could do. In busy times, I’d be reluctant to say “Hey, how about someday you do X?” since it was liable to distract people from the actual top priorities of the day. So I’d instead store them in my OmniFocus, and I’d feel recurring angst about whether now was the time to promote this to a “Hey now you should think about this” idea.

Recognizing the folly of this, I’ve made a big move to get those things out of my personal system and into ones we share as a team. It doesn’t matter if it’s Notion, Google Docs, Trello, or even a shared Apple Note. Having these ideas and tasks off my computer and on the fringes of our team’s radar – yet clearly labelled as “someday” tasks – has been a big win for us all.

Tags

Like many people, I set up my OmniFocus with a “Home” tag and an “Office” tag, so I can filter out stuff I don’t want to look at right now. I have a sub-tag of Office, “Now ☕️”, that I use as my next actions for work, which I keep in my Forecast view. I used to call it “Today”, but that was too often a lie and was causing a bit of angst, so now it’s “Now”. Always be iterating.

Beyond that, I mostly use tags to experiment and prototype. For example, I recently noticed how often I was looking at actions that I could in theory do any day, but which I couldn’t do right now because the baby was sleeping. My home tasks were starting to get crowded with blocked actions: take a specific baby picture, fix something in the baby’s bedroom, whatever. The problem is that whenever the baby is awake, I’m probably not looking at OmniFocus! So I’ve been trying out a sub-tag of Home I’ve called “Baby Awake” for these actions. It’s usually On Hold, which hides them unless I specifically seek them out. Seems to be working well so far.

This is the kind of thing tags are great at: trying out workflows. They can be easily discarded if they don’t end up be worth the effort of maintaining.

Flags and Perspectives

Flags are another thing you can use for ad-hoc prototyping of new workflows. The main thing you need to avoid with flags is over-using them. If most of your actions are flagged, then none of them are flagged.

Currently, I use flags to indicate “this thing is more important than most other things in its project”. I often sort things in my Projects in rough priority order at Review time, and flagging something as it goes into the Project helps me do that quickly.

Flags also power a Perspective I’ve called “Office Next”. That’s where I go when I’ve checked off most of the “Now” items that appear in my Forecast, so I can populate it with a few good candidates for what’s next. Importantly, that Perspective only shows me things I haven’t yet promoted to “Now”.

I also have a “Home Now” perspective which makes use of flagging. This is more or less the Home version of the Forecast view I use for work. It’s also pretty simple: basically things that are due or flagged in my Home projects.

I know that there are a lot of folks who advise against relying on flagging as a core part of your workflow. Flags’ meaning isn’t explicit, and they’re easy to make a mess of. But flags are also really visible, and easy to make use of. In my opinion, they’re a handy tool in the toolbox.

The Review

The last key piece of the puzzle is doing a periodic review. I do cleanup, promote what’s important, jostle stalled work, and make sure I’m not missing anything critical. OmniFocus’ Review feature is really helpful for this, where it brings up each project for review on a frequency you decide – I use the weekly setting for a few key projects, but most of mine are set to come up between every 4 weeks and every 12 months for my “someday” stuff.

To ensure it happens, I have a time blocked out at the start of our weekly No Meetings Day – you should also have a No Meetings Day by the way – where I do a fairly quick Review. This takes me between 20-60 minutes, depending how things are going, and how much I’ve been neglecting my system. If I find it’s taking too long to get through a Review, or things are getting really messed up whenever I miss one or two weeks of Reviews, that’s a signal to me that my system is overcomplicated and I need to shift back towards to where I started: having a simple system that flags what’s important.

Living your best life

How did somebody who is not instinctually a planner, a person predisposed against specifications and overformalization, end up with over 1000 actions cleanly organized with a myriad of tags, rules, repeats, and reminders? One step at a time. If you’re new to this stuff, I encourage you to start with something, and experiment.

Likely, you’ll get off track from time to time. The framework you try at first is unlikely to be the right one for the way you currently work, and your particular mix of strengths and weaknesses. Sometimes it’ll get out of hand. That’s how it goes!

All you need to do is come back to the core principles – getting the not-now stuff off your mind and the most important stuff on your mind – and iterate.


I also presented this topic at Learn OmniFocus, where I gave a more in depth view of my workflow setup.


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…

Archive of all articles →

© Allen Pike. See also Twitter and Steamclock.