Developer Spotlight: Reminiscing with Roman Birg

It’s been a couple weeks since our last Developer Spotlight with Mike Bestas two weeks ago. This time around we are moving the spotlight over to Roman Birg. He is responsible for several repositories today at Cyanogen Inc., but is ultimately known for his work on AOKP (Android Open Kang Project). Developer Spotlights are a public nudge of appreciation to the developers that tirelessly work and contribute to a greater cause for a better OS.

Roman, nice to have you on here. How is life and the dream?

R. Birg: Life is great! I’ve been living in Seattle with my girlfriend Dani for over two years now, and it has been amazing. We even got a chocolate lab who’s growing into a quite a fine doge (he had a lot of teenager energy). I can’t see myself leaving the PNW (Pacific North West), I love this place.

Tell us a bit about yourself, where do you come from and how did you start tinkering with code?

R. Birg: Born in Russia – moved to Memphis, Tennessee when I was 7, where I stayed until I graduated college. Although I didn’t start programming until high school, I kind of always knew that’s what I wanted to do… there was just no easy way to get into it when I was younger (and on dial up at the time).

I guess I started with some small time website hacking. I remember in 6th grade, I downloaded the phpBB forum zip, and opening the zip and trying to make sense of the PHP files on the school Windows 2000 PC’s. I also had no idea how to “run” them, I definitely tried though. I stuck with it for a while and eventually I was at the point where I had to learn Flash to continue down the web development path. I did not continue down that path.

What was the first language you started with? And what was the first project you completed?

R. Birg: My high school programming class started us out with Java, so I ran with that. Turned out it was the right call more or less – most of college courses stuck with Java as well. And then came Android (well, bytecode[smali] first for me). Since then I’ve been exploring other languages as many chances as I get, Java just doesn’t cut it alone anymore.


What have you incorporated from working on AOKP while working at Cyanogen Inc.?

R. Birg: A few features here and there (nav bar arrow keys I still use daily), and maybe my experience messing with quick settings? Mostly unicorn jokes though.

Not surprising, I am sure you rode in on one today.

What are you currently working on today?

R. Birg: I’m working on a nasty NFC + Bluetooth beaming bug where an unsuccessful transfer could put the other device in a bad state and not able to receive future file/photo beams until a reboot… so much stuff going on the device at that time too, it’s pretty gnarly.

Bug hunts can lead to or help create other bugs. Also, messing with Bluetooth can be a nightmare.

R. Birg:  Are you suggesting I’ve introduced bugs before? Never!

You have been around for a while in the Android scene, what do you think big manufacturers need to improve or focus on to be a better device manufacturer?

R. Birg: Everyone is so focused on making the next huge product that will sell millions of phones. But no one is putting in the time or love to make a device that doesn’t feel rushed. Everyone always has to have the newest hottest hardware (I do too sometimes). It’s really hard to find a balance.

I feel like if there was a _stellar_ phone out right now, that released with an MSM8974 (like the original OnePlus device), but it had the best camera on market, a fingerprint sensor, useful UI enhancement (CM anyone?), and proper LTE band support, I’d be all over it. You usually get two, maybe three out of four of those things, but never all.

The Nexus devices are the closest thing to this for me, but as always, those are severely lacking in the camera department.

So do you think that is why everything feels ‘outsourced’ and ‘stamped/rehashed’?

R. Birg: I think that’s a byproduct of OEMs iterating on designs they already have (or have seen working elsewhere). It’s expensive to make these things, and even more expensive to make them right!

I would like to see manufacturers not release a new flagship _every_ year. I’ll pick on Samsung here since they’re the easiest target. I think this is what makes them feel not brand-spankin’ new anymore. They’ll change out a tiny feature here and there every year, so it’s never a HUGE surprise what they announce next.

If I didn’t see Samsung for a year with a new flagship, and they came back the next year with a quality product, I would definitely think twice. I haven’t thought about buying a Samsung since the S3, which was just a stellar device.

On the other hand there the business side of things to think of. If I was in Samsung’s position, I’d probably be doing something very similar. It’s generating them users and profit. The question is always about sustainability.

What device are you currently using as your daily driver?

R. Birg: I’ve been using the Nexus 6P as my daily since it was released. It’s camera is decent for a Nexus device, but I’ve found that it really sucks at close up shots. I realize it’s a phone, but I’ve seen better.

I think that the camera is basically the most popular deciding factor for buyers today.

R. Birg: It wasn’t for me. Definitely a big part though. I knew this thing wasn’t going to have the best camera (although it was advertised to have a better one, and that did factor into my decision).

I think the fingerprint unlock did it for me. It was between a 6P and a new Moto X. The fingerprint sensor was the biggest difference between the two (that I cared about) and I don’t regret the decision. I use it heavily throughout the day – when I know I need to use my phone, it’s ready to go by the time I’m looking at it.

I would have to concur. Security is at an all time paramount these days.

You have a ton of experience with the amount of devices you have been able to test. With the Android platform being pretty dominant in today’s industry, what advice would you give to upcoming developers?

R. Birg: Write code. Don’t be scared of breaking stuff and dig in. I feel like that’s pretty standard advice, but if works.

Also it’s not always about *just* writing code – make sure your that code is actually solving a problem. It might be as small as a bug. The problem could even be learning to program! But it’s never about just sitting down at a computer for the sake of writing code.

Breaking starts way before fixing! I love that line!

Is there any developers you looked up to or reached out to while learning Android?

R. Birg: I want to give a huge shout out to Faux123. It was the time of the LG G2, and he was doing his own kernels and AOSP builds, I took a stab and reached out to him for help because I was stuck… and to my surprise he replied back! He was very patient with me and I tried to extract as much knowledge from him as possible without being annoying. I don’t think I could have started AOKP without his prior help.

The coolest part was I got to meet him a few years later at the BBQ (and then again at the CM Dev summit last year). Cheers Paul!

Paul is a very skilled developer, I am pretty sure everyone who has flashed a Kernel has heard of him.

Anything else before we part ways and get back to work?

R. Birg: I just want to say thanks to all the other developers contributing to CM (and other ROMs!), you all have shown me the power of the open source community. It’s all about having fun and learning new things, and this is a great place to do both.

Thanks for having me on here Steve!


You can catch Roman on Twitter or Google Plus for his social channels.

  • herbert78

    CyanogenMod for Sony devices has become such a disaster. No release
    since end of 2014 for any Sony device. Since then only nightly builds,
    but the developers don’t care about stability any more. They change some
    critical functions like WLAN, then it’s broken in the next nightly
    version and stays broken for weeks. The developers don’t even test their
    code on the actual device. This was confirmed by CyanogenMod developers
    at the forum. This is such a sadness. Sony is a very community-friendly
    manufacturer. They provide you access to kernels and so on, give users
    the opportunity to unlock the bootloader easily. But this great
    potential vanishes as CyanogenMod for Sony devices gets less and less
    attention and becomes more and more unstable.

  • Shaheer

    So…. I’ve been sitting on a “stable release” of CyanogenMod 12.1 on my HTC one m8 for months and would LOVE to have a go at CyanogenMod 13, considering all the terrible bugs that I come across everyday…. As soon as I switched to cm12 my data stability became much worse and it hasn’t improved one bit. I’d love CyanogenMod to stick with their word and actually release 13 for more devices instead of only for the most popular ones.

  • Mani Kandan

    Oneplus One is lagging after the new update! :-(
    Should I buy a new phone?
    Suggest me some new phone because I can’t even use my Oneplus One anymore. Maybe Android N will Fix lagging issues on Oneplus One(Bacon)
    Oneplus One is the Best Developer Device out there according to many! Why so?

  • Norman

    Hey guys. I´m currently using Windows Phone 10 and considering switching to android. But only if i can get an CyanogenMod for it. I just want to have as little contact to google as possible. Now I´m looking for a Premium Phone with good CM support. Could you make a recommendation? Sadly Galaxy S7 is not supportet.

  • mrmessma

    Did you also update your phone’s modem to the appropriate version when you switched versions of Android?

  • mrmessma

    I love that people use a completely unrelated post as a soapbox to talk about their beloved device and it’s lack of support.
    Keeping on topic, I found this post interesting. Thanks for the work guys! I have certainly been having fun and learning new things.

  • Moe

    care to share details?

  • mrmessma

    I’m not sure what you mean. Each device has a modem version that corresponds to different versions of Android. Google your device plus modem and you’ll find a list (probably on XDA) of modems. When people experience connectivity issues when updating from one to another (not using a stock OTA) then it’s because they also didn’t update their modem. CM cannot give out Samsung/HTC/Moto modems in their code but you’re free to flash it yourself.

  • Moe

    thank you, i did find a thread on xda, (links don’t work on this forum), and was able to update via adb/fastboot my verizon m8… CM 13 was working ok on old radio, will see how this works now.

  • mrmessma

    It cleared up a few niggling issues I was having with my S5.

  • Nd2000

    When become cyanogenmod 13 on Samsung galaxy s6 or a official cyanogenmod on this device?

  • mario66

    Don’t switch to CyanogenMod. There is no guarantee that your phone will be supported in the future, too. For example, I bought a Sony device because it was well supported in the past. But just a few weeks later, support was dropped. The developers decided for some reason to not release stable versions any more. Only nightly builds with broken WLAN, battery drain, lots of crashes and so on were released. See the post by Herbert above. Now I’m stuck at CM11 (Android 4.4). I would recommend to just stay at stock firmware, root your phone and do the modifications you want. In terms of rooting, I can recommend Sony, they are very community-friendly, allowing you to unlock the bootloader easily. Just don’t switch to CyanogenMod. Worst open source community ever.

  • Steffen

    You never will because it’s closed source and the camera will not work. It’s a wonder that some devs got a test build booting up.

  • Steffen

    Definitely a Nexus or OnePlus. Out of my last 10 phones they were the only ones running good over time. My Samsungs were completely rubbish.

  • Nd2000

    Thanks reply