SlideShare a Scribd company logo
1 of 67
Download to read offline
Beyond Putting 
Lipstick on the Pig 
Usability Testing and Designing New UIs for Open 
Source Projects
About This Presentation 
I am using reveal.js for my slides. They're on 
You can follow along on 
github 
bit.ly/edu_pig
What you’ll Learn 
Usability 
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
What you’ll Learn contd 
Designing Web Systems 
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
What you’ll Learn contd 
Selling your work but not your soul 
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
Mark Reilly
User Experience ~ User Interface 
UX~UI T-Shirt at UIStencils.com
Contact 
@alien_resident 
alienresident 
Mark Reilly 
- Twitter 
- Github 
- LinkedIn
Background 
A Common Scenario 
A web designer or developer is tasked with adding the 
institutional branding and colors to a vendor’s software.
Background contd 
A Uncommon Scenario 
Researching Users Needs 
Finding Users Problems 
Designing Solutions 
Working with Developers 
Testing to see If Users Achieve their Goals 
and Iterating
Background contd 
How was the Product Selected? 
Project Requirements were Drawn Up 
RFPs were Solicited from a Small Pool of Candidates 
Selection is Based on Budget and their Sales Pitch
Background contd 
The Result of this Broken Process? 
A product: 
Pretty Interface Graphics 
Previously Installed by another Group 
Prioritized Integrations over Goals 
Poorly Implemented GUI
Background contd 
Then you’re Tasked 
To ‘tart’ up the product by adding your institution’s branding.
The Muppets Take Manhattan - 1984 (TriStar Pictures) Youtube
Aftermath: Unhappy users 
The system doesn’t meet their needs 
Users aren’t satisfied 
You’re frustrated 
You’re unable to get the vendor to change things without 
additional funds 
You’re not in control of what get’s prioritized
How Can We Change this Cycle? 
Selecting Open Source products is a good start.
Why Open Source is Different 
In theory you can see the code and make changes 
In practice this is not always that straight forward 
A certain amount of technical expertise is need: 
internal resource or a hired specialist
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”. 
What is free software? gnu.org
Why Open Source is Different 
“Free as in kittens” 
OMGSoCute.com
Sakai to Replace BlackBoard 
NYU decided to move from BlackBoard to Sakai in the Fall 2011.
Usability Testing 
Typical Testing Schedule 
3-5 users per test 
scheduled 1 test per hour 
allows time to tweak and reset test 
bathroom break 
connectivity issues
Usability Testing 
Breakdown of a 45 minute test 
5 mins introduction 
10 mins of free exploration and general questions 
20–25 mins script based test 
5 mins feedback of the test
Usability Testing 
Our Criteria 
Never used NYU Classes/Sakai 
In their own environment — not in a usability lab 
Familiarity with other online class courseware
Remote Usability Testing 
Things to Remember 
Describe how the test works 
Obtain verbal permission to record (voice and screen) 
Remind Participant to close private documents 
Pass ‘presenter control’ to the Participant
Communicating the Results 
We done our usability tests! 
We found issues! 
We have solutions! 
Now what?
What to Fix? 
“When fixing problems, always do the least you 
can.” 
“Focus Ruthlessly on Fixing the Most Serious 
Problems First” 
Steve Krug, Rocket Surgery Made Easy
Explaining the Results 
Categorization 
Heuristics 
Measuring 
Weighting
How to Communicate the Results 
Not a dry report that no one reads 
A dynamic presentation 
Show don’t tell 
Present solutions
Quick Fixes 
What can you do in the short term? 
Clarify the language? 
Draw attention to the solution using color? 
Add support documentation? 
file bug reports?
Beyond Quick Fixes 
A Gut Renovation 
Create a reusable, well organized, and easily extendable UI. 
Establish a new foundation 
Remove old CSS hacks 
Use a CSS preprocessor 
Organize and modularize the styles
Beyond Quick Fixes 
Organizing Chaos 
We’re not designing pages, we’re designing 
systems of components. 
Stephen Hay
Beyond Quick Fixes 
Designing Systems 
Brad Frost Atomic Design 
Jonathan Snook Scalable and Modular Architecture 
Samantha Warren Style Tiles 
Dan Mall Element Collages
Beyond Quick Fixes 
Styleguide driven development 
Living Styleguide 
Reusable 
Modular 
DRY 
A Manual (RTFM)
Beyond Quick Fixes 
Using modular design practices 
There are only two hard things in Computer 
Science: cache invalidation and naming things. 
-- Phil Karlton
SASS 
Syntactically Awesome StyleSheets 
Variables 
Mixins 
Extends 
Nesting 
@import & Partials 
learn more at sass-lang.com/guide
SASS contd 
Variables 
$instution-color: #fc3; 
a { 
color: $instution-color; 
} 
nav { 
background-color: $instution-color; 
}
SASS contd 
Mixins 
@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; 
}
SASS contd 
Mixins (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; 
}
SASS contd 
Mixins (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; 
}
SASS contd 
Extends 
%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; 
}
SASS contd 
Extends 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; 
}
SASS contd 
Nesting 
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; 
}
SASS contd 
@import & Partials 
// _reset.scss 
html, 
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; 
}
SASS contd 
Sass 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.
SMACSS 
Scalable and Modular Architecture for CSS 
By Jonathan Snook a web developer and designer, formerly at 
Yahoo!, He worked on the redesign of Yahoo! mail 
learn more at smacss.com
SMACSS contd 
At the very core of SMACSS is categorization 
There are five types of categories: 
1. Base 
2. Layout 
3. Module 
4. State 
5. Theme
SMACSS contd 
Base 
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; 
}
SMACSS contd 
Layout 
Layout rules divide the page into sections. Layouts hold one or 
more modules together. 
#article { 
width: 80%; 
float: left; 
} 
#sidebar { 
width: 20%; 
float: right; 
} 
.l-fixed #article { 
width: 600px; 
} 
.l-fixed #sidebar { 
width: 200px; 
}
SMACSS contd 
Module 
Modules are the reusable, modular parts of our design. They are 
the 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; 
}
SMACSS contd 
Module 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>
SMACSS contd 
State 
State rules are ways to describe how our modules or layouts will 
look 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; 
}
SMACSS contd 
Theme 
Theme rules are similar to state rules in that they describe how 
modules or layouts might look. 
/* in module-name.css */ 
.mod { 
border: 1px solid; 
} 
/* in theme.css */ 
.mod { 
border-color: blue; 
}
Contributing to an Open Source 
Community 
Goals 
Empower designers and developers 
Enable 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; 
}
Contributing to an Open Source 
Community 
People will generally be supportive of your efforts. 
Get on the mailing list: get a sense of the community 
Read the FAQ and look through their documentation 
See if there’s a post on their bug list or issue queue 
If you need help; check to see if your question has been asked 
and answered before
Contributing to an Open Source 
Community 
Not a developer? You can contribute in many other 
ways. 
Usability testing 
QA testing 
Documentation and writing 
Community organization
Contributing to an Open Source 
Community 
Four Levels of Engagement with the Community 
Implementation: Add your code 
Evangelism: Tell people about it 
Documentation: Explain it 
Support: Answer question and fix bugs
Bringing Innovation to a Risk Averse 
Culture 
People demand innovation but without change. 
It's a long process
Getting the new UI into Production 
Or the 12 tasks of Hercules... 
It's was a very long process! 
Design review with the group responsible for the University’s 
Branding and Design 
Two technical reviews: 
with the internal front-end developers 
with the community — Gonzalo Silverio the original Sakai 
portal developer — asked for the work to be committed 
back to Sakai.
Getting the new UI into Production 
Two rounds of informal usability testing for fine-tuning 
A formal A/B usability test 
Two reviews with the faculty’s User Advisory Group. – They 
contributed a number of valuable suggestions that were 
implemented. 
Two rounds of Quality Assurance testing by the NYU Classes 
service team 
Two rounds of CSS bug fixing.
In Conclusion 
Why you need to do a Usability Test! 
Insight Into Understanding the Problem 
Focus on the Users Goals not the Technical or Aesthetic Issues 
Observed User Behavior Instead of Opinion 
Creates Awareness of Issues to Stakeholders 
Builds a Consensus to Solving the Issues
In Conclusion 
After you've Done a Usability Test! 
Communicated the Results: Both Problems and Solutions 
Quick Wins are Best 
Focus on the Most Serious Problems First
In Conclusion 
Where Possible: do More 
Embrace Open Source 
Contribute Back to the Community — in Your own Way
In Conclusion 
Change is Hard and it Takes Time 
You Need to Bring People to Your Side 
Test Your Changes: Proof is Vital 
Communication is Key! 
Thank You! 
Questions?

More Related Content

Recently uploaded

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

Featured

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 

Featured (20)

Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 

Beyond Putting lipstick on the Pig

  • 1.
  • 2. Beyond Putting Lipstick on the Pig Usability Testing and Designing New UIs for Open Source Projects
  • 3. About This Presentation I am using reveal.js for my slides. They're on You can follow along on github bit.ly/edu_pig
  • 4. What you’ll Learn Usability 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
  • 5. What you’ll Learn contd Designing Web Systems 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
  • 6. What you’ll Learn contd Selling your work but not your soul 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
  • 8. User Experience ~ User Interface UX~UI T-Shirt at UIStencils.com
  • 9. Contact @alien_resident alienresident Mark Reilly - Twitter - Github - LinkedIn
  • 10. Background A Common Scenario A web designer or developer is tasked with adding the institutional branding and colors to a vendor’s software.
  • 11. Background contd A Uncommon Scenario Researching Users Needs Finding Users Problems Designing Solutions Working with Developers Testing to see If Users Achieve their Goals and Iterating
  • 12. Background contd How was the Product Selected? Project Requirements were Drawn Up RFPs were Solicited from a Small Pool of Candidates Selection is Based on Budget and their Sales Pitch
  • 13. Background contd The Result of this Broken Process? A product: Pretty Interface Graphics Previously Installed by another Group Prioritized Integrations over Goals Poorly Implemented GUI
  • 14. Background contd Then you’re Tasked To ‘tart’ up the product by adding your institution’s branding.
  • 15. The Muppets Take Manhattan - 1984 (TriStar Pictures) Youtube
  • 16. Aftermath: Unhappy users The system doesn’t meet their needs Users aren’t satisfied You’re frustrated You’re unable to get the vendor to change things without additional funds You’re not in control of what get’s prioritized
  • 17. How Can We Change this Cycle? Selecting Open Source products is a good start.
  • 18. Why Open Source is Different In theory you can see the code and make changes In practice this is not always that straight forward A certain amount of technical expertise is need: internal resource or a hired specialist
  • 19. 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”. What is free software? gnu.org
  • 20. Why Open Source is Different “Free as in kittens” OMGSoCute.com
  • 21. Sakai to Replace BlackBoard NYU decided to move from BlackBoard to Sakai in the Fall 2011.
  • 22.
  • 23.
  • 24. Usability Testing Typical Testing Schedule 3-5 users per test scheduled 1 test per hour allows time to tweak and reset test bathroom break connectivity issues
  • 25. Usability Testing Breakdown of a 45 minute test 5 mins introduction 10 mins of free exploration and general questions 20–25 mins script based test 5 mins feedback of the test
  • 26. Usability Testing Our Criteria Never used NYU Classes/Sakai In their own environment — not in a usability lab Familiarity with other online class courseware
  • 27.
  • 28. Remote Usability Testing Things to Remember Describe how the test works Obtain verbal permission to record (voice and screen) Remind Participant to close private documents Pass ‘presenter control’ to the Participant
  • 29. Communicating the Results We done our usability tests! We found issues! We have solutions! Now what?
  • 30. What to Fix? “When fixing problems, always do the least you can.” “Focus Ruthlessly on Fixing the Most Serious Problems First” Steve Krug, Rocket Surgery Made Easy
  • 31. Explaining the Results Categorization Heuristics Measuring Weighting
  • 32. How to Communicate the Results Not a dry report that no one reads A dynamic presentation Show don’t tell Present solutions
  • 33. Quick Fixes What can you do in the short term? Clarify the language? Draw attention to the solution using color? Add support documentation? file bug reports?
  • 34. Beyond Quick Fixes A Gut Renovation Create a reusable, well organized, and easily extendable UI. Establish a new foundation Remove old CSS hacks Use a CSS preprocessor Organize and modularize the styles
  • 35. Beyond Quick Fixes Organizing Chaos We’re not designing pages, we’re designing systems of components. Stephen Hay
  • 36. Beyond Quick Fixes Designing Systems Brad Frost Atomic Design Jonathan Snook Scalable and Modular Architecture Samantha Warren Style Tiles Dan Mall Element Collages
  • 37. Beyond Quick Fixes Styleguide driven development Living Styleguide Reusable Modular DRY A Manual (RTFM)
  • 38. Beyond Quick Fixes Using modular design practices There are only two hard things in Computer Science: cache invalidation and naming things. -- Phil Karlton
  • 39. SASS Syntactically Awesome StyleSheets Variables Mixins Extends Nesting @import & Partials learn more at sass-lang.com/guide
  • 40. SASS contd Variables $instution-color: #fc3; a { color: $instution-color; } nav { background-color: $instution-color; }
  • 41. SASS contd Mixins @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; }
  • 42. SASS contd Mixins (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; }
  • 43. SASS contd Mixins (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; }
  • 44. SASS contd Extends %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; }
  • 45. SASS contd Extends 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; }
  • 46. SASS contd Nesting 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; }
  • 47. SASS contd @import & Partials // _reset.scss html, 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; }
  • 48. SASS contd Sass 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.
  • 49. SMACSS Scalable and Modular Architecture for CSS By Jonathan Snook a web developer and designer, formerly at Yahoo!, He worked on the redesign of Yahoo! mail learn more at smacss.com
  • 50. SMACSS contd At the very core of SMACSS is categorization There are five types of categories: 1. Base 2. Layout 3. Module 4. State 5. Theme
  • 51. SMACSS contd Base 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; }
  • 52. SMACSS contd Layout Layout rules divide the page into sections. Layouts hold one or more modules together. #article { width: 80%; float: left; } #sidebar { width: 20%; float: right; } .l-fixed #article { width: 600px; } .l-fixed #sidebar { width: 200px; }
  • 53. SMACSS contd Module Modules are the reusable, modular parts of our design. They are the 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; }
  • 54. SMACSS contd Module 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>
  • 55. SMACSS contd State State rules are ways to describe how our modules or layouts will look 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; }
  • 56. SMACSS contd Theme Theme rules are similar to state rules in that they describe how modules or layouts might look. /* in module-name.css */ .mod { border: 1px solid; } /* in theme.css */ .mod { border-color: blue; }
  • 57. Contributing to an Open Source Community Goals Empower designers and developers Enable 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; }
  • 58. Contributing to an Open Source Community People will generally be supportive of your efforts. Get on the mailing list: get a sense of the community Read the FAQ and look through their documentation See if there’s a post on their bug list or issue queue If you need help; check to see if your question has been asked and answered before
  • 59. Contributing to an Open Source Community Not a developer? You can contribute in many other ways. Usability testing QA testing Documentation and writing Community organization
  • 60. Contributing to an Open Source Community Four Levels of Engagement with the Community Implementation: Add your code Evangelism: Tell people about it Documentation: Explain it Support: Answer question and fix bugs
  • 61. Bringing Innovation to a Risk Averse Culture People demand innovation but without change. It's a long process
  • 62. Getting the new UI into Production Or the 12 tasks of Hercules... It's was a very long process! Design review with the group responsible for the University’s Branding and Design Two technical reviews: with the internal front-end developers with the community — Gonzalo Silverio the original Sakai portal developer — asked for the work to be committed back to Sakai.
  • 63. Getting the new UI into Production Two rounds of informal usability testing for fine-tuning A formal A/B usability test Two reviews with the faculty’s User Advisory Group. – They contributed a number of valuable suggestions that were implemented. Two rounds of Quality Assurance testing by the NYU Classes service team Two rounds of CSS bug fixing.
  • 64. In Conclusion Why you need to do a Usability Test! Insight Into Understanding the Problem Focus on the Users Goals not the Technical or Aesthetic Issues Observed User Behavior Instead of Opinion Creates Awareness of Issues to Stakeholders Builds a Consensus to Solving the Issues
  • 65. In Conclusion After you've Done a Usability Test! Communicated the Results: Both Problems and Solutions Quick Wins are Best Focus on the Most Serious Problems First
  • 66. In Conclusion Where Possible: do More Embrace Open Source Contribute Back to the Community — in Your own Way
  • 67. In Conclusion Change is Hard and it Takes Time You Need to Bring People to Your Side Test Your Changes: Proof is Vital Communication is Key! Thank You! Questions?