Interview with Andromium CEO Gordon Zheng
Here at XDA we look forward to newer technologies and the impact they could have in our lives. Lately we’ve been introduced to many enticing possibilities like Ampere and ExoDrive through kickstarter projects that aim towards solving the problems we smartphone users face every day and are very aware of. But Andromium wants to bring a new category of computing into our lives, and with it fix a problem that many of us didn’t know we had: we are wasting the full capabilities of our favourite devices.
I reached out to Andromium Inc. and got in contact with the company’s CEO to get some answers to some questions we had in mind, and he kindly accepted to do an interview with me. Gordon Zheng has been an XDA user since the old Motorola Joy days, and has contributed to the community in the past. He will be releasing an open beta of Andromium on January, that will last for a couple of weeks to a month.
What kind of software work did you do before Andromium, and how does your past experience affect your development?
“My background has always been enterprise software, but I’ve been doing some consumer apps and products in the last couple of years. It’s a change of environment – enterprise is a lot slower and a lot bigger, and it takes a little more to ramp up and get feedback. On a consumer side, things ramp up fast, and you get crazy amounts of feedback – so it’s good, and bad. You can make changes and update right away, but consumers are very demanding and one little bug can be made the end of the world in the support forums. So it is quite a change of scene. We are keenly aware of this, and we are working on the product until we are confident that we are ready to go.”
The Andromium platform will be priced at $39.99 right?
“It’s actually going to be 39.99 for the package including the OS and the dock. A lot of our users – specially power users – might have an existing dock that will be compatible with the software, so we are releasing just an Andromium OS too. We are still discussing the final target price, but right now the current target price is $15 for the OS only, and then if you pay for the dock, you get the OS on it, so it’d be $40 including the OS and the dock or $15 for the OS only. We are also exploring other models as well, where we can reduce or completely eliminate pricing for our users without having to resort to online ads.”
How did the concept of Andromium come to be?
“This is not a new concept or idea, and other companies have tried it in the past. So, the first one I’m aware of is actually from Motorola, They used to have a phone called Motorola Atrix, that would come with a webdock or lapdock. The webdock is $80, and it is very similar to the Andromium dock. The dock itself hooks up to a TV and a mouse, and you are basically using your Atrix as a computer to go online, surf online, run basic apps, etc. So that was kind of the first iteration where I saw this concept of mobile device as a desktop.
The problem with them is the fact that the technology when they tried it was still a little bit too early.They were working with the first generation dual core phones, so it was a Tegra 2, they were just getting 1GB of RAM, and so the CPU was a little bit too slow and the Android OS a little immature to do what they wanted to do. So it wasn’t the best user experience. They mispriced it a little bit as well. The most popular form factor was the lapdock, where you plug your phone into, and it was like $600. And you had to pay $20 additional premium to AT&T to use it, or else you couldn’t use cellular data on it. So you know, not many people wanted to pay $600 for just a dock for their phone plus additional $20 a month premium. (…) It was a very neat concept, just ahead of its time. People that tried it wanted the concept developed further, and unfortunately Motorola abandoned it in 2012. So they tried it for a year, it didn’t work and then they decided to give up on it. It was unfortunate.
Then the next generation was the Ubuntu Edge. The unfortunate thing about Ubuntu – Chronicle, was they really never wanted to make that phone, they did it more for publicity from everything I gather. So the CEO, they did an interview to him, and he said ‘we want to get the idea out there, make a name for ourselves, and get Ubuntu for Android, get publicity for it, get manufacturers on board.’ It was a great publicity stunt, I definitely give them that. I wanted the phone, I contributed for it, but you know… 30 million was just not doable. But unfortunately Ubuntu for Android didn’t take off either. I had my hopes up, I was waiting for it, they had a couple of ROMs for Nexus devices. They tried it, but in the end they didn’t get the manufacturer support they needed to make it wide. And at that time – about 8 months ago – I decided “you know what? I could do this myself” and decided to learn from the mistakes of these last two projects and maybe try to sidestep these issues and create my own. And this is where the Andromium platform comes in.”
What are the limitations that Andromium OS faces by being limited to an Android APK – for example, you mentioned that there’s no resizing or multi-instancing of Android applications [like in the Note series] and that they can only run in the background layer.
“Well, I think this is a difference and it is a conscious design decision. One of the things we planned for Andromium is that any phone can use it, so you don’t even need root access, and you definitely don’t need a custom ROM for it. So the reason that we chose that route is to have mass adoption; If we limited it to a custom ROM, the number of people that can use it is very small. As big as the [XDA] community and developer community is, we are not a major representation of standard Android users. Most Android users don’t do custom ROMs, they don’t void their warranty, they don’t do S-OFF, and those kind of things. They stick with stock Android. And even rooting, in my opinion, used to be very big back in the 2.0 and even the 3.0 days, but the reasons to have rooting were less and less in the 4.0 days. So the rooting community is not the biggest representation.
So for us, the reason why the app cannot do small screens is that we chose to ignore any API that uses superuser access, or require additional APIs that we have to embed into the OS itself. So we are using just standard Android API that is accessible or is not a hack. We are limited to using the regular app’s life cycle. We cannot inject additional behaviors into the apps. So we respect the sandboxing of the own apps instead of try to hack around it. Which is what [TouchWiz] does, Samsung has additional APIs inside their ROMs that allows them to hijack some of the apps’ life cycles a little bit. And even then they require any apps that do [things like] resizing windows, to at least sign their app for it, like saying “I support this API”. It’s not like any apps can do it on the Android phone. Xposed Module [XHaloFloatingWindow] goes with this, basically they hack around the apps’ default life cycle and they are hijacking some of that functionality, some of the API in order to do it. Which is a really good way to do it, but unfortunately it requires root access and sometimes even ROM support to get all the pieces together and that would restrict our user community too much so we decided against it.”
How do you think Andromium would evolve with [Stock] Android? For example, with this multi-window case, unfinished multi-window code has been found in Stock Android code before, would you implement it?
“Oh, absolutely! We would love it if AOSP had stock windowed apps, we would use it as soon as it becomes available. But [as of now] Google is kind of reluctant to do it (…) they are still reluctant to move from the phone and tablet model for Android.”
I noticed that all the supported devices are not necessarily super high-end at this point, but they are still flagship devices, still Full HD screens and up. And Andromium only supports Full HD screens and up as well. At the same time, Andromiums goal is reaching every possible consumer. So that reach is mitigated by the predominance of lower specced devices in key regions. How will you go about that? Will older/weaker devices be supported too?
“Well I think there’s two points to that. One is that we are a start-up, so there’s a lot of things we could do to support standard resolution TVs as well, it is just we need an HDMI to analogue converter, and it’s a thing we talked to manufacturers about and they could build it. But it is just that we are a start-up and we are just releasing our first iterations of the OS, so we can’t do everything at the same time. So we support the high-end phones because that would give us the most power, and even with areas we can optimize later on, that horse-power would at least mask any kind of issue we might have at the beginning. And at least for now, we want to focus on the developer community and ask them to help us grow our app store later on. For example we support Note 2, Note 3, they are high-end devices, but that kind of tells you about the “entry horse-power” we are aiming for.
One thing about smartphones is that they are evolving so fast. I’m seeing like, the Asus ZenFone 2… 4GB of RAM. The fundamental thing that is exciting for us is that the difference [in hardware] between a high-end device and a low-end device is only one and a half years. So by 2016, entry level phones could have the same specs as a Galaxy S5 or even a Galaxy Note 4.
For us, it takes time to build up a community, and refine the OS – so that it could be a primary computer for everyone, everyday, instead of a secondary computer. And I think [with] that half year to a year to get out there, and get developer feedback and support to grow the ecosystem, by the time 2015 ends, for those phones that’ll come to market ready we will be ready for them too.”
There is competition in the “mobile desktop” space already, like the Microsoft Surface. Will you move Andromium to a tablet form factor, and if the tablet is big enough display it on the tablet with no need for a monitor?
“Yes, that question was actually brought up in our comment section as well, that our users sent us. Originally we never thought about that form factor, but it makes sense, right? With a 10 inch or 12 inch tablet that I can prop up on my desk, with bluetooth mouse and keyboard or even USB using OTG then I can turn my Android tablet into a sort of Microsoft Surface. When that was brought up, we thought “maybe there’s not many users that want it”, but then we got a lot of comments and a lot of messages from people asking for it. So we decided to support that and our current plan is to have that functionality enabled for people.
It’s actually very simple to do, because we’ve already got all the components; only difference is, instead of turning the screen off on the device and displaying it on a larger screen, you just keep the device enabled and dismiss the requirement for external monitors. So we are totally going to support that.”
Will you support older Android versions? What would the entry version be?
“We think it’s going to be 4.4. We rely on a couple of 4.4-specific APIs, mainly it is the web browser. We are using the standard internal rendering framework inside Android, and Android made a huge change in 4.4 for the rendering framework. So because of that, we are supporting 4.4 and above.”
After the recent security controversy, I wouldn’t think you guys would want to support anything older!
“Yeah, exactly! And you know that’s the way it is going to be going forward. Google has never been very good at supporting what they consider obsolete versions. So we are going to start with 4.4 and 5.0 and above. And we think that initially that will be a little bit restrictive for our user base, but again, as time moves on that won’t become a problem.”
On the Kickstarter there seems to be a very strong emphasis on the more philanthropic consequences of the software; how important do you think Andromium could become for developing countries?
“I grew up in China, then came to the US. One of the co-founders is also from Paraguay. So, he used to volunteer at the favelas, teaching children english. Both me and him absolutely see the requirement for this. One is the fact that most of those South American countries, to a lesser extent China, and to a greater extent India, are skipping broadband [infrastructure] altogether, it is a mobile-only kind of situation. And in the mobile only world, it makes no sense to have a desktop or even a laptop because without broadband, wifi doesn’t have huge penetration.
So everybody has only cellphones, or if they have the money, the USB that lets them hook up to cellular. But when we are talking about an income range of maybe $2000 a year for a family, it makes no sense to spend that much money on a laptop or desktop. And some of the places that we are looking at have even less than $1000 USD a year income. (…) So they would spend money on a cellphone, but they wouldn’t spend money on a $500 or $600 computer, especially when they can’t even get internet access. So for us, mobile is the true way for people to be getting online in emerging markets.
The problem with mobile, the fundamental flaw that I see in mobile only is that it is not a platform geared towards productivity. We can consume media, we can use social media on it, and even read up on news and emails. But I can’t imagine a child spending an hour or two writing a 3 or 4 page essay on a cellphone. Even on a tablet, I just can’t see myself doing it.”
Or learning programming, with programmers being a valuable human resource for economic growth in today’s day and age. It could help the promotion of computer science in developing countries and bring equal tools for them.
“Absolutely! And I think that, fundamentally, you need a different platform than a smartphone to do it. Or at least, not a smartphone by itself to do it. The minimum requirement I see for a developer is a keyboard. You can probably get away away with it without a mouse, having a touchscreen. But without a keyboard, any sort of productivity work is insane.
This is where I think Andromium really makes up for the gap. There’s usually one or two smartphones per family, that’s usually the tool for the adults. But for kids, how are you going to teach them to be productive, online? How are you going to give them tools for education rather than playing games or going on social media? Attaching a keyboard is the best way to do it. And when you attach a keyboard, the next thing you want is a bigger screen to work on. So a 4.5 or 5 inch screen is decent for everything else, but it is horrible for programming!
So you attach it to a cheap TV or monitor and suddenly the smartphone that you have for entertainment becomes a smartphone you can use for work. And that is where I see Andromium having, fundamentally, the most impact. Bringing productivity to the smartphone.”
The internet “globalized” knowledge and opened the gates of it to all of mankind, but at the same time, some people don’t have the tools. And smartphones are mainly designed for media consumption, not for deeper academic pursuits. I see Andromium really bringing these tools for these countries. How do you see Andromium evolving?
“Fundamentally, we are talking about how we enable that kind of tool. Today everybody thinks we need a computer to do development, and we’ve got a cellphone on the side for work or a cellphone on the side for fun and social media, but in reality, the only reason we do that is because we don’t realize the fact that a lot of the tools already exist on the cellphone, to do the same thing. So [if] this is one area that you are interested in, about teaching development to Argentina, to Paraguay… I think, absolutely. Andromium is the right set for it.
As far as long term evolution… so this is something that is actually in the works, and is not done yet. (…) [In developing countries] data is fairly expensive, especially for the income people have. So it is great and all that we have a super-smartphone at our disposal, but people are very stingy about using data because it is still very expensive compared to their income. In the US we’ve got 1, 2, 3 or 4GB of data every month. But a lot of people we’ve talked to have less than 100MB, and they pay as they go. They have to make sure they are using it at the right time of day to keep the cheapest data rate, or juggle between SIM cards in order to get the best rate during that time of day.
It is something that is so foreign to us in the US, but in order to make Andromium a success in third-world markets, this is also something we’ve got to tackle: How to solve a data problem. We give them a platform where they can do more on, but they are still limited by what they can do online. We have to find out how to solve the online issue next.
This is an area where we are focusing a lot of effort on, because we really see it as the next step. Having the platform, having the OS is the first step. The next step is to enable users to take full advantage of that platform. And to take full advantage, you need the internet access, unfortunately. And you have to find a way to get cheaper, if not free, internet access to our users. We are heading for this next step. Right now we are having discussions in Paraguay with content providers as well as telecoms in there, and we got a great feedback. So we are just waiting for signing our first partner on board so that we can announce that next step to our users, and get them excited! (…) We are hoping to have something announced within the next couple of months.”
Do you see Andromium getting competitors, and do you see Andromium-like platforms overtaking traditional desktop computers for most activities?
“Do we envision Andromium get competitors? Absolutely. I’m hoping that the Ubuntu One project will come online and be another player in this market. We are fully aware that this is the evolution of computing platforms in general and we are seeing early leaders becoming online, and we consider us one of the early leaders right now. But Ubuntu will be one of the early leaders coming online, and potentially Microsoft is rumored to plan the same thing as well.
So there’s a lot of players that are interested and [we are] testing the waters of this space. I am glad we’ve got a head start, compared to Ubuntu for example. We are able to have a fully ready OS-to-go, available in 2015. I think where we can make a difference is that Ubuntu is focused on the high-end (…) For us we want to start at the low-end of market, and once the technology is mature enough, move back into the high-end.
So users today can use Andromium in the high-end market, and they can use it to replace their work computer, but a lot of our effort is basically not the high-end developer requiring 10GB of RAM, but supporting low-end users for who 2GB of RAM is enough to go online, to do light development, work editing, homework and all that.
We definitely will see competitors, and we love that we will. It means that this is definitely a right move for the next big thing.”
What features do you want to incorporate later on?
“As the first step on the OS, there’s still a lot of things we’ve got to refine. For example, the notifications framework; we are relying on standard Android notifications, with the drop-down menu bar, which is not the best way to see what message you are getting. For a lot of those, we put an additional UI layer on top. So a lot of it is going to be UI enhancements and refinements, that is kind of our next step.
But in long term, for us, one of the things we are really excited about that we are not dedicating much effort to until at least next year, is multi-monitor support. I have a laptop that hooks up to two monitors, that allows me to do development – that’s my kind of work setup. Andromium currently is one-monitor-only because of the hardware limitations. But that is evaporating. Newer phones coming online in 2015 all have the capability to do external multi-monitor support; so it is a matter of of us spending time in refinement to have a good multi-monitor user experience, specially for our power users.”
What was one of the hardest features that you worked on, or which are you the most proud of?
“I think the hardest feature. fundamentally, is how to create an OS on top of Android. To this day I am not aware of any other operating system that does what ours does. For example, a traditional VM works as a black box on their host system, so they have their own drivers, they have their own reserve memories, they have their own file system and everything. That is a great way to go if you’ve got the computer power for it. For example, on my MacBook Air I require 8GB of RAM to have a good host VM running on top of Mac OS X. That is not possible on a 2GB RAM environment.
In order to do it on Android we had to learn how to write a guest OS. A lot of network management, file systems, underneath file system security, we had to delegate under our host OS, which is Android, and then there’s parts where we have to take over ourselves, for example UI lifecycle rendering, freeing and then allocating memory to Andromium apps or apps that we create ourselves. So a lot of those things we have to do them as an OS, but we have to make the OS as light as possible so that way we don’t have to use as much RAM.
When we first started, our target was 3 GB of RAM, and we optimized it enough to go down to 2GB of RAM. And that is our proudest [feature], the fact that we can actually do that when nobody else could.”
So would you say that, as far as real world usage goes, it is optimized for market release on all supported devices?
“We are optimized enough to give a good user experience most of the time. In the [demo walkthrough] video, we purposely stressed the phone to the max, to kind of show what it can do. Power users can do that on an every-day basis, so they would still see lag like when we demoed it [on those conditions]. For the most part, if you are limited to 3 or 4 apps at the same time. you would have a great user experience.”
What limitations would Andromium apps face as far as memory and processing goes?
“The limitation that they would face would be the same as a standard Android application would face. The Andromium OS does a lot of work in order to hide the memory management issues away from the user (…). If you know how to program a regular Android app, you should be able to use the Andromium SDK as well. That said, it’d still be very difficult to program 3D games, like a Unity game, in Andromium. That is a little further away. But as far as writing an e-mail client, or a light-game like Angry Birds, that is doable for Andromium SDK. I think we can give at least 80% if not more of the native horsepower you would expect from a native Android app.”
How much of Google’s philosophies have you retained from working there? How is being a “Googler” different than running your own start-up?
“When I worked at Google, I had a great experience. There’s a lot of things that I learned from Google. Unfortunately there’s something that I couldn’t take away. As a start-up, we are a lot more resource-constrained. So at Google it is easy to spin up like, a 10,000 different VMs and doing [all kinds of] testing, and you can’t do that in a one-year start-up.
A lot of the development practices, as far as how to write clean code, some light AP testing, we could do, but a lot of heavy-handed testing requires unlimited resources, and [that’s something that] unfortunately as a start-up we can’t do.”
And as far as the more humanitarian aspect goes, would you say some of that stuck with you as well? How much of that is seen in the Google development environment?
“A lot, I think! One of the reasons I joined Google was that philanthropic mission they had, but I would say that comes much more from my MBA background from Georgetown. So Georgetown University is a Jesuit school, and they focus on the religious part as well as doing good for your society. So it is from that background that I got inspired in this mission. Doing a start-up project not only has huge potential as far as the technology goes, but also huge potential for making a greater good.”
What would you say to your followers at XDA?
“Stay updated with our current progress! We are releasing an SDK in June-timeframe, so we are rooting for the developer community to get on board, and help develop apps for Andromium. Right now we’ve got the standard set of apps which is web browser, video player, file explorer, a photo viewer, quick games and stuff like that. But we want more! We want everything that is capable on the Android system… Do it as an Andromium app. It is very fast and easy to convert. We are making our SDK as painless as possible. So please support us when the SDK comes out!”