Founder at

A recurring problem I and others see in the fediverse, with both new and veteran users, is the issue of a single identity.

I wrestled with this when I first created a Mastodon account, going straight for one on, as most people do. But when I wanted to start my own writing-centric instance, I had to create a new personal account on it and mention my account in the bio, and vice versa. I was the same person, but speaking to different audiences — one, a general audience and the other, more about writing.

Many people create multiple accounts — the point, especially on niche instances, is to get access to the local timeline and see the conversations around your instance's niche. (There are probably better ways to handle this specific problem, but I digress.)

The issue of identity really started to grow as new platforms popped up. There's PixelFed / Anfora for photos, PeerTube for videos, Plume and WriteFreely for blogging, and many more in the works. Though #ActivityPub allows you to follow and comment on all these services from a single identity, current implementations unfortunately don't accommodate the other side: the publisher hoping to utilize all these services under a single identity.

But I think I have a solution — one I mentioned in a recent conversation in the fediverse.

Essentially, we could make each ActivityPub service work both as a publishing platform and a client to other AP services. So for example, if I wanted my primary identity to be a Mastodon account, I could also create a PixelFed account like normal and hook it up to that Mastodon account. In this scenario, PixelFed would let me turn off publication of any ActivityPub endpoints (so people aren't also following my PixelFed account), and would simply interact with Mastodon's API as a client. With this kind of setup, I could use PixelFed's photo uploading / filtering features and have everything go to the profile of mine that people already follow, over on Mastodon. With this, people could combine any number of services to publish a variety of posts all to a single identity.

With the projects I'm building, WriteFreely and, you might use your WriteFreely blog as your primary identity, and then by hooking up your account, any posts you boost from there would be published to your blog.

Of course, making this work in practice will involve much more work that wouldn't otherwise be needed. For one, each platform would need to be able to store any kind of activity out there published by another platform. And some platforms will be more suited to play the “identity” role than others.

Still, I think it's an interesting idea. And I'll be experimenting with it in the future to see if it's all actually possible.

#fediverse #WriteFreely #ReadAs

Now #hashtags are included in the post data sent out to the #fediverse! This means that besides helping organize your writing on your blog, hashtagging your posts will make them show up in searches too, like this:

We also support #CamelCase tags, and encourage everyone to use them to help visually impaired people reading your posts.

Next I'll include any image attachments, and then the only remaining feature to complete this basic implementation is to support scheduled posts. Once that's done, I'll move on to fixing interoperation with other platforms besides Mastodon.

#WriteAs #tags #ActivityPub

As we make iterative technological jumps, what do we lose in the process? I'm thinking about this with It's cool what Google does with machine learning, but what do we lose when the machine put our albums together instead of us? Or when a good friend does? What connections do we miss out on? What is more important: connecting to an illusory intelligence, or another human, animal, the natural world?

One thing we don't see very often in the software world is a project being finished. Why does some piece of software need a visual refresh every year? Why are there more freaking menus here when I could navigate the site just fine before? Why can't we be content with something we built that's just really, really good as it is?

The answers, in many cases, are: it doesn't; no good reason; we can.

One of the things I'm happy to have accomplished, that I noticed the other day writing my last post, was that this thing I built does exactly what I need it to and no more. Are there some places that could be smoothed out? Sure. But overall, it's pretty damn good, and has remained that way for years.

The exciting part for me, the guy building the thing, is that the software is still improving, but it's not disturbing the user. I, the writer, am happy that the publish button is in the same place it was yesterday — but oh by the way, now this cool thing will happen where this post will go out to followers in the fediverse as soon as I publish it.

Build something to be good and as close to perfect as possible — not for endless improvement.

After you've been a tourist abroad once, the second time there feels different in some ways. You're no longer bouncing from place to place, riding planes and trains to find a point of interest, snap your selfie, and carry yourself and your fanny pack to the next place on the brochure. You walk slower, notice the sidewalk and the people, the birds and the smells; and really, you could be anywhere in the world.


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.


Enter your email to subscribe to updates.