Developing with the User in Mind


Developing with the User in Mind

The other day, a coworker of mine expressed extreme aggravation at the fact that one of his favorite Web sites had just begun to use pop-up boxes as a form of advertising delivery. This coworker mentioned that he would immediately discontinue visiting this particular Web site ”just like that. My initial thought was that his reaction amounted to an isolated, almost knee-jerk reaction. As it turns out, I was wrong.

Later that same day, I read a news report on ZDNet.com ( http://zdnet.com.com/2100-1106-947732.html ) that discussed the extent to which this kind of pop-up advertisement proliferation has become a common frustration among Web surfers. It turns out that some people are resorting to installing software that effectively "blocks" the pop-up boxes from appearing. Others are reacting the same way that my coworker reacted, taking to a zero-tolerance approach and simply surfing to other, friendlier sites. My guess is that this " backlash " was not the Web advertiser's intended result. So what went wrong?

Note  

Pop-up ads are dying the same death of their predecessor, the scrolling banner ad. In spite of all the glittery animation, color , and attention- grabbing design, people have simply learned to ignore the majority of the banner-type ads used on Web sites.

Being User-Friendly Is Still Important

Somewhere along the way between designing a product for the end user and delivering the product, the emphasis on user-friendliness has (in some cases) been lost. As the reactions to these (excessively) popular pop-up ads have proven, user-friendliness does matter. Although it may be difficult for everyone to agree on exactly what being user-friendly means, I will venture to state that ultimately "friendly" in application design has something to do with the following:

  • The needs of the user should be met.

  • The blatant, in-your-face approach should be used conservatively.

  • The application should show sensitivity to the expectations of the user.

  • The user should not be inconvenienced or confused by the application.

  • The application should show respect for the user's time.

  • The application's information should be logically organized ”not cluttered.

Sounds rather simple, right? Do you recall how some of these user-friendly design considerations were implemented when you built legacy [2] mainframe CICS applications? Certainly, you incorporated some if not all of the following considerations in your legacy CICS development:

  • You placed the basic mapping support (BMS) map and Transaction-ID in the upper left and right corners of your 3270-screen layout.

  • You made it obvious through your BMS map coding which fields were provided for input versus which fields were designed for output/read-only.

  • You included a read-only field near the bottom of the screen for informational messages.

  • You included a display near the bottom regarding any attention key assignments.

  • You attempted to consistently use common attention keys (e.g., F3 for Exit, F12 for Cancel, and so forth).

Among my mainframe brothers and sisters are some who may have been following these legacy CICS screen conventions without even realizing the full impact of or reason for the conventions. Some may have not even realized that there is an actual standard promoted by IBM called Common User Access (CUA) [3] that goes into great detail in an attempt to promote the consistent creation of user-friendly interfaces. (Now you know why practically all CICS screens use an "underline" to identify input fields.) The CUA strived to promote consistency with CICS 3270 screens.

When discussing the topic of user-friendly interfaces for Windows and Web applications, "usability" seems to be the new buzzword . So, let's now explore what usability might look like when developing Windows and Web applications.

Defining Usability for Windows and Web Interfaces

Users have some common expectations when they use a Windows application. Likewise, a Web application has certain common traits that users expect to find. Basically, the more common a particular characteristic becomes and the more users start to expect it, the more appropriate it is that you consider its inclusion in your own interface design.

Tip  

This design decision does not speak to nor contradict the situations where creativity and uniqueness are useful and desired.

For example, users have long gotten used to having the ability to minimize, maximize, and resize their window (the "window" being used as a container for your application). Similarly, users now expect to find a vertical or horizontal scroll bar wherever one might be useful. More recently, with the popularity of e-commerce sites, the symbol of a shopping cart has even become common. This means that if you are designing an e-commerce site, you would be wise to consider the inclusion of the shopping cart symbol. Usability is an evolving, living standard.

Note  

The general Windows and Web user community constantly redefines the "standard" for Windows and Web interfaces. Rather than having a tangible static standard for Windows and Web interfaces, the standard is loosely defined by what is popular. Interface characteristics that are effective and convenient tend to survive and remain popular. The standard rapidly evolves as quickly and constantly as modern graphical technology itself evolves.

Usability includes basic characteristics, and yet extends beyond them. Usability speaks to the responsiveness of the application and the ease (or lack thereof) in moving from one screen to the next, or tabbing from one entry field to the next , or even navigating around the infamous pop-up windows. All of these types of actions fall under the umbrella of usability. Among the many facets of usability, the following are also included when you are developing Windows and Web interfaces:

  • Using an appropriate choice of color, text font size , and text font style

  • Being sensitive to any cross-browser compatibility concerns

  • Using the available "screen real estate" appropriately, and finding the right ratio of "white space" to "information"

  • Presenting content in an informative, purposeful, and uncluttered fashion

  • Deciding whether or not to use frames

  • Giving consideration to bandwidth if you are including multimedia in your Windows and Web user interface

  • Deciding whether or not to include a Search field

  • Identifying your target audience correctly and deciding if your interface requires any localization features

  • Choosing whether or not to include a site map as a feature

  • Being sensitive to accessibility concerns as mandated by the Americans with Disabilities Act

  • Creating an interface that is artistically pleasant and creative yet appropriate for your business needs

  • Applying security policies as appropriate

  • Treating latency as a priority

The preceding list of concerns may appear to be rather exhaustive. However, it is important for you to know that it is only a partial list. That is right. When you are designing Windows and Web applications, usability is much more than just adding a button and a text box onto a form. Building professional-looking and effective Windows and Web applications is an art. In fact, there are people who have filled this "design" niche. They are commonly referred to as graphic artists (or Web designers).

Note  

The ASP.NET technology has shown a complementary approach to a development team that includes the role of the graphic artist. There is a strong move in the direction of physically separating presentation components from business logic components . This facilitates the scenario of a programmer being able to work on a component that directly serves the business logic while not disturbing the graphic artist who may concurrently be working on the presentation-oriented components.

As budgets allow, a properly staffed Windows or Web project will make sure that the skill set of a graphic artist is represented. Unfortunately, this point is often overlooked as typical software engineers , developers, and programmers embark on the creation of their first Windows or Web application, only to later discover that the internal components ”the actual business logic ”is impressive and superbly implemented, but the aesthetic and usability aspects of the user interface are lacking.

When the application is rolled out, it will not matter how magnificent the internal logic actually is. The end user will not care how many .NET managed objects you took advantage of in order to add the newest bells and whistles to the application. If the end user has a negative perception of your application's degree of usability, your application may be headed down the same road of doom as the scrolling banner ad and the pop-up ad.

Note  

I hope that I have made the point sufficiently clear that the role of the graphic artist and the topic of usability are critical in creating "good" Windows and Web applications. Several resources appear in the "To Learn More" section at the end of this chapter to assist your continued learning in this area. In the meantime, find out who the graphic artists are in your organization. Generally , we developers tend to underappreciate graphic artists and the work they do, often forgetting that they are helping to make our applications more usable.

It has been rumored that some developers will see a simple "Hello, World" Windows or Web application demonstrated and figure that all Windows and Web interfaces can have the same degree of usability. Therein lies the value of the discussion presented in this chapter. In the following sections, when I present to you a "Hello, World" type of Windows or Web demonstration, you will be reminded of the difference between a demonstration application and a real-world application (that exemplifies usability).

In case the "Hello, World" samples do not satisfy your appetite for "seeing code" at this time, please remember that Fujitsu and Microsoft provide additional samples. These samples came bundled with the .NET products that you installed on your hard disk. Both vendors have provided plenty of Windows- and Web- related examples. You can find the Fujitsu and Microsoft samples at the following hard drive locations: <drive>:\Program Files\Fujitsu NetCOBOL for .NET\Examples and <drive>:\Program Files\Microsoft Visual Studio .NET\FrameworkSDK\Samples, respectively. Please remember to also take advantage of the references located at the end of this chapter in the "To Learn More" section.

Let's now turn to the construction of Windows and Web interfaces. I begin by covering the .NET Windows technology. Later, I discuss the mechanics of the ASP.NET technology.

start sidebar
Pseudonyms and Aliases

From time to time, you will hear terms used interchangeably with the VS .NET template names of Windows Applications, Windows Services, ASP.NET Web Applications, and ASP.NET Web Services. Several of these alternative names follow:

  • Windows Applications: Win Forms, client/server apps, desktop apps, and fat/thick client

  • Windows Services: A new NT Service, A new Terminate and Stay Resident (TSR), long-running apps, and unattended apps

  • ASP.NET Web Applications: Web Forms and thin client

  • ASP.NET Web Services: XML Web services and one that I made up: "No Forms" Web app

end sidebar
 

[2] I am using the term "legacy" to acknowledge that some of the more recent/modern CICS development has moved toward actual GUIs. Because the traditional 3270 text-based designs continue to prevail, it is applicable to refer to the "legacy" CICS design for contrast/ comparison.

[3] The Common User Access (CUA) standard generally spoke to three user interface models: the Entry Model, the Text Subset of the Graphical Model, and the Graphical Model.




COBOL and Visual Basic on .NET
COBOL and Visual Basic on .NET: A Guide for the Reformed Mainframe Programmer
ISBN: 1590590481
EAN: 2147483647
Year: 2003
Pages: 204

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net