# Ubuntu for N10 Questions



## goblue13579 (Jul 10, 2012)

Following the announcement today, I am very excited to try out the preview on my N10.

Some questions I have:

Can you run android apps natively in ubuntu?
If not natively, could an android system be built to run at close-to native speed within ubuntu (a la bluestacks for windows or alien dalvik) given the open nature of the android N10 build and the android/linux kernel compatibility?
If you can't run android apps, will it be simple enough to build a dual-boot system?

I know ideally there won't be a need for this once everyone ports their apps to ubuntu, but that is a long way off if it happens at all. I also know that these questions aren't likely able to be answered until the actual ubuntu build is released, but I would like to pose them anyway on the off chance that someone does know. Thanks in advance.


----------



## yarly (Jun 22, 2011)

> Can you run android apps natively in ubuntu?

No. No more than you can run Android apps natively on Ubuntu for PC. Just because they both are Linux has little to do with compatibility due to the way Android apps are packaged and built as well as Android specific libraries (and services) they use. Android apps are not made for compatibility outside of Android. They can be rewritten though to work elsewhere or are already made to be (Mono/C#, Qt for Android, C++ libs, html/js apps).

> If not natively, could an android system be built to run at close-to native speed within ubuntu (a la bluestacks for windows or alien dalvik) given the open nature of the android N10 build and the android/linux kernel compatibility?

Maybe. See the Android x86 image in the Android SDK as a reference example. Performance has nothing to do with Linux really or the kernel. Has to do with both systems sharing the same CPU architecture for a majority of devices (ARM) so they run natively instead of with emulation (as the ARM Android image does on your PC). Think trying to emulate Xbox360 games on PC or something similar that isn't made for the same hardware. Many apps are also distributed with x86 libraries as well on Android since the Android Native Development Kit (NDK) allows you to build libraries you link to for both without any additional setup. Also, many smaller apps do not use any of those libraries at all, so it does not matter what Architecture they run on really.

I don't forsee Canonical caring about this and it will be a community effort. Android development sucks (unless you really really love the Java API circa 2006) and I am more than happy to see native development via Qt along with QML being advocated as the way to go with Ubuntu. Qt lets developers use a number of languages instead of just Java. Android will always lag at times in apps as long as they keep using Java. Java stuff lags on my development PC even after 20+ years of refinement of the Sun/Oracle Java JDK. It's the kind of lag you don't notice if you use the said app constantly, but if you compare to a native app, you can see it (usually manifests in clicking menus or other small tasks at times). If a high performance PC and 20+ years of corporate funded Java development cannot solve the garbage collection (memory) issues in Java, then what chance does Android have? I know that's kind of a hyperbole, but Android has a ways to go before people can say any lag is not noticeable after continued use. It can be mitigated through withholding collection, but not every developer does this or deals with it correctly. Android performance will continue to improve, but Java sometimes just has a slight stutter problem at time.s

Also, it's not hard to make apps to be cross platform if an OEM does not put ridiculous restrictions on porting in place (reason Windows 7 phones have little in the way of development and why Windows 8 has been a bit more permissive). Providing drop in compatibility with Android apps will just make many developers more lazy and treat Ubuntu like a third class platform (since Android in some ways is treated second class by developers in comparison to iPhone). A developer that knows what they are doing can make an app for Android or Ubuntu and reuse 50-70% of the code if done correctly. I can forsee Canonical perhaps investing more in the Android port of Qt as a compromise though. Qt being the recommended way to build apps on Unity and also works on many other systems (Windows, Linux Desktop, OSX, iOS, etc).

> If you can't run android apps, will it be simple enough to build a dual-boot system?

Simple, as in dummy proof? No (see the HP Touchpad for examples of failing to follow directions and the results of that). Can it be done? Probably. Will Canonical provide the means? Probably not as it's not to their interest really to keep people depending on Android or to support all the screwups people will likely do (remember, they're a for profit company) so it will fall on the community to do it. In other words, they (Canonical) will be indifferent.


----------



## goblue13579 (Jul 10, 2012)

Wow, thanks for the detailed response! Glad you took the time to answer thoroughly, I don't have anything else to ask until I actually get my hands on it. Cheers.


----------



## yarly (Jun 22, 2011)

goblue13579 said:


> Wow, thanks for the detailed response! Glad you took the time to answer thoroughly, I don't have anything else to ask until I actually get my hands on it. Cheers.


I don't know everything and we're still in the dark sorta until the official announcement, but that's just my sane take on what Canonical will likely do and would be surprised if they did something else. I don't post quite as often on the forums anymore, but when someone has a random question that's different, I try to give a reply when I can.

I'm not sure how Ubuntu for tablets/phones will fair as far as adoption, but I would like to see it gain some popularity, just because competition is good and I worry Android and Iphone are going to be complaisant with just being "good enough" and stop making significant innovations. Never was a big fan of Unity on Ubuntu for PC, but I'm trying to be open to how it is on Phones/tablets. I'm really a KDE fan on PC, but that's because I've used it for 8 years, it's the most optimal way for me to get work done feature wise and applications it comes with and fully switching to something else would offset any potential productivity increase for quite a while. Also, Ubuntu recommends Qt (what KDE is built on) for building apps over other methods, but that's just a random info.

They need developer adoption and it has some appeal as long as it's easy to find devices to develop for it on cheap. That's really been the key for Android is their cheap Nexus devices for developers. Offtopic, but if Microsoft followed suit, they would probably see more adoption themselves.


----------



## goblue13579 (Jul 10, 2012)

yarly said:


> I'm not sure how Ubuntu for tablets/phones will fair as far as adoption, but I would like to see it gain some popularity, just because competition is good and I worry Android and Iphone are going to be complaisant with just being "good enough" and stop making significant innovations.


I agree, I can definitely see a point where iOS and Android are a duopoly, even more than they are already. At least the different Android manufacturers like Samsung and HTC will continue to try new things with their skins to differentiate themselves (whether we want them to or not). I think the fact that the tablet market is far from settled gives Ubuntu or any other linux distro an opportunity that they never had in the PC market, so it'll be interesting to see how it pans out. My guess is that Ubuntu will get somewhere between 5-10% of the market with their unified approach of phone-tab-pc-tv, but the money making Android, iOS, and even Windows Phone run will be too much to overtake. If the price is right though, it will catch on.


----------



## drago34 (Jun 21, 2011)

I agree goblue, it's great to see some competition for a android, apple and windows. I personally am excited for some true linux on my phone and tablets.

Sent from my sexy Nexus 4 using RootzWiki


----------

