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.


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:

  • Is your app a mobile extension of an existing service?
  • Does this existing service have a cost?
  • 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.

OneCity

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.

Independents

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! 🎉

Yes

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.

Vision

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.

COPE

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.

Green

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.

NPA

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.


Blowing Up Your OmniFocus

September 28, 2018

This article was originally written for Inside OmniFocus. It assumes you’re familiar with OmniFocus, the whiz-bang task manager for iOS and the Mac.


If you’re like me, you depend on OmniFocus for Mac. Sure, the iOS version is great for capturing and occasionally checking off tasks, but the Mac is the altar at which I plan, organize, and execute my work. That’s why I am redonkulously excited that OmniFocus 3 is now on the Mac.

While this update offers a number of UI updates and features, the soul of the release is that it now supports a cornucopia of new workflows that weren’t previously possible to set up in OmniFocus 2. It does this by adding three key features that work together to help you organize your work in novel new ways:

  1. Contexts are now Tags. You can have multiple tags on an item, and you can manually sort items within a tag.
  2. Custom perspectives are now extremely flexible. OmniFocus Pro’s perspective editor now lets you configure some incredibly useful views.
  3. The Forecast view is now richer. This makes it more likely to be a place you can spend most of your day.

Together, these three changes make OmniFocus 3 so much more flexible that it’s time to take a long, critical look at your workflow. Your projects and contexts may have made sense a few months or even years ago, but it’s time for a shakeup.

“Hey buddy,” you may protest, “My OmniFocus workflow is a magical garden utopia of productivity and harmony!” And if that’s you, then well, excellent. If you don’t want to take some time to rethink how you choose the work you do, then who am I to judge?

That said, I’m going to be honest here. My workflow is not a magical garden utopia of productivity and peace. At least, not yet.

In fact, most OmniFocus users I know have at least one or two aspects of their task workflow that leave something to be desired. Call your doctor if you experience any of the following symptoms:

  • Tending a garden of “overdue” tasks that aren’t technically overdue
  • Browsing a 57-item list called “Work Stuff”
  • Trying to feed a workflow so fragile that missing a single weekly review sends it into primal chaos
  • Looking at particular tasks over and over, slowly wanting them to do them less and less, but not doing anything with them, seriously Allen why is it so hard for you to just call the mechanic before they close at 3pm what is wrong with you Allen?

It’s all right, we can get through this together. In fact, we don’t need a doctor at all. What we need instead is OmniFocus 3, a tasty beverage, and the willingness to blow up our old workflows.

Yes, summer is over, fall has fallen, and it is an excellent time to ask some hard questions and shake up your task management. Pull things apart, try some new approaches on for size. Look critically about how you’re organizing your work, how you could do better work, and how you too can find your garden utopia of productivity.

Or, at least, how you can have less than 13 overdue items at once.

Let’s get to it.

The Top Ten Workflow Questions To Ask Now that OmniFocus 3 is On Your Mac

1. What tags are worth adding to my contexts?

This is most people’s first workflow question about OmniFocus 3. Your tags, née contexts, can now double up or triple up, so you can have an item that is both “Office” and “Today”, or “Home” and “Quick”. Where I previously had a project called “Seasonal Goals 🏅” in OmniFocus 2, I’ve now made that a tag. A nice thing about tags is they’re easy to trial – add some, see if they’re useful. If not, try something else.

2. What custom perspectives should I create?

While many OmniFocus 2 Pro users created some variant of “Due or Flagged” to work out of, now custom perspectives can be far more thoughtful and useful than that.

Since you can negate rules, feed custom perspectives with tags, specify “all” or “any” conditions, and even nest rules, it’s now a lot easier to create perspectives you want to spend a lot of time in. Instead of living in the boring old Tags, Projects, and and Review perspectives, it’s worth experimenting with how far you can go with custom perspectives. As a bonus, a complex custom perspective makes for a great horcrux.

There are already some great recent articles on Inside OmniFocus for inspiration, such as Productivity in Three Dimensions. I’ve seen some creative perspectives like “Next Up”, “Stale Items”, “Monday Review”, “Backburner”, “Lazy Day”, and so on.

The limit is your imagination – as long as you have a Pro license, that is.

3. Is now the time to upgrade to OmniFocus Pro?

Yes.

I’m sure the Omni folks would be too nice to say this so plainly, but I say that if you’re into OmniFocus enough to read whole articles about improving your workflow, you’ll get your money’s worth out of OmniFocus Pro. 🌟

4. Can I use a combination of custom perspectives and tags to stop using fake due dates?

A common OmniFocus bad habit is choosing arbitrary due dates for a herd of tasks based on when you’d like to have done them. Later, those dates happen to line up, creating roiling mass of not-actually-due-now tasks mixed in with some actually-these-are-due-now grenades. I call this a Due Bomb.

You may also have encountered the Defer Bomb, the result of getting busy and deferring a lot of medium-urgency tasks from your “next” list, which then conspire to all pop back up at once with unpleasant consequences.

The calendar in Forecast can help avoid these problems, but in an ideal world we don’t plan when future tasks should happen using fake due dates. What we really want is metadata – say, a tag or project – to help indicate which items we should be doing now, soon, or someday. We also want a view – say, a custom perspective – to let us see what we should be focusing on now, and what are good candidates to consider doing next.

Once due dates are only used for serious due dates, and you have a working system surfacing medium-urgency items, then you can recruit now-you to choose your day’s work, instead of your longtime nemesis, 3-weeks-ago-you.

5. Should my “Today” list be a tag, or a custom perspective?

Given the flexibility of custom perspectives and tags, it’s possible to build a really slick “Today’s Work” perspective that slices and dices flags, tags, due dates, projects, and other things to propose a hot list of targets for focusing on today. It’s neat.

Neatness aside though, there are two really nice things about having Today be simply a tag. For one, you can manually sort items within a tag, which is handy for a shortlist of your day’s tasks. Secondly, OmniFocus 3 Pro lets you specify a “Today” tag in Forecast, which will display nicely along with your actually-due items, and also enable a handy keyboard shortcut for toggling that tag on any item.

6. How about that Forecast – is it flexible enough that I can use it as my primary view now?

Not everybody used the Forecast view in OmniFocus 2, but it is substantially improved now. If you have OmniFocus 3 Pro and can set a Forecast tag, it’s definitely worth trying out as your working view.

7. Should some of my projects have default tags?

A lot of people manually assign tags to new tasks as they clean out their inbox. That works, but in OmniFocus 3 you’ll likely have more tags than before, and you don’t want clearing your inbox to become a chore worthy of procrastination. Given that, it’s worth remembering that if you assign a tag to a project, and then assign a new item to that project, it’ll inherit that tag. Kinda cool.

8. Can you now re-frame more of your projects to be “completable”?

OmniFocus neophytes typically make broad projects like “Networking”. Rather than being a project per se, this is moreso an “area of responsibility” – something that never really ends, and could accumulate items endlessly. In an ideal world you’d have projects named after goals like “Meet 20 people for coffee in 2018”, or at the very least “Meet more people for coffee”.

Back in the halcyon days of OmniFocus 2, having a lot of projects like this could be unwieldy. Now though, since you can now use tags and flexible perspectives to view different slices across all your projects, you should have a somewhat easier time maintaining more specific, measurable, time-boxed projects now. Which is a Good Thing™.

9. Wait, these custom perspectives really are cool – doesn’t this open up a limitless array of options for tags to organize and plan?

Yes, rhetorical question-asker, now you’ve got it! This question is what flipped me from protective of my old setup into total abandon. As I prepared and researched for this article, I eventually absorbed the scope of how tags and custom perspectives can interact, and what other people were doing with them, and it blew my mind. The next thing I remember, I was writing a 2000-word article about task management workflows.

This week I’ve burned down my projects, scrambled my tags, and tried a half-dozen different ways of looking at the work I do. Yet still, despite the chaos that is my OmniFocus setup, the most pressing thing – this article – got done. The due date on this article’s task pierced the fog, a yellow beacon in the forecast.

Okay okay, I’ll admit it – it was a red beacon.

10. Wait, so you’re saying you, the author of this Inside OmniFocus article and ostensibly a Knowledgeable Person™ about OmniFocus has their workflow in a state of chaos?

Pay no attention to that man behind the curtain!

Okay yes, but here’s the thing: it’s been great. The enforced focus of only having my most important work clearly visible has led me to be more focused than I have been in months. I’d set up my tags and projects back in an era where I added maybe 2-4 tasks a day, whereas now I’m capturing 10-20 a day, leading me to be swamped by medium-importance items. The old system wasn’t working, and was ripe for revolution, and between using new capabilities and asking new questions, I’m really optimistic about the new system.

So, it turns out, sometimes you really do need to blow it all up. And with OmniFocus 3 now bringing some really new workflow options to the Mac, there’s never been a better time than now. Let the creative destruction begin.


White Guys Are the Worst

September 1, 2018

A couple years ago, I started more intentionally broadening who I follow on social media. In particular, I’ve followed more people who aren’t just other white guys. It’s nice – I recommend it.

However, this approach highlighted a problem. As I started to follow more diverse people, I noticed that Twitter’s “who to follow” suggestions were fighting back. This is the default behaviour of recommendation engines: the mathematically “best” suggestions are the stereotypical ones. Thus, if you try and leave your bubble, it will recommend you get back in.

This is kind of annoying, so a couple years ago, I did what you do: I complained about it on Twitter:

I hate how recommenders blindly fight attempts to diversify. “People like you follow more white guys. Have you tried following white guys?”

My comment got some replies, including a sarcastic quip from friend and fellow white guy Boris Smus:

white guys are the worst!

It was a joke, from one white guy to another.

It was also true. As I would find out two years later, white guys are the worst.


Last Friday, I started getting some unusual Twitter notifications.

From “Zombie of some kind”:

woof woof woof woof woof woof woof woof woof

Odd.

From “Twinkledick”:

Reported for racism.

Uh…

From “Haul Paller”

Always. I feel my testosterone dropping by just looking at this pussy.

Oh no. The clown cavalry has arrived, and they’re in my mentions.


The alt-right internet trolling apparatus consists of many different warrens and tentacles. One recent tentacle to burst out of the goo is a Twitter account called “Blue Check Watch”. Its MO is to look for old tweets by verified accounts that are “racist against whites”, and brigade them.

Let’s say, for the sake of argument, that a white male president who was objectively bad by almost every measure was elected with only 46% of the vote, driven primarily by white male voters. In such a circumstance, a frustrated white male might say something like “White males suck”, on account of white males having just collectively done something that sucked.

Fast forward a few years, and trolls dig up said tweet. They publicize it as if it’s some kind of dark secret, attach it to the author’s photo and place of employment, and summon a brigade of locusts. They descend, harassing people, reporting them, attempting to get them fired, sending anti-Semitic comments, and generally behaving like a classic mob of alt-right bot-children.

And so our weekend went. We were called cunts, which hasn’t happened to me in a while. One response informed me that if I was a white guy who hated white guys so much, I could go kill myself. Which is good to know, that’s a helpful tip.

The problem is though, I don’t want white people to die. I just want them to stop being the worst.


As the brigade got bored and moved on to the next target, I had many questions. Boris summarized his thoughts on being targeted, along with a reflection on whether Twitter is worth trying to participate in anymore. My friend Christina Warren, who was targeted by the brigade earlier in the month, responded with cheery gifs and remarkable patience.

Myself, I was motivated to learn more about some of the bizarre rhetoric within the chaos. In particular, I read up on:

  1. Reverse racism”, the idea that white people suffer from racial discrimination in the same way that actual oppressed and underprivileged groups do.
  2. White pride”, a framing device white nationalists and neo-Nazis use to spin racism and racial division as if it was a positive attitude.
  3. White genocide”, a conspiracy theory that claims minorities and the government are intentionally shifting demographics over time with the goal of systematically eliminating white people.

Learning about these rhetorical devices is kind of like learning about common confidence scams. It’s both morbidly fascinating and good mental preparation. Out of context, the term “white pride” might not immediately trigger alarm bells for everyone. With some thought though, it’s pretty easy to connect it to some of the worst tendencies in humanity.

So, it’s worth reading up a bit and becoming aware of the tricks white nationalists try to use to divide people. That way, if these ideas do leak beyond the troll cages and infect anyone we know personally, we’ll be prepared to discuss it, and help make things less bad.

The power is in us. We can stop being the worst.

Archive of all articles →

© Allen Pike. See also Twitter and Steamclock.