On June 11 and 12, I'll be speaking at Open Web Vancouver, a community based, volunteer run event showcasing open source technologies, communities and culture.
Note: This is a re-post of http://drupal.org/node/443102 for Drupal Planet, since apparently a lot of you don't read the Drupal.org front page. ;) Sorry if it's old news to you!
There is currently a lively, spirited debate about the forthcoming user experience changes for Drupal 7. A quick summary for those who have been unaware of this initiative: everyone (yes, especially you) needs to go to http://www.d7ux.org/ and actively participate in the discussion/brainstorming/wireframing/etc. in order to ensure that the end result is something we can all be proud of and meets our community's very diverse needs!
It's been interesting to watch the range of opinions expressed in the thread. On the one side you have people who have first-hand experience with how excruciatingly painful the learning curve can be for new users, either because they themselves had to wrestle for weeks about menus vs. taxonomy vs. nodes, or because they've spent time around others (co-workers, clients, spouses, etc.) and have watched them struggle. They're very excited about the prospect of some of these pervasive user experience issues being looked at in a very serious way. On the other side you have long-time members of the community, many of them prolific contributors, who are adept ninjas configuring Drupal sites. They don't want to see Drupal "dumbed down" to the lowest common denominator. In fact, the whole reason they initially chose and continue to stick with Drupal is the sheer power it places into their hands, and with great power comes a learning curve; it's to be expected.
At my "day job" at Lullabot, we've been hard at work on the Drupal UE (Usability Edition), which includes many fine improvements that I'd love to see make their way into Drupal 7. But what about our roots, the hardcore developers who eat, sleep, and breathe Drupal? Who is watching out for their interests?
In a fit of insomnia early this morning, I put together what I hope will be the start of a robust framework that optimizes Drupal's UX, but this time for the developer. I call it Better Admin module.
Addison "add1sun" Berry is the Drupal project's documentation team lead, as well as a developer, themer, cat herder, and generally awesome person. :)
The current website was created in a few days back when the Drupal Association was first founded in 2006, and hasn't really received a great deal of attention since then (shoemaker's children, and all that). The current site's content can basically be distilled into three things:
1. Outdated news you already heard somewhere else first.
2. Give us money.
3. Legal mumbo jumbo.
Unfortunately, there is very little emphasis on "awesome stuff the Drupal Association is working on and how you can help." That's something I think we need to change, to both help give the community assurances that their money is being spent wisely, and also to give the larger Drupal community on-ramps to directly help the Drupal Association members achieve their mission of supporting the Drupal project.
Here's a wireframe I came up with at Way Too Late O'Clock that needs a whole bunch of work but is one approach:
The idea is to both emphasize larger spheres of responsibility that the Drupal Association has, and also highlight both what's happening NOW as well as an archive of what we've achieved in the past.
How about yourself? Do you have thoughts on what you'd like to see in a revamped Drupal Association website? Want to play wireframe ping-pong? I'll collect any responses given here and send them off to Neil on Wednesday, March 19.
Arie Nagel (or ainigma32 on Drupal.org) is a relatively "new" face in the Drupal community (he has yet to reach his one-year anniversary on Drupal.org), but yet has already made a profound impact on our project for the better.
How? By answering the cries of fellow Drupalistas' requests for help!
Arie has done a laudable job farming the Drupal core issue queue for support requests, closing out old ones, asking for more info on unclear ones, and helping out on those that he can. His tracker page shows a nearly endless stream of helpful, courteous responses, and he shows genuine concern for making sure users find the answers they're looking for. This is a tremendous contribution to the Drupal project. Hats off to you, Arie! :D
Without spoiling the interview ahead of time, something that Arie alludes to that I can back up whole-heartedly is that helping other users with support requests is the single fastest way to skyrocket your way up the Drupal learning curve. If you don't know the answer to something, seeking out the answer for others will give you a chance to teach yourself in a very practical way (or learn from others who end up answering the person's question). And if you do know the answer, nothing cements a topic in your head more than explaining to others how to do it. Finally, even if you consider yourself a total "newbie", believe me, you still know more than someone else out there, and you are far better positioned to explain it to them in a way that makes sense.
Learn more about how to get involved in user support at the Getting Involved guide.
Here's Arie's interview where he discusses how he came to Drupal, what motivates him to help out, and some ideas for improving Drupal support in the future.
(Hey, neat! This was mentioned on ZDNet: Perfectionists need not apply.)
Most people in the free software community have probably read Eric S. Raymond's The Cathedral and the Bazaar, which compares and contrasts two free software development models: the Cathedral style (think, "perfectionism") and the Bazaar style (think, "chaos").
While Drupal itself is clearly an open, Bazaar-style project, many individuals in the Drupal community tend to take the perfectionist approach to development. After all, *thousands* of people will be using this code, and likely *hundreds* of developers carefully inspecting its inner-workings. How embarrassing would it be for another developer to stumble across a "no-brainer" bug in your code? Best to sit on things until you know it's really solid before putting it out there in front of people. Right?
Sure, that sounds logical. But in my experience, people who take this approach to development in an open source community, and especially the Drupal community, are at a severe disadvantage to those who embrace the chaos and put their changes out in front of everyone as they're going along, warts and all.
I'll attempt to illustrate this by way of a dramatization comparing the problem-solving approach of two hypothetical Drupal developers: Sloppy Sam, and Perfectionist Pat.
Daniel is a rock-star Drupal coder who has contributed too many awesome modules to count. A few that you might be familiar with are Administration Menu, which makes the Drupal administrative interface a breeze to use, Upgrade Status, which gives you details on the porting status of your modules between major Drupal versions, and WYSIWYG API, a module with the goal to provide a single, centralized way to add any graphical editor you can imagine to Drupal.
Daniel has a real knack for staring down an extremely complicated problem, ruthlessly slapping away distractions, and coming up with an ingenious solution that not only solves the original problem, but does so with elegance.
Which brings us to the tale of node #8: Let users cancel their accounts.
node/8 is the oldest open Drupal core issue in existence, dating back to 2001. The deceptively simple title makes it seem like this would be a brain-dead problem to solve. Just provide a button for users to delete their own accounts. Duh! What's the problem?
The problem is, what happens when that button is clicked? Is the user account deleted from the database, or only blocked? Some organizations have legal requirements to retain data for 180 days, others have legal requirements to remove all traces of their users. But even trickier, what happens to the content that the user posted? Is it deleted as well? Scrubbed of contents? Attributed to the anonymous user? Simply unpublished? What about other users' content that might reference content posted by removed users, or might be direct replies? Do they get the axe, too?
If you read the issue comments, you will see people coming up with absolutely no shortage of opinions on all of the above, and multiple times, this has caused the issue to go completely off the rails. Most of us had lost hope, thinking node/8 would never get solved.
And then along came Daniel.
With swift precision, Daniel managed to distill the use cases down to the four most common, provide a hook so that other modules can cut in and do their business, and all the while rallying the troops in #drupal to contribute where they could, either by bouncing around ideas or providing language improvements or reviewing the code. And! I'm happy to report that node/8 was fixed at last earlier today, January 8... 8 days after Daniel began his journey. :) This was an inspiring process to watch and to be a part of, and showed that anything is possible if we all band together.
So, who is this mystery man? Is he tenacious, a little bit insane, or both? ;) Find out, in the following interview!
Our goal is to increase the adoption of Open Source Software by helping users find viable projects and applications that fulfill specific needs, evaluate them against available alternatives and collaborate with their network of trusted peers.
I would love to see a series of blog posts from Drupal developers on patch review strategies they employ, so we can share some tips and tricks and ramp up our collective review IQs. I'll start it off with mine. I call it "The 6-Pass Patch Review" (wittier names welcome! ;))
To begin, crack open your text editor. You'll use it to jot down notes and questions as you go through each of these passes. Other than that, no fancy tools are required to do most of this other than a keen set of eyes, an inquisitive mind, and the ability to empathize with people new to Drupal and put yourself in their shoes. (Of course, if you are relatively new to Drupal, then patch review can actually come easier for you than other people. :) Start today!)