Plasma Mobile’s Vision
We’re currently in the process of designing the first phone user interfaces for KDE applications, applying the KDE Mobile Human Interface Guidelines (a set of soft rules and recommendations for designing user interfaces for mobile applications by KDE). Therefore, the third part of my blog series about the HIG creation still has to wait a bit.
In the meantime, I’d like to talk a bit about another foundation on which Plasma Mobile is built: Its vision. As I’ve already laid out in my blog post about creating a vision for the KDE PIM Framework, a vision is very important to align the work in a project towards a common goal, and to inspire those contributing it. Inspired by the talk Andrew Lake and I had just given at Akademy about product/ project visions, it did not take much convincing to get the Plasma Mobile team to start working on a vision.
Shortly after Akademy, I met online with Sebastian Kügler, Ivan Čukić and Jens Reuterberg to draft a first proposal for the vision, along with potential target personas. The result was then presented to the Plasma mailing list, where it was well received, and consequently adopted with only with minor revisions.
And here it is, our vision for the future which guides the design and development of Plasma Mobile (this does not say when Plasma Mobile will meet these goals):
Plasma Mobile aims to become a complete software system for mobile devices. It is designed to give privacy-aware users back the full control over their information and communication. Plasma Mobile takes a pragmatic approach and is inclusive to 3rd party software, allowing the user to choose which applications and services to use. It provides a seamless experience across multiple devices. Plasma Mobile implements open standards and it is developed in a transparent process that is open for the community to participate in.
These are the four key elements:
1. Control over your data and communication
With most current mobile operating systems and applications, users can only trust those who create them that they will not abuse the detailed and sensitive information that is stored on their devices, and the communication that happens through them.
When installing an app, we can see the – vaguely defined – permissions that the app requires, and – depending on the operating system and version – we can either decide whether to take it as it is or to leave it, or we can block certain permissions. But beyond that, we can never tell what exactly happens with their information and communication. Which files or records are accessed? Where is information stored, and who or what may access it in the future? Where is information sent? Is the communication secure and private? We simply cannot tell. We can only trust others that they do what they say they’re doing.
In Plasma Mobile, we want to change that. We want users to be able to see what happens to their information and communication, to the degree of detail that they prefer. They should be able to allow an application to access some files, but not others, and they should be able to control when and where their information is sent.
We do not want to overburden users with feedback and choices they cannot handle, though. Our aim is to present the information and choices as clearly as possible, and give users a choice only when they want to have one.
2. Pragmatic and inclusive
We are realists. We know that a mobile operating system is nothing without apps. And we know that we, as a community, cannot provide applications for everything that users may want an app for. We aim to provide our own apps for the most common tasks (e.g. browsing the web, viewing common file types, email, calendaring, instant messaging, …) in order to create the most seamless experience possible across them, but the more specialized a task or service, the less likely we’ll be able to provide an app for it ourselves.
For that reason (and because we believe that choice is a good thing), Plasma Mobile won’t exclude any application as long as it’s technically possible to run it (and it’s not malware), whether it was written for Plasma Mobile, Android, Ubuntu Touch, desktop Linux, Sailfish or whatever. If it can be made to run on Plasma Mobile, it’s welcome there!
Pragmatism also means that we won’t keep users from giving up part of the control the system offers them again, by running proprietary applications or accessing services on it which invade their privacy. We will strive to keep those applications as sand-boxed as possible, but we won’t keep users from doing something with their device which we wouldn’t do.
3. Seamless cross-device experience
When using Plasma on multiple devices, we want those devices to feel really integrated. KDE Connect already offers impressive integration between a Linux desktop and an Android mobile device, but with a platform that we fully control, we can still go beyond that (users could fully control their phone from their desktop, for example, or tethering could be made a one-click experience). Your selection of applications or certain settings could be synchronized between your desktop or tablet and phone (yes, that one is not new, other mobile OSes can do that already), or a desktop application can suggest to automatically install the corresponding mobile application on your Plasma Mobile devices (for example when an office suite offers a mobile “companion” for controlling presentations).
“Seamless experience across multiple devices” also refers to the same application binary offering an optimized experience on different form factors through interaction-shifting components (user interface elements which change their look and behavior depending on the type of device) and adapted QML files. For example, while contextual actions are offered using a side-drawer or “slide to reveal” controls on a touch device, the good ol’ right mouse button is much more convenient when using a mouse. Another example is scrolling: On a touch-based device flicking is the best way to scroll, whereas with a mouse, the combination of scroll wheel and a traditional scroll bar still works best. The general layout of content or the navigation structure, on the other hand, can often be kept the same across devices, allowing the user to transfer their knowledge from one type of device to the next.
Yes, we do realize that Plasma Mobile is not the only open source mobile shell. The Android Open Source Project is, as the name implies, open source. Yet, most of its development happens behind closed doors at Google. That means that even though anybody can do anything they want with the end result, people outside Google cannot freely contribute to it or influence any decisions. Sailfish OS has a fully open base, but the user interface layer is still proprietary. Tizen or Ubuntu Touch are perhaps more open, but still mostly in the hands of commercial entities.
Plasma Mobile wants to be different. Even though Blue Systems initiated the development, it is explicitly not a Blue Systems product (otherwise it would probably be called Netrunner Mobile). Blue Systems of course will only contribute their resources to efforts that are in line with their goals for Plasma Mobile, but they will not keep anyone from working towards their personal goals for Plasma Mobile in their own time.
Plasma Mobile was, is and always will be a community project. All of its development happens in KDE repositories where everyone with a KDE developer account has write access, and all commits can be reviewed by the community. All of its components are Free Software.
An equally important aspect of Plasma Mobile is that it uses open standards. Android is Linux, but one only realizes how important the “GNU” part of “GNU/Linux” is to the actual experience of a regular GNU/Linux distribution once that isn’t there. Other mobile operating systems are closer to the stack we’re used to, but still diverge from standards that are or will be well established in the desktop world, like Wayland Display Servers. Plasma Mobile aims to make it as easy as possible for developers who have previously worked in the desktop area to transfer their knowledge (and code).
So this is what Plasma Mobile aims for. Whenever we make important decisions, we will check whether they are in line with the vision. People are of course free to spend their time on things which do not necessarily get us closer to these goals, but we would not allow things which work against them.
Now, I’d love to hear whether these goals are in line with what you’d expect from Plasma Mobile or what we might have missed.
Complete and utter waste of time. Chance of being picked up by any carrier is 0. Doomed to be a tiny niche product installed by maybe a few hundereds of developers on rooted phones.
What a waste of time and resources. KDE has disappeared up its own posterior.
It is not a waste of time at all in my humble opinion, there is no need for it to be picked up by a carrier at all, as far as it’s possible to install it on some good products out there without too much hassle.
The reason is that nothing is as important as consistency and integration, as a desktop Plasma user (or GNOME or whatever) I don’t want to enter a whole new world each time I pick up my phone or tablet, I want them to be in the same ecosystem, consistent and with the ability to connect and integrate, this is the biggest plus of otherwise not very good Apple products, and I believe this is the path that everyone should follow.
And? I’d be fine with that. As long as it suits me, everyone else can do whatever they want.
The progress seen in Plasma Desktop 5 was overwhelmingly thanks to the development efforts done on mobile devices: use of QML, the component packaging, the graphical approach, so many of the individual components … all done there.
This idea that effort is put EITHER into mobile OR into desktop is a *fundamental* misunderstanding of the design of Plasma: it is all one larger effort, with work helping all the form factors.
Your KDE Plasma desktop will be better because of Plasma Mobile, even if you never use Plasma Mobile.
I know this because your Plasma Desktop is already better today because of Plasma Active, even if you never used Plasma Active.
It is so highly ironic that someone who thinks others have disappeared up their own backsides can’t find their own with both hands when it comes to the topic at hand.
Oh please, KDE is in its nth revision now and only just getting past being a bug ridden mess *again*. Half the so called functionality is vapourware or barely implemented. If you live in the kde dev echo chamber then you might think its going somewhere, but its basically a toy.
Given up on waiting/testing/patching activities/akonadi/strigi/baloo/nepomuk/whatever shiny is exciting the devs this month.. They’ll be bored soon enough as once again they discover that last 5% of polish is not only essential, its *hard*.
Have a life to get on with and projects that actually accomplish something to contribute to.
As a user of the KDE desktop, I think the criticisms listed here are unfounded. Its unfortunate you’ve had a “bug ridden mess” experience. While not perfect, I don’t think that it is a fair label of the KDE Plasma desktop.
I agree that it is unlikely that the KDE mobile platform will take the world by storm, but since the architecture making it up is shared with the desktop and tablet bits, further development and optimization really helps everyone. As long as folks are willing to work on KDE and opensource desktops, operating systems, and other software, we should be showing gratitude and not creating a negative and hostile culture.
Thanks KDE, Debian, and other opensource friends!
I don’t agree it’s a waste of time. On the contrary, we *need* some free and open source software stack on smartphones and tablets. This “land” is a desert lacking openness, with each carrier/vendor deciding what the user may or may not do with their devices and then changing the rules (again) against the users.
Maybe Plasma Mobile can continue with the old Plasma Active initiative. At the time it was presented, Plasma Active seemed to have a better user experience than Android, iOS, SailsifhOS, Symbian and Windows Phone. However, the focus should not be to strive to be better than all those proprietary or almost proprietary devices. The main focus should be to have at least one free and open platform where the user and the community are in control. if the UX is better, yet, that would be an added bonus!
I am happy that the overwhelming majority of commenters has a positive attitude about Plasma Mobile!
It’s always encouraging when I see a negative comment about our work being answered by many positive ones.
This is what keeps us doing what we do, thank you!
Tablets don’t usually give a damn about telephony carriers. Might be a good niche. Besides, who would install an alternative OS if they want all the Samsung/Sony/LG/etc and carriers/ bloatware? They will stick to official modded Android Roms.
No, surely Plasma Mobile isn’t for the masses, as isn’t Cyanogenmod, or Linux itself, but who cares?
The vision given here is ambitious goal. However, in a world where technology and even real world life tends to be more and more locked down and your freedom to decide over your life is canalized towards things others can earn money from, it is increasingly important to foster projects like Plasma mobile!
I am sure I will use Plasma mobile when it is finally released! And I am not a developer.
Thanks ever so much for carrying out those objectives ! This is clearly what we need. I’ve just received my first smartphone and am completely shocked people were led to accept and encourage this.
I hope this was not discussed/decided in that Blue Systems only sprint you had recently.
Don’t worry. I’ve published this blog post from the Blue Systems sprint, but the vision draft was created on IRC last year where everyone who wanted could participate, and then the proposal was sent to the Plasma mailing list for input. I just got around to writing this post only now, that’s all.
Pretty awesome vision. As long as the hardware is supported, I’d be fine installing KDE on a tablet. I love KDE applications and the KDE HIG/philosophy.
What I would love to see get some love is the following (and I’ve seen some blog posts on this, but I don’t think it’s been implemented yet):
-I have a convertible laptop. I’d like for it to function like a tablet when I remove it from the keyboard – support flicking, etc all the stuff you spoke of above for tablet paradigm.
-It also has a 10″ screen. If I plug it into a monitor via HDMI/DVI/DisplayPort, now it might be on a 20-30″ screen. I want Plasma to know this and make changes accordingly. One of the things I’ve hated about netbooks and small screens is that sometimes dialog windows or other interface elements are too big and impossible to use on a netbook.
I admit that we’ve fallen behind a bit in the race to convergence. Plasma was the first to have the technological foundation for it ready, but then got overtaken for the moment by Ubuntu in the actual implementation. We can still take back the lead, though, if we put more effort into it.
Let’s see what happens on that front in the future, when we put our technology to action.
Something I’ve not seen mentioned anywhere but I suppose it follows from point 3:
The cross-device paradigm should probably also apply to remote desktop like functionality/remote wayland: that is if the device that connects to the remote app is mobile it should get a mobile UI, but if it is a desktop it should get the desktop flavour, and if you switch (e.g. when you dock your phone or when you disconnect the keyboard from a surface like tablet).
We have not thought about remote desktop sessions yet, tbh, but regarding docking a phone, see my reply to Eric above.
Hm, well, that’s pretty decent. But some points for each of the parts:
1) That sounds like AppArmor? I’d be fine with that, but making it more user-friendly sounds challenging.
2) That’s nice. Especially the integration with the rest of the GNU/Linux is important.
3) The idea is nice, but the image there… Uhh… It’s a bit unfortunate. For one, Akregator on desktop does not look like that (and I wouldn’t want it to look like that, the controls are way too large and there’s too much wasted space overall). For another, the tablet image makes the desktop one look like a pinnacle of space conservation. I assume the idea is that it slides out somehow?..
4) That is also nice. Mind you, there are also projects like Mer/Nemo, which are also community-based.
Generally my interest in this topic comes from the fact that I have a tablet. Plasma Active was nice, though it didn’t run all that well (the tablet is Poulsbo, so no acceleration is available; PActive worked fine with compositing disabled, but it looked terrible, white on white). I’m hoping that Wayland + QPainter would solve that problem.
Also note that the tablet has a stylus. And I like to connect a keyboard to it. Which then makes it more similar to desktops.
1) Sandboxing will very likely play an important role there and yes, finding a user-friendly way for sandboxing will be challenging, but I’m sure we’ll find a solution.
2) Thanks 🙂
3) You are right, the image is unfortunate in this place. That mockup was actually just an example for how far simply scaling UIs up could take us vs. actually optimizing UIs for each form factor. It was never meant to be used in this context, I just took it because I didn’t have anything better at hand. Maybe I’ll come across a better image, or I’ll just use a stock photo here as well.
4) Mer is the “fully open base” of SailfishOS that I mentioned, but the only open source UI layer for Mer that I’m aware of is Nemo, and I have not seen any development on that since 2013, so it sadly looks pretty dead to me right now.
Love the plan, my only fear is that the KDE slogan “Simple by default, powerful when needed” (in my case with emphasis on powerful, when it comes to accessing and manipulating data) is being omitted in this plan. For me this slogan encapsulates the true spirit of the community and acts as a strong beacon for the community to stear towards in the long term. Plasma is at the moment the only desktop that promises anything in the powerful category. The only example that I can come up with at the moment would be that i can not copy any text from the network-manager applet details section. I hope that I will be able to copy text where I find it, in the future Plasma desktop. and that I will not have to do like on Android when i receive a sms/telegram where I need to copy some text from it.
[…] Plasma Mobile’s Vision […]
I get a warm, fuzzy feeling of pride every time someone uses the tagline I created 🙂
But in all seriousness: You have a point! We didn’t mention our mantra explicitly in the vision because it’s underlying all the design we do anyway, but it might make sense to add it explicitly for those who are not aware of it yet.
[…] versión para dispositivos móviles y táctiles, smartphones y tablets. Si os interesa el tema, en este artículo ahondan en […]
“We do not want to overburden users with feedback and choices they cannot handle, though. Our aim is to present the information and choices as clearly as possible, and give users a choice only when they want to have one.”
Ok, but, KDE’s spirit shouldn’t be lost, and choices for power users should be kept, and let them decide when they want to have one.
The privacy thing… Well, has been KDE ever paid serous attention to this subject? See this thread in KDE’s forum, it seems that Kmail isn’t the most recommendable privacy saving app; and if Kmail is such a “leaker”, are we sure other KDE apps aren’t?:
I think it may be time to rewrite some code to really be serious about privacy.
Amazing and exciting project, anyway. Eager to see when I can start playing with it in some of my “old” (Android Jelly Bean times) devices. 🙂
There is a reason why I wrote “only when _they want to_ have one”, not “only when _we think_ they should have one”. As Kjetil already mentioned, our mantra is “Simple by default, powerful when needed”, after all. 🙂
Some people may want full control, some may need no control at all, and presumably the vast majority are somewhere in between, wanting more control in some situations but needing less in others.
If you throw – as Jens Reuterberg would say, “a metric feck-ton” – of questions into people’s face in situations when all they want is to send a message without giving a damn about who may read it, the only effect you’ll have is that they stop using your software. Yes, even “power users” are annoyed when software asks them questions in moments when they don’t want to answer questions.
Choice and control is good, but is has to be presented on the user’s demand, not mandatorily.
About KMail and privacy: The unneeded headers which KMail sends are indeed problematic from an anonymity perspective, but that doesn’t mean that KMail does not care about privacy, and it certainly doesn’t mean that KDE as a community does not care about privacy. Anonymity and privacy are not the same. Anonymity is just one aspect of privacy.
KMail has seen direct contribution from the Bundesamt für Informationssicherheit (the German Federal Office for Information Security) in the area of email encryption, and it offers more options for email encryption than most other email clients. So if protection form eavesdropping is an aspect you care about more in your email communication than anonymity, KMail actually _is_ the email client of choice.
KDE is currently working on a vision for the whole community, and it looks like privacy will likely be one key aspect of that vision. If that aspect is indeed part of the final vision, you can point to the vision when you file a wishlist item for KMail to be more conservative about sending unneeded headers, and the wish will likely get granted.
During the development of the mobile Kube email client, we will make sure that privacy will be at its heart, but its developers have already told us that privacy is very important to them, anyway.
I’m happy that you’re excited about Plasma Mobile, and rest assured that privacy protection is not just an empty phrase for us, but really a distinguishing feature!
‘There is a reason why I wrote “only when _they want to_ have one”, not “only when _we think_ they should have one”’
Oh, LOL. Sorry, I understood that “they want to have one” like when somebody writes “you don’t want to do blablablah…” in the sense that you are having a hard time if you do that they talk about. My apologies; and glad to verify KDE’s spirit of not treating users like kids will be kept on Plasma Mobile. 🙂
Mail encryption is doubtless a need for any privacy concerned user, sure, but fingerprints can be obtained without being able to read the emails’ bodies.
I’m not registered in bug tracking systems. I was in the last times of KDE 3, and some feature requests and bugs I reported never were taken in consideration (some others were, I’m not bashing KDE developers), even if other users had reported them (I reported again since the other bug reports were dead, some were even 9 years old in the times I reported them again and had never been solved nor had got any new comment for years), then I quitted KDE, when all the evolution to KDE 4 and its subsequent inestability and incompleteness (I needed my computer for work, so I couldn’t bear with all those crashes and malfunctions, but on the other hand I wanted modern features), and moved to Gnome; then I tried Plasma 5 and started to fall in love with KDE again. But to be honest I feel lazy about creating an account on BKO, take care in writting clear and precise bug reports, install, and manage all that backtrace (was it called something like that wasn’t it?) software, and all that stuff… I don’t know, it would probably take me only a couple of afternoons to “actualise” myself in regards to this… Well, perhaps I should do the effor and contribute a little to improbe Plasma. Yes. Let’s see if one of these days I feel like doing it.
Anyway, love to read that you gouys are taking privacy/anonimity serously. 🙂
I’m also intrigued about how will PM manage permissions. If you use a rooted Android with the Xposed framework and Xprivacy module, it’s “scaring” how many permissions use apps, even those supposedly “respectable” like Firefox, Owncloud client and amost every app, even the open source ones; permission to read your memory card serial number, the SSIDs near you, even if not yours, you SIM serial number, well, a rather scaring list:
But, don’t worry, I don’t want you to answer to this, hehe, I know it is probably a rather prolix matter and PM is still at a very early stage. Let’ wait for it to be more polished.
Thanks for your time and your great work, :); and I suggest you to add a donate button on http://plasma-mobile.org I’m sure many potential users like me would be happy to contribute.
“Oh, LOL. Sorry, I understood that “they want to have one” like when somebody writes “you don’t want to do blablablah…” in the sense that you are having a hard time if you do that they talk about. My apologies; and glad to verify KDE’s spirit of not treating users like kids will be kept on Plasma Mobile.”
It’s sad that users have become used to being treated like that. While there is always a trade-off between customizeability and keeping the config UIs manageable, we never want our users to feel as if they’re treated like kids. Well, as far as I’m concerned, even kids shouldn’t be treated the way our societies treat them 😉
About the bug reporting: You only need a backtrace if you’re reporting a crash. Reporting a wishlist item asking for KMail to stop unnecessarily revealing information only needs an understandable description of the problem, that’s all. There are no technical requirements for you other than running KMail.
Therefore, I’d really encourage you to give it a shot. It’s one of the easiest ways to contribute to a project, and constructive bug reports are always appreciated (even if not all bugs can be acted upon due to resource constraints).
About permissions: Yes, that’s a very complex thing to design. I see a major reason for the “permission creep” in Android applications in that they are too broadly defined. Often a developer may need only one permission from a set, but they can only ask for the whole set. We’ll need a more fine-grained permission system, and also the same level of transparency that you get with the tools you mentioned on Android by default.
On the other hand, the funny thing is: It’s only on mobile operating systems that users even have a chance to notice which applications want access to what. On X11, every running process can freely access all of your data, everything your user can read is up for grabs without you noticing.
Martin Gräßlin is spearheading efforts to improve that situation with Wayland, however, and since Plasma Desktop and Plasma Mobile run on the same userland infrastructure, all efforts to improve privacy on the desktop will benefit mobile and vice versa. That’s the beauty of it.
“Thanks for your time and your great work, :); and I suggest you to add a donate button on http://plasma-mobile.org I’m sure many potential users like me would be happy to contribute.”
Now, if that isn’t something we love to hear 🙂 I’ll forward your suggestion tot he people in charge of the website!
If you want to have a really usefull show-case app (like a native phone, short-message, or network-manager app) there is a Hacking weekend where you could, for example, present kirigami.
4 & 5 June 2016 in Munich, Germany
Ideas, experience, and you are very welcome. The idea is to convert qt apps from the device specific qt-moko distribution (running only the “GTA04 phone”) into generic qt-5 apps that will be part of the debian powered OS running on free mobile phones (gta04 and Neo900), the “pyra” handheld https://pyra-handheld.com/boards/pages/pyra/) and on the tablet/laptop/desktop. See project page if you need support with travel expences.
Thomas, could you please pass this on in the QT/KDE mobile/desktop community?
thank you for pointing this event out to us! It indeed looks like an interesting project from the Kirigami as well as Plasma Mobile perspective!
I will spread the word to the Kirigami and Plasma Mobile teams and we’ll see if we can get some people over there!
thanks for passing on Thomas. Great, the idea is to make the weekend as productive as possible, thus coordinating the goals of all interested people and getting started with build-evironments etc. for everyone *on the mailing list beforehand* 🙂
[…] https://sessellift.wordpress.com/2016/01/22/plasma-mobiles-vision/ […]