A usable admin theme
I've long since been frustrated about the bad usability of the admin parts of Drupal. While incremental improvements are constantly made, it seems that a big overhaul is necessary in order to move forward. I find it very inspirational to see how Wordpress has hired HappyCog to work on an improved admin interface, based on interviews, research and usability testing. There are some obvious lessons that Drupal can learn from this as well, both from their methods as well as the results. There's a lot of momentum in the community right now to make similar efforts, and I'd be happy to apply as a student to work on this during the summer.
I've seen various comments about how a SoC application should have enough coding in order to be suitable for Google, so I think that this project should probably adopt an agile method in order to make some serious progress. User research and usability testing should go hand in hand with designing concepts and wireframes, implementing them and refining them. Working from a limited set of persona's and scenarios should keep the scope confined and the project achieavable. I think that perhaps the resulting project can be integrated with a dedicated install profile for the target persona's, but I'm open for options here!
As far as coding goes, I'm muddling through - I know enough to make stuff work (or break), but it's definitely a weak spot for me. That said, I have enough experience with Drupal theming under my belt that I feel confident I'd produce a succesful outcome for this project. My focus will also not be on coding per se, but more in a series of coding experiments that should result in a conceptual remodeling of the Drupal admin interface, better information architecture, improved admin screens that combined should form a working admin theme.
I realise that there were a couple of efforts last year to create a decent admin theme, but in my humble opinion they failed to deliver any real improvements and weren't adopted by the community. I'm also aware of other efforts to improve Drupal usability, such as the rootcandy theme. While I think it's very promising, it's also 'merely' a theme. It does nothing to close the gap between the user's mental model and the system's mental model, the developer-oriented language and concepts used throughout, or the akward ordering in the administration menu (which was made painfully clear in the latest usability study). So I'd like to go further than a theme, e.g. by creating an install profile that brings such changes in as well. Like I said, I'm open for other ideas as well. Of course, I'd like to 'cherry-pick' the best ideas from all kinds of sources, and I'd be very happy to include other usability efforts.
What do you think, does this have any chance of succes?



Cross-posted to theme development + usability groups
Let's see if they can provide you some feedback/directions on where to go.
user ui
Not only admin ui is important, but also user ui is far more important for user-generated content sites, e.g., community sites or multi-user blog. Admin would like to know anything happen to the web but users would also happy to see what happen to their all contents in a glance. Drupal has all functionalities users want but these all features are provided by individual modules, e.g., tracker and statistics. It would be nice to have a page for each user to concentrate on their contents, everything about their contents.
Sounds like re-organizing
Sounds like re-organizing the admin menu system could be the first task to be worked on.
One thing I see, that could be done, is to have all module configuration options given its own menu container instead of being grouped under 'Site Configuration.'
Having separate parent menu containers would make it a lot easier for users to differentiate between module configuration options and general site configuration options.
Problems
One, there is an admin theme in the works, regurarly posted to the Planet. Two, last year we took on two cores themes and we found out that we are somewhat short on good mentoring resources for themes (this is sad, but it's a fact)... as SoC is about code mostly, I am not 100% now that a theme meshes nicely anyways.
I'm not 100% convinced
I'm not 100% convinced Rootcandy is an end-all-be-all solution. Just as an FYI.
I think that this could actually work...
I don't think that this should be written off so quickly due to the previous theme projects. An administration theme is a bit different as the deliverable is much clearer in focus than "create a new core theme". Any work that is done here should first start with a brief analysis of other systems (Wordpress, Expression Engine, Joomla and Movable Type come to mind). After some research, anyone implementing an admin theme will be in a much better starting place to come up with solutions that work.
As for mentors for an application such as this, I think that it would be possible to find the right resources. :)
I think the idea is that this is more than a theme
At least that's what I read from this:
"I'm also aware of other efforts to improve Drupal usability, such as the rootcandy theme. While I think it's very promising, it's also 'merely' a theme. It does nothing to close the gap between the user's mental model and the system's mental model, the developer-oriented language and concepts used throughout, or the akward ordering in the administration menu (which was made painfully clear in the latest usability study)."
I think this is about taking some of the usability issues that the UMN team found (and other usability research) and incorporating those into Drupal core. Which sounds awesome. Also hard. We haven't historically had a great deal of luck with SoC projects that did stuff to core; they usually end up as a patch hovering about uncommitted for years, which is a sucky way to end up. :(
I think the only way for this to work is to come up with a more detailed proposal that identifies a series of usability issues and their solutions, and your SoC project becomes solving a collection of those.
Also, maybe pull ideas from here?
http://groups.drupal.org/node/9474
Some more feedback
Jeroen,
Seems like changing Drupal's IA is way out of scope for this project. Focus always helps.
I think this is the heart of what you are after. I love your words, "close the gap between the user's mental model and the system's mental mode." I personally think that working on educational materials that target answering this question is actually the most efficient way of getting at this problem. You are suggesting getting at this programatically. But it isn't clear what programmatic angle you are taking on this. Clarifying that would help.
Keep pluggin' away at this!
Help API
One other approach to closing the gap between mental models and the system's model could include the Help system.
While I'm not sure I follow the install profile idea. The problem I see with install profiles in this domain is that users who don't know Drupal don't know enough to install with a profile other than the default profile and once they have a site with a little bit of content having to erase in order to re-install with a new install profile is a huge pain.
Blog: Adding Understanding | Drupal Developer Search | Drupal Services: Brauer Ranch
An admin theme is a fantastic idea (My 2 cents)
One of the most longstanding and common criticisms of Drupal is the lack of a dedicated administration theme. Steps have been made to make a proper admin theme (Nerdtastic, Rootcandy, CivicSpace) but despite the demand nothing has gained much traction. Having an admin theme is particularly important as Drupal aims to attract more designers to the platform. Having to worry about how a theme effects the administration area and content creation screens is an unnecessary barrier to entry compared to other CMS systems. To make a proper admin theme there has to be a lot of thought and effort put in to make something that has a level of polish and completeness. SoC 2008 might allow enough resources for one effort to gain significant traction. Here's my wishlist of what I'd like to see in such an effort. I'd love for others to expand on a requirements list...
While I do not see the primary objective here would be to create a theme ready for core, any effort should be structured so that it could be considered for possible inclusion in Drupal 7 or later. As a side point, a concerted effort to create an admin theme could point out any deficiencies that make themeing the administration area difficult. Patches and suggestions would be highly valued.
Some more feedback for Jeroen...
Jeroen, to comment on the proposal, I think that the main area to work is defining the scope of you're wanting to do. There is a clear deliverable at the end of the summer - what is it that you're trying to do? Usability testing, re-ordering/improving menus and creating an install profile are all valuable but you can not do all. Choose a single focus, describe how you'd tackle the problem and what will be delivered in the end.
Personally, I think the first step in all of this is to create a general admin interface that works with Drupal as it stands now but is general enough to adapt to interface re-organization. As webchick touched on, trying to improve Drupal's interface and organization is a hard thing to deliver as its dependent on changes to core. As well, for an install profile to leverage an admin theme the theme must come first.
Revised proposal
Hi all, thanks for the great feedback so far! Just wanted to let you know I'm working on a revised proposal, which I hope to post tomorrow.
There are many designers
There are many designers that are far better IMO than HappyCog when it comes to usability. I really do agree that we should have professionals doing this though not just who ever on Drupal.org happens to want to take on the task. Personally I would be looking at examples like Magento or fellows such as http://www.31three.com
vision media
350designs
Print Huge Edmonton Printing Services
Design Inspiration Gallery
This is a really big task
This is a really big task and not an easy one.
You will have to count with all the new functionality which is coming into drupal 7, lots of usability improvements (e.g. node edit screens), and others...
When I've started to work on rootcandy, I wanted to do actually the same thing you want to achieve. I shipped a module which was adding some more functionality to D6, for example ajax calls for admin pages or improving node edit/add screens. Recently I have removed these modules, and trying to build a solid admin theme for D6, while reading and discussing usability improvements and new functionality of D7 on irc or g.d.o
IMHO we need wireframes, then functionality in the core, as most of the usability improvements have to be done there, then theme, which will add some nice design, color module, elements placement (navigation menu, etc...) which can be then shipped with core.
Agreed.
Breaking up the tasks is key here. Do you want to create the theme suitable for an admin interface? Another approach would be a helper module that improves a certain area (ie. help, content submission, the dashboard). Keep things manageable and account for planning, and testing.
Of course new themes and
Of course new themes and stuff are nice. I feel that merely reasoning that we need something is a community proposal, as opposed to a student proposal.
Why not post some mockups of what you can do and what you have in mind?
Whats needed is a new admin interface
I think whats needed is a new admin interface that themes can be built on and modules can hook into (if hook is the right term.)
Producing the mockup for the interface is nearly half the job, coding it is the other half. I do not think such a task can be handled by a single person, let alone 2. You would need one student and mentor to create the mockups, another student and mentor to create patches or code changes. Thats four persons of which only two (the programming student and programming mentor) get to do any actual coding.
As Sign stated
If a full fledged admin theme (images, graphics, etc..) is to be created, the grand total number of participants at minimum would be 6:
student and mentor for wire frames
student and mentor for code changes in core to allow the new interface to work.
student and mentor for creating the visual elements (images, banners, etc.) and then coding it in.
Sorry, but there's no way that's going to happen.
We will probably get at most 20 slots. We can't possibly take 6 of them up for one project. And even if we wanted to, there's a strict requirement for there to be code that comes out of Summer of Code, which means no students dedicated to wireframes, images, banners, etc.
However, one student could do wireframing and images in addition to coding it up. It's just that there needs to be an end-product that comes in the form of PHP/HTML/CSS, not documentation. I'm also dubious that 6 different people working on different aspects of something would result in a better outcome than one person focusing solely on one project.
To clarify the number 6
To clarify my previous statement, the 6 persons meant 3 students and 3 mentors.
It is possible that the wire framer could code up the theme (if they have the skills to do so,) I'm not entirely certain they would be able to produce images as well.
A base admin theme along the lines of framework, hunchbaque and zen could be created if images were skipped.
Oops, silly math. :)
Even still, 3 slots is an awful lot to allocate to one project. The most we've ever done was 2 for a project. Each time we do that, that's one fewer project that gets accepted, so it'd have to be very well specced out and very important to the project. This definitely qualifies as important, but I'm concerned atm about the scope and extent, and don't want to expend 2+ slots on projects that will involve a month or more of dithering about what exactly is going to be implemented.
The other thing I don't like about this approach (and which I think is actually illegal by the SoC rules) is then one student getting paid becomes dependent on another student getting their work done. If the student in charge of wireframing ends up going on vacation for 2 months, the student in charge of implementation has no project. I had this problem to an extent w/ the Quiz module that I did in SoC 2005, and it is a sucky situation to be in when your partner ends up not pulling through. :\
If we put 2+ students on a project, their work needs to NOT be dependent on the other, and I don't really see a way for this to work in this proposal. So I'm pretty -1 to allocating more than a single slot for this proposal, unless we can figure out something better.
correct. we need to maximize
correct. we need to maximize resources and simplify things.
The Power of Drupal Categories
A Podcast for Mac Switchers
The scope of the project is
The scope of the project is definitely beyond what can be produced within SOC guidelines but should be pursued none the less.
I stated out the earlier details as the nature of interface work is such that, for all subsequent work to proceed, the prototypes have to be finalized or near a state of acceptance before a word or code or image can be created without risk of being trashed if prototyping specs change.
Prototyping/wire framing the easiest to use interface, making it look easy on the eyes and implementing it in rock solid code, unfortunately is not a one or two man job and while a great proposal, GSOC just isn't enough to support it.
Completely agreed
A student wanting to do this needs to scope this to a task they can do themselves. Base information architecture, theme design and implementation could be done as a stand alone project in my opinion. This would require no changes to Drupal beyond the theming layer. If another student wanted to improve the admin interface in another way that could be structured as a separate application that compliments this but is not dependent on admin theme changes.
We need two interfaces
One for admin root users and one for editor-style admin interfaces - basically people who need/should not touch performance settings etc. This (editor) interface could be inline, e.g. wherever an editable content exists.
I am sure for either of the interfaces we require extensive wireframing. Possibly Drupal Association could hire some IA experts to do this?
Possibly...
Not in time for them to be done with the wireframing by SoC, though. :(