Do your clients send you presents? If not, maybe we can figure it out together, lets talk about D7UX.

Posted by Chuck Vose Fri, 23 Jul 2010 17:35:00 GMT

Do your clients love you with such a furious passion that it borders on problematic? Do you find new customers calling you and saying things like, “I must have your services! My friend has been bugging me all week to call you. Seriously, I just want him to stop camping out on my lawn. It’s scaring the children.”

I found this on my desk the other day and I found myself filled with a sense of joy and satisfaction. I have to admit though, it wasn’t from a customer; but what if it were? What if my relationship with our clients was so good that they found themselves thinking about me when they were at the science museum? Can anyone argue that this would be a bad thing?

Dinosaur drawing present

No, of course your clients don’t do that yet. But we can have dreams can’t we? This post marks the beginning of a long journey to figure out what we need to do, as programmers, managers, and as a community, to make Drupal so filled with rainbows that the concept of using anything other than Drupal is just the domain of masochists.

D7UX, the U stands for Unicorns.

D7UX is one of, I believe, the largest group attempts to improve the user experience of content creators to date. Certainly there are bigger movements in the Drupal community, hell, D7 itself is just absolutely amazing, but I’m not sure that there are other communities that have a centralized structure that’s strong enough to facilitate movements like D7UX, D7AX, D7CX, and the myriad other groups.

But the most wonderful thing about D7UX is that I know, in my artichoke of hearts, that it’s going to bring Drupal out of the dark ages and drag every other CMS with it. UX is singlehandedly the biggest complaint I hear about Drupal, nobody is seeing the absolute beauty of Rubik/Cube or the new D7 default theme!

CMSs are entering a new era, we know how to manage content on the web, we know roughly how to make it scale at the small to medium end, some might say we even understand i18n a little bit, now we get to focus on things like making users deliriously happy all the time. Drupal is one of the first post-modern web application frameworks; it is not a stretch to say that the Drupal community is pushing the boundaries of what people thought was a good user experience.

So while D7UX is working on making core a positive experience how do we apply their principles in our own work? We cannot just idly rely on others to do this for us, we must also keep these things in mind when we program.

Print these principles and laminate them. Then put stickers of ponies on the card to remind of the feelings you got when you saw your first pony: that’s what we want our clients to feel when they work on their site.

D7UX’s Main Principles:
  1. Make the most frequent tasks easy and less frequent tasks achievable
  2. Design for the 80%
  3. Privilege the Content Creator
  4. Make the default settings smart

Continuation

On monday I will elaborate on point one and talk about using Drupal’s excellent menuing system to make the most frequent tasks easy and fast. We’re also going to talk about some default roles and modules that make user management worlds easier. There is no reason for D6 people to wait to improve user experience.

For now I want you to have my Main Principles:
  1. My clients will be so in love with the site that they will personally purchase sausages and send them to me to placate my terrible hunger
  2. My clients’ users will be so overjoyed that they will recommend the site to everyone they know which will allow me to have fun with big problems like scaling and high performance backends
  3. I will do more for my clients than I knew was possible, I will push the boundaries of UX and I will always keep the main principles in mind when I build software

Print that and laminate it too. But put more stickers on my version, because we’re awesome and stickers make the whole affair more serious. Only serious projects get the good stickers.

My principles and their unicorn sponsors

Posted in ,  | Tags , , , , , , ,  | no comments

Drupal snippets #1 (Views exposed filters, F5 tweaks)

Posted by Chuck Vose Fri, 09 Jul 2010 23:50:00 GMT

Cross-posted at the Metaltoad Blog

While I’m certain that I could never work up to the standards of Peter Cooper his “Interesting Ruby Tidbits That Don’t Need Separate Posts” series was a great help to me when I was a ruby developer. You can see the original here: IRTTDNSP #1. I’ve not found similar for the Drupal community but I believe a lot of the things I do during the week are interesting but not at all worthy of a complete post of their own. So this will be my attempt to categorize and commit those very thoughts to memory. I hope that even one of these things sparks something for you.

How to get Views’ exposed filters to display in a block

If you create a block display and have some exposed filters you may have trouble getting them to actually show up. The problem is that blocks don’t seem to like to display their exposed filters unless two prerequisites are met: there must be a full page display somewhere and it must have a path, the block must be set to use ajax. I would have never guessed this either but if you look at the requests that are going across the wire they’re going to that page display and the results are coming back over ajax.

How to reorder taxonomy terms in Views’ exposed filters

On that same page we realized that we needed to order the dropdown in a reasonable way in part just to keep people from using it on the awards day to stave off some of the traffic. Analysis of traffic suggests we actually got the ordering wrong but whatever, you just want to know how to reorder taxonomy terms in an exposed filter.

Emmys reordered taxonomies

Despite the ordering that Views seems to be suggesting below, the actual display order of terms is determined by the taxonomy weights page at /admin/content/taxonomy/. So you can feel confident that even though views doesn’t have a means to order your taxonomy selections, they will be ordered for you. Now the real question is though, is it possible to reorder those terms on just one page and not on another? I don’t know, maybe I’ll get to post about that later.

Views exposed filter settings for taxonomy

How to get an F5 Load Balancer to stop putting the Vary headers on your responses

When you’re using a CDN like Akamai having a Varies header in your response absolutely kills your caching despite all the hard work drupal puts into getting things right. We were seeing about 50-75% cachability through Akamai because of it. Mostly this was because Akamai couldn’t cache the JS/CSS which was clearly incorrect. After we figured out that it was the Varies header (props to Grendzy as usual :P), it was a hop skip and a jump to figure out which settings could be causing the actual problem.

Turns out the Varies header setting isn’t the culprit though it does in fact fix the problem we were having it also introduces some others. The culprit is in fact having Browser Workarounds on which fixes IE6 and gzip and not having HTTP/1.0 Requests on. Of course the manual doesn’t really describe what’s going on so massive props out to spark on the F5 forums for answering this question before I had the chance to ask it.

F5 settings for fixing the Varies header

Conclusion

I’ve run out of time but I’d be grateful for any feedback. If people don’t find this useful I’ll not post it on planet but if you do please keep reading and encouraging me with your great comments.

Posted in ,  | Tags , , , , , , ,  | 2 comments