Leveraging the Power of Choice
People have quite varied opinions of Plasma and other KDE software, but most agree on one thing: When it comes to flexibility and offering choice for users, we’re unbeaten! This, however, comes with the danger of overburdening especially novice and casual users of our software with too many options. That fine line between too little and too much choice is difficult to strike. While other companies or communities have decided to opt for giving users what they think is best for them, especially experienced users of KDE software have come to expect a great degree of flexibility. So how can we cater to both novice/casual users and experienced “power-users” with the same peace of software? In many cases the answer is: We can’t. What we can do, though, is offering each group (and there may be more groups then those two) an individual piece of software that works well for them, but not necessarily for the other group(s). Plasma (both the current and next iteration) provides an easy way to do that with different Plasmoids. For the same purpose, we can have one Plasmoid which strives for simplicity and one that strives for maximum flexibility and power. The only catch: It’s currently a bit complicated to switch between the different Plasmoids. You have to go into configuration mode, remove one Plasmoid, search for the new one, and place it where the old one was. This is likely to prevent many users from making extensive use of Plasma’s flexibility, simply because it’s not important enough for them to invest the effort to switch Plasmoids. When the problem of having to strike a balance between simplicity and flexibility came up again on the plasma-devel mailing list in the context of the Digital Clock Plasmoid, I remembered a discussion I had with Àlex Fiestas a while ago about the same topic. He suggested to provide a way to easily switch between different Plasmoids for the same purpose if we know which purpose a Plasmoid serves. I was about to suggest that on the mailing list, but Marco Martin beat me to it with this mail:
interestingly enough, i was thinking the other day that it would be interesting providing in plasmoid desktop files something like X‑Plasma‑Provides=org.kde.plasma.clock that would be similar to the provides keyword in rpms to provide alternatives, so then in the plasmoid config dialog there may be alternatives listed… …but this is definitely for next+1
That was exactly what I had in mind (and I assume Àlex as well), and it would be a great way to leverage one of Plasma’s biggest strengths: Flexibility, which offers choice! Of course maintaining multiple Plasmoids for the same purpose also means multiplied work, but not all Plasmoids have to be created by the core Plasma team. Everyone can write a Plasmoid for a certain purpose, add the X-Plasma-Provides line to the desktop file and thereby plug it right into this system! With this in place, whenever a user complains that a Plasmoid is either too complex or offers too little choice and an alternative exists, we can point them to it and they can easily switch. As Marco said, this feature definitely won’t come in the first release of the next Plasma, but I’m looking forward to it nevertheless and will keep nagging the developers until it’s available 😉 So, dear readers, what do you think about this? Do you think this would help, or should we rather try to create Plasmoids that work for everyone?
It’s happening! Yes, in KDE words are followed by actions, and today I was very pleased to read on Google+ that Marco “the beast” Martin is working on implementing this feature for Plasma 5.1! I’m so looking forward to using this!
Even if you try to create Plasmoids that work for everyone, there will always be people who it doesn’t work for, so having X-Plasma-Provides (or whatever) could be very useful. 🙂
I am totally in favour of your proposal. Now we can switch easily between Kickoff and the classical menu. It would be great if that feature could be extended to arbitrary plasmoids. So please please make this come true.
finally – no more 10 clocks to choose from on the plasmoid selector <3
Actually, I haven’t thought about whether this would affect the Plasmoid selector yet. I think it should still be possible to add a specific clock Plasmoid directly from the “Add Widgets” dialog as some have multiple clocks (e.g. a digital one on the panel plus an analog one on the desktop). We could make it hierarchical so that users could first select “Clock” and then the specific one, though.
Awesome idea! 🙂 This can make life of developers easier.. (Please note this is just my idea)
If one applet have X-Plasma-Provides=org.kde.plasma.clock have in their metadata.desktop file, they will have access to some specific functions that are required for any clock.. This seems to little for clocks but for creating something big like calender, system monitor, task manager etc. 🙂
Example: if applet provides task manager they will have access to tasks model from taskmanager libraries.. 🙂
Wholeheartedly agree with this proposal; it can’t be implemented fast enough, IMHO!
Sorry to debbie down but this still won’t fix the issue KDE has with casual users. KDE is super powerful and with that super easy to break. It’s like a kid moving from driving a car (windows 7 de) to riving a super-charged motor bike. If you do something wrong everything goes to crap. I’m a critic that might not be worth listening to since I don’t contribute anything to the project, but every time I use KDE (last tried KDE 4.11) I log in to this depressing grey and purple style desktop, and want to make it better. I try to make things look the way I’d like them to and at some point or another things just get messed up, and I can’t switch them back. A) it’s frustrating as hell, B) I shouldn’t have to in the first place.
The other problem being that, as you said, there are too many options compared to most other DE’s when you are trying to edit something, or if you right click on something, etc. I imagine one could get used to it, but if you consider the reality of the world that many switch from Windows/Mac to Linux, this won’t be a preferred DE for the casual user.
IMO, what you should be offering is a very simplified version of KDE relative to what it offers now, and then a person has the option to switch to an advanced mode. Instead of double coding programs, just have two option modes – one makes things hard to edit and break, and when you feel limited, switch to advanced KDE (or current KDE as is now) where you can right click on something and get the 15 different options. 😛
I like the KDE technology though and where it’s going, keep up the good work!
What about people who want to fiddle with the details of some parts of their system, but not others?
The “people can break things easily and don’t know how to get back to a working condition” problem is known, but I don’t think it can be fixed by an “all or nothing” approach. Instead, from my point of view, it has to be addressed by several means, one of them being the one proposed here. Another are “ad hoc tutorials” which show people how to revert things in the moment they first change them.
Well don’t use hyperbole though, I don’t mean ‘nothing’ as in, don’t give any options to people, I mean a ‘some things’ option, and then a ‘everything including the bath water’ (‘that’s like blaming owls for how much I suck at analogies” – Britta) option that imo exists today. People could switch from casual mode to advanced mode when they want to edit a specific section and then switch back to casual when they don’t want all the options confusing them.
Anyways, it’s just how I would do it. But I’m not the UX/UI expert. Or willing to contribute, so what I say has little value (like people who complain about free open source projects and then don’t submit bugs :P) Plus the tutorial thing you suggested sounds interesting, it might work, I’m eager to see it in action in the future. What Bhushan mentioned sounds interesting too. I watch with interest because I’d like to start using KDE but I don’t have the time atm to figure it out. Best of luck to you and godspeed!
And that’s where Look and Feel packages come in the game from Plasma Next. Look and Feel packages will allow you to change parts of desktop from same location. So if you mess up settings you can always reset back.. 🙂
Indeed, Look and Feel packages should help a people who want to change the general… well… look and feel of their desktop without messing things up.
[…] Leveraging the Power of Choice […]
[…] February, I wrote a blog post entitled “Leveraging the Power of Choice“, in which I described an idea I had discussed with Àlex Fiestas about making it easy for […]
[…] a principios de febrero, cuando en el blog de Thomas Pfeiffer, sessellift, apareció publicada un entrada comentando una idea que había tenido hablando con el gran Alex Fiestas sobre como hacer más […]