Drupal, and the Art of Creating Passionate Users
My RSS reader has somewhere's near 800 feeds at this point. In order to cope, I've for a long time had a folder titled, "Feeds I actually read" (yes, a number of my thunderbird folders are jokes that I crack to myself. Its pathetic...). Anyways, one of my favorites in the folder I actually read is a blog called Creating Passionante Users. One of the more recent entries had a graph that I thought every single drupal user, developer, and advocate should see:
The post, "How to be an Expert" is very worthy of a read. However, before directing readers, I wanted to editorialize on a particular aspect of drupal: the default interface is extraordinarily successful in making new users say, "I suck at this. I give up." Over the past 3 days, I've successfully convinced 7 developers who've I ran into to take on drupal. Guess which platform they were using? Mambo and Joomla. Guess what their reasons were: "well, the admin interface is pretty slick." I asked them if they had figured out the difference between "sections" and "categories", or WhyTF filters are called "mambots" (I digress..). It didn't take me very long to find out that they were not at all satisfied with Mambo/Joomla, and it was largely because their code makes no sense, has no API, and the entire platform is -- in some ways -- a big mash of hacks... By the time I started explaining the forms API, and PHPtemplate they were sold.
However, why did I have to sell it to them? Why did they go with Mambo/Joomla? Simple: they had tried drupal out, and it looked crappy to them. Mambo, on the otherhand, ended up being crappy. However, when they first got to the admin interface, it looked powerful. Nevermind the fact that once they actually tried to use the admin interface, they were greeted with frustration, arbitrary terminology, and frankly question begging concepts (category vs section?). The point is that Mambo snagged that first impression, and successfully communicated at the start: "Here, you don't suck, user. See we got pictures, you'll find your way around..." Drupal, on the otherhand, out of the box, greets every user with the message: "Do you know what to do? Didn't think so, you suck. Start reading the welcome that directs you to places that cannot possibily be understood without a bit of practice. Or, you could give up." I suspect more people give up than any of us are willing to admit -- indeed, I still have to train people on how to ADD CONTENT. Its not that the process is hard, its that the design MAKES it hard. The point I'm trying to make is that the totalitarian approach that has historically been taken with the menu system is stupid. Why, for example, is "my blog" "locked?! Who, might I ask, is trying to keep my hand out of the cookie jar that would enable me NOT to have to move menu items to a new menu because they had no use for a my blog link. (my hatred of the overuse of the word prefix "my" will be discussed at length in a later post.
Well, beyond this general rant, I'm building a user "dashboard" into curved slate (I insist it is a "dashboard", and have decided to therefore not worry that it there is another "dashboard". Its better terminology than "user interface"...). Anyways, this dashboard exists entirely within the curved_slate theme and is defined as a region "just like sidebar-left, sidebar-right". For logged in first time users, it gives three big menu items: "publish", "administration", "Account settings". I will put monkey friendly pictures with these main dashboard areas. Its worth noting that the presentation of menu items will work on any site no matter where you move the create content, or administration menus.
Curved Slate also has "user states" built into it. These user states allow me to style the "administration" tab so that is appears active in any part of the site that is an administration page. The same has been done for creation, and editing of content, and adjusting personal account settings. But more importantly, these states govern sidebars, and straight kill them when they are not needed. Both sidebars disappear when a user is creating new content. In the administration section, all but the administration menu disappear. Now, some might argue: "why are you limiting your users freedom?". I think this is the wrong way to look at it. I feel I'm limiting the number of ways a user can convince themselves that they suck.
Speaking of which, this is your chance to have some code an interface that is the way "you wished it was". Feel free to make suggestions, or draw sketches. After all, my main goal in building this dashboard is to build an interface that everyone will understand from the start -- but, I dropped out of mind-reading class in Wizard school, so that kind of help is always appreciated.