The strategic advantages of Phosh for mobile Linux
#1
[Image: renderTimingPixel.png]My thoughts on why Phosh is important:
https://amosbbatto.wordpress.com/2020/08...-of-phosh/


Feedback is welcome.
#2
Seems very Librem5 specific. I agree that at the 2017 point in time the mobile UIs for Linux were all in a sorry state and the only viable option (back then Ubuntu Touch) had too much uncertainty around it.

However now the situation is a bit different and with some more broader strategic thinking (albeit it being a bit more risky) this could have been foreseen and influenced back in 2017 as well.

IMHO right now both stand alone Lomiri and Plasma Mobile are probably the better options, that also build on mostly upstream components, but ones that are much more suitable for mobile use than desktop focused GTK3/GNOME. Yes GNOME looks like a mobile UI, but other than that it isn't and the main developers of it have no stake in mobile Linux.

But having more different UI options isn't really a bad thing per se, the bigger issue is IMHO the fragmentation of the app ecosystems. And while there is reasonable hope that at some point qt apps will work interchangeably on Lomiri, Plasma-Mobile and SailfishOS based mobile Linux, Phosh stands alone in the GTK space (and loading both GTK and qt as on Desktops isn't such a great idea on mobile devices).

However, how the mobile Linux app ecosystem will develop is still an open question. For example I still think HTML apps as used in KaiOS/B2G and Tizen could play a bigger role and with Flutter/Dart being pushed into the (desktop) Linux space things could also get interesting on that front.
#3
Purism is currently only paying 7 developers to work on the Librem 5's software, yet they are managing to create a viable mobile system, which is a good indication that Phosh using an existing desktop stack (GTK/GNOME) is the right strategy for producing mobile Linux with the least amount of work. Given that it can easily be included in every desktop distro, it is also the right strategy for getting adopted by all the major distros.

KDE Plasma Mobile is the second best strategy, in my opinion, but it has to worry about maintenance of its mobile stack, and it has a lot of separate mobile apps to maintain, and it will be harder to convince the major distros to adopt it.

I honestly don't think that Ubuntu Touch and Lomiri are viable options in the long term, due to the lack of code commits over the last 3 years. UBports is going to have to attract a lot of new committed volunteers to maintain their codebase, and I'm skeptical that it will happen. UBports has the right strategy in trying to get its packages into Debian and trying to create an active community, but it is going to be an uphill battle.

If you are volunteer programmer that wants to spend 10 hours per week working on mobile Linux, I think that it is far more likely that you will chose Plasma Mobile if you are a Qt programmer or Phosh if you are a GTK programmer, rather than UBports. Volunteers programmers will look all that unmaintained code and see desktop distros adopting Phosh and Plasma Mobile and decide to put their time into a system that looks like it will become successful. KDE and GNOME already have hundreds of programmers that contribute to the projects, so it is a natural extension for those same programmers to extend their work to mobile, but jumping into the Ubuntu Touch and Lomiri codebase which is siloed code is a much less attractive option for volunteer programmers.

Maybe I will be proven wrong, but my prediction is that KDE Plasma Mobile is guaranteed to be a long-term success, because it already has enough volunteers to always maintain it. Phosh is less certain, because at this point it still depends on Purism, whose finances are shaky. However, if Purism can get Phosh to a good enough state, it is going to become the default mobile interface for most of the current users of GTK/GNOME software because most desktop distros are going to adopt it, and every maintainer of GTK/GNOME software will have a very strong incentive to work on incorporating libhandy, especially once it becomes part of GTK 4.

As new companies jump into the mobile Linux market in the future, I bet that they will chose either Plasma Mobile or Phosh, because they will look at the number of code commits for UBports, LuneOS, Nemo Mobile, and Maemo Leste and decide that they aren't being well maintained, and they won't want to deal with the proprietary bits in Tizen and licensing fees for Sailfish OS.
#4
(08-16-2020, 09:52 AM)amosbatto Wrote: I honestly don't think that Ubuntu Touch and Lomiri are viable options in the long term, due to the lack of code commits over the last 3 years. UBports is going to have to attract a lot of new committed volunteers to maintain their codebase, and I'm skeptical that it will happen. UBports has the right strategy in trying to get its packages into Debian and trying to create an active community, but it is going to be an uphill battle.

I think you are looking at the wrong repositories for Ubports. Their structure is a bit of a mess with stuff on Github and Gitlab, but they are far from inactive. Might not be pre-2017 Canonical levels of development, but it really isn't too bad.

But I agree in so far that the whole of Ubuntu Touch is too much for a small community project to manage, as it isn't only an UI, but a full mobile operating system quite diverged from standard GNU-Linux already (about half-way to something like Android IMHO).
But just looking at the UI Lomiri and recent efforts to get it in Debian and to run it on Arch/Manjaro makes me quite optimistic that it might not be necessary to maintain the full stack of Ubuntu Touch.

But as implied above the real elephant in the room is the qt / GTK issue. Yes there are some issues with qt, but it is designed to run well on mobile and embedded devices and there is already a good catalogue of mobile apps running on qt. GTK on the other hand isn't optimized for mobile AFAIK and the main developers (Red Hat) have not much stake/interest in mobile or embedded Linux. And I personally doubt that trying to get desktop GTK apps into a mobile form factor via libhandy is the right way forward.
#5
(08-16-2020, 11:15 AM)poVoq Wrote: I think you are looking at the wrong repositories for Ubports. Their structure is a bit of a mess with stuff on Github and Gitlab, but they are far from inactive. Might not be pre-2017 Canonical levels of development, but it really isn't too bad.

UBports' Gitlab account seems to have other things on it that are different than its Github account. If I look at UBports' Gitlab account, I see 32 completed code commits in "Core" since April 3, 2019. I see mainly bits that are needed for Lomiri in "Core".

Quote:But as implied above the real elephant in the room is the qt / GTK issue. Yes there are some issues with qt, but it is designed to run well on mobile and embedded devices and there is already a good catalogue of mobile apps running on qt. GTK on the other hand isn't optimized for mobile AFAIK and the main developers (Red Hat) have not much stake/interest in mobile or embedded Linux. And I personally doubt that trying to get desktop GTK apps into a mobile form factor via libhandy is the right way forward.

I don't see Phosh at that much of a disadvantage in terms of apps. Phosh supports both GTK and Qt apps, plus web apps. Purism has already adapted about 15 desktop GTK programs to run in Phosh, so it can't be too hard to add libhandy classes to existing GTK software and tweak the interface for Phosh. Given that both UBports and postmarketOS have added Anbox, I think it likely that all of the mobile distros running phosh will eventually include Anbox to run Android apps. UBports' OpenStore is currently ahead of Plasma Mobile and Phosh in terms of the number of apps, but both of them are going to catch up, and they are going to have a lot of developers working on adding Kirigami to Qt applications and libhandy to GTK applications.

Yes, Qt and KDE are currently better designed for mobile, but the fact that GNOME accepted libhandy, Calls and Chats as official GNOME projects and has included Hildon for the last decade, shows that GTK/GNOME is not opposed to becoming mobile. In terms of corporate support, IBM/Red Hat just announced that it would end support for KDE on RHEL in 2024, so it is pretty clear that IBM/Red Hat won't be contributing much to KDE in the future and Canonical has never contributed much to KDE. SUSE still cares about KDE on the desktop, but SUSE doesn't care about Plasma Mobile. Phosh is now part of both Fedora and openSUSE, which makes it more likely that the management of IBM/Red Hat and SUSE won't be opposed if their programmers decide to work on making their projects run in Phosh.
#6
I just wonder why Purism didn't adapt vanilla Gnome. It's working quite well on my Pinephone with only small annoyances. But many big features missing from Phosh just work there.

I feek like that's a problem with Plasma Mobile as well, although on a smaller scale. The desktop versions of many environments already work quite well. They would just have to be polished a little bit. Instead we have two competing versions, each with their own issues.
#7
(08-18-2020, 03:13 PM)Boern Wrote: I just wonder why  Purism didn't adapt vanilla Gnome...
The desktop versions of many environments already work quite well. They would just have to be polished a little bit. Instead we have two competing versions, each with their own issues.
GNOME Shell wasn't designed to be a mobile interface. It is very processing heavy and uses too much RAM and too many CPU and GPU cycles for a mobile phone that needs to be energy efficient. The amount of work to make GNOME Shell work as a mobile interface is probably more than simply creating Phosh from scratch, and Purism probably would have had a lot of conflict with the GNOME developers if it had tried, so it would have to fork GNOME to do it.

Can you be specific about what works in GNOME, but doesn't work in Phosh?
Purism's goal is to not create separate mobile applications, but to add to code upstream to existing GTK desktop software so it can run in Phosh. Phosh and GNOME have the same software stack for both desktop and mobile and use many of the same applications, but they will have different interface shells, which should reduce the work to maintain them.
#8
(08-16-2020, 11:15 AM)poVoq Wrote:
(08-16-2020, 09:52 AM)amosbatto Wrote: I honestly don't think that Ubuntu Touch and Lomiri are viable options in the long term, due to the lack of code commits over the last 3 years. UBports is going to have to attract a lot of new committed volunteers to maintain their codebase, and I'm skeptical that it will happen. UBports has the right strategy in trying to get its packages into Debian and trying to create an active community, but it is going to be an uphill battle.

I think you are looking at the wrong repositories for Ubports. Their structure is a bit of a mess with stuff on Github and Gitlab, but they are far from inactive. Might not be pre-2017 Canonical levels of development, but it really isn't too bad.

But I agree in so far that the whole of Ubuntu Touch is too much for a small community project to manage, as it isn't only an UI, but a full mobile operating system quite diverged from standard GNU-Linux already (about half-way to something like Android IMHO).
But just looking at the UI Lomiri and recent efforts to get it in Debian and to run it on Arch/Manjaro makes me quite optimistic that it might not be necessary to maintain the full stack of Ubuntu Touch.

But as implied above the real elephant in the room is the qt / GTK issue. Yes there are some issues with qt, but it is designed to run well on mobile and embedded devices and there is already a good catalogue of mobile apps running on qt. GTK on the other hand isn't optimized for mobile AFAIK and the main developers (Red Hat) have not much stake/interest in mobile or embedded Linux. And I personally doubt that trying to get desktop GTK apps into a mobile form factor via libhandy is the right way forward.

Can't wait to run Lomiri on Arch Linux or Debian. Currently it seems to not be upstreamed yet within the package managers of the OS which means to try it I would have to build an image from the ground up with Arch/Debian and Lomiri..
#9
Thank you for linking this essay into the forum !

Very interesting.
#10
(08-24-2020, 05:55 PM)amosbatto Wrote: Can you be specific about what works in GNOME, but doesn't work in Phosh?

Autorotation, volume keys with a gui and not so long ago notifications. And I think Gnome has startup feedback.


Possibly Related Threads…
Thread Author Replies Views Last Post
Question Mobile Carriers 67comet 29 6,129 07-14-2021, 11:47 PM
Last Post: rocket2nfinity
  Intermittent Mobile Data csmgj7 4 209 07-13-2021, 03:28 PM
Last Post: Nutmeg
  Manjaro Phosh Beta 10...how to get button labels on Angelfish? INSTRUCTIONS WITHIN patrio 4 798 06-11-2021, 07:10 AM
Last Post: patrio
  T-mobile USA region celluar issue FOSSagent0 6 1,007 06-07-2021, 06:02 AM
Last Post: FOSSagent0
  New Zealand network providers mobile data Linux2thabone 2 646 04-30-2021, 07:54 PM
Last Post: Linux2thabone
  Newbie - Arch Linux - Carrier Info - Thoughts mikehenson 2 455 04-27-2021, 04:39 AM
Last Post: Danct12
  LG is shutting down their mobile production daniel_mazurkiewicz 4 760 04-07-2021, 05:16 PM
Last Post: dsimic
  Problems updating KDE Plasma Mobile OS IMSAI8080 1 526 03-07-2021, 01:12 PM
Last Post: mark1250
  Mobile Data, KDE Community Edition and pinephone-modem-setup plaristote 1 613 02-15-2021, 10:59 PM
Last Post: C0ffeeFreak
  What is the difference between mobile networking across the following appetizingard1ark 1 467 02-14-2021, 12:47 PM
Last Post: xalius

Forum Jump:


Users browsing this thread: 1 Guest(s)