tl; dr: VDG is not a single entity with “official” decisions or something different from what KDE is: everyone is responsible for his/her actions and words. Recent Martin Flöser criticism about small changes with less global vision is true.
VDG (originally Visual Design Group, now just V Design Group) was created by Jens Reuterberg during the KDE4-Plasma5 transition, it included experts from different areas and they did a great work, with a solid and coherent vision about UI/UX. Since KDE4 times, developers did an awesome work both implementing visual and usability changes and improving Plasma’s performance and stability.
Since then VDG changed a lot, losing contributors and acquiring others and because of the great work done with Plasma, developers of other KDE software started to ask for VDG’s input. We didn’t have good organizational skills, and I know we lost a great contributor just because following VDG’s discussions became impossible. More people joined discussions on Telegram groups and the small-fixes phase began.
Since the beginning sentences like “VDG said…” made little sense, but considering what VDG is now, they are totally nonsense. At the moment there isn’t a list of “VDG members”, VDG happens to be just a set of groups where people mostly discuss visual and usability issues. It’s OK, KDE definitely needs it, but sometimes developers forget it (or just try to get an “official” response to pass responsibility to an entity that does not exist) and we still get replies like “but months ago VDG said…”. VDG did not say anything, it just happened that someone helped developers on one issue, now that person is not around and somebody replied something different on the same topic.
What can we do to improve this? Following discussions I found some patterns that should be avoided by both developers and other contributors:
- a developer asks for VDG input in VDG group, someone with no knowledge about the matter (most of the time the needed knowledge is: HIG, previous discussions about the issue, solutions provided for similar issues) shares his/her opinion and in the worst case it’s taken as an “official” reply. We have (had?) project maintainers for different areas, those should be pinged, but sadly some of them are not around anymore. While new enthusiasts’ opinion is welcome, they should be better introduced to KDE’s recent history and decisions.
- about reverting changes, here there is a patter that often happens to me: I propose X, someone else proposes Y, then developers implement an “Y-ish X” and I agree appreciating that my opinion matters, but after a while the “Y-ish X” doesn’t work and I suggest that Y would be better. It seems I changed my idea but I didn’t: I still think that X is better than Y but Y is better than the Y-ish X.
- on small changes against big picture: here Martin Flöser is really right, while I don’t know the topics he’s referring to because the areas I care about and the ones he’s responsible for do not intersect, some changes have been made without I was able to notice (and I think it happens to most of us, since we are hobbyists) and without caring of the effects on the big picture. This is true for Kirigami, where adapting things incrementally overshadowed Kirigami’s principles, which were layout responsiveness, UI morphing between form factors and input types, controls at the bottom on phones for reachability, space for content and less use of chrome. Revisiting these with statements like “if you want an ergonomic phone buy one with smaller screen” is not acceptable at this point. New contributors must know the principles we agreed on.
- fragmented discussions and no traceability of decisions: here the solution is simple, let’s use Telegram groups or other channels for quickly discussions with people around and be sure that every important thought is on Phabricator, discussions organized on tasks or reviews. Be sure to follow/use VDG tag on Phabricator to get updates/ask for feedback and share the link in the right group/channel if needed.
- about involving developers into VDG discussions: many of them joined Telegram but most don’t because of obvious reasons. I must say that I suggested to VDG to switch to Telegram from Google Hangouts when Telegram just released its shiny desktop client and the experience was really better compared to Hangouts. Most of our Telegram groups are bridged to IRC but with a poor experience. There was a big discussion in KDE about switching away from IRC for something else and since the best alternative, Matrix, is already bridged to Freenode with zero maintainance needed we basically agreed on using both IRC and Matrix: everyone uses what he/she prefers. What to do with Telegram groups? My suggestion is keeping just the groups intended for users and make contributors switch to Matrix/IRC, with most of the important discussions happening on our infrastructure, Phabricator, organized in tasks (Maniphest), reviews (Differentials), and mockups (Pholio, yeah Phabricator’s app names are terrible but hey, still better than use Microsoft GitHub).
Thanks for reading.