Monday, April 4, 2016

Usability Issues with TeamViewer

by Philip Benjamin George   

Introduction

TeamViewer is a cross-platform application that lets users connect remotely to machines, host and attend presentations and meetings, share files and make audio and video calls. The application is available across multiple desktop platforms such as Windows, Mac, Linux, ChromeOS and mobile platforms such as Android, iOS, Windows Phone and BlackBerry. It has a wide range of use-cases such as Remote Support i.e. helping people by providing technical support, Unattended Access which is automatic remote connection to machines without manual intervention and conference call functionality. Features of TeamViewer are that it provides high security using RSA and AES encryption, high performance, no configuration required and an easy to understand user interface. Overall, it is a very powerful tool for home as well as business users [1].

Though TeamViewer has many advantages, it suffers from certain usability issues. This blog presents a few usability issues that I encountered with the application. Though these issues are not too serious, they need to be fixed, so users can have a better experience, which will ultimately result in attracting more users.

Product and Platform Information

Software version: TeamViewer 11.0.56083
Operating System: Windows 10 Home Edition

Usability Issues

Below are few usability issues that I encountered when using the TeamViewer application on Windows.

1.      Computers & Contacts window separate from main window

The interface of TeamViewer application has two windows, the primary window with main functionality and a smaller secondary window placed next to it that shows computers and contact information of the user. The presence of two windows for the same application could confuse many new users, as they may not be aware as to why two windows are required. The main purpose of the secondary window is for user login, to present a view of available computers and contacts, adding new contacts and groups, nearby contacts and devices. This window could easily be integrated into the main window to avoid user confusion.

Fig.1 Primary and Secondary windows of TeamViewer
Recommendation

The application could integrate the secondary window to the main window and provide options like expandable side window for contacts and computers, split secondary window option for separating windows based on user preference.

2.      Starts presentation/Video calls without inviting or adding participants

TeamViewer provides options to start presentations or video calls with contacts and nearby users and computers. When users select the presentation or video call option, they are automatically taken to the presentation/video call screen without prompt and without letting users to invite participants. This may take users by surprise, as they first expect to add/invite participants to the meeting instead of being forced into the meeting with no participants, and then selecting them from the presentation/video call screen. All the options for the meeting have to be set from this screen, which could be irritating to users.

Fig.2 Presentation screen with only presenter
Recommendation

It is recommended to present users with a separate screen to add or invite participants to a presentation or video call. This screen should also present users with meeting options, rather than making users select these options on the presentation screen.

3.      No Explicit Exit session/meeting button present

When a user is in a presentation or meeting and wishes to exit, there is no explicit Exit Meeting or session button provided for this purpose. Users have to click the close button present on the TeamViewer dialog, which is not so prominent in the view, to quit the session. There is also no indication that this close button would end the session or whether it would terminate TeamViewer application itself.

Fig. 3 Presentation screen with no explicit Exit session button
Recommendation

The application should have an explicit Exit session button in presentation window for users to quit session.

4.      Notification of Status could be more prominent
Status notifications in TeamViewer are given as colored bubbles in the left corner of the application along with a notification message. Status messages such as Ready to Connect, Abort and Waiting for authentication are shown with colors like green, red and orange respectively. The issue here is the placement of these status messages, especially to users that are new to the application. Any change in status reflected in the lower left corner of application window, may not be noticed by novice users.

Fig. 4 Status notification in TeamViewer
Recommendation

The application could notify users by displaying status changes closer to the central area of the application. The idea should be to place these status messages somewhere the user will easily notice them. There could be a non-modal or progress dialog box appearing to show the status.

5.      Password option icon hidden and misleading



Users can change the password of their TeamViewer application by selecting the icon close to the password field in the main window. This icon is hidden and only appears when the mouse is scrolled over it. This icon (similar to the refresh icon) indirectly implies to generate a password i.e. set password automatically with random characters. This could mislead users, as selecting this icon shows a set of password options, rather than auto-generating passwords. Selecting this icon gives users the option to generate a random or custom password, and copy the password to the clipboard.

Fig. 5 Password options button in TeamViewer
Recommendation

It is recommended that the icon be made visible and be changed to indicate password options instead of a refresh icon that may mislead users.

Conclusion
          
Overall, my experience with TeamViewer has been very good. Though it does have a few minor issues in the usability perspective, it is quite a powerful tool that does what is expected of it. I found it to be an extremely user friendly application, that I would highly recommend to home and business users.


References:

[1]        TeamViewer, URL: http://www.teamviewer.com/en/

Sunday, April 3, 2016

Heuristic Evaluation of UNITY3D

By Oga Ajima.

Unity3D is one of the more widely used game design engines for the design and development of video games. It is available for installation across multiple platforms including Microsoft Windows, Apple Mac OS X and Linux and can be used for cross-platform development of both 2D and 3D games. This makes it a very compelling option for developers looking to make video games as it allows for flexibility and freedom in regards of platforms to deploy on while eliminating elaborate modifications prior to deployment. Despite these positive features, there are multiple alternative game engines available and Unity3D is competing in a category of software applications that is experiencing rapid growth and the various options available are providing stiff competition with respect to features and capabilities. Among these alternatives include game design software such as Epic Game’s Unreal Engine, Amazon’s Lumberyard, Crytek’s Cryengine and YoYo’s GameMaker just to name a few.
A cursory glance at the history of software development reveals that particular applications eventually come to dominate any given category and examples abound in word processors (Microsoft Word), design (Adobe Photoshop) to name a few. This is due to variety of reasons and among these is the usability of the application itself. Game engines are a class of software that are in their relative infancy and prejudices formed now could probably influence user’s choice for a very long time especially considering user inertia with regards to established software. A lot of the game engines competing with Unity3D are at feature parity or getting there rapidly, and with free licensing models becoming more popular, some other form of differentiation becomes ever more important in order to stand out from the crowd.
Usability of a software application is a major differentiation factor and is widely recognized as being crucial to the user experience of an application. Since Nielsen and Molich’s original presentation of the heuristic evaluation guidelines in 1990, heuristic evaluation has become a widely used usability testing method due to its advantages with regards to cost, time and expertise. Nielsen’s revised guidelines are among the most popular of the heuristic guidelines employed but there are also other heuristic guidelines including Schneiderman’s 8 Golden Rules, Gerhardt-Powals’ principles, amongst many.
The users of the Unity3D game engine range from the absolute beginners to experts. This represents a very wide spectrum to cater to hence the need for the user interface (UI) to account for varying degrees of competence. To test the usability of the Unity UI, a heuristic evaluation was undertaken to evaluate the usability of the software. Nielsen’s 10 heuristic guidelines [1] were used together with the severity rating scale [2] (ranging from 0 – 5) to rate the severity of the problems found. The task evaluated where those involved in the creation of a Scene which include the manipulation of objects in the Scene View and the creation of programming scripts to add functionality and logic to the Scene. Creating a Scene is one of the basic task engaged in while bringing a gaming concept to life so this task is representative of what a beginner or expert user may do while using the application. The usability problems found, the severity rating and suggested solutions are presented below. The evaluation was done by the author of this post but it is accepted that more evaluators will find more problems compared with using one evaluator so it is very likely that there are more usability problems in the application than those that have been identified.

Problems

Problem - Unclear GUI icons in “Transform Tools” Toolbar

Figure 1 - Transform Tools Toolbar (located upper right)

The Transform Tools toolbar contains the icons that are used to manipulate the objects in a Scene View with regards to select, position, rotation, and scaling. These manipulations happen in a 3D field that is represented along three Cartesian axes x, y and z. There are multiple options to perform these manipulations including the use of the keyboard shortcut keys (where Q -> Pan, W -> Move, E -> Rotate, R -> Scale) and by exact values in the Inspector Window under the Transform field (where you also have the option of using the mouse to drag the values, though this is not immediately obvious). Despite these other options, the Transform Tool icons are the most obvious and I believe the most convenient as they allow immediate and rapid prototyping as different objects can be selected and the corresponding Transform icon chosen to adjust that particular option. The problem lies in knowing which icon represents which option. Beginners new to Unity are likely to make the correct association of the hand icon with the desired option (pan) which is what a UI designer wants; the other icons however are not quite so obvious and one of the causes may be a beginner user exposure to a different meaning of that icon in a different software or application. The Move icon bears some similarity to the Scale icon but most importantly is used by Google Maps to pan, by Microsoft Word to move an image, by Paint.Net to move “selected” pixels and probably in many other programs.

Figure 2 – From left to right, the four arrow Icon in Google Maps, Microsoft Word, Paint.Net and Unity3D.

This is an overly used icon and depending on the background of the user, there may already be some meaning attached to it. To compound the difficulty in ascertaining the meanings associated with the Transform Tools icons, no tooltip is provided. Tooltips are widely used help mechanism in allowing and enabling the discoverability of graphical user interface (GUI) elements. They appear or pop up when a user hovers the mouse over an icon, or UI element and provide information regarding the action(s) about the element. A convention in application development is to make tooltips and help options verbose as a default on initial installation and as users get comfortable with the application and can recognize the various GUI controls with ease, these can be turned off or the density reduced. Curiously, Unity does use tooltips for some icons but not consistently across the whole UI.

Figure 3 - Tooltip for the Gizmo Display center icon

Severity and Suggested Solution

This is a pretty serious oversight on the part of the UI designers as it leads to a lot of aggravation on the part of the user and requires memorization of the icons. One of the 10 heuristic guidelines is to choose recognition over memorization. This flaw breaks that guideline as it forces memorization upon the user, also the principle of consistency and standards is violated as it forces users to wonder what the various icons mean due to the use of these icons in different applications to represent different actions coupled with the subtle similarity between the move and scale icon. The severity rating is a 3 as this is a major problem that should be fixed.
In the long term, a better option would be to rethink the choice of icons used in the Transform Tool. Designing a completely new icon set that has no “baggage” carried from other applications would probably be a good idea. In the interim, including into the frequent update packages pushed out to users an enabling of the tooltip should be a priority. This should not be particularly difficult, as it seems the mechanism is already enabled for some icons.

Problem - Lack of a reset option for View Gizmo

The View Gizmo is used to switch between a 3D view and 2D in the Scene. It is particularly useful when the developer is creating a scene where the in-game perspective may shift between 2D and 3D views. It gives the developer greater visibility into how things appear in-game and provides greater design control over a particular scene.

Figure 4 - View Gizmo (3D view)

The default view of the View Gizmo is from a 3D perspective and the problem arises when the developer tries to revert back to this default view after switching to a 2D view. There is no obvious way to do this as repeatedly clicking on the gizmo continuously switches between the various axes (x, y, z) within a 2D context.

Figure 5 - View Gizmo (2D view)

Pausing the mouse cursor over the gizmo produces no indication of how to revert back to a 3D view. An extreme step is to save and close the Scene View and then reopen the same scene and the default 3D view will be restored; obviously, this is not a desired step as it interrupts the work flow and can be very annoying. There is actually a pretty simple way to revert back to the default 3D view – “Shift + Click” restores the 3D view – but this can only be discovered on going through the documentation for the application. While documentation is important, for simple tasks such as this, there should be an obvious way to revert back to the default state without resorting to the documentation. The User Control and Freedom heuristic guideline suggests that users “will need a clearly marked emergency exit to leave the unwanted state” and this has not been provided with respect to the View Gizmo.

Severity and Suggested Solution

While the search for how to revert back to the default view can be frustrating, the command to do so is not a difficult one to recall (Shift + Click) and the main problem lies in it not being easily discoverable so the severity rating has been assigned a 2, it is a minor problem that should be relatively easy to fix.
As has been observed, the fix should be easy to fix and this can be accomplished by the use of a tooltip to provide discoverability. Implementing this shouldn’t be too difficult since as noted previously, certain icons have tooltips enabled so there is likely a framework that handles the tooltip component and adding the View Gizmo may just be another object inheriting from the class. An alternative is to popup a tooltip whenever the view is changed with the command displayed, this can be turned off later when the user no longer requires it.

Problem – Context Switch when Editing a Script

Unity3D provides the ability to add functionality through the use of programming script. It supports the use of C#, JavaScript (UnityScript) and Boo. By providing this functionality, complex logic and interaction requirements can be built into a game which makes this a very powerful feature. In order to add a script, the user has to create the script file within unity and after it has been created, the user then selects the script and chooses the edit command and this is where the flexibility and efficiency of use guideline is violated. Unity3D by default makes use of an external editor (MonoDevelop in OSX and Visual Studio in Windows) and in addition to waiting for a couple of seconds while the external program loads, the user is thrown into a completely different environment; this is a jarring switch in the GUI presented and while there are advantages to using a full integrated development environment (IDE), from a beginner perspective, it can be rather overwhelming; also conventional wisdom for beginner programmers tend to recommend the use of a basic text editor when learning a language as this helps in tracing the execution of a program [1].

Severity and Suggested Solution

This is a relatively minor problem as it is applicable mostly to those that are complete beginners to the Unity3D application and to programming in general and it is assigned a severity of one. That said, the experience of waiting for a couple of seconds with no indication of what is happening and then being thrown into a completely different environment could be an unpleasant one and is one that can be easily mitigated by providing a simple text editor as the default script editor within Unity3D itself rather than relying on an external application as the default. While a simple text editor will not have the bells and whistles of a full IDE, it nevertheless gives the user the appearance of control and keeps him within the confines of a familiar environment. As the user gets more experience in both using Unity3D and programming in general, the choice to configure the preferred IDE can then be made.

Problem – Inconsistent GUI Choice (Inspector Window)

Within the Inspector Window, there are multiple fields that have various attributes that provide for options to be selected. Unity3D uses a double arrow icon in addition to other UI conventions to indicate that more options can be selected for a particular attribute.

Figure 6 - More Option dialog in Inspector Window

This is a common usage of this icon and is immediately recognizable for the affordance it provides. The problem however lies in the circular icon that provides a similar functionality.

Figure 7 - A different icon that allow selection of more options

Clicking on this icon (it is not immediately obvious that it is indeed clickable) results into a dialog box that pops up and in most cases in a completely different location.



In this evaluators view, this is a completely unnecessary implementation of a “more option” dialog as there is no advantage by using a different GUI icon and action to achieve a similar functionality especially when the arrow key icons have already been used and in addition, it results into an inconvenient implementation as the cursor has to be moved across the screen in order to make the selection. This violates the consistency and standards guideline which suggests preventing users having to wonder whether actions mean the same thing.

Severity and Suggested Solutions

This is more of a baffling and inconvenient problem and has been assigned a severity rating of 1 as it is mostly a cosmetic problem; it can be addressed when there is say a major overhaul in the UI of the application and simply choosing one of the icons is sufficient as they both require a new dialog box which can be designed to accommodate all the required options. Adding search functionality to the attributes can also be implemented as this then reduces the amount of time searching for an option when the name is known and may be appreciated by more expert users.

Problem – GUI Aesthetic and Color Choice

There seems to be a lot going on in the GUI especially for a scene with a multitude of models and having the Inspector Window open. Aesthetic decisions tend to be subjective but this “busyness” in conjunction with the default color choice of the GUI (different shades of grey), results into a punishingly drab interface. It violates the aesthetic and minimalist design guideline with regards to the aesthetics but as noted, this is largely subjective.

Figure 8 - GUI of Unity3D

Severity and Suggested Solution

This is not a particularly serious problem and may not even be considered a usability problem. It has been assigned a severity of 1 as it is mostly cosmetic. That said, the choice of making the dark theme GUI a premium option seems to be misguided and serves no purpose except maybe to annoy free users in the hope of convincing them to upgrade to a paid version. This is a risky decision, as a user may feel revolted enough by the drab interface and decide to explore other options that provide an interface more to the users taste. The best solution to this would be to make all GUI options available irrespective of the subscription tier and build in customizability of the interface through the use of themes as this will allow the users to express their individuality and can act as a point of differentiation.

Conclusion

Unity3D is a fairly feature-rich and capable application that has been continuously improved since its debut in 2005. Its popularity is a testament to its strength and capability and maintaining its position as the leading game design engine means that it has to address every facet of the application where there might be weaknesses. While most of the problems identified are not severe, Paul Boag makes a good argument in [4] that minor issues can add up and do interfere with the user experience. Addressing these issues can help in preventing users from switching Unity3D to other applications

References

[1]
J. Nielsen, "10 Usability Heuristics for User Interface Design," NN/g Nielsen Norman Group, 1 January 1995. [Online]. Available: https://www.nngroup.com/articles/ten-usability-heuristics/. [Accessed 31 March 2016].
[2]
J. Nielsen, "Severity Ratings for Usability Problems," NN/g Nielsen Norman Group, 1 January 1995. [Online]. Available: https://www.nngroup.com/articles/how-to-rate-the-severity-of-usability-problems/. [Accessed 31 March 2016].
[3]
B. MacDonald, "Radar - To IDE or Not to IDE?," O'Reilly, 23 January 2014. [Online]. Available: radar.oreilly.com/2014/01/to-ide-or-not-to-ide.html. [Accessed 31 March 2016].
[4]
P. Boag, "Bad user interface design is death by a thousand cuts," boagworks, 3 February 2015. [Online]. Available: https://boagworld.com/usability/bad-user-interface-design-is-death-by-a-thousand-cuts/. [Accessed 31 March 2016].

Monday, March 28, 2016



OS X El Capitan: Nice features and usability problems

20150608osx_el_capitan.jpg

By Mert Metin

El Capitan is the latest major release of OS X operating system, by Apple Inc. It is the newer version OS X Yosemite which focuses on hugely security, usability, and performance.

In this blog, I will talk about some nice features that comes with this release. I will also discuss some usability problems that still exists with El Capitan and bothers me (and many users) in everyday use.

New Features that I liked:

OS X El Capitan (version 10.11) released in September, 30 2015 [1] and comes with many features that made the operating system even more usable. In this part, I will talk about three of them.

  1. Split View for apps
Users had to switch between the apps each time if they want to interact with two applications in previous versions of OSX. However, this is changed with El Capitan. OS X finally introduced the new split view feature that divides Mac screen with two apps. This is very good feature for some crucial operations like copy/paste and drag/drop,  Another good thing about this feature is that it is effortless! You don’t have to move or resize the applications manually to split them. OS X takes care of it. It divides the screen automatically and puts the apps side by side.

Figure 1: Screen split for two apps: Opera and Mail
Having the split view is very easy. All you have to is to hold the maximize button on left top of your window and place the application either to left or right.

2. Spotlight is better and smarter
Spotlight is a great software that helps us to search through the hard drive and quickly locate the items that we are looking for including, documents, pictures, music, applications. It is introduced in OS X Tiger, the fifth major release of OS X,  and over time it is incredibly improved especially in performance. However, I was having trouble with Spotlight in previous versions of OS X, especially in Yosemite because of the reindexing problem.

Spotlight is smooth and fast since it is keeping a  meta index database and there it has all the information about files in your system. When you search, it actually searches through its database quickly and shows you the results, instead of searching through the whole hard drive each time. However, I remember that there were moments I opened Spotlight and saw a progress bar (as seen in the below picture) that it was updating or reindexing its database, which sometimes takes a lot of time. The real issue here was that reindexing was consuming a lot of system resources particularly CPU. That was a really annoying in Yosemite.

Figure 2: Spotlight while indexing its database



Spotlight-processes.gif
Figure 3 :Activity Monitor with two resource consuming processes: MDS and MDWorker

However, it seems like Apple’s engineers solved this problem! I am using El Capitan for the past five months and used Spotlight a lot during this period and never got this problem again.

It also seems that Spotlight is smarter now. You can use Spotlight the same way you talk to Siri. It understands natural language. For example, if you write “mails today” to Spotlight, it will show you the mails you got today if you use the Mail application. This is a way faster than opening the Mail application and filtering the mails that are received today.

Screen Shot 2016-03-28 at 5.42.43 PM.png
Figure 4: Spotlight search result


3) You probably will never lose your cursor again
The problem of losing cursor location is very old among users. We sometimes can’t see where the cursor is and moving to find it. OS X found a really good solution to this problem. When you jiggle your mouse, the cursor is getting bigger and you easily see the location of your cursor.

Figure 5: Cursor gets bigger after jiggling


Usability Issues
In this part, I will talk about some usability problems that annoys me in everyday use. These problems did exist in previous version of OS X, Yosemite and we still have them in El Capitan.

1) There is no split view in Finder
Finder is one of the most fundamental applications in OS X. It helps you to find and navigate your files, folders and apps in your system. However, there are a few things that annoys me. One them is the absence of the split view in Finder. Apple did a good job by introducing the split view for two different apps (as I mentioned above), but there is still no split view in Finder.  

If you want to move a file to another location in Finder, you have two options. One of them is cutting the file (or folder) and pasting to the other location. The problem is that many OS X users  actually have no idea that there is a cut command in Finder (Option-Command-V). [2] The other option is to hold the file and drag to the other location which is more common among users. However, both of those options might be annoying if the location that you are going to paste is buried deep in subfolders and it would take so much time to move various files like that. That’s why it would be much easier to have a one split view in Finder which includes the both locations (source and target) and then copying and pasting between them.

Some OS X users use third party applications to replace Finder because of this and some other problems. One the most popular one is called Total Finder which allows split view in Finder as seen in below:

ea54495a_images_showcase_full-dual.png
Figure 6: Total Finder's split view
2) Files and folders are mixed
Finder does not show folders on top in list view. If you sort files by kind, it divides each file by their type and shows each type separately, as seen below. This looks a bit weird. I would prefer folders always go first like in both Windows and  Linux which looks more organized, clean and effortless.

Screen Shot 2016-03-21 at 12.52.52 AM.png
Figure 7: Files and folder are divided 


3) Close button sometimes not really closing the apps:
OS X has a close button that may confuse users. In some applications such as Chrome, Safari, and Mail, the red close button just closes the window but not actually quits application and it actually remains open - as seen in the below video. So it is pretty much the same with minimize button. On the other hand, red close button sometimes closes both window and quits application for some applications like Kindle and Notes. This is very confusing for users.



References