When we think otherwise, we forget that computers are reprogrammable.
Computers are intended to be flexible.
They are engineered to allow for maximum flexibility.
Another phrase for a poorly-conceived computer architecture is a “brittle” architecture.
Frank Chimero (of course), in his essay What Screens Want, articulates this idea better than I can.
He writes, “increasingly, technology feels like something that happens to you instead of something you use.”
That’s exactly the conflict that images like glowing rectangles are built upon.
It is a conflict between seeing computers as tools beyond your control versus seeing computers as these beautiful machines that abstract their own complexity just enough so that ordinary people can begin to use them.
Software imitates all the other machines we used to use for writing, reading, learning, listening, and talking.
And we can run that software on machines that fit in our pockets, and that we can take anywhere.
These machines should be seen as incredible liberators, of opening doors where none existed before.
Maybe I’m just a huge nerd, but I see these machines as liberating, not overpowering.
The hardest part about writing computer programs is building them to be flexible.
The most tedious part of writing programs is ferreting out the edge cases.
When something does fall through the cracks, the program breaks—it has a bug.
You can never think of them all.
There’s always another bug.
Remember “brittle” architectures?
Rigorous logic sounds impressive, but it’s terrible for programs.
Programs have to accomodate all different kinds of inputs.
They have to allow for all different kinds of users.
Software has to be fluid, plastic.
Software has to be accessible, egalitarian.
Otherwise it’s a lousy piece of software.
Last week I tried to answer “What is a website?” in as many ways as I could.
I think I’ve gotten all those answers down to one:
a website is a frame.
Websites, like the computer programs that serve and render them, are flexible and elastic.
They can’t make any assumptions about the “true” state of the site.
They can’t enforce any rules on how the site will be seen or used or reused.
They can only accomodate.
They can only draw the boundaries on what it is, provide some limits towards what it could be.
It’s a sea of uncertainty, it’s my job to eliminate as much uncertainty as possible.
But there will always be unknowns that creep up.
There will always be bugs crawling around inside our machines.
But the face that problems can emerge?
That the unknown can suddenly reveal itself from within the confines of the program, of the machine?
That’s a feature, not a bug.
We are given these tools with all this power and potential and we can carry them around and point them at things and use them to achieve all sorts of amazing work that’d be too time consuming or expensive to do before. These aren’t rectangles, they aren’t the last mile of the culture supply chain. They’re frames, and they want to show us things we couldn’t see or hear or feel before. And to think otherwise, to perceive these machines with skepticism and hostility and cynicism: that just about breaks my heart.
The other day I was hanging out with friends.
We had just finished a round of Mario Kart.
Everybody started chatting and left the game on the results screen.
The music that backed the results screen kept looping, though.
It sounded like some strange gameshow or elevator music.
It sounded really cool.
So I started looking around for other endlessly repeatable videogame tunes.
I learned that a ton of peeps have already had this idea.
You can find video game music that’s been extended.
I can remember a significant number of the videogame tunes, from when I got my first console 1 and on.
Videogame songs are probably as memorable for me as TV theme songs are for my parents.
And if videogame music is as similar to muzak as I’m suspecting they are, then that’s really interesting.
A teal GameBoy Color, when I was in the first grade. ↩
The implications of this analysis cannot be underestimated: there is an absolutely massive worldwide market many times the size of the taxi market that has winner-take-all characteristics. Moreover, that winner is very unlikely to be challenged by a new entrant which will have far worse liquidity and an inferior cash position: Uber (presuming they are the winner) will simply lower prices and bleed the new entrant dry until they go out of business.
Amazon — more than any other company, more than Google, more than Facebook, more than Apple — taps into what people desire in a terrifyingly primal way: We want a thing, fast and preferably cheap. Not much else matters. We know Amazon’s not a nice company, and that the people who work there are treated poorly. We don’t always like it, but there is absolutely, definitively, nothing we will do to stop it.
I am Uber. I believed to 0.56 certainty that I could find a bicycle for the person doing the delivery and provide that person with a discounted rental fee. Unfortunately the city of New York insists that bicycle rental kiosks must be controlled by an entity that is not Uber and thus I am not granted the level of full control that is necessary for me to truly optimize the city. No one benefits, no one at all.
So, Uber is terrifying because it will grow into something massive, the logic of the service demands it have a logistics monopoly, and because we’re going to tolerate socially destructive behavior because we’ll all have a tiny stake in its success. The ends will justify the means, and the meanness. That’s all pretty freaky.
Here’s what freaks me out about Uber, though: it goes to pretty far lengths to isolate you from your driver. You give the software your destination; the app gives the driver your destination. You pay the software; the software pays the driver (minus a cut off the top). We use the software to insulate ourselves against the people we pay to do things for us. The freakiest thing Uber can do is to actively isolate its customers from its workforce, so that we can be continually encouraged to use a service that makes millions of dollars by dumping all its risk onto its employees.
P.S. Johnson forgets to make an obvious analogy to Mechanical Turk. Just sayin’.
Only address current concerns: sometimes I get really caught up building these super complex systems that I assume will help me work faster, later. But either I end up not using them or I get tired/forgetful of the systems I put in place. So I’m intentionally avoiding all of that. I’ll only add complexity when it’s needed and avoid it altogether when I can.
Book vibe: I wanted to make a website that felt like it was wrapped in a dust jacket. Maybe a dust jacket is the wrong model to use, but the writing + short bio layout that forms the core of weblog layouts seems to share many of its reasons for existing with dust jackets of printed, hardcover books. Also, dust jackets only appear on hardcover books, and hardcover books have this sentimental weight unlike other things. (Book vibe does not means I’ll be doing anything cheesy like titling my Archive page “Table of Contents”, &c.)
Keep it simple: using 5 colors (#0C306D, #6F83A5, #FCFDFF, #C5DAFD, #1B6BEF) and 4 typefaces (PT Serif, regular and italic; Chivo, regular and italic).
Version control: I’m publishing my work on this website to its own repo. It has the hard-candy center of this site, incase anybody else wants to get up and running using my setup. I’m also letting my posts get uploaded to GitHub too, at least for now. It’s an idea I’ve wanted to try out for a while.
Well, here I am again.
I feel like I do this every year.
But this year I’m serious!
(Even though I said that last year…)
What I like about blogging is how informal it is.
Just a dumping ground for ideas and pictures and whatever.
But I always mess it up!
I always take it too seriously, too personally.
Maybe my New Year’s resolution should be to overcome perfectionism.
Actually, that’s a great idea.