Submitted by
Helmut Windl
Dir. Usability Competence Center
Siemens AG
A&D AS S8
Gleiwitzer Str. 555
90475 Nuremberg, Germany
Tel: +49 (911) 895 3527
helmut.windl@nbgm.siemens.de
Larry Constantine
Dir. Research & Development
Constantine & Lockwood, Ltd.
58 Kathleen Circle
Rowley, MA 01969
Tel: +1 (978) 948 5012
lconstantine@foruse.com
Purpose and Introduction
Step 7 Lite is an integrated development environment (IDE) for use by automation specialists to engineer and program solutions to automation problems. In order to understand the design of the Step 7 Lite system and the significance of its performance-centered features, some basic aspects of the processes by which automation systems are programmed need be grasped. To set the stage, we offer the following brief background.
Automation and PLC programming
Most modern automation equipment is controlled by software running on specialized computers called Programmable Logic Controllers (PLCs). The systems controlled by PLCs vary tremendously, with applications in manufacturing, chemical process control, machining, transit, power distribution, and many other fields. Automation applications can range in complexity from a simple panel to operate the lights and motorized window shades in a conference room to a completely automated brewery in which the machinery for everything—from dispensing and mixing ingredients to controlling the brewing process and even filling and sealing of bottles—is under programmed control.
To support such highly varied needs, companies such as Siemens AG produce lines of modular computer components that can be combined and configured in many different ways to monitor and operate various equipment. In a representative system (Figure 1), a Central Processor Unit (CPU) is combined with a number of input/output (I/O) modules that connect with sensors and actuators in the automation equipment itself. The programs that run on the PLC are planned, written, and debugged by automation programmers using development software running on conventional desktop or laptop computers or workstations. The programs produced through this development software must be downloaded to the PLC itself to operate the equipment.

Figure 1 - Schematic automation system.
Automation programming is an exacting engineering profession requiring great attention to detail, mastery of specialized concepts and terminology, and thorough and systematic discipline to avoid or eliminate errors. The risks associated with undiscovered errors in PLC code can be enormous. A lurking bug in a PLC program could destroy an expensive piece of material being machined, require the repair of costly equipment, or even lead to injury of personnel.
Performance issues
Step 7 Lite is a new product in the established Simatic Step 7 line of IDEs for automation programming. The system supports programming of several Siemens product lines—S7 300, ET200S ET200X series—comprising comparatively simple PLC components. It is intended for more or less basic problems at the lower end of the range of PLC applications. Siemens hopes that an innovative and highly usable product will help it gain access to new markets internationally.
Nearly all existing IDEs for PLC programming have a very long learning curve. The slow accretion of features implemented by diverse teams at various times and the resulting lack of consistency among the various subsystems have added to difficulties in learning and mastery and to complications in use. Features and functionality have been the driving forces in PLC programming tools with relatively little attention paid to usability during design. Moreover, the roles of actual users and the detailed nature of their tasks have not been fully articulated to be reflected in user interface design.
The key performance issues driving the design of the Step 7 Lite system were:
- immediate usability by qualified but inexperienced users,
- flexible accommodation to a wide range of work styles and programming practices,
- reduction of user errors,
- increases in productivity through reduced user steps as well as reduced errors,
- closer fit between the user interface and the way actual PLC programmers think and work, and
- simplification of tasks where consistent with the need for great flexibility and with recognition of the inherent complexity and unpredictability of the PLC programming process.
This last point bears emphasis, as it makes the problem quite unusual in the application of a performance-centered design philosophy. No step-by-step process template or other rigidly structured performance model would be acceptable within this kind of application or by the targeted users.
In order to achieve the necessary high-levels of usability, flexible support, and performance efficiency, Step 7 Lite was developed through usage-centered design, a systematic model-driven process for designing applications based on the structure of user tasks. At the core of usage-centered design is a comprehensive and fine-grained task model representing user intentions and system responsibilities in the form of so-called use cases. This task model guides every aspect of the visual and interaction design for the user interface, including the design of custom components and novel behaviors.
Solution
The complete Step 7 Lite system is too large to be presented in its entirety for this submission. Instead, we will focus on one critically important piece.
A significant part of the process of programming an automation solution involves interactions between the programming system—the Step 7 Lite IDE in this case—and the particular configuration of hardware PLC components employed in the application. In order to make full use of all features in the hardware, the IDE must know what modules are incorporated in the equipment and how they are interconnected. The process of setting up the IDE to conform to the PLC hardware in use is called hardware configuration. The IDE must be manually configured for the target PLC hardware because the actual hardware may be at a separate location or may not even exist when programming is begun. In practice, it is a surprisingly complicated and potentially error-prone part of the process. Because of this complexity, hardware configuration was a prime concern in designing the new system, especially since it targeted less experienced programmers building applications of limited sophistication on relatively simple components.
The design of the Step 7 Lite support for the hardware configuration process is best understood within the context of the larger system. To promote productivity by PLC programmers, STep 7 Lite uses a flexible, multilevel navigation scheme offering simple, rapid access to any and all relevant views of the PLC application under development and direct switching among the various tasks of PLC programming (Figure 2). A project navigator on the left gives access to sets of related views and task contexts, which are accessible through tabs toward the bottom of the screen. This scheme also minimizes window-management overhead, such as rearranging and resizing overlapping windows.

Figure 2 - Overview of STEP 7 Lite with
hardware configuration.
(Click here or on picture to see enlarged view.)
Recognizable physical and symbolic representations of actual equipment are used where appropriate to speed learning and reduce the probability of errors,. This is not the silly or gratuitous use of “real-world” metaphor, as in Microsoft’s infamous “Clippy” Office Assistant, but selected and carefully reasoned use of direct correspondence between the IDE and actual physical elements. For example, the control panel in the upper left of Figure 2 mirrors the appearance and behavior of the actual front panel on Siemens CPU modules.
A novel performance-support feature employed throughout the Step 7 Lite system is the “cascading” tool tip (e.g., lower left of Figure 2). Ordinary Windows-style tool tips provide only the briefest of messages. These may be adequate for simple identification of elements on a user interface, but often do not provide enough help or guidance for beginners. Cascading tool tips provide an added, more detailed or more advanced comment after an additional short delay. In Step 7 Lite, this secondary tip usually also includes an additional link into an appropriate entry in the main online help system.
Because configuring the hardware is required at the start, a new project begins with the Hardware Configuration view showing, as in Figure 2. Hardware configuration can also be revisited by the PLC programmer as needed at any time.
Performer tasks
The hardware configuration process involves several distinct but interrelated subtasks. The modules to be included in the actual hardware must be selected from among the available modules in the three series supported by Step 7 Lite. These include power supplies, CPUs, analog input and output, digital input and output, and specialized interface modules. In the actual equipment, the modules plug into specialized racks. The corresponding software representations within Step 7 Lite must be similarly located and interconnected. In addition, hardware modules have programmable settings or parameters whose values must be set in order to make use of the various features of the hardware.
The hardware racks are represented graphically to
the left of the Hardware Configuration pane, with a tabular format
provided in the upper right. The tabular display presents details
regarding each included module while the graphic display corresponds
to the physical arrangement and appearance of modules within racks.
The two views are synchronized, allowing the user to manipulate or
review the configuration within whichever view is most convenient or
best fits their style of interaction. A graphic element (the blue
line, Figure 3) connects the two views, thus enhancing the visual
correspondence and facilitating interpretation by the user. This
visual element, which follows the user’s actions dynamically (see
the animated screen recording), reduces the chances of the user accidentally manipulating the wrong component.
In the lower right is a catalog of available components from which the hardware configuration can be constructed. The terms and abbreviations—such as PS, CPU and so on—are the familiar jargon of PLC programmers and Siemens users; the order of the catalog tabs reflects a natural but not required order for task performance. The closed cover of the catalog allows selecting the component series of interest and provides a “starting hint” for the first-time user. (A Windows XP-style one-time “balloon help” could be an effective substitute in future versions.)
Inside the catalog (see Figure 3), the user has full control over the level of detail in presented information. Pop-up “tool tips” provide additional information when the user pauses over a catalog entry.

Figure 3 - Catalog shown open.
(Click here or on picture to see enlarged view.)
Components can be inserted, copied, deleted, or
moved within either the graphical or tabular view using any
applicable standard Windows interaction idiom, such as
drag-and-drop, copy-and-paste, target selection and double-clicking.
However, the actual placement and interconnection of modules in real
equipment is restricted by complex constraints, such as power
supplies can only work in the first slot of a rack, multiple racks
must be interconnected by certain interface modules that can only go
in slot 3, etc. Step 7 Lite understands all these rules as well as
the functions and characteristics of all supported modules,
providing direct visual guidance to users. For example, when a
module is dragged within the graphical rack area, slots change
appearance (“dynamic affordances and constraints”) to indicate where the particular
component can or cannot be inserted (see Figure 4). This supports correct novice performance without interfering with highly experienced programmers who already know all these rules. In any case, incorrect operation is almost completely prevented. The system is also smart enough to allow expert users to rapidly and correctly accomplish a series of insertions in successive slots just by double-clicking or pressing the <Enter> key on a selected module in the catalog.

Figure 4 - Module insertion task.
(Click here or on picture to see enlarged view.)
To see and set parameters, modules can be
“opened” by double-clicking or by selection and then clicking on the
Module Parameter button (supporting expert and novice performance
respectively). The scrolling control surface of the parameterization
dialog (Figure 5) supports a single navigation and interaction scheme for any set of parameters, which can range from a single parameter to hundreds and come in many different formats. User errors in parameterization are highlighted in place and explained in a highlighted message bar that rolls down from the lower edge of the dialog box. Thus feedback to the user is provided in context without overlaying or interrupting the visual context.

Figure 5 - Mudule parameterization.
(Click here or on picture to see enlarged view.)
To appreciate fully the dynamic nature of the
various performance-centered features of Step 7 Lite, see the
animated screen camera recording.
Judging Criteria
1. Supports performers through
best practices.
The system uses dynamic, rule-based feedback presented in place within an easily interpreted visual context to reduce or eliminate many kinds of errors, thus preventing relatively unskilled or inexperienced beginners from using it incorrectly but allowing flexible performance by more experienced and advanced users. Support is provided for widely differing working styles and programming approaches, allowing conformance to various national, company, and individual standards of practice and performance.
2. Establishes or aids in
establishing goals.
A variety of techniques—embedded prompts, cascading tool-tips, dynamic feedback on affordances and constraints, representational display, stored rules, visual navigation scheme—clearly communicate to the user what can and cannot be done at any point in the process.
3. Minimizes terminology
translation or interpretation.
The user’s cognitive load is minimized by matching the actual working context with appropriate graphical representation of real-world equipment features without falling into the trap of excess literalism or misleading metaphors. Casual errors—such as accidentally selecting the wrong module to examine or improperly inserting a module—are reduced or eliminated through strong visual feedback in context. Users are not forced into unnatural work patterns by rigid step-by-step operation nor are they taken out of their mental working model by intrusive message dialogs. The established jargon and terminology of the PLC programming field and user community is used throughout along with explanatory tips and prompts wherever appropriate.
4. Provides access to
supporting and learning resources.
Explanatory and tutorial material is provided in context and in place through a variety of novel visual feedback techniques. Embedded prompts provide hints and tips where needed within visual elements of the user interface. Cascading tool tips give users access to successive levels of detail and explanation along with contextual links into the full help system. Error conditions are communicated through highlighting in place, with further explanation available through tool tips and/or animated roll-down messages that provide information to the user as needed without unduly interrupting either the visual context or the user’s mental processes.
5. Focuses on tasks,
processes, and the natural flow of work.
The entire user interface was based directly on a comprehensive model of user tasks. Because of the complexity and great variability in the tasks of PLC programming, the system has been designed for maximum flexibility without sacrificing either clear and simple navigation or reduction in user errors. The layout, operation, and navigation reflect the mental models and work practices of professional PLC programmers. The system allows performers to employ whatever sequence of workflow or style of programming is most natural to them consistent with their training, background, and problem-solving style. For example, hardware configuration can be completed with full support for correct configuration independent of the order of individual subtasks.
Novel techniques are used to provide feedback about permitted or prohibited actions and about error conditions within the working context so as not to unduly interrupt the work flow or the user’s thought processes. Like the hardware configuration view, each interaction context contains all the needed tools and materials for completion of a well-defined part of the PLC programmer’s work. Navigation between interaction contexts is accomplished easily and quickly through the combination of the project explorer and the view tabs within each set. Within hardware configuration, visual feedback in context is used to guide and constrain the user to correct configurations based on the software's built-in knowledge of hardware modules and configuration rules. Users are almost completely prevented from constructing impossible or illogical hardware configurations.
6. Stretches the PCD/EPSS
paradigm.
The enormous variability and cognitive and operational complexity of automation programming represents an expanded challenge for performance-support and performance-centered design concepts, requiring techniques that go beyond many of the more traditional and established approaches to user interface design.
The Step 7 Lite user interface design is based on
a new paradigm for complex user interfaces that can be described as instructive
interaction. With instructive interaction, performers learn how to use a system through the process of using it, rather than through separate instruction, manuals, or tutorials. The goal of instructive interaction is to make complex systems self-teaching.
Instructive interaction integrates a diverse body of established and innovative techniques to render novel user interfaces immediately understandable and usable. With instructive interaction, guidance and feedback are intrinsic to the user interface itself and are provided in context. Thus, for example, PLC programmers using Step 7 Lite are not told in advanced precisely how to set up a configuration of hardware modules, they are not stepped through a fixed or inflexible sequence, and they are not informed after the fact by error messages should they attempt an incorrect or illogical arrangement. Instead, the moment they attempt to add a hardware module to a configuration, the appearance of the system changes to convey where that module may or may not be placed. Likewise, they need not be told that the tabular and graphic views are synchronized and connected in a certain way; any attempt to operate on either immediately reveals the relationship and is reinforced with visual cues that show exactly which element in one view corresponds to which in the other. The success and novelty of this approach rests not so much in any one technique but in the way in which all the details fit together and reflect an underlying insight into the detailed nature of the supported tasks.
By basing the design directly on a comprehensive and detailed task model, the user interface is able to offer users both highly structured guidance and complete performance flexibility along with improved performance efficiency. This approach also allows a single interface to be equally well suited to the needs of the rank novice and to those of the more experienced or expert user. Through guidance that is both intrinsic and in context, subtle help and reinforcement are provided for the beginner without getting in the way of those with more advanced needs and skills. Everything the user of any skill level needs in terms of tools and materials as well as guidance and feedback is provided in one readily comprehended context.
Prior State
Figure 6 shows hardware configuration (here in German) from previous versions in the Step 7 series. Modules are presented in floating rack lists that must each be manually created and positioned by the user before it can be filled. Descriptions of modules appear in a separate table below that is neither visually connected nor synchronized with the rack lists. Modules are obtained from a tree view to the right, which lists the name and part/order number of all Siemens PLC modules but reveals no details directly except for the selected module, which is described in a visually remote pane at the very bottom of the screen. Modules are parameterized through a separate tabbed dialog. The tabs and their contents are different for each kind of module. Note that the graphical form of the display simply follows Windows conventions with no connection to the real aspects of hardware configuration save for the tiny icons to the left of each list entry. 
Figure 6 - STEP 7 Hardware
configuration.
(Click here or on picture to see enlarged view.)
User
Profile
Automation programming is a complex and highly sophisticated task requiring specialized training and high-levels of problem solving skills. At a minimum, the programmer must have knowledge of two things: the concepts and techniques of PLC programming itself plus the particular domain of automation application and the equipment to be controlled , such as chemical processing, durable goods manufacturing, or the like. Most PLC programmers have some sort of engineering or technical degree, particularly in the United States, although some may have only technical or trade school training. All automation programmers will have had some experience and/or training in PLC programming in one or more of the widely used standard PLC programming idioms, such as ladder logic, statement list, or function block diagrams. They will also need, of course, some knowledge of the technical specifications for the targeted hardware modules to which the PLC program will be downloaded. For the Step 7 Lite system, this means they will need to have a basic knowledge of the relevant modules in the Siemens S7 300, ET200S, and ET200X series. Users of these series can be expected to be dealing with the more basic sorts of automation applications and may be relatively less experienced. In new markets, users are also likely to be less familiar with specific details and conventions of Siemens products. Results
Step 7 Lite was subject to extensive usability testing: 10 sessions in Germany and 12 sessions in the United States. Overall, the system achieved the highest level of usability of any product ever tested by the U.S. facility.
According to users, the top-rated features included hardware configuration, the CPU control panel, and the ready access to all tools provided by the new navigation scheme. More than half of the test subjects rated the CPU panel “extraordinarily high” in usability, and, for the first time in the history of the product line, the dialog for parameterization of modules was cited as among the most usable features.
The vast majority of users found the system to be self-explanatory, describing it as particularly appropriate for novice users. In all, 21 of 22 test participants stated the system was easy to learn. In terms of the ISO 9241-10 standards of usability, which can figure prominently in the European marketplace, the system ranked highest in learnability. Surprisingly, it was also rated high in terms of the “fun factor” in a questionnaire on user experience.
Ease of learning for the novice was achieved without sacrificing efficiency. Even before testing, an analysis of a representative mix of actual programming tasks showed that the new design cut the average number of user steps approximately in half.
To the delight of the design team, users also described the design as an effective mix of the novel and the known. They experienced it as a modest innovation that included new features and elements without departing too much from Windows conventions.
|