Title: Silver Bullet or Fools Gold: Supporting Usability in Open Source Software Development
1Silver Bullet or Fools GoldSupporting
Usability in Open Source Software Development
- Michael B. Twidale
- Graduate School of Library and Information
ScienceUniversity of Illinois at
Urbana-Champaign - twidale_at_uiuc.edu
- www.uiuc.edu/twidale
2Aims
- Introduce or emphasize certain themes
- Not trying to share a theory you can crank
through to get stuff out of an SE problem - Am trying to raise new ways to look at an SE
problem - Lightweight, Superficial overview
- Some provocative ideas to laugh at, argue over in
the breaks
3Background
- Computer Science at Lancaster University
- Computer Supported Cooperative Work
- Interface Design
- Computer Supported Collaborative Learning
- Interacting with Ethnographers
- Evaluation
- Understanding how people learn to use
applications - Designing new ways to visualize, share, discuss
learn - Often visualizing hidden knowledge
- Often designing new kinds of process visualization
4What a Computer Scientist Learned at Library
School
- Other ways of looking at the problem
- Multidisciplinarity is good and normal,
- but still hard to do
- Service, Access, Empowerment
- Politics, Class, Gender, Image, Status
- New metaphors
- Ways of looking at oneself as a kind of computer
scientist - And ones research, discipline and approaches
- From CS airy-fairy wiffly-waffly
interface-qualitative-evaluation-learning-applicat
ions flake - to LIS tech boy
5Themes of the Talk
- Open Source Software Engineering (OSSE)
- Open Source Usability (OSSUI)
- Problems of both scarcity abundance
- Slice and Dice, Mix and Match
- Agility and Extremes
- Widening active participation
- Socio-technical robustness
6Open Source Software Engineering
- Top Down, planned (seemingly)
- Requirements
- Specification
- Verification and Validation
- Testing
- Project management
- Configuration
7The OSSE Mystery
- Bottom Up, anarchic (seemingly)
- Reqs An itch
- Spec Informalisms Scacchi
- Ver Testing Eyeballs
- Val Reputation, downloads, /. posts
- Mgmt Tom Sawyer meets Linus Torvalds,
- Be a nice guy, benevolent dictator, trusted
lieutenants - If you had studied SE and had never heard of OSS
youd doubt it could it possibly work
8Is OSS Brooks Silver Bullet?
- Is OSS a free lunch as well?
- Wheres the catch?
- How does it work at all?
- Does it scale over project type?
- Has it maxed out?
- What can we borrow?
- What can we improve?
- (too hard to answer all these here)
9IS OSS SEs Platypus, Cyanobacteria?
- Weird exception, breaks the rules
- Mystery of how it possibly can survive
- Alien enough to be helpful for comparison
- Contrast with the proper way of doing things?
- Definition by difference
- Niche, boutique approach, exploding from 0.01 to
10 of attention, then stopping?
10Is OSS SEs Fruit Fly?
- Really easy to get lots of data (breeds fast,
prolifically and can cope with lab study
conditions) - Really easy to look inside (accessible
chromosomes) - Really not too different from everything else
when you look more closely
11Sub-problem OSS Usability
- Is there a problem?
- Why might there be a problem?
- How is it being addressed?
- What can we do to help?
- Technically
- Managerially
- Socially
12An OSS Usability Problem?
- Is OSS usability product or process different
from Closed Source? - Is OSS just a bit slower to catch on?
- Just like CSS used to be
- Maybe leave usability and concern for end users
to the commercial world? - Ignore product lines, or add wrappers, services
- That would keep M happy
13(No Transcript)
14Open Source Software Usability
- Not many OSS Usability Studies
- GNOME Smith et al., 2001, Athena Athena, 2001
Greenstone Nichols et al., 2001 - Usability compared to CSS?
- Hard to measure
- Microsoft Excel v StarOffice Eklund et al.
2002 - Firefox??
- Forked from Mozilla over usability
- Trades usability for functionality
- Big Battles
- Usability-centric design still rare in OSS
15OSS Functionality v Usability?
- Scratching a functionality itch
- Global development infrastructure
- Very successful for infrastructure
- e.g. Apache, Linux
- Very successful for use by and for power users
- Works for
- Functionality
- Reliability
- Usability??!
- What about end users?
16Why might there be a problem?
- If Grandma cant figure out which button to click
on, she can always download the code, reprogram
the interface to make it simpler to understand,
upload the change to SourceForge and bingo! - "They just don't like to do the boring stuff for
the stupid people!" (Sterling, 2002) - Developers are not typical end-users
17Why might there be a problem?
- Usability experts do not get involved in OSS
- The incentives in OSS work better for improvement
of functionality than usability - OSS development is inclined to promote power over
simplicity - Open source projects lack the resources to
undertake high quality usability work - Commercial software establishes state of the art
so that OSS can only play catch-up - OSS has an even greater tendency towards software
bloat than commercial software
18Are OSS methods incompatible with usability?
- Design for usability really ought to take place
in advance of any coding - Usability problems are harder to specify and
distribute than functionality problems - Brooks law -gt modularity
- UI design -gt Within-application consistency
19(No Transcript)
20OSS Usability a problem?
- Lusers says it all /.
- The wrong kind of itch?
- With enough eyeballs all bugs are shallow
- The wrong kind of eyeballs for usability?
- Can we apply Usability to existing OSS?
- Can we apply OSS methods to other usability
problems?
21Some qualitative analysis
- Almost a virtual ethnography
- What gets talked about wrt interface design,
usability, the user experience? - How are usability bugs articulated and used?
- How are fixes and design discussions handled?
- Clarifying what is going on
22Sources
- Bugzilla instances at
- Mozilla
- GNOME
- Mailing Lists
- Greesntone Digital Library software at
greenstone.org - Group Blogs
- planet.mozilla.org
- planet.gnome.org
- Newgroups
23(No Transcript)
24(No Transcript)
25Bug Reporting
26Feedback Samples
- From rajesh r
- Date 23 Jul 2003 095244 -0000
- Subject greenstone-users HTML page not
processing - Greenstone developers,
- I am facing a problem while putting my html pages
to the library. - The collection is creating properly and even the
search is showing the results, but when i click - the search result link it doesnt show the actual
content of the html page. - I also tried the pages after placing the files in
the cgi-bin folder of apache. Still this is not
working. - Any help or advice is greatly appreciated.
- Thanks for your time and consideration.
- Raj.
27Feedback Samples
- From Michael Dewsnip
- Date Tue, 29 Jul 2003 152830 1200
- Subject Re greenstone-users HTML page not
processing - Hi Rajesh,
- This is strange. A few questions
- Do you get an error message when trying to view
the documents, or just a blank page? - Are you using Windows or Unix? If Windows, are
you using the local library, or do you use a
separate web server? - Have you made any changes to the format
statements in the collection configuration file? - What version of Greenstone are you using?
- If possible, the best thing would be if you could
send me a link to your collection (so I can see
the problem myself), or, if the collection is
small enough, package the collection up and send
it to me. - This would make it much easier for me to track
down the problem. - Sorry I couldn't be of more help.
- Regards,
- Michael
28Simplified Results I
- Problems of description
- Tell me exactly how and why you are confused
- Usability Bugs Breed
- Duplication due to description difficulty
- Level of analysis
- Metabugs
- App-wide Interface Consistency
- Talking about interfaces -
- Like dancing about architecture?
- Talking more like arguing!
- Hugely contested debates
- Deciding what if anything to do about it
29Simplified Results II
- Marking invalid, since this is as designed and
thus not a bug. - This is not a bug. There's an extension called
Tabbed Browsing Extensions that does exactly what
you want. - When is a bug not a bug?
- When its a request for enhancement
- INVALID
- WONTFIX
- Subjective v Objective bugs
- WORKSFORME
30Bug Reports do a lot more than report bugs
- Bugzillas organise much of the OSS activity
- Complex networks of bugs
- Bug representation is used for
- Bugs
- Feature requests
- Project management
- Design
- Argumentation
- Etc.
31ASCII Art
32Why?
- Conventionally, early design should be informal
- Often paper-based
- ASCII seems very labour-intensive...
- But
- Good for multiple uses
- Newsgroups, chats, bugzilla,
- Can insert into textual discussions
- Easy to edit, Requires nothing more than text
editor - Habit
33Where work happens...
- Not just in Bugzilla
- Newsgroups
- News sites, MozillaZine
- Comments
- Face-to-face
- Phone?
- Text chat
- IRC
- Blogs
34Design by Blog
- Increasingly Bugzilla-like systems are being
supplemented by Design-by-Blog - planet.gnome.org
- Problems or UI designs are posted
- Accompanying informal design rationale
- Comments are made in other blogs
- Iterate
- Evolution blog contains several examples...
35'Design by Blog' in Evolution
New Alarm Dialog Worked on creating a mock-up
for a re-design of the alarm notification dialog
in Evolution today, and after a few revisions,
Ben and I agreed on the image below. I'm working
on the code to get this implemented and into CVS,
so it should be popping up on your desktop soon.
103 comments 16 real comments
36I emailed this to Rodney, but maybe other people
would be interested too... A couple of us out
here at the HCI design program at IU mocked up an
alternative A few rationales for our design
The button labels are more action-oriented,
instead of the generic "close". Snooze is only
one click now, instead of two. The "edit
appointment" button is connected visually to
the appointment information and the reminder
buttons are grouped with the snooze
information. Got rid of the word "Appointment"
at the top of the window, and the icon, as they
just clutter the window. Instead of providing a
long date string, we provide the pieces of
information people can act on the time until
they need to be at the meeting, and the time they
will be back at their desk. The most important
piece of information (how much time you have
until the appointment starts) is the focal point,
and it counts down, which conveys a sense of
immanency. Putting location, start time, and
end time together into a list isn't meaningful,
so we separate location information from
time information.
37Evolution 2
New Alarm Dialog Again After my previous blog
entry about the Alarm dialog mock-up, a lot of
feedback was had, and I went off to implement a
version. What I currently have implemented is in
the screenshot below. If anyone knows a standard
localizable way to put the time/date information
into a single line, please, e-mail me. This
version has the times as currently displayed by
Evolution, as well as the appointment summary in
bold, instead of just an "Appointment" label, and
single-click snoozing.
87 comments 7 real comments
38Evolution 3
New Alarm Dialog in CVS Finally, the new alarm
dialog is in CVS. A screenshot of what was
committed is below. The icon was moved to the
left side, and the secondary text/widgets were
re-aligned to match the HIG 2.0 Alert specs more
precisely. This cleans up the code quite a bit
and gets rid of the HTML widget that we were
using before.
27 comments 6 real comments
39Mozilla Example
Prefwindow V For the past week I've been working
on a new Preferences window for Firefox - one
which will solve a number of the problems present
in the current one, such as the fact that it's a
modal sheet on OS X and GNOME. The current
Preferences window (aka "Prefwindow IV") dates
back to April of 2000, and so is among the oldest
XUL/JavaScript code in Firefox. I wrote it before
the advent of XBL, and so the new version
utilizes a XBL tagset to simplify the content of
the preferences panels. I'm developing this on
Windows, since that's where the good debuggers
and editors are, the modality/instant-apply-ness
of the window will be controlled by a hidden
pref. Much is left for me to do, but here's a
sneak peek of what's coming
Ben Goodgers blog 22 Dec 2004
40Wikis Too
41Implications
- Design happens in many places
- Not just in Bugzilla
- Easier to participate via Blog-comments
- But comment spam is a hindrance
- For researchers
- Harder to track design work lots of places
- Work is more fragile and harder to archive for
future analysis - BUT you do get to see lots of design process
42What to do?
- Widening access
- More kinds of people
- More kinds of itches
- Different kinds of eyeballs
- Usability experts
- Interface designers
- Cognitive psychologies
- Just plain folks (JPFs)
- Designing tools to help
43Supporting Analysis
- Easier reporting
- Support describing usability problems
- Also by end users
- The one click Huh?? datum, when aggregated, is
valuable - Handling a flood of error, bug, huh?
reports - Including buggy bug reports
- Offloading usability discussions from an
overloaded bug reporting system - Distributed user testing?
44Development Environment Requirements
- All the existing OSS infrastructure Plus
- Support for
- graphical discussions
- interactivity discussions
- temporality discussions
- submitting rapid prototypes sketches
- comparing multiple candidate solutions
- low cost high speed evaluations
- distributed evaluations
45What Next?
- Exploit the openness of OSS
- Empower all users to contribute to development
- Stop viewing users paternalistically
- Enable greater customer-developer interaction
- Blur end-user/developer
- Learn from, extend, Participatory Design
- Global usability infrastructure
- Not just fixing OSSs usability problems
- Work towards new, better ways of doing HCI, SE
46New Extremes Xx
- Agile Methods
- XP Extreme Programming
- XE Extreme Evaluation
- XU Extreme Usability
- XPD Extreme Participatory Design
- Design Blogs as XXP
- Really fast, really tiny evaluations
- Micro user testing
- Faster easier ways to share, critique and improve
design ideas, especially interface design ideas - Open up the clubhouse
47How to involve more people?
- Skill and interest cultures, communities of
practice, may be trickier than national cultures
to cross - More people -gt more complexity
- More diversity -gt more complexity
- Pyramidal structure of OSS involvement
- Ideal Massively increase the base
- Will need complexity management tools
48Widening participation
- OSS enables anyone with an internet connection to
participate in a software development project - Anyone with the right kind of skills
- Any hacker
- Transcends national cultures
- But strongly inside the hacker culture
- US, Finnish, Chinese, German, Indian hackers all
working together - Is that easier to manage than enabling a US
hacker, US interface designer, US cognitive
psychologist, US end user to work together?
49Example of OSS-like wider participation
- Wikipedia
- Relatively easy to use
- Collaborative text creation rather than
collaborative code creation
50Internationalization Example
- Co-Design by non-techies
- Wikipedia inspired
51(No Transcript)
52(No Transcript)
53(No Transcript)
54(No Transcript)
55End User Activities
- Workplace studies
- Studying boring stuff
- Uncovering the blindingly obvious
- Over The Shoulder Learning
- How did you do that?
- How do I?
- Brief, Informal Workplace Learning
- Also Collaborative Problem-Solving
- Also Innovation and Appropriation
- Design implications
- Affording, facilitating the above
56Pragmatics of Workplace Help
- Coping, Satisficing and Workarounds
- Will that do?
- Not usually about finding the right or best
way - Dealing with hugely complex multi-application
option-spaces - Organizations tend to have many layers of
technical infrastructure - Users navigate within them, but they can get
lost - Sometimes looks like search or navigation
- Sometimes looks like debugging
- But without any decent diagnostic tools
57The amazing power of Control-C---Control-
V
- Copy-Paste between multiple applications
- How regular people cobble computational elements
together to do real work - Bricolage
- Creating workflows
- (composing multiple apps)
- Dealing with exceptions
- Coping with change
- Using basic COTS software
- Design implications
58Computing applications as office supplies
- Select, compose
- Mix and match
- How to design
- To afford appropriation?
- To enable end users to compose elements to do
clever things - To enable Just Plain Folks (JPFs) to do things
that would have been done by computer scientists - without having to become proper computer
scientists
59Precedents for widening access
- Early 1900s were about to run out of chaffeurs
- Solution let people be their own chauffeur
- Needs Easier to drive, more reliable automobiles
- 1940s were about to run out of telephonists
- Solution let people be their own telephonists
- Needs Direct dial, long distance, IDD
- 2000s about to run out of software engineers?
- So..
60Designing for JPF Bricolage
- Facilitating creative appropriations and
compositions - Is it even possible?
- How?
- Dont assume slinging in a macro will cut it
- Beyond skinning,
- Not quite end user programming
- Every single human being is creative
- Florida
61Conclusions
- Widening access is good
- Improving OSSUI is good
- Widening participation in the design process is
good - How can we design for it?
- How can we do it without forcing everyone to be a
computer scientist? - Can we design to afford JPFs bricolage?
- Process visibility is useful for SE analysis
- and maybe doing better SE?
62To A Louse On seeing one on a Lady's bonnet at
ChurchRobert Burns 1785
- O wad some Pow'r the giftie gie usTo see oursels
as others see usIt wad frae monie a blunder free
usAn' foolish notionWhat airs in dress an' gait
wad lea'e usAn' ev'n Devotion - This translates as
- Oh, that God would give us the very smallest of
giftsTo be able to see ourselves as others see
usIt would save us from many mistakesand
foolish thoughtsWe would change the way we look
and gestureand to how and what we apply our time
and attention
63Religion, Mysticism Computing
64Computers and Religion
65Extra Slides
66References
- Nichols, D.M. Twidale, M.B. (2005). Usability
Processes in Open Source Projects. Submitted to
Software Process - Improvement and Practice
Journal Special Issue on Free/Open Source
Software Processes. - Twidale, M.B. Nichols, D.M. (2005). Exploring
Usability Discussions in Open Source Development.
Proceedings, Thirty-Eighth Annual Hawaii
International Conference on System Sciences,
HICSS-38, Track 7, p.198c. - Nichols, D.M., McKay, D. Twidale, M.B. (2003).
Participatory Usability Supporting Proactive
Users. Proceedings, CHINZ'03, Dunedin, New
Zealand.63-68. - Nichols, D.M. Twidale, M.B. (2003). The
Usability of Open Source Software. First Monday
8(1).
67Engineering as a metaphor
- Your program is like a bridge
- How can we build it so it wont fall down?
- How can we build it better, faster, cheaper?
- Learn from failures Petroski
- Quantify, Measure, evaluate, improve, experiment,
compare Basili
68Science v Engineering
- S Finding out universal truths
- Peer review
- Artisan Engineer in the machine shop at the
service of the Gentleman Scientist in the lab? - E Building Stuff, Fixing Stuff
- Constructing devices to measure whats out there
- Constructing devices to do something useful
pragmatics of the possible
69Who, what and how
- Should who you build for affect what you build?
- Should it affect how you build it?
- Who gets to decide?
- Power and politics
- Widening who gets to participate
70Problems of scarcity and abundance
- Scarcity
- Traditional Computer Science
- Squeezing out the last cycle
- Optimization
- Spend peoples time to save computers time
- Abundance
- HW Cheap and getting cheaper
- Ubicomp
- Memory, drives, internet, bandwidth
- Choice overload
- Complexity of multi app multi device interactions
- Widening uses participation
71Regular people have problems with many current
applications
- True of CSS as well as OSS
- What is it for?
- What does it do?
- How on earth do I get it to do that?
- Oh I give up!
- I have 7 remotes on my coffee table and Grandma
cant switch on Jeopardy - Even techies have some problems, but darent
admit it
72(No Transcript)
73(No Transcript)
74Reactions
- .. the volume of community reaction that
thundered into my mailbox far surpassed what I
had been expecting and the dominant theme, too,
was a bit of a surprise No, the really
interesting part was how many of the letters
said, in effect, Gee. And all this time I
thought it was just me Eric S. Raymond - The problem isnt just that dear old A.T. cant
use desktop Linux the problem is that even
Linux geeks have trouble figuring it out.
John Gruber on ESR
75Even Techies suffer from poor usability
- But they can cope
- Less likely to give up
- Still may have problems with MS Word
- Debian, Ian Murdock
- Make Linux installation easier
76Stick Shifts and Automatics
- Convenience v Control
- Hiding Complexity
- Increasing learnability, usability
- Losing a measure of control and power
77Stick Shifts and Automatics
- Unix Stick Shift?
- Windows Automatic?
- MS Word v emacs , LaTex?
- Mindset of the über-geek
- Mindset of the auto-hacker
78CS Design Aesthetic?
- Implicitly or explicitly taught
- Functionality is the only thing that matters
- Getting it to work at all is a big enough
challenge - Dont build a thing, build a thing builder
- Wherever possible, automate
- Choice is good, more choice is better
- Power is good, more power is better
- Raw power is best
79CS Design Aesthetic II
- Build it because we can
- Adding a programming language makes all things
better - Its too hard for me to design for end users, so
Ill build a reconfigurable system and the users
can build their own apps - Efficiency trumps learning effort
- Dont complain no-one likes a whiner
- If its too hard for you, maybe you dont belong
80New Ways of Thinking
- How will a non-techie use this?
- What is the problem we are trying to solve?
- Can I make this design simpler?
- Try to simplify, not complexify
- An app that also contains its own programming
language is not necessarily better - Emacs is not the worlds best editor for everyone
81The Status of Usability HCI in CS world
Hackerdom
- No money in it
- First to go in the budget/deadline crunch
- Usability is for someone else
- Cognitive Psychologists
- Graphic designers
- Usability is for Girlies - Real Men Code!
- Perceptions matter
- Even when they are incorrect
82Potential Approaches to Improving OSS Usability
- Commercial approaches
- Sell a pretty wrapper round the raw power of OSS
- Apple OS, Debian, Red Hat, IBMs Strategy
- Technological approaches
- Automating usability analysis
- Academic involvement
- Us! authentic assignments, projects, Senior
Theses, etc.
83Potential Approaches to Improving OSS Usability 2
- Fragmenting usability analysis and design
- 1-shot user studies?
- Involving the experts
- Incentives to participate?
- Education and evangelism
- Selling usability within OSS community
- Involving the end users
- Bugzilla
- Creating a usability discussion infrastructure
84Widening access
- Empowerment
- Like participatory design but even more radical
- Political implications
- Still need reliable software
- Clarity of what it does, opacity of how it does
it - Like cars put gas in, go places