Modern Human Machine Interfaces with Touch Display

18
Distributed Software Development 2013 Final Project Page 1 A&M (Imaginary Company) Modern Human Machine Interfaces (HMI) with Touch Display Proposed by: Angelus Vincent P. Guilalas

description

A Proposed Distributed Project for Modern Human Machine Interfaces with Touch Display

Transcript of Modern Human Machine Interfaces with Touch Display

Page 1: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 1

A&M

(Imaginary Company)

Modern Human Machine

Interfaces (HMI) with Touch

Display

Proposed by: Angelus Vincent P. Guilalas

Page 2: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 2

I. ITRODUCTION

Software development is an intense collaborative process where success depends on the ability

to create, share and integrate information. Given the trend towards globalization in the software

development industry, distance creates an additional challenge to development processes, as fewer

opportunities for rich interaction and lower frequencies of direct communication. Here it introduces

taxonomy of software engineering tools for distributed projects and presents collaborative development

environments, ranging from classic platforms for dispersed developers in open source software projects

to modern environments for flexible and distributed processes. Moreover, it introduces computer-

mediated communication theories which reveal some patterns of tool usage to overcome the challenges

of distance. Building upon the theoretical background of media selection, and summarizes research

activities aimed to build an evidence-based model of task-technology fit for communication-intensive

activities such as distributed projects.

Distributed software development takes a concurrent rather than sequential development

approach, effectively using iteration to show progress and manage risk. This provides a basis for more

rapid development, with smooth transitioning from one stage of a project to the next as well as

continuous delivery of staged results that are of value in the total solution. The use of this approach

implies iteration with a checkpoint at the conclusion of each stage to validate the quality of stage

results, as well as the scope of the next stage. In addition to concurrency across stages, a release-based

strategy ensures that there are short intervals between incremental releases of tangible results. This

ensures that the direction of the project can be adjusted dynamically to accommodate critical events

and needs.

In order to support collaborative work on their projects, software engineers communicate both

directly, through meetings and informal conversations, and indirectly, by means of software artifacts.

Adequate tool support is paramount to enable collaboration in distributed software development.

However, most work in collaborative environments for distributed development has focused on code-

specific tasks rather than on other software engineering activities at a higher level of abstraction like

requirements engineering or software design. Collaboration in Distributed Software Development

scenario is significantly affected by the stakeholders, developers teams geographical distributed. There is

a need to further our knowledge of what is the most appropriate collaboration tool set to achieve a

Page 3: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 3

shared understanding among distributed project stakeholders, then distributed software development

can be benefited from an interdisciplinary approach.

The subject is A&M Company which is a software development firm with the main office in New

York, United States and the auxiliary office at Cebu City, Philippines, and Singapore.

A&M Software stands for innovation, competency and quality. Being 25 years in business, A&M

has gained the reputation as a reliable partner for many renowned customers worldwide. Our vast

industry know-how is reflected in a wide range of innovative and unique software solutions that we

have developed for and together with our customers in the factory- and process automation, maritime

technology, mechanical engineering, building automation and energy technology.

A&M is the competent service provider for all matters concerning software products in the

industrial automation. Our service portfolio includes Management & Technology Consulting, Software

Development, Quality Assurance, IT Operations & Services and Software Maintenance & Support. We

mainly focus on solutions for Human Machine Interfaces (HMI), device integration, engineering systems

and web applications.

The company’s headquarter is in New York, United States. Our subsidiary in Talamban, Cebu

City, Philippines was established in 2005 while the innovation center in Singapore was founded on

November 2007. There we do not only serve the upcoming markets in Asia, but also offer offshore

development services to our customers in Europe and America in a proven A&M quality to significant

price advantages.

Offshore-Development with A&M is different. To us, offshore development means distributed

development of your software by mixed project teams, which comprise Americans, Filipino and

Singaporean software developers.

This offer holds the following benefits for you:

• Substantially reduced average hourly rates, due to a mix of Americans , Filipino and

Singaporeans team members

• Faster realization through the deployment of additional, highly qualified software engineers in

Philippines, Singapore

Page 4: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 4

• Convenient communication. You interface exclusively with our staff in America. They will

coordinate the upcoming development tasks with their colleagues in Philippines, and Singapore

• We avoid the overhead with a pure interpreter-frontend without real technical know-how. Your

contact persons in New York, USA are technical project managers and architects, who actively

participate in the development of your project and who are responsible for the quality of the

end product

• No disadvantages in productivity. Our Filipino and Singaporeans colleagues are highly qualified.

Their technical standard is as good as ours here in USA and they speak perfect English

• A low fluctuation rate means stable teams. The special A&M team spirit also reigns supreme

among our colleagues in Philippines and Singapore

• Ideal starting conditions for cost-efficient maintenance of the finished software. There is no

need for a costly transfer to a new team.

II. RATIONALE

The proposed distributed project is to develop and implement solutions for Modern Human

Machine Interfaces (HMI) with Touch Display. This is a user interface in a manufacturing or process

control system which provides a graphics-based visualization of an industrial control and monitoring

system.

Based on studies Poor HMI designs have been identified as factors contributing to abnormal

situations, billions of dollars of lost production, accidents, and fatalities. Many HMIs actually impede

rather than assist operators. Many of the poor designs are holdovers due to the limitations of early

control systems and the lack of knowledge of system designers. However, with the advent of newer and

more powerful systems, these limitations no longer apply. Also, decades of research has identified

better implementation methods. Unfortunately, change is difficult and people continue to follow poor

design practices.

The development of modern human machine interfaces with touch displays poses a new

challenge for manufacturers of industrial devices and machines. The users have highest expectations

regarding design and intuitive usability, projecting their everyday experience with handling consumer

devices such as iPhone, iPad, or Tablet-PCs onto industrial applications. These user requirements need

workflow-oriented interaction models and a first-class UI design. User guidance and screen layout of

the individual interaction scenarios have to be adapted to achieve sound finger operation.

Page 5: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 5

a. Why touch interfaces?

Touch-sensitive displays have become widely accepted not only in the consumer industry. While

in the past industrial applications were mainly operated via key panels, membrane keyboards or even

external interfaces like keyboards or mouse, touch-sensitive displays are more and more taking over.

The driving force is the economic benefit for manufacturers of equipment, machinery and

plants:

• Their popularity in consumer electronics has dramatically brought down the cost of touch

interfaces - with continuously increasing quality (resolution, size, colors, reliability, industry-

fitness)

• Touch interfaces combine display and operating elements in the most confined space and

reduce space and cost for machine operation

• Interfaces as a human machine interface can visualize additional information for the user

(application support / work instructions, graphic representation of fault causes, dash boards,

etc.)

• In contrast to keyboard and mouse, touch interfaces are more appropriate for hygiene measures

and are therefore increasingly used in medical engineering, amongst others

• Extensive feature enhancements with updates can be incorporated into touch interfaces with

great flexibility. Space requirements for operating elements remain the same in spite of varying

functionalities of machine types and generations

With the GUI design supporting intuitive operation of devices and machines, the entire

economic potential of touch interfaces is highlighted:

• A good and easy to understand user interface, adapted to language, application and situation,

can considerably reduce training cost for the operating personnel

• Comprehensive work instructions for the operator, according to the situation, through to

complete workflows for configuration and / or correction of errors allow for an operation of

equipment with less user errors and thus more productivity

• With a comprehensible way of operation, more complex functionalities and specific machine

advantages can be utilized by the operator

• A modern and superior operating concept can differentiate the products of a manufacturer from

the competition, improve brand communication and enhance customer loyalty

Page 6: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 6

b. Why traditional development methods fail for touch interfaces

Traditional software development is sequential. Summarized, the practice is as follows:

Functional software is developed on the basis of specifications. Only afterwards, the user interface is

created - and more often than not by the developers of the functional software itself. The result is that

in the majority of cases the GUI is created in a very technology- and function-focused way. At best, only

after the development of the first GUIs by the software developers, graphical artists and designers will

be involved to apply cosmetic changes to the user interface. Without knowing users and applications,

they can only change the visual design (icons, colors and fonts), but not the operating concept. An

involvement of users in the development process often does not take place or, if at all, only at a very

late stage. At this late time in the development process, requests for changes are usually refused due to

cost and time expenditures or the already imminent launch of the product, since major changes to the

user interface cause complex changes to the software itself.

The consequences of this procedure are reflected in the users’ reactions: User interfaces are

perceived as being complex, confusing or even "unusable". The operating concept, generated from the

developer's point of view, in many ways does not meet the requirements and operation sequences in

practice. Countermeasures are expensive trainings. In a nutshell: Instead of making a device intuitively

usable, the operation is being trained and learned. Thus the product can later be operated reliably by

well-trained core staff and in standard functions. Personnel changes, the use of rarely used features or

advanced configuration options, however, lead to operating errors, declining productivity and high cost.

Indirectly, the uncertainties and training expenses are reasons for customers and users to

consider the introduction of new machine models as extremely complicated and to delay it in practice.

The manufacturer should be encouraged to reconsider the optimization of its human machine interface,

at the latest when facing these indirect effects and economic concerns.

In addition, the widespread use of attractive touch display interfaces in consumer electronics

creates subconscious expectations of users. The demand on functionality, ergonomics and an attractive

“look and feel” is increasing and makes HMI development more challenging.

It is a fact that, in many cases, manufacturers of industrial applications do not have the

necessary experience to develop an intuitive and appealing touch interface operating concept. The

following three aspects appear to be vital:

• The design of operating surfaces for touch interfaces is subject to its own rules. A

transfer of usability concepts from PC software is not possible – even when using large

Page 7: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 7

touch displays. The often tried 1:1 reproduction fails regularly. The involvement of

usability experts, specialized tools and new development processes is essential.

• Equipment and machine operators need a comprehensive, highly efficient operating

concept that is close to applied practice. The users, in particular, have to be involved in

the development process.

• The design of innovative touch interfaces requires intensive interdisciplinary and often

multi-site collaboration of application specialists, ergonomists, design engineers /

computer scientists and users in an iterative, user-centered process framework. New

methods and systems have to be implemented for the team work (collaboration

infrastructures (DSD) in order to make this cooperation efficient and to further reduce

the development time despite the complexity of the project.

The proposed Modern Human Machine Interface (HMI) with Touch Display will look to these

conditions and find ways, methods for a successful development of innovative touch interfaces. There

are best practice approaches, proven and tested methods and tools that development managers and

product managers can use to prepare their own processes and development staff for new challenges.

This proposal presents methods, processes and software development tools that have proven to

be successful in the development of award-winning HMI projects. The key success components of this

approach are the early and intensive involvement of users in the development process and the parallel

and agile development of interface design and software. The installation of an infrastructure for

distributed development (Distributed Development Platform) allows for an efficient division of labor

between specialist teams for the development of hardware, software and user interfaces.

A&M offers support for the development of touch interfaces tailored to your requirements -

from developing an interaction concept to establishing a development platform to embedding an

optimized control system into an ergonomic user interface achieving highest standards in design and

usability. To this end A&M has developed an innovative procedure model based on best practice

experience.

c. PHASES

The location where the development and the planning stage is done at the head quarters in

New York, USA because it is located close to the technical university and pursues a lively national and

international knowledge exchange. It transfers promising topics from research and academics to

industrial-standard applications, products and approaches.

Page 8: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 8

Our subsidiary office in Talamban, Cebu City, Philippines takes the responsibility for the support

in series for all diagnostic parts of the new infotainment system MMI-3G. This includes the Specification,

Analysis, Design and Operation of test systems as well as the Planning and Execution of tests. The tests

are executed on a diagnostic and flash test bench developed by A&M.

Coding and testing happens in Singapore because our test system is located in this subsidiary.

Simulations and tests during development allow us to detect errors in software functions quickly and

cost-effectively. Our integrated technologies provide various possibilities to reuse test cases from early

development stages at the Hi Level Test bench stands. Apart from turnkey simulation and test solutions

we develop interesting operational concepts in our own test laboratories. Benefits for our customers:

We relieve them from test execution and enable them to meet the Verification and Validation

independence required in safety-critical developments.

Based on modern software products, cost-effective commercial-off-the-shelf (COTS) hardware

and state-of-the-art test system A&M develops customized solutions for test automation. Thus our

customers achieve a maximum of process safety, respond quickly to customer requirements by means

of short turn-around-times and accelerate the entire development process.

III. IMPLEMENTATION

Knowing different studies in distributed software development experienced the proposed

Modern Human Machine Human (HMI) with Touch Display project has individually been confronted with

the weaknesses of traditional development procedures described above, seeking answers to questions

such as:

• How do we involve the customer's product experts and the product end users in the

development of the interaction concept for an interface as early as possible?

• How can we achieve as many intermediate steps as possible in the development being

presented to users with their feedback flowing into the ongoing development of software and

HMI?

• How can development cycle times in projects of touch interfaces be reduced and undesirable

developments be avoided?

• How can the communication be optimized between the project participants, e.g. between

application developers and GUI designers or customers and developers?

Page 9: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 9

• How can we keep a project open for alterations and variations?

Both the headquarters and subsidiary offices recognized the need for new approaches and

procedure models. Based on this motivation, they established a partnership for innovative touch

interface software solutions. Since then, A&M have developed a process model based on their different

competencies as well as on existing and improved tools and processes.

The basis has already been established with methods such as:

1. Iterative and incremental development processes, Middleware, agile development models, the

user-centered design process (UCD), rapid prototyping and usability tests

2. Object-oriented system development process, using Unified Modeling Language (UML) and

Unified Process (UP) specification languages and

3. Incorporation of the procedural approaching proposed by PMBOK, expanding the management

areas indicated.

Incremental development

Incremental development is based on the idea of developing an initial implementation, exposing

this to user comment and evolving it through several versions until an adequate system has been

developed (Figure 1.1). Specification, development, and validation activities are interleaved rather than

separate, with rapid feedback across activities.

Incremental software development, which is a fundamental part of agile approaches, is better

than a waterfall approach for most business, e-commerce, and personal systems. Incremental

development reflects the way that we solve problems.

We rarely work out a complete problem solution in advance but move toward a solution in a

series of steps, backtracking when we realize that we have made a mistake. By developing the software

incrementally, it is cheaper and easier to make changes in the software as it is being developed.

Each increment or version of the system incorporates some of the functionality that is needed

by the customer. Generally, the early increments of the system include the most important or most

urgently required functionality. This means that the customer can evaluate the system at a relatively

early stage in the development to see if it delivers what is required. If not, then only the current

increment has to be changed and, possibly, new functionality defined for later increments.

Incremental development has three important benefits:

1. The cost of accommodating changing customer requirements is reduced. The amount of analysis and

documentation that has to be redone is much less than is required with the waterfall model.

Page 10: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 10

2. It is easier to get customer feedback on the development work that has been done. Customers can

comment on demonstrations of the software and see how much has been implemented. Customers find

it difficult to judge progress from software design documents.

3. More rapid delivery and deployment of useful software to the customer is possible, even if all of the

functionality has not been included. Customers are able to use and gain value from the software earlier

than is possible with a waterfall process.

Although incremental development has many advantages, it is not problem-free.

Concurrent

Activities

Figure 1.1 Iterative and incremental development processes

Middleware

The components in a distributed system may be implemented in different programming

languages and may execute on completely different types of processor. Models of data, information

representation, and protocols for communication may all be different. A distributed system therefore

requires software that can manage these diverse parts, and ensure that they can communicate and

exchange data.

The term ‘middleware’ is used to refer to this software—it sits in the middle between the

distributed components of the system. This is illustrated in Figure 1.2, which shows that middleware is a

layer between the operating system and application programs. Middleware is normally implemented as

a set of libraries, which are installed on each distributed computer, plus a run-time system to manage

communications.

Outline

Description

Specification

Initial

Version

Intermediate

Versions

Final

Versions

Development

Validation

Page 11: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 11

Coordinated

Operation

Information Exchange

and Common Services

Logical

Interaction

Physical

Connectivity

System 1 System 2

Figure 1.2 Middleware in a distributed system

The proposed Human Machine Interfaces (HMI) with Touch Display will incorporate COBRA as a

middleware of the development team. CORBA is a well-known specification for a middleware system

that was developed in the 1990s by the Object Management Group. It was intended as an open

standard that would allow the development of middleware to support distributed component

communications and execution, plus provide a set of standard services that could be used by these

components.

Figure 1.3 The structure of a CORBA-based distributed application

Application Components

Middleware

Operating System

Wireless Networking

Application Components

Middleware

Operating System

Wireless Networking

Page 12: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 12

This proposes that a distributed application should be made up of a number of components:

• Application objects that are designed and implemented for this application.

• Standard objects that are defined by the OMG for a specific domain. These domain object

standards cover finance/insurance, electronic commerce, healthcare, and a number of other

areas.

• Fundamental CORBA services that provide basic distributed computing services such as

directories, security management, etc.

• Horizontal CORBA facilities such as user interface facilities, system management facilities, etc.

The term horizontal facilities suggests that these facilities are common to many application

domains and the facilities are therefore used in many different applications.

Procedural communication in a distributed system is usually implemented using remote

procedure calls (RPCs). In RPC one component calls another component as if it was a local procedure or

method. The middleware in the system intercepts this call and passes it to a remote component. This

carries out the required computation and, via the middleware, returns the result to the calling

component. It communicates with the middleware, which is responsible for ensuring that messages are

passed to the appropriate system.

Figure 1.4 User Centered Design

The proposed distributed project based also of user-centered design (UCD) in (figure 1.4) is a

type of user interface design and a process in which the needs, wants, and limitations of end users of a

product are given extensive attention at each stage of the design process. User-centered design can be

Page 13: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 13

characterized as a multi-stage problem solving process that not only requires designers to analyze and

foresee how users are likely to use a product, but also to test the validity of their assumptions with

regards to user behavior in real world tests with actual users.

The proposed distributed project will also incorporate Unified Modeling Language (UML) it is a

recent synthesis of object-oriented languages. It includes a set of consistent diagrams that can be used

to describe and communicate system requirements of a software, project and code. It can be used to

provide insights of the project vision and project requirements of different abstraction levels and its

artifacts provide a common view that works as basis for the collaborative project.

Modeling provides three key benefits:

• Visualization

• Clear communication

The UML focuses primarily on specifying and documenting system requirements and projects. It

is important to keep using UML during the development process. If used in the initial phases only and do

not connect UML artifacts to build and test activities, it is possible to lose control of the project.

The project manager must establish a structure for the precise can among the team, and then

insist with its usage. The implementation of a modeling language of standard object is a component of

this structure. UML provides a number of static and dynamic diagrams that specify not ambiguously the

system and its behavior. It deals about a precisely and clearly way to capture and share requirements.

Thus UML, if used properly, provides documentation that eases the communication with clients as well

as with team members.UML can be use with all processes throughout the development lifecycle and

across different implementation technologies.

Due to client’s demands that always look something more, better and faster. We face the need

of creating more complex software each time. The presence of highly trained developers is not enough.

It is necessary an organizational guide a process. It is necessary a process that integrates diverse

development facets. UP (Unified Process) is one of the solutions presented for these problems.

UP is a generic framework of a development process, based on components and it uses the

entire UML definition. UP is guided by use cases, centered in the architecture, interactive and

incremental.

Page 14: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 14

Process model for the successful development of modern touch interfaces in industrial applications

a. Development of an interaction concept (workshop) and early prototyping

The requirements for functionality and display have to be worked out at an early stage and have

to be constantly reviewed by an iterative and incremental further development of the HMI.

Consequently, graphical and interactive touch panels meet the experiences and needs of the users in

the daily practice and in the best possible way.

For this purpose, the following approach is recommended:

At the beginning of the development, a joint workshop takes place involving all stakeholders and

representatives of customers and users. The goal is the definition of use cases and based on this the

development of a workflow-oriented interaction concept. It is good practice to design the essential

elements with paper and pencil and or on a flip chart and to discuss the necessary interaction

mechanisms with all stakeholders. Participation of relevant disciplines ensures that all aspects are taken

into account.

Both the fundamental interaction interfaces and the basic layout of the application can be

derived from the jointly developed drafts. Experience shows that the main functionalities and operating

controls can be defined in appropriately moderated workshops.

In the course of the project, the participant groups of the workshop stay involved. In this way,

intermediate results of the touch interface development are presented to users again and again.

Embedded in mockups (reduced function models), the practical use can be simulated and the usability

can be optimized with interactive sequences of screen designs - long before a functional device

prototype is available. The development proceeds iteratively and incrementally, user feedback is taken

into account at the earliest possible stage minimizing cost and complexity of changes.

b. Parallel development of functional software and GUI design

The second component of the process model is crucial for the efficiency of the development

project. Due to the incremental development of the GUI with active user participation, priorities are

changing in the interface development. Unlike in classical technical and functional designs, the user sets

the priorities:”The focus is on the operation flow, not the function implementation“.

But isn't the software development process suffering from the stepwise optimization of the user

interface in user discussions? No, because the consequent use of new software development tools such

as the GUI description languages XAML (Microsoft.NET), MycroXAML (OpenSource, C++), SwiXML

Page 15: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 15

(OpenSource, Java) and QML (Nokia Qt, C++) allows for the design of the user interface being almost

completely decoupled from the development of the functional software. Both development processes

can thus be completed in parallel.

The software developers are working on the hardware functionality and interaction based on

the jointly developed interaction concept, while the GUI designers and usability experts refine the user

interface in close consultation with the users based on the interaction model. They utilize their specific

tools such as Adobe Photoshop to create screen designs pixel by pixel as well as MS Expression Blend to

create dynamic and interactive prototypes. Merging of function and interface design is carried out using

the page description languages - and can thus be parameterized in one file. In traditional software

development processes, it has been complicated to transfer functionalities from one special user

interface to another. This can now be done by the designer via parameter settings on user request - the

underlying function call in the software migrates automatically.

Using GUI description languages, designers and developers have a common basis for the first

time and can develop functions and layout simultaneously without impeding one other. Professional

WYSIWYG editors for these languages give the designers the freedom for design and enrichment with

interactive process steps without requiring them to take care of the code. This results in a great

advantage for the rapid HMI development, separated by design and function. The user interfaces can be

configured with flexibility without software modification. The realization of product variants, such as

country-specific or customer-specific versions, can easily be implemented. This applies also for different

operating system platforms.

c. Infrastructure for a linked, agile development (Distributed Development Platform)

The procedure model described in this paper requires a very intensive communication within

the project team, which is larger than in traditional development processes, due to its incremental and

interactive development stages and close involvement of users and designers. The partially parallelized

development lines cannot be successful without the following conditions: permanent exchange of

information, access to current software versions and total transparency of the project progress for all

parties.

Good intentions alone do not lead to the desired communication. In most cases, the

participation of users, hardware and software specialists as well as external service providers requires

the team to cooperate nationwide or even internationally. Such development projects are only

successful when using appropriate software infrastructure.

Page 16: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 16

The Distributed Development Platform, developed by A&M, is a comprehensive development

platform that can be used worldwide with defined access rights and is adapted to the respective project.

This infrastructure supports the project team with the following functions:

Role-based access rights

• Ticketing system for a task management, traceable without gaps. Change requests and their

connection to the code versions, in particular, can reliably be recorded, communicated, and their

completion be monitored

• Project management functionalities (project plan, times, milestones, progress, etc.)

• Source code management with configuration management for versions including their history

• Build management and automatic generation of documents to facilitate the access of all project

participants to the current software version

• Integration of automated regression tests, in particular for HMI software (variants, multilingualism,

test cases for typical interaction sequences)

The platform allows for short cycles and thus a modern, agile software development. The HMI

build process is executed automatically by the push of a button or by being triggered through the setting

of a change; hence, the various development teams have always the latest software version available.

The involvement of customers and users is possible at any time. The development process reaches an

extremely high level of transparency.

The possibility to include automatic regression tests directly into such an infrastructure is

crucial, in particular for agile HMI software development, in order to continuously validate the

increasing development functionality. Tools such as Google Test offer HMIs the possibility to simulate a

virtual user. Here, user actions are recorded and reused as automatic test cases. Large parts of software

and HMI can be tested in this way, efficiently and completely automated. For Qt-based GUI applications

it is possible to perform automatic text length verification for all GUI elements and thus to review all

languages at the push of a button.

IV. SUCCESS CRITERIA

Manufacturers and project managers who want to differentiate their industrial products

through intuitively operable touch interfaces and outstanding GUI designs have a best practice approach

with the process described above. It covers the essential requirements for an efficient, parallelized

development process via its tool architecture.

Page 17: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 17

Figure 1.5 Examples of the development process of a touch interface for a testing device, the original

draft, a prototype version and the final product version of the user interface.

With its interaction concept, it creates the basis for a team-wide understanding of the practical

application and ensures the early and continuous involvement of users and usability experts.

Experience shows that the project teams of the manufacturers need to apply new ways of

working and new tools. The early and intensive involvement of users, design and usability experts

Page 18: Modern Human Machine Interfaces with Touch Display

Distributed Software Development 2013

Final Project Page 18

require new thinking and methods, utilizing elements of agile software development. Accordingly, the

intensive coordination between all project stakeholders enforces the use of effective tools for

distributed development - not at least to achieve the necessary efficiency and transparency in the

overall process.

Such fundamental changes in tools and methods require manufacturers to provide a

professional management of this change process in order not to overstrain their employees. Most

development projects suffer from time constraints and high pressure to succeed.

Therefore, manufacturers should build a team with experienced external specialists and open-

minded internal staff to develop touch interfaces in the first projects. In doing so, it is easier to learn the

new ways of working and to gain practical experience with these methods and tools.

Factors of success for the HMI development process:

• Workflow-oriented interaction concepts are designed, involving the end-user. From an early

stage onwards, they are verified using interactive prototypes and mock ups.

• Agile, parallel development of interface design and software through the effective separation of

design and function.

• Special infrastructure for distributed development to secure the efficient cooperation of all

teams of experts involved.

• A good project management approach based on PMBOK which includes the unified process (UP)

and UML language, for e-business software development in a physically distributed environment

to ensure the quality, standard of the proposed HMI distributed project.