Beyond Putting lipstick on the Pig

67

description

Beyond Putting Lipstick on the Pig: Usability Testing and Designing New UIs for Open Source Projects Present at EdUI Conference: Tuesday, Sep 30th, 2014 In the higher education field, we’re often asked to create institutional skins or themes for software to ensure the institutional logo, branding, and colors are added to a vendor’s product. When working with open source projects, however, we have the unique opportunity to contribute back to the larger online community with our efforts. When my institution moved from the learning management system Blackboard to Sakai, we created a basic skin but we also conducted a series of usability tests. This was the first time we had undertaken any user testing, and we observed a great number of usability issues. We had a number of ideas on how to resolve these issues, but we weren’t quite sure where to start or how to get the buy-in necessary to resolve them. In this session, we will discuss strategies on dividing usability issues into quick wins and long-term fixes. We’ll cover creating a new modular UI from the ground up, creating a style guide and a design pattern library for developers, and how we can then contribute these efforts back to the community. Most challenging of all, we’ll tackle how to bring innovation to a risk-averse culture by successfully changing the UI without alienating users. What You'll Learn: * How to conduct usability tests * How to communicate the results of the tests to generate excitement and commitment to fixing issues * How to divide solutions into quick wins and long-term fixes * The best way to organize chaos and build a foundation via a style guide and a design pattern library for developers * How to use modular design to create a sophisticated and highly customizable skin * How you can contribute to an open source community and share your efforts * How to get buy-in from the multitude of stakeholders, committees, and service teams without going insane * How to bring innovation to a risk-averse IT culture without compromising the design http://eduiconf.org/sessions/edui_pig/

Transcript of Beyond Putting lipstick on the Pig

Page 1: Beyond Putting lipstick on the Pig
Page 2: Beyond Putting lipstick on the Pig

Beyond PuttingLipstick on the Pig

Usability Testing and Designing New UIs for OpenSource Projects

Page 3: Beyond Putting lipstick on the Pig

About This PresentationI am using reveal.js for my slides. They're on

You can follow along on github

bit.ly/edu_pig

Page 4: Beyond Putting lipstick on the Pig

What you’ll LearnUsability

How to conduct usability testsHow to communicate the results of the tests to generateexcitement and commitment to fixing issuesHow to divide solutions into quick wins and long-term fixes

Page 5: Beyond Putting lipstick on the Pig

What you’ll Learn contdDesigning Web Systems

The best way to organize chaos and build a foundation via astyle guide and a design pattern library for developersHow to use modular design to create a sophisticated andhighly customizable skinHow you can contribute to an open source community andshare your efforts

Page 6: Beyond Putting lipstick on the Pig

What you’ll Learn contdSelling your work but not your soul

How to get buy-in from the multitude of stakeholders,committees, and service teams without going insaneHow to bring innovation to a risk-averse IT culture withoutcompromising the design

Page 7: Beyond Putting lipstick on the Pig

Mark Reilly

Page 8: Beyond Putting lipstick on the Pig

User Experience ~ User Interface at UIStencils.comUX~UI T-Shirt

Page 9: Beyond Putting lipstick on the Pig

Contact - Twitter

- Github - LinkedIn

@alien_residentalienresidentMark Reilly

Page 10: Beyond Putting lipstick on the Pig

BackgroundA Common Scenario

A web designer or developer is tasked with adding theinstitutional branding and colors to a vendor’s software.

Page 11: Beyond Putting lipstick on the Pig

Background contdA Uncommon Scenario

Researching Users NeedsFinding Users ProblemsDesigning SolutionsWorking with DevelopersTesting to see If Users Achieve their Goalsand Iterating

Page 12: Beyond Putting lipstick on the Pig

Background contdHow was the Product Selected?

Project Requirements were Drawn UpRFPs were Solicited from a Small Pool of CandidatesSelection is Based on Budget and their Sales Pitch

Page 13: Beyond Putting lipstick on the Pig

Background contdThe Result of this Broken Process?

A product:

Pretty Interface GraphicsPreviously Installed by another Group

Prioritized Integrations over GoalsPoorly Implemented GUI

Page 14: Beyond Putting lipstick on the Pig

Background contdThen you’re Tasked

To ‘tart’ up the product by adding your institution’s branding.

Page 15: Beyond Putting lipstick on the Pig

The Muppets Take Manhattan - 1984 (TriStar Pictures) Youtube

Page 16: Beyond Putting lipstick on the Pig

Aftermath: Unhappy usersThe system doesn’t meet their needsUsers aren’t satisfied

You’re frustrated

You’re unable to get the vendor to change things withoutadditional fundsYou’re not in control of what get’s prioritized

Page 17: Beyond Putting lipstick on the Pig

How Can We Change this Cycle?Selecting Open Source products is a good start.

Page 18: Beyond Putting lipstick on the Pig

Why Open Source is DifferentIn theory you can see the code and make changesIn practice this is not always that straight forward

A certain amount of technical expertise is need:internal resource or a hired specialist

Page 19: Beyond Putting lipstick on the Pig

Why Open Source is Different... “free software” is a matter of liberty, not price.... you should think of “free” as in “free speech,”

not as in “free beer”.

gnu.orgWhat is free software?

Page 20: Beyond Putting lipstick on the Pig

Why Open Source is Different“Free as in kittens”

OMGSoCute.com

Page 21: Beyond Putting lipstick on the Pig

Sakai to Replace BlackBoardNYU decided to move from BlackBoard to Sakai in the Fall 2011.

Page 22: Beyond Putting lipstick on the Pig
Page 23: Beyond Putting lipstick on the Pig
Page 24: Beyond Putting lipstick on the Pig

Usability TestingTypical Testing Schedule

3-5 users per testscheduled 1 test per hourallows time to tweak and reset testbathroom breakconnectivity issues

Page 25: Beyond Putting lipstick on the Pig

Usability TestingBreakdown of a 45 minute test

5 mins introduction10 mins of free exploration and general questions20–25 mins script based test5 mins feedback of the test

Page 26: Beyond Putting lipstick on the Pig

Usability TestingOur Criteria

Never used NYU Classes/SakaiIn their own environment — not in a usability labFamiliarity with other online class courseware

Page 27: Beyond Putting lipstick on the Pig
Page 28: Beyond Putting lipstick on the Pig

Remote Usability TestingThings to Remember

Describe how the test worksObtain verbal permission to record (voice and screen)Remind Participant to close private documentsPass ‘presenter control’ to the Participant

Page 29: Beyond Putting lipstick on the Pig

Communicating the ResultsWe done our usability tests!We found issues!We have solutions!Now what?

Page 30: Beyond Putting lipstick on the Pig

What to Fix?“When fixing problems, always do the least you

can.”

“Focus Ruthlessly on Fixing the Most SeriousProblems First”

Steve Krug, Rocket Surgery Made Easy

Page 31: Beyond Putting lipstick on the Pig

Explaining the ResultsCategorization

HeuristicsMeasuringWeighting

Page 32: Beyond Putting lipstick on the Pig

How to Communicate the ResultsNot a dry report that no one readsA dynamic presentationShow don’t tellPresent solutions

Page 33: Beyond Putting lipstick on the Pig

Quick FixesWhat can you do in the short term?

Clarify the language?Draw attention to the solution using color?Add support documentation?file bug reports?

Page 34: Beyond Putting lipstick on the Pig

Beyond Quick FixesA Gut Renovation

Create a reusable, well organized, and easily extendable UI.

Establish a new foundationRemove old CSS hacksUse a CSS preprocessorOrganize and modularize the styles

Page 35: Beyond Putting lipstick on the Pig

Beyond Quick FixesOrganizing Chaos

We’re not designing pages, we’re designingsystems of components.

Stephen Hay

Page 36: Beyond Putting lipstick on the Pig

Beyond Quick FixesDesigning SystemsBrad Frost Atomic Design

Jonathan Snook Scalable and Modular Architecture

Samantha Warren Style Tiles

Dan Mall Element Collages

Page 37: Beyond Putting lipstick on the Pig

Beyond Quick FixesStyleguide driven development

Living StyleguideReusableModularDRYA Manual (RTFM)

Page 38: Beyond Putting lipstick on the Pig

Beyond Quick FixesUsing modular design practicesThere are only two hard things in Computer

Science: cache invalidation and naming things.

-- Phil Karlton

Page 39: Beyond Putting lipstick on the Pig

SASSSyntactically Awesome StyleSheets

VariablesMixinsExtendsNesting@import & Partials

learn more at sass-lang.com/guide

Page 40: Beyond Putting lipstick on the Pig

SASS contdVariables

$instution-color: #fc3;

a { color: $instution-color;}

nav { background-color: $instution-color;}

Page 41: Beyond Putting lipstick on the Pig

SASS contdMixins

@mixin default-type-size { font-size: 16px; line-height: 1.5em;}p { @include default-type-size;}footer { @include default-type-size;}

p { font-size: 16px; line-height: 1.5em;}footer { font-size: 16px; line-height: 1.5em;}

Page 42: Beyond Putting lipstick on the Pig

SASS contdMixins (arguments)

@mixin default-type-size($color) { font-size: 16px; color: $color;}p { @include default-type-size(#333);}footer { @include default-type-size(#eee);}

p { font-size: 16px; color: #333333;}footer { font-size: 16px; color: #eeeeee;}

Page 43: Beyond Putting lipstick on the Pig

SASS contdMixins (more arguments)

@mixin type-size($size, $color) { font-size: $size; color: $color;}p { @include type-size(16px, #333);}footer { @include type-size(14px, #eee);}

p { font-size: 16px; color: #333333;}footer { font-size: 14px; color: #eeeeee;}

Page 44: Beyond Putting lipstick on the Pig

SASS contdExtends

%default-type-size { font-size: 16px; line-height: 1.5em;}p { @extend %default-type-size;}footer { @extend %default-type-size;}

p, footer { font-size: 16px; line-height: 1.5em;}

Page 45: Beyond Putting lipstick on the Pig

SASS contdExtends contd

%default-type-size { font-size: 16px; line-height: 1.5em;}p { @extend %default-type-size;}footer { @extend %default-type-size; color: #eeeeee; }

p, footer { font-size: 16px; line-height: 1.5em;}footer { color: #eeeeee;}

Page 46: Beyond Putting lipstick on the Pig

SASS contdNesting

nav {

ul { margin: 0; padding: 0; list-style: none;

li { display: inline-block; } }}

nav ul { margin: 0; padding: 0; list-style: none;}

nav ul li { display: inline-block;}

Page 47: Beyond Putting lipstick on the Pig

SASS contd@import & Partials

// _reset.scsshtml,body,ul,ol { margin: 0; padding: 0;}

// base.scss@import 'reset';

body { font-size: 100% Helvetica, sans-serif; background-color: #efefef;}

/* base.css */html, body, ul, ol { margin: 0; padding: 0;}body { font-size: 100% Helvetica, sans-serif; background-color: #efefef;}

Page 48: Beyond Putting lipstick on the Pig

SASS contdSass while powerful can be misused. You can create brittle,

inflexible, and unmaintainable CSS with Sass as with vanilla CSS.

What you need is an architecture that is modular and scalable.

Page 49: Beyond Putting lipstick on the Pig

SMACSSScalable and Modular Architecture for CSS

By Jonathan Snook a web developer and designer, formerly atYahoo!, He worked on the redesign of Yahoo! mail

learn more at smacss.com

Page 50: Beyond Putting lipstick on the Pig

SMACSS contdAt the very core of SMACSS is categorization

There are five types of categories:

1. Base2. Layout3. Module4. State5. Theme

Page 51: Beyond Putting lipstick on the Pig

SMACSS contdBase

Base rules are the defaults.html, body, form { margin: 0; padding: 0; }

input[type="text"] { border: 1px solid #999;}

a { color: #039; }

a:hover { color: #03C; }

Page 52: Beyond Putting lipstick on the Pig

SMACSS contdLayout

Layout rules divide the page into sections. Layouts hold one ormore modules together.

#article { width: 80%; float: left;}

#sidebar { width: 20%; float: right;}

.l-fixed #article { width: 600px;}

.l-fixed #sidebar { width: 200px;}

Page 53: Beyond Putting lipstick on the Pig

SMACSS contdModule

Modules are the reusable, modular parts of our design. They arethe callouts, the sidebar sections, the product lists and so on..pod { width: 100%; background: #ddd;}

.pod input[type=text] { width: 50%; border: 1px solid #666;}

Page 54: Beyond Putting lipstick on the Pig

SMACSS contdModule contd

.pod { width: 100%; background: #ddd;}

.pod input[type=text] { width: 50%; border: 1px solid #666;}

.pod-callout { width: 200px;}

.pod-callout input[type=text] { width: 180px;}

<div class="pod pod-callout"> ... </div>

Page 55: Beyond Putting lipstick on the Pig

SMACSS contdState

State rules are ways to describe how our modules or layouts willlook when in a particular state. Is it hidden or expanded? Is it

active or inactive?.tab { background-color: purple; color: white;}

.is-tab-active { background-color: white; color: black;}

Page 56: Beyond Putting lipstick on the Pig

SMACSS contdTheme

Theme rules are similar to state rules in that they describe howmodules or layouts might look.

/* in module-name.css */.mod { border: 1px solid;}

/* in theme.css */.mod { border-color: blue;}

Page 57: Beyond Putting lipstick on the Pig

Contributing to an Open SourceCommunity

GoalsEmpower designers and developersEnable them to easily change colors and branding.Enable them to dig in deeper and make substanial changes.To avoid this scenario..maintext { color: #333333;}[...].maintext { color: red !important;}

Page 58: Beyond Putting lipstick on the Pig

Contributing to an Open SourceCommunity

People will generally be supportive of your efforts.Get on the mailing list: get a sense of the communityRead the FAQ and look through their documentationSee if there’s a post on their bug list or issue queueIf you need help; check to see if your question has been askedand answered before

Page 59: Beyond Putting lipstick on the Pig

Contributing to an Open SourceCommunity

Not a developer? You can contribute in many otherways.

Usability testingQA testingDocumentation and writingCommunity organization

Page 60: Beyond Putting lipstick on the Pig

Contributing to an Open SourceCommunity

Four Levels of Engagement with the CommunityImplementation: Add your codeEvangelism: Tell people about itDocumentation: Explain itSupport: Answer question and fix bugs

Page 61: Beyond Putting lipstick on the Pig

Bringing Innovation to a Risk AverseCulture

People demand innovation but without change.It's a long process

Page 62: Beyond Putting lipstick on the Pig

Getting the new UI into ProductionOr the 12 tasks of Hercules...

It's was a very long process!

Design review with the group responsible for the University’sBranding and DesignTwo technical reviews:

with the internal front-end developerswith the community — Gonzalo Silverio the original Sakaiportal developer — asked for the work to be committedback to Sakai.

Page 63: Beyond Putting lipstick on the Pig

Getting the new UI into ProductionTwo rounds of informal usability testing for fine-tuningA formal A/B usability testTwo reviews with the faculty’s User Advisory Group. – Theycontributed a number of valuable suggestions that wereimplemented.Two rounds of Quality Assurance testing by the NYU Classesservice teamTwo rounds of CSS bug fixing.

Page 64: Beyond Putting lipstick on the Pig

In ConclusionWhy you need to do a Usability Test!

Insight Into Understanding the ProblemFocus on the Users Goals not the Technical or Aesthetic IssuesObserved User Behavior Instead of OpinionCreates Awareness of Issues to StakeholdersBuilds a Consensus to Solving the Issues

Page 65: Beyond Putting lipstick on the Pig

In ConclusionAfter you've Done a Usability Test!

Communicated the Results: Both Problems and SolutionsQuick Wins are BestFocus on the Most Serious Problems First

Page 66: Beyond Putting lipstick on the Pig

In ConclusionWhere Possible: do MoreEmbrace Open SourceContribute Back to the Community — in Your own Way

Page 67: Beyond Putting lipstick on the Pig

In ConclusionChange is Hard and it Takes TimeYou Need to Bring People to Your SideTest Your Changes: Proof is VitalCommunication is Key!

Thank You!Questions?