Designing High Performance GUIs

329 Brumby Lead Image for Web

UIs for the Multicore Era

For embedded developers, it’s critical to understand the types of performance problems a typical end-user might encounter and the performance metrics relevant to user
interface (UI) design. Phil examines these and other important UI design challenges.

By Phil Brumby
Mentor, Embedded Systems Division

The widespread proliferation of portable media devices has changed the way we interact with each other on a daily basis. In fact, there is now a generation of users who grew up with some type of touchscreen device. These users no longer see the UI as new or revolutionary, but rather as a standard piece of mobile device functionality. This phenomenon has created a new set of expectations. It means any device with an LCD must offer a fluid and intuitive user experience. It’s also expected that the touchscreen has to be “smartphone-like” whenever the device is powered on. Embedded system developers are now under pressure across multiple markets and device types to replicate the smartphone UI interactive experience.

The importance of getting the UI right is absolutely critical to the success of the device. Underpinning documented UI design methodologies is a need for the device to operate in a way that it will not impinge or be detrimental to the user experience. For developers, it’s necessary to understand the types of performance problems a typical end-user might encounter, and through an understanding of performance metrics employ various analyses to highlight the bottlenecks and performance degradation issues.

A key advantage to system start-up is analyzing selected input events.

A key advantage to system start-up is
analyzing selected input events.

TYPICAL PERFORMANCE ISSUES

To understand how to best analyze performance, it’s important to look at typical performance issues from the end-user’s perspective. In identifying these issues, developers can begin to identify the first data points or metrics needed for feedback on system performance.

Responsiveness: Responsiveness can be thought of as the time it takes for the user to receive feedback from the UI as a result of an input action made. Typically, this consists of a touchscreen input, but also includes hard key presses. Responsiveness is important as the user must feel the device performs within a certain timeframe to avoid the feeling a UI is “laggy” or slow to respond. Delays in updating the UI in response to input can result in frustration and mistakes made by the user.

Animation smoothness: Animation smoothness relates to the visible motion or change in appearance of elements displayed within the UI. As an element transitions from one point in 3D space to another, does it do so in a smooth manner that is pleasing to the eye? Animation smoothness is important because if the user perceives jagged or staggered motion in a transition, it will degrade the overall interactive experience.   …

Read the full article in the December 329 issue of Circuit Cellar

Don’t miss out on upcoming issues of Circuit Cellar. Subscribe today!
Note: We’ve made the October 2017 issue of Circuit Cellar available as a free sample issue. In it, you’ll find a rich variety of the kinds of articles and information that exemplify a typical issue of the current magazine.