Canonical Voices

Posts tagged with 'ubuntu'

Iain Farrell

13.04 wallpaper selection

 

The community team for wallpaper selection got together last week #1304wallpaper on Freenode and between us we’ve determined that we’d like to submit the following images as our delightful wallpaper selection for 13.04.

Many thanks to everyone who came to discuss options and help with the selection and in particular those who highlighted that some of the images shortlisted previously might not be the submitted user’s own image and or appear in other distros. Your constant vigilance is much appreciated!

Constant vigilance as Mad Eye Moody would say

So what now? Well the compressed file has been uploaded to a bug marked against the wallpapers package on Launchpad and this is where Seb, Didrocks and others will ensure that the images make it into the release before UI freeze.

Thank you again to everyone who helped and to Ken, Seb, John and Didrocks for the final push.

I’m still signed into #1304wallpaper most of the day, UK time so come find me or drop me a mail if you have any questions, concerns or the like.

See you next cycle/ rolling release!


Read more
Iain Farrell

c5f1a741920x1200 (2)Stop the LightBrother typewriterBegonialast breath...
La GomeraLandingFleurs de Prunus 2/4Trazo solitario

13.04 Shortlist in progress, a gallery on Flickr.

A quick update, the previous contributors and I are putting together the finishing touches to what we hope will be a great selection. You can see our working over on a Google spreadsheet we’ve made.

We’ll be packaging and downloading and shrinking and all sorts to get it into the final release on the 14th! More once we have agreement on a selection! :)


Read more
Iain Farrell

?appapáwr[a]Pantano de Orellanagreen plant againwyomingRoof Tiles WallpaperCairn
Gran CanariaIMG_1743mFrozenVanishing by James WilsonBlue dandelionEarly morning
PucatriweGrass stick

12.10 shortlist, a gallery on Flickr.

Today the group closed on submissions for the 12.10 wallpaper selection. The team of us involved are still working to add/ remove and refine this collection before the 30th. We’ve got a few more than our 10 target, we’ll review this number tomorrow based on quality and what we can include.

Join us on #1210wallpaper on freenode to chat through this selection with us!

To everyone who has given up their evening to go through this, thanks!

Speak to you all tomorrow :)


Read more
Iain Farrell

Trazo solitario by Julio Diliegros - on Flickr

Quantal is well on the way to being the great release we’ve come to expect from Ubuntu so it’s time to add to that sheen with a set of quality wallpapers from our fantastic community. This cycle we’re going to try to make the process better than before by setting out a clearer vision for what we think will make a great set.

Firstly we’re interested in quality not quantity so we’re going to limit ourselves to 10 images on the final CD. We’ll take submissions in the Flickr group as before and don’t forget we need your image licensed as CC by SA. Each Flickr user will be limited to 1 submission to the group so choose carefully!

Secondly I’ve been speaking to Otto, the Lead visual designer at Canonical, to help ensure that what we get feels at home on the desktop. The guidance we’ll follow when selecting images to go into the release is as follows:

  1. Images shouldn’t be busy and filled with too many shapes and colours, a similar tone throughout is a good rule of thumb
  2. They should have a single point of focus, a single area that draws the eye in
  3. We should avoid having anything on the left and top edges as this will clash with the interface elements of the Launcher and Panel
  4. Try your image at different aspect ratios to make sure something important isn’t cropped out on smaller/ larger screens

To shortlist from this collection, as usual, we’ll be going to the people whose images were selected last time around to help us choose the final 10. In doing this we’ll hold a series of public IRC meetings on #1210wallpaper to discuss the selection and in those sessions we’ll get the selection team to try out the images on their own Ubuntu machines to see what they look like on a range of displays and resolutions. Anyone’s welcome to come to these sessions but please bear in mind that an outcome is needed from the time that people are volunteering and there’s usually a lot of images to get through so we’d appreciate it if there isn’t too much additional debate.

The group’s open for submissions now and we’ll close it at 5pm on the 28th August 2012 to start going through the images.

So, get all your great summer photos out and as always ping me if you have any questions. I’ll be lurking in #1210wallpaper on freenode. I hope it’s been sunnier in places other than the UK!


Read more
Anthony Dillon

We realise that changing Operating System (OS) is a big thing for anyone thinking of testing something out. That becomes a huge barrier for people trying out Ubuntu for the first time and seeing if they like it. As a member of the web team I decided to take on the challenge as a cool way to testing out some HTML5 and jQuery. The purpose of this blog is to talk about some of the challenges and thought processes I went through during the build.

Getting started

I started by breaking down the Ubuntu interface into DOM elements, similar to developing a web page from a design. So I took on the background first, each part of the build brought different challenges. In the case of the background, I needed it to stretch full width and height of the viewport.

The launcher

Once I had that nailed, I moved onto the launcher on the left of the screen. At the time of building (11.10) the menu would slide out of view when a window was fullscreen. By creating a DIV with a list of icons and styled with CSS to replicate the menu in the OS. Now I needed to add the interactive slide to the menu, which I decided to apply with jQuery because I wanted the animation to work on older browsers and not just browsers with CSS3. When a window is fullscreened I would trigger the menu system to slide the menu out of the viewport. Then binds a mouseover event to slide the menu back into view when the user needs it again.

Precise launcher

The global menu bar

Precise global menu bar

All that was left to make the web page look like the static Ubuntu interface was to add the global menu bar at the top for settings and window controls. This was again a simple DIV with a window control DIV floated to the left and a list of settings icons floated to the right.

Building applications

Now the interface looked like the initial Ubuntu screen. I turned to focus on applying the functionality to the menu icons, beginning with the folder icon. Created a Folder class and a File class, Folder class below:


function Folder($name, $location){
  if ($name==undefined) { $name='Untitled Folder';}
  if ($location==undefined) { $location='/Home';}
  var _name = $name;
  var _size = '6.2 GB';
  var _location = $location;
  var _in_bin = false;this.name = function (){ return _name; };
  this.size = function (){ return _size; };
  this.location = function (){ return _location; };
  this.in_bin = function (){ return _in_bin; };
  this.rename = function($name){
    _name = $name;
  }

  this.bin = function($in_bin){
    _in_bin = $in_bin;
  }

  this.move = function($location){
    _location = $location;
  }

  this.drawIcon = function($id, $type){
    return  "<div class='file-folder "+$type+"' data-type='folder' data-id='"+$id+"'><p></p><span>"+_name+"</span></div>";
  }

  this.type = function(){
    return 'folder';
  }
}

Both of these classes are used by the file system class that created them and stored them in an array to access and modify them later.
Now that we have a file system, the fun part comes when you connect it all up and see if it comes to life. This is how the connections happened:


Menu window workflow


When the folder icon on the menu is clicked it tells Base which triggers the open function in the folder system. I built the Folder and File classes with the aim to give the folder system full functionality, like rename, drag and drop to move, etc. But that was descoped to finish the tour in time for the release of 11.10.

Seeing this work I felt the buzz to jump to the next application, then the next, until all the applications I set out to develop were finished and working.

Have a go for yourself: Ubuntu Online Tour

Conclusion

One of the questions I was asked is `how long did it take you?’ In total it took about 4 months, from what started as a quick test to being given the time to bring the development to fruition. It was crucial that all elements of the demo looked and felt exactly like the OS as this will be most people first try of Ubuntu so we didn’t want it to be different if they install Ubuntu.

I plan to keep the tour up-to-date with the latest version of Ubuntu every six months. With every update I try to add features and application which I haven’t managed yet. A few features that come to mind would be to progressive enhance the movie player to use HTML5 video if available rather than Flash. I would also like to see the music player (Rhythmbox) be developed.

If you have HTML, CSS and jQuery skills and time to spare. Please feel free to contribute. The code can be forked from: Ubuntu Online Tour Launchpad Page.

Read more
Christian Giordano

Introducing web apps

As you might have heard from the blogosphere, we are going to start to ship our take on web apps. Let me take the opportunity to explain to you some of the reasoning behind them and some of their characteristics.

Why

I would split the why question in more parts.

Is the Web relevant? Today, the Web, besides being the best source for information, is also a major component in how we relate to one another. There are very few applications that don’t use the Web in one way or another.

Are web applications relevant on the Desktop? If you look at the first tabs of your browser window, chances are that these are tabs you keep open and glance at every now and then to check if a change has occurred. This is not optimal! Facebook and your webmail could (and should) be more integrated in your experience. Browsers acknowledged this problem a while ago by introducing desktop notifications and more compact tabs, but the shell itself is in the best position to provide such capabilities.

Are web applications also relevant to other form factors? It is true that in recent years there has been quite some hype about native applications for mobile platforms. While using a native toolkit can provide the developer some initial edge, the advantages quickly fade when more form factors or platforms need to be supported. The speed of how you can globally test changes, and the accessibility of the technology, made the web a very fast paced environment for innovation. Despite having evolved mainly through a consortium, web technologies, with their separation of content and representation, are in a very good position to support multiple screens.
Because of these reasons, it shouldn’t surprise you if the Facebook native application for iOS is rated with just 2 stars whereas the web version for mobile, in many aspects, works much better. The share-ability of the techniques will also make it so that compelling experiences will become more and more common outside of the native space.

Not just web links

One of the major critics about this project has been the comparison to simple web links. Web apps will be far from being simple web links. As a matter of fact, it has been our priority, from UX perspective, to blur the line between native applications and web apps. In fact, if we consider native applications heavily dependent on the Internet connection and web applications which can work offline, there is an obvious overlap. The demo you see today shows the current state of the project, which is already impressive, but in the coming months you will see how these will beautifully blend in the user app mental model.

Conclusions

Unity, thanks to its components (e.g.: Sound Menu, Notify OSD), offers a unique opportunity for web applications to integrate with the shell user experience. There will be design, technological and political challenges, but web technologies are here to stay!

More information is available in the official release post and in the detailed coverage from OMGUbuntu.

Read more
Paul Sladen

Normally the Ubuntu/Canonical Design Team are busy working on our own projects, but it makes a really good change to work on other Free Software design problems for a change. Starting at 22:00 UTC (15:00 PDT) on Monday 7 May 2012, you can join us for the next Ubuntu Design Theatre at the Ubuntu Developer Summit in Oakland, California:

Bring your design issues along and lets see how we can improve them! There should be visual designers, user interface designers, brand designers, … and the many other people who try and work to make users’ lives better with Free Software.

Read more
Paul Sladen

In the year 2000 IBM showed off the WatchPad, a computer on your wrist, but one perhaps ahead of its time and still needing a little bit of design-love. Of course, we love highlighting beautiful design when it does finally come along, and in the last few days the beautiful Pebble smartwatch has appeared over the horizon.

As well as being “just a watch” with a long-lasting e-paper display it has a Bluetooth wireless connection, opening up all sorts of possibilities for expansion; particularly showing notifications, SMS messages, or status and calendar updates without having to check a mobile phone directly. Once it’s on your wrist the possibilites are there for all sorts of apps (not just fancy clocks!).

In under one week they’ve raised $5 million in pre-orders from 35,000 individuals—taking the Kickstarter record for the largest amount raised through crowd-funding. A finished product does not just happen by itself, it requires lots of expertise; industrial design for the water-tight casing, ergonomics to make sure it fits on your wrist, electronics layout design for the battery, buttons and e-ink screen …and some firmware (embedded computer software) to make it all work.

Andrew Witte (second from the left in the dream team) is the Lead Engineer working on the firmware and an Ubuntu fan. Andrew’s desk on a typical day has a sprawl of cables, a Lego car, some low-level JTAG programmers, USB prototyping cables, several half-finished Pebble boards …and, in the middle is Xubuntu (Ubuntu running with an XFCE desktop) for the development and debugging.

Lots of open source is also being used to make the watch tick. The firmware development toolchain is CodeSourcery GCC for compiling, OpenOCD for working with the JTAG, and GDB (the GNU debugger) for finding all hard to solve bugs. One of the main parts of the Pebble is the Bluetooth interface for talking to smart phones, for which many hours have been spent testing with Ben Lam’s Python-based ‘LightBlue’ framework and utilities like hcitool. If that’s all getting a bit technical, Andrew notes that The Gimp and ImageMagick (both in the Ubuntu Software Centre) are used for processing the bitmaps and pictures before they are sent to the Pebble watch prototypes.

The race is on for the first person who can get a prototype in August 2012 and integrate Ubuntu’s libnotify-osd work with the Pebble watch, in time for Ubuntu 12.10 in six months time! For those with a pre-order, it will be possible to vote on additional-colour in addition to Artic White, Cherry Red and Jet Black. We’re hoping that Ubuntu Orange wins!

The Pebble Kickstarter campaign runs until 18 May 2012. To vote later for a colour (such as Ubuntu Orange!) you need to pre-order in the colour-Pebble category ($125+shipping).

Read more
Paul Sladen

Some of original sketches for Ubuntu Arabic are about to go on display in Berlin! We’ve talked before about the work done by Rayan Abdullah on drawing and designing the original calligraphy behind the Ubuntu Arabic for the Ubuntu Font Family and from tomorrow you will be able to see that work for yourself.

Until 27 May 2012 you can see some of those original sketches and designs featuring in the Typobau exhbition at the Körnerpark Gallery in Neukölln, Berlin,

It includes many of Rayan’s design projects from the last decade, including the Bundesadler (the Federal Eagle of Germany) and his many Arabic graphic design and typography projects including the logos and typefaces for Burberry, McDonalds, Nokia Pure Arabic and the Ubuntu Font Family Arabic script coverage.

For keen visitors, the grand opening is this week, at 19:00 on Friday 20 April 2012. Or for anyone visiting Messe Berlin in May 2012 for Linuxtag 2012 you will still be able to catch the exhibition. Just take the S-Bahn ring anti-clockwise to S-Neukölln and see Ubuntu and Rayan’s exhibition at the same time as Linuxtag!

The “Typobau” exhibition runs between 21 April 2012 and 27 May 2012, 10:00–20:00, Tuesday—Sunday, at Körnerpark Galerie, Schierker Strasse 8, Berlin-Neukölln

Read more
Matthew Paul Thomas

Over the past two years, Ubuntu has introduced a suite of status menus — known to Ubuntu geeks as “indicators” — in the top corner of the screen.

In Ubuntu 12.10, we plan to refine these menus to address several long-standing problems. If you’re a programmer, tester, or visual designer, there are plenty of opportunities for you to help out.

In updating the design, our general theme has been improving relevance — showing menus, and items in menus, only when they are relevant to you. For example, if you never use a VPN, it shouldn’t take up space in the network menu. If you never use Gwibber, it shouldn’t take up space in the messaging menu. If you never use a Bluetooth device, you shouldn’t need to see the Bluetooth menu. And so on.

System menu

The system menu will contain “About This Computer”, “Ubuntu Help”, “System Settings”, “Lock”, user account switching, “Log Out”, “Sleep”, “Restart”, and “Switch Off” items. The biggest change to the structure, though, is a straightforward simplification. The two menus at the end of the menu bar, the user and system menus, will merge. As well as saving space, this will fix three main problems:

  • “Switch User Account” and “Log Out” were in different menus, despite being closely related. Now, they’ll be in the same menu. (“Lock Screen” and “Switch User Account” will become one and the same command.)
  • It’s been hard to find which version of Ubuntu you are using. This will now have a dedicated menu item.
  • Finding the Ubuntu Help has also been difficult. That will now have an always-present menu item too.

One more detail. When Ubuntu used a home icon to represent the Nautilus file manager, usability testing found that people thought it was a launcher or starting point. (This isn’t surprising, given the strong connotations of Home in other applications.) The Unity Dash, meanwhile, is exactly that kind of starting point. So one possibility under discussion is changing the Dash launcher icon to a home icon — which the Dash already uses for internal navigation anyway.

How is that relevant to the status menus? It raises the possibility that we could use the Ubuntu logo, if it won’t be in the launcher, as the title of the system menu instead. We plan to test this against the powercog icon, and see which works better.

Clock menu

The clock menu contains the date, a monthly calendar, upcoming events, “Set Alarm”, time in other locations, and “Time & Date Settings”. Many improvements can be made to the clock menu, but the design will remain much the same.

We’d like to add the ability to set a basic alarm, and if it’s set, this will be shown using an icon in the menu title.

If you’re a programmer and know your way around C and GObject, another simple enhancement would be populating the coming events section of the menu from a Web calendar, such as Google Calendar.

Sound menu

The sound menu contains a “Mute” item, volume sliders, music player sections, and “Sound Settings”.The sound menu design will remain unchanged in 12.10. As with the clock menu, though, there are plenty of minor improvements to work on.

Network menu

The network menu contains sections for “Flight Mode”, wired, wi-fi, mobile broadband, VPNs, and network settings. Ubuntu’s network menu is powered by Network Manager, and our design is a visual presentation of where we’d like to take it in future. It simplifies the current menu by using consistent on/off switches for connection types, removing needless separators, and showing less common functions — mobile broadband and VPNs — only if you have set them up in the Network settings.

Bluetooth menu

The Bluetooth menu has switches for toggling Bluetooth and visibility, items for “Send Files to Device” and “Browse Files on Device”, a list of devices, and items for “Set Up New Device” and “Bluetooth Settings”. As with the network menu, we’d like to simplify the Bluetooth menu by using on/off switches and reducing separators.

Battery menu

The battery menu has items for each battery, “Show Time in Menu Bar”, and “Power Settings”. The battery menu design will stay the same.

Messaging menu

The messaging menu has sections for IM status, phone, and SMS, and individual messaging applications. We plan to simplify the messaging menu by removing the default Chat, Mail, and Broadcast items. Instead, messaging programs will show up only if you have set them up, and will show up under their own names. As well as shortening the menu, this will solve the problem that nobody knows what “Broadcast” means.

In Ubuntu for Android, the messaging menu will naturally expand to show missed calls, voicemail, and SMS messages.

And finally, Ubuntu One will at long last be banished from the messaging menu, moving instead to the menu next door…

Sync menu

The sync menu will contain a section for each application that uses it. The new Sync menu will be present if you use any services such as Ubuntu One, SparkleShare, or Dropbox, that carry out non-urgent synchronization over the network. (Continuing the relevance theme, the menu won’t be present at all if you haven’t signed up for any of those services yet.)

From this menu, you’ll be able to turn each service off and on — turning them off if you’re trying to download something in a hurry, for example. You’ll also be able to access their settings, if they have any.

Keyboard menu

The keyboard menu will contain a section for keyboard layouts, and a section for input methods, as well as “Show Layout Chart”, “Character Map”, and “Keyboard Settings” items. We’d like to make two main improvements to the keyboard menu.

First, combining it with the input method menu. So that if you use input methods (such as for Chinese, Japanese, or Korean), you don’t have two separate menus for controlling your keyboard.

And second, making the menu title an icon that represents the current input method or keyboard layout, instead of a generic keyboard icon with added text. (Visual designers could help us here, in finding an elegant way to generate an icon based on the letter code for each layout.)

So long, printing menu, we hardly knew you

In Ubuntu 12.04, a printing status menu appears whenever any print jobs are in progress. Unfortunately, it’s not that noticeable.

So in 12.10, we plan to replace it with a temporary printing item in the launcher. This will correspond to a minimized window listing your recent print jobs. You can close it when done, or just ignore it, as you see fit.

What’s next

As these designs are fleshed out, the individual specifications will be updated in the ‘Unity Application and System Indicators’ section of The Toolkit.

This is a lot of work, and you’re welcome to help out if you can. Pop in to the #ubuntu-unity channel on IRC, or get in touch on the unity-dev@ mailing list.

Read more
mark

In the open source community, we celebrate having pieces that “do one thing well”, with lots of orthogonal tools compounding to give great flexibility. But that same philosophy leads to shortcomings on the GUI / UX front, where we want all the pieces to be aware of each other in a deeper way.

For example, we consciously place the notifications in the top right of the screen, avoiding space that is particularly precious (like new tab titles, and search boxes). But the indicators are also in the top right, and they make menus, which drop down into the same space a notification might occupy.

Since we know that notifications are queued, no notification is guaranteed to be displayed instantly, so a smarter notification experience would stay out of the way while you were using indicator menus, or get out of the way when you invoke them. The design story of focusayatana, where we balance the need for focus with the need for awareness, would suggest that we should suppress awareness-oriented things in favour of focus things. So when you’re interacting with an indicator menu, we shouldn’t pop up the notification. Since the notification system, and the indicator menu system, are separate parts, the UNIX philosophy sells us short in designing a smart, smooth experience because it says they should each do their thing individually.

Going further, it’s silly that the sound menu next/previous track buttons pop up a notification, because the same menu shows the new track immediately anyway. So the notification, which is purely for background awareness, is distracting from your focus, which is conveying exactly the same information!

But it’s not just the system menus. Apps can play in that space too, and we could be better about shaping the relationship between them. For example, if I’m moving the mouse around in the area of a notification, we should be willing to defer it a few seconds to stay out of the focus. When I stop moving the mouse, or typing in a window in that region, then it’s OK to pop up the notification.

It’s only by looking at the whole, that we can design great experiences. And only by building a community of both system and application developers that care about the whole, that we can make those designs real. So, thank you to all of you who approach things this way, we’ve made huge progress, and hopefully there are some ideas here for low-hanging improvements too :)

Read more
Iain Farrell

Birds in flight by Noombox

For another cycle a selection of images has been put forward for inclusion in Ubuntu. As there have been some questions on other blogs about the process I thought it was worth doing a quick refresher. Each release we ask the community contributors whose images were included in the last release if they’d like to help choose the images that should go into the up coming release. This release we are endebted to the following Flickr users and community members:

  • madeinkobaia
  • SirPecanGum
  • bolorino
  • Deacon MacMillan
  • Noah Bertilson
  • Micheo
  • Fix Peña
  • Fejes Ádám
  • federica_miglio
  • Difusa
  • Hugo.Cliff
  • Mohamed Malik
  • Dh0r
  • paco • espinoza
  • pr09studio
  • Belhor_
  • Emilio Merlino
  • erin_estes
  • j_baer
  • fernando garcía redondo
  • followtheseinstructions
They and I carefully went through the thousands of images and we thank them for their effort and care. Once some images are shortlisted the creators are invited to add them to a shortlist group and supply us with high resolution images (minimum 2550 x 1660) and make sure the licence they use is CC by SA.
The deadline for the wallpapers is the beta freeze and at this point the shortlisted images we’ve received are attached to the appropriate bug in Launchpad. We almost always have more images to put on the CD than will make it in but we always make sure that all the chosen images we receive from contributors are included in bug for inclusion in the distro, if some don’t make it at least everyone has access to these images.
As with all processes it’s about refinement over time so while this process went well and we’ve got some really great images, what can we do next time to make it better?
Firstly we’ll be looking at limiting entries, many people submitted way more images than is sensible. We have a very detailed photo diary of someone’s holiday, for example, and that’s not what choosing wallpapers is all about. We will also look to bring the deadline for entries forward to allow for more time to gather files. One of the reasons that the number of illustrated wallpapers we invited to be in the final shortlist haven’t made it is because at time of writing we don’t have high resolution files from them. Rest assured that if they do appear in the remaining time before release I’ll work to cajole cuddle and squeeze any additional great images in but it looks like in this case a week wasn’t long enough. This may in part be due to the fact that the contributors we get here are often new to the project and not always aware of the delivery mechanisms used and aware of how important deadlines are. We’ll allocate more time next release for collation and review so we can help educate people on what the development schedule, Creative Commons licensing and the like are all about. Members of the team who helped this time around have said they’d be happy to help moderate and educate during the next release so we should also have more hands to help with the process which is splendid!
Having read comments on some other blogs and news sites I’d also like to end on a very important point. Every six months we contribute in a small way to Ubuntu with this submissions process. Community members from all over the world provide a number of new images which if users choose, they can have as the wallpaper on their desktop. People take photos, draw illustrations and tinker to create images specifically for this project and it is unfair to them and the team who review the images to simply post comments saying that the images are poor and not what you’d have chosen. Wallpapers are an optional component. They’re a small part of the whole and a team of willing community volunteers, myself included, select what we hope people will like and what we hope is a bit different to last time to keep things fresh and interesting. If you don’t see something you’d have chosen, that’s ok, you can choose your own image(s) and even post yours in time for the next release. Get involved!
So to all of you reading on this Friday afternoon, if you like the work of someone whose image was chosen or included in the submissions process, tell them about it. Blog it, show it to your friends, tweet it, send it to friends who don’t even use Ubuntu who might like it. Let’s celebrate the creation of free content and celebrate Ubuntu. That’s what it’s all about isn’t it?

Read more
John Lea

Introduction to task switching

A key part of any operating system user interface is how it enables the user to switch between multiple tasks. In most desktop operating systems tasks are encapsulated into windows, and the most frequently used method of multi-tasking is window switching. Desktop OSs have multiple methods of window switching (e.g Alt-tab, clicking on indicators, notifications, etc…) however the most common means of window switching is via using what is variously termed a Launcher, Taskbar or Dock. Traditionally there has been a 1:1 correlation between each window and its representation in the Taskbar (see Windows2000 or Gnome2).


(Ubuntu Hardy Heron used Gnome2 which featured one taskbar icon per window)

With Windows XP, Microsoft introduced a way to aggregate multiple windows that belonged to the same application into a single task bar button. This change was primarily focused towards personas who made heavy use of multi-tasking; this feature only switched on when the number of windows represented in the Taskbar exceeded the length of the Taskbar. It gave the benefits of increasing the number of windows that could be comfortably represented in the available task bar space, and reduced the time and effort it took the user to visually scan a crowded Taskbar and identify an application. The cost of this change was that an additional click was required to switch to a window that was not the most recently focused window of that application.

Windows XP desktop
(The WindowsXP desktop that introduced the concept of representing multiple windows with one taskbar icon)


Unity’s current window switching functionality

Fast forwarding to 2009, when working on the original designs for Unity we knew that window switching was one of the key areas of any OS’s user interface, and we set out to design a window switching paradigm that would surpass the utility and usability of the contemporary competition at the time (Windows 7 and OSX Snow Leopard). The Launcher was only 50% of that equation, the other 50% was a set of functionality we termed the ‘Spread’.

The Spread designs were completed, prototyped and tested well before the launch of Unity with 11.04, but unfortunately due to the huge number of other items that needed to be completed before we could launch a brand new desktop shell, the decision was made to postpone the development of this feature and use the Compiz equivalent of this functionality as a stop-gap measure.

Ubuntu 11.04 desktop
(Compiz window switching in Ubuntu 11.04)

While using the Compiz window switching functionality enabled us to hit 11.04 launch deadline, there are a number ways in which it could be improved. Since then many many bugs, mailing list and forum postings have also requested the same set of functionality that was postponed as a result of this decision. Requests we frequently receive include:

  • Please make it easier to tell one window from another, all terminals look very similar!
  • Make it easier to select windows using keyboard navigation and shortcuts
  • I would like to be able to easily close windows from the window switcher view
  • Can you make it clearer to see which application’s windows are currently being displayed (in the switcher view)?
  • I find it difficult to see which window is currently focused in the window switcher view, can this be improved?
  • Can you find a way to make window switching faster?

Window switching requirements

After researching the window switching problem space and examining the use cases that a window switcher needs to support, we distilled the findings into a set of design requirements. These were:

  • To aid window identification, the window previews should to be as large as possible, taking maximum advantage of the available screen real estate.
  • Window switching needs to be very intuitive and easy to understand for new users. In user testing, a user who has never used Ubuntu before must be able to switch windows without encountering any difficulty.
  • More experienced users should be offered an accelerated method of ultra-fast window switching.
  • Users should be presented with all the information that is pertinent to making a window switching decision, but no more.
  • The window switching mechanism should follow the activity/task hierarchy, in order to minimise time needed to identity the required application, support intensive multi-tasking use cases with very large numbers of windows, simplify the Launcher ordering problem, and make the most efficient use of the Launcher’s screen real estate.

A very brief introduction the ‘Spread’

So now with 12.04 almost behind us, we have dusted off our original Spread designs and given them a light spring clean ahead of development starting in 12.10. So without further ado…

This design shows when happens when a user clicks on the Firefox icon to spread the available windows. The maximum amount of screen real estate is dedicated to making the window previews as large as possible. Moving the pointer over any of the previews will display the window name in a window title bar, and a close button is included so that any window can be dismissed directly from this view. When in this view users can also directly switch to spreads of other running applications by clicking on application icons in the Launcher.

In addition to pointing and clicking with a mouse or trackpad, power users can perform all window switching actions without taking their hands off the keyboard. Holding down the SUPER key will reveal the Launcher with numbers overlaid on top of the individual Launcher icons.

Pressing a number performs the equivalent action to a left click, so if a app is already focused pressing its number will reveal a spread of its windows.

When the spread is revealed, numbers are displayed in the bottom left corner of the previews. Pressing a number will then select the relevant window and close the Spread. Added together this allows a power user to switch to any window of any application just by using the SUPER and NUMBER keys. In addition users will be able to navigate the Spread by using cursor keys to move the orange focus box and ENTER to select.

Another new feature is the ghost window ‘New Window’ option. Previously if a user wanted to open a new window for an application that was already running they had to either middle click on the application’s Launcher icon or press CTRL+N. The problem was that new users had no easy way of discovering these options. When using the Spread, a user can select the ghost window to open a new window of the currently focused application. This feature has even more benefits in a multi-monitor context, and if a application does not support multiple windows this option is not displayed.

Other features include the ability to filter the windows by typing…

and of course this new functionality apples to the SUPER+W spread of all windows on the desktop.


Multi-monitors, workspaces, and all the other gory details

This article only takes a very brief look at a few of the Spread’s features, and barely scratches the surface of the Spread design. A lot of thought has also gone into designing how the spread works in multi-monitor and/or multi-workspace environments, and if you are interested in learning more and reading all the gory details of how every corner case and eventuality is handled, head over to Unity Switching section of the The Toolkit to read the full spec.

Read more
Iain Farrell

All the way back in January we kicked off the submissions process for the next released of Ubuntu.

We did this using Flickr and since then the group has been inundated with over 2,700 submissions! This is an incredible achievement in a reasonably short time and many of the entries are looking great.

Charline, on the Canonical Design Team, contacted me earlier today to ask about what comes next. Well, first of all I’d like to thank everyone who has submitted thus far. It’s an incredible amount of user generated content and we should be chuffed to bits to have so much good stuff to sort through. Next I’d also like to encourage anyone who _has_ submitted to review what they’ve placed in the group. We are about to ask a small group of people to select from nearly three thousand images. If you’ve submitted more than one image if you could please review your images and decide if we really should be considering them all that would be a huge help :)

Lastly, don’t forget the deadline for submissions is March 15th 18:00 UK time. At that point I’ll close the group and the judges will start sorting through these entries. Then from their selection we’ll try and get down to a number of images that can be safely fitted onto the CD image. As always we’ll separate out the entries selected into their own group and we’re also looking into making a package of all the selected images so the completionists out there can get all the wallpapers in one easy package.

Easy, huh? Well you don’t have to sort through 3000 images in a week! ;) Happy snapping, sketching and scanning!


Read more
Mika Meskanen

Ubuntu and Canonical had a very strong presence at this year’s Mobile World Congress in Barcelona. The main attraction was our Ubuntu for Android prototype that was published just a week earlier. The beautiful cubic pavilion also housed the Ubuntu TV demo, Ubuntu One, and our established desktop and cloud offerings. The booth attracted a constant flux of curious visitors representing all walks of life: media, industry people, businessmen, technology enthusiasts, students and… competitors.

John Lea, Oren Horev and myself from the Design Team joined Canonical sales, business and technical staff in this bold effort. In addition to running demos and having interesting conversations with the visitors to the booth, we also had the opportunity to have a look at the endless exhibition halls and floors of the conference and do research on what makes the mobile world tick at the moment.

If the MWC 2012 had to be summarised in one tagline, anyone would probably admit, that it was a one massive Androidfest.

Google’s recently upgraded operating system was simply everywhere. Spearheading the Android avalanche were the latest generation supermobiles – every device manufacturer was showing off with their versions of quad-core, high-definition, 4G/LTE smartphones and tablets bumped up to the latest specification.

Bells and whistles ranged from glasses-free 3D displays to Dolby sound to watertight casings – demonstrating that OEM customisations go beyond branding and skinning the interface.

Google themselves hosted an extensive Android area that was more like a theme park than a typical business affair: fans and passers-by were treated to a smoothie bar, a tube slide (presumably an homage to Google offices), grab-a-plush-Android game – and lucky ones could have had their Nexus phones pimped up with Svarovski crystals assembled by an industrial robot.

In stark contrast to Google’s rather playful attitude towards their ecosystem, the manufacturers were more poised for flexing their technological muscle. The impending hockey-stick curve of serious mobile computing power seems to all but prove the concept behind Ubuntu for Android. The phones of the near future are going to effortlessly run desktop and mobile operating systems simultaneously, and those extra cores can do more than just keep your hands warm in your pocket. Similarly, in our hands-on testing, the demoed 4G/LTE connections were lightning fast, signalling that accessing your cloud and thin client applications from a phone running a full productivity desktop can shift the paradigms of your mobile working life.

While this year’s congress was overrun by Android, it will be interesting to see whether this will be repeated next year, when we can assume to see the effects of Google’s Motorola acquisition and the impact of Windows 8. The latter had reached Consumer Preview stage and was presented in a separate session outside the main exhibition.

Most of the manufacturers had an odd Windows Phone in their inventory, but basically its marketing was left to Nokia, who also occupied a substantial exhibition floor not far from us. The newfound underdogs were quite upbeat about their Lumia phones, 41 megapixel cameras and the staff were very approachable in their stripy Marimekko shirts and funny hats.

In one of the quieter affairs, the Nokia Research Centre demoed an indoor positioning system that promises 30 centimere accuracy and presumably lands in a Bluetooth standard in the near future, enabling a range of user experience scenarios for malls, airports and alike. Affordable Asha phones and Nokia Life for emerging markets were featured as well.

Aside from phones, there were a number of smart TV upstarts. We saw a few demos built on old versions of Android, where a phone interface jumped on the screen as soon as the user leaves the home screen. A more captivating demo came from the Korean company Neo Mtel, who showed off a UI with lots of lively widgets and affectionate animations. They also had a tablet-based “second screen” to complement the product vision.

Perhaps a little surprisingly, Opera (of the Opera browser fame) showcased a TV platform based on web technologies.

In Hall 7 we also had the pleasure of having Mozilla as our next door neighbours. They had set up a nice lounge where people could try out the latest Firebox browser for Android phone and tablet. The Boot to Gecko initiative had matured into the Open Web Device together with Telefonica, and resulted in a working demo of a phone OS, based entirely on web technologies with APIs to talk to the handset’s camera, sensors and telephony software, for example. It was also interesting to exchange thoughts on open-source design and development with the fine Mozilla employees.

Meanwhile, there were some interesting evolutions in device form factors to be discovered. Samsung exhibited a 10-inch Galaxy Note tablet with Adobe Photoshop Touch and very precise and responsive drawing stylus. With the exception of tactile feedback the experience is closing in on that of pen and paper – and for many, the benefits of digital malleability can outweigh the constraints of analogue tools.

Notepad-sized phones are parallel to this trend. The Galaxy Note phone got a rival from LG’s 5-inch Optimus Vu. Both devices channel the passport-size Moleskine or Muji notepad and flaunt oversized screens and stylus input. To prove the point, Samsung had dragged a bunch of portrait street artists to capture the likenesses of volunteering visitors on these polished pixelslates.

The requirement of pocketability and one-handed use has caused many (starting with Apple) to overlook this emerging form factor, but not everyone keeps their mobiles in their pockets and many use their phones with two hands anyway. It will be interesting to see how the notepad phones fare in the market and what kind of UI patterns will prevail there.

Last, but not least, the Padphone from ASUS is a very interesting play on device convergence and as such resonates with Ubuntu for Android. The Padphone is a smartphone that docks into a tablet shell and instantly becomes a tablet. The tablet with the phone inside can then be docked into a keyboard, turning the device into a laptop. While some clunkiness with the hardware remains, the user interface seems to transition from phone to tablet seamlessly and in a snap. However, there’s less wow in the tablet-to-laptop transition, where just a mouse pointer is added into the mix. Since Android is designed for touch this is no surprise, but there’s some added value in having a physical keyboard for typing.

Amidst all the sensory overload and throughout the four days of congress, the Ubuntu booth felt like an oasis of good vibes all the time. The interest and support from people we encountered was really encouraging and very heartwarming. Hands-on videos from the booth went viral across the internet. Many said that Ubuntu for Android was the highlight of the Mobile World Congress 2012.

Visit the Ubuntu for Android site for more…

Read more
mark

Our mission with Ubuntu is to deliver, in the cleanest, most economical and most reliable form, all the goodness that engineers love about free software to the widest possible audience (including engineers :) ). We’ve known for a long time that free software is beautiful on the inside – efficient, accurate, flexible, modifiable. For the past three years, we’ve been leading the push to make free software beautiful on the outside too – easy to use, visually pleasing and exciting. That started with the Ubuntu Netbook Remix, and is coming to fruition in 12.04 LTS, now in beta.

For the first time with Ubuntu 12.04 LTS, real desktop user experience innovation is available on a full production-ready enterprise-certified free software platform, free of charge, well before it shows up in Windows or MacOS. It’s not ‘job done’ by any means, but it’s a milestone. Achieving that milestone has tested the courage and commitment of the Ubuntu community – we had to move from being followers and integrators, to being designers and shapers of the platform, together with upstreams who are excited to be part of that shift and passionate about bringing goodness to a wide audience. It’s right for us to design experiences and help upstreams get those experiences to be amazing, because we are closest to the user; we are the last mile, the last to touch the code, and the first to get the bug report or feedback from most users.

Thank you, to those who stood by Ubuntu, Canonical and me as we set out on this adventure. This was a big change, and in the face of change, many wilt, many panic, and some simply find that their interests lie elsewhere. That’s OK, but it brings home to me the wonderful fellowship that we have amongst those who share our values and interests – their affiliation, advocacy and support is based on something much deeper than a fad or an individualistic need, it’s based on a desire to see all of this intellectual wikipedia-for-code value unleashed to support humanity at large, from developers to data centre devops to web designers to golden-years-ganderers, serving equally the poorest and the bankers who refuse to serve them, because that’s what free software and open content and open access and level playing fields are all about.

To those of you who rolled up your sleeves and filed bugs and wrote the documentation and made the posters or the cupcakes, thank you.

You’ll be as happy to read this comment on unity-design:

I’m very serious about loving the recent changes. I think I’m a fair representative of the elderly community ………. someone who doesn’t particularly care to learn new things, but just wants things to make sense. I think we’re there! Lance

You’ll be as delighted with the coverage of Ubuntu for Android at MWC in Barcelona last week:

“one of the more eye-catching concepts being showcased”v3
“sleeker, faster, potentially more disruptive” - IT Pro Portal
“you can also use all the features of Android” - The Inquirer
“I can easily see the time when I will be carrying only my smartphone” - UnwiredView
“everything it’s been claimed to be” - Engadget
“Efficiency, for the win!” - TechCrunch
“phones that become traditional desktops have the potential to benefit from the extra processing power” - GigaOM
“This, ladies and gentlemen, is the future of computing” - IntoMobile

Free software distils the smarts of those of us who care about computing, much like Wikipedia does. Today’s free software draws on the knowledge and expertise of hundreds of thousands of individuals, all over the world, all of whom helped to make this possible, just like Wikipedia. It’s only right that the benefits of that shared wisdom should accrue to everyone without charge, which is why contributing to Ubuntu is the best way to add leverage to the contributions made everywhere else, to ensure they have the biggest possible impact. It wouldn’t be right to have to pay to have a copy of Wikipedia on your desk at the office, and the same is true of the free software platform. The bits should be free, and the excellent commercial services optional. That’s what we do at Canonical and in the Ubuntu community, and that’s why we do it.

Engineers are human beings too!

We set out to refine the experience for people who use the desktop professionally, and at the same time, make it easier for the first-time user. That’s a very hard challenge. We’re not making Bob, we’re making a beautiful, easy to use LCARS ;-) . We measured the state of the art in 2008 and it stank on both fronts. When we measure Ubuntu today, based on how long it takes heavy users to do things, and a first-timer to get (a different set of) things done, 12.04 LTS blows 10.04 LTS right out of the water and compares favourably with both MacOS and Windows 7. Unity today is better for both hard-core developers and first-time users than 10.04 LTS was. Hugely better.

For software developers:

  • A richer set of keyboard bindings for rapid launching, switching and window management
  • Pervasive search results in faster launching for occasional apps
  • Far less chrome in the shell than any other desktop; it gets out of your way
  • Much more subtle heuristics to tell whether you want the launcher to reveal, and to hint it’s about to
  • Integrated search presents a faster path to find any given piece of content
  • Magic window borders and the resizing scrollbar make for easier window sizing despite razor-thin visual border
  • Full screen apps can include just the window title and indicators – full screen terminal with all the shell benefits

… and many more. In 12.04 LTS, multi-monitor use cases got a first round of treatment, we will continue to refine and improve that every six months now that the core is stable and effective. But the general commentary from professionals, and software developers in particular, is “wow”. In this last round we have focused testing on more advanced users and use cases, with user journeys that include many terminal windows, and there is a measurable step up in the effectiveness of Unity in those cases. Still rough edges to be sure, even in this 12.04 release (we are not going to be able to land locally-integrated menus in time, given the freeze dates and need for focus on bug fixes) but we will SRU key items and of course continue to polish it in 12.10 onwards. We are all developers, and we all use it all the time, so this is in our interests too.

For the adventurous, who really want to be on the cutting edge, the (totally optional) HUD is our first step to a totally new kind of UI for complex apps. We’re deconstructing the traditional UI, expressing goodness from the inside out. It’s going to be a rich vein of innovation and exploration, and the main beneficiaries will be those who use computers to create amazing things, whether it’s the kernel, or movies. Yes, we are moving beyond the desktop, but we are also innovating to make the desktop itself, better.

We care about efficiency, performance, quality, reliability. So do developers and engineers. We care about beauty and ease of use – turns out most engineers and developers care about that too. I’ve had lots of hard-core engineers tell me that they “love the challenges the design team sets”, because it’s hard to make easy software, and harder to make it pixel-perfect. And lots that have switched back to Ubuntu from the MacOS because devops on Ubuntu… rock.

The hard core Linux engineers can use… anything, really. Linus is probably equally comfortable with Linux-from-scratch as with Ubuntu. But his daughter Daniela needs something that works for human beings of all shapes, sizes, colours and interests. She’s in our audience. I hope she’d love Ubuntu if she tries it. She could certainly install it for herself while Dad isn’t watching ;) Linus and other kernel hackers are our audience too, of course, but they can help himself if things get stuck. We have to shoulder the responsibility for the other 99%. That’s a really, really hard challenge – for engineers and artists alike. But we’ve made huge progress. And doing so brings much deeper meaning to the contributions of all the brilliant people that make free software, everywhere.

Again, thanks to the Ubuntu community, 500 amazing people at Canonical, the contributors to all of the free software that makes it possible, and our users.

Read more
Charline Poirier

Every three months, I conduct benchmark usability testing.  I’m calling these tests ‘benchmark testing’ because the aim of these sessions is to measure our progress towards achieving a great user experience with Ubuntu.  Last testing took place in October 2011.  I am now preparing for testing 12.04 to take place a couple of weeks from now.

When I publish the results of usability testing, I get many questions about my process.  So I have thought that the best way to explain how I approach usability is to take you along the preparation and execution of my benchmark testing. Over the next month, I will take you, step by step through my process, from recruiting participants, to writing a test protocol to conducting and analysing usability sessions and writing up results.  This will afford you the possibility of ‘accompanying me’, so to speak, and of conducting usability in parallel, if you are so inclined.

For this post, I walk through the first stage of any testing: recruiting participants.

Recruiting

This is a crucial part of any successful and meaningful testing.  Some argue that just anyone you can get hold of will do.  This attitude, in my view, puts the software before the people who will use it, and carries the implicit assumption that software, by its very nature, is usable. But the simple fact, which we actually all realise, is that it isn’t. Take music players, for instance.  The challenge for this type of software is to fit into the lives of people who want to listen to music.  It doesn’t have to work well for those who don’t listen to music but who are, for instance, heavily into photo editing.  In a word, testing your software with your grandmother or your partner might not provide all the feedback you need to create a user-friendly product if they are not engaged in the activities your software is meant to facilitate.

So, the basic idea is:  in preparing the testing, recruit the right people. The type of participants you work with will determine the quality and reliability of the results you get.

There are some basic rules for writing a screener questionnaire.

Rule 1:  Recruit according to your testing goals

Is your goal to test, for instance, adoption: that is, are you going to assess how new users respond to your software the first time they encounter it and how delighted they are by it?  Alternatively, is your goal to test learning: do you want to assess how easily a novice can figure out how to use your software and how they progress over time? Or are you really interested in expert usage:  do you want to assess how performative your software is in a specific context of use involving expert tasks?  There are, of course, other scenarios as well.  The point here is that you need to be clear about your goal before you begin.

With Unity, we have 2 basic goals:  1) adoption:  we want to know how easy to use and attractive Unity is to someone who has not encountered it before; and 2) expert usage:  we want to know how performative Unity is with highly competent users who are fairly familiar with it.

Given these very different goals, I will need to conduct 2 different user testing sessions with different recruiting screeners or questionnaires, and different protocols.

In this blog, I concentrate on my first project, to test for adoption.

Rule 2:  Know your software

You need to review your software carefully:  you need to (1) identify the main purpose of the software and the activities or tasks that it is meant to facilitate; and (2) identify where you think potential usability weaknesses are.

When I prepare a usability test, and before I even think about recruiting participants, I spend a significant amount of time trying out the software, and even more time discussing with the designers and developers their own concerns.  From this evaluation of the usefulness and usability of the software, I’m able to sketch a profile of participants.  Bear in mind that, given my goals as set out above, the participants will need to be able to use the software right away even if they’ve never used Ubuntu, since I am not testing for learning.

Given what Unity aims to allow users to do, we need to confirm (or not) in the testing that Unity users can easily get set up for and can conduct at least the following activities:

  • writing, saving, printing documents
  • finding, opening applications
  • listening to music
  • watching a movie
  • managing and editing photos
  • customising their computer: organising icons and short-cuts and changing setting
  • browsing the internet
  • communicating

Additionally, the OS should make it easy for users to:

  • multi task
  • navigate and use special features like alt-tab
  • be aware of what’s going on with their computer
  • create short-cuts
  • understand icons, notifications and generally the visual language

In this instance, I want as well to test the new features we have designed since 11.10

Given my goals, my recruitment screener should be written in a way that will provide me with participants who engage in these activities on a regular basis.

Rule 3: Make sure you have an appropriate number of participants, with an appropriate range of expertise, with appropriately different experiences

I’ve often heard it said that all you need is a handful of participants – for example, 5 will do.  While this may be true for very specific testing, when your participants come from a homogeneous group (for example, cardiologists, for testing a piece of cardiology software), it is not true generally.  Much more often, software is meant to be used by a variety of people who have differing goals, and differing relevant experience and contexts of use.

You need to take these into account for 2 purposes: 1) to be able to test the usefulness and appropriateness of the software for different users; and 2) to be able to assess the reasons and origins of any usability problem that you find – these can be explained by comparing differences between users. A usability problem will have a different design solution if it is created by a user’s lack of expertise than if it is created by a shortcoming of the software that stumped all user groups.  It will also help rate the severity of the discovered problems.

Some of the factors a competent recruiting will take into account are:

Different levels of expertise: for example, in the case of software for photo-editing, you probably need to assess the ease of use for people who have been editing their photos for more than 5 years, and for those who have been editing for less than 1 year.  Expertise can be reflected in the length of time they have been engaged in the activity and also in the complexity of their activities.  You may want to recruit people who do basic editing, like eliminating red-eye; and then, to compare their use of your software to the use by people who do special effects, montages, presentations and the like.  This way, you get feedback on a wide range of the software’s features and functionalities.

Different kinds of uses:  potential users will have different needs and different potential uses for the software.  For example, if the software is healthcare related, it may well be used by doctors, nurses, radiologists – and sometimes even patients.  It is useful, when considering recruiting, to include participants from these various professions and other walks of life, so that you will be able to determine how well your software serves the range of needs, processes and work conditions represented by the likely (range of) users.

Different operating systems:  you may want to select participants who use, at least, Windows, Mac and Ubuntu. Users who are new to Ubuntu have acquired habits and expectations from using another OS. These habits and expectations become with time equated with ease of use for these users because of their familiarity.  Recruiting participants with different habits and expectations will help you to understand the impact of these expectations as well as receptivity to innovation.

Recruiting your participants with precision will allow you to understand the usability of your software in a complex and holistic way and will dictate more innovative and effective design solutions.

Keep in mind, however, that the more diverse the kinds of persons who you envisage will be primary users for the software are, the larger the number of participants you will need.  You should recruit at the very least 5 similar participants per group – for instance, in the healthcare example, at least 5 doctors, 5 nurses, and 5 patients.

A few more things to consider explicitly putting into your questionnaire/screener, particularly if you are writing it for a recruiting firm:

It is advisable to have a mix of male and female participants;

Participants from different age groups often have different experiences with technologies, and so you should include a good mix of ages;

The perceived level of comfort with a computer can also help the moderator understand the participant’s context of use.  A question about how participants assess themselves as computer users can very often be helpful;

You should always add a general open question to your screener to judge the degree of facility with which the potential participant expresses ideas and points of view.  The moderator is dependent on the participant to express, in a quite short amount of time, the immediate experience of using the software.  Consequently, being able to understand the participant quickly and precisely is vital to obtaining rich and reliable data.  The individual who makes the recruitment needs to be able to evaluate the communication proficiency of the potential participant.

Rule 4: Observe the basics of writing the recruitment screener

The most reliable way to obtain the desired participants is to get them to describe their behaviours rather than relying on their judgment when they respond to the screening questionnaire.  For example, if you want a participant who has a good experience in photography, instead of formulating your questions as:

Question:  Do you have extensive experience in photography?

Choice of answers:

Yes
No

You should formulate your question in a way to make sure the person has some level of familiarity with photography:

Question:  During the last 6 months I have taken:
Choice of answers:
between 20 and 50 photos a month [Recruit]
Less than 20 photos a month [Reject]

By matching potential participants to actual behaviours, you can make a reasonable guess, for example, here, that someone who has been taking 50 photos every months in the last 6 months is indeed competent in photography, whereas when you rely on the person’s own assessment that they have extensive experience, you can’t know for sure that they are using the same criteria as you do to evaluate themselves.

Your screener should be created from a succession of questions representing a reasonable measure of familiarity and competence with the tasks you will test in your software.

That said, your screener should not be too long, as the recruitment agency personnel will probably spend no more than 10 minutes to qualify candidates they are speaking with on the phone.  At the same time though, you need to ensure that you cover questions about all the key tasks that you will ask participants to perform during the test.

Summing up

Let me sum up the basics I’ve just covered by showing you the requirements I have in my screener for testing the ease of use of Unity by the general public user, not necessarily familiar with Ubuntu. They include that:

  1. there should be a mix of males and females;
  2. there should be a variety of ages;
  3. participants should not have participated in more than 5 market research efforts (because people who regularly participate in market research might not be as candid as others would be);
  4. there should be a mix of Windows, Mac and Ubuntu users;
  5. participants should:
    • have broadband at home (being an indicator of interest in and use of computer during personal time);
    • spend 10 hours or more per week on computer for personal reasons (which shows engagement with activities on computer);
    • be comfortable with the computer, or be a techy user;
    • use 2 monitors on a daily basis (I want to test our new multi-monitor design) to carry out a variety of activities online (part of the designs I want to test relate to managing documents, photos, music, and so forth and  I want my participants to be familiar with these activities already);
    • use alt-tab to navigate between applications and documents (another feature I intend to test for usability);
    • have a general interest in technologies (I want to make sure that their attitude towards new technologies is positive, so they are open naturally to our design);
    • express ideas and thoughts clearly.

 

In closing let me add that testing with friends and relatives is very difficult at many levels.  First, you can’t ask all the questions you need to:  there are many ‘common understandings’ that prevent the moderator from asking ‘basic/evident/challenging’ questions that might need to be asked to participants. Second, participants might not be sincere or candid about their experience:  someone who knows you and understands your commitment to the software might not express what they think, and they may not identify problems they are experiencing and thus, they might minimise the impact of a usability issue or even take the blame for it.  Third, of course, they might not fit as precisely as they should the recruitment screener.

Feel free to use this screener to recruit participants if you would like to conduct testing sessions along with the ones I will be doing at Canonical.

In a couple of days, I will write a blog post about writing the protocol for this round of testing  – which is the next step you’ll need to take while you’re waiting for participants to be recruited.

Read more
Calum Pringle

First of all, thank you all for your feedback in both the blog post and, most importantly, the survey. Over 2000 surveys were completed, which is amazing.

We are really quite overwhelmed with the encouraging feedback received at this stage, so I thought it worth sharing some of the highlights.

 Quotes

It almost spells out U-bun-tu.

It’s unique and modern, but has a feeling of community within it.

Its pleasant that it reflects the working of OS, smoother more user friendly

An idea of a future, dynamism and creativity

It has a “rich” quality that has generally been part of the Ubuntu soundscape.

It is unobtrusive and feels like it fits the old “humanity” as well as the new “light” theme.

It’s distinctive, playful, lively and yet restrained, soothing and modest.

This is great. What is even better is the quantity of constructive criticism that means we can start to iterate further samples and get closer to the sound.

The vote

It was very close, but the winner was sound number one. For reference, this chart shows the closeness of the averages from the scaled questions in the survey.

Remember however there were open ended questions too, so with this result and the positive feedback from the free form text questions, sound one became a clear winner.



As the results were close (as you can see particularly between numbers one and two) we will feed that back to our chosen sound designer to influence their next development.

Thanks for all your feedback!

For the next stage we intend to

  • make it more human, less synthesised
  • increase the warmth of tone
  • tighten the end note
  • lower the pitch
  • land the sound for 12.04!

Read more
John Lea

How is Unity designed?  How can I contribute to this process?  Why did you make thus and such decision? The Unity Design Team is frequently asked these questions, and this article aims to de-mystify our design process and highlight the different ways in which volunteer contributions can help improve the Ubuntu user experience.

Before diving into the design process, let’s take a look at the types of contributions Ubuntu receives.  Ubuntu contributions can be divided into two equally valuable categories: whole project contributions and piecemeal contributions.

Whole project contributions are autonomous projects created by a single developer or a group of community developers and designers working together.  One example of such a project is the excellent http://ubuntu-tweak.com.  Some user experience design tasks require frequent ongoing high bandwidth dialogue between design team members; this is easier to achieve when a small group of contributors take responsibility for the end to end delivery of a project.  Whole project contributions empower the project contributors to take complete control of all aspects of the user experience design.

Piecemeal contributions are contributions that help one individual aspect of a larger project.  Examples of piecemeal contributions include bug reports, small patches and suggestions on how to improve public design specifications.  Coordination is required to ensure that the piecemeal contributions fit together into a coherent whole.  Thus some of the user experience responsibility is ceded from individual piecemeal contributors to the project’s steering team.  In the case of the Ubuntu desktop, the design decisions are coordinated by the Unity Design Team.  In this environment, many elements are contributed by external designers and developers, but the areas of user experience design that require high bandwidth, frequent communication are dealt with by the Unity Design Team.

 


1. Divining the future

Before we get started on designing anything, we need a long term vision and strategy of where we want to be in several years time, and a high level roadmap of what we need to do in order to get there.  My personal take on the Ubuntu vision is that Ubuntu aims to “help humanity by creating a fully open source free software platform that becomes the platform of choice for all computing devices and form factors”.  By virtue of reading this article you are probably one of the small minority of the population who cares and feels passionately about the benefits of open source computing.  But when the majority of people consider buying or using a product, they make a decision based on cost, personal utility, and user experience.  ‘Open source’ versus ‘closed proprietary software’ doesn’t often come into the equation.  So if we are going to succeed in making Ubuntu the platform of choice for the world, one of the things we need to do is deliver a user experience that surpasses the standard set by our closed source proprietary software competitors.  And to do this we need a vision to aim for, of where the world is going to be in 2, 5, and 10 years time.

To help shape our strategy and roadmap we listen to what the brightest minds are saying by:

  • attending conferences
  • reading articles, blogs and forums
  • watching people’s behaviour
  • reading and watching sci-fi books and films
  • and trying to live observant, interesting lives… ;-)

 

How you can be a visionary and help shape the world

If you have a vision of the future or ideas about new ways of doing things, make yourself heard.  Everything from talks at conferences to ideas posted on http://brainstorm.ubuntu.com/ are thrown into the Ubuntu mixing pot, so if you have a great idea, tell people about it.  The more time invested in exploring your idea and communicating it to the world the more influence it is likely to have; a paper presented by a PHD student who has spent a year exploring a particular topic has a better chance of being influential that one or two forum postings.

 


2. The first step in designing a feature; what problem are we trying to solve?

The development of a feature starts as soon as resource becomes available.  After selecting the next appropriate item from our roadmap, the first questions we ask are “what problem(s) are we trying to solve?” and “what are our objectives?”.  One useful tool to help define the problem is to explore the problem using user narratives, and think about the impact of the problem on different personas (user archetypes which represent patterns of behaviour and common goals).  Another useful tool is to undertake requirements capture with members of the target audience.

 

How you can contribute to defining the problems

If you are suggesting either a new feature or a change to existing functionality, first state the problems you are trying to fix.  This opens the door to exploring different possible solutions, and ultimately finding the optimal way to meet the requirement.  Including user narratives in bug reports/mailing list postings/etc… can open up productive discussions that explore different ways of tackling the problem.  They also make it easier for others to understand the problem you are investigating, and therefore improve the likelihood of a solution being built.

 


3. What thinking has already gone in to trying to solve this problem?

Once the problem that we are trying to solve is clearly defined, the next step is to assemble the previous thinking that has gone into the problem area.  Understanding what has gone before and the current state of the art is the starting point from which new connections can be made, concepts built upon and extended, and new ideas created.  Mailing lists, bug reports, and forums are scoured for pertinent information and products relevant to the problem space are examined.  In addition to the collation of previous thinking, fresh research can also be conducted to generate new insights.  This solid understanding of the existing problem space is a elemental ingredient of the design process.

 

How you can contribute to the background research

If a discussion on a design problem is taking place, either in your own project, in a bug report or on a mailing list, feel free to add pertinent information from related fields or descriptions of how others have tackled related problems.  Throwaway opinions are cheap, but considered  background research is a very valuable contribution.

 


4. Ideation

Ideation requires high bandwidth communication between all participants, both for the rapid expression and debate of ideas, and to ensure that everyone in the multi-disciplinary group rapidly gains and retains a shared understanding of the problem space.  When starting a new project at Canonical, we have found it very beneficial to get all the developers, visual designers, UX architects, etc… who will eventually work on the new feature together in a single physical location and spend a week brainstorming and exploring ideas.  In addition, these design exploration sessions help gel the feature team together, and the interpersonal bonds that are established improve team communication and set a positive tone of discourse that persists throughout the entire course of the project.

During these ideation sessions, we:

  • Spread out all gathered information and explore patterns and structures.
  • Jointly brainstorm and sketch ideas.
  • Discuss all areas of the problem space, propose and iterate multiple ideas for tackling all the different aspects of the problem.
  • Examine the problem from different angles; user costs and benefits, technical possibilities, strategic direction, competitive landscape, fit with roadmap, etc…

At the end of this stage we will have a collection of ideas for solving the problem.  And this collection of ideas will have been discussed and examined by the whole feature team.

 

How you can participate in ideation

At a small scale you can make piecemeal contributions to ideation by participating in bug report discussions and offering different ideas for solving the problem.  As a larger scale you can get involved in ideation by joining or starting a community project team that is focused on delivering a feature.  Propose an idea, gather some developers and designers together, and start your design process!

 


5. User Experience design

User Experience design starts with the ideas generated in ideation, and through an iterative process evolves the concepts and fleshes out the interaction details.  Typically a UX architect will take the lead on designing a feature, and as they work through this process they will continually bounce ideas off other members of the feature team and other designers.   User testing is also utilised to provide feedback and inform the evolution of the design.   The UX architect’s work will also be reviewed with the overall UX lead to ensure consistency and linkage with all the other projects that are being designed and developed in parallel.

User Experience architects have a number of tools at their disposal for designing and defining the functionality of a feature or product.   Multiple tools are used simultaneously in order to approach the design from different perspectives; for example wireframes show grouping and hierarchy of elements at a specific moment in time, so they are frequently combined with use cases or sequence diagrams to ensure that the user journey centric viewpoint is also considered.

For very tactile and interactive elements, designing through prototype iteration is an invaluable technique.  An example of this in action is the recently released launcher reveal prototype.   In addition to defining the functionality, user experience design also involves taxonomy, association mapping, and personas.

 

How you can participate in User Experience design

As user experience design builds on top of steps 1-4,  before starting the first task is to make sure these preparation steps are complete.  In the case of adding a piecemeal UX design contribution to a bug, this involves reviewing the bug discussion and satisfying yourself that these preparation steps have been adequately completed.  If you are working on a whole project, make sure that all the previous steps have been conducted jointly with the other members of the project team.

Then start designing!  Look at design patterns that can be utilised, and keep an open mind by looking at mobile and web patterns in addition to established desktop design patterns.  Some good starting points are ‘About Face 3: The Essentials of Interaction Design’ by Alan Cooper, ‘Designing Interfaces’ by Jenifer Tidwell and also the pttrns mobile app design pattern showcase.  Approach the design from different perspectives; to learn more about the mechanics of using use cases to take a user journey centric approach I recommend the excellent ‘Writing Effective Use Cases’ book by Alistar Cockburn.  And keep looking at the design through the eyes of the personas you are targeting, otherwise you may end up designing the product just for yourself!

The artifacts you produce will vary depending on the projects requirements, but should include at the very least elements of layout design (wireframing), functional design (use cases, prototypes, etc…) and Information Architecture (hierarchy maps).

 


6. Visual design

Visual design is the marrying of form and function, it affects user confidence and comfort and makes for a compelling experience.  As we work through each level of the design process, we are both iterating the design and adding further detail.  We start with coarse brushes making wide strokes and work our way to the point where we are using fine brushes to refine the final intricate attributes.  Human beings perceive visual information before they perceive analytical information, and Visual design is about reducing the mental workload for our audience whilst delivering a delightful and cohesive aesthetic experience.

 

How you can participate in Visual design

If you are working on a whole project contribution, fire up your design programs of choice and start iterating the visual design!  For piecemeal contributions a great place to start is theme, icon and wallpaper design.  For a good example of a great community visual design contribution take a look at the Faenza icon theme by ~tiheum.

 


7. Implementation

Development resource is the biggest bottleneck to getting new features implemented, so the most valuable way you can make piecemeal contributions is by taking items from the bug list and submitting patches.  Implementation is also part of the design process, because as a feature is built even more understanding is gained and further refinements are iterated.

 

How you can participate in implementing new features and fixes

Pick a bug from underneath either the “Design changes signed off but not handed over” header at http://people.canonical.com/~platform/design/ or “Upstream projects that can be worked on” at http://people.canonical.com/~platform/design/upstream.html .  If you have any questions about a bug ping either myself (JohnLea), swilson, or nuthinking in #unity-design on Freenode IRC .  The Ubuntu wiki Unity page is good place to start finding out more about how you can help with the implementation of Unity.

 


8. Identifying user facing bugs and QA

After a feature lands it is time to start identifying bugs.  A good starting point is to look at the UX specification of a feature, and check that the implementation matches design.  Where there is a divergence, citing the relevant part of the specification in the bug report is both useful and will also raise the bug’s priority.  On the other hand, designs are never perfect and it may be that there is a bug with the design itself.  In this case it is also useful to cite the issue in the relevant UX specification as part of the bug report.  Unity UX specifications are available at http://design.canonical.com/the-toolkit/ , and we are currently working to increase the number of specifications that are publicly available.  Also all the design bugs that are currently queued for implementation are publicly available at underneath the “Upstream projects that can be worked on” header at http://people.canonical.com/~platform/design/upstream.html .

 

How you can participate by reporting bugs

If you are reporting a user facing bug affecting any part of Ubuntu, make sure the bug is marked as ‘also affects project’ ayatana-design.  The bug will then be triaged by the Unity design team, and if accepted it will enter the stack of bugs that are awaiting implementation.  Sometimes a bug will be marked as ‘Opinion’.   This means that the issue is acknowledged but the exact change request detailed in the bug is not currently scheduled for implementation.  This may be because further consideration is required, or because a project that will fix the bug in a different way is currently in the pipline.  Bug reports are one of the most useful ways you can contribute, every single bug that is reported to ayatana-design is reviewed by the Unity design team.

 


9. User testing

This will be coming soon in a subsequent article…

Read more
Stewart Wilson

We first posted a blog back in December about our work on the multi-monitor experience for Ubuntu. Back then we published the first revision of the Multiple Monitors UX Specification, and got some great feedback. We have taken comments, corrections and suggestions on board, and have come up with an updated multi-monitor specification. The specification can be found here:
 
 

There are several improvements to the specification (including more elegant discoverability of the Greeter login across displays, improved placement of windows upon removal of a display and a more feasible solution for providing missing resolutions in the Display Preferences panel).
The document has also been restructured in places, with new and extended sections, specifying in further detail how elements such as the Guest Session, Launcher, Spread and mouse cursor should work in a multi-monitor setup.

We have also created a prototype to explore how the Greeter works across multiple displays.

Multi-Monitor Greeter Prototype

Multi-Monitor Greeter Prototype

You can check out the prototype by downloading it from here: http://ubuntuone.com/6MHk2xkW5L3Bl9pGsj10z4

Unzip the package and double-click the executable in the folder. You will need more than one display to check this prototype out. As you move your cursor across displays, the Greeter will follow the cursor, allowing you to easily log in on any display. The Greeter itself is not interactive, we are just exploring how it moves between displays. There are also a few keyboard controls to try out:
 

Press Escape to exit the prototype.

Press Space to check out the prototype against a number of different desktop backgrounds (will cycle through the images in /usr/share/backgrounds)

Hold down Alt to show numbers on each display. Still holding down Alt, you can then tap a number to move the Greeter across to that numbered display, allowing you to change the display you log in with, without using the mouse. In the final implementation, the Super key will be used rather than the Alt key, but I can’t bind to that keyboard shortcut in my prototype.

Please let us know your thoughts on the updated specification and the new Greeter prototype.

Read more