Open source user experience

Celeste Lyn Paul celeste at kde.org
Thu Feb 19 00:34:06 CET 2009


On Wednesday 18 February 2009 03:39:54 pm Aaron J. Seigo wrote:
> On Wednesday 18 February 2009, Celeste Lyn Paul wrote:
> > On Wednesday 18 February 2009 02:09:11 pm Aaron J. Seigo wrote:
> > > On Tuesday 17 February 2009, Michael Rudolph wrote:
> > >
> > > honestly, we're lacking a couple of critical tools to really start
> > > bringing designers in en masse; plasmate is a step towards addressing
> > > that, but certainly can't/won't be the whole answer.
> >
> > Plasmate won't solve the people problem, it just provides a more useful
> > design tool to work with UI elements than Qt Designer.
>
> the reason i brought it up is that if we bring in designers of various ilk,
> but have few or no appropriate tools for them to use, it becomes a lot
> harder to sustain any sort of activity. it's a lot more useful when people
> can get directly involved versus talk at the people who are empowered to be
> directly involved.

Open source tools, right. There really aren't any and Plasmate will certainly 
be useful. However, there *are* other tools that most designers are using, so 
even if they aren't open source, they have resources. At the most basic level 
OO Presenter will do most of the work. High-level prototyping tools are 
useful, but not a necessary requirement to do useful design work. 

I rarely deliver high-level mockups to clients. I usually have no reason to 
paint something because a wireframe is usually enough to get the layout across 
and aesthetics are what the Oxygen team does (we had a good example of that 
this morning).

> > To me, Plasma
> > feels like a very exclusive team which is difficult to get in to.
>
> how does it feel that way?
>
> from my perspective, we have this plugin based system and a wide open
> playground where nobody has to ask permission to do anything.

That's technical participation. I'm talking community participation in the 
sense of getting involved in the design and decision-making process. 

> > There is
> > a small set of people working on an influential part of the environment,
> > but if you aren't developing Plasma widgets then you don't get to join.
> > If
>
> first, there will always be a small set of people. design does not work
> with 100 people sitting around the table searching for consensus all day.

I was not implying design by committee. We *are* discussing how to get more 
designers involved, no? All I'm saying that getting involved is difficult. I've 
been working with KDE for 5 years and I still think it is hard to participate. 
Imagine how difficult it must be for new designers, especially those with 
limited experience and exposure to open source developer culture.

> that said, which widgets do you feel "locked out of"? i mean, to be
> perfectly blunt, i haven't actually seen much input from others,
> particularly of the well informed sort, and that certainly isn't because
> there are barriers drawn around the widgets.

I'm not talking about the software (which I have been involved with), I'm 
talking about the design process on the conceptual level. 

> the tasks widget has had multiple authors that have taken it completely
> different directions. ditto for the system tray, and i'm sure there are
> other examples. that things can maintain some homogeneity in the process is
> a bit impressive, but it's not indicative of closed-walls dev.
>
> so there's evidently a human interface issue here (of the wetware sort).
> what are we doing to communicate to you that it's a closed city?
>
> > other people wanted to rethink high level concepts such as windows and
> > workflows, how do they do that when all of the creative thinkers are
> > locked in a room together?
>
> plasma isn't a room. it's a practical project for a bigger mindset.
> practical projects are absolutely required, otherwise nothing useful
> happens. reinventing every KDE app is just too big of a project to chew on;
> some would say we barely made it with just "reinvent the desktop code
> base".
>
> obviously, this isn't the "right place" to discuss, say, dolphin. there are
> some natural limits to the scope here, but they do extend to pretty much
> anything that's "desktop shell".
>
> so that said, if you want to rethink high level concepts such as windows
> and workflows, you are welcome to do that here.

So to get back on track here. Discussion begins about bringing more UX to KDE, 
namely how to do that. Plasma obviously has been doing that, but now it needs 
to get out to the greater project. So discussing things such as windows and 
workflows here is not appropriate because all it does is propagate the idea 
that Plasma is trying to take over the UX of KDE. (Which is a problem to a 
point you make later). 

The point of my statement was that Plasma is pretty much the only place with 
creative thinkers (plus Oxygen of course). Sure, people can subscribe to the 
list and maybe take an out of context tidbit away, but that doesn't work. Just 
because the information is free doesn't make it useful. 

So I guess there are 2 problems:

1) how to get more designers involved
2) how to propagate the high-level thinking necessary to do UX throughout KDE

> > Lately, I've been feeling there is Plasma on one side of the wall, and
> > then there is me with what's left of the usability project on the other,
> > with Nuno and the Oxygen team straddling the wall for random bits of UX.
> > I do my
>
> can you describe this wall a bit more? (so that we can address it)

I don't see where I can fit in, yet as the design hub of KDE, you would expect 
this is the place to be for an interaction designer. Plasma has the 
developers, because they make things happen, and then there is Oxygen and they 
make things pretty, but where does interaction and interface design fit in? I 
haven't been able to figure that out.

Design also goes from the thought bubble conceptual level to the code level. 
There is no design stage, which is the only stage I can really do anything at 
except for maintenance. Which maintenance is terribly boring. Sure, widgets 
and labels need tweaked, but junior-level design is a waste of my time when it 
is something someone else can be doing and I can be doing something else. If 
there is a major conceptual problem with the app, by maintenance it is too 
late to do anything like a rewrite. People just try to patch it until a whole 
lot of users complain.

> > best to help the developers who come to be with help, but it's not too
> > creative and limiting without team members.
>
> you're looking for a UX team that's dynamic and growth driven like the
> plasma team?

Yes, isn't that the point of the thread? How to get more UX in KDE?

> > You've probably noticed my
> > involvement with Kubuntu has increased over the past year in addition to
> > my other KDE work. The simple reason is that it allows me to get involved
> > in shaping the user experience more than KDE does.
>
> on the one hand, there's often a lot more of a cavalier attitude downstream
> for such changes. after all, if they don't say anything, the users just
> blame us upstream. as such, there's rarely as much care or concern applied
> to changes in our downstreams. it's more like "sure, whatever, let's do it
> that way and ship it. why not?", while we tend to try and think through
> things a bit more thoroughly. that means we move a bit slower, though
> really not so slow as to be anywhere near annoying or counter productive.
>
> other than the pace of making these type of decisions, i'm not sure what
> the differences are. perhaps you can provide some more details.

The pace is certainly an issue, but it's also about how the vision of the 
project is managed. Although the group is smaller (which probably helps) we 
occasionally take on a role that sits at that high conceptual level and take a 
top-down look at how all the pieces are working together and how they can be 
improved.

For example, if we would want to look at something like printing, we would 
look at all of the components involved in printing, decide on a solution, 
implement it, and submit patches/software upstream. If there are problems to 
solve that are too difficult for us to solve, we will then contact upstream and 
see what they say. But the expectation is that entire printing experience 
evolves cohesively and we have control over any independent variables.

To do something like that in a distributed project like KDE is extremely 
difficult. Each of those components is virtually "owned" by a different group, 
and so you have to find the maintainer for all of those parts, talk with them 
about your changes, submit the patches or make changes depending on if they 
want to do what you decided, revise the top-level design if there are any 
changes in the component proposals, and hope to god that each project commits 
the proposed changes, otherwise you end up with a mish-mash of changes where 
some components got updated, others didn't, and the possibility for 
inconsistency or cognitive dissonance.. I hope you can see how that's much 
more difficult.

Another more positive example of down->upstream is that when you work in a 
distribution, it is easier to find problems that will have the greatest effect 
because you work with it in context every day. For example, Riddell recently 
proposed a patch to make the power management applet and kickoff labels and 
icons match. They just happened to both be Plasma projects, but if you pretend 
that kickoff was maintained by another group, you can see how it would be 
easier for us to make the change ourself than hope that both upstream groups 
can agree with how to fix the problem and then fix them in a timely manner.

Making high-level improvements like these should be a reasonable attainable 
goal upstream, yet they remain to be extremely difficult to accomplish. I would 
hope a UX team would provide guidance and management on how to get this sort 
of thing done. We need fresh and new ideas, but we also need to manage and fix 
what we already have.

> > I always try to push the
> > good stuff upstream afterwards, but that's not the point. I should be
> > doing it upstream to begin with so everyone benefits.
>
> .. and so you aren't working counter productively to other parallel
> efforts.

I never said I was disconnected from upstream and I hope my involvement with 
Kubuntu doesn't make it seem like that. I always try to find a solution 
upstream before settling on fixing it on the distribution level. I usually do 
some research to see who the maintainer is and what they are working on before 
we do anything. Today's discussion in #oxygen about the konqueror homepage is 
an example of that. Riddell poking #kde-devel and sending appropriate and 
expected patches upstream is another.

> > I guess is that Plasma has a lot of things going for it in terms of it's
> > philosophy for creative processes. It could be used as a model for
> > founding a more project-wide initiative. However, it doesn't seem like an
> > open environment which can be easily joined, either by fresh designers
> > who are interested in contributing or extended in to the rest of the KDE
> > project.
>
> i guess step one is having the rest of the project respect plasma a bit
> more. you may not have noticed, but we're not the most popular group of
> people. we're the ones who fucked up the panel in 4.0, after all, if you
> don't recall. (yes, that's dripping with cynicism and sarcasm.) we struggle
> for respect from others, even those who are doing "new" things like the
> kwin people. there's very little interest in actually thinking big and
> worrying about things like "user experience".

I disagree, I think there is probably a lot of interest in thinking about 
things on the UX level. Projects outside Plasma are probably wary of it 
because they don't want Plasma to dictate their experience. Why are they wary? 
Sure, because of a bad experience with 4.0, but probably also because they 
don't know of or understand the process Plasma goes through. UX can be pretty 
scary to people who are used to doing and discourage "talk". "Talk" -- defining 
and solving the problem before a single line is written -- is 80% of design. 
If you solve the problem at the conceptual level, the hard part is over and 
designing the interface level is easy.

No, you don't want 100 people involved in everything, but you might have 100 
people all working towards the same UX goals, just in smaller, more 
concentrated projects. Projects tied to problems, not to a project, so it 
doesn't appear to be "owned" by anyone. Kwin is a great example where it 
involves more than just Kwin devs or Plasma devs.

KDE is very distributed without much high-level management of issues. That's 
probably why the KDE Usability Project is failing as a project and why I still 
manage to help a lot of developers with usability issues. As a project, there 
just aren't enough people that the dev community trusts to have oversight. 
Also, KDE is just too big to know what is always going on. On a personal 
level, it is much easier for people to contact me directly, however that does 
nothing to help the KDE usability project. It is also much more productive 
than posting on that damn list. I've gotten more done over IRC in the past two 
months than the list has done in the past year. But that's not sustainable, 
nor does it have the potential to grow, and I'm limited at the level I can 
help people at because I'm not involved in the projects that have the most 
influence in UX.

> this is why i created my own little playground right here: so i could get
> on with things without struggling against the tide constantly.
>
> as things pay off more and more visibly, i expect others to take notice and
> start adopting some of what we're doing. if we don't succeed wildly with
> plasma, it likely won't ever happen. it's that simple. developers, as a
> broad group, are simply too pragmatic and unimaginative to have it happen
> in some spontaneous frenzy of "i get it!".

They need to know what you're doing in order to adopt it. It's not that no one 
wants to, they just don't know how.  Unless you are involved in Plasma, you 
have no idea how the magic happens. I had assumed the point of this thread was 
to figure out how to make that happen everywhere in KDE, not just Plasma. 
There's no reason to just address Plasma because you've already got it.

-- 
Celeste Lyn Paul
KDE Usability Project
usability.kde.org


More information about the Plasma-devel mailing list