Skip to main content
 

How we built Known

11 min read

We've got some exciting new things in store for 2016 that solve real problems for both higher and corporate education. We'll discuss this in a future post on the Known blog. First, though, I wanted to take a step back and explain the technical decisions we made for Known.

What is Known?

Known is an open source web platform that allows groups and individuals to publish in a group with a variety of media. You can choose who can see the content you publish, as well as where you reach your audience: you can syndicate your content to services like Twitter, Facebook, SoundCloud, Flickr, LinkedIn and more.

It's also an open platform designed to be extended:

  • Every content type is provided by a plugin, so any organization can add new kinds of content. (For example, we don't provide video out of the box - but you could.)
  • Every syndication service can also be extended, so while we provide plugins for social media, a university could extend Known to allow students to submit their work to their Learning Management System. Internally in the company, we'll often create Known sites for particular projects and then syndicate our posts to Slack.
  • Known supports themes.
  • Plugins can also provide Single Sign On (we provide LTI and LDAP to our enterprise customers, but for example, KQED uses SSO to link Known to WordPress accounts).

Known works for a single user - my website runs on it - or five thousand. It's up to you.

Did I mention it's fully responsive, meaning it works just as well on your smartphone as it does on your laptop? Or that every page is an API endpoint?

Install anywhere, extend easily

A key goal for Known is the ability to install it virtually anywhere.

Installing self-hosted web software is, unfortunately, not as easy as installing an app on your iPhone or your laptop. However, it doesn't need to be a developer-centric process.

Shared web hosts are immensely popular, and abstract away a lot of the really technical work involved in maintaining a server. You can often select an application to install from a directory of available projects, answer a few questions, and be ready to go in a couple of minutes. At its hardest, you can upload some files via FTP. You never have to drop to a command line and run Linux commands - and indeed, often you can't.

We wanted to be compatible with these hosts (our web hosting sponsor is DreamHost), as well as power users who have deeper technical control over their servers. That implied a number of requirements:

  • The software language needs to be compatible with a large number of servers
  • Users need to be able to install the software without command line tools
  • Knowledge of version control systems like git, or managers like GitHub, shouldn't be required
  • Use of a package manager like npm or composer shouldn't be required

It turns out that the most widely-supported language on shared hosts is PHP.

PHP has received not a small amount of scorn in developer circles over the last decade, and a lot of it is fairly earned. But the truth is that modern versions - particularly 5.4 and above - have consistent interfaces, and modern language features like namespaces and closures that bring it closer in line with more cutting-edge languages. The PHP style recommendations produced by the Framework Interop Group and popularized by PHP The Right Way have done a lot to standardize PHP code.

In fact, PSR-4, which defines a template for class namespaces and a way for objects to be autoloaded on demand, turns out to be useful. Every plugin in Known uses this standard for autoloading.

The only question is PHP version: not every host supports these features. In fact, while it turns out that 98.8% of PHP hosts support version 5 or above34.3% of these are on version 5.3. We expect this number to shrink over time, and consider it acceptable to be supported by the remaining 65% of web hosts. The syntactic features you gain, like closures, are worth it.

To support virtual URLs, we initially required the Apache web server (which is still the leader overall on the web). However, a number of community members have created open source configurations for nginx.

The data model

I don't think it's acceptable for plugins to create and maintain their own database tables. For one thing, you may wish to prevent Known from having database modification access permissions. For another, this means that every plugin is a potential database security risk or performance drain.

Instead, from the beginning I wanted plugins to access the database via an abstracted interface, and never have to worry about the schema. At the same time, I wanted plugins to be able to store any data they needed to function, in a way that made sense in the context of that plugin.

The first versions of Known used a NoSQL database, MongoDB, as its sole data store. This worked well for development, but it quickly became apparent that shared hosting would not support this as a data layer. In interview after interview, users said they wanted to run Known on hosts like Reclaim Hosting and Nearly Free Speech. In fact, many shared hosts support MySQL - and that's it. This left us with a challenge: could we provide a schemaless database layer while providing full support for MySQL?

Kevin Marks provided the answer: a balanced schema developed by FriendFeed back in the days before NoSQL databases became commonplace. We created a highly-indexed metadata table, which is purely used for searching for objects, and then stored the complete objects in JSON in an object database. All of this is provided by a seamless database layer called the Data Concierge, that abstracted many of the functions provided by the MongoDB PHP extension.

A side effect of this abstraction is that more databases could be added easily. Today, as well as MongoDB and MySQL, Known supports SQLite and Postgres.

Distributed social networking and uncool URIs

One of the core original visions for Known was that data could be distributed. A user on site A could participate in a community on site B. Imagine creating a group for a project across two companies, and then allowing users from a second company to join and collaborate without re-registering! There are lots of real-world possibilities for distributed social networking.

To prepare for this, we decided that every object would have a URI as its definitive UUID. The idea was that you could access any resource by its UUID anywhere on the web, and as long as the request was properly signed, you'd be able to access it as if it was locally stored. In the end, I consider this a core mistake, but one that is hard to move away from.

Tim Berners-Lee famously said that "cool URIs don't change". Unfortunately, in the real world, URIs change all the time - and there's no way to require that they don't.

  • Domain names expire
  • People lose control over their domain names (eg a subdomain at a university)
  • People choose to move sites into subdirectories

Imploring people to strongly consider their website layouts, as the W3C does, is not helpful for individuals who just want to run a site. The web is not set in stone; websites change, and URIs should be treated as volatile in any internal data model. 

As it stands, Known contains a number of protections that allow it to be moved to different domains or directory locations, so users don't notice a difference. It's not a technical decision I'm proud of - but it may yet come into its own. We already use the indie web technologies for some distributed social networking, and it's an idea that I'm convinced will transform the web.

The front end

Creating a native mobile app for a platform that can be infinitely extended is difficult. Instead, we created a fully responsive, touch-friendly interface.

Known separates model, view and controller, and any page can be viewed with a different template. For example, here's my website using a JSON template, and here's a Star Wars crawl. Any plugin or theme can override any template element, so I could write a plugin that changes out the WYSIWYG editor (we use TinyMCE), or that displays avatar images as 3D spheres (if I really wanted to). I could write a template to display Known sites using a virtual reality browser - and someone really should!

For the default template, we chose Bootstrap and jQuery. The former provides a solid, responsive UI that can be extended easily (and which removed the need to develop it from scratch). The latter provides a powerful, performant way to query elements on the page. Not only did this combination let us get up and running quickly, but plugin authors could use them to create simple, grid-based user interfaces that would be in line with the platform as a whole.

For glyphs like social media logos, we use FontAwesome. The latest version contains 605 different user interface icons, is well tested, has a good community, and a compatible open source license. All of these things made it perfect for our use - and, again, making features available to plugin authors.

Every page is HTML5, CSS3. Content is encoded using microformats, allowing software to read and extract meaning from our human interfaces. This forms the basis of important decentralized social web protocols like those used by the indie web community.

Over time, we've learned that we do need to support a mobile app. The mobile web has evolved to be decent for consumption, but there are obvious missing pieces for producing content on a mobile over the web.

For example: it's difficult to upload media. Resizing camera JPEGs in front-end Javascript on a mobile device is not a reliable process. The web audio API produces WAV files, rather than MP3s, which are uncompressed and potentially large. We could resample these on the server side using something like ffmpeg, but it's not reasonable to expect a shared host to support media encoding - and nor is it reasonable to expect users to link up to a third-party media encoder like Zencoder. Worse: we found that the web audio API actually crashed many mobile browsers!

This problem is compounded by video uploads. Video files are huge, and there's no way to compress them in a browser. Backround uploads are hugely tricky, and resuming failed uploads is also hard. That's even before they've reached the server - and when files can be as large as 1GB per minute of footage, both storage and encoding is hard.

For the mobile web to effectively compete with apps, it needs to support the content composition experiences that native apps have been using for years. If we want people to build websites, the web needs to support building, across devices. It's a frustration, and an ongoing problem.

Moving on

Our PHP-based infrastructure and need to support shared hosts means that some features are much harder to produce. The truth is that technologies like websockets (useful for performant real-time user interfaces) are hard for non-developers to self-host. New web platform features like web workers show enormous promise, but require secure connections - and even with empowering projects like Let's Encrypt, setting up secure sites is still too complicated for most people.

The good news is that some progressive enhancement is possible: companion services that provide extra capabilities to hosted software. It's also true that hosts are evolving, and our friends at DreamHost and Reclaim Hosting are thinking hard about the future of the space. 

I'm proud of the platform we've created - it's one we use every day, and I'm delighted to see people posting on their own servers all over the world. We've got big plans for the Known open source project this year, and we're looking forward to sharing them with you, in conjunction with something new that we'll tell you about soon.

It's going to be a great year.

 

San Francisco, enough is enough. It's time to look further afield.

5 min read

This afternoon, Greg Wester tweeted this screen grab:

Your eyes are not deceiving you. That's a 420 square foot studio apartment - not even a one bedroom - for $3,050 a month. That's a base cost: your bills, and most likely parking, are extra.

There are only two kinds of people who can afford this:

  • Workers on a substantial salary (realistically $100K+, which would still leave you with a bi-weekly check of a little under $2500 after taxes, meaning rent would be well over 50% of your monthly cost)
  • The independently wealthy

Let's leave aside the obvious social inclusion issues at play here, and the effect this has on diversity in the city. Let's ignore that this is killing the artistic temperament of the city and turning it into a primarily financial center like any other. Let's pass over the inevitable effect this will have on the city when these high-value residents start to ebb away. Let's pretend not to see the rising homelessness problem. Not because those are unimportant issues - they're vital to the future of San Francisco - but because it's harmful to the ecosystem that helped create this situation to begin with.

If only rich people can afford to live in San Francisco, it is impossible to really innovate. All the creative energy is being driven out. There's no way for ordinary people - people who haven't made it yet - to experiment. Everyone is either on salary or has raised money from institutional investors with a proven business model.

So the gentrification cycle turns:

Deindustrialization creates low-rent vacancies in industrial districts; artists are drawn to these districts by the depressed rents and spacious "lofts"; the district becomes a hub of avant garde creativity, generating media attention and foot traffic, both of which create a "buzz" around the neighborhood; shops and restaurants are drawn to the area to cater to the increased foot traffic and capitalize on the "buzz;" the introduction of these shops and restaurants in turn induces more foot traffic, more media attention, and more "buzz;" eventually national chain stores see the area as ripe for investment and begin to move in; finally, of course, each of these trends causes rents to escalate until, with the arrival of deep-pocketed chain stores, the very artists who made the district trendy are priced out.  The district ends up as nothing more than a high-end outdoor shopping mall with little street "cred," and the artists relocate to a new low-rent industrial area, triggering the process all over again.

We've seen this process start to rapidly transform Oakland:

Oakland neighborhoods that are experiencing "advanced gentrification," according to the study, include Lower Bottoms, Old Oakland, and Northgate/Koreatown. The researchers define "advanced gentrification" as areas that have experienced significant demographic changes and high levels of real estate investment. Those areas are also very vulnerable to gentrification due to their locations near transit, historic housing stocks, rising house prices, and high rates of market-rate developments. [...] The researchers also said “the crisis is not yet half over” and that the city can expect the displacement of lower-income households to accelerate in coming years.

The interactive map is worth exploring for yourself.

All of which means that the rents in Oakland are already rapidly increasing (partially because it's within commuting distance of San Francisco). So where's next? If I'm running a small startup that needs to lengthen its runway while I figure out my product / market fit - or better yet, if I'm an artist that wants to live somewhere nurturing, affordable and creative - where can I go?

My money's on one of two places:

Sacramento.

As Thrillist noticed this summer, California's capital has a plethora of food and culture, for a much lower living cost:

We have a hard time even talking about San Francisco rent anymore. We start sweating, breaking out in hives... yeah. Especially when we think about rent in Sacramento. I mean, look at this -- $1,650 for a four-bedroom HOUSE!? That’ll get you, what... a patch of ground under the freeway in San Francisco?

Pretty much. In fact, Sacramento is 36.5% cheaper to live in than San Francisco overall (and rent is 65% less). And, yeah, it's the seat of state government, which gives enterprise startups access to a different kind of infrastructure. The only real bummer is that if you do need to get back to the Bay Area for meetings, the drive will take you two hours in good traffic.

Santa Rosa.

Situated in the middle of wine country, Santa Rosa is also adjacent to a lot of the trappings of fine living, although it's a little less hot on live music and theater. (Those needs are met by Sebastopol, just a few minutes down the road, which is also a base for O'Reilly Publishing.) Overall, it's a little more industrial than Sacramento in itself, but is set in outstandingly beautiful countryside and high-class local amenities.

But here's the big plus: as well as being super-close to Petaluma (home of TWiT), Sebastopol, Sonoma, Healdsburg and Napa, Santa Rosa is only an hour's drive from San Francisco. The Smart Train will provide effective public transport for the north bay - something it's sorely lacking right now - and further reduce the commuting pain. The first stretch, between Santa Rosa and San Rafael, opens in 2016. It'll use the same Clipper card system used by BART and Muni, effectively linking the north bay to the greater San Francisco Bay Area transit system. And expansions will link the train to the existing ferry infrastructure.

My bet is that the Santa Rosa corridor will be the next place to look. Its top-tier office space is a third of San Francisco's cost, it's surrounded by beautiful countryside and some of the country's best food, and is still within a hop, skip and a jump of Silicon Valley.

 

My 2016 year in review

4 min read

Rather than taking a retrospective look back at 2015, I think it's interesting to look ahead think about what I want my themes for the next year to be, both personally and professional. Here's mine; I'd love to see yours.

Be more social.

I want to spend more time around more people. Humans are social animals; spending more time around people has an important effect on my mood (as well as opening new horizons and opportunities).

I love people, but I spend a lot of my time behind a screen. When I'm on my deathbed, I don't think I'll look back and think, "gosh, I wish I'd spent more time on the Internet". I want to spend more time away from a screen, not thinking about work or computers, hanging out with people I care about.

And guess what: I bet it'll improve my work, too.

Be healthier.

I’ll turn 37 in the first week of 2016. As much as I hate to admit it, I have to acknowledge that I’m approaching middle age. I intend to live past 90, but that doesn’t happen by chance.

I'm also worried about what happens if I encounter a major health issue later in life. If you have to have a major operation - something many people I love have had to do - your chances of survival and recovery are much better if you're fit. It still feels a bit weird to be accepting my own mortality, but that's just stage one; stage two is embracing it.

Accept the superficial.

I was brought up to believe that appearance doesn't matter; that it's what's inside that counts. This should be true, but it isn't at all.

I know that my personal appearance affects how I feel, even aside from first impressions, but even today, I feel actively guilty for thinking about it. This is a very silly thing to be worried - particularly given what I do for a living. I could write a whole essay about all the issues at play here. It's a weird hang-up.

Be more organized.

Specifically, I'm going to start scheduling more of my off-time in the same way that I schedule meetings.

Not only will this allow me to schedule in gym time and other exercise, but keeping a tighter schedule will give me more free time for chilling out, hanging out, personal creativity, and trying new things: all vital parts of being an actual human being.

Separate creativity and work.

I've repeated this quote before: "the business of business is business". Work can be creative, which is awesome, but very few of us are lucky enough to have a job that is our creative outlet. I think if you try and shoehorn that creative need in, you run the risk of being unsatisfied both with your creativity and with your job.

I want to write more; draw more; publish short stories and write more personal pieces. And in turn, I want to be more focused in my work. What I build does not need to be a reflection of me, and in turn, who I am is not a reflection of what I build. This perhaps sounds trite and reductive, but it's important.

Be more "me".

In 2016, I want to be more political. I'm less interested in tweeting links than actually marching on the streets, phoning representatives and doing real work to support the causes and politicians I believe in. I believe in a fairer society, globally, and I'm not ashamed to want to advocate and fight for that. I want to live in a progressive society.

So politics is one thing. But I value art, and creativity, and outsider culture. I want to spend more of my time in the kinds of anarchic artistic communities I was a part of in Edinburgh. Mainstream culture is deeply conservative, and deeply boring. I think the voices pushing at the edges are usually the most interesting, and I think it's a real shame that there aren't more safe spaces for them.

I want to be more experimental in my personal expression. I want to be more supportive of the voices I value. I want to be clearer in my non-support for the status quo.

I don't think this hurts what I do (although I'd do it even if it did). In a world that's becoming increasingly algorithmic and computational, our humanity is our sustainable competitive advantage.

It's good to be a person. I want to nurture more of myself, and more of the people around me, in the year ahead.

 

How to shorten a tweet

4 min read

It can be hard to keep status messages to 140 characters or less (or a 116 character message if you've included a link). I realized recently that I follow the same algorithm to bring it down to size every time, so I thought I'd write down my steps. Maybe the process can even be automated?

These steps are in order. If the tweet is under the character limit after a step is completed, there's obviously no need to continue to the next one.

1. Eliminate Oxford commas.
I'm in favor of the Oxford comma as a way to bring clarity to sentences with multiple clauses, but they take up valuable space. Every comma counts, and there are other ways to clarify your sentence construction.

2. Remove non-essential adverbs.
Adverbs can be essential modifiers that allow you to fine-tune the message you're conveying (usually, locally, here, there). They can also be used to convey the writer's emotional tone (really, extremely, very). While removing the second set will change the tone, it won't materially change the underlying meaning of the sentence. In fact, many writers would probably argue that it will result in a clearer sentence.

3. Replace "and" with an ampersand.
The ampersand - & - is only meant to be used in informal situations. What could be more informal than a tweet?

4. Change written numbers to Arabic numerals.
Written numbers and numerals aren't interchangeable: consider the sentence "4 score and 7 years ago", which carries less gravity, despite being functionally identical. Commonly, numbers under 10 are spelled out. This rule isn't hard and fast, however, and can be suspended in the context of a tweet. Again, the meaning of your message won't be lost. Note that this doesn't mean you should replace numerical homophones with numbers, which is an easy way 2 lose respect from your readers.

5. Use common abbreviations.
Just as you lose some gravity by replacing written-out numbers with their symbolic equivalents, replacing "with" with "w/" gives your tweet the quality of a hastily-written note. Nonetheless, "w/" (with), "w/o" (without), "wrt" (with respect to) and "b/c" (because) will save you a handful of characters. You can save more by using "eg" (exemplī grātiā, which means "for example") and "ie" (id est, or "in other words"). I lightly bend grammatical rules by omitting the punctuation marks that should normally be present in e.g., i.e., a.m. and p.m.

6. Rewrite your tweet to use shorter sentences.
Consider the sentence "I was going to go see Star Wars, but it was sold out, so I ended up seeing The Big Short instead" (96 characters). You could rewrite this as "Star Wars was sold out. I saw The Big Short instead." (52 characters). By doing so, you've saved 44 characters that you could use for a short review or a link. There's nothing wrong with using several shorter sentences in place of a longer one. If you wanted to be fancy, you could use a semicolon instead of a period. Just remember Kurt Vonnegut's take on them: "They are transvestite hermaphrodites representing absolutely nothing. All they do is show you've been to college."

7. Screw the rules.
The final option is to proudly reject the 140 character limit. Writers like Marc Andreessen do this with a construction called a tweetstorm: a series of tweets, where each post is written by hitting reply on the previous one. Twitter threads them together into something like a blog post. There's another option: because I tweet using Known, I can keep writing, and the end of my tweet will turn into a link to the full text. However, both of these options are an inconvenience to the reader, and should only be used if there's no way you can limit your message to a single post.

 

The complicated, liberating metadata of my future children

7 min read

My future children, should I have any, will come from a tapestry of places. From my side of their lineage alone, they will come from three continents. They will have multiple passports. They'll share my sense of both coming from a specific place but also no place at all. I don't completely identify with my nationalities, and it's likely that neither will they.

It wasn't until well into my adult life that I understood how far the metadata of my identity diverged from most peoples'. Many people include a nationality in the fabric of who they are; I have multiple, and don't completely identify with any of them. Particularly here in the US, many people identify with a religion; I don't believe in any. For a lot of people, they have a deep, historical relationship with their communities that goes back for generations; mine goes back less than one.

People seem to be very worried about how their culture changes in the face of immigration. The truth is that culture has always been changing through the ebb and flow of populations.

In the 1300s, the Spanish began to drive out their Jewish population - once one of the most prosperous communities of Jews in the world. Continuing a pattern that has been repeated all over the world, they robbed and murdered them, ultimately forcing them to convert to Catholicism, leave the country, or die. Some found their way to Switzerland, where they became textile millers in an area of Zurich called Werd ("river island"). Eventually, they moved their home to the nearby municipality of Elgg.

In the 1600s, a group of English puritans moved to Holland in order to escape the volatile politics and religious intolerance of the time. After some time there, they became afraid of losing their cultural identity to the Dutch, so they secured investment to start a new colony in America. There, they had more control, and could live by their values.

In the 1800s, the Dutch established a system of indentured labor in Indonesia, under a brutal colonial rule and racist caste system. In the 20th century, they enacted some political reforms and invested in infrastructure in the country, allowing the indigenous population limited freedoms like education, but squashed the nationalist movements that began to emerge. The Japanese invaded during the second world war, placing many of the Dutch settlers in internment camps. When that war ended, the Indonesians fought for independence, seizing assets and infrastructure, and many settlers fled back to the Netherlands. Post-war life was hard there, and some found themselves seeking asylum in places like California.

In the early 1900s, between 30,000 and 60,000 Jews were killed in Ukraine over a three year period. Escaping was hard; many families failed. What was once one of the largest Jewish communities in the world was decimated. Some families made it to places like New York, where they changed their names and identities. Partially this was to culturally assimilate into their new home; partially this was because America itself harbored anti-semitic sentiments until well after the second world war.

This is a subset of the events that lead to me, and will lead to my hypothetical future children. I'm descended from Swiss textile merchants, who wound up having a hand in the Reformation; a Mayflower passenger who became the religious leader of the colony; a leader of the resistance against the Japanese in Indonesia whose whole family, including my toddler father, was interned; a major union leader in New England who had fled from Ukraine. My grandfather who served in the US Army and had to deny his Jewishness when he was captured by the Nazis (and survived to later meet Einstein, have tea with Sylvia Plath, and translate Crime and Punishment into English). My academically-inclined parents who moved to study at Oxford for a year and stayed for over twenty.

Growing up in England, I was ashamed of my identity. Teenagers leap on any difference, and my background - even in Oxford, a university city with an ever-changing population of visiting academics - made me feel like an alien. Because I had an English accent, people felt free to say how much they hated Europeans and Americans around me. At one point, I considered changing my last name to Ward, because whenever I had to tell someone my last name over the phone, that's what they would repeat back to me. "Werdmüller." "Ward?" "Werdmüller." "Ward."

As I grew older, I began to bristle against this more and more. "You can become a British citizen, you know," people would tell me, almost without fail, whenever they discovered I wasn't. It was meant kindly, I think: they were proud of their national identity, and they wanted me to be able to attach that metadata to mine, too.

What they missed was that it was an erasure of who I was. My identity really is wrapped up in all these migrations of people - not just hundreds of years ago, but right now. All of it is a part of me. If you asked me today, I wouldn't change my name for the world, and I wouldn't give up any of my history to be able to say I was from any one place. I'm an immigrant everywhere, and that's okay. I proudly come from a long line of immigrants and nomads.

I've learned, the hard way, that this is confronting for many people. They're proud of being British or American, and perhaps my rejection of that somehow reflects on those values. Nationality and religion are shortcuts to identity, in the same way the way you dress can be. In particular, the idea that I am not tethered to any one country - and don't want to be - is very difficult to accept. As one ex-girlfriend put it, "it's like you don't want to fit in".

Today, a growing percentage of the world's population - a little over 40% - is connected over the Internet. We have the ability to  speak to people virtually anywhere, instantly, which means relationships can emerge over greater distances, in greater numbers. The number of dual or multiple citizenships has been rapidly increasing during my lifetime (although no government officially keeps track), and it will continue as more and more people gain the freedom to easily travel and communicate globally.

Many people complain about how immigration is changing the cultural landscape of their country. In America, a country founded by immigrants relatively recently, this is ridiculous. But it's ridiculous everywhere: in a sense, the world is a country of immigrants. Borders can be seen as a kind of top-down attempt to inhibit movement in order to preserve resources, but people have always moved. The ebb and flow of populations is the heartbeat of human civilization.

Which brings me back to my hypothetical future children. I'm anxious that they not be forced to fit into someone else's cookie-cutter idea of what their identity should be. They have the rich histories of the two people who will lead to them; of countries and religion, persecution and immigration. Ultimately, they will have the privilege of deciding who they want to be, and how they define themselves. The usual metadata need not apply.

 

Why we built Known

7 min read

Known has become the easiest way to create an online community to support your class or group. We've built an easy-to-use platform that lets people publish in a group with a variety of media, from blog posts and photographs to files and points on a map. Each post can be private or public; every Known site as a whole can be private or public. And it all works on any device, from the biggest, strongest desktop to the most entry-level smartphone, as long as it comes with a web browser.

Institutions like Harvard and MIT use it to run classes; so do groups teaching web skills in rural India, activists promoting racial justice, writers who need to control their identities, and open source hackers.

Here's how we got here, and here's where we're going.

Finding a fit in higher education

We arrived at Matter knowing we wanted to give people more ownership over their conversations and content online. As well as investing in our team and creating a structured environment for us to grow our company, they gave us a grounding in design thinking which helped us change the way we think about technology businesses.

It was through this process, and hundreds of hours of conversations with teachers and students, that we discovered a deep need in education for social platforms. 98% of higher educational institutions use something called a Learning Management System - platforms like Blackboard and Moodle - but very few report that they are satisfied with the experience. These platforms focus on administration, rather than learning. While they are often used for classroom teaching, they fall comically short of the kinds of social experiences students are used to.

Enter Known. Our platform runs as a stand-alone community site, but it can also integrate with a school's LMS to add those much-needed social features. We offer single sign on to campuses, and unlike many social platforms, let you publish any kind of file you need to. All our plans come with unlimited storage and bandwidth, so you don't need to worry about capacity. We sell SaaS subscriptions, and enterprise licenses for organizations that want to run Known on their own infrastructure.

We also understand that conversations don't just happen in tiny sites on the web. Known sites can push their content across social networks: audio, for example, can be immediately copied to a SoundCloud account. Using brid.gy, we can pull replies and likes from those social networks back to the community, so everything is always stored in one place.

Social infrastructure for campuses

The possibilities are endless. Any campus can run as many Known communities as they need to. We also know that discovering all the content being created on a campus is key, so we've started to provide social hubs and search engines for all of it. On-campus users can search for content that only they can see; visitors to a campus can search for and discover content that has been made public. The result is an easy-to-use gateway to everything happening at a campus. It's never been done before.

We know that in education, one size rarely fits all. So we offer design sprints, where we'll arrive on campus and run design thinking sessions with students, faculty and staff. These allow us to tailor the product to meet the needs of a particular institution, so it complements their activities, their design, and their culture. (These sprints turn out to be useful whether you end up using Known or not.)

Because that's the other thing about Known: it's open source and extremely customizable.

An open source core

In VentureBeat, Lightspeed's John Vrionis writes:

The OSS companies that will be pillars of IT in the future are the companies that leverage a successful OSS project for sales, marketing, and engineering prioritization but have a product and business strategy that includes some proprietary enhancements. They’ve figured out that customers are more than happy to pay for an enterprise-grade version of the complete product, which may have security, management, or integration enhancements and come with support. And they also understand that keeping this type of functionality proprietary won’t alienate the community supporting the project the way something such as a performance enhancement would.

This is our strategy. Our core platform is available on GitHub: you can get it right now. We offer a fully-managed service, with unlimited storage and bandwidth, so you don't need to worry about server maintenance or capacity. But we also offer premium features like LTI integrations, file uploads, and searchable user directories.

We love our open source community. Thousands of people use Known to publish on their own site as an indieweb blog, and the activity helps us build a better platform for everyone. Every single page on every Known site has a little heart icon. Click it, and you're prompted to send us feedback. We read every single message personally, and it allows people who aren't developers or designers to contribute to the community and help us develop the product.

John goes on to say:

OSS businesses turn the customer discovery process completely upside down. Open source software is put into the wild, and the company immediately receives signals from those who are interested. Entrepreneurs get the benefit of real data and usage to help them decide where to focus engineering and sales-and-marketing resources. This is tremendously helpful and important. Data, not guessing, drives prioritization of the limited resources at a company’s disposal.

The combination of an open source development model and a design thinking product process means that we can rapidly prototype new ideas, and get strong signals from real people about the desirability of our platform.

Beyond education

It's obvious that a flexible community platform that runs on any device has applications beyond education. With LDAP / Active Directory integration, you can run it alongside your intranet to support a project or a company. Because you can make a community private, we've even seen families use it to share photos of their children that they wouldn't feel comfortable publishing on Facebook.

Mozilla's CEO Chris Beard said today that he thought of revenue as "a means to do better for the world". We agree: it is important to be a growing, valuable company, but in service to being able to provide a platform that can support any class and give anyone in the world a voice in a space they control. The total market for Known in education is measured in billions of dollars, but our potential goes beyond that.

We're living in a world where everyone can be connected, but only a handful of companies control those conversations. Censorship and surveillance are growing threats. By creating an open, easy-to-use platform that works on every device, we can help everyone own their own conversations. Not only can top-tier universities and companies benefit, but we can help disadvantaged communities, too. From non-profits sharing resources in developing nations to vulnerable groups who need to protect their identities right here in America, we believe we can make a difference.

Our role as technologists is to build a better future where everyone is represented. That's the promise of the web, and it's something core to our mission and beliefs. We're building what I call respectful software, and by showing it can be successful, we will encourage other vendors to follow.

Today, it's the best way to build an online community. But Known has an even brighter future ahead of it. We're excited to bring it to you.

Get involved

Check out our website, and follow us at @withknown on Twitter.

If you're a developer, you can find our core platform on GitHub, and you're invited to join the developer mailing list.

And you can always email me at ben@withknown.com. I'd love to talk to you.

 

Why WordPress's new Calypso interface is genius

3 min read

Matt Mullenweg just introduced a new management interface for WordPress:

Today we’re announcing something brand new, a new approach to WordPress, and open sourcing the code behind it. The project, codenamed Calypso, is the culmination of more than 20 months of work by dozens of the most talented engineers and designers I’ve had the pleasure of working with (127 contributors with over 26,000 commits!).

How does WordPress, a twelve-year old server-side product, compete with new, beautiful publishing services like Medium? And how does Automattic grow its $1.16bn valuation?

One of the biggest problems with self-hosted software has been the technical barrier. By now, many users are comfortable with installing an application from CPanel or, maybe, FTPing files to some shared web space. But it's hard - and these approaches only really work with relatively old-school PHP-based software.

New, evented server-side platforms like Node allow you to build completely new kinds of experiences, but installing them is beyond the reach of most self-hosted users.

So, first, WordPress introduced a core API, using best practices from the modern web, making it far easier to publish third-party client applications.

And then they introduced Calypso: a completely new administration interface, based on Node and React. It's open source and works with any WordPress site, but it requires a WordPress.com account. It also uses the WordPress.com servers to power a new reader interface. Effectively, if you want to have a superior reading, writing and administration experience on WordPress, you need to use their service.

In his post, Matt adds:

With core WordPress on the server and Calypso as a client I think we have a good chance to bring another 25% of the web onto open source, making the web a more open place, and people’s lives more free.

I think that has the potential to be true. The new interface is incredibly fast, beautiful, and functional - and you can continue to own your data on your own server, if you want to. But this is also a rebuttal to anyone who thinks that everything should sit on your own server. With this change, WordPress is now, at least in part, a centralized service - albeit one where you get to choose where your data is stored.

Or to put it another way: WordPress powers 25% of the web, and Calypso is a strong step in the direction of putting all of that under the control of services run by Automattic. I don't think that's bad at all: I want both WordPress and Automattic to be wildly successful, and I see this as a smart way to maintain and grow their position.

My expectation: we'll start to see more examples of this data-interface separation, where the logic and data will sit wherever you want, and the beautiful apps and interfaces will be powered by centralized services. Architectually, it makes sense. And it's about time open source moved away from its limitations and built the best possible user interfaces it can.

 

Let in the refugees. How we respond to them is a reflection of who we are.

4 min read

George Packer in the New Yorker this week:

A lot of people in this country are disgracing themselves this week. They include politicians of both parties—though many more Republicans than Democrats—and all regions. Their motives vary: deep-seated bigotry, unreasoning fear, spinelessness, opportunism, or some unholy mix of them all.

They say you only really know the true nature of someone's character in a crisis. Similarly, you only know the character of your country when people are in need. For citizens of the US and the UK - the two major countries I've called "home" - there has been a lot to be ashamed of.

We have the threat of terrorism, now from Isis, and atrocities being committed all over the world. We also have a stream of people who are fleeing those same atrocities, in a manner that is reminiscent of Jewish people fleeing the Nazis before and during the second world war.

Back then, both the US and the UK turned down Jewish refugees, sending them back to their deaths in mainland Europe. There were numerous reasons, which you can now hear by watching the news, as they are parrotted by today's politicians as reasons we shouldn't accept refugees from Syria and Iraq.

Of course, they maintain that this is a different debate. It's not. As Josh Zeitz writes in Politico:

In short, most of the elements that conservatives like David Frum cite as differentiating factors between now and then—fear of refugee violence, fear of their inability or desire to assimilate, concern over their economic dependence, suspicion of their ideological alienation and radicalism —were in fact central to the debate over admitting Jewish refugees in the 1930s.

Considering today's refugees in the same way does not diminish the plight of the Jews in the second world war, or in any way lessen the horrors of the Holocaust. This week, the United States Holocaust Memorial Museum felt the need to release a statement:

Acutely aware of the consequences to Jews who were unable to flee Nazism, the United States Holocaust Memorial Museum looks with concern upon the current refugee crisis. While recognizing that security concerns must be fully addressed, we should not turn our backs on the thousands of legitimate refugees. 

The Museum calls on public figures and citizens to avoid condemning today’s refugees as a group. It is important to remember that many are fleeing because they have been targeted by the Assad regime and ISIS for persecution and in some cases elimination on the basis of their identity.

The humanitarian case is clear, but immigration is also a net economic benefit in both the US and the UK. This leaves racism and xenophobia as the largest reasons to reject these refugees.

If you want to find racist and xenophobic arguments, you often have to look no further than Facebook. Here are two:

I've seen arguments that the immigrants are all fighting-age men, and a secret army is somehow being sent to destroy the US from within, like the plot of a bad 1980s cold war action movie. When I responded with the actual UN demographics of registered refugees, I was told one can't trust the UN because of their treatment of Israel. So far, the logic on display is so loose that I haven't found an adequate way to respond.

I've also seen many arguments which agree with Ted Cruz that we should be screening for Christians. Ironically, Cruz's suggestion itself proves that Christians aren't necessarily more moral than anyone else. "There is no meaningful risk of Christians committing acts of terror," Cruz said, forgetting that the majority of domestic terrorist attacks since 9/11 have been committed by white Christians.

I believe it's important to stand up to these kinds of arguments. For many people, discussing politics online - or around the Thanksgiving table - is taboo. But words matter, and deeds matter. The plight of an entire group of people fleeing terror and death in part depends on us changing the minds of the population, and sending a signal to our representatives that racism and xenophobia will not be tolerated.

Shouting at each other isn't necessarily effective, although we've developed a culture of it (and sometimes voices need to shout to be heard). We need to sit down, particularly with our loved ones, and have reasoned, fact-based conversations that lead to mutual understanding.

Love has to win. Peoples' lives are at stake.

 

Open issues: lessons learned building an open source business

16 min read

South Park

Prologue:

The first time I ever visited South Park, the tiny patch of grass in downtown San Francisco that the Matter garage would later back onto, Biz Stone bought me a coffee. We circled the park and talked about Elgg, our open source social networking product, and Twitter, the startup he was working on at the time.

The most important piece of advice he gave us was this: hold something back. It's fine to open source your code, to release an open product, but you've got to hold back the thing that will make you valuable.

This was the most important advice we received about Elgg. We ignored it completely.

 

Six years later: September 2014.

Erin and I stepped down from the Paley Center stage in New York, exhausted. Most accelerators have one demo day. Because Matter is so closely tied to both media and technology, it has two: one at the Folsom Street Foundry in San Francisco, in the heart of SoMa, and the other in New York, the city where most of America's media companies call home.

Known, we told an audience of media luminaries like Jeff Jarvis and industry investors, was a way for post-secondary students to save their coursework, notes and discussions on a site that they controlled. In a world where students are used to delightful apps and beautiful user experiences, the Learning Management Systems used by 93% of institutions are an abomination that actively hinder learning. Worse, when a course is over, all of the discussions and resources that were collaboratively made by the class are deleted forever. With Known, students can publish to their own site, and syndicate to these other platforms, allowing them to take control over their learning using a beautiful, mobile-first user interface.

Better yet, we told the audience, Known has an open source core. We know that one size doesn't fit all in education. With Known, every single feature has an API endpoint, and every single feature can be customized to fit both the needs of the institution and the student. The first pilot is happening right now, and we're getting great feedback.

Applause. Seven minutes later, we were done. This was day zero for our company: the next day, the hard work would begin.

 

Skip forward: September 2015.

I looked around the table at Garaje. Most of the alumni from Matter's third class were here, and had great stories to tell: Musey were thriving and building beautiful design apps; LocalData were helping to improve American cities; Louder were preparing their acquisition by Change.org. Over in New York, Stringr were delivering video to more and more news stations.

In some ways, Known was doing well. Our software was powering tens of thousands of websites. We had received great coverage at our launch, and continued to get fantastic feedback from educators all over the world. People were using Known to teach on five continents.

Yet at the same time, we didn't know how we were going to pay rent, and growth was linear. For a project, we were doing well. For a company, we weren't doing well - and there were still only two of us.

What went wrong?

 

First, you have to understand open source.

Open source is best defined by its four freedoms, which are inspired by Roosevelt's declaration of the four freedoms that every human should be able to enjoy. These dictate that you should be able to:

0. Run the program as you wish, for any purpose
1. Study how it works, and modify its function
2. Redistribute copies “so you can help your neighbor”
3. Distribute copies of your modified versions

The intention is that open source software is free as in speech: it grants you liberties over the code you run that you might not get with other products.

Unfortunately, the word "free" is overloaded: it has multiple possible meanings. In reality, open source has become synonymous with free as in beer: software that you can use without incurring any direct licensing costs.

Our strategy was to create an open core that people could freely distribute, and then layer premium services over the top. If you didn't want to worry about managing servers, we had an excellent SaaS product. If you didn't want to worry about managing APIs to third-party platforms, we offered Convoy. Finally, we wanted to provide access to a network of trusted consultants who could create customizations for institutional customers.

Our utopian vision was to have organic growth through sharing, leading to institutional customers. This didn't happen - at least, not as fast as we needed it to.

 

Second, you have to understand startups.

We have exact numbers internally, but a good rule of thumb in San Francisco is that, to break even, we need to bring in $10,000 per employee per month. This covers below market rate salaries, as well as all the overheads you incur when you're running a business (for example, taxes and moderate infrastructure costs). It doesn't cover some of the extra investment you really need to put into sales, marketing and product development.

To be relatively comfortable as a two-person company, we need to clear $240,000 per year. That's a tough ask for many businesses, which is one reason why investors are useful: they back your team and put money into your company, making a bet that you'll be profitable later on and will be able to pay them back and then some.

Consider, also, that most teams are not limited to two people. I've got a development and product management background; Erin is an analyst and user experience expert. We need to bring on a full-time technical lead and a front-end designer. I can't do either my CEO (sales! research! business development!) or web development jobs justice, and Erin can't do her user experience or front-end jobs justice. We also need to have redundancy on our staff, so if one of us is sick or out doing sales work, the company can continue to be productive. As soon as you start talking about building a real team, those numbers explode.

I don't believe it's possible to start a consumer startup as a full-time endeavor without significant investment. Unlike businesses, only a tiny minority of consumer users are willing to pay money. You need to have enough runway (the time left in your company before it runs out of money) to reach a mass-market audience, and then make sure you're either solving a problem that they are willing to pay for a solution to. Because it's so hard to get money from consumers, these businesses often make their money through advertising: reaching targeted, engaged audiences is absolutely a problem that advertisers will pay for a solution to.

Enterprise startups potentially require less investment, but the sales cycle - the time it takes to sell to an individual customer - is potentially much longer, and the total cost to acquire a single customer is much higher. You need to have enough money in the bank to make this work; investment is a useful vehicle to bring your company to the next stage of its development.

Investors protect their money by minimizing risk. In this context, open source is a liability: remember the free as in beer problem? By giving away the portion of your product that captures value, you're essentially devaluing your business to zero. Why would anybody invest in that? I'm sincerely grateful that Matter did invest in our team. In return, the least we can do is be a good steward of investor value.

That $240,000? It's a baseline. Biz was completely right: you need to hold back the thing that makes you valuable.

 

Feedback is a gift - and so is open source.

When they work well, open source communities are amazing things: collaborative groups of disparate people all agreeing to make software together for use by the commons. As a methodology, it's beautiful, and can showcase the best of humanity.

When you're building a product for sale, it's important that you've identified a problem that people will pay money to have solved for them, and that you're solving it well. That means talking to a lot of people, and both making and iterating a lot of rough prototypes. Your product has to be compelling, well-made and scalable. As it's concisely described in design thinking circles, you need to constantly be testing its desirability, feasibility and viability.

When your product is open source, you'll get a lot of feedback from the community. This is important to take on board, and the community is a hugely valuable part of your ecosystem - but at the same time, it's unlikely that open source community members are customers. It's possible that they're users; it's also possible that they're open source enthusiasts who are just happy to see another project join the movement.

Open source projects, as a whole, have famously bad usability. That's because their feedback loop is constrained to other developers. One recent example of this disconnect is a heated debate about using Slack vs Internet Relay Chat. To non-technical users, IRC is arcane and unfriendly (which also accurately describes many of the discussions that take place there), yet many open source maintainers couldn't understand the problem.

When you're building a compelling product, the license should be irrelevant. It should be compelling whether it's completely closed or released under the GPL: the license is how you distribute the product, not something that's inherent to the product itself.

Unfortunately, in the case of Known, I think a lot of people liked it because it was free and open source. This was a bad signal - and certainly not one that will lead to paying customers and a thriving business. (It's worth saying here that a consistent voice of real support has been the indie web community, alongside companies like Reclaim Hosting, which legitimately wants to see us succeed.)

 

I'm not Donald Trump, but ...

The biggest surprise I've had since starting Known is the amount of feedback complaining that we're trying to make money with it. Usually this comes with some kind of a complaint about startups and capitalism.

If you know me, you'll know that my politics err on the liberal side of liberal; Bernie Sanders and Elizabeth Warren are the US politicians who best describe the country I want to live in. I'm hardly a hardcore conservative capitalist. Nonetheless, I was taken aback to discover that we'd accidentally joined an anti-capitalist movement: we've been very open about being a business since the day we announced our existence.

In fact, I really wanted to show that it was possible to create a profitable, thriving business creating respectful software that gives users full control of their data. I think it's important.

Here are some real things I've heard about making money from open source:

  • We should have a universal basic income so people won't have to worry about how they'll make money.
    A universal basic income is not money from the sky; it's a proven way to create a real safety net, but it does rely on taxation. It doesn't work if everyone relies on a basic income, and the idea that you should have to live at the lowest possible income if you're going to build respectful software is both ridiculous and kind of offensive. Welfare is important, but not as a way to pay for open source software.
  • We should be striving to build a post-money society.
    I mean, to be fair, I'm a Star Trek fan too.
  • We should just build software for the love of it and not worry about making money.
    Most egregiously, we've heard this from people who literally take our free product and sell services around it.

All of these are obviously detatched from reality.

This culture of anti-capitalism in open source is actively harmful. It's a reason why so few women (1.5%!) participate in open source projects, for example, and why people in disadvantaged communities are underrepresented. Having the ability to work on a project for free represents enormous privilege. At its best, open source can be a way for people to contribute to a global commons and freely exchange ideas; at its worst, it's exploitative and exclusionary.

It's devalued our time. I get personal requests on all channels on a daily basis - email, Twitter, Facebook, even unsolicited phone calls - asking for free help. (I no longer give free personal help, except on the mailing list, where it can be used to grow a commons of support information that everyone can use.) Sometimes these calls for free help come from people who are making money from our labor.

Open source doesn't need folk songs. It needs a way to fairly compensate the people who participate in it. I'm not at all against anti-capitalism - but it sure is hard to build a business on it.

 

But aren't there a lot of profitable open source businesses?

No.

We've most often been compared to WordPress, which powers over 23% of the web. Automattic is valued at over $1.1bn, has a huge team worldwide, and is widely held as the poster child for open source businesses.

In reality, the WordPress open source project is held by a non-profit foundation. Automattic concentrates solely on hosted services.

Ghost, another project we've been compared to, is a non-profit entity in its entirety. It made a lot of its money by crowdfunding as a WordPress plugin, before switching to becoming a node.js project. This technical change made it much harder to install, making their paid, hosted services an easy choice.

Ind.ie hasn't really launched Heartbeat, their distributed social network, but their project is significantly better-funded than Known. This is partially because they crowdfunded as a smartphone, before choosing to shift their attention to a more focused problem.

Mozilla has a long history that stems from Netscape. Their success is not something that a new entrant to the market could replicate.

Red Hat is held up as a model open source business: its current market cap is $14.8bn, or roughly 2.8% of a Google. It provides professional services and support licensing around its Linux distributions.

Infrastructure is a more profitable place for open source to thrive: MongoDB, CoreOS and Docker are all examples of well-funded open source startups. Each one sells better support, trustability and reliability - which makes sense to pay for if you're building a business on top of their technologies.

For these businesses, open source allows them to build a bigger market for their products, which they can then capitalize on. It's a smart strategy that has very little to do with freedom, and everything to do with growth.

 

What about other funding methods?

BountySource, the crowdfunding platform for open source projects, is one oft-mentioned funding method. It's actually a pretty great idea, that I think will wonderfully for hobbyists, and will encourage developers on distributed projects to work on smaller bugs and features. I don't foresee it covering our costs.

Similarly, Patreon works very well for personal projects, and is redefining how some artists make their money.

We currently make a significant portion of our income through professional services, but this isn't sustainable for a number of reasons. As Tomasz Tunguz at Redpoint Ventures pointed out earlier this year in this excellent analysis:

The data suggests that customers are willing to pay 20%+ margins on price points of greater than $200,000. Less than that price point, the data shows it to be difficult to operate a professional services team at better than breakeven.

When you consider all of the overheads inherent to running a company, you would actually make more money just being a freelance developer. Professional services jobs are often one-offs, and while they sometimes lead to contracts, it can be an equal effort to go find the next one. It's not a great way to grow.

That also negates the common argument about making money by providing tertiary services like support and customization. These strategies add more risk to the business, and don't cumulatively add value. At lower price points, it's not even a lifestyle business: it's hand to mouth.

 

What's next?

None of this should be a downer. I want to open a real conversation about making money sustainably with respectful software. Between Elgg and Known, I've spent the majority of my career working on these issues. I think they're solvable, and I think the result will be a better software ecosystem.

Known isn't at all going away, and we continue to release new versions every single month. We're evaluating the services we provide around it, but we love how the community has rallied around it, and we love how it's being used. We expect it to live and breathe for a long time.

However, we're learning from companies like Automattic, and non-profits like the WordPress Foundation. We're thinking hard about how the project is supported. And it should go without saying that we're committed to building a valuable, growing business.

There's a strong movement around creating alternatives to software that tracks and spies on us. I think that's a fantastic thing. Building software is about empowering people to do things they previously couldn't. But a part of building empowering tools is to make sure they can be provided sustainably. If you're doing something good, you need to be able to keep doing it - and whether you like it or not, that means money.

We need to have a stronger conversation about money in open source, and about building healthy businesses on respectful software.

 

Conclusions

As either Milton Friedman or Alfred P. Sloan said: "the business of business is business". Build a healthy business; don't be led by ideology. You're not helping build a more open world if you're showing that being open is unsustainable or detrimental; show that you can do well.

And when you succeed, use the fruits of your labor to do good.

We'll be here, cheering for you.

 

I wrote a follow-up to this post: why we built Known.

 

Help me debug a personal project

1 min read

Working title: ten questions

A fully anonymous site where you answer 10 questions that attempt to pinpoint your beliefs on social and economic issues. These aren't essay questions, exactly, but neither are they multiple choice: the idea is to get you to explain your point of view without judgment. Each question is followed up with: "why?"

Once you've answered the 10 questions, and their reasons, you answer some simple demographic questions: your very rough location in the world, your religion, optionally your race and gender, and how you self-identify on the political spectrum.

When you're done, you're given a special link that allows you to come back and edit. No email addresses or passwords are ever taken, and server logs aren't kept.

The interviews are then made available for filtering by those demographics - or there's a random button that picks a random one out for viewing. Essays can be flagged, but will only be removed for illegal / irrelevant content.

My hope is to create a body of essays that will explain belief systems other than your own, in a calm, non-judgmental way.

Dumb? Irrelevant? Redundant? Let me know (or let me know how you'd iterate).

 

Untestable, unsafe and on the freeway: why cars need to be open source

5 min read

Our devices are working against us. 

Recently, we learned that Volkswagen was falsifying its mandatory E.P.A. emissions tests. Because each test has a set of characteristics that don’t accurately match real-world driving conditions, the internal software running in 11 million cars could deduce that an official test was taking place. Under these conditions, the cars would turn on enhanced emissions controls, which allowing them to pass the tests but reduced mileage and other driver-friendly features. In the real world, the cars had better mileage and acceleration, but were spewing illegal levels of pollution.

This was far from an isolated incident. Less than a week later, it emerged that some Mercedes, BMW and Peugeot vehicles were using up to 50% more fuel than laboratory testing suggested. Meanwhile, on average, the gap between tested carbon emissions and real-world performance is 40% - up from 8% in 2001. And while Volkswagen’s software broke the law, detecting test conditions to cheat on results is a widespread practice that has become an open secret in the industry.

These practices extend far beyond cars: even our televisions are faking data. Recently, some Samsung TVs in Europe were found to use less electricity in laboratory tests than under real-world viewing conditions.

In each case, the software powering the device was unavailable to be tested. In a world where cars are heavily scrutinized to ensure passenger safety, examiners had very little way to determine what the software was doing at all. According to the Alliance of Automobile Manufacturers, providing access to this source code would create  serious threats to safety or security” (pdf). Even the Environmental Protection Agency agreed, arguing that opening the source code could lead to consumers hacking their cars to achieve better performance.

Anyone who’s worked in computer security will know that this is a spurious argument. Obscuring source code doesn't make software safer: on the contrary, more scrutiny allows manufacturers to find flaws more quickly.

Earlier this year, Wired demonstrated that hackers could remotely kill the brakes on a Jeep from a laptop in a house ten miles away from the vehicle. The same hackers had previously demonstrated that they could achieve complete control over a Ford Escape and a Toyota Prius: these vulnerabilities appear to be widespread and not limited to any particular manufacturer.

In the light of these exploits, it’s extremely likely that developers are already cheating tests by hacking their cars, without E.P.A. or manufacturer knowledge. Indeed, a cursory Google search reveals hackers talking about cheating on their emissions tests using Arduinos and other devices. To quote one participant in one of these forums: “I 100% believe that these tests are a complete joke/scam and therefore should be cheated with any and all available means.”

In a world where cars are increasingly driven by complex software, the only reliable way to test them is to inspect their source code. This is true following revelations that Volkswagen falsified their E.P.A. tests, and it will become increasingly crucial as autonomous vehicles become widespread.

McKinsey & Co predicts that autonomous vehicles will be widespread in around 15 years. The consequences of hacking your vehicle today are largely environmental: not something that should be discounted, but also not life-threatening except in aggregate. Once autonomous vehicles are commonplace, your car’s software algorithm will be the only thing keeping you from crashing into another family on the interstate. 

Autonomous vehicles will eliminate an enormous percentage of car accidents, and we should not fear their introduction. However, hackers will certainly attempt to alter the software running their vehicles in order to go faster, impress their friends, perform stunts, and so on. If the software infrastructure inside a vehicle is kept secret from regulators, only the manufacturer will have any way of determining if this has taken place.

More pressingly, it’s now become apparent that manufacturers can’t be trusted to protect our interests. Even if it is impossible to hack an autonomous vehicle – which would be hard to believe – we need to ensure that the algorithms and software that power these products are as rigorously testable as the steel and rubber we sit in.

Opening source code to scrutiny does not limit its owner’s intellectual property rights. It also doesn’t prevent a manufacturer from making a profit or protecting their unique inventions. It does, however, allow us to trust their products. This is important for all connected devices, but cars are uniquely life-threatening when misused. 

Legislators should act to protect our safety. In the same way that seatbelts and other safety measures were made mandatory, the source code that powers modern vehicles should be made available both to regulators and the public. Security through obscurity is no security at all.

Help is available: we’ve been doing this in the software industry for decades. The open source community should help manufacturers build more open software while retaining their intellectual property. 

Open software is in the public interest, particularly when lives are at stake.

 

I am not a developer

4 min read

Since co-founding Known with Erin Richey eighteen months ago, one of my biggest professional challenges, both inwardly and outwardly, has been this:

I am not a developer.

I have development skills and was a startup CTO for a decade. Absolutely. I know how to architect a system and write code. I can smell when someone is trying to bullshit me about what their technology is and how it works. I keep on top of emerging technology and I enjoy having conversations about it.

But I am not a developer.

That's not my role. Nor should it be.

When we started Known, I became (once again) a co-founder, but also a CEO - a crucial position in any company. Among other things, the CEO is responsible for:

  • Setting strategy and vision
  • Building a nurturing company culture
  • Creating an amazing team
  • Making money

The last one probably should have come first. I think a good way of putting it is that my job is to make myself redundant - but until then, do everything that needs to be done.

If the company doesn't grow, I've failed. If the company runs out of money, I've failed. If we put out a shitty product, I've failed. If we lose momentum in the market and people stop thinking of us, I've failed.

Engineering is crucial. Design is crucial. Business development is crucial. Sales and marketing are - guess what? - crucial. You can't get by with one of those things alone.

It turns out that I still write code. Sometimes, I write a lot of code. But the more time I spend building product, the more time is taken away from doing the hard work of validating and selling it. Writing code is like spinning your wheels when you're building the wrong thing.

Validation is crucial. I'm not Steve Jobs. (For one thing, I don't have a huge team of engineers and designers whose work I can take credit for.) Figuring out product / market fit, pricing and your go-to-market strategy are not things you can hand-wave away between other things. It's a full-time profession.

If we fail, it's because of decisions I made. I've made many mistakes - as any founder does - but one of the most important was to fail to have a technical co-founder. I thought because I was the technical partner, that we didn't need one. In fact, every technology startup needs a technical co-founder, even when the CEO is technical themselves.

If we succeed, it's because we've overcome this limitation and managed to grow an awesome team at a company with a nurturing culture and a killer vision. It will be beause we've made something that people want and pay for in significant numbers, and have captured value while providing even more value to the people we serve. It won't be because we have great code, although great code will be a component. It won't be because we have great design, although great design will be a component. It won't be because we have an amazing sales and marketing strategy, although we'll need it.

I'm lucky. Through Matter, we got high-end training in design thinking and access to an incredible community, as well as the ability to pitch like a pro. Through my network of peers, I'm constantly inspired by other CEOs who are building businesses they're proud of, and I learn from them as much as possible. By being in the San Francisco Bay Area, I'm a part of a community of experts. My task is to draw all of this together - as well as my startup experience, and my experience building technology. My task is to build a successful company.

I am not a developer.

 

The whole Internet: much more than the web, apps, or IoT

4 min read

This morning, I woke up and checked my notifications on my phone. (I know, I know, it's a terrible habit.) I took a shower while listening to a Spotify playlist, got dressed, and put my Fitbit in my pocket. I made some breakfast and ate it in front of last night's Daily Show on my Apple TV. Then I opened my laptop, logged into Slack, launched my browser and checked my email.

I've spent a lot of time over the last decade advocating for the web as a platform. To be fair to me, as platforms go, it's a good one: an easy-to-use, interconnected mesh of friendly documents and applications that anyone can contribute to. Lately, though, I've realized that many of us have been advocating for the web to the exclusion of other platforms - and this is a huge mistake.

It's not about mobile, either. I love my iPhone 6 Plus, which in some ways is the best computing device I've ever owned (it's certainly the most accessible). Apps are fluid, beautiful, immediate and tactile. Notifications regularly remind me that I'm connected to a vast universe of information and conversations. But, no, mobile apps aren't the natural heir to the web.

Nor is it about the Internet of Things, or the dedicated devices in my home. My Apple TV is the only entertainment device I need. My Fitbit lets me know when I haven't been moving enough. I have an Air Quality Egg that attempts to tell me about air quality. My Emotiv EEG headset can tell me when I'm focused. But none of these things, either, are the future of the Internet.

I think this is obvious, but it's worth saying: no single platform is the future of the Internet. We've evolved from a world where we all sat down at desktop and laptop computers to one where the Internet is all around us. Software really has eaten the world.

What ubiquitous Internet means is that a mobile strategy, or a web strategy, aren't enough. To effectively solve a problem for people, you need to have a strategy that holistically considers the whole Internet, and the entire galaxy of devices at your disposal.

That doesn't mean you need to have a solution that works on every single device. Ubiquity doesn't have to mean saturation. Instead, the Internet has evolved to a point where you can consider the platforms that are most appropriate to the solution you're providing. In the old days, you needed to craft a solution for the web. Now, you can craft a solution for people, and choose what kinds of devices you will use to deliver it. It's even becoming feasible to create your own, completely new connected devices.

The opportunities are almost endless. Data is flowing everywhere. But as with mobile and the web in earlier eras of the Internet, there will be land grabs. When any device can talk to any device and any person, the perception will be that owning the protocols and the pipes is incredibly valuable. Of course, the real value on the Internet is that the pipes are open, and the protocols are open, and anyone can build a solution on the network.

For me, this is a huge mental shift, but one that's incredibly exciting. The web is just one part of a nutritious breakfast. We have to get used to building software that touches every part of our lives - not just the screens on our desks and in our pockets. The implications for media and art are enormous. And more than any other era of the Internet, the way we all live will be profoundly changed.

 

Why it isn't rude to talk about politics (and I think we should be doing it more)

5 min read

It's often said that you shouldn't talk about politics, religion or money. I tend to think those are all part of the same thing: conversations about how the world is, and should be, organized. Anyone who's been watching the American electoral system warm up its engines will be in no doubt that your views and status in any one of those prongs affect the other two. And all are inseparable from the cognitive biases that your context in the world has given you.

So let's restate the maxim: it's rude to talk about the world.

Why?

The reason that's most often given is that people might disagree with you. It might start an argument, someone might be offended by your viewpoint, or you might be offended by a deeply-held position from someone else. As the thinking goes, we should try to avoid offending other people, and we shouldn't be starting arguments.

Living in a democracy, I take a different view. Each of us has a different context and different opinions, which we use to inform the votes we cast to elect the government we want, allowing us to help dictate how our communities should be organized. That's awesome, and a freedom we shouldn't take for granted. It's also the fundamental bedrock of being a democratic citizen.

I want to be better informed, so I can cast better votes and be a better citizen. Which means I want to hear different views, that potentially challenge my own. If you define offence as a kind of shock at someone else's disregard for your own principles, I want to be offended. I want to know other peoples' deeply-held beliefs and principles, because they allow me to calibrate mine. I don't exist in a vacuum.

I think the world would be better if we used our freedoms and were more open with our beliefs. The challenge is that it is not always safe to do so. Middle class politeness is one thing; for millions of Muslims in America, like communists and Jews before them, sharing their beliefs can be life-threatening. For a supposedly democratic nation, America is spectacularly good at stigmatizing entire groups of people.

I'd like to think that this is where the politeness principle comes from, as a kind of protection mechanism for more vulnerable members of our community. I don't think that's the case. I think it's much more to do with maintaining a cultural hegemony, and the harmful illusion that all citizens are united in their beliefs and principles.

Citizens don't all have the same beliefs and principles. This is part of the definition of democracy, and we should embrace it.

Citizens don't all have the same privileges and contexts. As a white, middle-class male, I have privileges that many people in this country are not afforded, and a very secure filter bubble to sit inside. I think it's my duty to listen and amplify beyond the walls of that bubble. Candidates for the President of the United States are, in 2015, suggesting that we have "a Muslim problem" in terms that echo the Jewish Question from before the Second World War. Even if you don't believe in advocating for people in ways that don't directly affect you, this directly affects you. It's all about what kind of country we want to be living in. It's all about how it's organized.

It's also about what kind of world we want to be living in. I think it's also my duty, as a citizen of one of the wealthiest nations on earth, to listen and amplify beyond our border walls. Citizens of countries like Iran, Yemen and Burkina Faso are people too, with their own personal politics, religions, hopes and dreams.

We've been given this incredible freedom to talk and advocate, to assemble and discuss, and we should use it.

Yes, there will be arguments. It would be nice to say, "hey, we shouldn't get angry with each other," but these are issues that cut to the core of society. Tone policing these debates is in itself oppressive and undemocratic. And while I'd like to be able to say, "we should have a free and even exchange of ideas, and I won't think less of you for what you believe," that actually isn't true. If you believe that Muslims are second class citizens, or that the Black Lives Matter movement isn't important, I do think a little worse of you, just as some of you will likely think worse of me for thinking socialism is an okay idea or for not believing in God. We can respect each other as citizens, and have respect for our right to have opinions. We should still talk. And as dearly held as my beliefs are, I want to know when you think I'm wrong: it's how I learn.

What we shouldn't do is tell people that they should just accept what they're given, and take the world as it is. That's not what being in a democracy is all about, and it's what we do when we tell people to shut up about what they believe.

 

Is crowdfunding the answer in a post-ad universe?

3 min read

Crowdfunding

Albert Wenger of Union Square Ventures asks:

How then is journalism to be financed? As I wrote in 2014, I continue to believe that crowdfunding is the answer. Since then great progress has been made by Beaconreader, Kickstarter’s Journalism category, and also Patreon. Together the amounts are still small but it is early days. Apple’s decision to support these adblockers may well help accelerate the growth of crowdfunding and that would be a good thing – I don’t like slow page loads and distracting ads but I will happily support content creation directly (just highly unlikely to do so through micropayments while reading). All of this provides one more reason to support Universal Basic Income – a floor for every content creator and also more people who can participate in crowdfunding.

I've also heard Universal Basic Income argued for as a solution to funding open source projects. I'm not sure I buy it, so to speak - I think it's not fair to assume that content creators should live on a minimum safety net wage. I do strongly believe in a Universal Basic Income, but as a strong safety net that promotes economic growth rather than something designed to be relied on. For one thing, what happens if everyone falls back to a Universal Basic Income? Could the system withstand that, and would the correct incentives be in place?

I love the idea of crowdfunding content. This does seem to put incentives in the correct place. However, when systems like Patreon work well (and they often do), the line between crowdfunding and a subscription begins to blur. When you're paying me whenever I create content, with a monthly cap, and I create content on a regular basis, it starts to look a lot like it's just a monthly subscription. If you pick up enough monthly subscriptions, it starts to look like real money - a thousand people at $10 a month would lead to a very comfortable wage for a single content creator (even in San Francisco and New York).

So remove the complexity: recurring crowdfunding is just a subscription with a social interface. Which is fine. For recurring content like news sources and shows, I think subscriptions are the future.

For individual content like movies, albums and books, campaigns begin to make a lot of sense. But crowdfunding isn't magic: funders won't necessarily show up. I've been told that I should really have 33% of my campaign contributions pre-confirmed before the campaign begins, and I suspect that's not possible for most unknown artists.

There needs to be a positive signal of quality. In the old days, there were PR campaigns, which were paid for by record labels and publishing companies. Unless we only want rich artists and established brands to make money making content, we need a great, reliable way to discover new, high-quality independent media. And then we need to be able to make an informed decision whether we want tob buy.

As great as Patreon, Kickstarter, Indiegogo and the others are, we're not there yet. Social media won't get us there alone - at least not as is. But there's money to be made, and I'm convinced that whoever unlocks discovery will unlock the future of content on the web.

 

Image: Crowdfunding by Rocío Lara