Thursday, 29 March 2012

Unity Shell Interface Usability Issues


Introduction
Unity is a shell interface that comes with latest versions of Ubuntu Linux distribution. It is originally designed to be efficient in screen space usage. This is due to its original target which was netbook systems. Netbook screens are typically small compared to laptops and desktop computers and it is important to have an space-efficient desktop user interface. Ubuntu originally used Gnome Shell interface but in November of 2010, Ubuntu community manager, Jono Bacon reported that Ubuntu will continue to ship Gnome stack but the only difference was the new Unity interface. Later on, in April 2011, Mark Shuttleworth announced the removal of GNOME desktop as a fall-back to Unity. Unity is now the main desktop environment of Ubuntu distribution. However, this does not mean that users cannot use GNOME desktop environment. Gnome Shell can also be installed on a Ubuntu machine as a separate desktop environment. In this post, I am going to address a few usability issues of Unity shell interface.

Browsing the web and the Unity Panel 
As I already mentioned, Unity was designed to be efficient with screen space. They added a panel to the left of the screen that contains some short-cut application launchers. In order to be space-efficient, when you maximize a window in your current desktop, this panel disappears and it moves out of the screen. By moving your mouse pointer to the left of the screen, the panel slides into the screen again. Unfortunately, this has a drawback when you are surfing the web. Typically, browsers have the left and right arrow buttons in the upper left corner of their window that let you go back and forth between the pages you have already visited. These two buttons are used so often by users. In my experience, when I use web browser in Unity environment, I tend to move my mouse to the left of the screen when I want to go back to the pages I visited before. Almost 50% of the time, this causes me to get to the left panel and launch an application. This is very annoying because you will need to close the application you just launched and go back to your browser. Initially, I thought this might be a problem that not everybody experiences but then I observed other people doing the same thing and that is why I think this needs to be addressed. I understand that Unity was designed to be space-efficient but if it is install on a desktop machine then there is no need for such features. The unity panel can have a button at the lower left corner and in case a user would like to get to the panel, they can simply click on that button. I believe Unity must fix this by adding a small button at the lower left corner of the screen or let the users move the panel to the right of the screen. 
This snapshot show how the left panel can cause users to mistakenly launch random applications due to its behaviour.


Launch an application twice from the Unity Panel
It is very usual for users to launch applications twice because they need two instances of the same application. For example, some users prefer to open two file explorers when they want to search in their file systems and copy files from one location to another. You may launch a file explorer where you find the files you want to move and then you can copy a set of files by dragging them into another explorer. Nautilus is a file explorer that lets manage your file system by going through your files. The Unity panel has Nautilus has a default application in its launcher list. You may click on it and launch it. The problem is when you launch applications from this panel then if you click on the sample application again, you are not going to launch a new instance of it. Instead will change the focus on that instance that you had already launched. The second thing that may come to your mind is to right click on the application's icon and hope that you can launch the application using an item in a pop-up menu. When you right-click on it, you have not so many options. You can focus on the application again or you may remove the application from the launcher. You can also quit the application. At this point you may give up and try to use your dash to launch a new instance. What if you don't know the name of the application. As you can see it can be very annoying at this point. However, the solution is to hold the left and the right buttons of you mouse at the same time when your mouse is positioned on the application's icon. This is a very unusual behaviour. I had to read this in their documentation to find out what to do at this point. I believe the pop-up menu that appears when you right-click on the application's icon must have an option that would let you launch a second instance of the application. This would definitely make it much easier for a new user to launch a second instance of an application from the Unity panel.
This snapshot shows the Nautilus application launched but as you can see the pop-up menu on the Unity Panel does not have an item that lets you launch a second instance of this application.
Global Menus !
It seems to me that Unity is trying to mimic Mac OS X with some of its new features. Not all the design decisions in Mac OS systems are perfect. Unity has introduced a feature for its active windows called a "Global Menu". Window menus do not appear in the window itself but they appear at the very top of the screen. I believe this is another effort to give more screen space to applications for netbook users. This is great for netbook users because the screen is small. However, this slows down desktop users. Desktop users with large HD screens need to move their mouse pointer in a large screen back and forth from the window to the upper panel of Unity. This feature must be customizable as it is not even needed for large HD screens.
This snapshot shows the new Global Menu feature introduced in Unity. In large screens, users need to move their mouse pointers back and forth from the menu to the window which will slow them down.

Dash Pop-up Menu!
Unity dash provides a nice and clean environment for users to search for installed applications and files on the system where users can launch these applications. The user can type a few characters of the name of the application or the name of the file he/she is searching for and the dash environment helps the user locating the file or the application. The problem is that there is no pop-up menu in this environment. It would be nice if right-clicking on an application could show some information about the application and its location in the hard-drive. This might not be as crucial for applications as it is for files. It is typical to have two different files in different locations in the hard-drive with the same name. When you search for files, the name of the files appear but you get no information about their location. Right-clicking on a file behaves the same way as it would if you left-click on a file. It basically finds the right application to open the file and then it launches it. Adding a pop-up menu or an information box in a corner of the screen could make it possible for users to be able to move over the files and get some useful information about files/applications.
This screenshot show the Unity dash where users can search for files/applications. No extra information is presented about these files and applications such as the path to the application/file.

Tuesday, 27 March 2012

Usability Issues of Gnome Shell 3.0

Introduction
Gnome Shell is a graphical desktop environment for Linux distributions. It provides multiple functions for users to manage windows and their desktop environment. In the latest version, it also provides a panel where users can search for installed applications on their systems and helps launching them. The earliest version of Gnome Shell came out in August 1997 as a free software project to compete with KDE desktop environment. The latest stable version of Gnome Shell is 3.2.2 which came out in November of 2011. The new family of Gnome shell 3.x has been modified noticeably compared to the previous versions which has some usability issues in my view that need to be addressed and possibly fixed in future versions. In this post, we will look into some of these usability issues.


Attached Modal Dialog Box
Let me first start with this new modification: attached dialog boxes. In user interface design, dialog boxes are simple windows that query some informaion from the user. For example, if you would like to upload a file online, you will need to select a file first. In most online forms, there is a browse button that you can click and then you will be presented with a dialog box where you can browse through your file system and select your file. There are two different types of dialog boxes: modal, non-modal. Modal dialog boxes will require you to interact with them before returning to the main window. In the case of some browsers, you may not be able to return from the file dialog box to the browser before cancelling the operation or selecting a file. Prior to Gnome Shell 3.0, the default method of handling such cases was to have the modal dialog box separated from the main window so that the user would be able to move the modal dialog box around in case if they would need to look under the dialog box. Unfortunately, the new Gnome Shell has changed this. The modal dialog box is now attached to the main window which means that you cannot move the dialog box. Modal dialog boxes are very common and they are used in so many graphical user interfaces. In some cases, in order to enter the right information, the user needs to look at the main form. For example, imagine a website where you would need to upload two different files and for each file there is a browse button. The upper field belongs to an image file and the lower field belongs to a data file. If we are not paying attention and we click on the upper browse button without noticing what must go in the upper field, then we would like to move the dialog box around in order to figure out what file we need to select! But in the case of Gnome Shell 3.x, you cannot do this. The dialog box is attached to the main window and you cannot move it around. You need to cancel the file dialog and look at the browser page again. This is not convenient at all. In my oppinion, the Gnome Shell must return to its previous style where the dialog boxes are not attached to the main window.
This snapshot shows a modal dialog box that is attached to the browser and it is impossible to move it


Hidden Shut Down Button
Most people like software that is easy to use out of the box. When you first see a software user interface, you may have some ideas of how to perform some tasks. It is not always the case and for bigger applications, it is not always easy. Sometimes, you need to browse and look for a feature. Prior to Gnome Shell 3.x, the previous versions of Gnome had a Shut Down button under the System menu. Even if you were a new user, this feature was very easy to find. I was unable to find the Shut Down button on the first day I installed Gnome Shell 3.x. I had to use my physical power button on my laptop to get to the shut down window. I introduced Gnome Shell 3 to a friend of mine and he also had trouble shutting down his computer.  I knew this feature cannot be taken out of the interface. I decided to look for it but after spending hours, I decided to read the documentation. It turns out that when you click on the main menu at the upper right corner of the screen, there is a suspend button but if you hold the "alt" key on your keyboard, it changes to "Power Off". I personally do not think this is a good design decision. It is absolutely not a bad idea to add a Shut Down button to the main menu.
This snapshot shows the main menu at the top right corner of the screen. As you can see there is no Shutdown button or anything similar.
This snapshot shows the Power Off.. menu item. This happens after holding the alt key.



Offline or Online ?
One of the most important aspects of user interface design is consistency. We would like the information presented to us to be correct and consistent across the interface. Unfortunately, this is also an issue with Gnome Shell 3.x. When you close the lid on your laptop then depending on your power settings, your system might enter the hibernation state. Now you may leave your laptop and come back to it and when you open it up now, the system wakes up and it tries to establish a wireless connection with a wireless host. This process might fail or it might be successful. In any case, your  desktop interface must update you with the right information and the status of your connection. In the next snapshot you will notice that at the top-right corner of the screen the wireless icon is online, however, at the bottom of the screen, the desktop states that the system is offline! The easiest way to figure this out is to open a browser and try to load a website and see if it works. This issue must be fixed!

Inconsistent information about the connection status of the system. At the top right corner of the screen, the connection is shown to be online but at the bottom it says "you are now offline."

Alt-Tab Behaviour
This issue is my own opinion and some people might not agree with me which is fine because everyone has their own preferences. In all standard desktop environments, holding the alt-tab keys at the same time lets you switch between the "visible" windows. Linux desktop environments usually have multiple desktops and users can usually switch between these desktop panels using "Ctrl+Alt+(Arrow Keys)". Each panel has some active windows and this was done to make it easier for users to separate their work into multiple desktop environments. Prior to Gnome Shell 3.x, the Alt-Tab keys would help users switch between the windows of the current desktop panel. Starting with Gnome Shell 3.x, this behaviour has changed and now you would be iterating through all the windows in all the panels. If you had two terminals open in different panels, it would be hard to tell which terminal window belongs to which panel. I used to be a heavy user of Alt-Tab and multiple desktop panels and I find this new behaviour extremely annoying.
This screenshot shows the problem with the new alt-tab behaviour. As you can see, I have two options to choose from and they are in different desktop panels. They both look the same!

  翻译: