Slide 1

Slide 1 text

User-centered design for Drupal sites FRONTEND | CHRISTOPHER SKENE | FEBRUARY 7 2013

Slide 2

Slide 2 text

User Experience techniques, for Drupal sites FRONTEND | CHRISTOPHER SKENE | FEBRUARY 7 2013

Slide 3

Slide 3 text

Building better Web Experiences… for Drupal sites FRONTEND | CHRISTOPHER SKENE | FEBRUARY 7 2013

Slide 4

Slide 4 text

“User Experience” 4

Slide 5

Slide 5 text

In today’s session: •  Why do traditional user-centered design [UCD] and UX processes break down when applied to Drupal? •  How to resolve this problem by combining UCD, content modelling, and interaction design. •  A worked example. 5

Slide 6

Slide 6 text

UX Spaces 6 Park UX space Park Parks represent a physical park or garden. Created by Parkfile. A User can search for Parks.

Slide 7

Slide 7 text

Worked example 7

Slide 8

Slide 8 text

Content: Parks Google http://domain.com Web Page Title Section 4 Section 3 Section 2 Find Parks by Interest 8

Slide 9

Slide 9 text

9

Slide 10

Slide 10 text

About me •  Drupal Consultant with PreviousNext •  First used Drupal 4.5 •  Working exclusively with Drupal since 2007 •  Help run DrupalACT •  Experience with public sector, not-for-profits, media organisations, commercial clients •  Background in fine arts, humanities, marketing. 10

Slide 11

Slide 11 text

The Problem 11

Slide 12

Slide 12 text

The problem 12

Slide 13

Slide 13 text

The problem We learn how to build Drupal components. 13

Slide 14

Slide 14 text

The problem We learn how to build Drupal components. We learn how to arrange, organise and design websites, 14

Slide 15

Slide 15 text

The problem We learn how to build Drupal components. We learn how to arrange, organise and design websites, But bringing the two together is difficult. 15

Slide 16

Slide 16 text

“Design” 16

Slide 17

Slide 17 text

3 approaches to website design 17

Slide 18

Slide 18 text

A) Business-centered design 18

Slide 19

Slide 19 text

B) User-centered design 19

Slide 20

Slide 20 text

C) Content-centered design 20

Slide 21

Slide 21 text

Can we bring them together? 21

Slide 22

Slide 22 text

22 Source: Drupal CMS Features: Create, http://drupal.org/features/create

Slide 23

Slide 23 text

23 Source: http://www.flickr.com/photos/thinkmedialabs/6176869823/

Slide 24

Slide 24 text

The Elements of User Experience 24

Slide 25

Slide 25 text

25 Source: http://johnnyholland.org/2010/03/an-interview-with-jesse-james-garrett/

Slide 26

Slide 26 text

26 Source: The Elements of User Experience, Jesse James Garrett, http://www.jjg.net/elements/pdf/elements.pdf

Slide 27

Slide 27 text

27

Slide 28

Slide 28 text

28

Slide 29

Slide 29 text

A distraction "As much as we may want to withdraw into a world of pure problem solving, we have to acknowledge that the most successful architectures are the ones you can actually convince someone to implement.” Jesse James Garrett 29

Slide 30

Slide 30 text

30

Slide 31

Slide 31 text

The Pitfalls of User Experience 31

Slide 32

Slide 32 text

Pitfalls •  Drupal’s markup doesn’t match the design 32

Slide 33

Slide 33 text

Pitfalls •  Drupal’s markup doesn’t match the design •  Provided design mixes Drupal components 33

Slide 34

Slide 34 text

Pitfalls •  Drupal’s markup doesn’t match the design •  Provided design mixes Drupal components •  Design is inconsistent 34

Slide 35

Slide 35 text

Pitfalls •  Drupal’s markup doesn’t match the design •  Provided design mixes Drupal components •  Design is inconsistent •  Design UX favours interactions not met by contrib modules 35

Slide 36

Slide 36 text

Pitfalls •  Drupal’s markup doesn’t match the design •  Provided design mixes Drupal components •  Design is inconsistent •  Design UX favours interactions not met by contrib modules •  Complex interactions based on third-party JS libraries with no Drupal support 36

Slide 37

Slide 37 text

Result: Time/$$ to implement Lots of overrides Potentially unnecessary custom development Frequent revisions/rewrites = Unhappy client + Unhappy developer 37

Slide 38

Slide 38 text

A solution: User experience spaces 38

Slide 39

Slide 39 text

What are “UX Spaces” 39

Slide 40

Slide 40 text

What are “UX Spaces” A UX Space is a bounded set of interactions between: •  An actor (e.g. a user) •  The content model 40

Slide 41

Slide 41 text

What are “UX Spaces” A UX Space is a bounded set of interactions between: •  An actor (e.g. a user) •  The content model •  Defined by the intended audience, type of content, and required interactions. 41

Slide 42

Slide 42 text

What are “UX Spaces” A UX Space is a bounded set of interactions between: •  An actor (e.g. a user) •  The content model •  Defined by the intended audience, type of content, and required interactions. •  Can correspond to website sections, pages or widgets, applications, or task spaces. 42

Slide 43

Slide 43 text

43

Slide 44

Slide 44 text

44

Slide 45

Slide 45 text

45

Slide 46

Slide 46 text

What are “UX Spaces” A UX Space is a bounded set of interactions between: •  An actor (e.g. a user) •  The content model •  Defined by the intended audience, type of content, and required interactions. •  Approximate website sections, pages or widgets, applications, or task spaces. •  Easy to document 46

Slide 47

Slide 47 text

47 Example documentation Park UX space Park Parks represent a physical park or garden. Created by Parkfile. A User can search for Parks.

Slide 48

Slide 48 text

48 Example documentation

Slide 49

Slide 49 text

49 Example documentation

Slide 50

Slide 50 text

50 Here’s another one…

Slide 51

Slide 51 text

51 Example documentation

Slide 52

Slide 52 text

52 What about users?

Slide 53

Slide 53 text

53 Can you guess this one?

Slide 54

Slide 54 text

54 What about this?

Slide 55

Slide 55 text

UX Spaces for Drupal 55

Slide 56

Slide 56 text

UX Spaces for Drupal 1) Content: entities 2) Actors: users 3) Behaviours: Tasks = filters, sorts, flags Interactions = sliders, conditional content (e.g panels contexts or views arguments) 56

Slide 57

Slide 57 text

UX Spaces for Drupal UX spaces = panels, mini-panels, view modes, views, blocks … 57

Slide 58

Slide 58 text

1) Content (entities) 58

Slide 59

Slide 59 text

1) Defining entities •  Content types can be defined from your product, be that o  a saleable product, o  an information product, o  or a service product. •  Additional objects can be drawn from business structure. 59

Slide 60

Slide 60 text

1) Defining entities 60

Slide 61

Slide 61 text

2) Actors (users) Ways to define your audiences: • Behavioural segmentation • Demographic segmentation • Information needs • Service requirements • Geographic segmentation … 61

Slide 62

Slide 62 text

2) Segmenting your audience •  An audience is the "smallest group which can be communicated with using the same channel and message". •  Break your total audience down into smaller, targeted groupings using this rule of thumb. •  Opportunities for: o  Research, interviews, observations… 62

Slide 63

Slide 63 text

2) Segmenting your audience 63

Slide 64

Slide 64 text

3) Behaviours Behaviours can be broken down into •  Tasks o  things users need to do to achieve their current goal •  Interactions o  optional or offered call-to-action-type 64

Slide 65

Slide 65 text

3) Behaviours Examples: o Flagging content for bookmarking o Exposed sorts to target searches o Social sharing links o Commenting o … 65

Slide 66

Slide 66 text

A worked example… 66

Slide 67

Slide 67 text

67

Slide 68

Slide 68 text

About Parkfile Parkfile is a guide to parks and sporting grounds. Users can: • Find parks which match their interests or needs • Rate parks parks & gardens 68

Slide 69

Slide 69 text

1) Actors: Who is our audience? 69

Slide 70

Slide 70 text

1) Actors: Who is our audience? Sports/fitness o Best parks for sports, running, etc. 70

Slide 71

Slide 71 text

1) Actors: Who is our audience? Families o Picnic, BBQ and kids activities o Safety 71

Slide 72

Slide 72 text

1) Actors: Who is our audience? Tourists o Sightseeing 72

Slide 73

Slide 73 text

1) Actors: Who is our audience? 73 Sport & rec audience Interested in places to play sport or exercise Entity type: user Family audience Interested in family outings. Entity type: user Tourist audience Interested in sightseeing Entity type: user

Slide 74

Slide 74 text

2) Content: Parks • Title • Description • Taxonomies for: o Sporting activities o Sightseeing opportunities o Family activities • Location 74

Slide 75

Slide 75 text

2) Content: Parks 75 Park UX space

Slide 76

Slide 76 text

Park UX space Park Parks represent a physical park or garden. Created by Parkfile. 2) Content: Parks 76

Slide 77

Slide 77 text

Park UX space Park Parks represent a physical park or garden. Created by Parkfile. A User can search for Parks. 2) Content: Parks 77

Slide 78

Slide 78 text

User stories "As a , I want , so that " 78

Slide 79

Slide 79 text

2) Content: Parks 79 Park UX space Park Parks represent a physical park or garden. Created by Parkfile. A User can search for Parks.

Slide 80

Slide 80 text

Recap: Who is our audience? Three main audiences: o Sports/fitness § Best parks for sports, running, etc. o Families § Picnic, BBQ and kids activities § Safety o Tourists § Sightseeing 80

Slide 81

Slide 81 text

2) Content: Parks 81 Sport & rec audience Interested in places to play sport or exercise Entity type: user Family audience Interested in family outings. Entity type: user Tourist audience Interested in sightseeing Entity type: user

Slide 82

Slide 82 text

2) Content: Parks 82 Sport & rec audience Interested in places to play sport or exercise. Entity type: user Family audience Interested in family outings. Entity type: user Tourist audience Interested in sightseeing. Entity type: user

Slide 83

Slide 83 text

Find by Interest UX space Park Parks represent a physical park or garden. Created by Parkfile. Type: Content type A User can search for Parks by Interest. Interest Represents an activity to be undertaken at a Park. Created by Parkfile. Type: Taxonomy Term UX space: “Find by Interest” 83

Slide 84

Slide 84 text

Find by Interest UX space Park Parks represent a physical park or garden. Created by Parkfile. Type: Content type A User can search for Parks by Interest. Interest Represents an activity to be undertaken at a Park. Created by Parkfile. Type: Taxonomy Term Content type Taxonomy term reference UX space: “Find by Interest” 84

Slide 85

Slide 85 text

Content: Parks Google http://domain.com Web Page Title Section 4 Section 3 Section 2 Find Parks by Interest 85

Slide 86

Slide 86 text

Content: Parks 86 Google http://domain.com Web Page Title Section 4 Section 3 Section 2 Find Parks by Interest Interest... Parks by interest ... Sports facilities Exercise Family outings

Slide 87

Slide 87 text

Adding more User Spaces Other potential user spaces… •  Geographic search and geolocation •  User-contributed Parks •  Social touchpoints •  Favourites •  Ratings 87

Slide 88

Slide 88 text

88 Manage Parks View Park Find by Location Find by Interest Park Parks represent a physical park or garden. Created by Parkfile. Type: Content type A User can search for Parks by Interest. Interest Represents an activity to be undertaken at a Park. Created by Parkfile. Type: Taxonomy Term A User can search for Parks by Location. A User can rate Parks. A User can view details of a Park. A User can share a Park through social media. A User can add new Parks. A User can claim existing Parks. Location Represents a city, state and country. Created by Parkfile. Type: Taxonomy Term

Slide 89

Slide 89 text

And then? Build it in Drupal 89

Slide 90

Slide 90 text

90 Review

Slide 91

Slide 91 text

UX strategy for Drupal Sites Solve common pitfalls of User-centered design through a unified approach: o  Start with UCD activities, IA research and content modelling o  Merge these streams using UX spaces o  Create new wireframes/mockups/prototypes/builds o  Build! 91

Slide 92

Slide 92 text

92 Q&A

Slide 93

Slide 93 text

Birds of a Feather? Drupal for Government Friday, 10.45, Lady Penrin Room Linked Data Today, 3.45, Lady Penrin Room 93

Slide 94

Slide 94 text

94 Thank you And now, why not rate my session?

Slide 95

Slide 95 text

Get in touch! Christopher Skene o  [email protected] o  previousnext.com.au/user/chris.skene o  xtfer.com o  @xtfer on drupal.org 95

Slide 96

Slide 96 text

Image credits Park: http://www.flickr.com/photos/ugardener/3292581624/ Joggers: http://www.flickr.com/photos/tubb/6764468517/ Family: http://www.flickr.com/photos/imayellowfellow/4750053397/ Tourists: http://www.flickr.com/photos/fredthechicken/5402955206/ 96

Slide 97

Slide 97 text

END