Embedded GUIs Can Impact the Bottom Line of Your Business

Authors Shailesh Kumar Gupta & Neeraj Tiwari, ERS-SPG HCL Technologies, NOIDA Dr. Usha Thakur, ATS Technical Research HCL Technologies, Chennai

Embedded GUIs: Can Impact the Bottom Line of Your Business

© 2009, HCL Technologies Ltd. May, 2009

Embedded GUIs 2

Contents

Users Vs Developers ...... 4

Purpose ...... 4

GUI in Embedded Devices ...... 5

Challenges ...... 5

Solution ...... 6

Market for Embedded GUI ...... 6

Players in the GUI Toolkit Space ...... 8

EmPresent – HCL’s GUI Toolkit ...... 10

Components ...... 10

Concept to Deployment ...... 11

Architecture ...... 11

Features ...... 12

Why use EmPresent? ...... 14

Benefits ...... 15

Embedded GUIs 3

Users Vs Developers How many of you software developers feel that if only users were willing to educate themselves about your application, then it would work like a charm? How many of you (end) users feel that if only software applications could do their job without you having to acquire IT skills, then there would be no problems at all? The gap between the two communities can be bridged by a well–thought out and‐ designed (i.e., highly usable and easy‐to‐use) Graphical User Interface (GUI). Since a GUI is a point of entry as well as exit of a user’s interaction with software applications, there is a great deal of pressure on software developers from businesses to minimize the learning curve of users in the interest of faster‐ time‐to market and from the Web 2.0‐savvy generation to make their user experience highly responsive and intuitive.1 These demands are leading to interesting developments and breakthroughs in GUI technologies for all types of systems, especially embedded systems.2

EmPresent is a platform‐independent GUI toolkit from HCL for embedded device application developers. It comprises a set of powerful visual development tools and widgets to build versatile embedded multilingual GUIs.

Purpose Today, industry leaders are regarding GUIs as a business differentiator. Increasingly, GUIs are acting as a means of increasing the sale of products ranging from medical devices and flight entertainment systems to industrial and home automation devices.

In this paper we will examine key developments in GUI technologies in the context of embedded devices and their impact on business goals.

1 In this regard, see Ravi Kuppusamy and Usha Thakur, "Rich Internet Applications in Perspective" and Sanjeet Joshi and Subramanyam B.S., "Web 2.0 ‐ The Evolution and Growth of the Interactive Internet" http://www.hcltech.com/hcl‐research/ [April] ‐>represents when the website was accessed.

2 Although the meaning of an is expressed in various ways, there is a consensus that an embedded system is a computer (with or without a GUI) that is inbuilt into a product and performs dedicated functions. For a fairly comprehensive interpretation of an embedded system, see http://searchenterpriselinux.techtarget.com/sDefinition/0,,sid39_gci837507,00.html [April 2009].

Embedded GUIs 4

GUI in Embedded Devices Modern day consumers do not want to be aware of how a gizmo works; they just want to use (read ‘enjoy’) it with the shortest possible learning curve. Today, if there is a high quality home appliance or a medical device without a display screen on the market but has a very sophisticated manual explaining all its features, it will most likely be driven out of the market by counterparts that have a visual display along with features that could be learned within minutes without requiring a manual. This is the expectation that businesses have to meet and it is, therefore, not surprising that they want IT professionals to deliver high‐performing and scalable software applications that have a short development cycle, are easy to implement and maintain, and can be integrated with existing or new systems. This is, of course, easier said than done because the IT landscape has combinations of hardware and software that are not easily interoperable, and that makes the work of GUI embedded designers even more challenging.

Challenges The key challenges faced by embedded GUI designers are as follows:3

Conceptualization

ƒ Specialized widget sets required for each type of embedded device

ƒ Continuous addition of features to improve performance

ƒ Multiple prototypes before acceptance

ƒ Unique development and production environments required for each device

ƒ Development for multiple devices

Parallel GUI Development

ƒ Limited functionality for embedded platforms

ƒ Non existence of windowing systems

ƒ Inability to commence GUI development prior to hardware development

Platform Scalability

ƒ Multiple OS / processor combinations

ƒ Requirement of a small footprint

3 “EmPresent” – White Paper (2006) http://presenterdownloads.hcltech.com/downloads/EmPresent_Whitepaper_2_.pdf [April 2009].

Embedded GUIs 5

ƒ Multiple I/O devices

Solution In response to the needs of businesses, there is a growing trend among GUI embedded designers to meet the above‐mentioned challenges by designing GUI Toolkits that will:

Provide ƒ Templates / layout feature for domain‐specific applications and designer tools

ƒ Rich set of API’s for integration with other systems and libraries

ƒ Simulator for quick prototyping

ƒ Embedded graphics library consisting of a number of widgets or display controls

ƒ Customizable navigation and dynamic flow of interactive UI application

Support ƒ Porting and easy changes to GUI

ƒ Modular and adaptable architecture

ƒ Drag and drop and eliminate the need for coding

ƒ Localization and internationalization

ƒ Predefined Industry Standards

Market for Embedded GUI The market for embedded GUI and GUI Toolkits is dependent upon the demand for embedded systems. Today, the embedded chip systems are found in most products ranging from mobile phones and cars to handheld devices and refrigerators.4 Although there is no hard and fast correlation between the growth of consumer and industrial goods and a rise in embedded systems, the fact is that the market for

4 For a good summary of the significance of embedded systems in contemporary society, see the following article by Wayne Wolf, a renowned scholar, “The Embedded System Landscape,” (September 2007) http://www.computer.org/portal/site/computer/menuitem.5d61c1d591162e4b0ef1bd108bcd45f3/index.jsp?&pN ame=computer_level1_article&TheCat=1005&path=computer/homepage/Oct07&file=gei.xml&xsl=article.xsl& [April 2009].

Embedded GUIs 6

embedded systems has been on the rise.5 According to a report by BCC Research, the world market in 2004 for

ƒ Embedded software was at $1.6 billion and expected to grow to $3.5 billion by 2009, at an average annual growth rate (AAGR) of 16% ƒ Embedded hardware was just over $40 billion and expected to grow to $78.7 billion by 2009, at an AAGR 14.2% ƒ Embedded board revenues was $3.6 billion and expected to reach $5.9 billion by 2009, at an AAGR of 10%6 In a recent study, Venture Development Corporation (VDC) estimated the global Market for Embedded Software Engineering alone to reach more than $25 billion in the coming years.7

The outlook for current and future IT spending, however, is rather unclear. Gartner has predicted a moderate growth in global IT spending for 2009 with the rider that while in some sector (e.g., Utilities, Healthcare, and Government) the share of IT spending is growing; in others (e.g., Transportation, Financial Services, and Manufacturing) it is declining.8 By contrast, a Forrester research has predicted an overall decline by 3% in 2009 and a rise by 9% in 2010 for global IT spending when measured in US

5 What is interesting is that although the Americas (mainly US) is said to account for nearly half the total revenue, it growth rate is only 11%; that of the Asia/Pacific region is the highest growth rate (22.7%), followed closely by Europe (13.2%). Cited in http://cordis.europa.eu/ist/embedded/facts_figures.htm [April 2009]. To get a glimpse of the extent to which the European Union is investing in Embedded Systems R&D, see http://cordis.europa.eu/ist/embedded/, http://cordis.europa.eu/ist/embedded/projects.htm, and http://cordis.europa.eu/ist/embedded/investment‐growth.htm [April 2009]. In the Asia region, the growth of the software industry in China has been impressive in spite of the fact that its exports were down. According to RNCOS, China’s software industry was up by 30% in 2008 over the previous year and is expected to grow at a CAGR of more than 24% by 2012. The basis for this optimism is the fact that IT spending by several industrial and service sectors is expected to continue growing. Cited in http://www.commodityonline.com/globalmarkets/Chinese‐ exports‐down‐software‐industry‐up‐16216‐3‐1.html [April 2009]. CCID Consulting has identified home appliances, mobile computing device, network device automation and measuring & controlling instruments and transportation electronic device as key growth areas for embedded software. For further information, see CCID Consulting, "Five Embedded Market Deserves Attention"(29 October 2008) http://www.ccidconsulting.com/en/search/content.asp?Content_id=20270 [April 2009].

6 See BCC Research, "Future of Embedded Systems Technology" (June 2005) http://www.the‐ infoshop.com/study/bc31319‐embedded‐systems.html [April 2009]. See also http://cordis.europa.eu/ist/embedded/facts_figures.htm [April 2009].

7 VCD Research, "Over $25 Billion: VDC Research Releases New Metric Measuring the Total Size of the Embedded Software Engineering Market" (18 February 2009) http://www.vdcresearch.com/PressCenter.asp?viewtype=detail&id=1501 [April 2009].

8 For complete details on IT spending according to geographies and industries for 2009 and for the period 2007‐ 2012, see John‐David Lovelock, et al., "Dataquest Alert: Utilities, Healthcare and Government Lead IT Spending Growth in Challenging 2009" (10 February 2009) ID Number: G00165289 www.gartner.com [April 2009].

Embedded GUIs 7

dollars.9 Over the same period Forrester has predicted a rise by 3% and then by 5% in 2010 for the Asia‐ Pacific markets when IT spending is measured in local currencies10. Amidst all this, spending on software is expected to remain the same for 2009 as it was in 2008 and rise by 10% in 2010 when measured in US dollars.11 It will, therefore, not be an exaggeration to expect the potential market for embedded GUI to grow, albeit moderately, in the coming years.12 Players in the GUI Toolkit Space We are living at a time when we want everything done fast from cooking, cleaning, and washing to travelling, medical care, access to entertainment channels, and getting in touch with family/friends/colleagues. And yes, as consumers we also want those devices to be intuitive and easy to use; that screen on the device should not give us lengthy instruction on ‘how to use this device’ but it should follow our way of thinking! This cry from end users is forcing device manufacturers to not only come up with innovative product designs but also ensure that the development cycle of their products is shortened. This is music to the ears of embedded systems and GUI designers, and some have risen to the occasion to do just that – they are designing GUI toolkits for cutting down on development time and cost and for accelerating the time‐to‐market for embedded applications

Today, some of the well‐known GUI Toolkits for embedded systems include, though not limited to:

ƒ /Embedded from QT Software. Qt is a UI framework for designing applications across platforms e.g., Embedded , Mac OS X, Window CE, etc) once and deploying them across many desktop and embedded operating systems without rewriting the source code. 13

ƒ C/PEG™, PEG+™, and C/PEG™ from Swell Software Inc. The different Portable Embedded GUI (PEG) products give real‐time embedded system developers the tools for designing highly complex graphics applications particularly for automotive, consumer electronics, infotainment, and medical devices.14

9 When measured in Euros, the global IT market is said to show a rise by 6% in 2009 and a slide to 3% (based on the assumption that the Euro will begin to revive against the US dollar). For more details, see Andrew Bartels, "Global IT Market Outlook: 2009" (12 January 2009), pp. 2‐3 http://web1.forrester.com/Research/Document/Excerpt/0,7211,46676,00.html [April 2009].

10 Ibid., pp. 16‐17.

11 Ibid., pp. 8‐10.

12 This is probably the assumption on the basis of which a great deal of research is being undertaken on embedded systems and embedded GUI. To get a glimpse of the research areas, see the listings in the IEEE Computer Society’s CS Digital Library at http://www2.computer.org/portal/web/csdl [April 2009].

13 For further information, see http://www.qtsoftware.com/products/ [April 2009].

14 For more information, see http://swellsoftware.com/products/ [April 2009].

Embedded GUIs 8

ƒ EmWIN from SEGGER Microcontroller GmbH & Co.KG. emWin is designed for providing an efficient, processor‐ and LCD controller‐independent graphical user interface (GUI) for any application that operates with a graphical LCD. It is compatible with single‐ and multi‐task environment(s). It may be used on a proprietary or commercial RTOS and adapted to any size of physical or virtual display with any LCD controller and CPU.15

ƒ easyGUI from easyGUI. easyGUI is a full development system for creating graphical user interfaces in embedded systems. It supports virtually all embedded microcontrollers, compilers, and color / grayscale / monochrome displays.16

ƒ Embedded Wizard (EmWi) from TARA Systems. EmWi is a PC tool for developing and prototyping of platform independent Graphical User Interfaces (GUI) on embedded systems with a focus on consumer electronics devices.17

ƒ MiniGUI from Beijing Feynman Software Technology Co., Ltd. (FMSoft). MiniGUI is a cross‐ platform tool for designing rich GUIs in high‐performing real‐time embedded devices such as mobile phones, medical equipments, industrial systems, set‐top boxes, multimedia terminals, and so on.18

ƒ SCADE Display™ from Esterel Technologies, Inc. SCADE Display™ is a flexible graphics design and code generation tool suite for prototyping and developing safety‐critical embedded display systems such as Cockpit Displays Systems, Head‐Up Displays, Helmet Mounted Displays, Flight Management System Displays, On‐Board Airport Navigation Systems, Health & Usage Monitoring Displays, Traffic & Collision Avoidance Displays, Digital Maps, etc.19

ƒ Nucleus UI from Mentor Graphics®. Nucleus UI (part of the Nucleus RTOS) offers a modular approach to UI development, giving developers fine‐grained control over the display and input mechanisms of embedded devices.20

15 For more information, see http://www.segger.com/emwin.html [April 2009].

16 For further details, see http://www.easygui.com/ [April 2009].

17 For further information, see http://www.tara‐systems.de/emwi/ [April 2009].

18 For more details, see http://www.minigui.com/index.php?id=106&L=0&gclid=CI_zw5zJkJoCFUcwpAodTQuQFg [April 2009].

19 For further information see http://www.esterel‐technologies.com/products/scade‐ display/?gclid=COPNsOfKkJoCFQUwpAod2yUAGQ [April 2009].

20 For more information, see http://www.mentor.com/products/embedded_software/nucleus_rtos/user‐ interface/ [April 2009].

Embedded GUIs 9

ƒ tekUI from Schulze & Müller GbR. tekUI is a GUI toolkit (built using Open Source) for prototyping and rapidly developing embedded applications 32bit microcontrollers, set‐top boxes and kiosk systems.21

ƒ Fusion GUI Toolkit from Unicoi Systems. Fusion GUI Toolkit is a set of user interface software modules that embedded system designers can use for creating and managing a GUI in embedded system. The Toolkit does not have dependencies on device, processor, OS, display‐ size and platform.22

EmPresent – HCL’s GUI Toolkit Innovation has long been a guiding principle for device manufacturers and software developers. However, the consumer demand for easy‐to‐use and new features has brought embedded GUI designers into the limelight. The raison d’être of EmPresent is to reduce the embedded application development cycle by 40% and time‐to‐market by 50% for complex product GUIs. EmPresent provides embedded software engineers with graphical editing tools, powerful APIs and structures, and an interactive design environment for developing embedded applications in a relatively short duration.

As illustrated in Figure 1, EmPresent’s GUI Framework comprises three components and five phases (from concept to deployment) that support end‐to‐end embedded application design and development.

Components VISUAL EDITOR – is for quickly designing GUI applications on desktops without requiring the target device or any programming background. This component automatically generates the code (which is linked to the EmPresent library) for the target device as well as for the simulated environment. The Visual Editor functionalities are provided by the GUI Browser, GUI Designer, Application Design, and Application Development.

SIMULATOR – is for rapidly prototyping and testing an embedded application on the target device. The Simulator component allows embedded application developers to concentrate more on the design and optimization of applications and less on the nitty‐gritty of GUI development.

EMPRESENT GUI LIBRARIES – is for porting an embedded application to the target device with very minimal changes. The Deployment component shown in Figure 1 provides the API interfaces for applications running in embedded domain.

21 For further information, see http://www.schulze‐mueller.de/products_tekui.html [April 2009].

22 For further details, see http://www.unicoi.com/fusion_web/fusion_GUI_toolkit.htm [April 2009].

Embedded GUIs 10

Concept to Deployment GUI BROWSER – is for organizing information in a hierarchal format for better product feature map.

GUI DESIGNER – is for designing individual GUI screens, using drag & drop and designer controls without any coding.

APPLICATION DESIGN – is for dynamic functionality and behavior simulation on desktops where the code is generated automatically.

APPLICATION DEVELOPMENT – is for integrating the business logic of a device in the GUI application.

DEPLOYMENT – is for display acceleration in virtually any device, including devices with very complex functionalities.

Figure 1: EmPresent GUI Framework

Architecture EmPresent’s architecture is platform‐independent, modular, adaptable, and event‐driven. As illustrated in Figure 2, EmPresent’s architecture has two significant components: Adaptation Subsystem and Graphical Interface System, both of which offer high flexibility and adaptability to embedded application designers.

Embedded GUIs 11

Figure 2: EmPresent Architecture

Features As illustrated in Figure 3, EmPresent has a rich set of GUI framework and designing features for fast application development that are likely to appeal to embedded developers. Since EmPresent features are easy‐to‐implement and integrate with the existing or new systems, they will help embedded developers in delivering high‐performing and scalable software applications in a relatively short timeframe. The key features of EmPresent are as follows:

Figure 3: EmPresent Features

Embedded GUIs 12

GUI FRAMEWORK

9 Integrated Development Environment (IDE) for quick prototyping

9 Import and export of GUI proprietary templates for easier migration

9 Powering the innovative output devices and being sensitive to different Input devices

9 Small, stable, and scalable windowing system for different platforms

9 Desktop‐based visual development environment for embedded applications

9 Wide range of ready‐made widgets

9 Automated ANSI C and C++ code generation

GUI DESIGNING

9 Powerful well‐document 3600 API’s

9 Event driven architecture to support real‐time application development

9 Numerous look and feel for applications

9 Support for

o Different screen sizes, resolutions, and colors

o Localization and internationalization

o Multiple image codec (e.g., Bitmap, JPIG, GIFF)

Embedded GUIs 13

Why use EmPresent? EmPresent’s USP lies in the fact that it can deliver on the following promises:

UNLEASH CREATIVITY

9 GUI designing is a real pleasure because EmPresent is easy and intuitive to use, powerful and productive.

9 Addition of new interface elements is a non‐issue because EmPresent allows quick and easy way of building visual components to GUI screens or panels.

9 Screen rendering is fast and easy because EmPresent has a sophisticated set of GUI controls.

9 User‐experience is highly enhanced.

PROTOTYPE MULTIPLE ALTERNATIVES FOR EVALUATION

9 Easier to duplicate, change and distribute than paper and pencil designs.

9 Visual design without coding is accessible to everyone.

9 Software prototyping capabilities make it faster to develop and communicate user interface designs to everybody in the team.

SAVE TIME AND MONEY

9 Develop clear GUI designs thereby minimizing the need for rework.

9 Shorter development cycles and lower costs.

9 Tremendous saving to device manufacturers resulting from a ‘no royalty and no‐hidden cost’ offering for customized GUI components.

9 Flexible business models allowing reusable Intellectual Property with annuity options.

9 Partnering for product success and profitability right from inception to rollout.

TEST THE ENTIRE APPLICATION AT AN EARLY STAGE

9 Artifacts developed for a specific platform configuration can be re‐used across multiple projects sharing the same configuration. This reduces development time and certification effort.

Although EmPresent can bring valuable results in any industry, it has made serious inroads in the Home and Industrial Appliances, Aerospace, Manufacturing, and Medial domains.

Embedded GUIs 14

Benefits EmPresent is a GUI toolkit that empowers embedded application developers to help their respective companies gain a competitive edge on the market.

EMBEDDED DEVICE APPLICATION GAINS

9 Automatic code generation

9 Minimal need for embedded programming knowledge

9 Parallel application development using X86 simulator capability

9 Component / design reusability

9 Embedded applications development cycle shrunk by 40%

BUSINESS GAINS

9 Increase operational efficiency

9 Reduce maintenance cost

9 Provide opportunities for collaborative business models in mega projects

9 Reduce engineering cost by 40%

9 Reduce time‐to‐market by 50%

Embedded GUIs 15