Skip to main content

Paradigm shift

One of my favorite pieces of software is Apple photo search. If you've got an iPhone, try it: great searches to try are "animal selfie", "bird", "ice cream", or "cake".

What's particularly amazing about these searches is that the machine learning is performed on-device. In fact, Apple provides developer tools for on-device machine learning in any app across its platforms. There's no cloud processing and the privacy issues related to that. The power to identify which photos are a selfie with your cat lies in the palm of your hand.

Not everyone can afford a top-end iPhone, but these represent the leading edge of the technology; in the near future, every phone will be able to perform rapid machine learning tasks.

Another thing my phone does is connect to 5G networks. 5G has a theoretical maximum bandwidth speed of 10gbps, which is faster than the kind of home cable internet you might get from a company like Comcast. In practice, the networks don't quite work that way, but we can expect them to improve over time. 5G networks will allow us to have incredibly fast internet virtually anywhere.

Again: not every phone supports 5G. But every phone will. (And, inevitably, 6G is around the corner.)

Finally, my phone has roughly the same amount of storage as my computer, and every bit as fast. Not everyone has 256GB of storage on their phone - but, once again, everyone will.

On the internet, we mostly deal with clients and servers. The services we use are powered by data centers so vast that they sometimes have their own power stations. Technology startup founders have to consider the cost of virtualized infrastructure as a key part of their plans: how many servers will they need, what kinds of databases, and so on.

Meanwhile, the client side is fairly thin. We provide small web interfaces and APIs that connect from our server infrastructure to our devices, as if our devices are weak and not to be trusted.

The result is a privacy nightmare: all our data is stored in the same few places, and we usually just have to trust that nobody will peek. (It's fair to assume that somebody is peeking.) It also represents a single point of failure: if just one Amazon datacenter in Virginia encounters a problem, it can seem like half the internet has gone down. Finally, the capabilities of a service are limited by the throughput of low-powered virtualized servers.

But the world has changed. We're addicted to these tiny devices that happen to have huge amounts of storage, sophisticated processors, and incredibly fast, always-on connectivity. I think it's only a matter of time before someone - potentially Apple, potentially someone exponentially smaller than Apple - uses this to create an entirely new kind of peer to peer application infrastructure.

If I'm in the next room to you and I send you a Facebook message, the data finds its way to Facebook's datacenter and back to you. It's an incredibly wasteful process. What if the message just went straight to you over peer to peer wifi (or whatever connection method was most convenient)? And what if there was a developer kit that made it easy for any engineer to really easily build an application over this opportunistic infrastructure without worrying about the details?

Lately I've been obsessed with this idea. The capabilities of our technology have radically changed, but our business models and architectural paradigms haven't caught up. There's an exciting opportunity here - not just to be disruptive, but to create a more private, more immediate, and more dynamically functional internet.


The year of self-respect

I'm nearing the end of my first week on the Whole30 diet. I'm still not what sure I think about it: which foods are allowed and which aren't feels a bit arbitrary, and the very fact that the diet has a logo and a trademark is off-putting. On the other hand, maybe it's my imagination, but I feel a lot better. I'm certainly eating a great deal more vegetables.

I've also been better about doing exercise before work so far this year. Usually that's involved running, but I've been doing some weight training, as well as long, brisk walks and push-ups every day. The result is that I'm more alert during the day, and feel free to relax and read / write during the evening. (Whole30's ban on alcohol helps here, too. I had fallen into a pattern of drinking a glass of wine or two most evenings in 2020.)

I suffer from anxiety, bouts of depression, and historically really low self-esteem. At my lowest, I made a plan - never followed - to end my life. Shallow self-confidence has sometimes led me to bad places and poor choices. It's frequently led me to sleepless nights and their subsequent, zombie-like days. I've spent much of my life feeling like I must be physically abhorrent; like there's something horribly wrong with me that nobody wanted to tell me about. As a kid, I was over six feet tall when I was thirteen, and I didn't so much as date until I was twenty-one. Those feelings of inferiority have never really left me.

By rights, the pandemic should have made me feel worse. We were all locked inside; I spent a great deal more time caring for my terminally ill mother as she precipitously declined. The goals I had for my life were out of reach. It should have been a miserable time.

And it was, in lots of ways, but it also gave me something important. I could be in my own space, rather than commuting to work. I was not expected to show up in a certain way. All the worries I used to have about the impression I was casting in the real world - worries that I resented having terribly - evaporated. Instead, I could just be me.

I gave myself permission to write more than blog posts. On a whim, I entered a flash fiction competition, and placed first in the initial round. I enrolled in workshops and courses and continued to practice. Today, I have a regular practice of writing every day.

I ran more than I'd run in my entire life leading up to that point combined: at least two 5Ks a week, which for many people isn't all that much, but for me was an enormous step up. Towards the end of the year, I had some conversations about stressful things that had been building up as reservoirs of bad feeling that were threatening to spill over.

Somewhere in all of this, my self-esteem crept up, and my anxiety started to diminish. I felt less awful about my body and found that the stressful conversations went well. The darkness is not necessarily gone for good; anyone who suffers from depression knows that the cloud can re-emerge at any time. I also don't think it's just because I started to do exercise and did some writing; I think those things were reflections of something else.

Self-respect is something that requires practice and investment, and somewhere during last year, I made the decision to spend the time. It wasn't esteem, as such, at least at first, but I decided that I was worth spending time on. Writing and exercise weren't things that would make other people like me. They were just for me. And a switch flipped, without me realizing it, that allowed me to know that was okay.

In a lot of ways, I feel like a different person going into 2021. I'm full of gratitude, and excited for the future. We're still in an awful, deadly pandemic; I still have the trauma of watching my mother deal with her illness. But in lots of ways, I can meet those challenges with more energy.

There are ups and downs. I had a blip before Christmas where I still felt incredibly low. But generally speaking, every day is a small progression in the right direction. Things are looking up.


Thinking broader

It's really easy to assume that the world around us is fixed and absolute. The way we do things is the way things are done. The internet works the way it does. The market is the market. People behave how people behave.

One of my superpowers has traditionally been that I'm an outsider: I'm an off-kilter third culture kid who doesn't really fit into anyone's community, which means I see everything from a slightly different angle. Often that's allowed me to see absurdities that other people can't see, and ask questions that other people might not have asked. Sometimes, they're painfully naive. But naivety and optimism can lead to interesting new places.

Lately I've had a few conversations that have made me realize that my perspective has settled in a bit more than I'm comfortable with; I feel like my horizons have closed in a little bit. It's been a sobering realization. Narrower horizons lead to safer, more timid decisions; a small island mentality where a smaller set of possible changes are considered and new ideas are more likely to be met with a pessimistic "that'll never work". It's a toxic way to think that creeps up on you.

It's not enough to invent new things for our current context - there's a lot to be gained from reconsidering that context entirely. Why are things the way they are? Do they have to be? What would be better?

Chris Messina's website subtitle used to be "All of this can be made better. Are you ready? Begin." I've thought about that phrase a lot over the years. It's an inspiring mission statement and a great way to think. It also requires that you feel some ownership or ability - permission - to change the way things work.

People come to this in different ways. I think it helps to have seen broader change manifested, but it's not a prerequisite. It certainly helps to have been in an environment filled with broader, change-oriented thinking. If you live in a world of conservative stagnation, you're much more likely to feel the same way. But, of course, plenty of people from those sorts of environments emerge to change the world.

And it turns out that people lose it in different ways, too. I'm grateful for conversations with smart people who challenged my thinking and encouraged me to take a step back.

For me, right now, this is wrapped up in the fabric of what I do. Why do we have to use the software and protocol models we've used for decades? What does it look like to think beyond APIs and browsers, clients and servers? What if, knowing what we know today, something radically different could be better? Do we need to depend on vast datacenters owned by megacorporations, or can we do away with them altogether?

It's worth asking the questions: how could you broaden your thinking? What in your life do you consider to be immovable that might not be? What does thinking bigger and putting everything on the table look like for you?


The ambient future

I have a longstanding bet that we're moving to an ambient computing world: one where the computer is all around us, interacting with us in whatever way is convenient to us at the time. Smart speakers, high-spec smartphones, natural language intelligent assistants, augmented reality glasses, wearables with haptic feedback, and interactive screens aren't individual technologies in themselves, but all part of a contiguous ambient cloud with your digital identity at the center. In this vision of the future, whoever controls the ecosystem controls the next phase of computing. Ideally, it's an open system with no clear owner, but that won't happen by itself.

A lot of the reports coming out of (virtual) CES this year involve augmented reality of one kind or another. Lots of different companies have new models of AR glasses, which are becoming a little bit more like something you'd actually want to put on your face with each passing year; Sony also has a pretty cool sounding (but ruinously expensive) spatial display that looks like examining a 3D object through a window.

Throughout all this, Apple is pretty quiet. Even though Siri is objectively the worst digital assistant, it was early to the market, and signaled an intention to pursue a vision for ambient computing that has since been followed up with the Apple Watch, AirPods, and HomePods. It has filed patents for AR glasses. And I have a strong suspicion - with no inside knowledge whatsoever - that it's planning on doing something interesting around audio. Podcasts are cool, but evolving what podcasts can be in an ambient computing world is cooler. Whereas most companies are concentrating on iterating the technology, companies like Apple rightly think about the human experience of using it, and elegantly figuring out its place at the intersection of tech and culture. It won't be the first company to come out with a technology, but it may be the first to make it feel human.

If this is the way the world is going - and remember, it's only a bet - it has enormous implications for other kinds of applications. We're still largely wedded to a monitor-keyboard paradigm that was invented long before the moon landing; most of your favorite apps and services amount to sitting in front of a rectangular display and lightly interacting with it somehow. An ambient paradigm demands that we pay close attention to calm tech principles so that we are not cognitively overloaded, jibing with our perception of reality rather than stealing our engagement completely. The main job of the internet is to connect people; what does that look like in an ambient environment? What does it mean for work? For fintech? For learning? And given that all we have is our perception of reality, who do we trust with augmenting it?

Anyway, Norm Glasses will make everyone look like the main character in a John Hughes movie, and I'm kind of here for it.


I’m hiring

I'm hiring for two roles. I'm looking for product leaders with hands-on mission-driven startup experience, and for back-end engineers who have both written in Ruby on Rails and scripted headless browsers in a production environment as part of their work. In both cases, I'm looking for people who have experience in these roles in other startups.

Here's how I think about hiring: more than anything else, I'm building a community of people who are pulling together for a common cause. Each new person should add a new perspective and set of skills, and also be ready to productively evolve the culture of the community itself. That means intentionally hiring people with diverse backgrounds who embody our core values.

Some values - like being empathetic and collaborative, or being great at both written and verbal communication - are absolute requirements. Because I'm building a community, I need people who get on well with others, who share my desire for inclusivity, and can work in a group. A high EQ is an enormous asset for an engineer. Other values may evolve over time, as people propose new ideas that change the way we all work - perhaps based on processes they've seen working well at places they've worked in the past. Anyone who joins the community should have the ownership to improve it.

ForUsAll is changing the way people save for retirement. We have radically ambitious goals for 2021, centered around helping people find financial stability in ways that are still very new. I'll write about them when we're ready, but for now, the key is to find people who are motivated by a strong social mission and by creating something new, and who enjoy the fast-changing nature of startups. I believe in healthy work-life integration, treating people with kindness, and a human-centered, empathetic approach - all while we're building cool stuff with energy and creativity.

If that sounds like your kind of thing, and you're located in the US, reach out. I'd love to chat with you.


Making open source work for everyone

The power of free and open source software comes down to how it is shared. Users can pick up and modify the source code, usually at no cost, as long as they adhere to the terms of its licenses, which range from permissive (do what you like) to more restrictive (if you make modifications, you've got to distribute them under the same license). The popularity of the model has led to a transformation in the way software is built; it's not an exaggeration to say that the current tech industry couldn't exist without it. Collaborative software drives the industry.

(If you're not familiar with the concept or its nuances, I wrote a history and guide to the underlying ideas, including how it relates to projects like Linux, a few years ago, which might help.)

In my work, I've generally veered towards permissive licenses. Elgg, my first open source project, was originally released under the GPL, and then subsequently dual-released under the more permissive MIT license. Known and its plugins were released under the Apache license. While GPL is a little more restrictive, both the MIT and Apache licenses say little more than, "this software is provided as-is".

If I was to start another open source project, I'd take a different approach and use a very restrictive license. For example, the Affero GNU Public License requires that you make the source code to any modifications available even if they're just running on a server (i.e., even if you're not distributing the modified code in any other way). This means that if someone starts a web service with the code as a starting point, they must make the source code of that service available under the AGPL.

Then I'd dual-license it. If you want to use the software for free, that's great: you've just got to make sure that if you're using it to build a web service, the source code of your web service must be available for free, too. On the other hand, if you want to restrict access to your web service's source code because it forms the basis of a commercial venture, then you need to pay me for the commercial license. Everybody wins: free and open source communities can operate without commercial considerations, while I see an upside if my open source work is used in a commercial venture. The commercial license could include provisions to allow non-profits and educational institutions to use the software for free or at a low cost; the point is, it would be at my discretion.

I love free software. The utopian vision of the movement is truly empowering, and has empowered communities that would not ordinarily be able to tailor their own software platforms. But allowing commercial entities to take advantage of people who provide their work for the love of it as a bug. There's no reason in the world that a VC-funded business with millions of dollars under its belt should avoid paying people its company value integrally depends on. It's taken me a long time to come around to the idea, but restrictive licenses like the AGPL align everyone in the ecosystem and allow individual developers and well-funded startups alike to thrive.

More than that, it's a model that allows me to think I might, one day, dive head-first into free software at least one more time.


Fractal communities vs the magical bullhorn

In her book Emergent Strategy, adrienne maree brown eloquently describes a model for decentralized leadership in a world of ever-changing emergent patterns. Heavily influenced by the philosophy laid out in Octavia Butler's Earthseed novels - God is change - it describes how the way we show up in the face of change, embodying the world we wish to manifest, can influence it for the better. It's a uniquely non-linear manifesto.

Our model for communities and change right now is intensely linear. Despite the democratizing promise of the internet, we have fallen back on a broadcast model of influencers and audiences: a small number of people create content and the rest of us consume it. Although, technically speaking, anyone can publish, the truth is that platforms assume we're here to listen - and they've been built with those assumptions in mind. Influencers broadcast; followers follow; platforms make money by facilitating the engagement. It's how Ellen Degeneres's selfie got millions of retweets, and how Donald Trump parlayed his Twitter account into a Presidency. (See if you can do the same.)

A broadcast model creates a direct line from anyone with power to everyone. Theoretically, that's a beautiful, democratizing thing; in practice, it turns the protocols and assumptions underlying the broadcast medium itself into the ultimate influencer. Everyone who is trying to reach an audience falls into patterns that they know will improve their reach; they game the algorithms, which are really reflections of the values and ideas of the teams which created them. Influencers like Donald Trump game the minds of engineers and product managers in San Francisco in order to game the world.

Ideas are at their best when filtered through communities and movements that each have their own values and mechanics. Before social media, this is how it worked. Swirling, emergent patterns evolve from the interdynamics of these communities. As opposed to social media's linear broadcast model, this intercommunity model is more like a fractal: the interrelations between tiny communities form larger communities, which in turn interrelate as larger communities of people, and so on. There's no magical bullhorn that lets you skip ahead and reach the world: you've got to influence your friends and family, who then reach other friends and families, who then reach their wider local communities. Each of these communities has a different set of norms and values; organic, internal rules and dynamics that govern them. In the process, the people in these communities at each level become influencers in themselves, carrying on the message. It's harder work, but more profoundly impactful.

This is a healthier model for the internet, too. Rather than community platforms that tend towards global scale, we need to build global infrastructure that can support tiny communities that work in different ways. Ideas can still spread; links still get shared; memes are made. But they do so organically, in a more equal way that prioritizes the decentralized, community-driven nature of human society, rather than one that seeks to make us all into followers of a handful of global influencers. We need to create a reflection of adrienne maree brown's view of the world, not Donald Trump's.

In doing so, it's important to understand that "local" doesn't mean "geographically local" on the internet. It can, but doesn't have to. "Local" can also mean focused communities of interest of all different kinds. Everybody's experience of the internet then becomes a unique-to-them set of overlapping communities on different platforms. My argument is absolutely not that the internet should not be global infrastructure, and that we shouldn't be able to share ideas with people from everywhere: I believe that's a crucial part of human progress. My argument is that the internet should be more fragmented and that holding our conversations, making our connections, and discovering our knowledge from a very small handful of platforms with a limited set of models for community governance is a vulnerability.

Furthermore, I believe it's inevitable. As we've seen this week (as well as all the weeks leading up to now), it's not tenable for companies like Twitter and Facebook to be the owners of the global discourse. As much as we shouldn't want that, and lawmakers are galvanizing around the problems that have arisen, I don't think they want that, either. In fact, the only people who aren't aligned with this need are the influencers who want to have the world at their disposal.

So what do these new platforms and communities look like? The truth is, there's everything to play for.


The whitewash of the culpable

I'm still processing the events of this week: the obvious buffoonery of the Q mob contrasts starkly with reports of an intention to hang the Vice President, cable ties brought into the Capitol to detain hostages, and the obvious white supremacist flags that were flown both inside and out. One popular T-shirt worn on Wednesday read "Camp Auschwitz: work brings freedom"; another read 6MWE, for "6 Million [Jews] Wasn't Enough".

This riot was unmistakably instigated by President Trump at an address immediately prior, and who later told the insurrectionists: "We love you. You're very special. Go home" (an echo of his infamous call for the Proud Boys to "stand by and stand down", and declaring that a white supremacist rally in Charlottesville had "very fine people on both sides"). Since then, we've seen a number of resignations from inside his government, which at this late stage could be seen as just taking an extra week's vacation.Twitter forced him to take down some posts, and Facebook banned him indefinitely. Apple is about to ban the right-wing app Parler unless it adds a moderation policy within 24 hours.

It's too little, far too late. It's not brave to quit an administration after spending four years inside it perpetuating hate (particularly when it might just be a way to avoid having to vote on invoking the 25th Amendment). It's not brave to ban a fascist government leader from your media platform following a high-profile event after allowing him to incite hatred for at least as long. It's not taking a stand to suddenly ban an app heavily used by white supremacists when it's been used to organize hate groups for its entire existence. All of these things should be done, but they should have been done long ago.

I don't believe it's fair to assume that all of these technology companies only just realized that these organizations were dangerous. Instead, I think it's just that it became untenable to tolerate them. The thing about hate groups and hate-filled conspiracy theories like QAnon is that they're very highly engaged: they use platforms for hours and they click on ads. Then-CEO of CBS Les Moonves famously said about Trump before the 2016 election: "it may not be good for America, but it's damn good for CBS". The same is true for every tech company that subsists on ad engagement dollars. Not only did targeted advertising help Trump win in 2016, but every targeted ad platform and every advertising-powered TV network profited from the hatred and division that Trump incited. Just this week, the former CEO of ad-tech firm Steelhouse called the Capitol insurrection "a rocket ship" for Twitter and Facebook's ad businesses. They were going to hang the Vice President! Such engagement!

So, yes: leave the Trump administration, by all means. Ban him from your platforms. Remove the apps that insurrectionists used to organize the storming of the Capitol (and are reportedly using to organize another event around the inauguration). But you don't win brownie points for that. You don't get to walk away with your head held high. You put your own profit over the health of the country, the health of the people who have died as a direct result of the Trump administration's policies, and the cause of global democracy. You shouldn't get to sleep soundly at night. You're culpable. And as much as you might try and wash your hands of it in the final weeks of this nightmare, you deserve to have it follow you for the rest of your lives.



It's my birthday. I was originally going to write one of those reflective pieces along the lines of "here's 42 things I've learned" or "version 42.0" or some Douglas Adams reference, but given everything that's been going on in the world, and my mother's decline in the next room, I just can't.

I believe that the Trump presidency has been a dying gasp of the 20th century. I'm really hopeful that the events of this month are the dying gasp.

If that turns out to be true, there's a lot to look forward to. If not, then there's a lot to be worried about. As of right now, the future is in the balance.


Questions on the storming of our Capitol

Hey, where was this insurrection organized?

Where? On a social network, you say? Which one?

Oh wow. I bet the CEO is hurrying to ensure its platform doesn’t undermine democracy!

What’s that? Oh. Oh.

So I bet their employees must be walking out in droves!

What’s that?

I see, I see.

So I bet its users are leaving en masse?


Oh, right. Right, of course not.