Front Panel - The
Book
Front
Panel: Designing Software for Embedded User Interfaces
is a guide for embedded systems programmers who face the challenge
of writing software for event driven user interfaces.
Purchase
it online from Amazon.
Purchase
it online from Amazon UK.
Programmers of embedded
systems have to learn to write code that will drive devices according
to the specification supplied in a data sheet, or to match the
circuit diagram of custom user interface hardware. This book addresses
the issues that arise when you try to add structure to that code.
The book describes the Model-View-Controller paradigm, as a general
structure that can be applied to most user interface software,
whether it be a graphical user interface or a pocket calculator.
Finite state machines provide another structure that can be applied
to specific pieces of the design. A third area is the management
of event queues. These three topics provide the foundation for
the design of user interface software.
Other chapters address
issues such as the design process, and safety issues in embedded
user interface software. One of the more important chapters, Usability
for Embedded Systems, is dedicated to the topic of the human
computer interaction. Interactions with embedded systems differ
from the interactions on the desktop for a number of reasons.
One is that the user is often dealing with more diverse hardware.
On the desktop, the developer can make the reasonable assumption
that the user is familiar with the computer. An embedded system
is often making every effort to hide the fact that it contains
a computer. A desktop application will be compared to other applications,
while an embedded system will be compared to tools - try competing
with the ease of use of a hammer.
If you have already
purchased the book, you may be interested in the errata,
which points out a number of mistakes in the first edition.
Table of Contents
- 1. Introduction
- 2. The Model View
Controller Paradigm
- 2.1. What does
Object Oriented Software mean in a User Interface?
- 2.2. Model-View-Controller
- 2.3. An Array
of LEDs
- 2.4. Layered
messages on a Small Text Display
- 2.5. Conclusion
- 3.
Managing User Events
- 3.1. User Events
on the Desktop
- 3.2. Polling
versus Interrupts
- 3.3. Queuing
- 3.4. The Tasks
- 3.5. Different
Queues for Different Events
- 3.6. Queue Read
Ahead
- 3.7. Directing
Event Traffic
- 4. Finite State
Machines
- 4.1. The FSM
as a Poor Man's Real Time Operating System
- 4.2. Drawing
the FSM
- 4.3. Why user
interface code needs FSMs
- 4.4. Limits
of the FSM
- 4.5. How many
states? How many FSMs?
- 4.6. Use of
Constant, Static, Global and Automatic data
- 4.7. Example
of an FSM for a Toggle Button on a GUI
- 4.8. Menu for
a Small Text Display
- 5. Graphics
- 5.1. The Software
Levels
- 5.2. Choosing
the set of primitives
- 5.3. The Next
Level Up - Do We Need Objects?
- 5.4. Refreshing
the Display
- 5.5. Compound
Objects
- 5.6. Locating
Events
- 5.7. Touchscreen
Programming Techniques
- 5.8. Multiple
Dialogs
- 5.9. Conclusion
- 6. Systems Issues
- 6.1. Multiple
processors
- 6.2. Safety
- 6.3. Translation
and Internationalization
- 7. C++ in embedded
systems
- 7.1. Introduction
to C++
- 7.2. Choosing
C++
- 7.3. Using C++
- 7.4. Converted
examples
- 7.5. Conclusion
- 8. The Design Process
- 8.1. Writing
Requirements
- 8.2. Iterations
through the Interface
- 8.3. Simulations
and Prototypes
- 9. Usability for
Embedded Systems
- 9.1. The User
- 9.2. The Interface
- 9.3. The Graphical
User Interface
- 9.4. Usability
and Safety
- 10. The Future
- 10.1. Standards
- 10.2. Graphics
Everywhere
- 10.3. Voice
Synthesis and Verbal Commands
- 10.4. Software
quality
- 10.5. Programming
Activities
Murphy, Niall D. Front
Panel: Designing Software for Embedded User Interfaces. Lawrence,
KS: R&D Books, 1998.
Purchase
it online from Amazon. Purchase
it online from Amazon UK.
|