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!