ReadWriteBuilders is a series of interviews with developers, designers and other architects of the programmable future.
When Google introduced Android as the first major open-source mobile operating system, it was like waving a red flag in front of developers. Many couldn't wait to open the hood and start tinkering.
Steve Kondik, a Pittsburgh-based coder who had previously never worked on mobile before, was one of those developers who dove deep into Android and never surfaced. They started off tweaking parts of the code that make Android run faster or allow users to run apps from external SD cards, and before long they had CyanogenMod—an operating system that offers a number of features you can't find in stock Android.
CyanogenMod—"CM" for short—is one of dozens of enhanced Android versions known informally as custom ROMs. (That's because users have to "flash" new operating software into a phone's firmware, or read-only memory). Custom ROMs can speed up your phone by overclocking its processor, or activate its wireless hotspot, or improve its memory management, or just add new Android features to an older phone that your carrier probably won't update. Flashing a new ROM is not for the faint of heart; it's a reasonably technical process and can sometimes brick a phone, although that's far less likely if you're careful.
In The Beginning Was The Source
ReadWrite: Tell us a little about CyanogenMod.
Steve Kondik: This project was started pretty much right after the original Android phone, the G1, came out [in 2008]. I was watching everything that was going on at the time, I was really excited for somebody to actually bring something based on Linux to a mobile device. A number of other guys had been doing it; they were all just a complete disaster.
Android was really exciting. They had taken a very different approach than everyone else, that were stuck in the traditional Linux desktop models and whatnot. They just threw everything out and started from scratch. They were open sourcing everything, which was awesome. Basically disrupted every other company in existence that was currently making mobile.
It had a lot of opportunity for independent developers. A lot of other people had this idea too, there were other guys trying to put something together, on the G1. They were trying to make it faster, started adding features, because it was a total Wild West at that time, it was very raw, there was so much potential, so many things you could do with it.
I started messing around with it, and found out that with a little bit of work you could get the code from Google. You had to do a little bit of work at first to actually put something together that you could flash onto a device, but I was able to figure that out.
The first time I released something, I wasn’t expecting much from it, it was just something I did for fun, and everybody really liked it. The first thing I was trying to do was make it a little bit faster. I was a little bit cocky. You never want to try to try and optimize your stuff too early. But I went ahead and I tried some things, and hooked it up to an XDA developers forum, and an hour later there’s a couple thousand posts on the thread.
I got really excited. It was really cool to see that happening, and just from the positive response I just kept going on it, and not too long after that I opened up the source code that I was working on so that other people could work on it too.
We started to get a little group of people together who were sending patches over, and I’d get everything merged. In the forums they were trying to come up with their own ideas. We were also addressing a bunch of technical problems in Android at the time. We had support for running an app off of an SD card, and that was a big deal because the storage was so tiny in the first-gen devices—[add a] 16-gig, 32-gig SD card, and [you could] have all the storage you possibly ever wanted.
Koushik Dutta, he was the first one to do one of the newer devices. Koushik is the VP of engineering at Cyanogen Inc., also a co-founder. He brought up the first version of CM on the original Motorola Droid. That was no small feat, and that got a lot of people interested. We just started having developers come out of nowhere, and start working on it, just because they saw potential, they saw something cool they wanted to do, or they saw some missing feature, or whatever.
And The Source Was Good
We started porting it onto everything we could get our hands on. Not only were we doing it, people who we didn’t know were doing it, and this whole community sprung up around it. And not only were we doing stuff, we were going off on our own direction with it. We kept filling it up.
Right now we have over 8 million users that we’re actually tracking. We support just over 100 devices right now. Our users are really crazy about having the latest stuff. In the last month we saw something like 38 million downloads of the firmware, and that’s not 38 million devices. That's whatever active users we’re counting, after devices that are checking in. There are people that are updating every couple of days, I’m sure there’s at least one guy who is updating everyday. We feel a lot of momentum, we’ve gotten strong support from everybody in the industry so far.
In December, I started talking to Kirt McMaster, who would end up becoming our CEO, about raising the money so that we could make this thing bigger, and he had some interesting angles on it. Basically the idea that you could have a direct consumer operating system available, it’s almost like the holy grail, right? Nobody’s been able to accomplish it. And CM kind of like, we snuck in there and did it without anybody really noticing.
Now we’re here, and we’re not going away, so we decided to raise some money and close the series in April, with Benchmark and Red Point. The thing that we’re doing in our spare time is what we’re doing full time, so it’s pretty awesome.
RW: When the Android G1 came out, what was about it that appealed to you the most? The fact that it was Linux-based, the fact that it was pretty much mostly open source? What specifically drew you to start tinkering around with this platform?
SK: Both, really. It used the Linux kernel, the core part of the platform was completely open source, it was pretty flexible, the code was pretty good, and it’s coming out of Google. And that’s a lot. And the other options at the time were like, iPhone. And you can’t do anything remotely like this on an iOS device like that.
It was really the possibilities that were available of something like that; that's what was really intriguing to me. [Google was] occasionally pushing up code to their version control system before the device even shipped, and I was kind of like trying to follow along. It was interesting to see the different designs the Android team went through. There was an older design they had mocked up on a device that looked like a BlackBerry with a giant keyboard in portrait mode. It was pretty funny.
RW: What were you doing before Android came along? Were you always interested in developing on a mobile platform? What led up to that point in time?
SK: I had never done mobile development before. I was just following what had been taking place and I thought it would be really interesting to work on. At the time, I was working for a startup in Pittsburgh, a bioinformatics company. We were doing some really cool stuff, but this was a side project that sucked me in really quick.
RW: Are there any aspects of your work that stand out, something that you’re personally proud of?
SK: Well, I think in the case of CM, the biggest contribution that I’ve had was getting it on so many devices myself. Nobody’s done that before. One person can only do so much, all the device support that CM has, like official support for hundreds of devices, but if you look around you could probably find a bill for your device no matter what it is by somebody in the community, maybe it’s not up to our standards yet.
The fact that that’s available, that sort of changes the game. Because if everything is wide and open for anybody to do what they want to, it opens a lot of new possibilities for new uses for these devices. Maybe you want something purpose filled, or maybe you want to create something that’s more locked down for your company, maybe you want to repurpose some old hardware, we give you all those opportunities now.
Up With Community
RW: You clearly took a hobby to and turned it into a professional career. What were some of the highs? Were there any bumps along the way?
SK: For the most part it’s been overwhelmingly positive, the support's been great. The thing that I’ve heard from people the most is, it’s about time you guys did something like this. I don't think it could have been done sooner, just because we have a lot of potential to cause a lot of disruption, in the industry. I think if we had set out to do this as a company from the beginning, there’s zero chance that it would work.
The negatives have been few and far in between. I think that there’s this negative connotation of corporate influences in open source software. I think that that might be just because of what has taken place with Android, and the fact that a lot of the Android derivatives that are out there now, they’re just terrible.
So there’s a lot of skepticism whether or not we’re going to do what we say we’re going to do. And whether or not we’re going to continue to support the community, which we are. It’s very key to our strategy.
There’s a whole lot you can do, you’re directly involved with your user base. You have people that are involved that actually don’t have a stake in the company and they just have an itch to scratch, they just have an idea and they want to implement it because they think it would be cool, and it would make it easier to use. You know, just something simple like that. That really adds up over time, and some of the best stuff that we have in here is how that came to be.
There was a small amount of fallout. I think that most of us have moved on, and it’s all for the best anyway. Like I said, I’m very passionate about this, it’s been a difficult thing to deal with whenever people are less trusting of you, whenever money is suddenly involved, but I think we’re a pretty unique case.
Anybody that’s tried to take an open source project or something that’s built in a non-commercial way, into something commercial is going to have some growing pains. We’re trying to architect around that. We have stuff that we’re building for a consumer launch, and then the community stuff how it is now, that’s how it’s going to continue to work. The stuff that we’re doing for devices and for a different user base, it’s open source stuff, and we’re not maintaining an internal fork or anything like that. We’re building new apps and stuff, but we’ll make sure all the APIs are in the open source project.
There’s healthy skepticism, I hope that we can do the right thing.
RW: Do you feel like that skepticism though might be going away, just because of the success of Android alone? Do you feel like that's changing the whole atmosphere around open source?
SK: Potentially. Open source has changed a lot over the years, you have the very philosophical viewpoint, similar to the Free Software Foundation, something Richard Stallman’s preaching about, where everything has got to be free at any cost. And then you have open source with a strategy behind it, which would be something like Android and these other companies, where it’s not as open source because there’s all these giants that have risen around proprietary software, and you want to just show up, and you have your own value to add to that open source. You can do that and knock all these other players out and end up scrambling.
It’s a very powerful tool. It’s not just about, "Oh, we hate Microsoft, so we’re going to make free software." The industry’s changed a lot. You have two different perspectives. Phones are alive and well. I think the extra [refusal] is starting to die down a bit, because it’s not all that practical. It doesn’t leave any room for compensating what developers have to offer for the software in the model.
I think [Stallman] once said that he’d rather starve than work on proprietary software. I think there’s a balance that can be achieved, I think that open source is an enabler, but sometimes you have to keep some stuff back that sets you apart from everybody else in open source. That’s basically where we’re at too.
We think we have some value that we can provide on top of the platform, we’re using the open source aspect to keep this whole community going, and also just to get traction. The people that are involved on that side are putting in effort, they’re all very passionate about it, and it’s awesome to have people like that on your side.
RW: What are you working on now as a hobby?
SK: To be honest, since we started the company, everything's been so crazy. And I had a daughter. Hilariously, she was born the same day that our first investor pitch was supposed to be, and I had to join the meeting by phone, so it was pretty awesome. Interesting timing. I’ve basically refactored my life around her and the new company.
We’re still small, so the workload is pretty high, and we’re getting ready to ship on the first device. That’s where all my time has been going. I try to get away, try to put all the technology away, do that sort of thing whenever I can.
Everything’s been focused on those two things, and of course my family is always going to win out. Anyone who has ever been in an early-stage startup knows how it goes, you know? You’re sort of limited and the amount of things that has to get done are immense.