Plasma Mobile on the Librem 5

Sebastian Kügler sebas at kde.org
Tue Aug 29 14:44:10 UTC 2017


Hi Matthias, et al!

On Tue, 29 Aug 2017 15:28:36 +0200
Matthias Klumpp <matthias at tenstral.net> wrote:
> [ Please keep the CC list intact for replies ]
> 
> Hi!
>
> As some of you might already know, we at Purism are planning to
> develop a mobile phone that uses only free software and Matrix[2] for
> communication. We are currently running a crowdfunding campaign[1] in
> order to be able to make the phone a reality.
> 
> One of the open questions for the phone is still which UX we will use,
> and Plasma Mobile would obviously be a perfect fit for this kind of
> project, since KDE and Purism share the same values, the UI is already
> done in large parts, and nothing would have to be developed from
> scratch (especially the Kirigami controls are great!).

Yes, Kirigami has been rather a success story, and we see more and more
applications adopting it. That means that they will work much better
also on mobile devices, such as phones. (It doesn't necessarily mean
that they'll run and work entirely perfectly on a phone, but moves them
from "this is clearly a desktop-focused UI into "small, fixable
niggles".)

> ## Some details about the phone software
> 
> The base operating system of the phone will be PureOS[3], our Debian
> derivative that is currently pending endorsement from the FSF.
> The plan is to use OSTree[4] for the base system, in order to achieve
> atomic updates and easy rollbacks, as well as Flatpaks[5] for
> deployment of applications. It is likely that we will have our own
> Flatpak repository with apps specifically for the phone at some point
> in the future.

Great, this is a direction we've been pursuing as well, e.g. by adding
support for Flatpak to discover, our package manager client (and KDE
Store / OCS client). Discover uses Kirigami as well, by the way, so it
works well on a smartphone already.

> The system will make full use of systemd and will use Bubblewrap[6]
> for sandboxing of selected more critical components.

Interesting, makes a lot of sense. I can't really comment from a Plasma
point of view on this, it's something we need to try and if necessary,
make work.

> Due to the nature of the hardware, we will not need libhybris or any
> Android kernel abstraction, which means that we can run stock Linux on
> the phone, which greatly simplifies development and will allow us to
> develop at a faster pace, due to not being bound to a specific kernel
> version.

That. Is. Awesome. (One of our wet dreams, actually!)

> The downside is that the i.mx6 ARM CPU isn't incredibly fast. We hope
> that we will be able to update to the faster i.mx8 when it is
> available and can be used with free drivers, but at this point in time
> we need to focus on the i.mx6 as primary hardware target.

It would be good to be able to try Plasma Mobile on a development
board and identify performance bottlenecks, then we can evaluate what
it needs to fix these to make it all run fast enough. I don't think we
can sensibly say "well, this hardware is fast enough / too slow" before
we actually try it. In the end, it's software, so we should be able to
make it run acceptably fast.

> ## What we need from a phone UI
> 
> Our scope for this project is limited, in order to be able to complete
> it successfully and not end up in a never ending development loop: The
> phone should be able to communicate via Matrix, have a web browser,
> make calls, take pictures. We are not aiming for a massive amount of
> apps, but instead want the basic functionalities of the phone working
> well when we ship it - more apps and features  can be delivered later
> via Flatpaks and system updates.
> 
> The UI therefore doesn't need to be excessive and support each and
> every feature that Android already has, having a more minimal UI works
> fine.

I think that's a very valid approach. Catching up with Android (or iOS)
in a short time-frame won't work, and it's better and more realistic to
concentrate on a limited feature set and extend from there.

That said, we have a reasonably working shell / workspace UI to launch
and switch between apps, and a bunch of essential system controls, so
we should offer a state which isn't too far from a basic usable system
(except perhaps for Matrix support, but I'd suggest to read Eike's
email, he's our chat goto guy and knows these ins and outs much better
than I do).

I think it would make sense to sit down and look at the delta between
what you have in mind as a basic feature set and what we currently
have, and then evaluate what we need to work on and prioritize based on
that.

> ## Purism and KDE
> 
> While Purism is using GNOME for its laptops by default for various
> reasons, partnering with KDE for the phone does make a lot of sense
> for us, and we are excited about it. There are a few ways we can think
> of how to help the Plasma Mobile team, and this email is intended to
> make first contact and allow you to ask us any questions.
> 
> What we would be interested in is knowing about the future plans for
> Plasma Mobile, especially in the area of design and performance
> improvements. I didn't have the opportunity yet to test Plasma Mobile
> on one of our development boards, but I hope I can get to that
> soonish.

We've been continuously improving our memory requirements (actually
across the whole stack including Plasma desktop), and we will continue
to do that. Bugfixing is of course among our top priorities.

Aside from the obvious, embedded targets (not just phones, but also
mini computers such as ODROID C1+, Pine64, Pinebook are an increasingly
important target for us, so there's more performance work going to come
in that specific area as well.

What we're currently lacking is enthusiasm from people who want to work
at the user interface level. We're running into a bit of a
chicken-and-egg problem here, as we've long lacked viable target
devices for Plasma Mobile, and a platform that only runs on very
specific hardware and isn't at end-user quality (or very, very close)
is not that attractive to many people. We're now really close to having
this problem solved by introducig project Halium, and it's now much
easier to get Plasma Mobile running on more devices. 

https://halium.org/announcements/2017/04/24/halium-is-in-the-air.html

This may not be very interesting directly for the librem5 (you've got a
much better solution to the hardware support problem!), but it may help
us in attracting more contributors.

I think a project such as the librem could attract a lot of interest
from the community, but we need to do a much better job communicating
that. We definitely get a lot of feedback from people that are
interested, and I sense there's a real niche in the market for an open,
hackable Free software phone (especially with privacy as a stated
project goal), but we (esp. Plasma / KDE) need to do a better job at
getting these interested people to actually contribute.

That said, we have a few things planned for our launchers, during a
meeting at our yearly conference Akademy last month, we've identified a
few things that we would like to see improved on our launcher and home
screen. We also want to make the top (drag-down bar) a tad more
light-weight.

The settings app is still rather basic (and that may be fine!), but
it's extensible and code can be shared with the desktop version, which
is undergoing a redesign as we speak.

> It is still not certain yet whether we will ultimately go with Plasma
> Mobile as OS on the Librem 5 (there are also ideas to use GNOME), but
> I think Plasma would be a good choice.

/me, too. Obviously. :)

> So, let's hope for the success of the campaign!
> If you have any questions about Purism, the phone, Plasma on PureOS /
> Debian, life, the universe, everything, please ask!

Would it make sense to get together and look at Plasma Mobile and
Purism's plans, and devise a possible strategy and next steps? Maybe
get together in a video conference with everybody interested in this
project, and see how we can work out common ground and plans, and how
we can kick things off?

Cheers,
-- 
sebas

    http://vizZzion.org   ⦿    http://www.kde.org


More information about the Plasma-devel mailing list