Georges Hiraclidès is Director of Projects and responsible for Bull’s workstation offerings.
In 1989, he contributed to the development of the integrated radiotelephone on board the Atlantic TGV high-speed train. He then went on to work in areas including performance analysis applications for major systems, Geographic Information Systems and multimedia systems.
In 1996, he devised the Graal2 approach, which he will be drawing on in particular in his capacity as Technical Director of Integra Project Services, an Internet start-up.
Taking the human factor into account in the process of developing interactive systems has not always received the attention it deserves. And yet the user interface plays a crucial role in the success of projects by setting the conditions both for change management and the subsequent adoption of the tool. Over and above the ergonomic issues, it makes a vital contribution to users’ productivity. I remember one project I was involved in, where analyzing user activity enabled us to gain nearly a man/year of productivity, simply by changing a browsing function that worked via a menu and dialogue box into a rapid-access operation using short-cuts.
Today, the latest ergonomic and graphical options offered by Web 2.0 technologies are making it possible to align the user interface to users’ needs, as well as to application layers and productivity requirements. But to achieve this, restructuring the user interface must be treated as a project in itself, most notably by using a specific methodology, like Graal, and by making the choice of technologies subordinate to solution architecture and business imperatives.
The way technologies have evolved has always been seen at the workstation level. From the text-only screens of the mainframe era through to the current-day ‘rich client’3 interfaces (so-called ‘Web 2.0’) users have seen various application presentations.
Sometimes, progress in application architectures has proved beneficial to users, as for example in the ‘thick client’ era when workstations were more independent and had more capabilities, offering both a greater number of options and a higher level of ‘usability’.
But sometimes, users have been sacrificed. For example, when ‘thin client’ Web 1.0 technology became widely available this was often accompanied by considerable steps backwards ergonomically speaking. It was only because Marketing departments demanded them that priority was given to attractively designed home pages (using flash technology), but these all too often blatantly ignored users’ needs. Just ask yourself how often you have clicked on ‘Skip intro’: very ‘flashy’ but also very far removed from considering the ergonomic needs of Internet users! Not only had the client workstation lost its autonomy, but in the early days of the Internet (now known as Web 1.0) the way applications were presented was far from advanced in technological terms, and was not the subject of initiatives that could be described as being genuinely innovative.
Just like testing, user interface development had become the poor portion in IT projects. For all these reasons, many organizations preferred to keep their ‘thick client’ architectures in place, which although less elegant, sometimes less efficient, and above all more demanding in terms of system resources, were much better suited to meeting productivity and ergonomic requirements.
Today, however, we are starting to pay the price for this neglect: expensive training, difficult change management, poor uptake of tools, development of bad habits or parallel practices, errors and risks taken in using systems, productivity gains well below expectations…
A critical factor in delivering a successful project
In every kind of organization, public or private, demands for rationalization, flexibility and adaptation of information systems have led to major projects to rebuild applications. The implementation of new applications is an extremely significant challenge, because of the sheer size, geographic spread and productivity demands from the organizations involved. It is increasingly becoming apparent that the quality of the user interface is a key factor for the complete and rapid appropriation of tools by users, and ultimately the overall success of projects. What is more, we see IT departments take the right decision and approach the user interface problem as a totally separate project: either a sub-project to be undertaken at the same time as a development project for a new application, or as part of an independent approach to updating all application interfaces.
Nevertheless, the current state of new technologies shows that people are starting to take some notice of this renewed interest in the user interface. Web 2.0 tools effectively combine all the key qualities needed to successfully achieve the goals of a user interface restructuring project: improving productivity and autonomy for users by superior ergonomics, getting across the image of a modern IT system to internal users, reducing development, implementation and maintenance costs, and finally making the most of existing systems. And even if they do not always provide the most appropriate response in terms of a user interface, they at least have the merit of stimulating some discussion around the subject...
A genuine project
When a serious user interface design project is launched, it has to follow the same rules that apply to the development of the actual application: so it should be based on a methodology that enables the real need to be understood and described. The solution architecture can then be designed, and the most appropriate tools to deliver it can be chosen... all within the framework of structured and industrial process.
At Bull, we use the Graal methodology for this type of project. The process involves analyzing the task that the user will have to carry out (the ‘prescribed task’), before breaking it down into a scenario (mapping the dynamics of the man-machine dialogue) which enables us to define the most appropriate interfaces on the one hand, and on the other, the necessary interactions with the application layers. In this way, starting from the business need, we can build an interface that corresponds to users’ expectations, constraints and ways of working, without in the meantime completely undermining the related processes in the application itself. The Graal method effectively enables us to work in very close proximity to the user, while at the same time automating the design process. What’s more, it very rapidly delivers results that can be shared with ‘front-line’ users, which provides real added value in terms of usability.
Using SOAs to deliver more effective user interface solutions
The ARCH model – on which our human-machine interface solutions are based – enables users’ needs to be analyzed. It consists of a presentation component (the visible part); a component that adapts the presentation (that handles events related to user actions in the presentation); a dialogue component (which implements the dynamic of the dialogue between the user and the machine) and finally the application interface from which the applicative services needed for the interface to operate will be invoked.
Most importantly, the flexibility and modularity offered by SOAs (Service-Oriented Architectures) makes it very easy to ‘uncouple’ the interface in this way from the functional layers, and so make a clear distinction between the ‘user logic’ and the ‘application logic’.
Technologies designed to meet users’ needs
This type of architecture makes it possible to select the exact tools needed for the implementation. Unfortunately, once again fashion all too often wins out over a proper evaluation of how appropriate a particular technology may be. The variety of Web 2.0 tools, the range of things they can do, as well as their current limitations should be the subject of careful deliberation.
Three main types of application are available: WebOS4, RIA5 (Rich Internet Applications) and RDA6 (Rich Desktop Applications).
WebOS applications reproduce a traditional work environment in a Web browser, which can make the process of change management easier. Systems administration (versioning, security…) is centralized, and therefore simplified, but there are few learning points from developers’ real-life experiences.
RIAs, such as Ajax7 and
Smart Client8 (Flex, Silverlight…), considerably enrich the graphical and ergonomic possibilities of Web applications, but they still need to be used advisedly. So, with the difficulties of developing in Ajax, which is very lightly tooled, and the constraints of Smart Client, which draws for the most part on proprietary languages, the choice of RIA requires a good level of expertise. We believe that Ajax and Google’s new GWT9 (Google Web Toolkit) are the best bets.
Finally, RDAs function without a browser, and this gives them extra flexibility, power and the option to work off-line, but necessitates an operating environment, which is often proprietary.
To choose the best technical option, we not only need to refer back to the solution architecture defined at the outset, but also to take into account the kind of application concerned and the way it will be used. Is it to be a tool for internal use or a B2B tool – in which case users and their habits are well known and training can be considered – or a B2C application, which must remain intuitive and not expect any prior knowledge or understanding from the user? Is it a transactional, a decision-support or a collaborative working tool? What level of loading and what performances are expected? Under what circumstances will it need to evolve? Due consideration should be given to all these questions before finalizing any choice of technology.
Towards an MDA approach
The ideal – and this is the next logical step – would therefore be to move directly from the solution architecture to the code, generating it automatically via an MDA (Model Driven Architecture) approach, for example via NovaForge™, Bull’s structured and industrial Open Source development platform. In order to avoid being tripped up by ‘screen generators’, it can be useful to draw on a library of graphical components, enriched as successive projects are completed, and apply general ergonomic principles. These complement the graphical charter of usage rules that are shared and set in stone (types of fields used, keyboard shortcuts, structuring of screens, navigation modes...) facilitating user uptake and streamlining of interfaces at application and even corporate level.
It’s clear that usability issues inevitably point towards thinking about business considerations first, ahead of technical factors. So the main problem with restructuring a user interface comes down to getting interface designers and computer scientists to talk to each other. Which is why Bull has brought together a multi-disciplinary team who use the Graal methodology to help them develop solutions that respond to users’ needs for a tool that works well for their particular task, as well as to the needs of contracting authorities who want to improve productivity at the same time as effectively managing the change, and IT Departments concerned to rationalize their systems and make the most of previous investments.
1 Or Man-Machine Interface (MMI).
2 Graal, in search of an approach to developing the user interface, published by Angkor 1996
3 Rich Client: technology that enables the user interface to be displayed using identical ergonomics to those found in office applications.
4 WebOS: literally, an operating system based on Web 2.0 technologies. WebOS solutions simulate remote operating systems, accessible via Web browsers.
5 RIA: Rich Internet Application. Generic term designating technologies used to build ‘rich client’ interfaces that require a Web browser to function.
6 RDA: Rich Desktop Application. Generic term designating technologies used to build ‘rich’ client interfaces that do not require a browser to function.
8 Smart Client: A group of RIA technologies, different from Ajax. They include Flex (Adobe), Silverlight (Microsoft) and JavaFX (Sun).
9 GWT: Google Web Toolkit. Toolbox for building Java-rich interfaces and transforming them, using a compiler, into Ajax technologies.