Page 37

EETE MAY 2013

The quick way to build better embedded user interfaces By Tuukka Ahoniemi A software framework for user interface and application development with cross-platform capability can help speed-up UI development through rapid prototyping as well as ensure smooth and fluid interaction within the overall application. Joined-up thinking is a great idea that often proves difficult to achieve in practice. This also holds true in creating a user interface (UI) for an embedded device. When considering the design of a software application, it may seem obvious that the UI should not only be extremely easy to use but should also interact smoothly with the underlying application. However, the design approaches preferred by UI designers and the technologies used by software developers have not historically matched very well. Embedded software has a lot to do with hardware, which typically requires lowlevel, hardcore C-programming whereas UI designers, focusing on the usability and clarity of the application, would work most naturally and productively using a highabstraction level markup language – the kind of language that allows a smooth transition from a visual concept to an executable software code. Arranging for these two approaches to converge and, moreover, combine to produce a workable result and a productive workflow, is tough. As if enabling a smooth and integrated workflow for UI designers and developers isn’t hard enough, there are often additional requirements for performance. Unlike desktop computers, embedded devices often have very limited performance while possibly being required to deliver very strict real-time responses. This means that additional, hardware specific performance optimisations for the software are necessary to result in a finished product. On top of all this, add in a requirement to target multiple operating platforms, and the picture becomes even more complicated; particularly so if it is necessary to optimise the UI differently for use in various contexts, such as in a car or on a mobile device. Cross-platform environment Markup languages used to describe graphical UIs take advantage of the fact that the end users do not expect the UIs of various devices to differ radically from each other and tend to prefer the comfort of familiarity augmented with incremental improvements that can be easily grasped and exploited. This is reflected in relatively slow evolution of new design elements that subsequently become common on many different types of devices; examples are the evolution of buttons, sliders and, more recently, accordions used to present large numbers of options clearly on a small-size screen. Markup languages help designers avoid reinventing the wheel by enabling the creation of reusable script code or markup that allows designers to quickly import and configure UI features. QML is the markup language of the Qt development framework. It allows the declaration of object hierarchies and state-based application logic, and can also be used in other application domains beyond UI design. In effect, QML helps bridge the gap between UI designers and the application developers. QML is well suited to the development of UIs; for example, a plugin allows QML files to be exported from popular graphical design tools such as Adobe Photoshop or the open-source Gnu Image Manipulation Program (GIMP). Tuukka Ahoniemi is Technical Product Marketing Manager at Digia Qt - qt.digia.com www.electronics-eetimes.com Electronic Engineering Times Europe May 2013 37


EETE MAY 2013
To see the actual publication please follow the link above