Evolving the Blueprint for Usability Through Integration

by Ken Ast and John Sweitzer

With this issue of The Developer Connection News, we begin a series of articles about achieving usability through integration. The series will focus on areas you need to understand to develop usable software and how The Developer Connection for OS/2 can help you.

At the root of many usability issues is the problem that similar tasks are often done differently across multiple applications. Three kinds of inconsistency exist: Whether you develop custom applications for a large or small business or you develop software for the marketplace, you can control the first two kinds of inconsistency, but typically not the last kind.
 * 1) Within an application
 * 2) Between applications delivered by a single supplier
 * 3) Between applications delivered by different suppliers

This last fact is perhaps the toughest reality of our industry today. Building usable software that eliminates the first two kinds of inconsistency does not guarantee high usability marks for your software in the marketplace. Two factors that influence a user's perspective are the number of applications they use and the frequency of use associated with each application. Your software is likely to receive usability marks similar to your own test if your software is the only software used by a user. This likelihood decreases as the amount of software from other sources increases and the frequency mix changes from user to user.

So, what can be done about the third kind of inconsistency? There are no easy answers, but you need to be aware of what others are doing in task areas that are key to our users.

Achieving Usability Through Integration
With the Open Blueprint as a baseline, IBM has established an initiative to enable our software products for dramatically higher levels of integration and ease of use, while also increasing programmer productivity.

Today's transition to a distributed client/server environment has expanded your focus by adding incredible complexities of linking into a multivendor, multinational playing field. The emphasis has changed from a strictly function/price orientation to one of producing software that integrates seamlessly with other products, on multiple platforms, while also attaining high marks for usability.

Today's users are much less tolerant of problems with their computers and the software that they install and use on them. Users don't want to spend time relearning pervasive tasks (such as installing, printing, and so on), but want to focus on the tasks that are directly related to their responsibilities and work products.

IBM's efforts to sharpen this focus for you have evolved and matured over recent years as the industry has changed. The goal of these efforts is to make your job easier while pleasing your customers with more usable software. The Developer Connection for OS/2 is the delivery vehicle for the tools and methods to help you accomplish this goal.

A Blueprint for Integration
Let s now take a look at three areas that can help you achieve usability through effective integration.

Understanding the Client/Server Environment
IBM's Open Blueprint details the framework for distributed computing The Open Blueprint describes a comprehensive structure of the services required to support client/server computing. These Open Blueprint services are based on industry-standard interfaces and technologies to enable interoperability with multiple vendors hardware and software systems. Building applications with development tools that use these services allows the client and server portions of these applications to run on any platform in the network.

The Open Blueprint also provides a planning framework to help you start your migration to client/server computing. For those already on their way, the Open Blueprint represents a way to protect investments in information technology and skills. And, if you are already employing client/server computing, the Open Blueprint can help you evaluate and evolve to new technologies, such as objects and mobile computing.

You can find additional reference information about the Open Blueprint in the Open Blueprint folder in the Browser on The Developer Connection for OS/2 CD-ROM.

Developing the Right Framework for Integration and Interoperability
Usability requirements emphasize the importance of consistent, easy-to-use application functions in the areas of installation, appearance (look and feel), packaging, and product information (online helps, books, and tutorials). These functions have to be intuitive and consistently implemented across products so that a user has a quick path to meaningful tasks. Too often, users have to figure out how to integrate products that were not designed to work together, particularly when components of a solution are developed by multiple vendors.

IBM is establishing an initiative to deploy common tools and reusable code to significantly increase integration, usability, and programmer productivity. This initiative has been based on establishing a structure of application end-user priorities (or facets of integration) for organizing common tools, methods, and training available to developers. These facets include aspects such as install, distributed services, data, appearance, information, and international support. Establishing a mentality of cooperation and a user-centered design (UCD) approach that defines your specific focus across these facets is an important first step in creating applications that will integrate/fit with other applications/platforms.

Using a Set of Tools That Maximize Programmer Productivity
A successful development organization must be driven by a thread of commonality and consistency. The goal is to focus valuable programmer time on the meaningful tasks of our end users rather than on reinventing the wheel for common functions. The Developer Connection for OS/2 can help you do this. For example:

Common installation
A user s first hands-on experience with your software is usually when they install it. You do not want a user to become frustrated because you implemented a new way to install. Effectively implementing the install function with minimal programming expense is also a benefit for you if it eliminates costs and increases customer satisfaction. The Software Installer tool (in the Development Tools category on The Developer Connection for OS/2 CD-ROM) can help Highlights of the powerful capabilities it provides are: Get out of the business of developing your own installation functions and rely on Software Installer to handle it for you!
 * Creating and customizing animated installation programs
 * Installing from a variety of media
 * Packaging a product into separately installable and removable components
 * Implementing for unattended installation
 * Providing maintenance/corrective service capabilities
 * Providing exits to set environment variables; modify CONFIG.SYS, AUTOEXEC.BAT, and .INI files; create workplace shell objects; and many others
 * Compressing and decompressing product files

Applications for the global marketplace
If you are developing applications for international markets, you have no doubt run into cultural differences. Software must be able to enter, display, search, store, and print in the user's natural language. Users get frustrated having to tell each application their preferences or having to learn the unique way that each application works.

Programming for a multinational user base is complex. For example, your code must be able to display date/time, monetary, and numeric formats in the culture-specific format of the locale. X/Open Portability Guide Issue 4 (XPG/4) APIs, located in the Developer Toolkits category on your Developer Connection for OS/2 CD-ROM, provide locale support and the APIs to accomplish these functions as well as cultural collation, code-set independence, user-visible text isolation, and code set/page conversions. The XPG/4 APIs ensure that your programs will work well with other programs in the multinational marketplace.

Several other tools delivered on The Developer Connection for OS/2 CD-ROM address integration issues for your users while also improving your productivity. Use them and enjoy the time that they save you to focus on your true product function!

Facing the Challenge Through Cooperation
Developing applications that work well together is a challenge! There is more to come, particularly tools and actual code that you can use to become more productive in developing best-of-breed applications for OS/2 Warp, AIX, AS/400, and others. We encourage your feedback and look forward to your input and perspectives.

Product Usability
What are some indicators that there might be usability problems with a product?

The following scenarios have probably happened to you or someone you know: As users and developers of software, there are probably many similar situations you can relate to.
 * User 1 starts a task, such as printing an object in a particular application, and thinks to herself. How do I print with this software? Such a question indicates User 1 needs to learn another way to accomplish the task because the answer is not obvious or intuitive.
 * User 2 opens an application which he runs once a day for 5 minutes and wants to embed the results in some electronic mail. He thinks to himself Oh, this is a good day because I was able to remember the unique way this application copies information to the clipboard I usually forget. The reality is that User 2 typically forgets and becomes frustrated relearning the mechanics of the repetitive task in this application.