KyleB

__** Overview **__ Designing a good user interface can be a very difficult task, and failing to do so can have negative repercussions. If companies produce software without paying close attention to how users will take to their interface, it could hurt them financially by requiring them to pay extra personnel to fix the software to make it more suitable to the user's needs, hire people to create tutorials and otherwise teach people to use their software, and hire support staff to answer the phones when a large portion of your consumers call to ask questions about the program. In a worst case scenario, the project could become a huge flop if your consumers decide to switch to a competitor’s software with an easier interface. Designing a good user interface also benefits the end user by making the software faster and simpler to complete the required tasks. Every user desires an interface that allows them to get into the program, make a couple of mouse clicks, key strokes and macro commands, and get out. No matter how efficient the sorting algorithms are, or how accurate a program does precise calculations, these things are abstract to the user and will still cause them to be very irritated with the program if they need to spend a lot of time looking for, or navigating too many different parts of the interface to find them.

__** Six Critical Principles To Consider In User Interface Design and Rubric **__

1) Simplicity/Structure: // The interface has a simple and organized structure that is not cluttered and easy to locate important components. // World of Warcraft: This interface is so cluttered, you can't even tell what's going on in the background, let alone try to figure out what box tells what info or what button does what task.

Internet Explorer: A funny quote I saw once was a fake advertisement for Internet Explorer that read, "Internet Explorer: The most popular web browser for downloading a new web browser." I think this is probably because of it's cluttered interface. IE is loaded with all kinds of buttons, menus and side panes that take up space and make it more difficult to find the few buttons that most people actually use. I think this is why most people have diverted to other options like Firefox and Chrome that provide much fewer options and increase the size of the page display.

2) Consistency: // The interface consistently demonstrates both internal (consistent throughout the entire program), external (consistent with other programs), and real world (consistent with how things in the non-computing world works) consistency. // Microsoft's Wordpad: This program uses a clipboard icon to represent the paste action, which is real world inconsistent, as a clipboard is not used in the real world to paste anything, a stick of glue would make more sense to me in this situation.

Skype: The magnifying glass icon that represents the directory is both externally and real world inconsistent. In the real world a magnifying glass has nothing to do with a directory, and in other programs a phone book is generally used in it's place.

3) Prevention/Tolerance/Forgiveness: // The interface prevents you from doing harm to the program or your data, while allowing you explore and still give you the ability to undo unwanted results. // OpenOffice: When trying to save a file the Save button is always active even if there is a problem. In this case the file has not been given a name, but the user can still click the Save button, it just doesn't do anything which can cause confusion and frustration for the user. Instead the software could display an error message, or a better solution would be to disable the button to instantly show the user that saving is not currently an option.

Microsoft Office Outlook 2007: This option dialog allows you to choose which set of rules you want to keep (and which ones you want to delete), but it still doesn't do a very good job preventing you from doing harm because it doesn't allow you to look at the differences between the two rules, so what if you mistakenly choose the wrong one?

4) Learnability/Usability: // The interface meets the requirements of the user by either being very easy to learn for programs that are used rarely by a large number of people, or by allowing the user to do their task easily and quickly for programs used often by a small number of people. // Windows Live Movie Maker: Back before the time when this program was added to the group of 'Windows Live' products, it was a very popular program to do just what its name implies, for people to make their own movies. It was a fairly simple interface that had everything an amateur film maker needed to put a basic video together. Today however, it has been stripped of most of its functionality, no longer allowing its users to do some of the most basic editing techniques required by people who have any use for a video editing program, such as adding credits, transitions, or even cutting out clips within the recordings. For these reasons this program has lost most of its usability.

5) Help/Documentation: //The interface provides hints and tip throughout the program as well as offering a wizard or otherwise useful tutorial.// PiTiVi: Although this program does offer a "Get Help Online" option in the help menu, the linux version takes you to Ubuntu's website where you can post questions about the program, or be redirected elsewhere. A full manual is available for the program, but you must go to their website and look it up on your own, there is no way to get to it from the program itself. This can be especially unhelpful if your user is working from a computer without internet access.

Amarok: This program handles help and documentation even worse than PiTiVi, the "Help" Menu doesn't even make an attempt to help you at all, it only gives an option to report bugs and tells you about the program, not how to use it. Again you must find external sources on your own to get help for this software.

6) Aesthetically Pleasing: //The interface is easy to look at and uses colors, edges, fonts and pictures that are easy to see and read.// AV Bros. Page Curl Pro 2.2: Although this program tries to stay organized by using different windows for different options, it's still not particularly easy to look at. Most of the colors used are very similar throughout the interface, and the fact that there is just so much information being shown at once throughout the different windows still makes it difficult to see everything.

Google Chrome: This program definitely doesn't have a problem with being cluttered or having too many things to look at, instead it's goal is to be as simple and fast as possible. One thing that makes Chrome difficult to look at for some people is its use of only one color and very few edges. The only color other then different shades of chrome seen in this program are the webpages themselves, and the icons representing those webpages.

__** New Developments in UI Design **__ media type="youtube" key="_ZQpqfzDgOk?fs=1" height="385" width="640" Motion Gaming (PS3's EyePet) media type="youtube" key="JF_HXTQ7Quo?fs=1" height="385" width="640" Motion Gaming (XBox 360's Milo)

Motion Gaming: These new forms of user interface provided by the Playstation 3 and XBox 360 gaming systems address the basic principles of UI design in a whole new way. Instead of using real world consistency, take take it a step beyond and actually use the real world. Now, if you want to move something, you don't click and drag your mouse on it, you just reach out your hand, grab it, and put it where you want just like you would if it was a real object. There's no longer a great need for teaching people how to use the interface with this new breakthrough, as just about anything can be done based on the simple knowledge of doing similar tasks in real life. Microsoft Surface: This new computer from Microsoft is basically meant to do it all with as little effort as possible. Instead of navigating through your PC to your camera's mount point, you simply set your camera on the surface and the images are automatically displayed on the screen for you to move around and edit with just a touch of the finger.

Original XBox 360 Dashboard: The original user interface for Microsoft's XBox 360's operating system was very sleek and simple. It contained four tabbed panes that help organize the system's features similar to a file cabinet that someone might use in the real world. Each pane uses different colors and labels to help users stay informed of their current location, and edges are used extensively to give organization and structure throughout the system. Its simple setup also makes easy and fast to find just about anything the interface has to offer. The New XBox Experience: In 2008 Microsoft released an update to their system's user interface that added more menus, more features, and a whole new look. This new software implemented a "Twist UI" similar to Microsoft's Windows Media Center and Zune, which in my opinion made the system a lot more difficult to use. Compared to the original version, there are now many more menus to choose from, and each one of those menus has several menu items. Most of the menu items are also difficult to see as they get smaller the further down the list you get. NXE with Kinect: In 2010 Microsoft released another major update to their system user interface that implements the use of their new motion sensing camera called Kinect. Whether you actually have the camera or not, this updated interface, although very similar to the previous version, made a lot of improvements. For starters, the menu items no longer get smaller as they go down the list, they are now all the same size and even though you can't see all of them at once anymore, at least the ones you can see are shown clearly. If do you have a Kinect, then using this new interface is now interactive and couldn't be more simple to use. For those people who have avoided gaming consoles because of the complexity of the controllers, they're free to put them away and simply use hands to give the commands. To navigate through the menu items, simply wave your hand to push the menu in the direction you want it to move, when you want to select something, just hold your hand over it for a couple seconds. This new interface is so simple, even people who've never used a gaming console before and easily start to use it.

__** Critique of NetBeans UI Design **__

Simplicity/Structure: The Netbeans interface does a very good job keeping its interface simple considering how many features and options it provides. One thing I really like are the icons just below the menu bar that provide the most common and useful tasks that are done in the IDE instead of cluttering it up with as many things as they can make fit like many other programs. The rest of the interface is also very structured, by grouping everything in six large boxes making it easy to locate the parts you need quickly. One small thing that Netbeans could improve in this area is a piece of advice provided by pixelcentric.net that says you should avoid nested dropdown menus if at all possible, because they can be incredibly frustrating to use.

Consistency: Netbeans does a good job being externally and real world consistent throughout its interface. To keep the program externally consistent with other applications, it uses icons like a cup of java to show you are working on a java application, a sideways triangle to imply a play or run command, a magnifying glass to represent a search for something, and a square to represent a stop command. Like just about any other applications out there, it also uses plus signs to show you're making a 'new' something, a floppy disk so represent a save command (even though floppy disks haven't been used in years), and left and right circle arrows to show 'go back' and 'go forward'. The IDE also uses real world consistency by using a hammer icon to signify that you're going to 'build' your project, and an eyeball icon to represent that you want to 'see' how your project looks. One part of the Netbeans IDE that I would not consider consistent with anything would be the refactor option. Refactoring refers to modifying the source code without changing what the program actually does, for instance, to make the code more readable or to improve certain attributes. However not all of the options in the refactor menu have to do with editing the source code at all, and would make more sense if it was placed elsewhere in the interface. For example, to get to the part of the program that automatically writes getter and setter methods for you class, you go through the refactor menu. Because this is writing completely new code, not editing anything, it doesn't really make sense to put it in the refactor menu, and no other programs that I know act in a similar manner.

Prevention/Tolerance/Forgiveness: Two ways that Netbeans handles prevention and forgiveness is by providing the user with warnings in various situations, like when you try to run your program when it still has errors or warnings. Netbeans provides forgiveness similar to many other programs, by offering a 'go back' button to undo as many of your previous changes as you'd like (within your current session). One thing I was expecting the Netbeans IDE to do, but found out I was wrong, was for an error or warning message to come up when I tried to create a new project with the same name as an already existing one. At least in the Linux version, the program simply overwrote the old project with the new one without making any indication of the potentially harmful action.

Learnability/Usability: The Netbeans IDE is definitely not a small program that's intended for anyone to be able to just pick up and use. The main purpose of this software is for programmers to use it on a consistent basis to achieve very difficult tasks, therefor the intention for the interface should be usability over learnability. However, this programs actually does a pretty good job at both. Netbeans in loaded with useful tools to help programmers save tons of time by doing most of the work for them, from creating an entire GUI without writing a single line of code, to producing class methods after only writing its attributes. But, if your a beginning programmer, all you really need to be able to open, save, compile and run a program with ease, and Netbeans provides buttons for all of those things right at the top of its interface to make is easy to find. The one thing about the Netbeans IDE that I feel makes the program difficult to learn and to use is the incredibly large number of menu item you have to search through to try and find something. The incredibly long list of menu items is overwhelming for beginner trying to learn the program, and can really slow even the most experienced users down as they try to navigate through the menus and sub-menus trying to find a particular item.

Help/Documentation: Netbeans offers many different kinds of help options to teach you just about anything you'd want to know, including both online and local sources. The local support offers guides on how to start making your own programs, as well as descriptions on any other specific task you might want to accomplish, while online sources include video tutorials and javadoc for looking up classes and methods. A couple of things Netbeans doesn't offer in their interface are a wizard to help you out and give you tips while you're working on a project, or help icons provided throughout the interface to explain what different parts are for without having to search through a help file or look in an external source.

Aesthetically Pleasing: The Netbeans IDE uses color in a few important areas to draw attention to something that needs your attention, such as the red exclamation points on files when they have errors that need to be corrected. The program also uses color on some of the more important icons in the program, such as open, save, build and run, to make them stand out and become easier to find. I do feel the interface could use some improvements however, like in the background color of all the components that make up the UI. Even though the interface is broken up into several sections, as described in the simplicity/structure section, they can be difficult on the eyes to try to visually separate them. I think it would be better if they had chosen to use slightly different colors or shades as well as more significant edges around the boxes so you can easily tell them apart.

__** Reference List **__

[]

[]

[]

[]

[]