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.

December Circuit Cellar: A Sneak Preview

The December issue of Circuit Cellar magazine is coming soon. Want a sneak peak? We’ve got a great selection of excellent embedded electronics articles for you.

Not a Circuit Cellar subscriber?  Don’t be left out! Sign up today:

 Here’s a sneak preview of December Circuit Cellar:

MICROCONTROLLERS IN MOTION

Special Feature: Electronics for Wearable Devices
Circuit Cellar Chief Editor Jeff Child examines how today’s microcontrollers, sensors and power electronics enable today’s wearable products.

329 Cover Screen CapSimulating a Hammond Tonewheel Organ
(Part 2)

Brian Millier continues this two-part series about simulating the Hammond tonewheel organ using a microcontrollers and DACs. This time he examines a Leslie speaker emulation.

Money Sorting Machines (Part 1)
In this new article series, Jeff Bachiochi looks the science, mechanics and electronics that are key to sorting everything from coins to paper money. This month he discusses a project that uses microcontroller technology to sort coins.

Designing a Home Cleaning Robot (Part 1)
This four-part article series about building a home cleaning robot starts with Nishant Mittal discussing his motivations behind to his design concept, some market analysis and the materials needed.

SPECIAL SECTION: GRAPHICS AND VISION

Designing High Performance GUI
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 Brumby of Mentor’s Embedded Systems Division examines these and other important UI design challenges.

Building a Robotic Candy Sorter
Learn how a pair of Cornell graduates designed and constructed a robotic candy sort. It includes a three degree of freedom robot arm and a vision system using a Microchip PIC32 and Raspberry Pi module.

Raster Laser Projector Uses FPGA
Two Cornell graduates describe a raster laser projector they designed that’s able to project images in 320 x 240 in monochrome red. The laser’s brightness and mirrors positions are controlled by an FPGA and analog circuitry.

ELECTRICITY UNDER CONTROL

Technology Spotlight: Power-over-Ethernet Solutions
Power-over-Ethernet (PoE) enables the delivery of electric power alongside data on twisted pair Ethernet cabling. Chief Editor Jeff Child explores the latest chips, modules and other gear for building PoE systems.

Component Overstress
When an electronic component starts to work improperly, Two likely culprits are electrical overstress (EOS) and electrostatic discharge (ESD). In his article, George Novacek breaks down the important differences between the two and how to avoid their effects.

AND MORE FROM OUR EXPERT COLUMNISTS:

Writing the Proposal
In this conclusion to his “Building an Embedded Systems Consulting Company” article series, Bob Japenga takes a detailed look at how to craft a Statement of Work (SOW) that will lead to success and provide clarity for all stakeholders.

Information Theory in a Nutshell
Claude Shannon is credited as one of the pioneers of computer science thanks to his work on Information Theory, informing how data flows in electronic systems. In this article, Robert Lacoste provides a useful exploration of Information Theory in an easily digestible way.

USB Microphone Array Serves Voice-Activated Applications

The new miniDSP UMA-8 is a high-performance yet low-cost multichannel USB microphone array built around XMOS multicore technology, designed for voice-recognition application development. Seven high-performance MEMS microphones are configured in a circular arrangement to provide high-quality voice capture for a wide range of applications. Leveraging the onboard DSP processing, the UMA-8 supports voice algorithms including beamforming, noise reduction, acoustic echo cancellation, and de-reverb.

miniDSPUMA 8BoardFlight

Developed with applications in voice-activated control, smart assistants, robotics, conferencing, and more in mind, the UMA-8 pocket-size platform targets both DIYers and the OEM market, and was engineered for flexibility in firmware, software and hardware. For advanced users, full control and configuration of the DSP array processing parameters are available with a real-time GUI. This can be used to fine tune the various algorithms: acoustic echo cancellation, noise reduction, voice activation detect, and so on, dramatically improving voice pickup.

The UMA-8 costs $95. Step-by-step application notes are available for setup and configuration of the UMA-8 with the most common smart assistants currently available, including Amazon Alexa Voice + Raspberry Pi, Microsoft Cortana, and Apple Siri. miniDSP will be expanding those application notes in the future.

miniDSP | www.minidsp.com