[go: up one dir, main page]

|
|
Log in / Subscribe / Register

Fedora: A Case Study of Design in a FLOSS Community

Máirín Duffy will be presenting a paper on design in the free software community at the upcoming ACM SIGCHI conference. That paper has been posted as a 12-page PDF file, and she is looking for feedback. It's an interesting read from somebody who has been very effective at getting things done in that environment. "Contributors in FLOSS projects, among whom the majority are volunteers, come to the project with different and sometimes conflicting visions and goals. The absence of a central driving vision is challenging to a designer. It is necessary in design practice to balance the needs and requirements of different stakeholders, but it can be substantially more difficult to do so in a FLOSS project where the very goals of the entire project itself may not be agreed upon."

to post comments

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 15:23 UTC (Wed) by dgm (subscriber, #49227) [Link] (16 responses)

The language in the paper makes it sound like, somehow, the designers are the ones that should bring order to the unwashed mases (that being the poor developers). It points out how difficult it is for "professional" (meaning polite and educated?) designers to interact with rude and chaotic developers. That's surely a bad start.

It makes developers look bad, but "HCI practitioners" even worse. I got the impression that they are a bunch of divas, more used to shout orders from above than to work with peers.

And a final little rant. Stop calling yourselves "designers". I do design software each and every day, and it has little to do with "user experience". Find another term, or create a new one. Please.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 15:39 UTC (Wed) by AlexHudson (guest, #41828) [Link] (5 responses)

"FLOSS contributors are [typically] unpaid for their work and outside of social and legal expectations are free to express themselves in any manner they choose, including manners that would be unacceptable in a professional environment. The challenge for designers involved in FLOSS is to develop a tolerance for such behavior [..]"

I don't think Máirín is saying designers bring order or are somehow better; she's pointing out a fact of life dealing with others in the community. Note she doesn't single out contributors as coders, documenters, translators, etc.

I think it's extremely sad, but it does seem to be a fact that if you don't code there is a vocal minority in the community who thinks your contribution is worthless. Máirín's guide looks to me to be an extremely useful support for new contributors to find their way around a FLOSS community, and let's be honest - your reaction is exactly what she's counselling people to expect. So in that sense, the point is proven :(

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 8, 2010 9:31 UTC (Thu) by dgm (subscriber, #49227) [Link] (4 responses)

Please, read again the very sentence you quote. It paints "designers" (all of them) as having higher expectations regarding the "professional" behavior of others than the rest of contributors, so their challenge is to lower that bar ("develop a tolerance"). My gripe with such sentences is two fold. First, not all "designers" (really, shouldn't they better be called GUI experts or something like that?) are professional. And second, even from those who are, not all behave always in a "professional" way.

I'm sorry but I find it somewhat disrespectful.

Maybe I am picky and critic, but far from rude. Surely you cannot point anywhere in my comments and say "that would be unacceptable in a professional environment", so I fail to see how it can be proof of her point.

The word "designer"

Posted Apr 8, 2010 21:18 UTC (Thu) by robla (subscriber, #424) [Link] (2 responses)

The word "designer" is hardly a word that software developers can call dibs on. If you're going to rail on the usage of that word, you should probably start by editing the Wikipedia entry on "Designer", which more closely aligns with Mairin Duffy's usage than it does yours.

The word "designer"

Posted Apr 8, 2010 21:21 UTC (Thu) by dlang (guest, #313) [Link] (1 responses)

I don't think that anyone is claiming that software developers can call dibs on the name, they are just objecting to the UI developers calling dibs on the name.

The word "designer"

Posted Apr 8, 2010 21:24 UTC (Thu) by dlang (guest, #313) [Link]

I don't think anyone would object to the UI developers calling themselves UI designers, but just 'designers' implies that there is no other design going on.

as for wikipedia, that doesn't surprise me, the UI designers care much more about such things so it doesn't surprise me that there is an entry like that, but wikipedia can be changed by anyone who cares enough to do so, so it's hardly an authoritative source for definitions.

I wonder how all the other professional designers out there (fashion, building interior, etc) feel about UI designers calling dibs on the term.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 9, 2010 7:58 UTC (Fri) by AlexHudson (guest, #41828) [Link]

She's talking about designers from outside of the community and coming to it, because that's what the paper is about. You can equally make the same comments about programmers from outside of FLOSS communities: it's not the job title she's making a point about, it's the people within the community.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 15:45 UTC (Wed) by proski (guest, #104) [Link]

Maybe HCI practitioners should start with inventing a better name for themselves, which doesn't reek of hydrochloric acid :-)

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 17:37 UTC (Wed) by mmcgrath (guest, #44906) [Link] (2 responses)

> The language in the paper makes it sound like, somehow, the designers are the ones that should bring order to the unwashed mases (that being the poor developers).

I'm not sure I got that same impression but I could see where it comes from. To generalize here, most developers I know (including myself) are very poor designers. Not only do they not know it, but some would fight it if you tried to do design for them even though they might openly admit not to having any training or education in design theory.

It's just stubbornness I guess, and there's lots of that in all corners of this field :) I've worked with Mo on several projects at this point and I find having an actual designer makes my job as a developer (not a very good developer but still...) much easier.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 20:01 UTC (Wed) by proski (guest, #104) [Link]

And another problem is that designers and usability experts are not the same thing. Designers could suggest something that would look pretty, but would be very hard to navigate for some users.

I guess developers could be better at usability than designers, and it's the developers who are using their product, at least for testing.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 20:11 UTC (Wed) by smoogen (subscriber, #97) [Link]

To paraphrase several developers I have known over the years ...

Coding is 1% inspiration, 99% ego, and some smidgen of tolerance for less fortunate mortals.

This usually said by one coding diva who has been upstaged by another and waiting for the day when 'Their Time Shall Come.' However it is true in some ways.. a large ego seems to come with the territory in the same was as a chess champion.. you are visualizing a solution to a problem and bringing the almighty mind in solving it.

The funniest thing is watching how much they can see this in others, but rarely in themselves (in fact the more it rubs them raw when others act that way, the more they seem to have it themselves.)

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 23:38 UTC (Wed) by sdalley (subscriber, #18550) [Link] (5 responses)

Do I infer that you are not an Egoless Programmer ?

I'm glad to hear that you design your code. That's far better than producing a pile of spaghetti. It means, hopefully, that your code is modular, reliable, with a clearly visible high-level design, largely self-documenting at the lower levels, and is therefore further hackable by others without unreasonable effort. It is also likely to have a clear separation between function and interface.

But, as you admit, software design has little to do with "user experience". That's where we need the other members of the team.

Testers

Technical writers - man page, tooltips, user guide, FAQ.

Interface designers - usability, discoverability, accessibility, principle of least surprise, good defaults, artwork design, standards conformance.

Software packagers.

Distributors.

USERS!!!

Evangelists.

Successful programs have benefited from all these, and it's a very rare individual who can do all these things well. That's why we need more than just good coders.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 8, 2010 0:21 UTC (Thu) by sdalley (subscriber, #18550) [Link]

Oh, forgot the translators, I beg your pardon.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 8, 2010 0:43 UTC (Thu) by sdalley (subscriber, #18550) [Link]

And egoless programming is admittedly a tall order.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 8, 2010 9:41 UTC (Thu) by dgm (subscriber, #49227) [Link] (2 responses)

OK, you stated the obvious, but why throw it at me? Where did I said I worked alone? Did you read my comment at all?

Developing a tolerance for helpful divas

Posted Apr 8, 2010 16:48 UTC (Thu) by sdalley (subscriber, #18550) [Link] (1 responses)

Indeed I read your comment, and was attempting to answer in a roundabout way what comes across as the prickly and defensive tone of it. Your characterization "HCI practitioners are a bunch of divas" might just be something brought *to* the paper in question, rather than something a dispassionate reader would take *from* it (at least, I can't get that from the text at issue).

Whenever anyone criticizes (or even constructively praises) our work, be it in code review, testing, HCI design, we will often feel we want to defend it (has its place, of course), and/or cast aspersions (never helpful).

This is *precisely* where we need to "develop a tolerance"! A tolerance for constructive praise, at least.

Here Egoless Programming (in the sense described in the links above) can really help. From the link:

"Egoless programming occurs when a technical peer group uses frequent and often peer reviews to find defects in software under development. The objective is for everyone to find defects, including the author, not to prove the work product has no defects. People exchange work products to review, with the expectation that as authors, they will produce errors, and as reviewers, they will find errors. Everyone ends up learning from their own mistakes and other people's mistakes. That's why it's called egoless programming. My ego is not tied to my "perfect" or "imperfect" work product. My ego is only tied to my attempts to do the best job I know how, and to learn from my mistakes, not the initial result of my work."

For any sizeable project, great software takes *years*, and we need help from the whole ecosystem. It's great that people like Duffy want to help us.

Developing a tolerance for helpful divas

Posted Apr 9, 2010 10:53 UTC (Fri) by dgm (subscriber, #49227) [Link]

I think you missed it completely. The critique was solely about the form, not the that others join in to help, or that someone writes guides for such people. Please, read the original comment again.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 7, 2010 15:53 UTC (Wed) by iabervon (subscriber, #722) [Link] (1 responses)

It seems to me that a lot of the tension comes from trying to have a single interface design for a codebase, rather than having an interface design for an application of the codebase. One of the aspects of open-source software is that the same codebase is made available to people who are trying to solve different problems and can benefit from the similarities between these problems and ignore the availability in the code of solutions to the others.

To me, this means that the interface would need to follow the same pattern, with common design of the parts that everybody uses and the ability to trim down the presented feature set to the ones that are actually applicable.

For example, I'd like to see a gimp photo touch-up application which only does cropping, rotation, effects in areas, etc. (and not things like painting or tracking and selecting foreground or background colors), depends on gimp, gets a different name and icon, and has no code of its own. And it could have a simple and clear interface design without affecting other users of the gimp codebase at all, some of whom want to use each at different times.

Fedora: A Case Study of Design in a FLOSS Community

Posted Apr 8, 2010 1:58 UTC (Thu) by Kit (guest, #55925) [Link]

The presentation isn't about user interface design, but about application (i.e. code) design.

---

As for what you said, if you successfully abstract the user interface away from the application logic (something that generally doesn't happen), it shouldn't be too difficult, if you use the right tools.

I'm not sure about Glade, but with Qt you can dynamically load the .ui files containing the user interface layout and etc at run time (instead of compiling it in). Ideally, the application could be designed to be able to be given an argument on the command line of alternative .ui file(s) to load. Though the problem with at least the current ones, is that they're fairly static and you can't really do much with added elements, and removing ones that the code depends on might get messy.

With "Qt QUICK" (i.e. QML + GUI creator) you should be able to take that a fair bit beyond what the current '.ui' files offer, since they use a declarative programming language (similar to CSS / JavaScript) built on top of a state machine framework, you should be able to design the applications to have the GUI much more abstracted away, possibly even allowing a non-coder (using the GUI creator) to create drastically different user interfaces- or at least someone that can handle a fairly simple language (lots of people can handle web development, even if they'd not dare touch C/C++/other common application development languages).

(I'm not sure if there's a GTK/Gnome equivalent in development)


Copyright © 2010, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds