Investing in the Open Web

It seems like every few days there’s a new post lamenting the death of the Open Web, and the corresponding rise in ad-driven social media machines and clickbait. Recent examples include this lament on the Cult of the Attention Web (prompted by Instagram moving to an algorithm presentation, away from a chronological timeline), and Brendan Eich’s response to online news publishers strongly objecting to the ad-blocking browser, Brave.

At the risk of beating a dead horse, we seem to have collectively struck a number of Faustian bargains: free services in exchange for our personal information; free articles, audio and video in exchange for advertising, more personal information and ugly, slow sites; walled gardens, in whose operation we have little say, in exchange for ease-of-use. And while I would love to pit advertisers and social media giants against brave independent bloggers and developers in a black-and-white contest, the reality is never quite so simple.

If we really want an vibrant, independent, open web, we need to invest in it with our time, money, effort and technical know-how. But I don’t know if that investment exists, or if the people complaining about the state of the open web are ready to make it. Examples abound: the above piece about Instagram is posted on Medium, which might join said Cult of the Attention Web any day. WordPress, which powers a significant fraction of the open web (and on which this site is built), would rather pretend that it’s a feed-reader and encourage me to “follow” other blogs, than make it simple and quick to write or edit posts (it takes me four clicks from the WordPress.com page to start editing a draft). And I myself would rather rant about investing in the open web than build a CMS that I actually want to, and enjoy using.

If we seriously care about preserving an open web outside of walled gardens and free of ugly, privacy-destroying advertising, we need to be an active part of it. We need to publish to our own domains, backed by services that won’t turn into advertising machines tomorrow, maybe even pay for hosting. We need to vote with our wallets and actually subscribe to publications we want to read and support. We need to write code and build publication platforms that embody our ideals and values, and make it easier for others to do the same.

I do two of those three, though not as often as I would like to. I don’t exaggerate when I say I wouldn’t be where I am in my life without the open web. I would like to invest in it so that others can say the same in the future.

To Compete with Medium

Dave Winer is encouraging bloggers (or really anyone with something to say) to post anywhere but Medium. He says that Medium is becoming a “consensus platform” for posting longform writing on the web, especially for people who don’t have a regular place to post. In doing that, Medium becomes a single point of failure, much like Twitter is for real-time short posts, or that Google Reader was for RSS. That means that Medium becomes increasingly capable of unilaterally changing how writing on the web works, for whatever purposes it desires. Medium could decide what you write, how it looks, who sees it, and whether or not you can take it elsewhere. And if Medium shuts down, you could lose everything you wrote.

Winer says that the reason people don’t just set up their own blog (even if they won’t write regularly) is because it feels wasteful to set up something and then not use it. This holds people back, even though a pure text blog takes up negligible space and bandwidth compared to videos or images. While he’s right about the minuscule size requirements of plain text, I think there’s more to users’ reluctance of setting up their own blog. There is a cognitive cost and mental overhead to setting up your own blog that Medium side-steps. To set up an blog on WordPress or Tumblr, you need to create a user account by providing a username, email address and password. Then you need to create the actual blog, by picking a domain name and title (and optionally, a theme). And then you can start to write.

Medium, on the other hand, lets you sign in via Twitter, automatically selecting your username and other account details (which you can change). After that you can just start writing. To be  fair, you are asked to follow other users and tags, but you can just click a button and move on. That’s exactly what I did before writing this post. There are options to use Facebook and email to sign up as well, but I’m assuming they’re equally streamlined. To break free from Medium’s hold on casual writing on the web, a competing service would have to be just as streamlined and painless.

So how would one go about competing with Medium? First you need to reuse identity from some existing social network or identity provider. Second, writing and publishing a post would have to be super-simple. Finally, to address Winer’s concerns, the competing service should come from an entity whose main business isn’t written content, but somehow naturally falls out of (or can be built atop) the core service. Luckily, there is already a service that can do this: GitHub.

GitHub is a popular code-sharing and hosting service that is very popular with programmers (and increasingly, with non-programmers). By default, GitHub hosts repositories of code, but they have an adjacent service called GitHub Pages that hosts simple websites. As a GitHub user, you can create a specially named repository and any HTML pages in that repository are served as username.github.io. Anyone with a GitHub account (which these days, is pretty much anyone who writes code) can post writing to their own repository and have it be served as a webpage from GitHub. Now, this only completes one part of the puzzle, since there’s no Medium-like interface to actually write your posts. You would have to write your posts using a text editor and push them to your GitHub pages repo. However, such an interface could be created by anyone, not necessarily by GitHub. They would just need your GitHub credentials, temporarily, to post your writing from the editor to the repository.

In conclusion: part of Medium’s attractiveness comes from having a streamlined path to posting irregular writing on the Web, helping to make it a large and powerful platform for web publishing. GitHub Pages provides part of the puzzle to create a neutral competitor that offers many of the same benefits. All that is needed is a writing interface that uses GitHub pages as a backend.

I haven’t talked about the social media and promotional features of Medium. I’m not sure how to replicate them in the same fashion. My goal with this post was to propose an alternative to the publish-and-forget style that Medium allows, and I think GitHub Pages is a step in that direction. Since Winer published his post, Medium has posted a response that addresses many of his concerns. The takeaway from the response seems to be that if you’re afraid of Medium having too much control over your content, post to both your own blog and to Medium.

President Garrett Expands Graduate Student Support and Funding

I had a chance to hear President Garrett speak to the Cornell Graduate & Professional Student Assembly on Monday and was very impressed. I was expecting to hear the standard “Keep up the good work, look forward to working with you” spiel, and was pleasantly surprised to hear about all the activity that’s under way.

In addition to already being active, President Garrett struck me as very well-informed, opinionated, erudite and well-spoken, while being quite down-to-earth and eager to talk to students, rather than down to them. I (cautiously) have high hopes for Cornell under her guidance, and I’m personally looking forward to working with her administration as part of the GPSA.

Hundreds of Little Things

Last week I came across a blog post about the new release of an image editor called Acorn. I don’t use Acorn, but one part of the post appealed to me. In a section titled “Hundred of Little Things” the author talked about fixing bugs in Acorn:

It took months and months of work, it was super boring and mind numbing and it was really hard to justify, and it made Acorn 5 super late. But we did it anyway, because something in us felt that software quality has been going downhill in general, and we sure as heck weren’t going to let that happen to Acorn.

Most of my past week was fixing lots of small and annoying little bugs in my summer project. Some of them were edge cases in the core functionality of the system, but a lot of them were little bits and pieces and rough edges that I would have normally just let pass. I do agree that software quality seems to be going downhill in general. One way to fix it is to pay attention to all the little things that we usually let slip past. On a related note, I think that writing software in a way that doesn’t allow these little things to slip past us is still unnecessarily difficult and complicated, but that’s a matter for another post.

Sunday Selection 2015-02-22

Around the Web

Oliver Sacks on Learning He Has Terminal Cancer

There is said to be a Roman tradition where a victorious Roman general would parade through the streets of Rome and as he did so a servant would whisper in his ear: Respice post te! Hominem te esse memento! Memento mori!”—“Look behind you! Remember that you are but a man! Remember that you will die!” We don’t have Roman generals parading through the streets anymore, but we do have talented writers reflecting on their impending deaths in the context of their lives.

My Prescribed Life

While the anti-vaccination “movement” has gotten a lot of press recently, there are other kinds of drugs administered to children that can significantly impact their lives. This piece traces the author’s use of anti-depressants from a young age and discusses how it affected her life and her growth as a person.

Squid can recode their genetic make-up on-the-fly

From the “truth is stranger than fiction” section: “A new study showcases the first example of an animal editing its own genetic makeup on-the-fly to modify most of its proteins, enabling adjustments to its immediate surroundings.”

From the Bookshelf

The Defining Decade

As someone approaching the tail end of their twenties, a book with the tagline “Why your twenties matter and how to make the most of them now” sounds like something I should have read five years ago. Oh well, better late than never I suppose. In this book, psychologist Dr. Meg Jay explores psychology, neuroscience, sociology and economics to make a compelling case for why the twenties can be an important time for growth and development and explains how the choices made (or not made) then can affect the rest of our lives. She combines personal anecdotes, interviews with numerous twenty-somethings and a host of solid evidence to write a narrative that is often hopeful, sometimes scary, but always compelling.

Video

BlackBerry 10 OS Vintage QNX Demo Floppy

I spent the better part of an hour today learning about QNX—a real-time operating system first developed in the 80s  that sports a practical microkernel architecture, a POSIX API and forms the core of a multitude of high-availability software (including the BlackBerry 10 OS, various car software and runs Cisco IOS devices). Best of all, it fits on an old-school floppy disk, complete with GUI and a web browser. QNX represents a great technical achievement and an interesting part of computer history.

Snap windows to screen edges in OS X

I’ve been a fan of tiling window managers for a while now (especially XMonad which I’ve been using for years). But recently I started using Windows 7 again for the first time in years. Windows doesn’t have a tiling window manager per se, but if you drag a window to the left or right edge of the screen, it expands it to take up that half of the screen. Soon I realized that I mostly only need two windows open side-by-side (usually code and docs, or code and a terminal) and for that use case Windows’ snap-to-edges window management usually does the trick.

I’m still using a mix of OS X and Linux at home and I’ve been using the default OS X window manager so far. I have my Macbook Air connected to a larger external monitor which reduces the need to be careful with screen real estate. I didn’t really care about having a tiling window manager for OS X, but I was curious about having some kind of snap-to-edge functionality.

It turns out that OS X doesn’t come with anything of the sort out of the box, but there is a free utility that provides the needed functionality. BetterTouchTool is actually a very feature-packed program that provides a lot of control over mouse and trackpad input and window management. One feature that works out of the box is snap-to-edge support. Here’s a simple tutorial that shows you exactly what to do (it basically amounts to installing the tool and enabling it). And now you can snap windows to edges as much as your heart desires.

Amazon’s Digital Wonderland

A few weeks ago I found myself in Seattle, WA. Contrary to popular belief, it was a rather bright and sunny few days (if somewhat chilly). Here’s an obligatory picture of the Sky Needle.

Sky Needle

Anyways, on the first day there I fought a mostly losing battle against travel-induced tiredness (I was up at 4:30 in the morning) and walked around downtown for a while, somewhat zombie-like. I spent the most of the next day in one of Amazon’s new buildings attending their first ever PhD Symposium. I got to meet Amazon employees like Swami Sivasubramanian, one of the creators of Amazon’s Dynamo database, as well as fellow graduate students like Rahul Potharaju. The day was full of interesting presentations and the breaks in between were packed with lots of cool conversations. I presented my current project, Merlin(excuse the visuals) and got some good feedback. All-in-all it was a great day, I had a wonderful time and I hope Amazon keeps having more of these research Symposia.

But that’s not what this post is about. Personally, I think of Amazon as a retailer first and a technology company second. In fact, I’ve even written a post about their exemplary customer service. Even though I’ve known about EC2 for years and have used both S3 and Glacier as personal backup, the idea of Amazon as a technology company has always been at the back of my mind. In fact, it was only while attending the symposium that I really thought about the full weight of Amazon as a technology services company.

After coming home I looked up the keynote from Amazon’s recent Re:Invent conference. The keynote shows off some of their more interesting recent technology (including new EC2 instances) as well as client technologies built on top of it (including companies like Netflix and Vimeo). I also stumbled across Dave Winer’s post on Amazon’s support of static JavaScript applications and why that’s so interesting and important.

The more I think about it, the more I like Amazon. They make incredible technology, employ lots of really smart people and have a refreshingly honest and direct business model in an industry dominated by advertising and harvesting user data. From computation, to storage, to scalable DNS, Amazon offers a suite of services that’s just about stunning in its breadth. Though I’ve had little use for their services personally (apart from Glacier for backup), I can see myself extensively using their systems and technology if I was building any of type of scalable, distributed service.

Even as I write this, I’m trying to come up with excuses for trying out more of their technology. What would I build? I honestly don’t know. But looking at the range of Amazon technologies and thinking about the possibilities reminds me of the feelings I got when I first started programming and learning about computers.

In many ways, the world has changed since I started writing code about 12 years ago. I had a lot of fun writing LOGO and BASIC programs and then hacking together little Perl scripts. Today I find myself wondering what the loosely coupled services and technologies offered by Amazon and other cloud computing services enable. I wonder if the new programmers of today, still learning on primarily single-threaded, single-box computing platforms, should be encouraged to move on to the brave new world of instantly accessible, practically unlimited computing power. I wonder what we’ll achieve if we were to take distributed, connected computation as the starting point, rather than the state of the art.

As an ending note, let’s think about Microsoft. It’s become standard to talk about Google as today’s Microsoft, but I’m starting to wonder if that title doesn’t rightfully belong to Amazon. I’m not talking about monopolistic activities or questionable business practices, but rather their similarities in making computing more popular. Microsoft’s goal (ostensibly) was to put a computer in every household. Amazon, for its part, has commoditized high-powered computing and distributed systems and made them available to people with modest budgets. I suppose the more things change, the more they stay the same.