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.

Multiply Your Time

August 31, 2019

One of my most hated things is when someone over-fills a garbage bag.

You see, an almost-full garbage bag is a small task to deal with – you just close it up and pull it out. But an over-full garbage bag is a problem. Suddenly, you can’t just pull it closed anymore – dealing with the bin now involves biohazardous juggling, something nobody is inclined to do anytime soon. The resulting additional procrastination leads to, in most cases, an unstoppable garbage snowball that eventually destroys humanity itself.

Everybody has their irrational pet peeves. As long as I can remember, this has been one of mine. For years I always tried to prioritize the task of emptying the bin before it got over-filled. Sometimes I succeeded, but other times I failed, and a stupid garbage can would put me on tilt.

One day, when I attempted the task of emptying the bin, I found it over-full. And instead of emptying it, I left. I left for Home Depot, on a different task that would change how I thought about prioritization forever: I bought a smaller garbage bin.

It may be obvious to you, but for years I ignored the root cause of my age-long grief. I did nothing about the thing that actually enabled people to pile in more garbage than the bag could hold: the bin was bigger than its bag. By buying a smaller bin, the same bags simply couldn’t be over-filled. Even the most precariously over-filled bin could be wrapped up swiftly and neatly, using the specially reserved portion of bag draped on the outside of the bin, ready and waiting for duty.

It was glorious.

The quietly worthwhile

There is a lot of stuff you should get done.

Or, more accurately, there is a lot of stuff you feel like you should get done. My OmniFocus tracks 860 actions that, at one time, I felt like I should do. Many of them won’t get done. But there are some things in there that I truly should do, and if I do them, I’ll be very glad.

The question is: which ones?

Some actually-important things are urgent. If you don’t renew your passport, you can’t go on your upcoming trip. If you don’t empty the garbage before garbage day, you’ll be stuck with old garbage for two weeks. The task needs to get done, you need to do it, so you just gotta do it. It’s kind of obvious, because it’s both urgent and important.

More interesting, though, is the non-urgent stuff that is nevertheless very worthwhile. The tasks that are easy to defer, tempting to procrastinate, but actually more important than the supposedly urgent tasks: the smaller garbage bins, waiting to be bought.

So, when I’m looking at things I should do, I keep an eye out for certain kinds of tasks: work that isn’t urgent, but can multiply time. Things that could pay off for months or years to come.

In particular, I try to consider if I can:

  1. Automate. Can you spend 1 hour simplifying or automating something that would then save yourself 5 minutes a week? If so, then I have an incredible investment opportunity for you: you can invest time – the most precious resource we have – at a 430% annual interest rate. The busier I get, the harder it is to get around to tackling these automation and simplification tasks, but the more worthwhile it is.
  2. Teach. If there’s somebody who’d be willing to do this task in the future, but they don’t know how yet, then you have a big opportunity. The long-term payoff for teaching someone how to do a task can be massive. Even in the case of successfully handing something off only for it to “boomerang” back later, having taught still improves your understanding of the work and makes you a better teacher for the next attempt. If you’re in a leadership position of any kind, you don’t have the time not to be teaching people.
  3. Calm. Like many people, I have a certain amount of tolerance for frustration and stress in a given day. At a certain point further annoyances, even small ones, cause disproportionate reactions and sap energy from me and those around me. That’s why I find it useful to prioritize fixing anything that is a persistent aggravation or stressor. In OmniFocus, I keep an ongoing project “Make Life Calmer”. Doing work today that will make tomorrow calmer and more focused is a great investment, and will let you use your future “stress budget” on something more meaningful than the fact the damn kitchen drawer is stuck closed again because the saran wrap and aluminium foil boxes got pushed on top of each other again and god DAMN it why do I have three different sets of measuring cups in here augghhhh.
  4. Improve. It is extremely easy to procrastinate making yourself better. It takes motivation to build new habits, learn how do to something “right”, or to address a longstanding problem. But this work is profoundly worthwhile, since small investments here can have huge payoffs. After 35 years of using a computer like a dumb animal, I’m finally learning how to sit, type, and work in a way that doesn’t permanently injure my wrists and shoulders. Reading books about RSI or learning better posture aren’t necessarily my idea of fun, but I’m going to benefit from the investment for decades to come.

Diamonds in the rough

Next time you’re cleaning up your todos, considering a new goal or theme, or just feeling over-busy, consider how you can be multiplying your time. What things, once done, will have an impact that pays off for years?

What is your smaller garbage bin?

Being More than Nice

July 31, 2019

I try to be nice to people.

While being nice is relatively popular here in Canada, being nice is not necessarily popular in the business world. There’s something about business that makes some people feel like it’s a license to be a heel. “Well, that’s business, kid.”

Well, that’s not the kind of business I want to be in. Over the years, my team and I have made a point of making nice things and being nice to each other while we’re at it. It’s pretty simple, and it makes for a nice work environment. It’s great.

A few years back, I was at the excellent XOXO conference in Portland. Some friends and I were sitting in the sun, enjoying our cereal from a van or whatever weird-ass Portland breakfast we were eating, when an acquaintance came over from a nearby food cart with a delicious-looking free-range egg sandwich.

Now, this was a developer I’m friendly with and am always happy to see, so we quickly got to chatting. And as I talked and my acquaintance ate, he had the misfortune of getting some egg on himself.

I noticed, but I hesitated to call attention to it. To call out somebody’s appearance in a public setting, that’s not very nice, is it? So I did a rather Canadian thing – I acted like nothing was wrong.

This was a miscalculation. You see, I hadn’t considered that eventually, inevitably, my conversation partner would realize my deceit. Indeed, before long he noticed that, in a very literal sense, he had egg on his face.

Upon discovering this, he asked mournfully, “Why didn’t you tell me?”

It was a very good question. I may have felt like I was being nice, and perhaps by some shallow definition I was. But I was definitely not being kind. Immediately, I felt like the one with egg on my face. While I can only hope my friend has long since forgotten this minor cruelty, that moment has stuck with me.

Being kind vs. being nice

The distinction between niceness and kindness can seem subtle. While being nice might involve acting polite, positive, and pleasant, being kind is deeper – it’s about being caring, sympathetic, and helpful. In many circumstances the kind thing to do is simply to be nice. In some circumstances though, the kind thing to do is to be direct. Or clear. Or firm.

In learning to run a business, I found early on that however nice you are, you still need to set distinct boundaries and limits with clients in order to, for example, get paid. And when it comes to close friends and family, it can be second nature to prioritize kindness, even when it means having a less than nice conversation to help fix a problem.

The difficulty comes, I find, with acquaintances and colleagues that I’m not necessarily close to, where I can easily get away with just being nice. It can be too easy to just have conversations that are pleasant but shallow, avoiding the more uncomfortable but more helpful line of discourse. Kim Scott’s Radical Candor and countless other feedback systems are built around the idea that over-prioritizing niceness – what Scott calls “ruinous empathy” – is a short-term salve that causes long-term pain.

So, recently, I’ve been working to have deeper conversations with the people around me. I’ve been trying to ask myself: does this person necessarily care how polite I’m being, or would they rather I just prioritize being clear? It’s a bit more work, but often – especially in person – you can still do both.

I feel lucky to work somewhere where people are nice to each other, and I definitely don’t want to lose that. But there’s another notch above being nice; the next step on Maslow’s Hierarchy of Teams. Where you need to get is a culture where being nice is the default, but being kind – including having hard but helpful conversations – gets priority over always being pleasant.

That is to say, a place where you can trust that somebody will speak up – even if you have egg on you.

Control the Silence

June 30, 2019

On an episode of Fun Fact back in March, I shared “one weird trick” for how to be an MC. Listeners seemed to find it helpful, so I wanted to write it up in a more referenceable format:

The trick to MCing an event is to control the silence.

Over the years I have MCed my fair share of conferences, meetups, weddings, and other sundry events. Any article on how to MC an event will orient you to the core requirements pretty quickly:

  1. Tell people what to expect.
  2. Keep things moving.
  3. Make it fun.

So that’s the idea. But in order to tell your audience what to expect, you need to know what to expect. As such, a lot of MCing (or emceeing if you’re gonna be like that) involves running around collecting and confirming information about shifting plans.

How long is the break? How do you pronounce the next speaker’s name? Is there wifi? Why should we care about the rando you’ve dragged up to give a demo, toast the groom, or extol the countless virtues of immutable value types? The MC has to know what’s coming.

The next level up is about keeping things moving. Flow. How can you make this event flow smoothly, steering the audience’s attention to where it needs to be? What’s where the idea of controlling the silence becomes really useful.

May I direct your attention

You see, people are going to want to talk. Socializing is a lot of why people come to events, especially those blowhards way at the back. That’s why you need to make it clear to the crowd when it’s talk time, and when it’s pay-attention time.

If your event is well run, they will have some house music playing in the background before and between presentations. If not, you can often rig background music up yourself. House music is nice for getting folks to start talking to one another.

House music is even nicer, though, for getting people to stop talking. When it’s time to intro the next speaker or deliver a status update, just fade out the house music – or, ideally, have a sound tech do this on your signal. The sudden silence will draw everybody’s attention, and your intro blurb (or glib rhetorical question) will shut up the remaining verbal stragglers. You then say your bit, and hand that hard-won energy off to the next speaker by introducing them by name.

The reverse flow happens on the way out: you thank the speaker by name, tell people what to expect next, and then get the house music back on. By controlling the silence – by ensuring there’s only dead air immediately before something interesting is about to happen – you can control the room.

The smooth handoff

There are a couple sub-tricks to keeping folks’ attention as an MC. If it’s time for the next presenter and you jump into introducing them, you might realize post-intro that they’re not actually ready. “Oh, uh, I need to get my laptop set up.” Cue 2 minutes of awkward silence as your speaker fumbles around, inwardly panicking, while the audience slowly starts to talk amongst themselves again. Bad MC, bad! By the time things really are ready to go, the energy and attention have been lost to the wind.

Luckily, there are two simple ways to prevent a botched handoff:

  1. Check with your next-up speaker if they’re good to go before you get the audience’s attention.
  2. If you realize you’ve gotten the audience’s attention too early, and you can’t shuck and jive long enough to fill the gap, just give the attention back. Instead of letting things get awkward, explain that you’ll need a few more minutes and we’ll be going shortly – then get the music back on.

MCing an event isn’t rocket surgery. It does take a bit of practice, but the biggest requirement is simply caring about how things flow, and putting the work in to make them flow well.

Being the steward of an audience’s attention is a privilege. If you treat that attention as a precious resource, then they’ll be willing and ready to give it when you need it.

iTunes: An Error Occurred

May 31, 2019

Once upon a time, Apple debuted an application for playing music.

Yes, an application. That’s what we called apps back when dinosaurs roamed the Mac. And one of the most-loved applications back in that ancient era was for playing your MP3s. It was called iTunes.

iTunes, circa 2001

iTunes brought together a shiny interface and powerful library management that Just Worked™. What we didn’t know in 2001 was that iTunes was the first piece of a “digital hub” strategy that would change Apple forever. From its humble beginnings as a nice way to play music, iTunes quickly became the core of Apple’s push into consumer electronics: first the iPod, and later the iPhone.

Two years after its debut, iTunes was already at version 4. The addition of the iTunes Music Store turned a trusty utility into an internet marketplace overnight. The Store completely overturned the music industry and overturned Apple itself, kickstarting its shift from a computer company to a device and services company.

As fortuitous as this path would be for Apple’s business, the frenzied shoehorning of network and sync features into a large existing codebase – inherited from the aquisition of SoundJam MP – brought about the end of iTunes’ golden era.

Later that year, iTunes arrived on Windows. Apple quickly gained a foothold on millions of Microsoft PCs; a base they could add to every time they had the need to support something across platforms. As penance for this, the iTunes team was sentenced to maintain and add functionality on Windows every time Apple launched a new product or service.

And add functionality they did. Over the years, iTunes accumulated features for local music, playing and burning CDs, the iTunes Store, iTunes in the Cloud, iTunes Match, Apple Music, TV, movies, Smart playlists, Genius playlists, podcasts, network library sharing, device backup, internet radio, ratings, iTunes Extras, iTunes U, device software update and restore, media sync, ringtone sync, contact and calendar sync, AirPlay, queueing, Ping, Connect, literally rearranging the icons on your iPhone home screen and – most importantly – displaying a bangin’ visualization of the Hootie and the Blowfish track you just purchased for $0.99.

As the central device and platform hub, iTunes became a leaf on the wind of Apple’s strategic moves. The refined focus of the app’s early days gave way to an era of ever increasing complexity and power.

Of course, with great power comes great technical debt. As iTunes became a mammoth katamari of features tangentially related to media, it failed to become a robust front-end for Apple’s increasingly complex network of media services. UI oddities – ranging from weird modal dialogs to an often complete inability to handle network problems – often belied iTunes’ status as a tired legacy product.

Undeterred, Apple marched forward towards streaming music, introducing iTunes Match, iCloud Music Library, and iTunes in the Cloud – which, believe it or not, are three separate things. While Apple’s marketing team may not have struggled to keep up with this growing array of services, iTunes itself certainly did.

While building the UI for many of these new features using web technology might have been a pragmatic move, it exacerbated iTunes’ struggle to provide a polished and seamless user experience. A move from store pages powered by XML to one fuelled by WebKit never stopped the background drumbeat of glitchiness that often ground the app to a halt.

By 2015, it was time for a reset. With great fanfare and a remarkable performance by Eddy Cue, Apple Music was born. With Apple Music, the iTunes team was finally given the time and space to fully overhaul the app, ditching 15 years of legacy chaos once and for all.

Just kidding, it was just stuck on top of what was already there.

Of course, a focused and clean music-only app for Mac is still the endgame. The real question has long been: when?

Retiring iTunes is a hard thing to do, given the wild web of legacy things it enables. Building a ground-up replacement for music on the Mac is a tall order, especially if they wanted to bring across the powerful library management features that made Mac users fall in love with it all those years ago.

Alternatively, Apple must have at least experimented with bringing the much-maligned but generally more modern Music app from iOS to the Mac. Perhaps they could use some kind of almond-flavoured confection to ease the transition.

Regardless, replacing an app the size of iTunes is a big job.

So we waited. The world turned. Users slowly shifted from iTunes to Spotify. A movie came out about a gumshoe Pikachu and it was somehow not horrible. That is to say, it’s taken a very long time – so long that one might assume there has been a false start or two along the way.

But if the rumour and leak mill is to be believed, iTunes’ end is finally nigh. In macOS 10.15 we will finally see a Music.app for Mac. Surprisingly, this new app is said to be based not on the iOS app or a new codebase, but on the venerable iTunes itself.

There will surely be naysayers that claim iTunes should have been tossed entirely. And admittely, if the new Music app ditches iTunes’ interface but can’t cure its deep and baffling love for obtuse modal error dialogs, I too will bemoan its preservation. But arguing for code to be rewritten just because it’s old has never been the right way to build systems that work.

And whatever the composition and fate of this new app, you really have to hand it to iTunes for getting this far. Seriously, this app has been keeping the beat for almost 20 years. It has survived a veritable hurricane of scope creep and strategy taxes. It was a key part of Apple’s growth from charming underdog to singular goliath.

And now, it can finally lay down its burdens and get back to its roots. It can cash out its stock options, and once again be a music app. What better way for a vintage app to spend its retirement?

So let’s pour one out for iTunes. Farewell.

Making a List, Bolding It Twice

April 30, 2019

Writing is meant for reading.

Sometimes, the reading doesn’t matter that much. We might dash off a quick text, toss out a laugh line, or send a rote confirmation. Our emoji are leaves on the wind.

Other times though, the reading matters a lot. Occasionally we need to write something that must be understood, absorbed, and acted on. The more important it is that readers understand and act, the more time you should spend refining the writing.

There are a lot of things you can do to make an email, blog post, proposal, or process document clearer. For example you can keep it short, make it engaging, or have a colleague refine it before sending it out. These can all help a lot.

However, if it’s critical to you that your writing is read – especially by busy people – you need to make it skimmable.

There are a few ways you can facilitate this.

You can use short sentences and paragraphs, for example. That helps a lot because folks tend to primarily read the beginning of each paragraph. It’s kind of a hack, but it works.

There is one core approach though, one workhorse of the skimmable document, that is worth mastering: lists. Lists are rightly derided in the era of Buzzfeed, but the same principles that drive engagement on social media also drive engagement in a Google Doc or email. So today, I’d like to share one weird trick to quickly writing a clear and useful list: The Bolding Trick.

The Bolding Trick

  1. Draft a bulleted list, whether it’s the key goals for a process, the main principles in a design, or whatever. Rather than trying to make it perfect on the first go, just get it out.
  2. Your list should only have 3-8 items on it, with each item 1-3 sentences, which should keep it readable and digestible. Still, unless each item is extremely short, the resulting block of text can still be a slog to read, appearing monotonous and causing your audience’s eyes to glaze over, or – worse – cause them to decide to read it later.
  3. For each point in your list, find and bold the key phrase in the paragraph. For example, the key phrase in this point was “bold the key phrase”. This will make the list far more skimmable.
  4. If it’s an important list, it’s worth also pulling those bolded phrases up front. Once the core points are bolded, run down the list again and pull the bolded part to the beginning of each item, making it the heading/summary of the item.
  5. Your eminently readable and skimmable list is now ready to be absorbed and acted upon, and easily maintained.

A thing I love about this process is that when you pull out the key phrases into headings, it also naturally drives you to edit the prose to be clearer:

The Refined List

  1. Make a bulleted list. Hammer out the key goals for a process, the main principles in a design, or your weird trick for making lists.
  2. Include 3-8 Items. Make the list clear and focused by keeping it to 3-8 items of 1-3 sentences each.
  3. Bold each key phrase. Go through the items you wrote and mark in bold the 1-4 words that matter most. This would be often be a verb phrase in a process document, or an adjective phrase in a list of goals.
  4. Make the phrases headings. While you can stop after bolding, it’s often worth also pulling the key phrases into inline headings. Rewriting your list this way also helps you refine and repeat the key points.
  5. Share and maintain. The formatting will make your list much easier to read, update, and act on.

I find this approach faster than trying to come up with the headings first, and it has the added bonus of being incremental: after each pass you can stop and you have a useful document.

Once upon a time, when I would try to document a process or a project, I’d approach it like a blog post. I’d spin a narrative, write pages worth of context and detail, and really get to the heart of the matter. Once the resulting tome was complete, it would be read once, and then left to the sands of time. That was fine for battle stories and manifestos, but not so much for process or design documents.

Now, I write short docs consisting mostly of lists and bolded key phrases. They get read and maintained.

It’s a lot better.

Information Needed

March 31, 2019

If you publish apps for iOS, understanding the App Store review process is part of your job. While the core guidelines are public, their enforcement relies on a large set of private rules and policies, policed by human beings. When you’re trying to release an update to your customers, the keeper of the Bridge of Death is not the nicely summarized guidelines, but the machinery that enforces them.

The high-level guidelines don’t change often, and when they do change developers are often warned in advance. The enforcement policies though – the de facto rules – are continually mutating in response to the latest App Store scams, PR issues, or problem areas.

So, while some guidelines – such as the one about not sending push notifications for marketing – don’t seem to be enforced at all, others are strictly enforced to the letter of the law, and flouting them will prompt a swift rejection. Or, more nerve-wracking, an eventual rejection of a bugfix update that doesn’t change the relevant functionality. So it helps to know the system.

You say you wanna add subscriptions

For example, suppose you’ve seen where the wind is blowing, and have decided to add subscriptions to your app. In preparation, you may come across public Guideline 3.1.2:

Ensure you clearly communicate the requirements described in Schedule 2 of the Apple Developer Program License Agreement, found in Agreements, Tax, and Banking.

While you probably should read the full agreement, it’s a little over 24,000 words long. Maybe more of a weekend read. In the meantime, you can save a bit of time by scoping out a little thing I like to call the “Apple Developer Program License Agreement Schedule 2 section 3.8 part b”.

This clause actually has some pretty clear language asking developers to:

…clearly and conspicuously disclose to users the following information regarding Your auto-renewing subscription:

  • Title of publication or service
  • Length of subscription (time period and/or content/services provided during each subscription period)
  • Price of subscription, and price per unit if appropriate
  • Payment will be charged to iTunes Account at confirmation of purchase
  • Subscription automatically renews unless auto-renew is turned off at least 24-hours before the end of the current period
  • Account will be charged for renewal within 24-hours prior to the end of the current period, and identify the cost of the renewal
  • Subscriptions may be managed by the user and auto-renewal may be turned off by going to the user’s Account Settings after purchase
  • Links to Your Privacy Policy and Terms of Use

Presented with the above, any app designer worth their salt will have a follow-up question: is it even possible to design a nice subscription flow that actually makes all eight of these things clear and conspicuous? Even with all the detail Apple provides – more than we generally get with most guidelines – the requirements leave key questions about how they’ll actually be enforced:

  1. Do the App Store reviewers require text meet a certain standard to consider it “clear and conspicuous”? (They do.)
  2. Do the links to your privacy policy and terms of use in your app’s settings count towards this requirement? (They don’t.)
  3. Do reviewers require that some of these things are more clear and conspicuous than others? (They do.)
  4. Would they approve an app that followed Apple’s own examples of how to implement subscriptions? (Not even close.)

I know about these pitfalls thanks to various developers sharing their lessons learned about the unwritten parts of Apple’s subscription guidelines. As thanks, I wanted to pitch in by sharing some info about a different guideline I’ve learned a fair bit about over the years: 2.1.

Guideline 2.1: Information Needed

According to Apple’s data, the most common reason for an app to be rejected is ostensibly a simple one: “Guideline 2.1 – App Completeness”. The public guidelines for 2.1 describe a few kinds of incomplete or trivial apps, for example:

We will reject incomplete app bundles and binaries that crash or exhibit obvious technical problems.

Eminently reasonable. In addition to this though, App Review categorizes a common type of provisional rejection as being under Guideline 2.1: “Information Needed”. Since an Information Needed rejection is usually unexpected, it can easily ruin a developer’s day. Thus, it helps to be prepared.

Here are some common reasons you may hit a 2.1:

  1. You didn’t include a working demo account. D’oh.
  2. You didn’t include enough info to test your In App Purchases. This is apparently quite common – reviewers have to try out your IAPs, and if it’s not immediately clear how to do so you can get a 2.1 rejection.
  3. Your app is sketchy. Certain categories of apps are, by volume, often scam or spam. Slots apps, for example, can get a 2.1 as basically a “one strike warning” to give the developer a chance to double-check whether they violate certain rules before they go through full app review. There are various copies of this warning text online, so if you’re participating in the dodgy end of the App Store then it’s worth being aware of this.
  4. Your app isn’t testable on a simulator. If your app isn’t testable except in the “real world”, or requires special hardware, reviewers may 2.1 reject the app pending a video that shows how it works. If your app doesn’t run in the simulator, pre-prepping a demo video can help expedite this process. Steamclock builds a lot of apps for Bluetooth devices, so we prep these fairly often.
  5. You need to prove that your company is authorized to offer this app. For example, let’s say you titled your app “Royal Bank of Canada”, but tried to publish it under “Surprised Pikachu LLC”. You may be surprised when App Review asks for some evidence that you are in fact the largest financial institution in Canada and not in fact a lazy scammer.

While these cases are all fairly straightforward, there is one particular 2.1 request that I have seen from time to time that did surprise me when I first saw it, and as far as I can tell not much has been written about it. You may in fact be rejected if:

  1. Your app requires users to log in, but doesn’t offer account creation.

Without a way to create an account, App Review can’t evaluate your payment mechanism. In this case, App Review will typically hit the brakes to determine if the app violates “3.1 Payments”.

If your app’s business model was crafted specifically to circumvent Apple’s In App Purchase rules and you thought just not offering in-app account creation would be enough to fool them, then you’re gonna have a bad time. Otherwise, things aren’t so bad. You just need to – carefully, but quickly since your app update is now in the dreaded Review Limbo – make the case that your business model is kosher.

One of the few accounts online of this process comes from this Japanese blog post by Takuya Matsuyama, who outlines what App Review may ask in this “business model review” scenario:

  • Does your app access any paid content or services?
  • What are the paid content or services, and what are the costs?
  • Do individual customers pay for the content or services?
  • If no, does a company or organization pay for the content or services?
  • Where do they pay, and what’s the payment method?
  • If users create an account to use your app, are there fees involved?
  • How do users obtain an account?

Through the magic of Google Translate, I can see that Takuya and I felt similarly after getting this kind of rejection for the first time:

Even though Apple’s examination was nothing last time, it is scary because it is pointed out from the point of view not to predict suddenly.

Put another away, it’s not fun to have the Supreme Gatekeeper suddenly audit your business model.

Being prepared

Since I know better than to try to end-run around Apple’s payment rules, every time I’ve received this kind of rejection I’ve been able to walk App Review through the business model and why it’s above board.

That’s not to say caution isn’t merited. I’ve definitely seen clients get a business model review, respond ambiguously without understanding the underlying guidelines, and as a result get caught in a slow secondary review. Don’t be like them – be prepared.

If you’re considering building an iOS app that requires login but doesn’t let users create accounts in-app, be sure to review and understand Apple’s rules around in-app payment, and schedule an extra 1-2 weeks when you launch or make a major change to the app to accommodate a potentially long review. If your initial submission is approved without a 2.1, be cautious since any future update, even a critical bugfix, could trigger the review.

If the bridgekeeper perceives your iOS app to be main value of a service customers are paying for elsewhere, they could toss you into the Gorge of Eternal Peril for not offering IAP.

If everything is on the level though, and you just haven’t gotten around to providing account creation in-app in your initial release, then you should be fine.

Just don’t forget your favourite colour.

325: Podcast Episode Numbers

February 28, 2019

In iOS 11, Apple made a variety of changes and improvements to the Apple Podcasts app and spec. Among other things, they added support for a new show format: serial podcasts. Finally, narrative-driven shows could request to be shown in strict chronological order.

As part of this change, Apple added support for an “episode number” tag, and recommended that podcasters stop including episode numbers directly in the title of each episode. Sure whatever, metadata best practices blah blah.

Smash cut to yesterday, when we all received a mass email from Apple Podcasts about ensuring our show isn’t “rejected or removed from Apple Podcasts” by “optimizing your show’s metadata”. While much of it was just about not being spammy, they asked more firmly this time for podcasters to stop including episode numbers in titles:

Adding episode numbers in titles. For example, show titles like “The Very Hungry Tourists Episode 01” or episode titles like “01 Broken Heirloom.”

I was a bit surprised by this. Everybody includes episode numbers in their titles… don’t they? Though come to think of it, why do we? Why do I do it for Fun Fact? We don’t number our blog posts; why podcasts? Am I being sucked into a deeply pedantic rabbit hole, never to return?

No, why, why do you care about this Allen

According to historians, podcasters have included episode numbers in titles since the late Cretaceous Period. There are a few benefits, but the primary two are:

  1. Give people an easy handle to find or refer back to to a specific episode
  2. Make it easier to play through episodes from the beginning in a podcast client

While the introduction of “serial” shows has made playing from the beginning easy for certain kinds of podcasts, apps still make the assumption that all shows are either strictly linear and need to be listened to in order (a crime investigation in 10 parts), or that each episode is completely unrelated and you would never want to start from the beginning (a daily news briefing).

This is a pain in the ass for shows where the episodes are loosely ordered, kind of like a sitcom. The episodes make sense on their own, so new viewers probably want to check out the latest one first – but there are back-references and follow-up items that can make it appealing to listen from the beginning. Without episode numbers, this can be annoying to actually do.

In an ideal world, Apple would support a third type of show, something like episodic-series, for shows where playing from either end is desirable. It could then prioritize the newest episodes, but still surface episode numbers and accommodate users who want to start at the beginning.

Back in the actual world, Apple wants you to decide if your show is linear or ephemeral, and stop trying to hedge that classification.

Still though, why do they care? Is it truly awful to have semi-episodic podcasts putting numbers in their episode titles?

As is often the case, you can indeed find something truly awful by exploring iTunes:

Yes that’s right, on the desktop iTunes will number your numbered episodes as if the latest episode was episode 1, followed mind-bendingly by the episode number you’ve included in the title. While this is horrific, it actually makes podcasters want to keep including their episode numbers right in the title, since otherwise the presentation makes it look like the newest episode was actually your first, which is even more horrific and I just can’t even with this thing.

Thankfully, most people do not listen to podcasts in desktop iTunes. The big show, the app that we – and Apple – are concerned about is Podcasts on iOS. So let’s take a look at how episode numbers show up there.

045: The Why Do You Care About This Allen Show – Ne…

With iOS 11 and the new metadata, Apple built accommodations for episode numbers into the UI, allowing them to cleanly and consistently show numbers in contexts where it matters – such as serial shows – and not show episode numbers in contexts where it doesn’t matter. For an example, let’s take a look at the Top Episodes list.

Now, £1 says that Jony Ive would be rather cross if he saw this list with 5 different formats for showing episode numbers. With title data this noxious, there’s not much Apple can do to present a nice, clear list of episodes.

Consistency aside, in this context the episode numbers aren’t even useful. While the Top Episodes list should in theory be a gentle entry point for somebody new to podcasting, it is currently weird and intimidating.

If they can get podcasters to provide title and episode number metadata separately, Apple Podcasts can show the numbers where relevant, and style the them thoughtfully in different contexts, rather than being forced to serve up the the dog’s breakfast that is episode title metadata today.

And while numbers in titles is a time-honoured tradition, I have to admit that episodes of newer shows that follow Apple’s guidelines look pretty nice amongst their metadata-laden peers.

The more I look at these screenshots, the more sympathetic I am to the ideal of relegating the episode numbers to metadata, and having player apps take the responsibility of showing those numbers where they’re useful. In fact, when it comes to finding specific episodes or playing “episodic” shows chronologically, modern podcast apps already have some helpful features that make episode numbers less important than they once were.

For example, in Overcast you can tell a smart playlist to sort by “Oldest to Newest by Podcast”. Then, if you go into a show’s back catalog and add a horde of early episodes, they’ll automatically stay together in chronological order. It’s pretty hidden, but in Castro you can also queue up a show chronologically by subscribing to a show, then going to Library → That Show, then dragging “All” to your queue.

While neither of these approaches are as nice as a simple UI for playing a show from the beginning, I think they can bridge the gap if shows start to move episode numbers into metadata and players get smarter about it.

Similarly with episode discovery, instead of scrolling to find a numbered show, you can type an episode title into Apple Podcasts and it will come right up. In Overcast you need to search for the show first and then the episode title, but the functionality is still there.

Unfortunately, there is still a gap between the web and podcast players when it comes to linking an episode. As far as I know, there’s no way yet for your podcast’s website to predict the URL for “Open Episode X in Player Y”, which would make it easier to go from a Google search or a shownotes link right to listening to an episode. With luck this will come.

I get it, you care, what are you going to do about it

Regardless of what any 3rd party podcast apps are doing, the reality is that Apple runs the biggest podcast directory and app in the world. They’ve told us to give them a clean title and episode tag in <itunes:title> and <itunes:episode>. In return, they’ll be more likely to feature our show, Jony will be placated, and they’ll stop maybe-implying that our podcast may be “rejected or removed”. So, a pretty easy call there, I think.

A more interesting question remains though: for semi-episodic shows like Fun Fact where people may want to start at the beginning, should we keep the episode number in the <title> tag for 3rd party clients like Overcast and Castro? Certainly some people with opinions on the internet think so.

But I have to admit: I can’t unsee what I’ve seen. I’ve beheld the clean and clear presentation of numberless episode titles. I’ve heard from the listeners who are scared off from trying out podcasts where every title advertises how many episodes they’ve missed. I’ve come to terms with the fact that for our show – even a few months in – starting with the most recent episode is the way to go. And most dangerously of all, I’ve come to the conclusion that It Would Be Nice™ if podcast players directly used the episode meta tag to only show numbers where it matters.

So, as of today, our episode titles are clean and number-free. It was difficult and emotionally taxing, but I have made peace with my decision.

May the the era of clean podcast titles one day come to pass.

Update: Apple just sent a followup email clarifying that “Your Show Won’t Be Removed for Having Episode Numbers in Episode Titles”. It then goes on to say:

We encourage you to use the tag to send us your episode numbers. If you decide to include episode numbers in your episode

The email then ends mid-sentence. We can only speculate on the fate of the Apple Podcasts employee who attempted to send this missive. Our thoughts are with their family tonight.

Navigation Should Be Boring

January 31, 2019

When launching a product, especially a consumer-oriented one, you want it to be interesting. A novel, bold, or distinctive UI can make an app stand out from the crowd, be memorable, and inspire curiosity. Plus, it’s cool.

Luckily, there are a lot of ways you can make an interface interesting. You can use striking colours, intriguing illustrations, or thoughtful copywriting. You can add whimsical touches of animation or sound. You can make the feature set brilliantly simple, or awesomely powerful. Almost any part of an app can be a good place to add novelty, except for one: navigation. Navigation is different.

Navigation should be boring.

With a delightfully boring navigation scheme, users don’t need to learn how to explore your app. Their “attention span budget” can thus be spent considering how your new thing can fit into their lives, rather than trying to recall how many fingers they’re supposed to drag from the left side of the screen in order to pull out the Alternate Quick Access Wheel.

While experienced design and development teams will usually tamp down on the worst navigation fever dreams in short order, there is often still an allure, or even explicit pressure, to build out novel navigation patterns. It’s just so damn satisfying to transcend the standard fare. “Would it be so bad if we just tried just a little horizontal scroll here, and just one two-finger gesture there..?” One thing leads to another, and your app’s first-run experience is a screen filled with goofy arrows and hand-written tips like “insert tab A into slot B to view next photo”.

If you’re weird-navigation skeptic, then take heart: the data is on your side. The A/B tests and other success metrics I’ve seen almost always support clear, familiar navigation approaches. Tab bars get better engagement than hamburger menus, many users don’t even find gestures, and simple menus works better than a whiz-bang feature dashboards. Boring navigation affordances lead to more navigation, and faster navigation, than clever ones do. As the nobly helmeted interaction designer Luke Wroblewski likes to say, “Obvious always wins.

Of course, metrics aren’t everything, and there are examples of products that have implemented novel navigation schemes that were very well received. Even ignoring the obvious exception of games, a lot of the most interesting apps released over the years – from Jared Sinclair’s Unread and Q Branch’s Vesper on the indie side, to Snapchat and Facebook’s Paper at other end of the spectrum – invested in novel navigation patterns and styles that made them truly distinctive.

Which is super cool. But also kind of sad, since this type of investment doesn’t typically pay off.

The high price of failure

Notwithstanding the usability pitfalls, there is a bigger reason why a new app shouldn’t have an experimental navigation scheme: the cost is too damn high.

We know that building good products is all about iteration. And typically, the parts of your product that need the most iteration are the novel ones. The neat stuff, the distinctive bits. That’s no problem if you’re iterating a sound effect, a button asset, or even better a core user-facing feature. It gets expensive and wasteful fast though if you’re thrashing around how your screens are organized, divided, and connected. God help you if you’re halfway through a wild navigation experiment and an iOS update breaks your custom UINavigationController wallhacks before you’ve even been able to market-test them. It’s no fun.

Once you ship, things go from bad to worse. Overhauling the navigation of a living app is even more time-consuming, and is also usually poorly received by existing users – even if the new scheme is objectively better. Just ask Snapchat: after they concluded their wacky navigation scheme was inhibiting long-term growth, they launched a reworked UI that was easier to use – and monetize – but suffered a huge backlash from users who were used to the old UI. Perhaps if they’d tracked towards clear navigation a little earlier, Instagram wouldn’t be eating their lunch as badly today.

Of course, it doesn’t matter what’s good for Snapchat or anybody else. What matters is what’s good for your product and its customers. The app you’re building today. And if your goal is to make a distinctive app, then dollar for dollar, sprint for sprint, novel navigation schemes are one of the worst ways to achieve that.

So do your app a favour: keep the navigation boring. At least at first. Use colour, typography, and the many other tools in your tickle trunk to make your product interesting and appealing while you prove out your business model. Invest in navigation, sure – but invest in making it clear, fast, and good.

That is to say: make it boring.

Fun Fact →

January 12, 2019

A new podcast where every other Friday, Arik Devens and I discuss a variety of fun facts. They range from historical, to practical, to garburetor-related. It’s fun.

This year, in addition to my typical longer articles, I’ll also post some simple links from time to time. This is one of those.

No More Oppatoo

December 31, 2018

When you have a young child, other parents often offer advice. This advice comes in many forms and covers many topics, but one phrase is more common than any other. “Enjoy it while it lasts. It goes by faster than you think.” New parents hear this many times.

It can sound rather strange. You’re holding a teething infant, you’ve barely slept, and you’re counting the seconds until you can next attempt a nap. Time seems to go by very slowly indeed.

As an infant turns into a toddler though, and as that toddler becomes a kid, you can’t help but be struck by the passage of time. Your new family member gains abilities at a rapid clip, marking time not day by day, but change by change.

They are constantly picking up new endearing habits – little phrases and behaviors that melt your heart and give you joy. Just as quickly though, they are losing them. Before your eyes, she goes from not being able to say “octopus”, to delightfully squealing at the sight of an “oppatoo!”, to just saying “look dada, it’s an octopus.”

And it’s beautiful, and it’s great. But it also hurts your heart a little bit. No more oppatoo.

It is a strange feeling, that hurt. Why would it be sad when she starts to say “octopus”? Or “I want to do it myself”, or “No dada pick me up”? I mean, it’s certainly for the best. I can hardly be her lifelong transportation, caregiver, and translator as it pertains to 8-limbed mollusks.

But kids inspire love, such deep unconditional love. You love and treasure how they are, down to the smallest quirk. Then, suddenly, right in front of you, they change. While one might grow used to the slow, sad change of growing apart from an adult you love, this feels very different. Overnight, no more “dada up?” No more oppatoo.

In a flash, the behaviors, quirks, and tiny things you’ve grown to love disappear. Just like that, they’re replaced by new phrases, new quirks. New things you’ll also grow to love – before they disappear too.

It’s beautiful, and it’s great. But it also hurts your heart a little bit.

So we take photos, and now videos. And we indulge our hearts, and cry a bit. Sometimes from pride, sometimes from joy, and on occasion from the loss of something tiny.

And when we see a new parent, one with a child much younger than ours, we know it’s silly, but we can’t help ourselves. We feel it’s very important to let them know:

“Enjoy it while it lasts. It goes by faster than you think.”

Leadership Mode Activate

November 30, 2018

Congratulations, you’re getting promoted! You have excelled at the Thing You Do to such a degree that you’ll now be leading a whole team of people who Do That Thing. Very responsibility, much excite.

Okay wait, you may say. That’s cool, but I like Doing the Thing. I’m pretty good at it, and if I’m leading a team, will I still get to do it? Will I still get to perform the work that got me to where I am today?

The short answer is: Yes, you can! If it’s important to you to keep doing some “individual contributor” work as a manager, you can make that happen.

The long answer is: Well, you can. Like, if Mark Zuckerberg wants to go in and make some code changes to Facebook, he has the authority necessary to do that. And reportedly, in frustration with a pet bug or issue, Zuck has been known to bang out a fix and submit a merge request – which then hits a series of roadblocks around coding guidelines, localization, automated testing, and oh god why is this stuff so complicated these days ughhhhh.

And that’s good. It’s helpful for leaders to get their hands dirty from time to time, to get caught up on what their teams are doing, how they’re doing it, and get more context for the detail work involved.

But let’s be honest. Is Mark Zuckerberg’s time best spent mastering Facebook’s latest pull request rules around internationalization flow, or would that same time be better spent, I don’t know, figuring out how Facebook can ruin the world less?

As a manager, you too need to consider these tradeoffs. Yes, you have the ability to dig in and do the work yourself, but you now have a specialer ability: you can multiply your efforts across a whole group. As a leader, you’re in a position to solve bigger problems than you ever could by yourself, since you can deploy the full force of a team.

In other words, you are now a mech pilot.

Megazord Assemble

If you’re not familiar with the concept of a mech, it is basically a giant robot you can use to go around and do badass stuff that you wouldn’t be strong enough or capable enough to do by yourself.

A mech pilot doesn’t have the fine-grained control or precision they might have on foot, but they can achieve much more due to the mech’s broader abilities, sensors, strength, and skills. You might not be able to see behind you, but your mech can – and it can take evasive manoeuvres, deal with issues before they become problems, and do more at once than a mere human.

At its best, being a leader feels like piloting a mech. Your team can achieve far more than you can. As a group they’re stronger, smarter, and can see more than you can. When your team smashes a problem into bits, it’s not literally you that did it, but you can get the deep satisfaction of smashing problems that are bigger and scarier than you could ever smash yourself.

At its worst, being a leader can also feel like piloting a mech. Sometimes you try to go somewhere, but nothing happens. Maybe there isn’t enough fuel, there are serious technical issues, or you haven’t given a critical part the care and attention it needs. Maybe a request is refused – “ERROR: COMMAND UNCLEAR OR ILL-ADVISED”. Maybe you hop out and set your mech on autopilot, only to later realize it’s rampaged off doing exactly as you’d asked for weeks straight, and now you have this big fancy video editing feature built out that had no budget or detailed requirements.

You know, typical giant-robot stuff.

As a leader, there will be times where you’ll be tempted to get out and just do the work yourself. And sure, sometimes that’s pragmatic or necessary, but that’s not leadership. A leader investigates, identifies their team’s problems, and gives them what they need to be fully operational.

And then, they get back to smashing giant space bugs.

Vancouver Election Guide, 2018

October 7, 2018

Updated through October 19.

Saturday is the final day to vote. If you’re short on time, I’ve posted three example Council ballots. Polls are open until 8pm.

Canadian politics is, typically, boring. And we like it that way. We’ve seen what can happen when politics get too interesting. And well, America, you can keep it. Sorry.

From time to time though, politics in Canada does get interesting. On occasion, the issues get serious enough or an election gets weird enough that we find ourselves in a high-stakes voting scenario. If you don’t believe me, ask Ontario.

As it happens, this Wednesday, October 10, advance voting begins for the Vancouver city election – and our city is in the middle of the most interesting election campaign in years.

“Wait, what? A city election is interesting? Surely you joke!”

Well this is no joking matter. Okay, well some of the candidates are jokes, but let’s not get ahead of ourselves. This year, new electoral rules and a nearly clean-slate Council have hit the reset button. We have a host of new parties, and new approaches for old parties. There are Mayoral candidates with no parties, parties with no Mayoral candidates, and more credible Council candidates than you can fit in an empty condo.

Before we get to the candidates though, let’s briefly review the current housing shitstorm we find ourselves in. (Or, alternatively, skip ahead if you’re raring to get your vote on.)

The Housing Crisis, Briefly

Land, land everywhere, and not a drop to drink.

The severity of Vancouver’s housing affordability crisis depends on who you ask. SFU’s Andy Yan says it’s the worst in North America, Demographia says it’s the 3rd worst in the world, and The Economist claims prices are overvalued by 65% – compared to New York City’s 4%.

Okay, maybe it doesn’t depend who you ask. Things are fucked, yo.

Buying a typical detached house in Vancouver currently costs about $2.4 million, almost all of which is land cost. This is in a city with a median income of only $65k.

Of course, people don’t need houses, they need homes. Unfortunately, with the city’s condo prices exceeding $1000 per square foot, a typical two-bedroom unit now costs roughly $1 million. For a condo.

Of course people don’t need to own homes, they just need to live in them. Unfortunately, with incredibly low vacancy rates of under 1%, average rents have risen to as high as $3200 a month for two bedrooms. Existing renters in many cases are stuck in housing that is insufficient but rent-controlled. Too often, needing to move apartments now means needing to leave the city.

As such, 67% of Vancouver residents agree housing is the most important issue facing the city. Housing advocacy groups have formed, with Abundant Housing Vancouver arguing we need more homes, and Housing Action for Local Taxpayers arguing the actual problem is foreign buyers and speculators. After years of resignation to the idea that housing prices always go up (they don’t), things have finally gotten so extreme that there is a rare consensus in the city: something must be done.

The Four Kinds of Parties

As for what should be done, there is a little less consensus. Most parties are on board with speeding up permitting, renewing existing co-op leases, supporting temporary modular housing, taxing empty homes, and using at least some city-owned land to build more rentals.

Beyond that though, parties and voters are divided on what steps to take. To help orient us, I’ve created a not entirely scientific but rather helpful chart based on data from the Cambie Report.

Urbanists generally advocate for a denser, less car-oriented city. With 77% of the city’s residential land currently restricted to unattainable detached houses, Urbanists advocate allowing triplexes, townhomes, and low-rise apartments in more of the city. The idea is that less exclusive zoning will increase the supply of homes, decreasing the unjustified prices that condos and apartments currently demand today. Voters enthusiastic about the idea of a more walkable Vancouver with an increased supply of housing are likely looking at urbanist parties like OneCity, Yes, Vision, and some of the great Independent candidates.

Conservationists on the other hand are less concerned about building homes, and more worried about too much change in their backyards. Conservationists prefer a cautious approach to development, preserving the existing character of their neighbourhoods, and leveraging community consultation to protect the housing they already have – even if their critics call them NIMBYs. An anti-development stance is most popular among those that are already well housed, especially older residents and west side landowners. Conservationist voters are likely to be looking at the NPA, the Greens, COPE, and perhaps some of the fringe parties like ProVancouver.

Beyond planning and transportation issues, parties and voters also differ on the traditional left-right scale of social and economic issues, which has its own effect on parties’ approach to housing.

Left wing parties, for the most part, are arguing for more renter protections, including lobbying the province for tougher restrictions around tenancy and rent increases. At the city level, the left favours preventing existing rental stock from being redeveloped, and taxing the most expensive houses to fund more social housing. Funding housing for the less fortunate has gained more appeal in recent years, as high rents rates make renters feel less and less fortunate. Housing aside, the average Vancouverite is a center-left voter, looking favourably on ideas like stopping pipelines and providing addiction services. Parties on the left include COPE, OneCity, some Independents, and to some degree Vision and the Greens.

Right wing voters are in the minority in Vancouver, but this year there are a herd of candidates on the right and center-right. Fiscally and socially conservative platforms here are about not changing too much – other than perhaps keeping our property taxes famously low, or maybe “cleaning up our streets”. While a conservative mindset often correlates with a skepticism of new housing, this year we also have Yes, a centre-right party that is primarily focused on aggressively permitting new housing – if not funding it via taxpayer dollars. Other right-leaning options include the NPA and the various new fringe parties such as Coalition.

Let’s Meet the Contestants!

Like, actually who should I vote for?

Vancouver’s Council setup means that each Councillor matters, almost as much as the Mayor. Given that, this summer I set out to try and answer one question: “Given that I care a lot about housing affordability, who should I vote for?” I thought a couple hours of research would give me a good idea. And holy shit was I double plus wrong. This research turned into a rabbit hole the size of a Winnebago. There are more options and far fewer resources than we get for federal or provincial elections.

Overall, I sought out candidates who:

  1. Would actually take serious and broad action on housing affordability.
  2. Have chance of winning – both in terms of polls, and in terms of endorsements and buzz.

So I did what anyone would do: read the parties’ platforms, subscribed to multiple podcasts on the matter, listened to various candidate interviews, attended a candidates’ housing debate, and even personally met some of the candidates. The bad news is that my brain is now full. The good news is that you don’t need to do all that.

Get a drink, lean back, and optionally open the city’s Plan Your Vote tool open in another tab. Your mission is to pick one Mayoral candidate and up to 10 Council candidates. Let’s do this.


In the urbanist left corner of the ring, we have OneCity. Young scrappy and hungry, OneCity won their first seat on School Board last year, and is back for more. They have an audacious plan to both permit and fund new housing across Vancouver, paired with lefty stances on the various other issues facing the city. If you think we need new housing and tend to vote on the left side of the fence, you’ll probably like OneCity.

OneCity has two Council candidates this year. The first is Christine Boyle, a community organizer, climate activist, and minister for the United Church (you know, the cool church that welcomes everybody regardless of orientation or religious background). The second is Brandon Yan, a non-profit director and LBGTQ2+ advocate that served on the City Planning Commission. Credible candidates: check.

Despite OneCity’s unabashedly progressive message, the party seems to be well liked and endorsed. They’ve also had a late surge in the polls, giving them a shot at shaking things up.

Like the other parties on the left, they’re not running a mayoral candidate of their own – OneCity and progressive independent Mayoral front-runner Kennedy Stewart have endorsed one another.


This election has been called the year of the independent in Vancouver. Not because there are a bajillion of them running – which there are – but because there are some really strong candidates, especially on the Mayoral side.

The favourite for Mayor this year is Independent candidate Kennedy Stewart. Stewart was until recently a Member of Parliament for the NDP, so he has the standard-issue union support and progressive politics. While many candidates are making promises that can only be fulfilled by higher levels of government, Kennedy has actually worked in a higher level of government – albeit not run one.

Although his early campaign was mostly about opposing pipelines, more recently he’s adopted many ambitious housing goals from the urbanist left, with bold targets for new rental and market housing. While his campaign hasn’t exactly been exciting, his positions and poll numbers have earned him official or unofficial support from the main parties and organizations on the left.

The other credible mayoral candidate on the left is also Independent: SFU director and former Vancity and MEC board member Shauna Sylvester. Although her policies are arguably more thoughtful than Stewart’s and she seems like she’d be excellent, polling led to endorsements going Stewart’s way in an effort to avoid splitting the vote – and giving the crown to the NPA’s Ken Sim.

Based on the Oct 9 poll numbers though, you should feel safe voting for Shauna if you prefer her take on things. Her platform includes includes a focus on co-ops and other non-profit housing models, as well as positioning herself as good unifier of what could be a very random city Council.

For Council we also have some very strong independents. Sarah Blyth, for example, is very qualified and has a serious shot. She’s co-founder of the Overdose Prevention Society, and served two terms on Park Board. She’s an advocate for affordable housing, on a platform that sounds somewhere between COPE’s and Vision’s, focusing on existing renters.

Adrian Crook is another Council candidate with a serious shot, and has real housing bona fides as co-founder of housing advocacy group Abundant Housing Vancouver. If you’re sold on the idea that Vancouver needs more housing of all kinds, then you want Adrian on Council. He’s the author of 5 Kids 1 Condo, a relatively popular blog about trying to raise a family in Vancouver and his advocacy for more housing of all kinds. If you want more than one independent pro-housing candidate, you might want to look at Graham Cook – also an Abundant Housing supporter – or from the more right-wing side of things, Rob McDowell is popular in pro-housing circles and has endorsements from 3 sitting Councillors.

Okay, back to the parties! 🎉


Where OneCity is the “all the housing” party on the left, Yes is the “all the housing” party on the right. How right-wing are Yes’ non-housing policies, you ask? Nobody knows – all they talk about is housing. Admittedly, all Vancouverites ever do is talk about is housing, so it’s on brand.

Yes’ founder and Mayoral candidate, Hector Bremner, is a sitting Councillor and really knows the housing file. His polished videos and talking points have attracted some fans, who like his a market-oriented plan for mass rezoning new housing supply. Yes has the most in-depth housing plan of any party – it’s 50 pages long and literally has flow charts in it. Flow charts!

Yes has also attracted its share of haters. In addition to concerns about excluding social issues from their platform, even some urbanists are uncomfortable with the idea of a pro-development Mayor who worked in PR for real estate developers and has received $85k in grey-market advertising from a billionaire real estate developer.

Given the latest polling, Bremner doesn’t seem to be within reach of Mayor’s seat – which could mean his Council candidates have a better chance of getting elected than their leader. Local business owner Stephanie Ostler seems to be their strongest Council candidate, and is apparently well liked. They have 4 lower profile candidates running as well, so if market-oriented urbanism is your thing, party-vote it up. Also, if you like the Yes platform, independent Council candidate Adrian Crook has a similar take.


Having held a majority on Council for 8 years, Gregor Robertson’s centre-left Vision party originally focused more on bike lanes and green initiatives than on building more housing. Last year they finally got the message, and started aggressively pushing for new affordable homes.

Even with a solid plan and substanial endorsements, Vision may suffer at the ballot box. Many renters are angry they acted too slowly, and many owners are worried Vision will now act too boldly.

Undeterred, Vision has been pursuing new rental projects, social housing, and gentle density in Neighbourhoods Formerly Known as Single-Family. Despite opposition from some of Vancouver’s wealthiest communities, they’ve been rolling out a program called Making Room that would allow more types of low-rise housing across the city. Many renters see it as an overdue step in the right direction, while landowners flooded City Council to rail against what they deemed a “chainsaw massacre” and a “give-away” to real estate developers. Heavy is the head that wears the crown.

Given all this, Vision is playing it smart by keeping to 4 (originally 5) Council candidates this year. An outstanding candidate on their slate is longtime cycling advocate Tanya Paz – everybody who meets her seems to hold her in high regard. Paz is joined on Vision’s slate by young housing advocate Diego Cardona, sitting Councillor Heather Deal, and Parks Board member Catherine Evans. Vision has revoked their endorsement of TV host Wei Quiao Zhang.

Vision is no longer running a Mayoral candidate, but has informally given the thumbs up to independents Kennedy Stewart and Shauna Sylvester.


While COPE was once the unified left in Vancouver politics, they’ve struggled in modern times. That may all change this year due to the work of poverty advocate and altogether fascinating person Jean Swanson. Whether she’s going to jail for protesting pipelines or offering tissues to millionaires crying about higher land taxes, Jean is fun to watch – whether or not you agree with her. She’ll likely be COPE’s first elected Councillor in years.

COPE’s housing platform is pretty traditionally leftist – it prioritizes protecting existing renters, taxing mansions, and ending homelessness. COPE in general and Jean in particular are skeptical of allowing new condos or other for-profit housing, preferring homes to be built for the poorest folks first. While this is a noble sentiment, voters hoping to upgrade from okay housing to pretty good housing may not be excited to wait their turn.

In addition to Swanson, COPE has two other Council candidates: activist Derrick O’Keefe, who seems to be a bit more of an urbanist than Jean is, and former Councillor Anne Roberts, who during her tenure was known for campaigning against the Canada Line – in favour of more buses.


Ah, the Greens. At the national, provincial, and city level the Green Party has become a kind of protest vote. The “left but not those guys” vote. As such, they’ve surged in the polls this year.

Interestingly though, when you dig into the Greens’ policies and record, they’re more conservative than people think. While folks seem to vote Green for change, at the city level they’re a party of the middle ground.

The Vancouver Greens have one sitting Councillor, Adriane Carr, who is extremely likely to be re-elected by virtue of name recognition. This is despite the fact she has voted against far more housing than any sitting Councillor – including social and rental housing. Her reasons for voting against housing may vary – sometimes it’s concerns about landowners’ views, or often it’s longtime favourites “insufficient consultation” or “this won’t fix the crisis”. As a whole, her record is pretty plain: she votes to conserve what we’ve got.

Despite Carr’s record, the Greens’ Pete Fry and Michael Wiebe are interesting candidates. They both seem more urbanist than Carr, and if elected with her could push her towards supporting more housing. Green also has an additional Council candidate, David Wong, who given interest in the party could also do well. If you think Council needs more centrist voices, or you’re a “don’t rock the boat” type voter, the Greens could be a good fit.


The NPA is the longstanding right-wing party in Vancouver. Their big idea on housing is to allow detached houses to have two basement suites. So if you’re itching to live in a basement suite, they’ve got you covered.

With a platform surprisingly close to the Greens’, the NPA has just enough progressive policies to be electable in Vancouver. For the most part though, they’re the party of the status quo – especially now that their more pro-housing members have splintered off into the new Yes party.

Their Mayoral Candidate, Ken Sim, is a business guy, owner of Rosemary Rocksalt bagelry and Nurse Next Door. In most polls Sim has ranked 2nd place for mayor, giving him a real shot at winning – if the renters and young people stay home on voting days.

The long tail, wild and weird

Without getting deep into the new conservative fringe parties, it’s worth knowing they exist. None are on track for the Mayoralty, but they could nab a Council, School, or Park Board seat.

The most infamous is a strikingly conservative party called Coalition. They’re the one party not focused on housing, due to their burning desire to tear out bike lanes and “clean up” “vagrancy”. I suppose every wedding needs a drunk uncle.

There is also Vancouver 1st, who according to the polls is in the race for last place. They’ve garnered media attention for a promise to somehow bring back the Vancouver Grizzlies, and more recently for joining some Coalition candidiates in criticizing SOGI, BC schools’ sexual orientation and gender identity policies. ಠ_ಠ

Then there’s ProVancouver. In the initial version of this guide, I had a hard time making sense of the party, so I dismissed them as anti-housing and not having a chance. This led to one of their Council candidates warning followers to be extremely wary of this misleading guide, followed by an angry pile-on by pro-Pro social media accounts. On Oct 11, new Council polling showed surprising gains for Pro and Coalition, which obliged me to say a bit more about them. They sought attention, and I guess they got some.

While their housing take is a cromulent anti-developer, pro-rental platform, their organization and the behaviour of their candidates make some voters feel very uncomfortable, in a way that goes beyond platform disagreements. I really wish I had a simple argument for why this is the case.

It may be their skepticism of newcomers, defense of parking and detached houses, lack of socially progressive messaging, supporters’ alt-right style social media behaviour, a sense that they’re populists, or maybe I’m just secretly salty that their proponents think I’m illegally on the payroll of the real estate industrial complex. In any case, if you find their pro-rental rhetoric appealing, you may want to instead consider Green, COPE, OneCity, or Independent candidates.

If you want to hate-read, or get a sense of why young people and renters need to actually vote, I’d say reading about Coalition would be your go-to. But before getting sucked into that vortex, make a specific plan for your own vote.

Actually voting

Stereotypically, only retired homeowners vote in local elections. This year, you will too. (If you’re a retired homeowner, hey hi! I get where you’re coming from but I really hope you’ll also support more affordable housing this election.)

The city has a helpful Plan Your Vote tool for that lets you check off who you’re planning to vote for, and see them in a concise list in the order they’ll appear on the ballot. It’s quite useful, given the ballot is long and randomly ordered.

Early voting runs Wednesday, Oct 10 to Wednesday, Oct 17, and any voter can vote at any polling place. If you really need to, you can wait until mass polling happens on Saturday, Oct 20 – but all the cool kids vote early.

This guide was a large undertaking and covered a lot of ground. If you have feedback or (especially) corrections, get in touch!

If you have the time and brain capacity to learn more from other sources, here are some great starting places:

For new readers curious where I’m coming from: I’m a thirty-something with a family, currently renting a condo in Mount Pleasant. I run a small business, and like many in my generation have become an advocate for affordable housing – for my family, my employees, and my friends who can barely afford to stay in a city with acres and acres of single family houses.

Special thanks to the Cambie Report hosts and supporters, both for the excellent and informative show, and tolerating my many questions about Vancouver politics. Also thanks to the many folks who are helping get more voters engaged in democracy.

Archive of all articles →

© Allen Pike. See also Twitter and Steamclock.