You are on page 1of 49

Community Proposed Unity Design

Goal
The goal of this document is to support the Unity design team by providing a centralized community design document that streamlines suggestions from users. This document takes into account the current state of Unity design, available usability test results, and input from the community. It also aims to offer beginners, perpetual intermediates, and power users a pleasant experience and to encourage the transition from beginner to perpetual intermediate by way of accentuating useful features.

The following people contributed to this document. Without them, it would not have made it this far. Arian van Gend, Thibaut Brandscheid, Joseph Slote, Matteo Pagliazzi, Martn Casco, Cristian Yones, Niklas Rosenqvist, and many others.

Guidelines
In order to keep this document on track, the following guidelines should be followed: All text should, where possible, be checked for conformance with the current Unity design philosophy, the latest usability tests, and community wishes, and should be written in grammatically correct English. Where helpful, a UI description should be accompanied with a mock-up for visual support; Where necessary, and/or helpful, add references. When updating content, also remember to update the change-log information for easy book keeping. When possible, link to the original idea source (e.g. mailing list). If you are viewing this document and feel that youd like to add your voice, please write out your idea, and contact Arian van Gend (or check the chat function in Google Docs - its under the blue bar to the right).

Table of Contents
Community Proposed Unity Design Goal Table of Contents Change-log Definitions Quick Previews The Problem How to perform a Quick Preview action? How does it look? Advantages The Launcher Lens-quick-drops The bottom of the Launcher File drag and drop Dash and Lenses The Dash Standard Lenses Universal Applications Files/Folders People Conversations Global Menu Appearance Behavior Indicators Existing Indicators Messaging Menu An e-mail daemon Spacial redesign Me Menu Session Menu Third-party Indicators Work-spaces Overlay Scroll-bars Current implementation Down-sides Up-sides Improvements Ubuntu Welcome Center - Introducing Unity Aggregated Shortcut list under Help menu Keyboard Shortcuts, Mouse Gestures & Touch Actions Appendix A - Power users The PanSpace - A work-space supplement

Tasks Search features for perpetual intermediates and power users Appendix B - Minor niggles and feature tweaks Appendix C - Alternative Ideas (Delivery Room) A unified keyboard shortcut configuration Alternate Dash designs. 1 - Applications are our primary focus when opening the Dash. Introduction. Statics. Dash Main Structure Files and Folders. Actual Dash Behaviour A dynamic workspace icon 2 - A simplified Dash design which allows for a cleaner AppLauncher 3 - Different navigation and Dash lay-out Global Menu (old) System settings in the Universal/Application Lens Avoid duplicating notification information Dynamic Work-spaces References

Change-log
0.99 Every section has semi-final text. Cleaned up as many comments as possible. Updated Messaging Menu section to reflect the new design. Small adjustment in the Global Menu section

Definitions
Lens-quick-drop A Lens entry in the AppLauncher. It can receive dragged objects, and indicates its ability to receive a dragged object when one is being dragged. It can also be clicked, in which case it shows a file open dialog to select appropriate files. A Lens-quick-drop has the same icon as the accompanying Lens, but a different appearance (border/color?). They can be reordered like any Launcher item. Apart from the UbuntuOne Lens-quick-drop there are no default quick-drops installed. The dock on the left side of the screen (the Launcher in Application mode). When the Dash is closed, this is where the favourite applications, and Lens-quick-drops are shown. A user that is progressing in acquiring experience with an application, having outgrown the status of beginner, but not having mastered every aspect of the system yet. A quick and easy way to display an object, such as a file, without having to open it in the dedicated application first. It is universal, so it can open any file type that the system can handle, and can be extended to handle more if necessary. It can be accessed from Nautilus, the Open File dialog, and from the Dash by pressing <space> when an item is focused.

AppLauncher

Perpetual intermediate Quick Preview

Quick Previews
Benefits: enable the user so preview a file and zeitgeist information on it super quick. This enables a fast verification of the content and easy look-up of a specific bit of information. Quick Preview is meant to be a great way to display all kinds of (detailed) information on items in a unified way for Lenses and Nautilus - if useful, the information could be enriched with the power of Zeitgeist. This idea is strongly influenced by Gloobus Preview.

The Problem
Currently, Ubuntu lacks a standardized way to get a quick overview for different tasks, e.g.: - What kind of files can a certain application handle? - What is the file size of ...? - A user can't distinguish between search results (File Lens) bearing the same name. - When did I modify last time ...? A second problem is that we will need a way to channel the output of the upcoming custom Lenses. Quick Preview could be a very handy tool to do just that. Imagine a YouTube Lens where a user can search for videos. Today, all a Lens can do is open Totem and play the selected video leaving all that interesting special YouTube stuff out because we are limited by the application that delivers the content (the same goes for other Lenses). We suggest to abstract the content view in a standardized way that better fits the individual needs of the task performed. In the case of the YouTube Lens, this would mean that a Quick Preview window would open and play the YouTube video, and also show the video-text-info and how many people have already watched it. The UI of the Quick Preview should be minimalistic and clean. In a word: pleasant.

How to perform a Quick Preview action?


Nautilus: press <Space> or select Preview through the right click menu of a file. Dash: press <Space> on a search result or by right clicking it. To close a Quick Preview window, press <Space> again or <Escape>.

How does it look?


Quick Preview shows a window of the right size, with the object previewed in it. If the content is too big to fit a scroll-bar is shown. There are only two further buttons: one to make the preview full-screen, and another to open the file in the dedicated application for editing.

Advantages
Quick Preview would give the user a handy way to have fast and uncluttered access to the information he is searching for. Under Nautilus, it could be used to preview a selected file and show the more common information (name, size, path, quick description, Zeitgeist usage statistics, mp3 tags ...). Depending on the file type, buttons could be shown to open the file, to perform useful actions... Quick Preview isn't there to edit a file, it's there to display file content in the best possible way; unified and clean. For Dash, Quick Preview would make it possible to keep the one-icon-one-result lists and remove some of the weaknesses it has right now. Dash would remain open when performing a Quick Preview action. This enables user to preview a file by looking at the file path or opening a picture without loosing the results page (current state in natty). Quick Lenses could be a smart and useful enhancement for Ubuntu.

The Launcher
Benefits: focus the Launcher on applications and Lens-quick-drops. The Launcher displays a favourites list of applications, indicates application state (running, not running, requiring attention, progress bars, item count, etc.). The launcher should not hold anything other than applications and Lens-quick-drops.

Launcher changes
The Launcher in 11.04 works pretty well, but there a few changes that should be made to improve the functionality even further. Add a possibility to restore default launcher items under System Settings. Add a dialogue question to prevent unexpected removal of items. Use back-light toggle instead of Always on, to more easily differentiate between running/non-running applications, and to make the Launcher look less busy.

Lens-quick-drops
A Lens Quick Drop is an Launcher item that can perform some action on objects of a certain type. It could be an easy way to upload photos to Facebook for example. Dragging and dropping the right objects there pops up a minimal dialog (if necessary for this drop), with some much used options (for Facebook this could be album choice, new album name, etc.). No Lens-Quick-Drops are installed by default, except for UbuntuOne. Dropping files to its icon uploads them to the cloud for storage. The Launcher utilizes alphabetic <SUPER> shortcuts for Lenses and numeric ones for Applications and Lens-quick-drops.

The bottom of the Launcher


The idea was first proposed in the Thoughts on Unity design-Ayatana thread and was later refined in the A realistic vision for the next iteration of Unity-thread. The launchpad entry can be found here. The Trash currently has a prominent place on the Launcher, on of the best even according to Fitts Law, and acts differently from the other Launchers, since it cant be moved. This appears inconsistent, and muddies the purpose of the Launcher. The same problem exists with the work-space switcher. To solve these problems, and to enable quicker mouse-bases work-space switching, we propose to place the work-space switcher, and Trash on the bottom of the Launcher, in separate block, as depicted below. The Trash bin would be replaced by System Settings, to allow fast and uncomplicated access.

By having the workspace switcher in the very bottom left corner it can be easily accessed (Fitt's Law), providing effective workspace switching. Since people manage windows in many different ways it should also provide a second click context menu where the user can choose which window management function it should provide: Expo, Spread, alt+tab, show desktop and let the icon change accordingly. The icon for Expo is depicted above, for the other modes clear icons would still be needed.

File drag and drop


Should one drag a file to the launcher, it should show the user which application, or Lens quick drop, is suited to handle this file (as it already does in 11.04). Dropping the file onto an application should open and focus the application (if it was not open and focused yet) and open the file in the application. Dropping the object onto a Lens-quick-drop should perform a predictable action on the object and inform of the success of that action through a notification bubble, and a temporary change in the icon. It should also be made possible to pin a file to the quick list of a suitable application for quick access. This is done by hovering over the desired place to pin it. A quick-list will appear with one option: Add here.

Dash and Lenses


Benefits: focus the Dash functionality and make it easier, and more powerful, at the same time. Lenses offer a powerful, and extensible search mechanism to users through the different Dash contexts they provide. Their implementation in 11.04 is, however, clunky, and not future-proof. The reasons for this are the needless multiplication of lenses in the launcher, and the current cost of switching lens context (when one clicks on a lens when another is already opened, it serves only to close that lens context. It does not bring up the new context)4. In order to streamline the design, and to future-proof it, we propose the following. The Dash should be accessible from the Ubuntu button on the top left, and by pressing the <super> key. This button should be made more prominent, as many people seem to overlook it. [...Fourth, the Dash is hard to discover. The icon is too small and understated compared to the icons in the Launcher. By its size and placement, it is easily associated with the window management buttons..]2 This focuses the Dash functionality in one place, and avoids cluttering the launcher, which should be used only for applications, Lens-Quick-Drops, and their state.

The Dash
Clicking the Ubuntu button should open the Dash in its universal search state. It should also change the Launcher content to a list of Lenses, displayed in a similar fashion as other items on the Launcher. The first of these Lenses should always be the Universal search Lens. The other Lenses will be manipulable in the same way application launchers would be, meaning they can be reordered, removed, and have quick lists (second click menus).

(a) Lenses, instead of Applications, in the Launcher when the Dash is open.

Pressing and holding the super key should show letters on the launchers for quick context switches, in the same way that the Launcher does for applications. Clicking a Lens item should switch the context of the Dash to that of the clicked Lens, and the clicked Lens should be indicated as the active one. This means that any search entered in the search bar should now be performed on this Lens and its results should be displayed. When scrolling search results, the grid shows a shadow effect on the top and bottom to give a slight 3D effect. This can be seen in the mock-ups below.

The tab key should be used to switch Lenses, therefore, navigating the Dash relies mostly on the arrow keys. The left and right arrow keys should be used to navigate within categories and within search field text. Within categories they should wrap around at the edges.

Standard Lenses
Universal
The context of the Dash when opened should always be the universal search mode, meaning that any search will be performed everywhere; thus results can span multiple Lenses. The Lenses that would be searched by the universal mode would be (at default) the Application, Files, and People Lenses. These contain the most important information for a user, and are all available locally, so they can be searched quickly. When opened, the Dash consists of a search bar, and under it, three rows of six results. The first six results should be the six most used applications that are not in the Launcher already and that are often opened at the same time as the currently focused application (to provide more coverage for applications). The two rows below show the twelve most recently used files for the focused application. This allows quick finding within the users mindset without

even having to search first. In case no application is opened or focused we show the six most used applications that are not in the Launcher and the twelve most accessed files instead.

(a) Lenses are only shown in Launcher when the Dash is open. They replace Applications in that case. (b) Search box. (c) Grid, here we have two rows: First row: Six (6) icons most used applications (that are related to the focused application and that arent on the Launcher). Second row: 12 icons at least for Recent Files (again are related to the focused application).

When performing a search in this context, the results show a maximum of one row (six or nine results) per category. The categories are Applications, Files, then People, in that order.

(a) Lenses on the Launcher. (b) Search box with entered search terms. (c), (d) and (e) The three categories. Clicking more results shows all results instead of one row.

When a user doesnt make use of the People Lens, the search results shows more files instead.

Applications

The Application Lens shows all installed applications alphabetically ordered per category, with headers for each category. This allows a new user to browse through all applications installed. The link in the Search bar to show All installed Applications from Ubuntu 11.04 should be changed to say Find more applications, and open the Software Centre when clicked.

(a) Lenses at left edge. (b) Search box. (c) Categories Selector. Select between Applications, Office Apps, Internet Apps, and so on. (d) Grid. Here all Applications are listed in a grid mode using Header per Categories (not shown in mock-up).. (e) A link Aplicaciones disponibles para descargar (English: Install more applications to directly open the Ubuntu Software Center.

The quick preview in this Lens should show a screenshot of the application, a short text indicating its functionality, and a list of file types it supports.

Files/Folders
The files and folder Lens already works quite well in 11.04, but some tweaks should be

made.

(a) Lenses on the left edge. (b) Search Box. (c) Categories Selector (d) Grid. Here we have: First row: 6 (six) icons for Recent files not related to focused application, ordered chronologically. Second row: Favourite Folders, a.k.a. Nautiluss users shortcuts. (e) Nautiluss users shortcut view (shows all the shortcuts).

The Quick Preview option in this Lens enables out-of-application checking of files in a Gloobus Preview like manner.

People
The People Lens should allow you to find any contact that you have available to you, regardless of the source. Contacts can come from a e-mail application, a social network site (probably handled by Gwibber), or another source. Quick Preview makes no sense here, because all the information is already shown, so its not available here. If at all possible, this should be integrated with the new Gnome 3.2 Contacts application to show the same options in the Dash as that application. This will ensure integration with the rest of the Desktop. For editing the information, we should add a button titled Manage contacts, that opens

the Gnome Contacts with the right contact focused (if at all possible).

(a) Lenses at the left edge. (b) Search Box. (c) Contacts List. (d) Link to Gnome Contact. (e) Avatar (128 x 128 px) (f) Contact Information. (g) Social Links

Conversations
This Lens should enable you to find any piece of social data available. Social data entails not only e-mail messages, and chats, but also encompasses (recent) posts to and from social network sites. The order of results should be E-Mail, Chats, Social Networks. Quick previews here show the conversation source in a useful, and recognizable form.

Global Menu
Right now there are 2 problems with the Global Menu (GM):

Low targetability because the menu appears only by mouse-over Hard to discover for new users The second point can be ignored since new user will learn quite fast where the application menu is, this idea tries to solve the first - the main problem.

Appearance
When the mouse gets near the GM, it should switch from Title Mode to Semi-Menu Mode showing its menu items in a lighter shade. When hovering, the menu would show in Full-Menu Mode (white font color - everything is visible).

Mode Name 1. Title Mode 2. Semi-Menu Mode 3. Full-Menu Mode

Definition Shows the title of the current focused window Shows the menu of the current window in a lighter shade when the mouse comes nearer (~64px to the GM) The mouse is over the Global Menu - menu is fully visible

When the mouse gets closer to the Global Menu, GM should quickly fade to 'Semi-Menu Mode' and stay that way until mouse reaches the top. The advantage of this approach is that switching from title to menu would go more smoothly than when Global Menu font brightness increases as the mouse comes closer. The Global Menu should show the application menu (not the window menu of the selected program - current state in Natty).

Behavior
Double clicking on the Global Menu should maximize/unmaximize the currently focused window (right now its only possible on window titles - not on the Global Menu itself). Ask Ubuntu - Mark Shuttleworth about Global Menu: Ted Gould blogged some research he did on the use of menu's. Informally, his findings support the idea that menu placement is less an issue as we use them less than we tend to think we do. Does menu location matter?

... it would seem that all the functionality I need quickly would be a toolbar; and the menus only exist to expose the full breadth of functionality that the application provides. If it's the case that I only use the menus when exploring, it seems to matter very little how far they are away from the canvas I'm working on. Pros: Semi-Menu Mode solves the targetability issue. Title-Menu hybrid analogy would be more obvious Menu targeting would improve considerably Relaxed title-to-menu switching

Indicators
Benefits: streamline the functionality of the Indicators, and remove some last rough edges.

Existing Indicators
Messaging Menu
The Messaging Menu will receive most of the functionality of the Me Menu, thereby converging on a cleaner implementation, and a clearer functional reasoning. Still, there are a few details that are not covered in this design, and we address these here.

An e-mail daemon A daemon should be added that enables the user to receive e-mail through the Messaging Menu even if the e-mail application isn't running (e.g. Thunderbird, Evolution). This might be a little feature request, but it would enhance the desktop experience for a lot of users. It also fits into the philosophy that a user should not need to care about whether an application is running, or not,1 and this is consistent with the treatment of music players and the Sound Menu.

Spatial redesign As stated below in the section for third-party indicators, we should allow a different indicator layout to be used when it makes sense for the content. In the case of the Messaging Menu, the redesign will tend to overload the menu on some screen for many users (net-books especially will suffer here, because of the limited height). Still, merging in this functionality makes sense from a logical standpoint. How do we resolve this problem? We use a solution similar to the one used for the Sound Menu and the Date/Time indicator. We allow a different layout to be used, instead of the list. This new layout should make use of the available horizontal space when needed, to avoid a situation where the user must scroll the content to view it all. It should also promote an easier overview of the situation. Therefore, in the cases where the content does not fit the height of the screen, or when the height of the content surpasses a certain threshold, we suggest to display the three main categories in two columns, with one column for chat directly below the envelope icon, because it is the most directly used, and has the most entries. It should show the name of the chat client (Empathy / Pidgin / etc.), below that recent responses from people, and below that the user statuses. The second column is to the left of the chat column, and contains broadcast, with a quick status post field, displayed on top, and e-mail (Evolution / Thunderbird / GmailWatcher / etc.) below. Each logical section is divided by a line. Any other item added to the menu will be displayed below the primary items in the same

columns, starting at a straight level to look more balanced. This is done, until the unlikely case arrives that even these two columns are filled completely, in which case the custom added entries move to a third, and final, column to the left of the broadcast/mail column. To look consistent with the case of having only one column, the entries for Empathy and chat status should be merged there as well, instead of shown separately as they are now. The status fields should appear below any recent chat activity, because changing status is at that point the less frequently undertaken action.

Time and Date


It should be possible to integrate web calendars, such as Google Calendar, into the Time and Date Indicator, without having to use evolution, which is overkill when only appointments are required. When using a web calendar, appointments should be cached locally to ensure performance, and to overcome situations where there is no no Internet connection, or only an unreliable one. It would also be useful to show a notification before an appointment begins, which would then also appear in the Messaging Menu. In this case the Messaging Menu would display a bell icon overlaying the envelope.

Me Menu
According to the latest design specifications, it will no longer be a separate indicator. Its functionality now befalls the Messaging Menu

Session Menu
The Session Menu is to cluttered and needs some clean up. Swapping some less used options to a sub-menu results in a more focused main menu, containing only useful items.

Ditch the Hibernate mode and keep Suspend: This is less confusing for beginners (than having the same functionality twice); The interface would look cleaner and less cluttered. The ideal option would be to save the current state to the hard-drive, then suspend (so keep the power on). This enables fast resuming, and is consistent, even when the power fails in between. MacOS X works this way too. The proper name for the option in the menu would then be Sleep. Put the Guest Session and Switch from XXX... under a subcategory Switch to..., and also add an option to boot directly into other OSes to the restart and shutdown dialogs. This way the Session Menu would contain most used entries only, and have a faster visual orientation. The location of the System Settings should be changed. Unity Benchmark Usability April 2011 showed that: None of the participants discovered the system settings option in the top right indicators menu. Users need an icon either in the Launcher or in the indicator area, or a folder in Nautilus. To fix this we should add the menu item in these two places, where users can expect them to be found. The Dash (which should be made more findable) should show System Settings as a result when searching for options or preferences, as well as settings. System Settings should be added to the desktop right click menu (under Change Background).

Third-party Indicators
At the moment, all indicators are restricted to using a list of text, with an icon to the left. There are two exceptions. The Sound Indicator shows album art, and the Time-Date Indicator shows a calendar. Some custom Indicators show content that fits less well in a list structure, and could benefit from a little more positioning freedom. As an example, lets look at the Weather Indicator, a third-party Indicator that shows detailed weather information.

Compare this to way a similar extension looks in Gnome-shell.

The bottom image shows similar information, but because it isnt shown in a list with small icons, the content looks clearer, more modern, and more usable. Note: this is in no way a comparison between Gnome-shell and Unity. It is simply a discussion of the presentation of content. It would therefore be prudent to allow third-party Indicators to show a differently layedout drop-down, next to the normal list options. We want to prevent losing the clean and consistent look and feel of the current Indicators, so only the positioning and icon sizes can be changed. Click events and style remain consistent with the rest of the Indicators.

We propose to add a grid option, on which elements can be positioned. This grid is a fixed size. This ensures all Indicators use the same appearance. Images and text can be placed on the grid freely. When an area is clickable, it will highlight in the same way as the normal Indicator would. This would add sufficient freedom for better content display, and prevent inconsistent look and feel at the same time. Of course, where appropriate, the normal format for Indicators should be used. This addition is only for Indicators with content that doesnt fit well in a list. We can use IDO and adapt them to display more widgets and items in the indicators.

Work-spaces
Benefits: make work-spaces more visible to the average user, and easier, and quicker to use as well. At the same time cater to the power user with speed, efficiency, and shortcuts. At the moment, we can access work-spaces in Unity with a shortcut, and with the icon on the Launcher. This icon is not positioned to allow easy and fast access, since it is mixed in with other icons in the Launcher. Also, its functionality doesnt relate to applications directly, so it takes away from the one function of the Launcher. Therefore, we propose the following changes. They will allow quicker access to the Work-spaces when using the mouse, and separate the icon from the Launcher. As shown above, the Work-space switcher and Trash bin are moved to a bottom section in the Launcher, which is visually distinct from it. The Work-space switcher is in the bottom left corner so it can easily be accessed. An option should be added to the Unity settings to allow making this a hot corner for even faster switching. Accessing the Work-space switcher shows the Expos plugin of Compiz. All work-spaces are laid out, and show all applications in a non-overlapping lay-out, so they are all accessible (this would look like the Scale plugin executed inside of Expos). Applications have a caption with the name of the application in it, and a close button on the top left corner. They can be dragged from Work-space to Work-space. It should also be possible to drag items from the Launcher onto a Work-space to open the item on that Work-space. This would allow a user to quickly organize the applications he needs in this session without having to move them around later. When dropping a item on the Work-space Expos remains open, until specifically instructed to quit with <Escape>, with the icon in the bottom left corner, or by double clicking a work-space.

Overlay Scroll-bars
Benefits: Streamline the design, and remove some rough edges, and annoyances, which now stand in the way of full-scale adoption.

Current implementation
Down-sides
Inconsistent positioning; The scroll-bar is sometimes inside, and sometimes outside the application. This makes its placement unpredictable and it feels awkward to use. Grabbing the overlay scroll-bar takes longer then before; First you have get near it and see where it shows up, and only then can you grab it. This duplicates the effort for a common task by ~+50%. The overlay shows up when the mouse is nearing the scroll-bar. This is helpful for positioning your mouse, but it suggests one can already click and drag the overlay this way, which isnt the case. Middle clicking on a point in the bar to quickly jump to another part of the document is now impossible.

Up-sides
The solution saves screen space, which results in more space for content. There is less visual clutter on the screen.

Improvements
The overlay controls should be emphasized when clicking makes them active. Having them show up when the mouse is near is helpful, but it suggests that the target has been reached already, and this is not the case. To solve the problem of inconsistent placement we could position the overlay controls over the scroll-bar itself. The idea of having them outside of windows is to maximize space for the content, but having them outside feels as if its not part of the window, and is therefore confusing, and since the controls are small, they would hardly, if at all overlap with content. Also, when scrolling vertically, the most important content will be found in the top or bottom of the window, because a scroll action is like a visual search for content. The scroll-bar will not cover this search focus at all. The same goes for the horizontal case. This also prevents the delay in finding the controls, as the second down-side states. Allow middle clicking the overlay controls to jump to a section quickly, as the old implementation allowed.

Ubuntu Welcome Center - Introducing Unity


Today when a new user uses the OS for the first time there is no way for the user to know what do next. There is a help program but how is he supposed to find out about it? When I first started using Ubuntu/Linux I had to go online and read tutorials in blog posts. This isn't a professional way of handling this problem - leaving it to somebody else. Windows features a welcome center program and even Linux Mint does. So why doesn't Ubuntu? I made this mock-up earlier for the thread "Ubuntu Welcome Center". Imagine the mock-up without "install ubuntu-restricted-extras" and add a check-box for "show on start-up" and maybe add an "Open the browser to go online"-button.

The Ubuntu Extended-button could open a view in Ubuntu Software Center with all the featured apps, thus providing an easy way to expand Ubuntu beyond the default 1 CD installation image size policy. The main idea is that we should give new users a tour of the main parts of the OS, much like what the Ubuntu Tour people are working on, but perhaps integrated into Yelp and with a much improved UI. This would be very beneficial for the new users of Ubuntu since the Unity interface is quite different to what people migrating from other OSes and Desktop Implementations. The launchpad entry can be found here.

Aggregated Shortcut list under Help menu

Benefits: allow new users to quickly learn the shortcut for an application. Currently application shortcuts are quite hard to find. Some of them are distributed around the different application menus, some are not shown at all. To remedy this, we should add a new menu item Shortcuts under Help (and include a shortcut to access it). sort the shortcuts by category's (according to the application) highlight the most used/more useful ones Maybe add an option to hide all non most-used-items too

Keyboard Shortcuts, Mouse Gestures & Touch Actions


Benefits: enable power users to quickly get their work done. Below is a comprehensive list of shortcuts that should be available in Unity. The shortcuts are the default values. They can of course be user changed. Shortcut Super+Enter Function description Open application Lens and list all files that the user has worked on in the last month for the focused application. Also add a menu entry to every launcher item to do the same. Show a list of recently closed applications (Dash) ALT-Tab between Work-spaces Show Work-space switcher. Pressing shortcut in overview again focus next Work-space Switch directly to Work-space N Open application menu Open Me Menu Open Session Menu Implemented? no

Super+X CTRL+ALT+Tab CTRL+SUPER

no yes no

CTRL+SUPER+[nr] F10 Super+M Super+S

no yes no no

Mouse gesture Make a left arrow Make a right arrow Make a Z Make a long / (left bottom to upper right) Make a O Make a

Function description Move to work-space left Move to work-space right Close application Minimize all applications on the current work-space

Implemented? no no no no

Show the Workspace Switcher, or zoom out to show all applications (PanSpace desktop) Lock screen

no no

Mouse gestures should be animated and have a decent trail for better visualisation.

Touch actions Two finger swipe right Two finger swipe down/up Three finger swipe left/ right

Function description Show the Launcher Open/Close the Dash in universal mode Works like alt-tab, switches applications

Implemented? no no no

Appendix A - Power users


This section describes design ideas that cater specifically to Power Users. They consist of designs that enable a fast, often keyboard-heavy work-flow, that is sometimes harder to stumble upon and have to be learned by doing. Once learned, these features will truly empower users to work more efficiently and effectively. None of these ideas should be activated by default, and most should probably only be available through the repositories as add-ons, since they fall outside the scope of regular Unity design.

The PanSpace - A ZUI work-space supplement


Curated by Joseph Slote: joseph.slote@gmail.com

Benefits: PanSpace is an intuitive and efficient addition to the current multi-desktop workspaces implementation. Imagine if you clicked on the workspace switcher. You then removed the borders between the four small screens. You would be looking at a zoomed-out view of a virtual desktop four times the size of your computer screen. Imagine if you could not only rearrange the windows from this view, but also interact with them as if they were full size. Imagine, also, that you would not be limited to zoomed-in and zoomed-out views, but any degree in between. Users could move around this virtual desktop just like they were panning around in graphics software or viewing a map. Navigation on this gigantic desktop would be quick, ergonomic, and maybe even fun. That is the premise of the PanSpace workspace. It increases the "virtual" resolution of the display by extending the desktop beyond that of the display borders. Combined with intuitive navigation methods, it could allow for faster, easier window management and navigation. Note that it it is not necessarily meant to replace the current workspace implementation. Each standard workspace could be turned into a PanSpace, allowing the both the speed of normal workspaces and the flexibility of the PanSpace to be fully utilized.

Features Improved Tasks - the particular orientation of a set of programs/windows could be saved to the Task Lens. For instance, a programmer could have a C++ Programming Task, which can be found from the Task Lens by searching, or clicking on an item in the recent Tasks list. This instantly opens an IDE, a console window and a web browser in the users previous arrangement. The application group could then be moved and re-sized as a whole on the virtual screen. See the section on Tasks for more information. Auto-size - the virtual screen size would adjust automatically to encompass all windows. Zoom - being able to operate at various levels of zoom would make navigation a snap, and, like the Compiz Zoom feature, would benefit vision-impaired users by allowing them to zoom in easily. Note that users would be able to zoom to any size, not set sizes like in and out Auto-arrange - Probably an optional feature; Auto-arrange would make sure that windows dont overlap unnecessarily. Who needs to hide windows behind other windows when theres infinite space to put them in? Different Maximize behavior - When a user clicks the maximize button on a window, the view of the desktop would change to zoom in on the window instead of modifying the size of the window. That way, no unintentional overlapping would occur. Resizing in the normal fashion would remain an

Advantages The need to minimize programs would be lessened or even entirely removed. All programs could remain open because the user's palette is of infinite size. Also, programs would never need to overlap each other unless the user wished it. Netbooks and other devices with small screens would not be hindered by their screen resolution. They could simply expand a program with a button-heavy interface beyond the borders of the screen. Tasks greatly increase efficiency. Navigation Methods Click & Drag with the right mouse button. Have the virtual screen move opposite the motion of the mouse. For instance, the cursor's traversal from lower left to upper right of the display would move the virtual screen from lower left to upper right as well. This is similar to the way Compiz Zoom navigates. When the mouse cursor bumps up against the edge of the monitor, any movement over a certain velocity against that edge moves the virtual screen in that direction. Have a small spot on the launcher with a small navigation window like in GIMP and PS. It would remain always visible and would display the views current position in relation to all the windows. On touch screens, use a three finger swipe or the like. Use a hot corner (most likely the lower-right), where a click and drag would move the virtual screen.

Tasks
Benefits: enables a power user to very quickly open a group related applications and files. When one uses a computer one performs various tasks. A task may be to write a thesis, and in that case one would probably have a browser open for research, a text editor, and maybe some other applications. Every task has certain files, web sites and other objects associated with it. Many tasks are performed with several applications open, or, if only one application is open, with multiple files. It would be nice to be able to restore our preferred task configuration (open files, locations and window size of applications) when we need them. Zeitgeist enables us to do a lot of this, since it understands which files belong together, because they get opened at the same time. All we need to be able to do is store this data with an associated name, and remember the position and size of the applications involved. This way, a user could choose a task (which he named himself) and continue working without the overhead of having to reopen every applications and every file, and then reposition and resize the windows to suit him. To save a task, one clicks on the Task icon in the Launcher. This will always be just above the trash bin. Clicking it opens a dialog that asks for a name for this Task. All necessary information is then saved (for now, save all applications and open files for this workspace). No notification is shown of this, since it is the expected result. A notification is shown if something goes wrong. Once saved, tasks can be found through the Tasks Lens, which standard displays your most recent and most used tasks. Clicking a task opens its associated applications and the corresponding open files. They will be placed on the PanSpace in a fresh location and the view-port jumps there. A task can also be quick previewed, in which case its window configuration is shown, along with a list of all the applications and files that are used in this Task. It would also show statistics on when the task was last done, and how long the task has been done in total. Could a project be a subset of a task that defines a specific set of files to use? So for instance, there would be a general Programming task with particular projects, like a website or a game. Each would automatically open with the relevant files.

Search features for perpetual intermediates and power users


The search bar should always allow quick context searches of the following format: <lens shortcut letter>: <search term(s)> For example a: gedit could perform a search for gedit in the context of applications. Performing a search this way switches to the associated Lens, and therefore, the active lens indication in the launcher should be updated, as well as the Dash context.

Searching this way is quick and doesnt require to use the mouse to switch context, thus enabling perpetual intermediates, and power users to very quickly find what they need.

Appendix B - Minor niggles and feature tweaks


Benefits: remove some rough edges and problems from the experience, so it feels more integrated and polished. The current Unity design encompasses some rough edges, which should be addressed for a more polished, and stream-lined experience. They are mentioned in other places of this document, but are collected here, for easy finding. They should also be submitted to launchpad to they can be addressed. The lenses show a scroll-bar under some circumstances, even though it is not necessary (only a few pixels are not visible). Either the icons of the shown items should be slightly smaller, or the dash should be made a few pixels higher to avoid this visual glitch; Universal dash context shows no file results on first search, but it does on the second search (with the same terms). The Dash and Launcher theme is inconsistent with the rest of the theme. For example, the Quicklists have an arrow form on them to link them better to the Launcher item. The App-Indicators on the other hand, do not. When using the Radiance theme the Launcher appearance doesnt conform. The Dash often doesnt have keyboard focus on first launch. Copy and pasting is broken in conj unction with the Dash and the Launcher. This goes for the <Control-C><Control-V> and select + middle mouse button variety. The Me Menu suffers from a crippling bug when posting to social networks, regarding the placeholder text. This text does go away when one clicks in the field, but as soon as the mouse moves away this text comes back. It should only come back when the field is empty and the mouse clicks somewhere else, or the keyboard cursor is used to go somewhere else.

Appendix C - Alternative Ideas (Delivery Room)


In this section new ideas are written out initially, until they are accepted into /rejected from the document. Please try to include a detailed summary of the idea.

A unified keyboard shortcut configuration


Create a unified hot-key map - Amass all hot-keys from various parts of the OS into one editable place. Pros: be the first Cons: be the first

Alternate Dash designs.


Below are three designs for the Dash that differ on a few points with the Dash design described in the main document. They only describe the differences between designs, and should be read as an alteration of the main design proposal.

1 - Applications are our primary focus when opening the Dash.


Benefits: focus the Dash functionality and make it easier, and more powerful, at the same time. Introduction. Statics. Dash Main Structure The Dash, along with the Launcher, must be the center of our OS. Everything is there, but most of the times when we call the Dash its for selecting an application that we dont have in the Launcher. Another important function is Search, which we need to improve considering that it only searches in our Applications and Recent files. A deeper search is required. Here are some Statistics1 provided by the last official Unity Benchmark Usability by Canonical.
1Once

we reach to the final decision, we must delete this.

[...] They had a tendency to go to the Home icon, not only to find information about their computer, but for any programme or application they were looking for. [...]. For example, almost every participant first looked into Home to find computer settings and to change their wallpaper. Participants who discovered the Dash found it very useful, but were more inclined to use Files and Applications Lenses at the bottom of the Launcher. [...] Also some statics provide by M.P.T. (Matthew Paul Thomas) are really useful to us. Also, we have three ways to open the Dash: (a) the Ubuntu button, (b) Application Lenses, and (c) the Files and Folders Lens. Studies and statics says that (b) is the most used one (see my consideration about this). Thats why I suggest that the main screen for The Dash must be Installed Apps. In this way, Dashs main screen structure: NOTE: Actually The Dash show 18 icons. In the left, on the Launcher, Icon Lenses (not Apps lens any more); On the top of the Dash, search box; On the top right, Categories Selector (System, Internet, Office..) Needs improvement, maybe like the Unity 2D concept. Then Installed apps, a grid with 12 icons for our Installed Apps. A grid with 6 icons for Recent Files. Also some icon for Contacts lens has been proposed for this main screen. I consider that this lens is one of the best, honestly; but there are a big number that users that not use Desktop client mail such Evolution and Thunderbird. So their contacts are in the cloud. Example: When we call the Dash we need to have a full access to our installed Apps. I dont care about my *most frequently used apps*, because those applications are on the Launcher. So its redundant information. Also, since our most used apps are on the Launcher, Dash provide us quick access to more apps or easily access to other info through lenses, recent files, and son on. Mac OS X Lion, iOS, Android, ElementaryOS show Applicationss, I think its for usability reasons. Mock-ups The image below shows the Dash with its main screen focus on Installed applications. Below that we can add 6 icons for Recent Files.

The image should have show the lens icons on the left on the Launcher space. This guarantees space for Third party lenses, when they become a reality. It also guarantees simple access to them, even if weve performed a search, we can browse on our lenses without the need to perform a new search.

In this way we can do exactly the same as we do now and its less confusing and more practical, but the focus is on our installed applications. And like Dash Idea Easy Lens Switcher we use the Launcher space for Recent Files in the down edge of The Dash, and some third-party lenses that users install.

Files and Folders. Files and Folders Lens. This is one of the most useful Lenses, but badly implemented. This lens should have a back and forward buttons to click through folders, to browse around more like in a normal fIle browser. With this, if we have a file called Unity 11.10 in /Documents/Ubuntu/Projects/ folder, but is not in our Recent Files list, we need to browse those folders to reach it. Like me, Im sure that you manage a lot of documents every day. Most of the time I dont remember the name of the file, so the search feature its not a good solution. Also I have my Records in Folders, and usually, the files names inside that folders are the same. So search feature its not a good solution. In both cases the browse ability its a good feature.

Actual Dash Behaviour Problems: Poor Filtering Options/Categories Selector (System, Office, Internet..) implemented. Poor touch-friendly options for moving without scrolling, even with the mouse. Suggestions: Maybe is not the best one, but its more much better implemented, Unity 2D Filtering Options. Also, a good solution for keeping space could be use Comboboxes, like the ones Gnome Shell displays for some of its indicators. Unity 2D also has better behaviour for this. The suggestion its use the same system. When we click with the mouse or fingers on an empty space for the Dash, we can move it without Scrolling.

A dynamic workspace icon The idea is to implement a dynamic icon for the work-space. Pros: Easy to identify on which workspace we are. Cons: Doesnt extend easily when users add work-spaces

2 - A simplified Dash design which allows for a cleaner AppLauncher


The idea was first proposed in the Thoughts on Unity design-ayatana thread and was later refined in the A realistic vision for the next iteration of Unity-thread. The launchpad entry can be found here. The idea is based on the thought that the appLauncher should contain nothing but launchers. Today when you open the dash you are greeted by lots of information. From personal experience I know that you usually use the search function to find files or applications, a feature many used Gnome-Do for before Unity. So why are we presented with so much information? The only thing relevant to us are most often our search results since the dash does not provide a good browsing experience. This is because everything is in a grid layout which makes it hard to scan and process the information.

So why don't we make the Dash a Lens handler? An application for selecting installed lenses and searching. By default it should search results for files, folders and applications but by selecting a lens in the view depicted above we can have a clean and non-confusing way of using lenses. Today I don't install extra lenses since they take up valuable launcher space, but this improvement would definitely change that. Our favourite applications which we use often are located in the launcher anyway so I dont see a need for recently launched applications and such in this view. (The view in the mock-up shows the most used lenses and provides a link to show all installed lenses) Pros: be the first Cons: be the first

3 - Different navigation and Dash lay-out


If you press a key character at any time, write the character in the search box, regardless of whether we are selecting some option in the dash. In other words, the search box NEVER lose focus. The buttons "see more results" are removed. These buttons are replaced by a scroll bar below the row of options (this can be seen in the picture below) and two large buttons on either side of the row to allow navigation. The icons for the options that appear at the ends of the row fade (like gnome-shell). This scheme of work is more touch-friendly and keyboard-friendly (the one used to use gnome-do

or synapse knows I'm talking about).

When you open the Dash, it shows you the first lens you have in your launcher(in the dash view), so you can choose what lens will be the universal lens. You can install different "Universal lenses" and choose the better for your needs too(oriented to apps or to documents, with or without contacts, etc).

The two images below show the Files and Folders Lens with the scroll-bar, and the default universal lens repectively.

Pros: be the first Cons: be the first

Global Menu (old)


Benefits: streamline the design by working around some rough edges, while keeping the

implementation as clean as possible, and trying to maintain the connection between the menu and the application. TODO: First describe an ideal state (most applications no longer using this kind of menubar at all), which is the long-term solution. Then describe the short-term strategy. Problems: Touch unfriendly; Hard to discover for new users; Hard to quickly find the right menu (its not visible initially); Application title looks strange when cut off; Menu seems too separated from the application sometime. Root apps arent integrated. Actually Global Menu show the application menu for the active Windows. Solution guidelines: Show the separation between application title and menu differently; Always show the menu itself (its not that distracting since our focus is usually somewhere else. This also fixes the findability issue and is more touch friendly; make it easy to switch application focus from the application name in the panel. This makes it easy to reach a menu on an application, different from the focused one, and mitigates the time lost when travelling up to the menu and the wrong application was focused. All our Windows must integrate to Global Menu, not roots one distinction. A good solution will be to use Global Menu for applications, like MacOS does. This has major benefits for applications with multiple windows, like Empathy (Contact and Chat) or the GIMP. In this case, if we are chatting and the Contact Windows are not focused, we dont have to make it active before accessing its menu. Different approaches: TODO: Pick the best one and X the rest. Allow scrolling/swiping on the app name to switch between apps. Have an arrow next to the app name to corroborate this idea. The arrow also lights up when using alt-tab to show the connection more clearly. This way, when the wrong app had focus when we reach the menu bar, we dont need to do cumbersome window actions to get where we need to go. Implement the MegaMenu9 idea thats being considered for Gnome 3. This would solve the Menubar problem in a very elegant way, making it more powerful and clearer. This has been used on major websites for navigation for a while now, and seems to work well in practice. Of course a menubar item does more than just provide navigation.

System settings in the Universal/Application Lens


Adding a system settings (or maybe just Settings) Lens could be a good way to expose

finding the settings when you need them. It can also collect all settings in one, easily searchable place. We would have to think about how the results work with the system settings app, and possibly with Gnome Tweak Tool. Maybe show separate results from tabs/sections in those applications, and have clicking them open the settings application with the right tab/section focused. Maybe we can integrate gnome3 system settings into a special lens which can be open from the dash. Pros: Be the first Cons: Be the first

Avoid duplicating notification information


Right now, both the messaging Menu and the AppLauncher icon can inform you of an event happening (such as an arriving e-mail). This detracts from the clean implementation of the Messaging Menu (top right, the icon changes color, possibly showing a notification nearby as well, and on the left, an icon start wiggling for attention, and topleft, the Ubuntu button shows a triangle). We should only advocate one notifier to avoid unnecessary distractions. Possible solutions: Only show events on the icon in the Launcher. It wiggles shortly, as is default right now, and afterwards, the Ubuntu button changes color (something more obvious than just a triangle appearing). Only show events through the Messaging Menu. It works the same way it always has. Pros: be the first Cons: be the first

Dynamic Work-spaces
Benefits: make work-spaces more visible to the average user, and easier, and quicker to use as well. At the same time cater to the power user with speed, efficiency, and shortcuts.

This section is strongly based on Dynamic Workspaces, as implemented in Gnome-shell. We do want to differentiate our solution from theirs, not because it is a bad one, but we need to think about Ubuntus own identity. Dynamic work-spaces always have one empty work-space on the right. The bottom of the screen shows the dynamic work-spaces in full-screen when holding the mouse there (or when three finger swiping up). This works the same way as it does for the Launcher. Its displayed as a filmstrip of work-spaces, in which the current work-space is slightly bigger than the others. A work-space shows all windows on that work-space next to each other, so picking one is easy. Clicking a work-space switches to that work-space. Clicking on a window focuses that window. Dragging a launcher to a work-space opens the application there. Dragging an app to a work-space moves it there. Note that this idea can still work when users prefer a fixed amount of work-spaces.

References
1. http://design.canonical.com/2011/03/quit/ 2. http://design.canonical.com/2011/04/unity-benchmark-usability-april-2011/ 3. http://justinstories.wordpress.com/2011/06/01/ready-for-gnome-3-2-meet-gnomecontacts/ 4. http://www.linuxuser.co.uk/opinion/linux-users-ubuntu-column-100-with-markshuttleworth/ 5. Alan Cooper, About Face 3 6. http://techlaze.com/2011/06/10-ways-in-which-ubuntu-can-improve-unity/ 7. http://www.google.com/url? q=https%3A%2F%2Fblueprints.launchpad.net%2Fubuntu%2F%2Bspec%2Fdesktopo-system-settings&sa=D&sntz=1&usg=AFQjCNHPl3LLcgvxbwct1ibeirQMFBvBoQ 8. https://lists.ubuntu.com/archives/ubuntu-devel/2011-April/032988.html 9. https://live.gnome.org/Design/Whiteboards/Menus 10. https://wiki.ubuntu.com/MessagingMenu/

You might also like