Mike Krieger is a co-founder of Instagram. Having built the first version of the app years ago, he has been called the “soul” of the company and leads its engineering team today. Before Instagram, Krieger was a user experience designer and engineer at Meebo, a browser-based instant messaging platform. Krieger took a few minutes to talk to The Verge about the roots of Instagram’s many filters, the principles of human-computer interaction, and some of Instagram users’ craziest behaviors. You can find him on Instagram and Twitter at @mikeyk.
How have things been going since you joined Facebook?
We push code to Instagram like 20 times per day. For us, if it’s ready, it goes out. The fact that Facebook [pushes code twice per day] is actually still impressive given how many engineers they have. Now, it’s like, “We would’ve pushed this but Mike needs to support it in case anything goes wrong and he’s in a meeting.” I’m actually slowing down the team if I try to build more stuff, so I need to step back and make sure we’re focused on the right things.
Obviously you aren’t pushing out 20 features per day. What exactly have you been doing?
"At any given point, you’re going to be unhappy with over half of your infrastructure."
It’s mostly performance. Growing from 30 to 100 million [monthly active users] in basically a year or less … As a user hopefully you’re having a similar but better experience, but the infrastructure to support that looks really different now.
There’s this thing in San Francisco called Developer Boot Camp … I gave a talk there and ended up coming up with this slide that said: At any given point, you’re going to be unhappy with over half of your infrastructure, which is true. There are all these ways we’re doing things that could be better — it’s kind of like “painting the bridge.” You go from one end to the other, and once you’re done optimizing and improving your systems, you have to start all over because the assumptions are different.
So, the feed’s faster?
We’ve been obsessive. From day one the thing we wanted to do was make it fast, be it on the client or on the server. Loren Brichter (an Apple alum) had the defining article on how to do this. He said, “Alright guys, everyone’s doing this wrong. You’re trying to have 30 different layers on-screen, but you need to keep it flat — keep it one thing you draw on-screen at a time.” We spent hours [on it]. For v1 we opted to cut a bunch of features in favor of just making what we had really, really fast.
People get away with murder now because they have the iPhone 4 and 4S and the 5. They just have better processors. People are doing more but they’re also optimizing less. Who I love reading is Jordan Mechner, who wrote Prince of Persia, He put all his journals while he was writing Prince of Persia online. He was a kid, like 18 or 19, when he was doing this. There’s this point [in the game] where it’s you and your shadow self. He said, “Well, we didn’t have any memory left to do this other character, so we just took the character and bit-flipped it so there was its exact shadow.” The types of creativity they had to do back then when you had 8K of RAM, to make that work, was crazy.
What’s your take on the current online music space, and how do you think music streaming could / should work?
"Having the wrong timing is still being wrong."
I remember when I was in college an anonymous donor gave Stanford students a year of Yahoo Music Engine. It was like Rdio or Spotify, but 10 years ago. Ian Rogers (of Beats, formerly of Topspin) was the product person on this. I wrote to him once and said, “Dude, you guys had this! What happened?” and he said, “Having the wrong timing is still being wrong.”
I remember that and just being in love, and then it kind of went away. Lala kind of had it, and then that went away as well. And then when Rdio finally came around I was like, “Oh, this is incredible.” To me, the balance is this. I had a morality moment, a reality check while reading about the economics of this. This is actually not a really good way to support these artists. Now, if I really like it, I’ll go out and buy the iTunes album even if it’s mostly symbolic since I go and listen to it on Rdio anyway. It’s my own way of saying, “Here’s some money in the tip jar.”
In college you studied human-computer interaction. Why did you choose that field?
In high school, one of the things I loved doing was this after-school program where you would teach computer skills to some of the maintenance folks at school. I remember sitting with them and realizing some of the concepts we have that seem totally obvious; like when you click on a link, how do you know it’s [working]? Back in the day, it was because the Internet Explorer globe was spinning.
"Why do you click on things once on the web but twice on your desktop?"
The hardest thing for a lot of these folks that hadn’t grown up with computers was clicking on things. They would navigate, take their whole hand and try to hit the mouse and at that point it would move the mouse and they’d miss the link. It was really frustrating. And why do you click on things once on the web but twice on your desktop? Why? I knew I was interested in making that better for people and studying how we can take the goal of what the interface is and make it work for people.
How did you apply that knowledge to Instagram? The bottom-navigation bar inspired a generation of apps.
Before we wrote a line of code we had this notebook, and we said let’s draw the entire app. We came up with this whole feature, once, around being able to annotate your photo. We sketched it out, looked at it at the end, and said let’s junk this, it doesn’t work. We spent four hours doing that, which feels like a long time, but that would’ve taken at least a week or more to build.
The most pivotal week in the early Instagram days was when Kevin said, “I’m going to Mexico, I haven’t taken a vacation in two years. I’m gonna think about some of this filter stuff.” I said, “Okay great, let’s nail down the rest of the app, really detailed, in terms of UI mocks and what the interactions are before you leave.” My hours that week were really funny. I’d wake up around 2PM, code until 6AM. I think that’s my natural state if you leave me and tell me to get something done.
"Before we wrote a line of code… we said 'let’s draw the entire app.'"
In one week we had the basic app. The way we were able to do that and not run off in a totally wrong direction was by having really good UI mocks beforehand.
How do you invent filters?
Kevin did most of the filters in the early days. A lot of that was going through … Flickr collections and seeing what happens when these photos age. Or, even looking at photos of ours from our childhoods that were only 20 years old at the time, but had already gone through some process and had some mood and just trying to reproduce it. In Photoshop we’d create the effect and translate that into code.
We’ve gotten better at this over time. I was going back to my first photos and we all had borders on our photos. We had way too much color correction. The photos you’re going to look back on five years from now are not the ones that are super processed, but the ones that maybe had a shade of a mood versus the plain photo. But not so overboard that it’s unrecognizable.
So why did people stop using borders?
I think it’s because looking back you want the photo. The borders were actually mostly unintentionally amazing marketing tools from day one. What is this photo? Oh, it’s an Instagram photo because it has that border. The New York Times had an Earlybird photo on its cover. Of all the coverage we’ve gotten, that was the coolest moment. It wasn’t even coverage of us, it was just using an Instagram photo. It was a Yankees player. You knew it was an Instagram photo because of the Earlybird border. But I think people gradually tend towards the more subtle, not super-editorialized version of the filter. I think we also defaulted [the borders] to off, which has a huge impact on what people do.
Seen any crazy user behaviors?
I love seeing people use and adapt the product. Adrian Grenier took advantage of it by doing three photos in a row: he built this mosaic by posting one photo at a time so at the end he had a whole mosaic. It was pretty cool, and then you realize that the next photo is probably going to throw it off. We used to have four up, four photos to a row [in profile view], and we’re like we want to make our photos bigger, since you can’t really see these thumbnails. All of us agreed that this was a great direction and when we shipped it we got these letters like, “All I do is make my mosaic!”
"I don’t think mobile-only is a sustainable thing to do long-term."
There’s a great xkcd comic that’s release notes for some software application and they’re like, “Hey we fixed a bug where holding down the spacebar increases your computer’s temperature” and some people said, “Man, I had hooked it up so when the temperature increased it actually meant this different command!” With 100 million people, somebody is using your product in some interesting way. If you change it… you’re going to break some use cases.
What took so long to develop a web version? Has it met your expectations?
There were third-party sites that would do it, but each had its own identity. That was definitely a need that people were filling. We could tell. It’s really funny to look at your web logs and to see what people are doing, and so many people would get 404 errors since they were trying to type people’s usernames in there. That was a gap we are really happy we filled. I’m really glad we did mobile-first, but I don’t think mobile-only is a sustainable thing to do long-term.
Read more 5 Minutes on The Verge