
My Ubuntu for mobile devices post-mortem analysis - johannesburgel
http://lieberbiber.de/2017/06/20/my-ubuntu-for-mobile-devices-post-mortem/
======
CaptSpify
I'm truly sad this failed. The Ubuntu phone was the first phone I've had that
I didn't hate. I loved the idea of the phone, and it was nice to be able to
use the same scripts that I use on my laptop on my phone. I'm really sad that
Canonical never gave it a good effort.

I'd pay a lot of money for an actual open linux phone, but nobody wants to
make one.

~~~
maheart
There is SailfishOS[1]. It's real Linux. It has proprietary parts (e.g.
Android drivers, UI widgets, core apps), but Jolla (the developer SailfishOS
developer) has contributed a tonne to Linux on the mobile[2].

I use it as my daily phone, and I've developed apps for it, so feel free to
ask me any questions.

SailfishOS should hopefully be available for the Sony Xperia X soon (within a
month according to their blog posts).

[1] [https://sailfishos.org/](https://sailfishos.org/) [2]
[https://git.merproject.org/groups/mer-
core/activity](https://git.merproject.org/groups/mer-core/activity)

~~~
ocdtrekkie
I am interested in Sailfish, but I expect to be able to buy a phone running an
OS on my carrier, and it doesn't sound like that is coming with the Xperia X
or anything else anytime soon.

If you have to flash the OS to use it, they've already lost, and I'd argue
that was one of Ubuntu Phone's biggest problems too.

------
maheart
Cross-post of what I wrote on /r/linux:

I definitely think Canonical bit off more than they could chew:

    
    
        Mir
        Not making use of existing Android drivers (I think they resolved this issue later on)
        Building their own app deployment and isolation system (Snappy)
        Building their own browser (although they did wisely reuse CEF, or was it WebEngine?)
        Convergence
    

I really wanted Ubuntu Touch to succeed, I even backed the Ubuntu Edge when it
was first announced.

However, I think Jolla/SailfishOS did a number of things better:

    
    
        They used Wayland.
        They used existing Android drivers (using libhybris).
        App installation/deployment is done using regular RPM. There's currently extremely minimal app isolation. This is a very hard problem. Let the Flatpak folk solve it, then adopt it.
        They used Nokia's browser (based on Gecko) and office suite (based on Calligra). These were used on the N9, which had a larger install base than all existing Linux-on-the-mobile projects.
        They used a well-tested ConnMan/ofono combo (these were used on the N9, see above).

~~~
subway
The libhybris situation is a pretty miserable compromise. You land on an old,
busted Android kernel, with a userland that mostly works. It exists only
because the major SoC vendors have no motivation to support a chip after
they've shipped a BSP that successfully builds and makes the hardware
occasionally provide the desired features.

(Apologies for being a bit harsh; I've wasted a ton of time recently hacking
on Allwinner and Amlogic chips)

~~~
maheart
The libhybris situation for the time being is "good enough".

Sony last year announced their intention to "mainline" their Xperia devices
(their main phone brand)[1]. This could eventually mean running Android on the
latest mainline kernel, and perhaps even GNU/Linux[2].

[1] [https://developer.sonymobile.com/2016/02/17/work-on-the-
main...](https://developer.sonymobile.com/2016/02/17/work-on-the-mainline-
kernel-for-open-xperia-devices/)

[2] Jolla (developers of SailfishOS, a real-Linux-on-mobile OS) announced in
February that they are partnering with Sony to bring SailfishOS to the Xperia
X ([https://jolla.com/wp-
content/uploads/2017/02/Sony_Jolla_pres...](https://jolla.com/wp-
content/uploads/2017/02/Sony_Jolla_press_release_MWC2017_FINAL.pdf?x12599)),
which should hopefully be out this month. It's taken a long time, but real-
Linux-on-the-mobile is getting closer.

~~~
c8g
what do you mean by real-Linux-on-mobile OS?

isn't​ Android a mobile os running linux?

I hope you meant real-GNU /Linux-on-mobileOS

note: "Android is running Linux" is certified by Linus Torvalds

~~~
ocdtrekkie
Linus has a vested interest in taking credit for the most prolific mobile
platform. I don't think there is any common sense in the 'Android is Linux'
argument beyond that though.

As a software platform, it isn't even remotely similar.

~~~
johannesburgel
Android is an operating system built on top of the Linux kernel project.
"Android is not Linux but ${DISTRIBUTION} is" is just stupid, operating
systems simply cannot be compared to a kernel.

~~~
pjmlp
Not quite right, NDK applications are constrained in what they can touch and
many syscalls have been removed.

------
zzzcpan
"People crying for a third alternative mostly didn’t do so because Android or
iOS had a bad reputation, or were too limited, or gave people a bad user
experience, but because they (rightfully) feared a Google monopoly."

Do consumers really care about monopolies? I believe they don't and I think
nowadays Android's reputation is not very good. People have a whole bunch of
useless outdated android devices laying around, have some horrible experience
with them and could appreciate an ungoogled/unappled linux-like distribution
with more control for the user and updates.

~~~
s73ver
You'd think they could, but they had Windows Phone, and that flopped. Not
saying that Ubuntu Phone couldn't do better, but unless they got devices in
carrier's stores, they wouldn't have a chance.

~~~
petecox
I've always installed Ubuntu from an ISO, never pre-packaged on a PC.

Similarly, any business model can't rely on handset sales. Apple and Samsung
sell them by the millions and we're talking a few hundred here.

Community ROMS such as Lineage OS supporting (per wikipedia) 165 devices
suggest that there is grass-roots support for tinkering. Devise a foolproof
method for device support on any handset (Halium) and solve the app gap by
containerizing Android (Anbox) and the users may follow - but on their own
hardware, NOT a custom device.

UBports lives on by the community, for the community - in spite of Canonical
abandoning the platform.

~~~
s73ver
That's fine for a tiny community, but Canonical is a business, and they need
to sell devices in decent volume. That means getting them into US Carrier
stores. I'm glad you guys are able to continue using, but as long as the path
was to flash a custom rom, they were never going to hit mainstream.

~~~
petecox
> Canonical is a business, and they need to sell devices in decent volume

I'm saying that approach was never going to work, when even an established
vendor like RIM couldn't chisel out a market with their revolutionary BB10 OS.

------
cwyers
Everything listed may or may not be true. But I think it elides over the
biggest reason it failed: failure is easier than success. Microsoft didn't
make those mistakes (it made different mistakes, to be sure) and spent a
shitton of money and didn't have the sort of success Ubuntu Phone would have
needed to be sustainable. So it's really hard for me to believe that these
reasons are the biggest things standing between Ubuntu Phone and success. I
think it's far more likely that the market doesn't need a third phone OS in
and of itself, and none of these competitors offered a "killer app" that you
couldn't have on iOS or Android that consumers actually wanted.

~~~
saidajigumi
Another factor the article only partially addresses are "moat apps", which are
really platform services. Mapping is perhaps the leader among these, and
arguably the killer app during the advent of mobile. Did Ubuntu Phone have any
mapping solution at all?

Even if it did, the article cites "Mobile data was unreliable, [...] The
location service was _very_ unreliable." bodes extremely poorly for the device
being usable for mapping services at all.

~~~
notspanishflu
Ubuntu phone had a wonderful map app[0] called uNav and it worked really well.
In fact it still works well in UBports[1].

The GPS problem was with some phone models, not all.

[0]
[https://openstore.ubports.com/app/navigator.costales](https://openstore.ubports.com/app/navigator.costales)

[1] [https://ubports.com/](https://ubports.com/)

------
djsumdog
I think the biggest factor, mentioned in this article, was the (lack) of
platform. Android hardware is so radically different. Only window mobile had
arm+uefi (with a locked bootloader).

Device trees aren't used on most mobile hardware. Mobile ARM is like the PS4
.. Intel arch chip, but totally not PC compatible.

I feel like Microsoft needs to give out the keys to their phones. Their
platform is standardized enough devs could buy up old hardware and make a real
oss mobile operating system without having to build totally different kernels
per device.

~~~
shams93
What we are seeing is convergence from the android direction. Android devices
continue to get more and more powerful, only thing that's painful to do on
android is develop android apps but its possible with AIDE (unlike ios which
requires at least a machine running in the cloud to build). Debugging on AIDE
is not great at all but for more simple apps it works fine. Using termux you
have the entire console gnu stack, ruby, node, gcc, python, pip, git, emacs,
etc... You even have csound for doing serious academic level electronic music
composition on android. Combine those kind of tools with galaxy s8's ability
to turn into an android desktop with the base station and you have
Shuttleworth's vision of convergence happening but from android rather than an
ubuntu phone.

~~~
djsumdog
I don't see what any of that has to do with running Android itself. Linux made
it big with developers and for servers because it could run on any x86/PC
platform. ARM is not a platform. We can't just release a new open source
operating system for ARM devices because they're all radically different and
non-standard.

I don't think you understood my comment.

~~~
incompatible
There are thousands of models of Android phone, probably over 10k, but to what
extent are they all radically different? They all seem to end up using the
same chipsets from a few manufacturers, and surely product lines within a
single company reuse a lot of code.

------
microcolonel
If Canonical didn't spend so much time engaging in Not-Invented-Here fantasy
5D chess, and instead focused on advancing the emerging standards, then they
would have had more momentum. By working against the community (e.g. Mir
[especially the Wayland FUD]), they cost themselves time and enthusiasm.

I think this had a lot to do with the cancelling of Unity 8 as well.

Thinking back, I'm impressed with how far they got. If they had collaborated
where it didn't help to compete, then I think they would've had a better
chance of entering the market. I hope that this experience doesn't steel them
against working on ambitious things entirely in the future.

~~~
throw2016
What community? Is there really any Linux community that speaks with one
voice?

'Community' seems to be a pretty nebulous ill defined term in this context
used to prop up whatever argument the poster happens to be making.

If Ubuntu wants to invest in Mir how is that a bad thing, if Redhat invests in
Systemd inspite of a multitude of other init options how is that a bad thing?
This is usually how progress happens in the diverse and uncontrolled open
source ecosystem and failures are part and parcel of this. Using words like
'NIH' seems misplaced here and sounds like some people want to 'control' what
other people can do.

For instance who gets to decide what is NIH, given Ubuntu's Snappy is Fedora's
Flatpak NIH? But there is no 'community' antagonism towards Flatpak. There
appear to be some double standards at play here.

~~~
microcolonel
Snappy's Git history starts at basically the same time (literally one week
apart) as Flatpak, and both of them only became viable recently. Snappy is
written in three languages (Go, C, and Python) and two of those are not as
popular for Linux low level infrastructure projects, Flatpak is written in one
language. Flatpak was developed by an independent developer, Snappy was
developed almost exclusively at Canonical it seems. Snappy is also GPLv3,
where Flatpak is LGPL; while this is a minor issue for workstation and server
users, on kiosk/embedded systems the anti-tivoization requirements of GPLv3
can be an issue.

Snappy has higher memory requirements, takes up more disk space. Flatpak is
implemented in about half as much code (granted with slightly different
feature sets) despite being written in C rather than Go.

And despite these signals, I don't see any broad community "antagonism"
towards Snappy at the moment. You can find an angry blog post on almost any
topic, doesn't mean the opinions are popular. I don't feel any particular way
about it since it seems to do something at least a little different than the
competition. For example, Flatpak only really tries to sandbox desktop
applications, much like .app directories on OS X.

It _is_ a little suspect that Canonical always shows up with their own version
of something which everyone else (SUSE, Arch, Red Hat, [Oracle/Novell])
mysteriously can't even manage to build and package successfully. In the case
of Snappy, I think it's more or less a coincidence that it started within
seven days of Flatpak. It might turn out to be better (or serve a completely
different purpose). Another thing in favour of Snappy is that at least snapd
and snap-confine (but not snapcraft!) are widely packaged for distributions
other than Ubuntu.

The thing is, the rest of the industry is running on independent contributors.
These independents manage to widely distribute and standardize on the best.
Meanwhile, Canonical consistently goes off on their own and builds something
that ultimately nobody can even package (Mir, AppArmor, Unity), let alone
adopt.

Canonical clearly wants to differentiate, and that's entirely their right, but
their differentiation factors often seem to wither and die after a couple
years of bragging and some small progress.

~~~
pjmlp
Yet they are the only ones after the now missed Mandrake, to offer a
reasonable desktop experience to the level a OS X or Windows user can expect.

If it wasn't for Ubuntu, even my travel netbook would run W10 nowadays.

------
captainmuon
I think it was unrealistic to expect to have any "significant" market share
compared to Android and iOS, even 1% is a huge number.

What I would have done is to focus on apps first, staying on Android. Make
worthy competitors for the built-in apps, like GMail.

Then, make it easier to write apps. Mobile app development is a baroque hell.
Most apps nowadays are just lists, or maps, with a JSON backend. I don't want
to deal with Adaptors and Fragments and Providers and what not for just that,
when the app could be done 90% declaratively, and styled with a bit of CSS.

Why did they ditch all the work put into Maemo to make Gtk touch friendly
years ago? Merge that stuff, or use modern Gtk, and let me write apps in
Python+Gtk.

Then, once you have kick-ass apps, make a great rooting tool. Then, make a
great android _distribution_ (don't call it a ROM!). A vanilla android + your
apps + a tool to extract drivers from the backup partition, so that it works
on dozens of devices. Then add debian in a sub-tree. Then add apps to tie the
linux world and the android world together (e.g. a Android terminal, maybe
written in your "awesome" framework).

I think a piecemeal solution is the only realistic way to build an android
competitor.

------
walterbell
Were there similar technical challenges with Jolla, or was there minimal OSS
collaboration between Ubuntu and Sailfish?

Sailfish still seems to be around for Sony's Open Devices,
[http://www.silicon.co.uk/mobility/smartphones/jolla-
sailfish...](http://www.silicon.co.uk/mobility/smartphones/jolla-sailfish-
xperia-206348)

~~~
flukus
Thanks for posting this, I think I just found my next phone.

Can anyone comment on what the development story is like? It looks like it's
just as complicated as android, but I want to be able to just write c++ code
and a makefile in vim and not bother with QtCreator and especially all that
qml rubbish.

~~~
maheart
> Can anyone comment on what the development story is like?

I can. I've developed and released an app for SailfishOS, and am currently in
the process of developing a second one.

I do all my app development in emacs, and VirtualBox (running an i486 version
of SailfishOS). My app's written in Python. The UI parts are written in QML
(basically JS). I have a Makefile that does an assortment of things for me
(setup dev env, package application, clean up stuff).

My second app is going to be written in Python and Go, with the UI once again
in QML.

It's real Linux underneath, so you can write your application any way you like
(as long as it runs on Linux/arm). However, it's easiest to write the UI in
QML, as it handles all the input/widgets for you.

~~~
mpol
Which app is it?

And do you have the source and Makefiles available? I would really love to see
that, and maybe even get going there. I am still in doubt if I should learn Qt
or Python.

~~~
maheart
I'd prefer not to disclose the name of the app, as it would tie this account
to my real name.

gPodder
([https://openrepos.net/content/thp/gpodder](https://openrepos.net/content/thp/gpodder))
is perhaps the most popular SailfishOS app written in Python and QML.

You can find a lot of FOSS apps (developed in C++, Python, etc.) on OpenRepos
([https://openrepos.net/](https://openrepos.net/)).

~~~
mpol
Thank you. I will look at this for some inspiration.

------
janwillemb
I really liked the idea and would have bought an Ubuntu phone, but I'm glad I
never did. This:

> _The phones were slow and had to be rebooted on a regular basis. The Meizu
> MX4 overheated. The battery indicator tended to show bogus data. Mobile data
> was unreliable, (national) roaming often didn’t work at all. The location
> service was very unreliable. The phone didn’t always ring when called, or
> you couldn’t make an outgoing call because the UI hid the buttons. The alarm
> didn’t work reliably. Bluetooth only supported audio devices, and later
> input devices, but not even basic file transfer. WiFi would not connect to
> WPA Enterprise networks until OTA-5. I think at one point the music player
> even started deleting files while indexing them. Et cetera._

I understand making an OS for a lot of different devices is hard. But this is
just unacceptable regardless of the circumstances.

------
teekert
I'm very sad it failed. I think one thing could have made it a success: Target
existing popular devices like the latest Nexus/Pixel or the OnePlus models and
make it very easy to flash and restore. That way one can put their toe in the
water without spending money on a non-android device and that risk is negated.
I gave the OP3 dev some money I would have loved to play with Ubuntu Phone and
especially with convergence, it might have stopped me from buying a laptop.
But I didn't want to buy an expensive, high-end non-android device (I didn't
like that high end Meizu) and I didn't want to try it on a cheap device
either. I would certainly have bought a recent Nexus/Pixel to try it though,
if I knew I could always go back to Android.

~~~
maheart
Another real-Linux-on-the-mobile project, SailfishOS, has community ports onto
popular Android devices[1].

Jolla, the main developer of SailfishOS, is set to announce an official port
of SailfishOS, to the Sony Xperia Z sometime this month (according to their
blog)[2].

[1]
[https://wiki.merproject.org/wiki/Adaptations/libhybris_reboo...](https://wiki.merproject.org/wiki/Adaptations/libhybris_reboot)
[2] [https://jolla.com/wp-
content/uploads/2017/02/Sony_Jolla_pres...](https://jolla.com/wp-
content/uploads/2017/02/Sony_Jolla_press_release_MWC2017_FINAL.pdf?x12599)

~~~
Brakenshire
Just a quick correction, the model they mentioned appears to be Xperia X not
Xperia Z.

------
andreaferretti
I think the actual reason why it failed was that it was not Ubuntu at all.
When I got mine, I expected to be able to apt-get install everything. The form
factor may have been wrong and uncomfortable, but from day 1 I would have
access to thousands of applications I was familiar with. I also expected
convergence from the start.

It turned out to be a completely separate ecosystem that started from scratch.
So, there would be no actual advantage in having the Ubuntu name on it. It was
just a marketing move, but it had nothing in common with the Ubuntu I know
from the desktop

------
Thaxll
The reality is it's impossible to compete vs Google or Apple on that field,
I'm not sure why Mozilla / Canonical even tried.

~~~
wmf
It was also impossible for Google and Apple to compete with Blackberry and
Symbian. I guess there's impossible and then there's impossibly impossible.

~~~
devnonymous
I agree. Although I'd still pay for a resurrection of maemo/meego and IMHO,
given time and resources, that would be good enough to challenge Android /
IOS.

~~~
walterbell
Russia and China have invested in Sailfish/Maemo:

[https://www.theregister.co.uk/2016/12/07/russia_bid_mobile_s...](https://www.theregister.co.uk/2016/12/07/russia_bid_mobile_self_sufficiency_sailfish/)

[https://jolla.com/wp-
content/uploads/2017/04/China_announcem...](https://jolla.com/wp-
content/uploads/2017/04/China_announcement_April5_2017_FINAL.pdf?x12599)

------
padraic7a
This is a great write-up. As someone who bought the Ubuntu tablet I wondered
what was happening at times and this gives a lot of information.

Readers might be interested to know that the Ubuntu for phones [and tablets]
project continues as UBports.

Their wiki[1] and latest blog post[2] might also be of interest.

If you check out the blog post you can see that they have been consulting with
app developers and are working on a solution to the notifications issue - "To
service notifications in the future while improving user privacy, we will
implement “headless apps”. The OS will call these every few minutes and allow
them to do some work in the background such as check for messages. This will
be done with battery savings and user control in mind." There's a more
detailed report on the meeting on the forum [3].

Finally HN readers might like to check out the Halium project - which aims "to
standardize the middleware software used by various projects to talk with
android daemons and make use of hardware". Some details on it's progress in
[2].

1\. [https://wiki.ubports.com/wiki/Home](https://wiki.ubports.com/wiki/Home)

2\. [https://blog.ubports.com/qanda/2017/06/14/community-
update.h...](https://blog.ubports.com/qanda/2017/06/14/community-update.html)

3\. [https://forums.ubports.com/topic/273/june-1-2017-app-
develop...](https://forums.ubports.com/topic/273/june-1-2017-app-developer-os-
developer-meeting)

------
slitaz
Android has sucked up all breathing space in mobile operating systems. There
is no chance for something else.

~~~
dahoramanodoceu
there's a ton of room! there's a vendor stranglehold on android architecture
that is stifling movement in this area. Use your imagination a bit, dude.

if we had a hackable open source and libre linux phone, even if the user base
were 1 percent or .5%, we would likely start to see shifts in user interface
and functionality design on the mainstream platforms-- besides, it'd be super
rad to be able to actually use my phone for m0re than mindlessly scrolling
'feeds' and messaging.

as a cash-strapped third worlder constantly on the move in a mega-city, termux
has been a huge relief for me and postmarketOS and other players looks
promising.

i'd seriously be interesting in commercializing such a device to the
raspbi/arduino/developr/hacker crowd. it's got lots of money, lots of clout,
is clearly identified, growing and diversifying, and has been proven to spend
money on interesting and useful tech. Any takers ?

~~~
skinnymuch
1% market share is huge. webOS barely had 1% when they launched their third
device out of an eventual total of 6. webOS was critically lauded and meant to
be used and accessed as you saw fit. No blocking of the homebrew community. I
know you're proposing something different, but if webOS was around 1% market
share in 2011 in the middle of their device launches and when smart phones
were still in their relative infancy...I don't see much chance of an OS like
you describe grabbing .5%, much less 1%.

The issue of apps will always be an issue. No matter what commmunity you go
to, most people will probably want at least one of a number of popular apps
that won't be on this OS. Some can be reverse engineered or use hidden APIs
but not always. Examples being: Messenger, Whatsapp, Snapchat, most other
messaging apps or video chat apps like Skype or Viber, Instagram (website
doesn't have tagged photos of people or uploading), Pandora, Spotify, Netflix,
Hulu, basically any tv sort of app, most dating apps like Tinder, Shazam, and
any major mobile games.

------
pawadu
I am so sad this project is dead. At the same time, I can't be too sad since
I've found Termux:

[https://termux.com/](https://termux.com/)

Now I can finally ditch the mail app and read all my emails in Mutt ;)

------
quadrangle
The first part says it all. The fact is that the mobile world has tons of
power structures, weird issues across all the various devices, and a level of
tie-in to services that no other format had or has. It's extremely hard to
break into that market given the entrenchment now with all the apps and such
for the two known platforms.

I think this is utterly tragic for society. The only way out involves somehow
coordinating enough people around rejecting the worst of this stuff (e.g.
enough public will to demand that governments outlaw the worst lock-in and
privacy-invasion practices etc.) I'm not hopeful.

------
z3t4
For a platform to succeed you need developers, and developing for the Ubunto
phone was hard to get into, I couldn't find any guides, couldn't order a test
device, etc. If you want to make a platform, you have to start with the
developer experience!

------
fiatjaf
What? There was an Ubuntu Phone and tablet?

