Founder at

After much trial and error, I've finished basic #ActivityPub support on! (Though it's not live yet. Create a federated blog here, or enable federation by going to your blog's settings > Enable federation.) I'm very, very excited about reaching this point so I can try out some new ideas.


Inspired by Ev Williams' mini-manifesto.

Humans are humans, and society is full of good and bad actors. Technology, at the most fundamental level, is a neutral tool that can be used by either to meet any ends. There is nothing inherent in technology or the internet that says it must be used for noble causes, just like there is nothing inherently evil about technology — it is what its users decide it is, through usage over time.

Still, I and many others believe the internet should be used for good, and more importantly, that it's not exceptionally difficult to do. In my mind, it requires a few things: first, an alignment of incentives between the makers of technology and the users of technology, starting with the business model. Second, a higher regard for professional ethics in the entire industry, at all levels.


I signed up for Facebook in 2006, while I was still in high school. I “deleted” my account for the first time in 2008. Since then I've seen it evolve from chronological feed to platform for FarmVille, et al. to sprawling ad-spewing machine hoping to infect every device you live on.

Today I care enough about privacy to take a principled stance on it, and after dropping maintenance for the page I got rid of the last vestige of Facebook on my phone — the Pages app. Otherwise my profile sits there, happily populated with “Likes” I don't actually like and a Timeline featuring a life of adventure, like graduating college 5 decades before I was born, and living in Antarctica for a short period of time. I don't know if obfuscation like this completely works, but I like to think it helps.

Still, I occasionally hear about events and certain pages that are only available on Facebook. But with their cookies blocked on all my computers, I get this wonderful experience:

A Facebook page while not logged in, cluttered with sign up prompts

Like any other service that starves without trackable human attention, Facebook is happy to degrade their product to this point if it means annoying non-users enough to make them sign up. But the web is beautiful because users have control.

So I took back some control. I made a small browser extension that hides all of the annoying sign-up and log-in prompts, so you can safely click that Facebook link without being assaulted upon your arrival. What you get is something like this:

Facebook, with this new extension

Even if you haven't deleted Facebook, my hope is that this will make it a bit easier to log out, uninstall, and step back from the platform for a bit.

You can get Make Facebook Browsable for Chrome and Firefox.

#privacy #facebook #usability #ux #projects #extensions

Architecture is the thoughtful making of space.

— Louis Kahn

This got me thinking about the similarities between architecture and building digital products that people inhabit. Digitally we deal with different laws of physics and movement, but building digital spaces is just as much about realizing how someone will move through it. Our software's boundaries and pathways determine what can or can't be done, and how that makes people feel within them, in the same exact way that physical walls do.

We have to think of the exact activities that will take place within our spaces. Are we a public square that will limit private influence, and breed open discourse and free use by all? Are we an office — and what work will be done there, and how freely will people move through our “building” — and is an office even worth building? Are we a studio, where we need to let enough light in and be able to see the trees outside, and the space itself needs to inspire us?

Your identity online is a question of who you want to be.

Do you want to provide a recorded history of your thoughts and life to the world? Or only those finalized, edited, and made perfect to associate with your static identity? The internet provides both unparalleled opportunities to socialize and unprecedented degradation of the ability to be human in a fluid, ever-moving fashion (that is, where history is relegated to the participants' imaginations and not primary sources in digital history books).

Our selves are both formed and built by our interactions with the world — it's why social media can depress us; when we lose ourselves, I'd go as far as to say it's from fabricating and curating a personal image. And these platforms can encourage that.

The physical world affords us plenty of opportunities to build a fake persona, but also natural opportunities to form a self as we'd like. There are quiet places we can go in the real world to not be judged for our thoughts and actions — at the least, within the walls of our own homes. But the design of much social software makes this more difficult to do; raises the stakes on every interaction; makes it harder to act naturally.


If you used between February 2015 and June 2016, you'd remember a totally free service where you could publish individual “blog” posts without signing up. I had launched by building a simple website that showed some nice-looking text, along with some apps to publish that text from whatever device you wanted. It was all anonymous — you couldn't sign up even if you wanted to — and it struck a chord with all kinds of people who just wanted a simple digital tool to write with.

As I launched on our final native platform (iOS) five months in and wrapped up the web application, I started thinking about how to make it sustainable.


I love that Mastodon has risen as a viable alternative to Twitter. It's done almost everything you need to take on a major centralized service where the major sell is some technical aspect:

  • Providing a friendly / familiar UI
  • Making the underlying tech as invisible as possible
  • Providing comparable functionality, with incremental improvements
  • Having nice-looking, solid mobile apps
  • Growing quickly as a network to make socializing interesting and useful

Since I saw how fast it was taking off earlier this year and I had a good domain name in mind, I decided to start Writing Exchange as a instance. The other week it actually saw a sudden influx of new users (around 200), which has been awesome to watch.

While I know that decentralizing protocols like the ones behind Mastodon are the future, and I'm overjoyed Mastodon's high adoption means that so many social interactions will happen without corporate surveillance, I'm still concerned with copying over the addictive features of social media.

My main gripe at the moment is with favorites, and how favoriting a post/toot sends a signal back to the author, instead of it being a private action. I have a problem with favoriting and not boosting because boosting carries weight — by placing another's words on your own profile — and a more specific meaning. This weight means it can't really be used just to make the author feel good, and with time keep them fiending for that little hit of Mastodon-sourced dopamine.

Favoriting, on the other hand, is inexpensive and vague when it's a public signal — social, psychological candy. Maybe you favorite something because you genuinely love what someone wrote; maybe you just want to save it for later; maybe you're silently agreeing; maybe you want to let them know you saw their message; maybe you want to politely put an end to the conversation; maybe you want to offer moral support; maybe you don't want to converse. But no matter your nuanced response, the author sees only a star. Maybe they stop what they're doing in life to pull their phone out of their pocket, click a button, and see that you “favorited” what they posted. Then there's nothing for them to do but feel “good” because someone liked (or somethinged) their post. There's no bridge into a larger conversation, no social introduction, no cue to interact. Just a piece of candy.

It's a minor gripe in the grand scheme of things, but an important one to me. If we're going to build the web world we want, we have to constantly evaluate the pieces we bring with us from the old to the new. With each iteration of an idea on the web we need to question the very nature of certain aspects' existence in the first place, and determine whether or not every single old thing unimproved should still be with us. It's the only way we can be sure we're moving — if not in the right direction, at least in some direction that will teach us something.

I arrived in Japan six days ago. Tired from a 10-hour flight after a night-long layover in Calgary, I wandered wide-eyed around Narita airport looking for an ATM — I'd read before coming here that I'd need cash in most places. After buying a subway ticket I didn't need, I eventually found the right ticket counter and the right train into Tokyo.

I don't like to plan a lot when I travel. Not knowing where I'll sleep on any given night frees me up to chase whatever presents itself as I wander around an unknown place. But as the train started to cross the landscape I realized it was 5pm and dark already — and I was tired. So I started looking up hostels near my train's destination, Nippori Station, on Google Maps. I found a decent-looking one, found the directions to get there, and decided to walk instead of taking the subway, to get my first taste of the country.

I checked in at the hostel, left my bag, then headed out for food and a toothbrush. Again I consulted Google Maps to find a nearby convenience store, and then happened upon a restaurant along the way. When I got back I worked on my laptop in the lounge area, striking up small conversations with a guy from Australia and one from California. One mentioned a small town called Gujo out near Nagoya that he said we shouldn't miss. I Googled it and kept the tab open on my laptop for later.

The next day I woke at 5:30, and it was already starting to get light outside. Failing to fall back asleep, I Googled around on my phone to figure out where I wanted to hike — my only real goal for the trip. I found a few articles about trails in the Kita Alps, and kept each one open in a separate Chrome tab. I looked up directions, and saw it'd be a 1.5 hour train ride, a long wait until morning, then a 2.5 hour bus ride to the trailhead.

When I got off the train at Nagano Station I looked for a place to leave my backpack and work for a bit. I found a few neat things to see in the area, again keeping each open in a separate Chrome tab. As I headed for each destination, I'd regularly check the tabs I had open to find exactly how to get where I was going, and later close them when I was done.

That night, the idea came to me for a new app. This whole time I'd been keeping track of various destinations and things to do with browser tabs. They're perfect because they contain all the information you need for one general task, and once you're done with it, one click gets it out of sight. As someone who doesn't want to have his eyeballs in his phone while traveling, this is great.

But it also meant I had to search through 67 tabs on my phone when I needed a piece of information — and then maybe I actually had the tab open on my laptop. So I wanted a simple app that would keep a running list of links, and let me clear them away as I no longer needed them. It would be nice to be able to save them offline, too.

As I thought about implementation: mobile Chrome doesn't let you consistently do third-party actions in one click. There are custom tabs for Android apps, but then I'd have to change my browsing habits just in case I find a link I want to save. Also, creating an entirely new browser app just to get this functionality seemed ridiculous.

Then I realized what it should be: a bookmarklet. It still wouldn't be ideal on mobile, but it'd work on any device and integrate directly with the browser.

So I spent an hour throwing a prototype together. It has two components: the bookmarklet / save link page, and a list of your saved links. You answer two questions about the link when saving it: When? (either now or next) and What? (either go or stay). Then the list shows links organized under the answers to those questions, in descending priority (now: go is first), and each has a “done” button next to it, to tap when you no longer need the information. This way the list becomes a concise jumping-off point of only the most important information you need. When you finish visiting a place and want to go on to the next one, you press “done” on the former, and immediately have the next place waiting for you, right there in the list.

The working title for the project is さまよう (samayou — “wander”) and you can try it out here. As always, it works instantly — no sign up required — and keeps everything saved in your browser. So far it's been pretty nice, but next I'll probably add simple list sharing so you can use it across devices. Let me know how you like it (or don't) if you try it out!

the writer ... speaks to the intellect and heart of mankind, to all in any age who can understand him.

— Thoreau

The great philosopher Mark Zuckerberg once claimed, “The days of you having a different image for your work friends or co-workers and for the other people you know are probably coming to an end pretty quickly. Having two identities for yourself is an example of a lack of integrity.” Even pretending for a moment he's not in the business he's in, I have to disagree.

As I've written about before, having multiple identities for yourself is key to keeping a separation between your public and private life, especially when it comes to the very public by default web. It gives you privacy control that's independent of the software you're using, and if enabled and utilized in the right way, lets you have very nuanced control of the mass broadcasting you do online.

Some people believe that anonymity itself brings out the worst in people, or that having different “faces” for different social contexts implies dishonesty. Yet there is nothing inherent about anonymity that says it has to be used for bad things, just as there is nothing inherent about cars that says they must be used for fleeing a crime scene. Anonymity may offer the bully new ways to bully, or the liar new ways to deceive others, but the tool itself is existentially meaningless and lacks an intrinsic purpose.

So it's not explicitly the hammer's invented shape that defines its uses (though it certainly helps). Rather it's the history of people using hammers to nail things; of people lending and selling hammers to people who just need to nail something; of it being used for little else other than nailing. If, however, one day people started using it as a murder weapon, and then traded them with other murderers, and encouraged others to use hammers to murder, so much to the point that hammer ownership was criminalized or heavily regulated, the hammer's meaning will have changed to “murder weapon.” In that extreme hypothetical case, many people could lose out on the ability to hang pictures on the wall or build houses just because certain people hijacked the hammer's use case and caused larger problems with it.

In short, it's all how we use it. I believe digital anonymity can create more good than harm, and that's why I built software that supports it. And in three years of running, we've had to take exceedingly few technical measures to stop abuse. Otherwise, the product's design and social cues like are enough to grow a vibrant, welcoming community without real-life identities.

When this and many similarly-minded products exist, you easily see that Zuckerberg's idea that “having a different image for your work friends or co-workers and for the other people you know are probably coming to an end” is fueled by ulterior motives and not empirical evidence. Facebook's business model rests on us divulging a picture of our entire selves so we can be accurately targeted for ads; if we don't subscribe to that, they have no more product to sell. The stakes for him are high.

So if we want to see an internet with strong personal privacy and individual freedoms, we need more products and services that encourage it. We need businesses that defend it and give it a good name. We need fewer companies building products on the premise that privacy is quaint relic of the past, and fewer CEOs spreading narratives that mislead us into accepting their misguided vision for the future.

I could've published these thoughts pseudo- or anonymously and not lost any integrity, because we know that integrity doesn't mean telling every reader your professional history, what bands you like, what you did last night, or which political candidate you like. Rather, ultimately it's individual ideas and the actions they inspire in a person that determine who they really are.

Enter your email to subscribe to updates.