darrinhenein / ama

Ask me anything!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

How do you think we could do open source design better?

cassiemc opened this issue · comments

I think we could be doing a lot to make Open Source Design better–but I’m not entirely sure of what those things should be. My first introduction to Open Source was with software, which has (obviously) seen great success with the model.

Consider two challenges any open source project faces: quality and conformity. There are a number of things that software projects can leverage to help abate these issues.

Quality is probably the most understood concern, and generally addresses one or more measurable parameters: does the software still run? Does it cause new issues? Is it faster or slower than before? All of these things are absolute and easily measured, even in an automated way with test frameworks and metrics.

Conformity is not a new problem either, and thankfully code can be made objective: a style guide for the languages employed is often enough to ensure that a piece of code written by you is (generally) indistinguishable from something I wrote. The formatting, indentation and naming conventions are consistent and universal.

Lastly, we have gatekeepers. These are arbiters of debate, nitpickers of style, and generally experts who ensure that the integrity of the project is maintained. They say yes, and bring new code into the project, or no–and how to make it better.

But what about design? It can be objective, but almost always involves a subjective component. There are less tangible things like style, taste and culture to consider. End users will never see the bits and bytes of code, but they will see the design. In this sense even collaborative design (within an organization) becomes tricky, and when it succeeds it is often by similar routes: designed style guides, objective, tangible measures of quality, and gatekeepers who’s purpose it is to maintain a uniformity across the project.

I suspect that it’s the subjectivity of design that makes it more challenging to do well in a distributed, open manner. Other differences exist and certainly contribute: code can often be contributed in tiny, atomic modules, whereas design work is often part of much larger narrative where context is important.

To answer the question, I think code has given us a great example of how to involve a large community in the creation of something. Rather than invent new ways of working, I think we should seek to understand how the same principles can apply to design work. How can we modularize our design to allow for smaller, tighter contributions? How can we think instead about a “design language” which lets our work scale beyond our own hands (think Material Design principles)? How can we derive objective measures of quality, which are easily enforced and referenced?

What are examples of successful, open source design projects? What can we learn from them? I’d love to see some examples in the comments!

http://beautifulopen.com/ is a nice compendium of benchmarks.

I think you're right to translate some of what works for software to code - I think it's totally doable, just takes an effort and collaboration that designers aren't typically used to. We are doing a bunch of work in https://github.com/MozillaFoundation/Mofo-Design to document our process (which should make it easier to penetrate). Feel free to pop by anytime!

Thanks @darrinhenein!