Software Expressions

.Net / Software / Visual Studio / TFS / other ramblings
 

Goto

Categories

 

Archive for the 'User Experience' Category

11 14th, 2008

Button theory

Author: Troy

Buttons on Windows applications have been around since the first version of Windows. One would think that the patterns for using buttons would have been firmly established by now. In particular rules for disabling and enabling buttons.
Concerning visibility:

  • Buttons should never be made invisible based on some transient state. i.e. Don’t hide the button when the user is disconnected from the internet, or hide the button when the order has already been placed.
  • Users should expect to see buttons in the same order and same location for a given context.
  • Hiding buttons is good for things like user permissions. If you don’t have the permission to delete the customer information, there’s no need to see the button ever.
  • Concerning enable and disable:

  • If a button is no longer available due to a transient state, or state of the underlying object, disable it. This keeps the screens and button layout consistent.
  • Don’t disable the button without giving the user a reason. This may seem strange, but you can display a tooltip on a disabled button. Let the user know why they’re not able to perform the action. Don’t leave them guessing.
  • I suppose there could be exceptions to this. In some cases it may really be obvious.
  • If it’s not really obvious and you can’t display a tooltip on a disabled button, leave the button enabled and display a pop-up message indicating why.
  • The more rules there are that control whether or not the button is available, the more reasons there are to clearly communicate this to the user.
  • 12 10th, 2006

    It’s probably very obvious, but one of the most important things to consider in application design is the typical usage patterns. I here very frequently the argument, that the average user of our software is well below an average user, so the natural outcome of this argument is to design an application that’s really easy to use and links and every step along the way is very clear. Which would probably work well, except if the application is being used all day by the user. If you’re designing a website that sells a product and you expect users to visit your site every few months, it makes sense to make things really easy even if it takes a few extra clicks and the user is expected to read a little more. Training such services is also not an option. However, if the site is to be used every day, it would be worth designing for efficiency and offering training. Microsoft has tried to bridge this gap by offering Task Panes, Wizards for guiding users through some of the more complex processes, but honestly users only really become product on applications such as MS Word or Excel if they’re seasoned computer users, or they receive some training.

    The Microsoft article, “Top 10 Ways to Light Up Your Windows Vista Apps” describes using a page navigation paradigm in Windows applications. This is further described in “Top Rules for the Windows Vista User Experience”, in particular, rule #7, Use Explorer-hosted, navigation-based user interfaces, provide a Back button. “Navigation-based user interface—characterized by staying in a single window and having a Back button in the upper-left corner—allows users to navigate easily, efficiently, and confidently; they can always ‘go back’. Even traditional applications that don’t inherently ‘navigate’ can often benefit from providing in-frame navigation.” This doesn’t mean that applications need to follow a wizard, sequential navigation approach, the article describes resvering the wizard technique for sequential, infrequently used tasks.

    If the task can be performed in parallel with other tasks, it should probably not use inframe navigation, but rather open up in a new window (according to the article).

    Treeviews are a great bridge between page navigation and the classic windows approach of opening up yet another window.  The treeview allows you to always know where you’re at and how the various screens are related without opening new window.  The problem with treeviews, is that users don’t seem to like them (at least inexperienced users anyway).

    It is possible to provide both solutions and allow the user to choose.  The implementation is easier than one would think.  Implement the user interface using a treeview, then implement a set of navigation controls that allow treeview navigation (up, goto…, next, previous, etc.)  With the navigation controls in place, the treeview can be hidden.  You can also add a breadcrumb (treeview path) to the address area allow the user to quickly navigate to a higher node.

    08 9th, 2004

    Inductive User Interface

    Author: troydalldorf

    This article located on MSDN offers some good insight into user interface development. Explaining how implementation of UI should vary depending on primarily frequency of use (for a particular module), but also complexityy and user experience. This article also references other useful articles also concerning user interface development.
    IUI’s and Web-Style navigation in Windows Forms
    Other articles:
    Microsoft Inductive User Interface Guidlines
    Picking the Right Degree of Control for User Interfaces

    02 18th, 2004

    With Windows Longhorn around the corner (okay maybe not that soon), it looks like programmers are going to have to add Adobe Illustrator to the set of developer tools.
    Chris Sells writes LonghornSolitaire: http://msdn.microsoft.com/longhorn/default.aspx?pull=/library/en-us/dnfoghorn/html/foghorn02112004.asp
    Since the Avalon presentation layer is vector based, providing any visual enhancements to the standard set of components will require vector based drawing tools such as Illustrator.