Sam Nabi Kirby Sun, 01 Mar 2015 20:07:48 +0000 Sam Nabi's latest blog posts Bridging the web-native gap Sun, 20 Sep 2015 00:00:00 +0000 The line between websites and apps is becoming blurrier every day. What with entire operating systems being made with HTML5, and the recent influx of native adblockers on mobile platforms, there’s all kinds of cross-pollination that is absolutely good for the industry and good for the web in general.

Despite this, there’s still quite a gap between native apps and the web. One glaring example that Twitter users have had to deal with for nearly three years: Instagram’s decision to remove photo previews from tweets. This political decision has caused a truly horrible user experience for all of us.

Yeah, nobody’s going to click that Instagram link. Not only is the preview missing, but this link will open up in your phone’s browser instead of the Instagram app. Even though you may be logged in to the Instagram app on your phone, you’ll likely have to log in again through the browser.

So let’s recap. If you want to fav an Instagram photo you found on Twitter, just follow these simple steps:

  1. Click an obscure photo link that has no preview
  2. Get directed to your browser, which is probably a second-rate experience compared to the native app you already have
  3. Log in with the browser, even though you’re already logged in on your app
  4. Get redirected to your home page feed. Now you’ve lost the photo you wanted to see.
  5. Switch back to the Twitter app
  6. Follow the same link you already clicked in step 1
  7. Double-tap to fav

Here’s our problem: the browser doesn’t know your apps exist. Your apps don’t know that other apps exist. Your default browser gobbles up every link that comes across its path and the experience is terrible.

A better vision

This week, I’ve been musing about what a standards-based, backwards-compatible way to bridge the web-native gap. The more I thought about it, the more simple the solution seemed. We have the necessary tools at our disposal, but nobody seems to be using them to solve this problem.

There some truly mind-boggling proprietary URL schemes and workarounds out there. Relying on a new URL format or third-party app are not long-term solutions. These over-complicate the problem and drive a wedge further between the web and native.

What if all links to were opened by your Facebook app by default? Any link to would get intercepted by your Twitter client instead of opening in the browser. Same deal with Instagram.

This concept could be expended further. Let’s say you’re browsing Project Gutenberg to find a sweet ebook to read. You have an ereader app that listens for .epub links, and adds them to your library with one click. This saves you the steps of downloading the file, opening the app, and importing it manually.

Sounds nice. How do we get there?

The chokepoint here is the operating system itself. Right now, you can download alternative browsers and set them as your default. We need OSes to mash-up this functionality with a little regex and let any app be the "default browser" for certain kinds of links.

This preserves backwards-compatibility by opening links in the default browser if the user doesn’t have the app, or if they’re browsing on some other kind of device that doesn’t have apps. It’s the best of both worlds.

I’m not sure what the next step is: petition the smartphone OS makers? Build support int he developer community? Rally users on a per-app basis?

This solution really has benefits for all three groups of people. OS makers can save the time and energy they’re wasting on duplication of the HTTP protocol — no need to reinvent the wheel. Developers can offer deep integration with the web while offering first-rate native user experience. Users don’t have to feel shuffled around like sheep and get a smoother user experience.

Let’s talk about this. What do you think?

Strategic voting won't help you Mon, 31 Aug 2015 00:00:00 +0000 Strategic voting is a mirage. It’s like gambling, or predicting the stock market — there’s a whole industry of people trying to figure out how to game the system, and most of them fail.

Progressives have been hand-wringing for the last decade about how to unite the left (without actually, you know, uniting all the left-leaning parties). We really really want to kick Harper out this time, and strategic voting seems like our last option in a system where the cards are stacked against us.

Remember when Joyce Murray ran for the Liberal leadership, proposing that progressive parties unite behind one candidate in key ridings? Nathan Cullen, vying for the NDP leadership, also pushed for cooperation to defeat the Conservatives. They both lost.

Now we have Trudeau and Mulcair at the helm of their respective parties, and neither is interested in electoral cooperation. That ship has sailed. A minority NDP or Liberal government may need support from the other party to pass legislation in parliament, but there’s no way they’ll be endorsing each others’ candidates in this election race.

With that door shut, we’ve turned to strategic voting as the next best thing. But it’s not the next best thing. It’s not even a good thing. It’s hardly even a thing.

Polling can’t help you in tight ridings

The aggregate poll results at, run by writer-journalist Éric Grenier, have been an excellent resource over the last three elections. The site dredges through the panoply of polls across the country to come up with an informed outlook of what could happen on election day. It’s more than just an average of polls — Grenier uses a projection model that gives a percentage likelihood of each riding’s winner.

So, that’s great news! We have a smart statistics-man that did all the hard work to tell us who we need to vote for to defeat Harper! Right?


Polls and projection models can be pretty accurate on a nation-wide or regional level, but they lose accuracy fast when you’re trying to predict results for a particular riding. This is the Achilles’ heel of strategic voting — Canadians don’t vote collectively as a country. We’re carved up into 338 ridings, each a world unto itself. And when you get down to the riding level, there’s so much uncertainty that it’s difficult to figure out how to vote strategically.

According to the ThreeHundredEight projections, ridings with tight two- or three-way races have less confident predictions about who will win — and these are the only ones that matter for strategic voting. In my riding of Kitchener-Centre, where the NDP, Liberals, and Conservatives are in a dead heat, the polls are fluctuating between a 50-60% chance of a Liberal victory. That’s the statistical equivalent of throwing up your hands and shrugging your shoulders.

What about Leadnow?

This election, the advocacy group Leadnow has a shiny new campaign called VoteTogether. They hope to mobilize a hivemind of progressive voters in key ridings to tip the scales on voting day and stop Conservatives from getting elected.

I don’t doubt that Leadnow has very smart people working for them, and they’re trying their hardest to give people accurate information. But it didn’t work in 2011, and Leadnow isn’t doing anything substantially different this time around.

In 2011, there were two organizations trying to mobilize the strategic vote. They didn’t do so well:

  1. Project Democracy ended up making the wrong call in 19 swing ridings, were caught off guard by 10 ridings where the Conservatives gained a seat, and failed to make a dent in 33 targeted ridings where Conservative MPs were re-elected.
  2. Catch-22, only endorsed 2 candidates that ended up defeating a Conservative incumbent. 34 of their picks came second, and 8 came third.

But maybe, just maybe, Leadnow has it figured out. The strategic voting movement for #elxn42 has coalesced around VoteTogether and they claim to have identified 72 Conservative swing ridings where a united left can keep the Conservatives out.

I wish them all the best, but the math of strategic voting is working against them. They say the only poll that matters is the one on election day — and the only poll that matters for strategic voting is the one just before election day. Leadnow won’t have any useful polling data until a couple weeks before the election. Hopefully, this gives their on-the-ground teams enough time to collectively choose which candidate to support, get the word out, and finally, cross their fingers in hopes that everyone obeys their pledge.

It’s a tall order. For the strategy to work, the popular vote intention can’t change much in the last stretch of the campaign. If we see another late surge of support, like the NDP enjoyed in 2011, it will be impossible to navigate all those shifting goalposts in each riding.

I don’t want to diminish the real and valid mission behind a coordinated anything-but-Conservative effort. It’s a fantastic display of solidarity against the dismal legacy of Harper’s government. But the strategic vote is like herding cats, and has a dangerous potential to mislead.

Solidarity is not a numbers game Thu, 07 May 2015 00:00:00 +0000 Apparently, the University of Waterloo doesn’t know what it means to be an ally — but will gladly accept accolades and prestige for kind of thinking about it. Over the last few days, the UW administration has been trumpeting its partnership with HeForShe. It’s a worthy cause and a necessary approach to address systemic sexism, but I can’t find anything to suggest my alma mater is taking the campaign’s purpose seriously.

Launched last year, HeForShe is a great initiative run by UN Women. It recognizes that we need to change the conversation around feminism to engage men and boys, to recognize privilege and male-centredness in our societies, and for males to act in solidarity to dismantle the sexist norms embedded in our culture. It aims to get one billion pledges from men and boys around the world.

HeForShe is gaining steam, and UW has jumped on board as the only Canadian institution to take part in its IMPACT 10x10x10 pilot initiative — a fact it will repeat ad nauseum for the next little while. Good on UW for signal-boosting the excellent work of HeForShe, but I feel like it has missed the point.

In the section of the HeForShe website geared to universities, a helpful framework document is available, complete with action items that are tailored specifically to post-secondary institutions. There’s lots of good, succinct discussion about the problem HeForShe is trying to solve:

The achievement of gender equality requires an inclusive approach that recognizes the crucial role of men and boys as partners for women’s rights, and as having needs of their own in the formulation of that balance.


These principles build upon the agreed conclusions of the 48th Session of the United Nations Commission on the Status of Women held in 2004, which urged that men and boys have a greater role and accountability in the achievement of gender equality. Despite this recognition, the enlisting of men and boys as equal partners in the crafting and implementing of a shared vision of gender equality is yet to be fully realized.

And the document also outlines what role universities should play:

Under the HeForShe IMPACT 10x10x10, UN Women will partner with at least 10 universities to mobilize university campuses to reshape the global discourse on gender equality. HeForShe IMPACT 10x10x10 will engage with universities at the administration and student level on gender sensitization and gender-based violence.

The suggested action items in HeForShe’s framework document touch on a bunch of great ways to bring the campaign to life on campus, including inspiring men on campus to join the campaign, addressing assault and misconduct, and training faculty and staff to build gender equality into their day-to-day roles.

However, when I look at UW’s commitments for the HeForShe campaign, It’s like reading another language. Despite the clear intent of HeForShe as a solidarity movement — one where men use their privilege to build upon and move with women’s struggle — UW’s commitments don’t engage men at all:

  1. Attract more female students in STEM programs
  2. Attract more female faculty members
  3. Attract more female leaders in senior academic and administrative positions

Do you notice a pattern? UW has clearly framed the fight against sexism as a pipeline problem — there aren’t enough women in the university, so let’s try to add more. Then we’ll eventually have gender parity and sexism will go away.

But structural sexism is more than just a numbers game. It’s also dangerous to conflate solidarity with numerical parity. And what surprises me most is how UW has erased all mention of social and cultural reform from its commitments. This puts the onus on women to fill the pipeline, and neatly avoids confronting men in positions of privilege.

So what happens when women are encouraged to fill the pipeline in an environment that remains hostile to them? Consider this observation from a UW student on what it’s like to be a woman in the Computer Science program:

There can only be one of us in a group of men, and we need to be exceptional. This is an incredibly limiting and unfulfilling role for women to play in CS. Many of us can’t or don’t want to handle the attendant social and academic pressures, so we end up switching programs or dropping out of school.

From Exclusion and Exceptionality in the Pipeline, by Julia Nguyen

So, yes. I’m disappointed and cynical about UW’s approach to the HeForShe campaign. That said, there is some work being done to foster male allies in the broader university community.

The Sigma Chi fraternity released a video last fall urging men to "Break the Silence" around sexual violence and rape culture. It was in the local news cycle for a few days, and laid down a much-needed challenge:

We are shifting our culture by changing ourselves, so we can influence our communities. And through this video, we want you to do the same.

A little further afield, McMaster University recently announced that it would increase the salaries of female faculty to correct a systemic pay gap. This is a great example of a university recognizing injustice and moving swiftly to rectify a structural bias.

Through HeForShe, UW could show some real leadership as an institution and engage men to act in solidarity against deeply-rooted sexism. Instead, it plans to just increase the number of women coming through its doors. Without more robust commitments, the university’s intentions fall flat.

This isn’t to say HeForShe can’t succeed at UW; if you’re a student there, sign the pledge on your own. Join the movement and make your own commitments. The university’s engagement has been lukewarm so far, but don’t let that stop you from doing better.

Twenty-first century brutalism Sat, 14 Mar 2015 00:00:00 +0000 Brutalist architecture is having a bit of a moment in the public consciousness. A surprisingly favourable one. I’ve long heard buildings like UW’s Math & Computer building or U of T’s Robarts Library described as oppressive, faceless, and institutional. I’ve always associated the style with a big brother-esque presence in the urban streetscape. They were built to stand as monoliths, and people have always harboured a desire to see them torn down. Right?

A few years ago I started hearing whispers about the heritage value of brutalist buildings. Heritage? Really? I thought they were universally reviled. Who would ever want to keep these hulking concrete blocks around and make it difficult for them to be replaced with something sleek and modern? (Heh, modern — now there’s an interesting word for this discussion.)

The University of Waterloo’s Math and Computer Building. Photo by parudox.

Public opinion is varied and changeable — over time, we may grow to appreciate a style of architecture for the cultural importance it carries, or simply because it’s become part of our urban fabric. But I’m still surprised at the number of brutalism apologists I’ve come across lately. There’s a weird semi-ironic nostalgia for brutalism that is becoming less ironic and more compelling the longer I think about it.

On Twitter, This Brutal House posts a steady stream of austere art and concrete architecture to 15,000 followers (including myself). Shawn Micallef, who I admire for his writing on urbanism, tweets things like "Windows are tyranny," and I can’t tell if he’s half-joking or not.

I got into a surprisingly long Twitter conversation when I casually retweeted a photo of a brutalist housing project near a town that my Dad and I had visited on our last trip to England:

Several of my followers, most of whom I don’t interact with on a regular basis, came out of the woodwork to retweet, favourite, and post their own photos of brutalist buildings. I was taken by surprise at this groundswell of — what? Appreciation? Love? Nostalgia? — for the brutalist era.

So why, I wonder, does brutalism seems to ignite these passions nowadays? Is it just another throwback aesthetic whose time has come? Or is there something more meaningful behind it all? I have a few ideas about what brutalism means to us in 2015.

The Immaculate Conception Church, Orsova, Romania. Photo by fusion-of-horizons.

Faux nostalgia

One explanation of brutalism’s newfound popularity is the lazy argument that everything old is new again. But I’ll include it here because it’s partially true. There’s a nostalgic aesthetic around brutalist buildings that stirs up the same feelings as when I see an old typewriter in a thrift store and think, ‘I want that.’

Old Stuff, especially Old Stuff made with strong, heavy materials, has a certain attractiveness that also imparts a sense of reliability and stability. That aesthetic flies in the face of planned obsolescence and our magpie-like obsession with the 6-month tech cycle. And it’s actually quite refreshing.