SlideShare une entreprise Scribd logo
1  sur  100
Drupal UI Tweaks
   THE OTHER 20%


       Darko Hrgovic
    Agentic Digital Media
    http://www.agentic.ca
        darko_hrgovic
The Goal


         To discuss our place in
Drupal’s usability evolution and reputation
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.


We have core expert processes
around web development and
using online media for good.
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.               •   8 people - 20 sites per year

We have core expert processes
around web development and
using online media for good.
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.               •   8 people - 20 sites per year
                                  •   Strategy/Design/Build
We have core expert processes
around web development and
using online media for good.
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.               •   8 people - 20 sites per year
                                  •   Strategy/Design/Build
We have core expert processes
around web development and
                                  •   Social mission organizations
using online media for good.
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.               •   8 people - 20 sites per year
                                  •   Strategy/Design/Build
We have core expert processes
around web development and
                                  •   Social mission organizations
using online media for good.      •   Digital media
Agentic Digital Media

Agentic is the human web
agency. We authentically engage
real people online.               •   8 people - 20 sites per year
                                  •   Strategy/Design/Build
We have core expert processes
around web development and
                                  •   Social mission organizations
using online media for good.      •   Digital media
                                  •   Digital ecology
Topics of discussion
Topics of discussion



•   Usability defined - you might be surprised
Topics of discussion



•   Usability defined - you might be surprised
•   A process towards more usable sites
Topics of discussion



•   Usability defined - you might be surprised
•   A process towards more usable sites
•   Usable UI tips and tweaks
“Usability is the ease of use
and learnability of a human-
made object.”
                http://en.wikipedia.org/wiki/Usability
Learnability
Learnability


•   “It doesn’t work like that blog cms I’m used to”
Learnability


•   “It doesn’t work like that blog cms I’m used to”
•   “Hard” often means “uncomfortable with the
    learning curve”
Learnability


•   “It doesn’t work like that blog cms I’m used to”
•   “Hard” often means “uncomfortable with the
    learning curve”
•   Big question: how do we increase usability/
    learnability?
Learnability


•   “It doesn’t work like that blog cms I’m used to”
•   “Hard” often means “uncomfortable with the
    learning curve”
•   Big question: how do we increase usability/
    learnability?
•   Luckily, there is a plan . . .
Drupal UX
http://www.d7ux.org
Drupal UX
            http://www.d7ux.org


1. Make the most frequent tasks easy and less
   frequent tasks achievable
Drupal UX
            http://www.d7ux.org


1. Make the most frequent tasks easy and less
   frequent tasks achievable
2. Design for the 80%
Drupal UX
            http://www.d7ux.org


1. Make the most frequent tasks easy and less
   frequent tasks achievable
2. Design for the 80%
3. Privilege the Content Creator
Drupal UX
            http://www.d7ux.org


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
Obvious D6 and D7
UX Improvements
Obvious D6 and D7
        UX Improvements

•   D6 drag-n-drop
Obvious D6 and D7
            UX Improvements

•   D6 drag-n-drop
•   D7 big wins:
    •   Better grouping of common tasks in admin theme,
        customizable toolbar, etc

    •   Overlays
        •   caveat about accessibility
From Drupal UX
 to Product UX
From Drupal UX
            to Product UX
•   Framework versus product
From Drupal UX
            to Product UX
•   Framework versus product
•   If we know the use case, we can address the 20%
From Drupal UX
                 to Product UX
•   Framework versus product
•   If we know the use case, we can address the 20%
•   Goals
    •   Streamline client workflow = happy client
        •   We’ve heard it said: A client’s job is NOT to run their website, but
            to run their business!

    •   Developers feel good about a highly usable product

    •   Drupal gets a good usability rep from happy client
Challenges to
delivering better UX
Challenges to
        delivering better UX
•   Clients want more features, and expect that usability
    is included
Challenges to
         delivering better UX
•   Clients want more features, and expect that usability
    is included
•   Since usability is project-specific, clients need to be
    socialized into the fact that their 20% use case takes
    time and budget to address
Challenges to
         delivering better UX
•   Clients want more features, and expect that usability
    is included
•   Since usability is project-specific, clients need to be
    socialized into the fact that their 20% use case takes
    time and budget to address
•   Requires earlier (and more) client involvement, which
    means more management
Challenges to
         delivering better UX
•   Clients want more features, and expect that usability
    is included
•   Since usability is project-specific, clients need to be
    socialized into the fact that their 20% use case takes
    time and budget to address
•   Requires earlier (and more) client involvement, which
    means more management
•   Challenges are similar to client buy-in required for
    agile, responsive design or hybrid billing
The 3 Cs of Drupal UX
The 3 Cs of Drupal UX

•   Core
    •   A small few
The 3 Cs of Drupal UX

•   Core
    •   A small few

•   Contrib UX
    •   Some of us
The 3 Cs of Drupal UX

•   Core
    •   A small few

•   Contrib UX
    •   Some of us

•   Custom UX
    •   All of us
Contrib UX
Contrib UX


•   The obvious: admin_menu
    •   Groups common tasks

    •   We can barely use a D6 site without it
Contrib UX


•   The obvious: admin_menu
    •   Groups common tasks

    •   We can barely use a D6 site without it

•   D7 toolbar
    •   And various “improved toolbar” modules
Prioritizing UX
String overrides usability thread: http://drupal.org/node/234334
“I'm not sure I like how "Enabled" looks in the table header row. It pushes the text
fields to the right and makes it look like the columns are misaligned. I also like
having the ability to select all the rows at the same time. Letting the user know
what the checkboxes are for is important though, and I'm no usability expert ...”
                                                                             Rob Loach
Beyond admin_menu/ toolbar
Beyond admin_menu/ toolbar

•   Further to “Make the most frequent tasks easy,”
    make the most frequent tasks easy to find
Beyond admin_menu/ toolbar

•   Further to “Make the most frequent tasks easy,”
    make the most frequent tasks easy to find
•   Group most frequent editorial tasks into a single
    menu or block & make it somewhat pretty
    •   “learnability” benefits from color queues in menus, etc
Beyond admin_menu/ toolbar

•   Further to “Make the most frequent tasks easy,”
    make the most frequent tasks easy to find
•   Group most frequent editorial tasks into a single
    menu or block & make it somewhat pretty
    •   “learnability” benefits from color queues in menus, etc

•   Contextual links module in D7 core - like theme
    “block edit hovers” in D6 - http://drupal.org/documentation/
    modules/contextual
An example of pretty groupings
Our clients understand blocks
Our clients understand blocks


•   We use blocks because most of our clients can
    easily learn to use them
Our clients understand blocks


•   We use blocks because most of our clients can
    easily learn to use them
•   We don’t use context or panels because, as with
    views, we find that our clients find them too
    difficult to learn
Our clients understand blocks


•   We use blocks because most of our clients can
    easily learn to use them
•   We don’t use context or panels because, as with
    views, we find that our clients find them too
    difficult to learn
•   But those are wicked awesome modules
Custom UX
Custom UX


•   The Wild West of usability
Custom UX


•   The Wild West of usability
•   Do our best not to degrade UX for the 80%
Custom UX


•   The Wild West of usability
•   Do our best not to degrade UX for the 80%
•   Leave a ton of documentation in our wake (both for
    users and for future developers)

    •   “Did you patch core according to that google doc that’s not
        referenced anywhere?“ - really, this just happened to us
Where’s the Content?
Where’s the Content?

•   Train as early as possible on a “content alpha”
Where’s the Content?

•   Train as early as possible on a “content alpha”
•   Watch them use it and act as a guide
    •   There is no greater moment of illumination in a Drupal project
        than watching someone use it. (me)

    •   Record this session (readytalk) - really, it makes everyone
        pay attention
Where’s the Content?

•   Train as early as possible on a “content alpha”
•   Watch them use it and act as a guide
    •   There is no greater moment of illumination in a Drupal project
        than watching someone use it. (me)

    •   Record this session (readytalk) - really, it makes everyone
        pay attention

•   Tweak it to the use case as much as possible
Where’s the Content?

•   Train as early as possible on a “content alpha”
•   Watch them use it and act as a guide
    •   There is no greater moment of illumination in a Drupal project
        than watching someone use it. (me)

    •   Record this session (readytalk) - really, it makes everyone
        pay attention

•   Tweak it to the use case as much as possible
•   Rinse, repeat, as many iterations as possible
Don’t underestimate the basics
        of learnability
Don’t underestimate the basics
        of learnability



•   Help text
Don’t underestimate the basics
        of learnability



•   Help text
•   Examples
Help, please!
Help, please!

•   “Type something here” is not very helpful - be as
    specific as possible
Help, please!

•   “Type something here” is not very helpful - be as
    specific as possible
•   Include dimensions or ratios for images, stylistic
    examples for text, dates, etc
    •   “Upload a screen capture to be used on the training
        landing page. The image will be resized to 100px wide
        (height will scale accordingly).”
Help, please!

•       “Type something here” is not very helpful - be as
        specific as possible
•       Include dimensions or ratios for images, stylistic
        examples for text, dates, etc
    •     “Upload a screen capture to be used on the training
          landing page. The image will be resized to 100px wide
          (height will scale accordingly).”

•       Nobody will see help text at .6em
    •     “Upload a screen capture to be used on the training landing page. The image will be resized to 100px wide (height will scale accordingly).”
Information Proximity
Information Proximity
•   Proximity of documentation becomes even more
    important for certain types of projects
    •   Staff turnover
        •   Student organizations
            •   Repeat training/documentation is rarely as intense when new features
                added

            •   Train the trainer gets watered down over time

    •   Developer turnover
        •   RTFM doesn’t work when there’s no M, or if nobody knows
            where in the F the M is

        •   We use blocks to place important information where it is most
            likely to be noticed (like the available updates page)
Provide Examples
Provide Examples


•   Example node(s) for wysiwyg styles
Provide Examples


•   Example node(s) for wysiwyg styles
•   For complicated elements, provide copy/paste
    examples
Provide Examples


•   Example node(s) for wysiwyg styles
•   For complicated elements, provide copy/paste
    examples
•   Examples better if they reflect client’s style guide
Provide Examples


•   Example node(s) for wysiwyg styles
•   For complicated elements, provide copy/paste
    examples
•   Examples better if they reflect client’s style guide
•   Clone module in D6 & D7
UI tweak examples
UI tweak examples


•   Better content sorting in D6 - in D7 core!
UI tweak examples


•   Better content sorting in D6 - in D7 core!
•   OG user management autocomplete with
    hook_form_alter - free in D7!
UI tweak examples


•   Better content sorting in D6 - in D7 core!
•   OG user management autocomplete with
    hook_form_alter - free in D7!
•   Modal noderef in D6 - not in D7 yet
UI tweak examples


•   Better content sorting in D6 - in D7 core!
•   OG user management autocomplete with
    hook_form_alter - free in D7!
•   Modal noderef in D6 - not in D7 yet
•   Nebulous usability issues with wysiwyg editors,
    images, and file interfaces
Better Content Management D7
Better Content Management in
                D6/D7 with VBO




http://drupal.org/project/views_bulk_operations and its list of “complementary modules”
D6 OG user management tweak
Before




After
D6 OG user management tweak
hook_form_alter
if ($form_id == 'og_add_users') {
    // Add our custom pre-submit function in front of the regular submit handler
    $form['og_names']['#type'] = 'textfield';
    $form['og_names']['#autocomplete_path'] = 'mymodule/user_autocomplete';
  }



hook_menu
$items['mymodule/user_autocomplete'] = array(
   'title' => 'OG user autocomplete',
   'page callback' => 'mymodule_user_autocomplete_multiple',
   'access callback' => 'user_access',
   'access arguments' => array('access user profiles'),
   'type' => MENU_CALLBACK,
   'file' => ‘mymodule.pages.inc',
);
D6 OG user management tweak
mymodule.pages.inc
// Borrowed from tags autocomplete
function mymodule_user_autocomplete_multiple($string = '') {
  // The user enters a comma-separated list of users. We only autocomplete the last user.
  $array = drupal_explode_tags($string);
  // Fetch last user
  $last_string = trim(array_pop($array));
  $matches = array();
  if ($last_string != '') {
    $result = db_query_range("SELECT name FROM {users} WHERE LOWER(name)
LIKE LOWER('%s%%')", $last_string, 0, 10);
    $prefix = count($array) ? implode(', ', $array) .', ' : '';
    while ($user = db_fetch_object($result)) {
      $n = $user->name;
      $matches[$prefix . $n] = check_plain($user->name);
    }
  }
  drupal_json($matches);
}
OG D7 - autocomplete and
       meta data
Entity references in D6:
         nodereference




You might notice a few extras here.
Modal noderef
Modal noderef
Modal noderef requirements
Modal noderef requirements

•   noderef cck
Modal noderef requirements

•   noderef cck
•   modal_noderef http://drupal.org/project/
    modal_noderef
    •   automodal

    •   modalframe (core in D7)

    •   edit links are custom, and will need to be integrated into
        D7 entity reference options
// borrowed from automodal module
                                                  (function ($) {
                                                    /**
                                                     * Add modal behaviour to all links with the given class.
                                                     */
                                                    Drupal.behaviors.YLRModal = function () {
                                                      var selector = '.ylr-modal';
                                                      var settings = {
                                                        autoResize: true,
                                                        autoFit: true,
                                                        width: 700,
                                                        height: 500
                                                      }
                                                      // Add a click handler to each modal link.
                                                      $(selector).click(function () {
                                                        $this = $(this);
                                                        settings.url = $this.attr('href') || '#';
$path = drupal_get_path('module', 'mymodule');
                                                        if (settings.url.indexOf('?') >= 0) {
drupal_add_js($path . '/js/mymodule_modal.js');
                                                          settings.url += '&'
                                                        }
                                                        else {
                                                          settings.url += '?'
                                                        }
                                                        // Add the flag to the end to make sure that the modal is opened correctly.
                                                        settings.url += 'automodal=true';
                                                        Drupal.modalFrame.open(settings);
                                                        return false;
                                                      });
                                                    }
                                                    $("a.modalframe-processed").each(function() {
                                                      alert('this');
                                                      $(this).attr('target', '_self');
                                                    });
                                                  })(jQuery);
Entity relationships in D7
Entity relationships in D7


•   References module - continues noderef tradition
    with no modal in D7
Entity relationships in D7


•   References module - continues noderef tradition
    with no modal in D7
•   Relation module - wow, but some hot sauce will be
    required to make it usable/learnable
Cheers!

darko@agentic.ca

Contenu connexe

Tendances

Why your product team should use User Story Mapping to link user research to ...
Why your product team should use User Story Mapping to link user research to ...Why your product team should use User Story Mapping to link user research to ...
Why your product team should use User Story Mapping to link user research to ...John Murray
 
Enterprise Usability: The Olive Garden Principle
Enterprise Usability: The Olive Garden PrincipleEnterprise Usability: The Olive Garden Principle
Enterprise Usability: The Olive Garden PrincipleDylan Wilbanks
 
Designing a Sustainable Enterprise UX Process
Designing a Sustainable Enterprise UX ProcessDesigning a Sustainable Enterprise UX Process
Designing a Sustainable Enterprise UX Processuxpin
 
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)myplanetsteph
 
Building a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case StudyBuilding a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case Studyuxpin
 
I'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
I'll gladly pay you Tuesday for a hamburger today: Managing UX DebtI'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
I'll gladly pay you Tuesday for a hamburger today: Managing UX DebtJack Moffett
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries themystic_ca
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practicesuxpin
 
The Future of Enterprise UX Design: An Asana & Quickbooks Case Study
The Future of Enterprise UX Design: An Asana & Quickbooks Case StudyThe Future of Enterprise UX Design: An Asana & Quickbooks Case Study
The Future of Enterprise UX Design: An Asana & Quickbooks Case Studyuxpin
 

Tendances (11)

Why your product team should use User Story Mapping to link user research to ...
Why your product team should use User Story Mapping to link user research to ...Why your product team should use User Story Mapping to link user research to ...
Why your product team should use User Story Mapping to link user research to ...
 
Enterprise Usability: The Olive Garden Principle
Enterprise Usability: The Olive Garden PrincipleEnterprise Usability: The Olive Garden Principle
Enterprise Usability: The Olive Garden Principle
 
Designing a Sustainable Enterprise UX Process
Designing a Sustainable Enterprise UX ProcessDesigning a Sustainable Enterprise UX Process
Designing a Sustainable Enterprise UX Process
 
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)
Getting The Most Out of Open Source and Drupal (Michael Meyers, Acquia)
 
Building a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case StudyBuilding a Design System: A Practitioner's Case Study
Building a Design System: A Practitioner's Case Study
 
I'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
I'll gladly pay you Tuesday for a hamburger today: Managing UX DebtI'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
I'll gladly pay you Tuesday for a hamburger today: Managing UX Debt
 
Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries Mozilla Developer Derby October 2012: Media Queries
Mozilla Developer Derby October 2012: Media Queries
 
Hacking UX Zombies
Hacking UX ZombiesHacking UX Zombies
Hacking UX Zombies
 
Agile Prototyping Best Practices
Agile Prototyping Best PracticesAgile Prototyping Best Practices
Agile Prototyping Best Practices
 
The Future of Enterprise UX Design: An Asana & Quickbooks Case Study
The Future of Enterprise UX Design: An Asana & Quickbooks Case StudyThe Future of Enterprise UX Design: An Asana & Quickbooks Case Study
The Future of Enterprise UX Design: An Asana & Quickbooks Case Study
 
Drupal & You
Drupal & YouDrupal & You
Drupal & You
 

En vedette

2010 Bmw 5 Series Sports Wagon Virginia Beach
2010 Bmw 5 Series Sports Wagon Virginia Beach2010 Bmw 5 Series Sports Wagon Virginia Beach
2010 Bmw 5 Series Sports Wagon Virginia BeachCheckered Flag BMW
 
2010 Bmw 5 Series Virginia Beach
2010 Bmw 5 Series Virginia Beach2010 Bmw 5 Series Virginia Beach
2010 Bmw 5 Series Virginia BeachCheckered Flag BMW
 
2010 Bmw M5 M6 Series Virginia Beach
2010 Bmw M5 M6 Series Virginia Beach2010 Bmw M5 M6 Series Virginia Beach
2010 Bmw M5 M6 Series Virginia BeachCheckered Flag BMW
 
Graph Space Viewer
Graph Space ViewerGraph Space Viewer
Graph Space Viewerrydark
 
Drupal Theming An Introduction
Drupal Theming   An IntroductionDrupal Theming   An Introduction
Drupal Theming An IntroductionLauren Roth
 
Drupal.js: Best Practices for Managing Javascript in Drupal
Drupal.js: Best Practices for Managing Javascript in DrupalDrupal.js: Best Practices for Managing Javascript in Drupal
Drupal.js: Best Practices for Managing Javascript in DrupalBryan Braun
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectIztok Smolic
 
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!Karen McGrane
 

En vedette (10)

2010 Bmw 5 Series Sports Wagon Virginia Beach
2010 Bmw 5 Series Sports Wagon Virginia Beach2010 Bmw 5 Series Sports Wagon Virginia Beach
2010 Bmw 5 Series Sports Wagon Virginia Beach
 
2010 Bmw 5 Series Virginia Beach
2010 Bmw 5 Series Virginia Beach2010 Bmw 5 Series Virginia Beach
2010 Bmw 5 Series Virginia Beach
 
2010 Bmw M5 M6 Series Virginia Beach
2010 Bmw M5 M6 Series Virginia Beach2010 Bmw M5 M6 Series Virginia Beach
2010 Bmw M5 M6 Series Virginia Beach
 
Graph Space Viewer
Graph Space ViewerGraph Space Viewer
Graph Space Viewer
 
Culture
CultureCulture
Culture
 
Moral Development
Moral DevelopmentMoral Development
Moral Development
 
Drupal Theming An Introduction
Drupal Theming   An IntroductionDrupal Theming   An Introduction
Drupal Theming An Introduction
 
Drupal.js: Best Practices for Managing Javascript in Drupal
Drupal.js: Best Practices for Managing Javascript in DrupalDrupal.js: Best Practices for Managing Javascript in Drupal
Drupal.js: Best Practices for Managing Javascript in Drupal
 
Top 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal projectTop 20 mistakes you will make on your 1st Drupal project
Top 20 mistakes you will make on your 1st Drupal project
 
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!
Creating Usable Websites with Interaction Design Patterns: Do It With Drupal!
 

Similaire à Drupal UI Tweaks PNW Drupal Summit

UX design for every screen
UX design for every screenUX design for every screen
UX design for every screenFour Kitchens
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product managementPhil Barrett
 
It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...Suzanne Dergacheva
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slidesSameer Al-Sakran
 
Targeted documentation STC Houston, Mar 20, 2012
Targeted documentation   STC Houston, Mar 20, 2012Targeted documentation   STC Houston, Mar 20, 2012
Targeted documentation STC Houston, Mar 20, 2012STC_Houston
 
Dear Designers Love Developers
Dear Designers Love DevelopersDear Designers Love Developers
Dear Designers Love Developersjskulski
 
WordPress: a scalable solution for a magazine publishing business
WordPress: a scalable solution for a magazine publishing businessWordPress: a scalable solution for a magazine publishing business
WordPress: a scalable solution for a magazine publishing businessKate Kendall
 
Drupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteDrupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteiFactory
 
Better User Experience for WordPress Sites
Better User Experience for WordPress SitesBetter User Experience for WordPress Sites
Better User Experience for WordPress Sitesaungstad
 
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)Rosenfeld Media
 
ux_standards_slides
ux_standards_slidesux_standards_slides
ux_standards_slidesWarren Tsang
 
Improving your site's usability - what users really want
Improving your site's usability - what users really wantImproving your site's usability - what users really want
Improving your site's usability - what users really wantleisa reichelt
 
web- design- course - continued - Learning
web- design- course - continued - Learningweb- design- course - continued - Learning
web- design- course - continued - LearningContinued Learning
 
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...UserTesting
 
Product development - From Idea to Reality - VYE Leader Talk
Product development - From Idea to Reality - VYE Leader TalkProduct development - From Idea to Reality - VYE Leader Talk
Product development - From Idea to Reality - VYE Leader TalkBui Hai An
 
Usability & Agile Development
Usability & Agile DevelopmentUsability & Agile Development
Usability & Agile Developmentbinuvt
 
Designing Intuitive SharePoint Sites: The Science of "Easy to Use"
Designing Intuitive SharePoint Sites: The Science of "Easy to Use" Designing Intuitive SharePoint Sites: The Science of "Easy to Use"
Designing Intuitive SharePoint Sites: The Science of "Easy to Use" Marcy Kellar
 
User Experience Design: an Overview
User Experience Design: an OverviewUser Experience Design: an Overview
User Experience Design: an OverviewJulie Grundy
 

Similaire à Drupal UI Tweaks PNW Drupal Summit (20)

UX design for every screen
UX design for every screenUX design for every screen
UX design for every screen
 
UX, Agile and product management
UX, Agile and product managementUX, Agile and product management
UX, Agile and product management
 
It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...It's All About the Experience: What I’ve learnt from talking to thousands of ...
It's All About the Experience: What I’ve learnt from talking to thousands of ...
 
Full stack conference talk slides
Full stack conference talk slidesFull stack conference talk slides
Full stack conference talk slides
 
Drupal for Nonprofits
Drupal for NonprofitsDrupal for Nonprofits
Drupal for Nonprofits
 
Targeted documentation STC Houston, Mar 20, 2012
Targeted documentation   STC Houston, Mar 20, 2012Targeted documentation   STC Houston, Mar 20, 2012
Targeted documentation STC Houston, Mar 20, 2012
 
Dear Designers Love Developers
Dear Designers Love DevelopersDear Designers Love Developers
Dear Designers Love Developers
 
WordPress: a scalable solution for a magazine publishing business
WordPress: a scalable solution for a magazine publishing businessWordPress: a scalable solution for a magazine publishing business
WordPress: a scalable solution for a magazine publishing business
 
Drupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries websiteDrupal: Northeastern University Libraries website
Drupal: Northeastern University Libraries website
 
Better User Experience for WordPress Sites
Better User Experience for WordPress SitesBetter User Experience for WordPress Sites
Better User Experience for WordPress Sites
 
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
Resilient Enterprise Design (Craig Villamor at Enterprise UX 2017)
 
ux_standards_slides
ux_standards_slidesux_standards_slides
ux_standards_slides
 
Improving your site's usability - what users really want
Improving your site's usability - what users really wantImproving your site's usability - what users really want
Improving your site's usability - what users really want
 
web- design- course - continued - Learning
web- design- course - continued - Learningweb- design- course - continued - Learning
web- design- course - continued - Learning
 
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...
[UserTesting Webinar] Tackling B2B and B2C challenges: User Research at HomeA...
 
UX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, CopenhagenUX in an agile environment, 6 December 2016, Copenhagen
UX in an agile environment, 6 December 2016, Copenhagen
 
Product development - From Idea to Reality - VYE Leader Talk
Product development - From Idea to Reality - VYE Leader TalkProduct development - From Idea to Reality - VYE Leader Talk
Product development - From Idea to Reality - VYE Leader Talk
 
Usability & Agile Development
Usability & Agile DevelopmentUsability & Agile Development
Usability & Agile Development
 
Designing Intuitive SharePoint Sites: The Science of "Easy to Use"
Designing Intuitive SharePoint Sites: The Science of "Easy to Use" Designing Intuitive SharePoint Sites: The Science of "Easy to Use"
Designing Intuitive SharePoint Sites: The Science of "Easy to Use"
 
User Experience Design: an Overview
User Experience Design: an OverviewUser Experience Design: an Overview
User Experience Design: an Overview
 

Dernier

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr LapshynFwdays
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfSeasiaInfotech2
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 

Dernier (20)

"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
"Federated learning: out of reach no matter how close",Oleksandr Lapshyn
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
The Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdfThe Future of Software Development - Devin AI Innovative Approach.pdf
The Future of Software Development - Devin AI Innovative Approach.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 

Drupal UI Tweaks PNW Drupal Summit

  • 1. Drupal UI Tweaks THE OTHER 20% Darko Hrgovic Agentic Digital Media http://www.agentic.ca darko_hrgovic
  • 2. The Goal To discuss our place in Drupal’s usability evolution and reputation
  • 3. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. We have core expert processes around web development and using online media for good.
  • 4. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. • 8 people - 20 sites per year We have core expert processes around web development and using online media for good.
  • 5. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. • 8 people - 20 sites per year • Strategy/Design/Build We have core expert processes around web development and using online media for good.
  • 6. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. • 8 people - 20 sites per year • Strategy/Design/Build We have core expert processes around web development and • Social mission organizations using online media for good.
  • 7. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. • 8 people - 20 sites per year • Strategy/Design/Build We have core expert processes around web development and • Social mission organizations using online media for good. • Digital media
  • 8. Agentic Digital Media Agentic is the human web agency. We authentically engage real people online. • 8 people - 20 sites per year • Strategy/Design/Build We have core expert processes around web development and • Social mission organizations using online media for good. • Digital media • Digital ecology
  • 9.
  • 11. Topics of discussion • Usability defined - you might be surprised
  • 12. Topics of discussion • Usability defined - you might be surprised • A process towards more usable sites
  • 13. Topics of discussion • Usability defined - you might be surprised • A process towards more usable sites • Usable UI tips and tweaks
  • 14. “Usability is the ease of use and learnability of a human- made object.” http://en.wikipedia.org/wiki/Usability
  • 16. Learnability • “It doesn’t work like that blog cms I’m used to”
  • 17. Learnability • “It doesn’t work like that blog cms I’m used to” • “Hard” often means “uncomfortable with the learning curve”
  • 18. Learnability • “It doesn’t work like that blog cms I’m used to” • “Hard” often means “uncomfortable with the learning curve” • Big question: how do we increase usability/ learnability?
  • 19. Learnability • “It doesn’t work like that blog cms I’m used to” • “Hard” often means “uncomfortable with the learning curve” • Big question: how do we increase usability/ learnability? • Luckily, there is a plan . . .
  • 21. Drupal UX http://www.d7ux.org 1. Make the most frequent tasks easy and less frequent tasks achievable
  • 22. Drupal UX http://www.d7ux.org 1. Make the most frequent tasks easy and less frequent tasks achievable 2. Design for the 80%
  • 23. Drupal UX http://www.d7ux.org 1. Make the most frequent tasks easy and less frequent tasks achievable 2. Design for the 80% 3. Privilege the Content Creator
  • 24. Drupal UX http://www.d7ux.org 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
  • 25. Obvious D6 and D7 UX Improvements
  • 26. Obvious D6 and D7 UX Improvements • D6 drag-n-drop
  • 27. Obvious D6 and D7 UX Improvements • D6 drag-n-drop • D7 big wins: • Better grouping of common tasks in admin theme, customizable toolbar, etc • Overlays • caveat about accessibility
  • 28. From Drupal UX to Product UX
  • 29. From Drupal UX to Product UX • Framework versus product
  • 30. From Drupal UX to Product UX • Framework versus product • If we know the use case, we can address the 20%
  • 31. From Drupal UX to Product UX • Framework versus product • If we know the use case, we can address the 20% • Goals • Streamline client workflow = happy client • We’ve heard it said: A client’s job is NOT to run their website, but to run their business! • Developers feel good about a highly usable product • Drupal gets a good usability rep from happy client
  • 33. Challenges to delivering better UX • Clients want more features, and expect that usability is included
  • 34. Challenges to delivering better UX • Clients want more features, and expect that usability is included • Since usability is project-specific, clients need to be socialized into the fact that their 20% use case takes time and budget to address
  • 35. Challenges to delivering better UX • Clients want more features, and expect that usability is included • Since usability is project-specific, clients need to be socialized into the fact that their 20% use case takes time and budget to address • Requires earlier (and more) client involvement, which means more management
  • 36. Challenges to delivering better UX • Clients want more features, and expect that usability is included • Since usability is project-specific, clients need to be socialized into the fact that their 20% use case takes time and budget to address • Requires earlier (and more) client involvement, which means more management • Challenges are similar to client buy-in required for agile, responsive design or hybrid billing
  • 37. The 3 Cs of Drupal UX
  • 38. The 3 Cs of Drupal UX • Core • A small few
  • 39. The 3 Cs of Drupal UX • Core • A small few • Contrib UX • Some of us
  • 40. The 3 Cs of Drupal UX • Core • A small few • Contrib UX • Some of us • Custom UX • All of us
  • 42. Contrib UX • The obvious: admin_menu • Groups common tasks • We can barely use a D6 site without it
  • 43. Contrib UX • The obvious: admin_menu • Groups common tasks • We can barely use a D6 site without it • D7 toolbar • And various “improved toolbar” modules
  • 44. Prioritizing UX String overrides usability thread: http://drupal.org/node/234334 “I'm not sure I like how "Enabled" looks in the table header row. It pushes the text fields to the right and makes it look like the columns are misaligned. I also like having the ability to select all the rows at the same time. Letting the user know what the checkboxes are for is important though, and I'm no usability expert ...” Rob Loach
  • 46. Beyond admin_menu/ toolbar • Further to “Make the most frequent tasks easy,” make the most frequent tasks easy to find
  • 47. Beyond admin_menu/ toolbar • Further to “Make the most frequent tasks easy,” make the most frequent tasks easy to find • Group most frequent editorial tasks into a single menu or block & make it somewhat pretty • “learnability” benefits from color queues in menus, etc
  • 48. Beyond admin_menu/ toolbar • Further to “Make the most frequent tasks easy,” make the most frequent tasks easy to find • Group most frequent editorial tasks into a single menu or block & make it somewhat pretty • “learnability” benefits from color queues in menus, etc • Contextual links module in D7 core - like theme “block edit hovers” in D6 - http://drupal.org/documentation/ modules/contextual
  • 49. An example of pretty groupings
  • 51. Our clients understand blocks • We use blocks because most of our clients can easily learn to use them
  • 52. Our clients understand blocks • We use blocks because most of our clients can easily learn to use them • We don’t use context or panels because, as with views, we find that our clients find them too difficult to learn
  • 53. Our clients understand blocks • We use blocks because most of our clients can easily learn to use them • We don’t use context or panels because, as with views, we find that our clients find them too difficult to learn • But those are wicked awesome modules
  • 55. Custom UX • The Wild West of usability
  • 56. Custom UX • The Wild West of usability • Do our best not to degrade UX for the 80%
  • 57. Custom UX • The Wild West of usability • Do our best not to degrade UX for the 80% • Leave a ton of documentation in our wake (both for users and for future developers) • “Did you patch core according to that google doc that’s not referenced anywhere?“ - really, this just happened to us
  • 59. Where’s the Content? • Train as early as possible on a “content alpha”
  • 60. Where’s the Content? • Train as early as possible on a “content alpha” • Watch them use it and act as a guide • There is no greater moment of illumination in a Drupal project than watching someone use it. (me) • Record this session (readytalk) - really, it makes everyone pay attention
  • 61. Where’s the Content? • Train as early as possible on a “content alpha” • Watch them use it and act as a guide • There is no greater moment of illumination in a Drupal project than watching someone use it. (me) • Record this session (readytalk) - really, it makes everyone pay attention • Tweak it to the use case as much as possible
  • 62. Where’s the Content? • Train as early as possible on a “content alpha” • Watch them use it and act as a guide • There is no greater moment of illumination in a Drupal project than watching someone use it. (me) • Record this session (readytalk) - really, it makes everyone pay attention • Tweak it to the use case as much as possible • Rinse, repeat, as many iterations as possible
  • 63. Don’t underestimate the basics of learnability
  • 64. Don’t underestimate the basics of learnability • Help text
  • 65. Don’t underestimate the basics of learnability • Help text • Examples
  • 67. Help, please! • “Type something here” is not very helpful - be as specific as possible
  • 68. Help, please! • “Type something here” is not very helpful - be as specific as possible • Include dimensions or ratios for images, stylistic examples for text, dates, etc • “Upload a screen capture to be used on the training landing page. The image will be resized to 100px wide (height will scale accordingly).”
  • 69. Help, please! • “Type something here” is not very helpful - be as specific as possible • Include dimensions or ratios for images, stylistic examples for text, dates, etc • “Upload a screen capture to be used on the training landing page. The image will be resized to 100px wide (height will scale accordingly).” • Nobody will see help text at .6em • “Upload a screen capture to be used on the training landing page. The image will be resized to 100px wide (height will scale accordingly).”
  • 71. Information Proximity • Proximity of documentation becomes even more important for certain types of projects • Staff turnover • Student organizations • Repeat training/documentation is rarely as intense when new features added • Train the trainer gets watered down over time • Developer turnover • RTFM doesn’t work when there’s no M, or if nobody knows where in the F the M is • We use blocks to place important information where it is most likely to be noticed (like the available updates page)
  • 72.
  • 74. Provide Examples • Example node(s) for wysiwyg styles
  • 75. Provide Examples • Example node(s) for wysiwyg styles • For complicated elements, provide copy/paste examples
  • 76. Provide Examples • Example node(s) for wysiwyg styles • For complicated elements, provide copy/paste examples • Examples better if they reflect client’s style guide
  • 77. Provide Examples • Example node(s) for wysiwyg styles • For complicated elements, provide copy/paste examples • Examples better if they reflect client’s style guide • Clone module in D6 & D7
  • 78.
  • 80. UI tweak examples • Better content sorting in D6 - in D7 core!
  • 81. UI tweak examples • Better content sorting in D6 - in D7 core! • OG user management autocomplete with hook_form_alter - free in D7!
  • 82. UI tweak examples • Better content sorting in D6 - in D7 core! • OG user management autocomplete with hook_form_alter - free in D7! • Modal noderef in D6 - not in D7 yet
  • 83. UI tweak examples • Better content sorting in D6 - in D7 core! • OG user management autocomplete with hook_form_alter - free in D7! • Modal noderef in D6 - not in D7 yet • Nebulous usability issues with wysiwyg editors, images, and file interfaces
  • 85. Better Content Management in D6/D7 with VBO http://drupal.org/project/views_bulk_operations and its list of “complementary modules”
  • 86. D6 OG user management tweak Before After
  • 87. D6 OG user management tweak hook_form_alter if ($form_id == 'og_add_users') { // Add our custom pre-submit function in front of the regular submit handler $form['og_names']['#type'] = 'textfield'; $form['og_names']['#autocomplete_path'] = 'mymodule/user_autocomplete'; } hook_menu $items['mymodule/user_autocomplete'] = array( 'title' => 'OG user autocomplete', 'page callback' => 'mymodule_user_autocomplete_multiple', 'access callback' => 'user_access', 'access arguments' => array('access user profiles'), 'type' => MENU_CALLBACK, 'file' => ‘mymodule.pages.inc', );
  • 88. D6 OG user management tweak mymodule.pages.inc // Borrowed from tags autocomplete function mymodule_user_autocomplete_multiple($string = '') { // The user enters a comma-separated list of users. We only autocomplete the last user. $array = drupal_explode_tags($string); // Fetch last user $last_string = trim(array_pop($array)); $matches = array(); if ($last_string != '') { $result = db_query_range("SELECT name FROM {users} WHERE LOWER(name) LIKE LOWER('%s%%')", $last_string, 0, 10); $prefix = count($array) ? implode(', ', $array) .', ' : ''; while ($user = db_fetch_object($result)) { $n = $user->name; $matches[$prefix . $n] = check_plain($user->name); } } drupal_json($matches); }
  • 89. OG D7 - autocomplete and meta data
  • 90. Entity references in D6: nodereference You might notice a few extras here.
  • 95. Modal noderef requirements • noderef cck • modal_noderef http://drupal.org/project/ modal_noderef • automodal • modalframe (core in D7) • edit links are custom, and will need to be integrated into D7 entity reference options
  • 96. // borrowed from automodal module (function ($) { /** * Add modal behaviour to all links with the given class. */ Drupal.behaviors.YLRModal = function () { var selector = '.ylr-modal'; var settings = { autoResize: true, autoFit: true, width: 700, height: 500 } // Add a click handler to each modal link. $(selector).click(function () { $this = $(this); settings.url = $this.attr('href') || '#'; $path = drupal_get_path('module', 'mymodule'); if (settings.url.indexOf('?') >= 0) { drupal_add_js($path . '/js/mymodule_modal.js'); settings.url += '&' } else { settings.url += '?' } // Add the flag to the end to make sure that the modal is opened correctly. settings.url += 'automodal=true'; Drupal.modalFrame.open(settings); return false; }); } $("a.modalframe-processed").each(function() { alert('this'); $(this).attr('target', '_self'); }); })(jQuery);
  • 98. Entity relationships in D7 • References module - continues noderef tradition with no modal in D7
  • 99. Entity relationships in D7 • References module - continues noderef tradition with no modal in D7 • Relation module - wow, but some hot sauce will be required to make it usable/learnable

Notes de l'éditeur

  1. 8 years teaching IT for VSB adult ed - Lead developer at agentic - Strategy/Training\nDay-to-day work we do trying to make websites usable for our clients and their constituents\nSpecifically our project for CLEO - yourlegalrights - where we had a very involved working relationship with their editor\n
  2. Even if you’re not contributing to core, or contributing modules, or writing custom code, you play a role in the evolution of Drupal usability. \n
  3. \n
  4. \n
  5. \n
  6. \n
  7. \n
  8. \n
  9. \n
  10. \n
  11. \n
  12. “learnability” aspect of usability is often overlooked\nespecially interesting to me as an ex-teacher now-trainer\n
  13. parallax issues with blog\noptimal learning occurs with optimal challenge - which is different for everyone, and difficult to assess\nsome learners - most of the people in this room - love hard problems\nclients generally don’t\n
  14. parallax issues with blog\noptimal learning occurs with optimal challenge - which is different for everyone, and difficult to assess\nsome learners - most of the people in this room - love hard problems\nclients generally don’t\n
  15. parallax issues with blog\noptimal learning occurs with optimal challenge - which is different for everyone, and difficult to assess\nsome learners - most of the people in this room - love hard problems\nclients generally don’t\n
  16. parallax issues with blog\noptimal learning occurs with optimal challenge - which is different for everyone, and difficult to assess\nsome learners - most of the people in this room - love hard problems\nclients generally don’t\n
  17. \n
  18. \n
  19. \n
  20. \n
  21. \n
  22. \n
  23. Never hear “Rails is hard”\n
  24. Never hear “Rails is hard”\n
  25. Never hear “Rails is hard”\n
  26. \n
  27. \n
  28. \n
  29. \n
  30. Drupal UX improvements cover Core\nContrib developers should pay attention to the guiding principles (as much as to coding standards) - improvements governed by 80% use case, leaving the rest to custom tweaks\nCustom is the wild west of UX (improvements governed by use case, time and budget)\n
  31. Drupal UX improvements cover Core\nContrib developers should pay attention to the guiding principles (as much as to coding standards) - improvements governed by 80% use case, leaving the rest to custom tweaks\nCustom is the wild west of UX (improvements governed by use case, time and budget)\n
  32. Drupal UX improvements cover Core\nContrib developers should pay attention to the guiding principles (as much as to coding standards) - improvements governed by 80% use case, leaving the rest to custom tweaks\nCustom is the wild west of UX (improvements governed by use case, time and budget)\n
  33. grouping common tasks is an important usability feature, as mentioned for core UX - e.g. admin_menu and in D7 UI improvements to customizable admin menu\nwe can do better by filtering by project-specific common tasks and providing an interface\n\n\n
  34. grouping common tasks is an important usability feature, as mentioned for core UX - e.g. admin_menu and in D7 UI improvements to customizable admin menu\nwe can do better by filtering by project-specific common tasks and providing an interface\n\n\n
  35. \n
  36. usability isn’t just about utility as food isn’t just about nourishment\nsession: An Introduction to Contextual Administration (get time)\n
  37. usability isn’t just about utility as food isn’t just about nourishment\nsession: An Introduction to Contextual Administration (get time)\n
  38. usability isn’t just about utility as food isn’t just about nourishment\nsession: An Introduction to Contextual Administration (get time)\n
  39. \n
  40. reference the post that we could have written http://www.leveltendesign.com/blog/randall-knutson/how-i-learned-stop-worrying-and-love-block?fb_ref=.Tnze3W5gnak.like&fb_source=profile_oneline\n
  41. reference the post that we could have written http://www.leveltendesign.com/blog/randall-knutson/how-i-learned-stop-worrying-and-love-block?fb_ref=.Tnze3W5gnak.like&fb_source=profile_oneline\n
  42. reference the post that we could have written http://www.leveltendesign.com/blog/randall-knutson/how-i-learned-stop-worrying-and-love-block?fb_ref=.Tnze3W5gnak.like&fb_source=profile_oneline\n
  43. since custom is designed to meet a certain use case, it theoretically should be useable\n
  44. since custom is designed to meet a certain use case, it theoretically should be useable\n
  45. since custom is designed to meet a certain use case, it theoretically should be useable\n
  46. A new approach to training: train the trainer, but then watch them train the trainees to identify gaps.\nThis takes buy-in from the client, and not everyone is able to separate content from presentation\nContent usually comes last, which is problematic\nEarly use can solve some issues that usually arise later (like fixed height block designs which aren’t friendly for dynamic text - but that’s a different presentation altogether)\nYour Legal Rights webinar experience with readytalk\n
  47. A new approach to training: train the trainer, but then watch them train the trainees to identify gaps.\nThis takes buy-in from the client, and not everyone is able to separate content from presentation\nContent usually comes last, which is problematic\nEarly use can solve some issues that usually arise later (like fixed height block designs which aren’t friendly for dynamic text - but that’s a different presentation altogether)\nYour Legal Rights webinar experience with readytalk\n
  48. A new approach to training: train the trainer, but then watch them train the trainees to identify gaps.\nThis takes buy-in from the client, and not everyone is able to separate content from presentation\nContent usually comes last, which is problematic\nEarly use can solve some issues that usually arise later (like fixed height block designs which aren’t friendly for dynamic text - but that’s a different presentation altogether)\nYour Legal Rights webinar experience with readytalk\n
  49. A new approach to training: train the trainer, but then watch them train the trainees to identify gaps.\nThis takes buy-in from the client, and not everyone is able to separate content from presentation\nContent usually comes last, which is problematic\nEarly use can solve some issues that usually arise later (like fixed height block designs which aren’t friendly for dynamic text - but that’s a different presentation altogether)\nYour Legal Rights webinar experience with readytalk\n
  50. \n
  51. \n
  52. \n
  53. \n
  54. \n
  55. Dale said “there's a standard information credo that the closer information is to the people who use it, the better maintained it is.”\nroosevelt as example of high staff turnover\nvision as example of high developer turnover - political organizations potential developer handover from campaign to campaign\nExample of late-breaking “core hacks” list on CODE that could have been indicated with an admin-only block on the update page. These can be used to list patches as well. \nblock available only to admins\nhttp://www.scarleteen.com/admin/content/backup_migrate\n
  56. \n
  57. ever-complicated layouts\nexample from remappingdebate - authored copious pop-up help on flight to NY - turned out to be overkill and they ended up with one node with all possible html widgets\n“Lorem ipsum” is there ironically - to show how useless it is in examples\n
  58. ever-complicated layouts\nexample from remappingdebate - authored copious pop-up help on flight to NY - turned out to be overkill and they ended up with one node with all possible html widgets\n“Lorem ipsum” is there ironically - to show how useless it is in examples\n
  59. ever-complicated layouts\nexample from remappingdebate - authored copious pop-up help on flight to NY - turned out to be overkill and they ended up with one node with all possible html widgets\n“Lorem ipsum” is there ironically - to show how useless it is in examples\n
  60. ever-complicated layouts\nexample from remappingdebate - authored copious pop-up help on flight to NY - turned out to be overkill and they ended up with one node with all possible html widgets\n“Lorem ipsum” is there ironically - to show how useless it is in examples\n
  61. \n
  62. wysiwyg BOF later \n
  63. wysiwyg BOF later \n
  64. wysiwyg BOF later \n
  65. wysiwyg BOF later \n
  66. D7 comes with a new and improved content admin that we needed to build in D6, but can still tweak for use cases in D7\n
  67. views bulk operations\n
  68. plain textarea still used in Commons (D6), which leverages OG\n
  69. \n
  70. \n
  71. \n
  72. More help text might be required if a user is scared of losing their current work when clicking “Edit node,” for example.\n
  73. \n
  74. \n
  75. \n
  76. \n
  77. \n
  78. chx’s talk about entities\n
  79. chx’s talk about entities\n
  80. \n