Posts Tagged ‘Usability’
Ubuntu 10.10 (Maverick) Developer Summit
I spent last week at the Ubuntu Developer Summit in Belgium, where we kicked off the 10.10 development cycle.
Due to our time-boxed release cycle, not everything discussed here will necessarily appear in Ubuntu 10.10, but this should provide a reasonable overview of the direction we’re taking.
Presentations
While most of our time at UDS is spent in small group meetings to discuss specific topics, there are also a handful of presentations to convey key information and stimulate creative thinking.
A few of the more memorable ones for me were:
- Mark Shuttleworth talked about the desktop, in particular the introduction of the new Unity shell for Ubuntu Netbook Edition
- Fanny Chevalier presented Diffamation, a tool for visualizing and navigating the history of a document in a very flexible and intuitive way
- Rick Spencer talked about the development process for 10.10 and some key changes in it, including a greater focus on meeting deadlines for freezes (and making fewer exceptions)
- Stefano Zacchiroli, the current Debian project leader, gave an overview of how Ubuntu and Debian developers are working together today, and how this could be improved. He has posted a summary on the debian-project mailing list.
The talks were all recorded, though they may not all be online yet.
Foundations
The Foundations team provides essential infrastructure, tools, packages and processes which are central to the development of all Ubuntu products. They make it possible for the desktop and server teams to focus on their areas of expertise, building on a common base system and development procedures.
Highlights from their track:
- Early on in the week, they conducted a retrospective to discuss how things went during the 10.04 cycle and how we can improve in the future
- One of their major projects has been about revision control for all of Ubuntu’s source code, and they talked last week about what’s next
- We’re aiming to provide btrfs as an install-time option in 10.10
- In order to keep Ubuntu moving forward, the foundations team is always on the lookout for stale bits which we don’t need to keep around anymore. At UDS, they discussed culling unattended packages, retiring the IA64 and SPARC ports and other spring cleaning
- There was a lot of discussion about Upstart, including its further development, implications for servers, desktops and the kernel, and the migration of server init scripts to upstart jobs
- After maintaining two separate x86 boot loaders for years, it looks like we may be ready to replace isolinux with GRUB2 on Ubuntu CDs
Desktop
The desktop team manages both Desktop Edition and Netbook Edition, on a mission to provide a top-notch experience to users across a range of client computing devices.
Highlights from their track:
- A key theme for 10.10 is to help developers to create applications for Ubuntu, by providing a native development environment, improving Quickly, improving desktopcouch, making it easier to get started with desktopcouch, and enabling developers to deliver new applications to Ubuntu users continuously
- With more and more touch screen devices appearing, Ubuntu will grow some new features to support touch oriented applications
- The web browser is a staple application for Ubuntu, and as such we are always striving for the best experience for our users. The team is looking ahead to Chromium, using apport to improve browser bug reports, and providing a web-oriented document capability via Zoho
- Building on work done in 10.04, we will aim to make simple things simple for basic photo editing
- Security-conscious users may rest easier knowing that the X window system will run without root privileges where kernel modesetting is supported
Server/Cloud
The server team is charging ahead with making Ubuntu the premier server OS for cloud computing environments.
Highlights from their track:
- Providing more powerful tools for managing Ubuntu in EC2 and Ubuntu Enterprise Cloud infrastructure, including boot-time configuration, image and instance management, and kernel upgrades
- Improving Ubuntu Enterprise Cloud by adding new Eucalyptus features (such as LXC container support, monitoring, rapid provisioning, and load balancing. If you ever wanted to run a UEC demo from a USB stick, that’s possible too.
- Providing packaged solutions for cloud building blocks such as hadoop and pig, Drupal, ehcache, Spring, various NOSQL databases, web frameworks, and more
- Providing turn-key solutions for free software applications like Alfresco and Kolab
- Making Puppet easier to deploy, easier to configure, and easier to scale in the cloud
ARM
Kiko Reis gave a talk introducing ARM and the corresponding opportunity for Ubuntu. The ARM team ran a full track during the week on all aspects of their work, from the technical details of the kernel and toolchain, to the assembly of a complete port of Netbook Edition 10.10 for several ARM platforms.
Kernel
The kernel team provided essential input and support for the above efforts, and also held their own track where they selected 2.6.35 as their target version, agreed on a variety of changes to the Ubuntu kernel configuration, and created a plan for providing backports of newer kernels to LTS releases to support deployment on newer hardware.
Security
Like the kernel team, the security team provided valuable input into the technical plans being developed by other teams, and also organized a security track to tackle some key security topics such as clarifying the duration of maintenance for various collections of packages, and the ongoing development of AppArmor and Ubuntu’s AppArmor profiles.
QA
The QA team focuses on testing, test automation and bug management throughout the project. While quality is everyone’s responsibility, the QA team helps to coordinate these activities across different teams, establish common standards, and maintain shared infrastructure and tools.
Highlights from their track include:
- There was a strong sense of broadening and deepening our testing efforts, mobilizing testers for specific testing projects, streamlining the ISO testing process by engaging Ubuntu derivatives and fine-tuning ISO test cases, and reactivating the community-based laptop testing program
- In support of this effort, there will be projects to improve test infrastructure, including enabling tests to target specific hardware and tracking test results in Launchpad
- There is a continuous effort to improve high-volume processing of bug reports, and two focus areas for this cycle will be tracking regressions (as these are among the most painful bugs for users) and improving our response to kernel bugs (as the kernel faces some special challenges in bug management)
Design
The design team organized a track at UDS for the first time this cycle, and team manager Ivanka Majic gave a presentation to help explain its purpose and scope.
Toward the end of the week, I joined in a round table discussion about some of the challenges faced by the team in engaging with the Ubuntu community and building support for their work. This is a landmark effort in mating professional design with free software community, and there is still much to learn about how to do this well.
Community
The community track discussed the usual line-up of events, outreach and advocacy programs, organizational tools, and governance housekeeping for the 10.10 cycle, as well as goals for improving the translation of Ubuntu and related resources into many languages.
One notable project is an initiative to aggressively review patches submitted to the bug tracker, to show our appreciation for these contributions by processing them more quickly and completely.
Have you tried the “white boy” test?
From time to time, someone in the Ubuntu community writes about the experience of introducing a “normal person” (someone who has no specific expertise with computers) to Ubuntu. These accounts provide useful feedback to Ubuntu designers and developers working to make Ubuntu easier to understand and use. They are no substitute for rigorous usability studies, but are nonetheless worthwhile. By explaining where the subject got stuck, they help to identify the most obvious usability problems. By celebrating the user’s successes, they help to build a sense of accomplishment and momentum around usability. They usually go something like this:
My grandmother is 104 years old and has never used a mobile phone before, much less a computer. One lazy Sunday afternoon, I introduced her to Ubuntu. I helped her into the den, showed her the mouse and keyboard, inserted the installation CD…
They go on to describe the subject’s attempts to use Ubuntu for common tasks, without any prior experience of the system. I will boldly hypothesize, based on my own reading and without gathering any data, that the subjects are predominantly female. Perhaps the earliest examples of this were our references to Jeff Waugh‘s mother, in early Ubuntu thought experiments, as an example of an uninitiated Ubuntu user.
Thus, we generalize: Ubuntu is so easy, even your grandmother can use it, or it passes the Mother test, or the girlfriend experiment shows just how far we have to go.
These generalizations idealize women as uninformed, technological novices or intellectual inferiors, which is particularly striking to some of us who learned computing from our mothers. This is not to say that statements like these are the origin of gender stereotypes, but they do display and reinforce these (often unconscious) beliefs.
In analyzing statements about gender roles, it is sometimes helpful to substitute for gender some other trait, such as skin color or race. This helps to illustrate bias, because many of us are more sensitized to racial stereotypes: is Ubuntu so easy that a white boy could use it? Does it pass the white boy test? If my white boyfriend can figure it out, you can too! This can be a useful way to “test” language and reveal implications.
We should think twice when we read, and make the effort to investigate our own speech as well. Unfortunately, our first impulse is often to deny the possibility of bias, and treat the situation like an argument we want to win. Instead, we should try to recognize these moments as opportunities to improve our awareness, and listen for new information in the reactions of others.
It would be a huge step forward for us as a community to do better at this. We will know that Ubuntu has truly arrived, though, when becomes more popular among white people than Apple.
Ease of use is a feature
It may be an undervalued one, though. Like many other examples of good design, the best user interfaces go largely unnoticed by their users. If a user consciously notices the UI, as something separate from the task at hand, it could probably be improved.
Ease of use is a frequent topic of discussion in Ubuntu. For example, one of the primary reasons why we chose the GNOME desktop for Ubuntu is that the GNOME project was making great strides in this area, as exemplified by the GNOME Usability Project and its Human Interface Guidelines or HIG. Nearly four years later, usability is still a key consideration whenever we discuss alternative applications. Ubuntu users don’t often consciously notice if their system has good usability characteristics, though. By definition, it’s behaving as expected, and it’s human nature that this usually goes unnoticed.
Facebook is another example of this phenomenon. Like Ubuntu, Facebook was a relative latecomer in its space. There were already plenty of social networking sites at the time, some with millions of users. Today, Facebook is winning, with over 90 million users and one of the most visited sites on the web. They did a number of things right, notably their strategy to make Facebook an application platform, but one of them was usability. Their site looked and worked like a single application throughout, rather than a loosely connected universe of ugly pages. They’ve recently launched a redesign which aims to make it even simpler and more consistent, showing that they’ve maintained this focus so far. They’re even running it in parallel with the old design to measure its impact.
How about Ubuntu? Most of the software in Ubuntu is developed by other communities, but many of the applications which originated in Ubuntu exist for the sole purpose of making it easier to use: gnome-app-install (Add/Remove), Update Manager, Ubiquity (our desktop installer), Jockey (our driver manager) and UFW (our work-in-progress firewall) primarily provide a simpler interface to functionality provided by underlying tools. A system programmer wouldn’t say that they add much in the way of features, but they enable casual users to do things they couldn’t do before.
Where could we do better? I’m interested not only in specific usability improvements, but in how we can improve our overall approach to ensure that we continuously improve. The first step is to figure out how to measure how well we’re doing, and be able to try out new ideas.
How can we, as a community of users and developers, do effective usability testing, and collaborate with upstream projects to process the results? I have some ideas, which I’ll write about separately.
