www.panelsoft.com

 

 

 

Home

Training

Writing

Resources

E-mail Feedback

PanelSoft

User Interfaces and Safety for Embedded Systems


Conferences

In March 2005 Niall Murphy will be speaking at the Embedded Systems Conference in San Francisco. See http://www.esconline.com/sf/index.htm fo more details of the conference.

Niall Murphy's Classes at ESC San Francisco

Date Time Title #Class
6 March 04 9:00am to 5:30pm User Interface Design ETP-101
8 March 04 10:15am, 90 minutes Top Ten Usability Mistakes ETP-230
8 March 04 2:15pm, 90 minutes Memory Management, Part 1 ETP-246
8 March 04 4:00pm, 90 minutes Memory Management, Part 2 ETP-266

 

 

Abstracts

The following abstracts are for papers presented at the Embedded Systems Conferences, by Niall Murphy. If you can not attend one of the conferences listed above, but are interested in getting more details on one of these papers then contact Niall Murphy by e-mail.

User Interface Design

Duration: Full Day Tutorial

Target Audience: Engineers implementing user interfaces who have to design the interaction between user and device.

Will Learn: The attendee will learn the process of designing the user interaction by performing task analysis and usability trials. They will also learn to identify properties in an interface such as equal opportunity, directed and undirected interfaces, and then to decide when to use these properties in their own design.

Abstract: Ease of use can be a major selling factor in a modern product. As embedded systems become more sophisticated, making new features intuitive is a huge challenge. This course teaches the software engineer or user interface designer the skills required to design a new user interface or recognize where an existing interface can be improved. The class strikes a balance between concrete topics such as menus and icons, and providing the student with general principles for good design, such as direct manipulation. Common user errors such as mode errors are discussed. The class also examines the process of developing a user interface by task analysis and how it is evaluated in user trials.

Both graphical and non-graphical interfaces are considered, and examples discussed include industrial equipment, medical equipment and consumer devices, drawn from the instructors wide experience consulting, writing and teaching about user interface design.

Top Ten Usability Mistakes

Duration: 1.5 Hour

Target Audience: Engineers implementing user interfaces who have to design the interaction between user and device.

Will learn: The attendees will learn how to identify end remove the most common mistakes made in the design of the user interface of an embedded device. The class teaches how to apply a critical eye to a usability design to identify where the user is likely to be confused or feel caught out.

Abstract: In embedded user interfaces, the same mistakes appear again and again. A device with multiple modes confuses the user, or a screen times out just when the user is about to press a key. The text of the display uses terms that make sense to the engineer that designed the device but baffle the ordinary user. The user keeps hitting the wrong button, but can not figure out why. This class will address these problems as we look at a set of examples of real products to identify the most common and easily eliminated usability mistakes.

Memory Management Part 1

Duration: 1.5 Hour

Target Audience: C programmers that use or are considering using a heap for dynamic memory management.

Will learn: Attendees will learn how to evaluate the memory management options available to them and decide if malloc and free is appropriate to their project. They will learn exactly how the standard malloc and free work, and how they could implement an alternative version with properties better suited to an embedded system.

Abstract: Embedded systems face a number of challenges in the area of memory allocation. Use of memory whether global, stack based or heap based, must be measured to ensure the resources available are sufficient. The general purpose allocation mechanism available with most compilers can suffer from fragmentation, regardless of how carefully it is used. This is not acceptable for systems that have to run for long periods. Also a general purpose allocation scheme usually has undeterministic real-time properties as it may have to perform a search for memory of the appropriate size. This class looks at some custom alternatives that eliminate fragmentation and searches, such as fixed size pools.

Memory Management Part 2

Duration: 1.5 Hour

Target Audience: C programmers that use or are considering using a heap for dynamic memory management. Will learn: Attendees will learn how to measure heap usage and how to locate memory leaks by identifying the source code line that allocated a block that was never freed.

Abstract: When using malloc and free there is a danger that memory leaks will be introduced into your program. In the case where there is no memory leak, the programmer may still want to measure the amount allocated and freed to confirm that there is no problem. When there is a leak it is vital to identify the exact line where the allocation took place so that the bug can be fixed. This class looks at debugging code that can be inserted into your program to give the programmer a measurement of heap use.

Graphical User Interfaces for Embedded Systems

Level: Beginner and Intermediate

Duration: Full Day Tutorial

Prerequisite: A knowledge of C programming. Knowledge of C++ and Real Time Operating Systems also helpful, but not essential.

Abstract: Many developers of small embedded systems are faced with the challenge of developing a graphical user interface, possibly without the support of a third party graphical operating system. This class explores the design of a library to support simple graphical objects such as lines, boxes, circles, text, bitmaps and buttons. These objects can be created on the display and later the application can alter attributes such as position or color. A container hierarchy will allow us to manage different areas of the display independently and to switch between different screen layouts. We will look at managing the refresh of the display by tracking the areas of the display that have changed between updates. We will investigate sources of bitmaps and fonts and the conversions necessary to make them useful on an embedded system. Queuing and handling events from a mouse or touchscreen is also discussed.

Safety and the User Interface

Level: All Levels

Duration: 1.5 Hour

Abstract: This class identifies many of the safety hazards inherent in the design of the man machine interface. Many risks are present in systems where the software and hardware are functioning perfectly. If the way in which information is presented to the user is confusing or ambiguous then the user may take longer to make critical decisions. Safety is often traded off against ease of use. The design of alarm systems will be discussed. A number of case studies will pinpoint dangers in the user interface of real world designs. Learning from other's mistakes is far cheaper than learning from your own.

 


[PanelSoft Home | Training Courses | Front Panel, the book]