Curated by Carsonified

Learn with Treehouse

Accessibility, CSS3, Design, Django, HTML & CSS, HTML5, JavaScript, jQuery, NoSQL, PHP, Responsive Web Design, Ruby, Ruby on Rails, Tools, UX, Version Control, WordPress, iOS and more

Article 22

Open Source Design: Can Non-Devs Contribute to Open Source Software Projects?

By

02 July 2010 | Category: Uncategorized

(Editor's note, this title is inspired in part by Paul Graham's essay, Hackers & Painters & to the Lithium Team @ lithify.me for being excited to join forces with a couple of determined designers! & @scottmac who told me I should & could do it!)

Picture 16

Let's start with the screen capture above. Meet Lithium, a lightweight, fast, flexible framework for PHP 5.3+.

It's website is full of fantastic open source code, and it's design features a quirky rotating "ironic" graphic—notice "Clippy" and his pithy sense of humor, "may i suggest using lithium?" (Recommendation: Stick around and watch the other characters rotate through!)

We're looking at an alpha-stage design for an alpha-stage project, a website designed by developers, and it inspired me to write a bit of a rant that turned into beers and dinner with Lithium's lead developer Nate Abele. Now, we're on track for a collaboration between a team of curious developers and two tenacious designers—but, can designers contribute to open source software projects in meaningful ways?

Keep that mind as you read onward! This is my rant realization.

SOCIAL MEDIA MAVENS, you have your tweets, Fan Pages, and Foursquare badges and mayorships. You are ciphers to codified LOLcats, and taunt a fail whale, positioning yourself as a modern day Ahab of the interwebs. Indeed you describe social media as a “revolution.”

I’m not one to judge, well, then again, maybe just a little. This, which brings me to my point.  At some point we almost all seek to join revolutions, but the social media “revolution” is not my revolution of choice—to be painfully honest I give great social awkward and the web already has enough of that. The revolution I want to join is a far more elusive—I want to volunteer and contribute to open source software (OSS).

My problem? My barrier to entry? (NOT A CODER!)

I’m a designer, and mostly a non-coder (exception: I’ve never met a UI I couldn’t CSS). As a designer the path to participate in contributing to open source software is less clear, it makes me grind my teeth and mumble curse in poorly written code.

CODERS & HACKERS, you are makers and doers, adventurers, visionaries, risk-takers, and above all architects and artists. You assemble and take apart hardware, you build robots and Makerbots, code, compile, debug, and release software. The killer app you use is your imagination and there’s no 2.0 needed for that. Furthermore, those of you who have contributed to or are working on an open source project, you do this in an effort to create and distribute free software (free as in “free speech” v. free as in “drinks on me tonight!”*).

Your role in creating and distributing open source code puzzles a lot of people. In fact, let’s be honest, there are plenty of smart people who think that you’re crazy and possibly a little irrational in a mad-scientist, free-loving, “Homebrew” hippie way. You pour hours, weeks, and sleepless sleepover hackathons into creating code that you GIVE AWAY FOR FREE, helping complete strangers solve problems. (note: Watch RSA’s Drive: The surprising truth about what motivates us)

It’s unsettling to enough people that there are surveys and studies detailing the intrinsic and extrinsic reasons behind your motivations (social translations of your baffling behavior)**. Truth be told, contributing in a meaningful way to open source code makes you a badass in my eyes.

Not to digress from this diatribe of mine, but lately I’ve been frustrated by my lack of BADASSITUDE. I’m a designer, not a coder, and now to the point I hope to finally cogently present . . .

I don’t mean to be coy, but HACKERS & CODERS of open source projects, YOU DESIGN your open source software websites, wikis, blogs, marketing materials (when you have them), and user documentation (which reads like developer documentation), LIKE PROGRAMMERS (note: Mozilla, you are excused from this observation, but you are also well-funded).

I’ve never read an article titled, “10 Tips to Design Like a Programmer,” and there’s a good reason for that! (Unless, it’s written in a hipster-ironic kind of drinkin’ PBRs and rickrolling way.)

The bad design and poor user experience of open source project sites reveals a crisis-as-opportunity in the open source community. You see, even cute magical mascot like the Django Pony, (sorry @iamcal) or an ironic 8-bit graphic can only excuse you from a lack of user-friendliness for so long.

Jon Tan recently reminded me of this quote: “Design is how it works.” – Steve Jobs

Open source projects have long skimped on presentation and packaging. And, after a weekend of reading, researching, and pestering every developer I know (and, a few I don’t), I was left without a clear path resolution to achieve BADASSITUDE as a designer on an open source project.

I ask you then, how can DESIGNERS (graphic, UI & UX, all deft ninjas of the visual) organize and contribute their visual “hacks” to open source projects with their coding counterparts?

I suspect there’s no simple or singular answer, but I’m all for rhetorical questions, inquisitions, and adventures, so I’d like to open this up for discussion and experimentation.

By happenstance, I met with @nateabele, lead dev of Lithium (Lithium’s core team previously worked on CakePHP—@jperras, @gwoo, & John Anderson), and we decided to unite forces between Lithium team, based in Brooklyn and all over the world!, and my team @ Jjo Media, based in Brooklyn & Michigan, to work together to see if we can find, craft, optimize, and ultimately standardize best practices for open source software projects to work with design, ux, community, and content strategists.

Lithium is a lightweight, fast, flexible framework for PHP 5.3+.

git clone code@rad-dev.org:lithium.git

Our intention? Make open source even better, as well as better looking.

I’d like to reinvigorate the community and inspire organizers to open up opportunities on their projects for visual makers and hackers to collaborate with coders and each other. I want to work with you to reduce the barrier to entry (in the right ways for the intended audience) and increase the usability and user base of contributors to and users of open source projects.

I’m also deeply aware that my experiment may end in the conclusion that most open source software projects function fine without the added layer of design.

But, what the hell? right? It’s between us and “Clippy” now.

With angst & appreciation,
Chrissie

* Producing Open Source Software: How to Run a Successful Free Software Project, Karl Fogel (October 2005)

** “Why Hackers Do What They Do:  Understanding Motivation and Effort in Free/Open Source Software Projects,” By Karim R. Lakhani* and Robert G Wolf ** in Perspectives on Free and Open Source Software (2005) edited by J. Feller, B. Fitzgerald, S. Hissam, and K. R. Lakhani (MIT Press) MIT Sloan School of Management | The Boston Consulting Group & The Boston Consulting Group

Follow @thinkvitamin on Twitter Please check out Treehouse

Other Posts You Might Find Interesting

  • Sorry - No Related Posts Found

Comments

  • http://www.lornajane.net Lorna Jane Mitchell

    I am totally in favour of this attitude, it takes all the professions to bring together a really decent product and I wish that, as a developer, I had better ways of meeting designers, interface people, and writers who would believe in open source projects the way that I do. Kudos to the Lithium guys for seeing this and having the contacts to make it happen :)

    (from a developer who is painfully aware of her own limitations outside her sphere of expertise!)

  • River

    i’ve experienced this frustration myself, as a ui designer and web site maker and part-time unskilled rails hacker. there are some open source projects i love, and probably many more i would, but it’s hard to see a way in if you don’t get deep into the code or love writing documentation.

    so i encourage all open source hackers and project initiators to think about design. and then *do* something about it. and your comment at the end of the post really gets to the heart of the issue, though perhaps unintentionally. you say maybe “most open source software projects function fine without the added layer of design.” how can design be “how it works” if it’s an “added layer”?

    so the first step is to stop thinking this way. coders need to update their thinking, as well as designers. if your project has any kind of ui aside from the command line, and especially if it’s meant for people who are not experts in the domain, then start with design. don’t wait to add it.

    finally, i think more designers should be *starting* open source projects. designers involved in technology, whether it’s web or application design, have ideas and understand problems that need to be solved, and working with coders could initiate great projects. i think a sense of ownership is key to making the design more than a come-in-and-make-it-pretty kind of thing.

    anyway, great post.

  • http://www.kilobitspersecond.com/ Jay

    Yes. Yes. Yes.

  • http://carsonified.com Ryan Carson

    Hey Chrissie – Love the idea of adding good design to open source. I agree – it’s sorely needed.

  • http://matthewturland.com Matthew Turland

    Hear hear! Many open source projects function well enough, but it’s often painfully aware that we lack skills in visual and user interface/experience design. I’d love to see more designers participating in open source projects!

  • http://lithify.me gwoo

    BADASSITUDE indeed. Open source is a great opportunity to improve and showcase UI skillz. This opportunity extends across web, desktop, and mobile apps. I can only imagine that designers are using many open source apps and saying to themselves “darn, I could make this so much better.”

    To me, you present a succinct call to action and act as an example in this process. I truly believe the more we push this effort the more we improve the quality of open source software.

    Looking forward to working with you Chrissie!

  • http://twitter.com/tenaciouscb Chrissie Brodigan

    Thanks Ryan! Nate, Jöel, & John are a terrific team, and Jessica, Jon, and I couldn’t be more excited to get down to business. I’ll have some fun articles to share along the way, and, we expect to hunker down next week and kick off, and have something to show for the talk in the pretty near future. OSS teams are inspiring, and the more designers, community-support specialists, and writers can become involved – chances are that the web is just going to become an even better place and app development more creative and cogent than ever before.

    And, Ryan, you’re awesome!

  • Chris

    umm actually i love the design of lithium…. it is the content that is lacking :p

  • http://www.zackgrossbart.com Zack Grossbart

    I’m an open source developer and getting designers interested in your open source project is hard. Getting anyone who doesn’t already know you to join your open source project is hard. And open source developers generally know other open source developers. They don’t know designers.

    There are overarching feelings of “design doesn’t matter” and “my project should be good enough on its own”, but fundamentally all open source developers want to make their projects look better. We just don’t know any designers. I’ve tried to include designers in my open source projects with very little success. The only times I did succeed is when I already had a relationship with the designers.

    One solution I’ve found was becoming a designer. All developers should become designers. All designers should become developers. At least a little bit. Otherwise you end up with developers who can’t make anything for humans and designers who can’t make anything.

    There will always be a line between developers and designers, but we need to blur that line a little more. Open source developers need to get smarter about the way designers can help them and the designers need to help. Teach us what you can do for the project and we’ll love you for it.

    Show us how to bring our projects to larger audiences and you’ll be welcome every time.

    And now a shameless plug for my latest open source project. Check out the WordPress Editorial Calendar. This is what it looks like when designers and coders work together.

  • http://lithify.me/ Nate Abele

    Hehe, we’re working on it. ;-)

  • http://twitter.com/tenaciouscb Chrissie Brodigan

    Lorna,

    Thank you so much. I just want to say I love PHP Women :-) As a non-dev, I’m definitely intimidated by oss projects, but the Lithium team, couldn’t be more welcoming, easy-going, and enthusiastic to give this a try.

    Hope to meet you someday!

    Cheers,
    -CB

  • http://1stblogger.com/ Rakesh Solanki

    Yes i admit that it is much flexible framework for php5 instead whatever i have seen before.

  • http://www.helloeverything.co.uk David

    Interesting article, there is an increasingy bluring line between designers and developers. You need both to produce a decent piece of software and open source is no exception, designers need to be involved!

  • http://stevelosh.com/ Steve Losh

    Speaking as a developer that works on open source software in my free time:

    From what I’ve seen there are two big barriers to entry for a designer that wants to contribute to an open source project.

    ** Not being able to actually implement the changes they suggest **

    If a designer just wants to contribute image comps for someone else to implement, that’s fine, but it’s a lot of work and might not end up being the first thing on the project maintainer’s todo list.

    “Sounds good, send a patch” is a common response when someone requests a feature, and it works well for the guts of most projects.

    Some designers might know how to implement their changes (especially for web applications and project web sites — many designers know HTML/CSS). If they don’t it’s not necessarily a deal breaker though. They could find a developer that also wants to improve the design and work with them to implement the changes.

    ** Not knowing how to use version control **

    Even if a designer has the ability to implement their changes, they still need to know how to work with version control if they want a decent shot at getting those changes into a project.

    *Many* open source projects keep their sites/documentation/etc in a Mercurial or Git repository. If a designer comes along, improves a few things and sends a pull request (or even emails a patch) I think most developers would pull it in a heartbeat.

    Without using version control there’s simply too much overhead.

    Receiving a blob of CSS or HTML, for example, is painful to deal with compared to a real diff. You have to find out what the heck changed (especially if it’s a blob of HTML that was originally generated from a template), figure out the original version the designer was working from so you can merge other changes, and so on.

    Version control is what keeps programmers from going crazy. A designer that wants to contribute to a project will get a lot further if they learn the tools and use them.

    In short, we developers know we’re bad at design, we wish we were better, and we’d love to have help from designers. We just need to stay sane while doing it and have enough time to continue working on the non-design parts of the project.

  • http://nicolasschudel.name/ Nicolas

    I wrote a research paper on this topic back in 2006 titled: “Commons Identity: A Conceptual Model for Designing Brand Identity in Free and Open Source Software Projects”

    Check it out at http://opensource.mit.edu/papers/commons_identity.pdf

  • http://chrisjdavis.org Chris J. Davis

    Interesting article, but I am not sure how well you researched it since there has been a movement for the last couple of years to bring designers and developers together in Open Source Software.

    Famously Automattic contracted with Happy Cog to help with the design of the interface for WordPress, as well as the website. My project, Habari, was founded on the principle that everyone has something to bring to the table.

    We had Michael Heilemann and Khaled Abou Alfa design our admin UI and create a HIG for the developers to follow. That was over 3 years ago.

    Is it easy to be a designer working with an open source community? No. Of course it isn’t easy being a newcomer of any persuasion when it comes to OSS. Being a designer and a developer myself I have found most designers find it difficult to deal with the critical nature of open source development, as well as the “everyone in the pool” angle to producing work product.

    When you throw your work over the wall, everyone gets to pick at it and make suggestions/changes. That doesn’t sit well with most designers. It is a different mindset, a different way of approaching your work. The moment you throw it on the mailing list or in revision control it is the communities work.

  • http://www.yoroy.com Roy Scholten

    I’m UX maintainer for the upcoming version 7 of the Drupal CMS. And yes, it’s not easy getting your foot in the door. Steve Losh is right in 2 important barriers to entry: making patches and using version control. Took me about a year to get my head wrapped around it and find a workflow that does not involve using the command line :)

    Another thing that makes it difficult is that design isn’t as matter-of-factly measurable as code is. With code changes, if it performs faster, is less lines, is more abstracted etc, then it’s not that hard to get community buy-in on making the change.

    With design (visual, ux, even copy writing) it gets a lot harder and too often discussions turn into “yes but *I* think…” arguments. Usability testing is the best way to get ‘hard’ data that can convince developers.

    Mark Boulton was hired last year to contribute design and interaction for the Drupal administrative user interface. He’s written about his experiences here: http://www.markboulton.co.uk/journal/comments/design-in-open-source#more-768

    Yes, it’s not easy, be prepared to explain and defend your vision ad nauseam across multiple bug reports :) It takes time to build your karma in an open source community. But I’ve found that especially the senior developers within a project fully realize the importance of good design and ux. Both parties have to invest in finding a shared vocabulary for discussing design that steers clear of ‘bike shed’ discussions.

  • http://twitter.com/tenaciouscb Chrissie Brodigan

    Dear Chris,

    I researched the article pretty well, but there’s also a ton of information I have yet to stumble upon and learn from.

    One of the things I was trying to be clear about is that there is a difference between heavily funded open source software projects specific to UI development (e.g. Mozilla & WordPress) and organic projects like Lithium, where the work truly comes from a corps of unpaid volunteers, who are contributing back to the community out of a sheer passion for open source.

    Also, what we’re attempting to do is document a set of best practices (if we can find them) and create a system that can be adapted by similar OSS projects either sans funding or low on funding, who are open to partnering with volunteer designers.

    It sounds like you’ve got great experience in this area, and I’d love to hear more and get any advice you can offer! Please hit me up @ chrissie AT jjomedia DOT com to talk more, if you can!

    Also, excellent use of Typekit on your site! Hope to talk more!

    Best,
    CB

  • Dave

    My experience is quite painful actually. Of the various opensource projects I approached (none of the big names with high traffic of brains and bytes), most had a bunch of guard-soldiers who would only allow new people in if they had the patience to sustain mild to high vitriol over a few weeks. Especially, as discussed elsewhere, like on slashdot, IRC.

    Those that have great code content will say “design is for sissies”
    Those that have great design are busy making more money or seek inputs only if it adds significant promotion. deviantart-style “community” behavior is very little.

    And artsy sissies like us cannot tolerate continuous vitriol for weeks. It’s only in opensource software that new users are laughed at and insulted. In commercial product communities or even art communities, people talk to each, not yell, curse and swear. Even on the street, computer illiterate people *talk* rather than swear and insult strangers.

    Given this state of affairs, your call to disarm is quite courageous and admirable. To say it with a popular slashdot meme – I, for one, welcome our new designer overlords! :-) (or overladies …)

    A small note to the possessive coders out there:
    If you don’t like people forking your code, why release it as opensource? The bunch who yell “Get Off My Lawn” are already old, in being over-protective of their code.

  • http://twitter.com/jennielees Jennie

    @Roy, Drupal was the first project that sprang to mind when I thought “open source with a visible and awesome UX effort”. Seeing Drupal UX research/talks is definitely invigorating.

    @Chrissie, interesting article but I think the point was a little laboured. Most open source projects would highly benefit from designer interaction and usually know it, I think actions definitely speak louder than words here so I’d love to hear how your collaboration gets on. It’s fantastic that you’re doing it!

    We’re putting a lot of design resources into *some* of our open source projects but there are so many that are just “code only”. I think the fact a lot of the default open source hosting sites are literally just “Hello, welcome, here’s how to get the code” doesn’t help; it’s offputting to say the least. Maybe a new site that can put a friendlier face on open source projects could help… if landing page design is a big factor. There’s a ton of research that could be done in this area too. Nom.

  • http://www.kilobitspersecond.com/ Jay

    Those that have great code content will say “design is for sissies”

    And artsy sissies like us cannot tolerate continuous vitriol for weeks. It’s only in opensource software that new users are laughed at and insulted.

    Hear, hear!

  • http://www.kilobitspersecond.com/ Jay

    What we need to do is piece together some technologies that will make the collaboration between designers and coders as easy as that between coders and coders.

Badges for Treehouse

Treehouse

Learn iOS, Rails, CSS3, jQuery, Node.js, HTML5, UX and more in less than 8 minutes per day. New videos added regularly. Sign up today and get a free Web Design Toolkit.

Ads Via The Deck

Think Vitamin Radio
Episode #34: Amazon Fire and Responsive Roundtable

Check out our bi-weekly radio show. Covering the hot topics on the web.

Audio clip: Adobe Flash Player (version 9 or above) is required to play this audio clip. Download the latest version here. You also need to have JavaScript enabled in your browser.

Download Podcast as mp3

Advisory Board

The Think Vitamin Advisory Board in place make sure that you receive the best content possible.