← Back to team overview

ubuntu-phone team mailing list archive

Re: Shashlik running Android apps on Linux

 

On 23/02/16 03:18, ubuntu.mexon@xxxxxxxxxxxxxxx wrote:
I know how irritating a bunch of "me-too" replies and rants are. But in this case we're talking about the one reason Ubuntu phones don't work and can't work. A crowd of people yelling might actually achieve something.

I also carry two phones, a very nice MX4 and a very beaten-up iPhone 4. I absolutely do not have the option of leaving my desk without the iPhone.

Two apps I can't live without: WeChat and Alipay. And I'm not unique: those two apps are just as essential to practically everyone in China. China being a fifth of the human race, so possibly meriting some strategic consideration*. Tencent and Alibaba own the internet here. They do not care about you or your little operating system. All they care about is beating each other to death using tactics so blatantly unfair and illegal they make 90s Microsoft look like Harper Lee. The general population is precisely as concerned about "software freedom" as you would expect from people living with a corrupt communist dictatorship. So if I'm waiting for WeChat and Alipay to return power to ordinary people with open APIs and software choice, I'm going to have to be pretty bloody patient.

(There is talk of WeChat coming soon to Ubuntu, in partnership with China Mobile. This is a glimmer of hope. But if it's as crippled as their desktop app or, heaven forbid, their website, it isn't going to move the needle. The very best I can hope for is something Skype-on-Linux-esque. Too little too late.)

I suffered for decades with a Linux desktop, and I could cope with that. A desktop is primarily a content-creation device - and when you're done, you might like to tell people about it in an email. If you're collaborating there are significant network effects, but there are ways around that.

A phone is a communications device. It's ALL network effect. There is no point having a phone in your pocket unless you can talk to your friends with it. So there is absolutely no point developing a phone operating system when you know full well that it won't plug into the communications networks people actually use. There are open messaging platforms, but guys, the war is over. We lost. Get over it.

And meanwhile my elevator is suddenly plastered with posters for Apple Pay. Payment processing is another natural fit for monopoly and cartelisation (EMV, Swift, PayPal). Only play that game if you're playing to win. Alipay has already won in China. And people are surprisingly unwilling to accept "I left my other phone at home" as an excuse for not paying them. Android can be a player in the mobile payments market. Ubuntu isn't even in the fight.

As for "defeat[ing] the security work that has been put into Ubuntu", yes please! It's a constant frustration that I'm not allowed to access MY content on MY phone. That's precisely what I hate about my iPhone, but my iPhone is a lot more generous than my MX4. If it's a choice between security and being able to use the damn thing, I'll just be careful to not install any malware thanks.

The lesson I learned from my beloved Nokia N900 is that, in a pinch, having to do something in a clunky, inconvenient way is infinitely better than not being able to do it at all. That phone could run Gnumeric! Not "gnumeric reader", the whole package! Ever tried running desktop spreadsheet software on a four-inch screen? You don't do that for fun, you do it because the sky will fall if you don't. So you put Android in a sandbox and if you want to send a photo over WeChat you have to manually copy the photo into the sandbox first. Inconvenient. But right now when I see something amazing I don't photograph it with my very nice MX4, I reach for my god-awful iPhone 4, because what's the point if I can't send it to anyone?

Android on Ubuntu is an opportunity. How jealous the Wine developers must be! Can you imagine how much easier that would have been with an open-source reference implementation to work from? .apk is the best plausible de-facto standard for mobile apps. Come up with your own ideas, sure, but not at the expense of compatibility with the rest of the world.

I'm very excited about the potential for Ubuntu on IoT. Can't wait to get my hands on an Artik 5. Every elevator here includes (often multiple!) advertising screens with a cracked piezo speaker turned up to 11. They tend to run Android, but I'm very optimistic that in the future it'll be Ubuntu's security model making me want to smash my brains out against the wall by around the tenth floor. Ubuntu on my phone though? No, can't see it. Not unless Android apps work.

For now... seriously, can anyone point me to reliable instructions for how to reflash my phone with Flyme? It's actually kinda hard to google that.

* No-one's going to use Ubuntu Touch in China until something's done about the unfit-for-purpose pinyin keyboard. But unlike Android apps, this is not something Ubuntu is actively opposed to.


To add my 2p, I think we're at a crunch point in the story of Ubuntu phones. Personally, I don't use any novel social media apps. My needs are met by voice calls, email and SMS, so the Ubuntu phone works well enough for me on a day-to-day basis. I don't carry an extra phone, and I no longer own a 2nd functioning smartphone.

However, it is increasingly apparent that the Ubuntu app model is not working. Despite the wonderful set of tools available for app development on Ubuntu, most of the apps on the store are the worst kind of webapps. Native apps are dominated by simple QML trinkets, and more complex native apps like dekko are a rarity. Non-Qt native apps are scarce.

Many developers are hitting brick walls due to app confinement, lifecycle management, missing documentation, absent frameworks and lack of options to interface with Mir. The confinement model is beautifully engineered but, without the necessary frameworks in place for trivial things such as SD card access, it has become a millstone around our collective necks.

Whilst we can paraphrase Zawinski [1] and say that "Every mobile OS attempts to expand until it can run Android apps", having an Android runtime is not going to help with any of the inherent problems in the platform. There is an outside chance we could get a Netflix app running, but an instant messaging app is going to fail badly.

Beyond the fact that an Android layer is not going to be a magic wand to fix Ubuntu's problems, Shashlik doesn't look like the most sensible implementation of an Android layer on the phone. There appears to be some layers of emulation in Shashlik which could be spurious for the phone. I'm not sure if it would be more sensible having a local surfaceflinger implementation rather than running one under qemu. But all of this is beyond my skillset.

I appeal to the platform devs to refocus on getting native Ubuntu apps working well before working on any Android layer. When the platform runs well, we might get Android apps running well.

NMP

[1] - http://www.catb.org/jargon/html/Z/Zawinskis-Law.html

Follow ups

References