Sophie Dupuy-Chessa
email: sophie.dupuy@imag.fr

Quality in Ubiquitous Information System Design

Keywords: Quality, design, models, process, languages, tools I

Information systems become ubiquitous. This opens a large spectrum of the possibilities for the end-users, but the design complexity is increasing. Therefore insuring quality during design is more than ever a challenge. In this article, we study this challenge by identifying the specificities of ubiquitous computing design and by considering the influence of these specificities on the quality of the various aspects of information system design (models, languages, processes and tools). For each aspect, we discuss its requirements on quality and present related works valuable for the definition and the evaluation of ubiquitous information system design quality.

INTRODUCTION

Nowadays, technological progresses such as the microprocessors and sensors miniaturization, and the communication technologies explosion, allow end-users to access information everywhere at any time and in a personalized manner. In other words, information becomes instantaneous, universal and ubiquitous. This opens a large spectrum of the possibilities for the end-users: they can see their bus timetable on their mobile phone; they can see on special devices contextualized information while visiting a museum; etc. For instance, simply considering the new human-computer interaction possibilities may induce business evolution [START_REF] Godet-Bar | When interaction choices trigger business evolution[END_REF]. Therefore the design complexity is increased by adding parameters like the devices, the location, the user characteristics... As mentioned by [START_REF] Palen | Beyond the Handset: Designing for Wireless Communications usability[END_REF], the difficulty to design systems has been moved up. So it becomes more important but also more difficult to achieve quality in the design of information systems: insuring quality in design is more than ever a challenge.

However it is trivial to define what is quality in design. If we consider the quality definition given by the ISO standards, quality is "the totality of features and characteristics if a product or service that bear on its ability to satisfy stated or implied needs". Therefore we need to understand requirements for quality in design before expressing its features or characteristics. This is the goal of this article: identifying requirements and some characteristics for achieving quality in the design of ubiquitous information systems so as to better understand the underlying challenge.

We consider that information systems design is driven by the method used to develop the system. A method is structured by four inseparable and complementary components [START_REF] Rieu | Ingénierie des Systèmes d'Information[END_REF]: models representing facets of the system, languages (by which models are constructed), process(es) guiding the development activities, and tools for allowing and facilitating the use and setup of processes, models and languages. This article studies for each component of a method (models, languages, processes and tools) what are quality requirements and characteristics considering new needs introduced by ubiquitous information systems.

The remainder of this paper follows the structure of our study. Section 2 presents the specificities of ubiquitous information system design while the other sections describe how these specificities can be taken into the method components. Each section presents the quality aspects for one component: it discusses the requirements concerning quality and presents related works valuable for the definition and the evaluation of the method component quality. Section 3 studies quality for models; section 4 present the quality aspects of languages; section 5 discusses processes and section 6 presents tools supporting a quality approach. Finally we conclude by summarizing our point of view on quality in ubiquitous information system design.

II. SPECIFICITIES OF UBIQUITOUS COMPUTING DESIGN

A. A large variety of models

Models are widely used in information system development. They are used to communicate with stakeholders, to analyse the problem, to document the system, to generate code etc. Generally software engineers use UML models. But considering ubiquitous information systems, many other models are used to take into account specific concerns such as the interactive devices [START_REF] Dubois | ASUR++: a Design Notation for Mobile Mixed Systems[END_REF] or the context of use [START_REF] Henricksen | Modelling and Using Imperfect Context Information[END_REF].

Their corresponding languages are still research work.

There is no consensus on the concepts that they must include nor on their notations. For instance, there are at least three different languages in the human-computer interaction domain, in order to represent the interaction modalities (vocal, gestural, etc) and their supporting devices in the case of systems mixing the virtual and the real worlds. So there is a clear need to better understand ubiquitous computing concepts so as to propose relevant modelling languages.

B. A large variety of designers and stakeholders

Many different people are involved in the design. Mainly, there are designers who realize models and there are stakeholders, sponsors or system end-users who read them.

With ubiquitous information systems, stakeholders and end-users are more involved in the design as the context of use (organisational, technical etc) is becoming more complex: they may be used to different interactive devices (mobile phone, PDA, computer etc); they may have different uses; they may have different requirements, which are sometimes too futuristic for the actual possibilities of ubiquitous computing. These various profiles must be taken into account while designing a new ubiquitous information system.

Designers also have different profiles. They may be specialists in ergonomics, human-computer interaction, security… They have neither the same education, nor the same experience in modelling. So they do not model in the same manner. So it is not any more possible not to consider the variety of people while proposing a model.

C. Immature specific processses

The introduction of new aspects (context, user characteristics…) has led to the apparition of new models, but also sometimes to new processes for identifying and specifying these new aspects. For instance, [START_REF] Nigay | Mobile and Collaborative Augmented Reality: A Scenario based design approach[END_REF] proposes a process for choosing the human-computer interaction of collaborative systems that merge information from the virtual and the real worlds. This kind of proposal is a step forward managing the design of ubiquitous information systems even if the proposed processes are still immature and need to be tested in larger applications.

Many aspects remain to be supported by appropriate processes. Most of the time, designers have no methodological help for using or realizing ubiquity-oriented models.

Anyway specific processes must be considered while designing an ubiquitous information system. But for the moment, they are not integrated into classical software development methods. It may be a long and overly complex task to incorporate them. Moreover each domain (humancomputer interaction, software engineering etc) has its specialists with their specific practices. Proposing a global process for ubiquitous information systems may not correspond to every specialist's uses. So instead of building global rigid processes, it seems more appropriate to offer a way to build processes from existing ones [START_REF] Ralyté | An Approach for Method Reengineering[END_REF], with the following consequences that 1) every domain specialist can keep his practices; 2) new processes can be easily added when they are identified.

III. QUALITY IN MODELS

A. Considering the large variety of models users

Involving stakeholders or end-users in the design is a necessity, but it is also a challenge. They are generally unused to models. So limiting the number of concepts used to model may be appropriate for them. For instance, the concepts used in a class diagram realized for stakeholders may only contain classes and associations for explaining them their domain. For developers, designers may use composition, inheritance to model the computerized solution specification. So models must be adapted to their audience.

Even designers do not use a notation in the same manner. Purchase et al. [START_REF] Purchase | UML Class Diagram Syntax: An Empirical Study of Comprehension[END_REF] have performed an experiment to compare few UML notations. It appears that experts and novices do not prefer the same graphical symbol to represent the same concept (Fig. 1).

Figure 1. Variation in symbol choices

Finally, we can consider that all the people involved in design do not have the same cognitive abilities. It has already been shown by [START_REF] Siau | Improving the quality of conceptual modeling using cognitive mapping techniques[END_REF] that human cognition is related to modelling and that cognitive techniques can be used in conceptual modelling. For instance, achieving the correspondence between the model and the audience's interpretation of it, is a matter of interpreting a meaning with the lowest possible cognitive effort. With the increasing variety of people involved in modelling, cognition is more than ever required to adapt models to their audience's cognitive abilities.

To summarize, the models effectiveness is influenced by several factors among those: the analysts' own modelling experience and her cognitive abilities and interpreters' experience with conceptual models [START_REF] Shanks | Research commentary: Information Systems and conceptual modeling: a research agenda[END_REF]. Therefore model quality depends on the users' point of view (designers, endusers, developers …).

B. Improving the quality of new models

The quality of models proposed for ubiquitous information systems is very important to achieve a good design. Generally, the quality of models concerns the correctness of the syntax and the semantics of models.

The syntactic quality relates the links of a model to its language constructs without considering the meaning. The syntax can be checked inside one model or between models. For example in UML, a class must be defined only once in a class diagram. If we also consider domain specific models, some of the consistency rules have been specified: for instance, in an ASUR model [START_REF] Dubois | ASUR++: a Design Notation for Mobile Mixed Systems[END_REF] that designs an interactive solution, a computerized object, which correspond to classes in UML, must also be specified only once.

The semantic quality indicates the link of a model to its domain or to the knowledge of the domain specialists. The complexity of ubiquitous information systems requires

Preferred by experts

Better for identifying errors for novices Variation a Variation b simulation, proof or model-checking to achieve semantic quality. But the complexity of these techniques often limits them to specialists. At least, it is necessary to check the consistency with other models. For instance, the interactive techniques choices specified in an ASUR model must be relevant for a user task.

C. Identifying generic charcteristics of models

The model-based approach is more and more used in different domains so that limiting the study of quality to UML models [START_REF] Unhelkar | Verification and Validation for Quality of UML2.0 Models[END_REF] is no longer sufficient. Therefore quality in design requires defining characteristics for many different models, when possible characteristics must be generic enough to be applied to any kind of models.

In particular, it is time to consider the cognitive abilities of model audience so as to define ergonomics of models. Ergonomics is the scientific study of the relationship between human and its means, its practices and its working environments. In the human-computer interaction domain, requirements are often expressed in terms of usability. Usability for an interactive system characterizes the capacity of the system to achieve its goals (achieve a correct result with a given quality) with efficiency, comfort and security. Usability is evaluated by ergonomic criteria. For instance, in [START_REF] Bastien | A validation of ergonomics criteria for the evaluation of the human computer interfaces[END_REF], the working charge criterion contains a property about the informational density, which specifies the importance of limiting the number of readable information at a given moment. If we consider design, such properties can be applied so as to obtain more readable models. Model usability can be defined as its capacity to allow users (designers, stakeholders etc) to achieve her goals with efficiency, comfort and security. The objective is to allow designers to produce usable models, independently from their underlying language, from a human user point of view.

D. Defining quality of models

There is little agreement among experts to define what makes a "good" model. If we consider the definition of quality given by ISO 9000 (cited in the introduction), [START_REF] Woody | Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions[END_REF] proposes to define the model quality as "the totality of features and characteristics of conceptual model that bear on its ability to satisfy stated and implied needs".

In the ISO standard for software product quality, software quality is decomposed into six quality characteristics, which are further divided into twenty-four quality sub-characteristics, which are measured by one hundred and thirteen metrics.

Considering models as a particular type of software product, the ISO structure must be applied to model quality [START_REF] Woody | Theoretical and practical issues in evaluating the quality of conceptual models: current state and future directions[END_REF]. Model quality must be defined by a set of characteristics such as consistency, precision or aesthetics, which answer to specific purposes. Of course there are relations between characteristics. For example, in [START_REF] Lange | Managing Model Quality in UML-based Software Development[END_REF], the first level of the model quality is the primary use of models, either development or maintenance. The primary uses are decomposed into purposes: for the development primary use, the purposes are communication, analysis, prediction, implementation and code generation. For each purpose, the required characteristics are specified. For instance, communication requires evaluating complexity, selfdescriptiveness, conciseness and aesthetics. Complexity for instance is defined as the effort required for understanding a model. After selecting some quality characteristics, a set of metrics is identified to measure characteristics. For complexity, some metrics are the depth in inheritance tree or the number of classes per Use Case (Fig. 2). In the previously presented approaches, quality is viewed through a tree-structure. The root concept is the global quality, which is divided info different aspects of the quality. These aspects can themselves be refined into more specific aspects. The problem is that relations are often based on judgment. For instance, ISO and IEEE have different hierarchies of quality attributes for software quality.

Another approach to structure model quality is based on the study of signs processes. The corresponding frameworks are then called semiotic. They have been initiated by Lindland [START_REF] Lindland | Understanding quality in conceptual modeling[END_REF] to evaluate conceptual models in general. In [START_REF] Lindland | Understanding quality in conceptual modeling[END_REF], quality is detailed into syntactic, semantic and pragmatic aspects. The syntactic quality verifies how well a model corresponds to its language constructs without considering the meaning. Its goal is to achieve syntactic correctness. The semantic quality indicates the link of a model to its domain or to the knowledge of the domain specialists. There are two semantic goals: validity and completeness. Validity means that all statements of the model are correct and relevant to the problem. Completeness means that the model contains all the correct and relevant statements of the domain. Finally the pragmatic quality relates to the interpretation by the model audience. Its goal is comprehension. This framework is more than a theoretical proposal: it has been validated by an empirical study [START_REF] Moody | Evaluating the Quality of Information Models : Empirical Testing of a Conceptual Model Quality Framework[END_REF] and it has given rise to numerous complementary works. For instance, [START_REF] Lindland | Understanding quality in conceptual modeling[END_REF] has been extended by Krogstie et al. in order to detail the pragmatic quality [START_REF] Krogstie | Integrating the Understanding of Quality in Requirements Specification and Conceptual Modeling[END_REF][27] (Fig. 3). The pragmatic quality depends on the model users. So there is social pragmatic quality for stakeholders, physical quality for modellers and technical pragmatic quality for technical actors (modelling tools). There is also the organizational quality for measuring if the model fulfils the modelling goals, and the empirical quality, which comprises comprehensibility matters like readability or lay-out. The semiotic frameworks have the interest of representing the modelling context and linking the quality with it. In the case of ubiquitous information systems where many models and the variety of the audience must be taken into account, the semiotic frameworks are particularly interesting: they consider any kind of models, they do not limit themselves to the technical quality of models but also consider the model audience.

By considering characteristics such as comprehensibility, they provide a way of integrating ergonomics properties, which seem particularly important to us so as to improve the quality of any kind of models.

However they often stay at a theoretical level without proposing easily usable means to achieve quality. Identifying quality characteristics must be coupled with means to measure and to improve it.

Improving and Evaluating model quality

The evaluation of models can be specific to a problem such as the cognitive complexity. So problems are studied through user experiments or studies. The goal is to study the manner in which designers are developing models. This permits to propose preventive techniques such as modelling conventions, training, tools or adapted design processes.

The study of modelling defects is particularly interesting. [START_REF] Lange | Defects in Industrial UML Models -A Multiple Case Study[END_REF] studies 16 industrial UML models to explore the level of defect occurrences in industrial UML modelling and to identify factors that influence the quality of models. [START_REF] Bolloju | Assisting Novice Analysts in Developing Quality Conceptual Models with UML[END_REF] classifies the kind of modelling errors in order to help novice analysts in quality conceptual models. The identification of patterns of errors is a good way to identify the root causes of modelling defects and to change processes so as to prevent them from occurring in the future.

Another approach consists in realizing experiments in order to validate hypotheses on model quality. For instance, [START_REF] Manso | Empirical Validation of Measures for UML Class Diagrams : a Meta-Analysis Study[END_REF] realized experiments in an academic context to validate 1) the dependence between the structural complexity and size of UML class diagrams on the one hand and their cognitive complexity on the other hand; 2) the dependence between the cognitive complexity of UML class diagrams and their and modifiability. Empirical evaluation helps in understanding the cognitive aspects of modelling and in specifying or measuring model quality.

The most used approach to evaluate the quality of models is metrics. As for code quality, metrics provide a numerical evaluation of characteristics. For instance, in [START_REF] Lange | Managing Model Quality in UML-based Software Development[END_REF], after selecting quality characteristics, a set of metrics is identified. Some of them are traditional object-oriented metrics such as coupling (the dependence between classes) or cohesion (how closely the local methods are related to the local instance variables in a class), while a few of them are model-specific such as the number of crossing lines in a diagram. The metricsbased approach provides an abstract, fast but global evaluation of a model. problem-specific and the metrics-based approaches are complementary. The first one provides specific solutions such as the identification of typical errors while the second gives a global view of model quality. As mentioned by [START_REF] Lemaitre | A Combined Global-Analytical Quality Framework for Data Models[END_REF], both approaches are valuable and can be coupled to propose more easily applicable frameworks. By integrating the contributions of each approach, the authors expect 1) to augment the global approaches with metrics based on identified typical errors; 2) to associate to each typical modelling errors, correction transformations that can be suggested or automatically applied.

So the quality measure given through metrics is intended to be more relevant while some specific errors can be detected and corrected.

Evaluation is mainly considered for UML or Entity-Relationship models. For these models, it is the metrics-based approach, which is the most developed. The experimental approach is too often left aside. If it proposes a limited view of model quality, it can nevertheless give rise to usable solutions. However, evaluating the quality of models remains a challenge. As reported by J. Nelson, "evaluating the quality of conceptual models is still very much 'art' than 'science'" [START_REF] Nelson | Quality in Conceptual Modeling: five examples of the state of the art[END_REF]: the definition and the goals of model quality must be clarified; quality characteristics must be better structured so as to understand their links; metrics-based evaluations must be developed.

For domain specific languages, everything remains to be undertaken. Their models do not give rise to evaluations. In particular, finding typical errors or realizing user experiments are good ways in order to understand their limits. The lack of experiments is to be regretted because it is a way of making a language more mature by adapting modelling conventions, by improving training, by developing tool support or by proposing adapted modelling processes. However even before that, many works need to have their languages properly defined.

IV. QUALITY IN MODELLING LANGUAGES

As models are instances of languages, their quality partly depends on the quality of their modelling languages. This section identifies the requirements for modelling language quality in ubiquitous information systems and defines modelling language quality.

A. Studying the adequacy of languages

While new languages multiply rapidly to describe ubiquitous information systems, we may wonder whether they represent the relevant concepts. A language has semantics that express the meaning of its constructs. The concepts it features must be relevant for the domain. For instance, the specification of human-computer interaction in ubiquitous systems requires identifying the physical objects involved in the task. They can be either a tool used to realize the task such as the physical wand or a physical entity constituting the object of the task i.e., the object that the task acts on.

The relevant concepts must be expressed by the constructs of the language or the relationships between them. It is the syntax of the language. For example, ASUR [START_REF] Dubois | ASUR++: a Design Notation for Mobile Mixed Systems[END_REF] has two kinds of elements: components that figure out physical or digital entities, such as a pointer, a wand or a 3D volume, and relationships that connect these components. The syntax must be precisely defined in order to build models that respect the "grammar" of the language (abstract syntax).

But a language must also give the appropriate representation of its constructs (concrete syntax) so that the language users can easily learn its use. For instance, using a "stick figure" picture is a good way to represent the user construct: designers or stakeholders can easily understand what the representation means.

Moreover many languages are actually proposed for the various aspects of ubiquitous information systems. If we consider the human-computer interaction aspects, several notations have been proposed with the same goal: representing the way of interacting with physical everyday objects. Then it is a necessity to be able to compare them in order to choose the most adequate one for the considering system. The comparison will be based on the characteristics (abstract, concrete syntax and semantics) of each language.

B. Checking the consistency

the level of models, we have noticed that the various models used to design ubiquitous information systems must be consistent (e.g. consistency between an ASUR and a task model). This consistency is based on rules that are not specific to models, but that express the semantic links between two For instance, every ASUR model must be related to a task in a task trees.

So we need an open approach where different types of languages can be defined and rules between them specified. This approach is the one adopted in the model-driven engineering, MDE [START_REF] Favre | Towards a basic theory to model model driven engineering[END_REF], where the first class concept is the model. In MDE, everything can be considered as a model. MDE is well-adapted to ubiquitous information systems design where many domain-specific languages are used: 1) the syntax and the semantics are specified by their meta-models, which define constructs and rules to build models; this is the basis to about language quality; 2) meta-models can be used to realize operations on models, in particular consistency rules between can be defined.

only few [START_REF] Dupuy-Chessa | Requirements and Impacts of Model Driven Engineering on Mixed Systems Design[END_REF] of the new languages for ubiquitous computing design adopt the MDE approach so that it is uneasy to clearly understand their concepts and the way to use them. So it is difficult to evaluate their utility or to compare them. However the MDE concepts seems like a definitive asset for achieving quality in modelling languages.

Defining the quality of languages

Previous, we identify needs for a clearly specified and appropriate syntax and for a precise semantics of languages. Therefore as we mentioned previously, it is very important for quality of modelling language to adopt an MDE approach.

However the MDE approach is not sufficient to guarantee the quality of languages. We must not forget the language users (modellers and future stakeholders). Krogstie [START_REF] Krogstie | Evaluating UML Using a Generic Quality Framework[END_REF] identifies five characteristics of modelling languages (Fig. 4):

• Domain appropriateness: the concepts of the languages are powerful enough to express anything in the domain, but no more. This is related to the quality of the language semantics.

Participant language knowledge appropriateness: the language must be appropriate for the participants (modellers). It is best to base a language on experience with previously used languages.

• Knowledge externalizability appropriateness:

There should be no statement on the explicit knowledge of the participants that cannot be expressed in the language. This is also related to the quality of the language semantics.

• Comprehensibility appropriateness: the language must be accessible for stakeholders. The language should not have too many concepts; the concepts must be distinguishable from each other etc.

• Technical actor interpretation appropriateness: the syntax and the semantics of the language must be formal enough so that technical actors i.e. modelling tools can automate some treatments on models. This semiotic framework is very interesting for new ubiquitous languages. It shows to the language creators that they should not only consider the syntax and the semantics of their proposal, but also the way it can be manipulated by future users.

D. Measuring the quality of languages

Proposing a new language for one of the aspects of ubiquitous information systems is not enough to make it a "good" language. The quality of a language must be measured in order to validate the proposal or to improve it if necessary.

The general approach to measure a language quality is to realize empirical evaluations with user experiments. These evaluations are complex because they must not assess the quality of particular instances of the languages (e.g. a particular class diagram), but the quality of the language in general (the class diagram). [START_REF] Aranda | A Framework for Empirical Evaluation of Model Comprehensibility[END_REF] proposes a framework based on experiments, which can be applied to any type of languages, to evaluate comprehensibility. [START_REF] Siau | The Complexity of Unified Modeling Language: A GOMS Analysis[END_REF] uses an approach based on the human-information processing model Goals Operators Methods and Selection Rules (GOMS [START_REF] Card | The Psychology of Human-Computer Interaction[END_REF]) to evaluate UML diagrams. The authors measure the execution time to realize some UML diagrams so as to determine their complexity.

Another approach to measure a language complexity is to study its meta-model. A complex meta-model should lead to a greater expressive power and thus to smaller models [START_REF] Mohagheghi | Evaluating Quality in Model-Driven Engineering[END_REF]. Domain-specific languages such as the ones for ubiquitous information systems should have more expressive power. Therefore, they must be closer to the experts' knowledge, but as a consequence, they may be more difficult to learn for a novice. [START_REF] Rossi | Complexity Metrics for System Development Methods and Techniques[END_REF] explains that there exists an intrinsic dependency between the meta-model and the learnability of a language: a modelling language is composed of a set of diagrams for which some metrics are calculated. The conceptual complexity of a diagram is a sum vector of the above diagram metrics while the complexity of the whole language is a sum vector of the complexity of its diagrams. In such a view, the relations between diagrams are not considered. However the approach has permitted to compare several object-oriented languages and to conclude that object-oriented languages become more complex with time. Using the same approach, Siau and Cao cited in [START_REF] Krogstie | Evaluating UML Using a Generic Quality Framework[END_REF], show that UML is more complex than other object-oriented languages by a factor 2 to 11.

Based on their quality framework, Krogstie et al. have also evaluated UML in its 1.4 version. They concluded that UML is difficult to comprehend because there are many fundamentally different concepts, which are not always formally defined.

These works that measure the quality of languages are good examples to follow for the creators of conceptual languages for ubiquitous information systems. Without conducing users experiments, the meta-model of a new language can be used to evaluate its complexity. Then empirical studies can be achieved to measure its appropriateness.

V. QUALITY IN MODELLING PROCESSES

Processes are used to guide the design activity. They are the most effective way to improve the quality of products, in particular of models. Therefore achieving a good quality of modelling processes leads to higher quality in information systems and in their models.

A. Dealing with immature specific processses

In the specificities of ubiquitous information system design processes, we have specified that such processes are often immature. One way to strengthen them is to measure their quality so as to identify their strengths and their weaknesses. The first step for immature processes is to evaluate the quality of the resulting information system: is it useable? Is it secure? Etc… Achieving some concluding results for even one of this aspect would be a very useful contribution for designers.

When processes will become more mature, it is important transfer these specific processes to industrial designers. It is the only way to ensure that industrial ubiquitous information systems take into account the specific practices in terms of models and activities.

B. Coordinating processes

Each aspects (human-computer interaction, security, functionalities …) can be designed following some specific processes. If the quality of these specific processes is important and difficult to achieve, we must also address a more complex challenge: evaluating an orchestration of these processes build to design all the aspects of an ubiquitous information system.

The specific processes must be coordinated so as to give rise to consistent models e.g. the design of the interactive part of the ubiquitous system must be consistent with the design of its functionality. For instance, if the ergonomic specialist chooses an interaction with a wand to manipulate 3D buildings, the software engineer must specify the operations on buildings corresponding to the manipulation. So two types of joint endeavours are needed as defined by [START_REF] Grebici | Toward non mature information management in collaborative design processes[END_REF]:

• Coordination occurs when tasks are decomposed into common activities. A common planning is set up, actors are dispatched on these activities and a proper goal is assigned to each actor or activity. Drawing semantic relationships between models is a typical coordination activity example.

• On the other hand, cooperation consists in defining a common action for different actors, who share, at least partially, a common goal (and product) and organize their actions independently. Specialists filling different headings in a common form are for instance realizing a cooperation activity.

We can wonder whether this orchestration of processes is efficient: are coordination and cooperation activities wellsituated in the global process so as to provide consistent models; what is the effort required to perform the design; is there duplicated activities… So in ubiquitous information system design where specific processes can be numerous, it is important to find a way to express, but also to evaluate the process orchestration.

C. the quality of modelling processes

Defining the quality of a process is far from being trivial. If we consider mainly the sequencing of activities in a method, we can refer to work on method evaluation to define the quality of processes. In particular, the Method Evaluation Model [START_REF] Moody | Dealing with Complexity: A Practical Method for Representing Large Entity Relationship Models[END_REF] incorporates two aspects of method "success", actual efficacy and adoption in practice (Fig. 5):

• Actual efficiency: the extent to which the method reduces the effort required to performed the task;

• Actual effectiveness: the extent to which the method improves the quality of the results;

• Perceived Ease of use: the extent to which a person believes that using the method would be free of effort;

• Perceived usefulness: the extent to which a person believes that the method would be useful;

• Intention of use: the extent to which a person intends to use the method;

• Actual usage: the extent to which the method is actually used. The characteristics of the Method Evaluation Model can be to processes. The quality of a process can be evaluated through its performance (actual efficiency and effectiveness) but also according to the perceptions, intentions and behaviour in use of its potential users. This model can be used to characterize the quality of specific process, but also of their orchestration. The evaluation of an orchestration will be very difficult to achieve: the quality of its composing processes must, of course, be defined before considering its own; then the most complex task will be to measure the perception of composed processes.

D. Measuring the quality of modelling processes

The quality of processes is generally measured by evaluating the process model. For instance, [START_REF] Mendling | On correlation between process Model Metrics and Errors[END_REF] studies the characteristics that make a process model understandable. Many other works like [START_REF] Mendling | On correlation between process Model Metrics and Errors[END_REF] have been realized in the domain of business process models. Even if they are sometimes limited to the automated business processes, they may be a source of inspiration to evaluate the models of processes: they base their evaluations on metrics or empirical experiments to understand the quality characteristics of business process models and to prevent designers from modelling errors.

However the task is more difficult for modelling processes that are often imprecise and immature. In such case, empirical evaluations must not be missed. Without them, it is impossible to measure the perception or the intention of the process users. We must also evaluate the actual efficiency of processes, which gives some idea of the complexity and the usability of processes. D. Moody shows that such process evaluation is possible: he conducts experiments in order to compare the perceived ease of use and usefulness and the intension of use for some methods proposed for documenting and maintaining large data models [START_REF] Moody | Comparative Evaluation of Large Data Model Representation Methods: The Analyst's Perspective[END_REF]. Such work is a good example for processes proposed to support ubiquitous information system design.

If we consider that process quality has an impact on the quality of products (models or softwares), improving the of processes will lead to higher quality in ubiquitous information systems. However specific processes for ubiquitous information systems are rarely identified, nor specified. The knowledge on ubiquitous system design must be in order to widespread such systems but also to help While specifying them, ubiquitous system specialists must take care of the quality of their proposals and try to measure it, in particular with empirical evaluations.

VI. QUALITY IN MODELLING TOOLS

Modelling tools provide support for dealing with models in more automated ways. Nowadays, they mainly belong to two categories: CASE tools, like Rational Rose, and MDE tools to define meta-models, to transform models etc. Those tools are used in different activities of the design process. Due to the fact that the designers' requirements in terms of models management are various, CASE tools and MDE tools vary in functionalities. Different tools manipulate different models and perform different actions on models (e.g. transformation, consistency checking,…). Our goal in this section, is not to detail all the possible modelling tools, but to focus on requirements for tools supporting ubiquitous information systems modelling.

In the previous sections, we have noticed the following modelling requirements for ubiquitous information systems:

• The management of a large variety of models and of immature modelling languages, which induces then use of the MDE approach;

• The management of different profiles for designers and stakeholders;

• The identification and the specification of processes.

These three main needs must be supported by appropriate tools.

A. Interoperability between modelling tools

Ubiquitous information system design needs MDE tools, which support domain-specific languages and models. With such tools, specific languages can be specified, the syntactic quality of models can be checked and so on.

One of advantages of using the MDE approach, is that all the languages will be defined in the same manner i.e. by specifying its meta-model. Then it becomes possible to create links between models, to check their consistency or to transform a model into another one: it means that modelling tools must interoperate.

B. Changeability of modelling tools

Domain specific languages are generally immature: they have been proposed, but they have not been evaluated neither by empirical experiments, nor by specific metrics. So we can imagine that they will evolve over time. This induces that modeling tools for these specific languages must also be able to easily change. For instance, they must provide functionalities for easily adding or modifying languages and their graphic representations.

C. Ergonomics of modelling tools

The specific aspects of ubiquitous information system can be designed by specialists, such as ergonomics, who are not experts in computer science. It would be valuable to provide them usable tools, where models can be easily modified or evaluated. Tool builders cannot suppose that any designer can easily use tools that manage many models and their consistency. The complexity of actual modelling tools suggests the need for more ergonomic support. In particular, it is time to into modelling tools interaction techniques to visualize a large amount of information or to navigate through graphs.

D. Support of flexible processes

Process is the component of a method, which is the least supported by tools. Generally, if tools propose methodological guidance, it is "hard-coded": it not possible to change the process or to add a new one. However tools must support process engineering with operations such as the selection of an appropriate process, the adaptation of the chosen process or its orchestration with another process.

E. Quality of modelling tools

The quality of modelling tools can be considered as a special case of software quality. Software quality is widely studied and has give rise to standards such as the ISO/IEC 9126. The ISO/IEC 9126 software quality standard is one of the most, widespread quality standard available in the software engineering community. It fixes six top-level characteristics which are refined into twenty-seven sub-characteristics which are in turn decomposed into properties that the software products belonging to the domain of interest exhibit:

•

which represents the set of attributes that bear on the existence of a set of functions and their specified properties. The functions are those that satisfy stated or implied users' needs. The subcharacteristics of functionality are suitability, accuracy, interoperability, compliance and security.

• reliability, is a set of attributes that bear on the capability of software to maintain its level of performance under stated conditions for a stated period of time. It is decomposed into maturity, recoverability and fault tolerance.

• usability, which regroup attributes that bear on the effort needed for use, and on the individual assessment such use, by a stated or implied set of users. Usability is based on learnability, understandability and operability.

• efficiency, states for a set of attributes (time and resource behaviours) that bear on the relationship between the level of performance of the software and the amount of resources used, under stated conditions.

• maintainability relates the effort needed to make specified modifications. Its sub-characteristics are stability, analyzability, changeability and testability

• portability refers to the software ability to be transferred from one environment to another. It refers to its installability, its replaceability and its adaptability.

Fig. 6 focuses on quality characteristics that we have identified of prime importance for modelling tools supporting ubiquitous information systems design: 1) its functionality (its suitability to the users' practices in terms of languages and processes and its interoperability with other tools), 2) its usability especially for non software engineering designers, 3) its maintenability, with in particular its changeability necessary to manage the immaturity of the ubiquitous information system design domain.

F. Measuring the quality of modelling tools

If many works have treated the evaluation of softwares in general, few work have focused on modelling tools.

Unhelkar [START_REF] Unhelkar | Verification and Validation for Quality of UML2.0 Models[END_REF] provides a checklist for evaluating UMLbased CASE tools, with criteria such as "compliance with UML" and "Ability to follow a process". Such a list be developed for modelling tools in general. It can contain information such as the aspects (devices, context, ..) of ubiquitous information system design taken into account by tools. However it will not be possible to identify a complete list for ubiquitous information system design tools for which the modelling domain is immature.

Moreover experiments must be undertaken to validate more human aspects such as usability, which is often forgotten while building tools. In particular, the MDE tools, which are necessary to support ubiquitous information systems design, must be evaluated in order to determine whether they are usable by non-MDE specialists. We guess that their textual representation of models can be a problem for some designers, not specialized in modelling.

VII. CONCLUSION

The design of ubiquitous information systems has its specificities: new people use specific models following appropriate processes. These new practices are often immature and need to be improved in order to achieve quality in design. We have tried to understand this challenge by identifying the quality needs and characteristics for models, languages, processes and tools dedicated to ubiquitous information system design.

To summarize the quality aspects that we have described for every component of a method, we can use the meta-model proposed by [START_REF] Mohagheghi | Towards a Tool-Supported Quality Model for Model-Driven Engineering[END_REF]. Quality cannot be defined independently from its goals. Quality goals can be decomposed into subgoals. Each goal is implemented by a target and is related to a stakeholders' purpose. They are realized by properties that are artifacts or activities that are needed to achieve a quality goal. Properties are achieved by practices such as modeling conventions or training, and are evaluated either quantitatively or qualitatively with an evaluation method. For ubiquitous information systems, this vision of quality has the advantages of 1) not forgetting the various stakeholders; 2) bringing the necessity of practices to light; 3) and making explicit the need evaluation methods. This generic meta-model can be applied to any contribution (model, language, process, tool) in the design of ubiquitous information systems.

Referring to this meta-model or to the quality frameworks can help ubiquitous information systems design initiators to improve their proposals about models, languages, processes or tools that must be systematically studied and evaluate so as to insure quality. It can be a step in order to achieve quality in ubiquitous information system design.

Figure 2 .

 2 Figure 2. Lange and Chaudron's Quality Model

Figure 3 .

 3 Figure 3. Krogstie et al's quality framework -model view

Figure 4 .

 4 Figure 4. The Krogstie et al's language quality framework

Figure 5 .

 5 Figure 5. The Method Evaluation Model

Figure 6 .

 6 Figure 6. Main quality characteristics for modelling tools

ACKNOWLEDGMENT

Thanks to G. Godet-Bar for his useful comments on this article.


Michael Ortega
email: michael.ortega@inria.fr

Laurence Nigay
email: laurence.nigay@imag.fr

AirMouse: Finger Gesture for 2D and 3D Interaction

Keywords: AirMouse, interaction, 2D/3D pointing, computer vision, Fitts' law

This paper presents AirMouse, a new interaction technique based on finger gestures above the laptop's keyboard. At a reasonably low cost, the technique can replace the traditional methods for pointing in two or three dimensions. Moreover, the device-switching time is reduced and no additional surface than the one for the laptop is needed. In a 2D pointing evaluation, a vision-based implementation of the technique is compared with commonly used devices. The same implementation is also compared with the two most commonly used 3D pointing devices. The two user experiments show the benefits of the polyvalent technique: it is easy to learn, intuitive and efficient by providing good performance. In particular, our conducted experiment shows that performance with AirMouse is promising in comparison with a touchpad and with dedicated 3D pointing devices. It shows that AirMouse offers better performance as compared to FlowMouse, a previous solution using fingers above the keyboard.

Introduction

Fig. 1 AirMouse is an interaction technique, which consists of moving fingers in 3D above the keyboard for directly pointing and manipulating objects on screen.

Interaction devices such as a mouse require an additional surface to operate on. Laptops are widely used today, and additional space is an issue in a context where space is at a premium as is the case for example of the table in a train. More generally, the cumbersome problem is one of the «grand challenge» questions described by Bowman et al. [START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF]; they argue that being cumbersome "has a huge impact on the usability of the systems". Touchpads and key-joysticks are solutions for this problem, however the pointing performances are low and they are not efficient for 3D interaction. For 3D interaction, the current existing devices are bulky and expensive. Previous works, like [START_REF] Qhueck | Unencumbered gestural interaction[END_REF][START_REF] Malik | Visual touchpad: A two-handed gestural input device[END_REF][START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF], proposed solutions using a finger above the keyboard. However, the solutions imply arm tiredness and cognitive load due to transformation between the manipulation space and the display space. Moreover, quoting the authors of Flowmouse [START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF]: "pointing performance with FlowMouse was significantly worse than with a trackpad". Facing these issues, we present AirMouse for 2D and 3D interaction that is based on finger gestures performed above the keyboard. AirMouse is a mix of efficient pointing techniques (namely Ray-casting and Virtual-Hand techniques [START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF]) adapted for 2D and 3D pointing. The key features of AirMouse include:

No additional surface: The additional surface, beside the laptop, is suppressed. 2D/3D interaction: The technique supports mixed 2D and 3D interaction in the same application. This feature is important since 2D and 3D views are more and more common and their combinations valuable as explained in [START_REF] Tory | Combining 2d and 3d views for orientation and relative position tasks[END_REF]. With AirMouse no additional time is needed for the user to move her/his hand from one input 2D device to another 3D one.

Reduced homing time:

The switching time between the keyboard and the pointing device is drastically reduced. This feature is particularly important for limited-mobility users. Easy to learn and easy to use: Based on a natural and direct way of pointing and manipulating, the concept is easily adopted by new users.

Reasonably low cost:

The technique can be implemented at reasonably low cost. Low tiredness: Compared to similar existing methods [START_REF] Qhueck | Unencumbered gestural interaction[END_REF][START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF][START_REF] Malik | Visual touchpad: A two-handed gestural input device[END_REF], AirMouse does not force the user to move his forearm. The hand palm can be left beside the keyboard, and only forefinger movements are needed. Other fingers can stay on the keyboard. Low cognitive load: No rotation between the manipulation space and the display space decreases the cognitive load implied by previous methods [START_REF] Robert | The perceptual structure of multidimensional input device selection[END_REF]. Good performance for 2D and 3D pointing: The performance of the AirMouse is better than the FlowMouse technique and is promising in comparison with a touchpad and with dedicated 3D pointing devices. This paper presents a low-cost vision-based implementation of the AirMouse technique in order to validate the technique itself. A final product could be industrially implemented on all the laptops with an unobtrusive and no bulky system of cameras integrated in the corners of the laptop screens. Indeed our technique on a laptop is promising for 3D games or professional 3D applications (architecture, interior design applications used by sellers at clients home) and may foster even more 3D applications on laptops.

The paper is organized as follows: we first discuss related work before explaining the AirMouse technique and its vision-based implementation. We then present a formal evaluation and its results of the two implemented pointing techniques (2D and 3D) that we compare with more traditional 2D and 3D pointing devices.

RELATED WORK

On the one hand, the mouse is the most commonly used device for desktop applications, for experts and occasional users. The device is easy-to-learn, low cost, and, compared to other desktop pointing devices like trackballs, touchpads or keyjoysticks, it offers the best performance for time completion of pointing tasks [START_REF] Mackenzie | A comparison of input devices in elemental pointing and dragging tasks[END_REF][START_REF] Douglas | The effect of reducing homing time on the speed of a finger-controlled isometric pointing device[END_REF]. On the other hand, it is natural to designate an object using the forefinger which is routinely performed in everyday life. Towards naturalness and intuitiveness of the interaction, several studies therefore focused on using a finger for showing, selecting and manipulating objects displayed on screen instead of the mouse [START_REF] Shneiderman | The future of interactive systems and the emergence of direct manipulation[END_REF].

With multi-touch interactive surfaces as in [START_REF] Han | Low-cost multi-touch sensing through frustrated total internal reflection[END_REF] the mouse is replaced by the forefinger. Multi-touch interactive surfaces define a very dynamic research area. When focusing on large surfaces such as a table, such setting cannot be used in everyday work environment. Moreover, although interaction with multi-touch interactive surfaces is natural and intuitive, there are also identified limitations. One of the main issues is the tiring effect of lifting and moving the arm between the different points of the surface. Moreover such movements are not possible for limited-mobility users.

In our work and as opposed to multi-touch interactive surfaces, we focus on fingerbased interaction for a laptop setting including a traditional keyboard. Previous studies have been conducted on using fingers while keeping the keyboard for interaction. First, in [START_REF] Card | Evaluation of mouse, rate-controlled isometric joystick, step keys, and text keys, for text selection on a crt[END_REF], the mouse is replaced by a joystick placed in the middle of the keyboard. The keyboard and joystick combination reduces the homing time in comparison with the keyboard and mouse combination. However, the performance and the usability of the joystick are far from the mouse capacities [START_REF] Douglas | The effect of reducing homing time on the speed of a finger-controlled isometric pointing device[END_REF]. A different approach is presented in [START_REF] Mysliwiec | Fingermouse: A freehand computer pointing interface[END_REF] and [START_REF] Qhueck | Unencumbered gestural interaction[END_REF] with the FingerMouse: this freehand pointing technique is based on computer vision for tracking a fingertip. The screen cursor moves according to the user gestures in a horizontal plane just above the keyboard. The selection, equivalent to a mouse click, is performed by pressing the SHIFT key. More recently, another computer vision-based pointing gesture technique, namely the FlowMouse, has been proposed in [START_REF] Wilson | Flowmouse: A computer vision-based pointing and gesture input device[END_REF]. FlowMouse uses one camera, and detects the complete hand 2D horizontal movements (using optical flow cues) above the keyboard. Tha hand translates and then force the user to move its arm. The technique has been experimentally evaluated: a Fitts' law study demonstrated that while pointing performance was worse than a touchpad, the interaction was intuitive, easy to learn and easy to use. Finally the Visual Touchpad [START_REF] Malik | Visual touchpad: A two-handed gestural input device[END_REF] is a mixed technique that combines the "Finger-Mouse" technique, 2D hand gesture techniques and a virtual keyboard. Two cameras are used to detect if the fingertip is on or above the virtual keyboard. The system could be considered as a low-cost tabletop display or touchscreen, but with a dissociation of the horizontal tracked surface (i.e., a quadrangle surface replacing the keyboard) from the vertical computer screen. The aforementioned techniques do not require additional space to operate on, which is an important issue for laptops used in various contexts. They also reduce the homing time which is responsible for 42% of the time required to move the hand from the keyboard to the mouse, point, and go back to the keyboard [START_REF] Stuart | The Psychology of Human Computer Interaction[END_REF]. However these techniques have two main limitations. First, the forearm has to move above the keyboard which is tiring. Letting the palm beside the keyboard, and only moving the fingers should be less tiring. Secondly, the transformation, here a rotation, between the plane of the finger gesture and the one of the cursor movements increases the cognitive load, which decreases performances and increases tiredness of the user [START_REF] Robert | The perceptual structure of multidimensional input device selection[END_REF]. These techniques aim at replacing the mouse. These techniques as well as the mouse are not adapted for 3D pointing or manipulation, due to their lack of dimensions. Additional modifier keys are then required for 3D interaction. Specific devices exist for manipulating objects in three dimensions, like PHANTOMs [START_REF] Thomas | The phantom haptic interface: A device for probing virtual objects[END_REF] and the spacemouse [START_REF]3D Connexion. Space navigator[END_REF]. Most of them are expensive, bulky and also involve switching time when changing from using the 3D pointing device to the keyboard. Moreover, the 3D pointing device being next to the keyboard, the action workspace defined by the position of the device is deported from the screen that defines the virtual workspace. A large translation between the action and virtual workspaces decreases the interaction performances [START_REF] Paljic | A study of distance of manipulation on the responsive workbench[END_REF].

The AirMouse technique, for which an implementation is presented in the next section, extends the FingerMouse and FlowMouse possibilities by considering 3D finger gestures. AirMouse therefore supports both 2D and 3D pointing.

TECHNIQUE OVERVIEW AND IMPLEMENTATION

The AirMouse technique consists of using fingers over the keyboard for interacting in two and/or three dimensions with desktop applications. The first goal is to decrease the tiredness implied by previously presented techniques. One constraint is then to allow users only to move the fingers, letting the palm beside of the keyboard, as shown in figure 1. The second goal is to reduce the cognitive load implied by a transformation between the manipulation space and the working space. By only moving the fingers, it is not possible to perfectly fit the two spaces, and a scale as well as a translation are required. However, the rotation, which is the transformation with a strongest impact on cognitive load, is suppressed.

These two aforementioned goals implies that we initially assumed that it was not useful for the users to visually identify the 3D interaction volume, i.e. the volume in which gestures are possible since fingers are tracked by the system. An informal evaluation showed that our assumption was right and that it is not important for users to know the limits of the tracking area. Indeed, users do not look at their fingers but only at the screen (same as when using a mouse). They visually understand the interaction workspace, seeing the limits on the screen. A scale transformation between the tracking area and the displayed area is therefore possible. This allows us to reduce the gesture amplitude and therefore the tiring effect while preserving enough precision for pointing tasks. The tracking area has been defined considering the medium size of a hand: for right handed users, the defined area horizontally corresponds to the right half part of the keyboard, and vertically corresponds to the lower half part of the screen (see Figure 2). However, a calibration step allows to readjust this area for users with very small or very big hands.

The main technological issue is first to track a part or the whole fingers in 3 dimensions. The vision-based implementation proposed in this paper is based on vision reconstruction algorithms [START_REF] Dementhon | Model-based object pose in 25 lines of code[END_REF], and is able to track many points in 3D. Two trackIR [12] camera devices are placed on top of the laptop screen (see Figure 2). Each trackIR device is composed of one infra-red camera that is circled by infrared LEDS. Thus, a reflector placed in front of the device allows us to reflect the infrared light from the LEDS back to the camera. Using the trackIR SDK, we implemented an algorithm for reconstructing the three dimensional position of the reflector area. Many reflectors can be used.

As shown in Figure 2, the prototype, that has been done for validating the technique, includes two TrackIR cameras far from the top of the screen. For sure this prototype is not usable in all the usage contexts of a laptop. However, we focus here on validating the AirMouse technique. Using cameras with large enough focal distance will enable us to fix the cameras at the two top corners of the screen. Another future solution would be to use a single camera providing depth cues [START_REF] Iddan | 3d imaging in the studio[END_REF].

In this implementation of the AirMouse technique, we only focus on 2D and 3D pointing. In order to provide an intuitive and natural way of pointing, we decided to use isotonic interaction instead of isometric interaction.

2D Pointing

The forefinger is commonly used for designating far or proximal objects.

For this action, we can consider the finger as defining an infinite ray which intersects with the designated object. This technique [START_REF] Smith | Put-that-here: Voice and gesture at the graphics interface[END_REF] is commonly called Ray-Casting [START_REF] Bowman | 3D User Interfaces: Theory and Practice[END_REF]. It is a natural and conceptually simple [START_REF] Vogel | Distant freehand pointing and clicking on very large, high resolution displays[END_REF] pointing technique. The Ray-Casting technique sounds adapted for AirMouse: while using the keyboard, the user moves her/his forefinger and the cursor will be displayed on the designated position on screen. For this technique, two reflector ring are used (see Figure 2): one on the forefinger tip, and another one on the forefinger third phalanx. Thus, the two recorded 3D points allow us to define a line whose intersection with the screen plan gives the 2D position of the cursor. 3D pointing Only the forefinger tip reflector is used here. The tracking by the two cameras, combined with a classical reconstruction algorithm [START_REF] Dementhon | Model-based object pose in 25 lines of code[END_REF], gives one threedimensional point. The 3D cursor then moves according to the threedimensional position of the fingertip. In order to preserve the directness of the interaction, no rotation transformation is applied between the tracking area and the displayed area. There is a direct mapping: left/right and up/down movements of the fingertip are directly mapped to cursor movements in the same direction. Direct mapping is also provided for the depth: while the fingertip is going away from the screen, the cursor moves "closer" to the user. Nevertheless as explained above, we apply a scale transformation between the tracking area and the displayed area for reducing gesture amplitudes and therefore tiredness while maintaining enough precision for pointing tasks (see Figure 2 Interaction area). Selection The selection, equivalent to a mouse click, is performed by clicking the touchpad button of the laptop.

The goal of this implemented technique of AirMouse is to experimentally study the 2D and 3D pointing tasks. Nevertheless we point out that AirMouse intends to replace the mouse by providing a large range of possible interaction techniques that need to be further studied. For example for this implementation, the clutching aspects are not examined. We nevertheless show in the last section of this paper an implementation of AirMouse for an existing 3D modeler that supports smoothly integrated 2D and 3D pointing tasks with no need for activation/deactivation. In this controlled experiment, we evaluated the performance of the above implemented technique of AirMouse as a pointing device, using 2D and 3D Fitts' law studies. The two tasks have been performed by 15 subjects with no prior experience with 3D interaction devices. They were right handed, all rated themselves as advanced computer users and had normal or corrected normal vision. The two tasks are based on the recommendation given by Soukoreff et al. in [START_REF] Soukoreff | Towards a standard for pointing device evaluation, perspectives on 27 years of fitts' law research in hci[END_REF], using the Fitts' law [START_REF] Fitts | The information capacity of the human motor system in controlling the amplitude of movement[END_REF]. Finally, at the end of each experiment, we asked participants to freely comment on the techniques and then to rank-order each of the experimented pointing devices respectively in terms of performance, satisfaction and tiring effect. As pointed out in [START_REF] Schneiderman | Designing the User Interface: Strategies for Effective Human-Computer Interaction[END_REF] subjective satisfaction may be the key determinant of success.

2D EVALUATION

Pointing Task

The goal of this evaluation is to position the 2D pointing performance of AirMouse in relation with the performance of other traditional device. We therefore compared Air-Mouse with the three well-known and commonly used pointing devices: the traditional mouse, the touchpad and the key-joystick. Traditional mouse is an isotonic device and every advanced computer user can be considered as an expert, i.e. the time performance of this device are partly due to the advanced knowledge of the users. The touchpad is also an isotonic device with a limited interaction space. The efficiency of use of such a device can be optimized by improving the scaling factor: however, the limit is fixed by the corresponding obtained precision quality. In the experiment, the scaling factor has been chosen empirically, computing the mean of three users parameters. The same value has been kept for all subjects. The keyjoystick is an isometric device, i.e., it controls the cursor by speed. It can be found on a large variety of laptop, but it is not often used. None of the subjects has regularly used this device before the experiment, or just a few times for testing it.

This two-dimension Fitts'law task is administrated using the multidirectional tapping task paradigm [START_REF] Soukoreff | Towards a standard for pointing device evaluation, perspectives on 27 years of fitts' law research in hci[END_REF], described in the ISO9241-9 standard, in which the subjects have to successively clicked on circular targets placed along a circle (see Figure 3). This paradigm presents the advantage of controlling the effect of direction. The distance between two successively clicked targets corresponds to the amplitude (D) of the movement, and the size of each target is the width (W). Combining different widths, four different difficulties (ID), from 3 to 6, are proposed to the subjects (according to the formula ID=log2(D/W + 1)).

For starting the trial, the subject must click on the centered target. The first target is then highlighted. Because of the amplitude difference, the movement, which consists of reaching the first target from the starting point, is not kept in final results. In order to prove that the proposed device can reduce the homing time [START_REF] Card | Evaluation of mouse, rate-controlled isometric joystick, step keys, and text keys, for text selection on a crt[END_REF] (the time needed to reach the device from the keyboard, and vice versa), we decided to use the click-and-write technique, as proposed in [START_REF] Mysliwiec | Fingermouse: A freehand computer pointing interface[END_REF][START_REF] Douglas | The effect of reducing homing time on the speed of a finger-controlled isometric pointing device[END_REF][START_REF] Card | Evaluation of mouse, rate-controlled isometric joystick, step keys, and text keys, for text selection on a crt[END_REF], and combine it with the multidirectional tapping task [START_REF] Soukoreff | Towards a standard for pointing device evaluation, perspectives on 27 years of fitts' law research in hci[END_REF]. Thus, a click on a target opens a small command line, in which the subjects were asked to write her/his first name and to press the 'RETURN' key for closing the command line. Since we do not implement a mode switching between pointing and typing, the cursor disappears at the bottom of the screen when the user starts typing. This evaluation is composed of 12 sessions: 3 sessions per device. Each session is composed of 12 trials: 3 trials per ID. One trial is composed of 9 clicks corresponding to the multidirectional tapping tasks. We then obtained 9x12x3 = 324 pointing events per device. For each device, the first session is considered as a training session, but subjects do not know it. The results of this session could be kept for analyzing learning effects of each device but they are not considered for the comparison of the device time performance. Considering the (ID, Session) couples, all the arrangements are used, in order to avoid learning/tiring or influence effects between the tested devices

Results

Quantitative Results. For each trial, three times are recorded:

1. Homing1: elapsed time between the "RETURN" key press and pointing start 2. Pointing Time: elapsed time between pointing start and the click on the target 3. Homing2: elapsed time between the click and the first letter key press.

The experience data are analyzed within the framework of General Linear Model Procedure from SAS Software. There is a significant effect of device for all the recorded time types (Homing1: F = 1976.3; p < 0.0001; Pointing Time: F = 283.41; p < 0.0001; Homing2: F = 24.04; p < 0.0001). The classification of the device performances can be deduced from Figure 4. For Homing1, AirMouse is close to zero while mouse and touchpad are quite similar, but faster than key-joystick. Homing2 is similar for each device, from 0.655s for AirMouse to 0.548s for the mouse. This similarity is due to the time needed to find the first key to press on the keyboard. This value is not dependent to the ponting device. In Pointing Time, mouse is faster, followed by the touchpad. Then, AirMouse and key-joystick are close but key-joystick is slower. This result confirms the work presented by Douglas and al. [START_REF] Douglas | The effect of reducing homing time on the speed of a finger-controlled isometric pointing device[END_REF].

Considering the total time (Homing1 + Pointing + Homing2), the device parameter has a significant effect (F = 300; p < 0.0001) and pairwise comparisons show a significant difference between all the devices (p < 0.0001 for each combination). The corresponding curve presented in Figure 4 presents the final classification of the devices. Despite of the very good performances of AirMouse for Homing1, Figure 4 allows us to point up the very good performances of the mouse for total time, maybe because of the expertise of the subjects. However, key-joystick is the slower device. AirMouse is slower but comparable to touchpad performances. Qualitative Results. Concerning the perceived performances, all the subjects consider the key-joystick as the slowest one. This is confirmed by the quantitative results previously presented. This could be explained by the fact that they never used the device before the experiment. The AirMouse is higher ranked, although it was the first time the participants use it. The mouse is considered as the faster device by 77% of the subjects. They are all experts, and the quantitative results confirm it. The AirMouse and the touchpad are quite similar, with a slight advantage for the AirMouse. However, subjects have never classified the touchpad as the faster device, in constrast with the AirMouse that has been classified as the faster device by 23% of the subjects.

Concerning the preference classification, the key-joystick is unanimously the less appreciated device (lower rates for all the subjects), mainly because of the fastidious learning time required. For the touchpad, results show the same pattern as previously, i.e. it is never the favorite device, but the second or the third selected device. AirMouse seems to be the most favorite device, i.e. it is classified as the most comfortable, intuitive and easy to learn device by 70% of the subjects. However, 77% of the subjects has classified the mouse in first or second position. Again, this could be explained by the mouse expertise of all the subjects.

Considering the tiring effect, only 10% of the subjects express a small feeling of tiredness in the hand for the AirMouse. But they consider it as a side effect of the experiment, i.e. the technique is new, and the hand is contracted for moving as fast as possible.

3D EVALUATION

Pointing Task

As for the above 2D Fitts' law study, the goal of this evaluation is to position the 3D pointing performances of AirMouse in relation with other traditional device performances. We then compared our technique for 3D translation pointing with two wellknown devices: the PHANTOM [START_REF] Thomas | The phantom haptic interface: A device for probing virtual objects[END_REF], an isotonic arm-based pointing device, which can provide haptic feedback (not used in the experiment) ; the SpaceNavigator [START_REF]3D Connexion. Space navigator[END_REF], an isometric joystick.

Because of their isotonic property, and excluding the grasping action of the stylus, the movements with the PHANTOM and with the AirMouse for selecting and manipulating an object in translation are close. However, compared to theAirMouse, the PHANTOM is expensive and bulky. The comparison between the AirMouse and the spacemouse is interesting because of the popularity of the spacemouse. It is a low cost device, commonly used by designers for manipulating objects in 3D modelers. However, mainly because of its isometric property, its pointing time performances are lower than the ones of the PHANTOM [START_REF] Zhai | Human Performance in 6dof Input Control[END_REF]. Moreover, despite the tuning possibilities, the manipulation of such a device is not easy to learn and implies training time. The PHANTOM and the AirMouse have a limited workspace, that we can consider as a cube. After preliminary tests, an empirical scale of each device workspace has been defined in relation to human skills, and then used for all the subjects. The scale of the AirMouse workspace has been defined in order to avoid subjects to move their hands for moving the cursor from the left to the right of the screen, allowing them to do it with only finger movements. Similarly the scale of the PHANTOM has been fixed in order to minimize arm movements.

3D pointing devices are usually used in manipulation tasks. Then, in order to fit with reality, the 3D pointing performances are evaluated with the same principle presented in [START_REF] Zhai | Quantifying coordination in multiple dof movement and its application to evaluating 6 dof input devices[END_REF] and recently used in [START_REF] Hancock | Shallow-depth 3d interaction: Design and evaluation of one-, two-and three-touch techniques[END_REF]: subjects have to manipulate a tetrahedron and bring it inside another bigger one. Fitts' law studies can be used according to the Prince technique proposed in [START_REF] Kabbash | The "prince" technique: Fitts' law and selection using area cursors[END_REF], the cursor being an area cursor. Because 3D rotation is not considered and only 3D translation is used, the tetrahedrons are thus replaced by spheres. After selecting a green sphere with the endeffector of the device (represented by a small radius sphere, the same for each device), the subject has to bring it into a transparent spherical area (see Figure 5 for a snapshot of the 3D environment of the evaluation). Before the selection, the target area is not displayed, in order to avoid any anticipation of the recorded movement. The radius of the green manipulated sphere R is fixed. This manipulated object corresponds to an area cursor. While the distance D between the two spheres is fixed during the experiment, the radius of the target area R' is modified in order to define 3 different levels of difficulties (IDs): 3,4,5, according to the Fitts' law formula used in Prince:

ID = log2(D/(R'-R) + 1) . ( 1
)
The evaluation has been performed on a traditional laptop without simulation of visual stereoscopy. In order to improve the depth perception, real-time shadows have been added. The horizontal position of each sphere is represented by a black disk projected onto the bottom plan (see Figure 5) and perceived by the subjects in their peripheral vision. This evaluation is composed of 9 sessions: 3 sessions per device. Each session is composed of 21 trials: 7 trials per ID. We then obtained 9x21=189 events per device. For each device, the first session is considered as a training session, but subjects do not know it. The results of this session could be kept for analyzing learning effects of each device but they are not considered for the comparison of the device time performances. Considering the (ID, Session) couples, all the arrangements are used, in order to avoid learning/tiring or influence effects between the tested devices.

Results

Quantitative Results : Pointing Time. The experience data are analyzed within the framework of General Linear Model Procedure from SAS Software. For each trial, Pointing Time (PT) has been recorded between the date of the click required for selecting the green sphere to be manipulated and the date of sphere disappearance into the spherical target area. PT values (in seconds) are presented in Figure 5. There is a significant effect of the device (F = 122.11; p < 0.0001), with mean times decreasing from 4.9s (SD = 4.4) with the spacemouse, through 2.6s (SD = 1.9) with the AirMouse, to 1.8s (SD = 1.2) with the PHANTOM ; a 63% reduction in PT across the three conditions. The spacemouse is the slower device. Observing subjects during the experiment, we could notice that pointing movements are natural and intuitive for the PHANTOM and the AirMouse. However, using the spacemouse, subjects usually try to decompose the pointing movement: first, following the shadow cues, they try to adjust the position in the horizontal plan, then they adjust the height. This decomposition is not observed with other tested devices, so we suppose that it is linked to the spacemouse capabilities. This could explain the spacemouse low performances. Moreover, after the learning effect of the first session, the movement is more direct, but still slower than the movements with the two other tested devices.

Post-hoc pairwise comparisons showed a significant difference between the AirMouse and the spacemouse (p < 0:0001) and a less significant difference between the Air-Mouse and the PHANTOM (p = 0.0168). As expected by the Fitts'Law study, the difficulty (ID) has a significant effect on task performance (F = 95.84; p < 0.0001). Figure 5 shows both results, the effect of the device and the effect of the ID on PT. Mean PT increases with the ID for all the devices. It is higher with the spacemouse and lower with the PHANTOM. AirMouse is placed in between, but closer to the PHANTOM.

There is a significant effect of the session (F = 23.05; p < 0.0001), with mean times decreasing from 3.8s (SD = 3.7) for session 1, through 3.0s (SD = 3.4) for session 2, to 2,5 (SD = 1.8) for session 3; a 34% reduction of PT across the three conditions. However, session 1 and session 3 are significantly different (p = 0.0003), but session 2 and session 3 are not (p = 0.06). This effect is explained by the learning effect between session 1 and session 2, that seems to disappear between session 2 and session 3.

Qualitative Results. Concerning the perceived performances, without ambiguity, all subjects estimated that they are slower with the spacemouse. This is confirmed by the quantitative results previously presented. The main quoted reason is the learning stage linked to the sensitivity of the sensors. Concerning the PHANTOM and the AirMouse, 55% of the subjects are not able to know which of the two devices offer the best performance, and 33% took a decision and said that the PHANTOM is faster. Concerning the preference classification, the spacemouse is unanimously the less favorite device. In contrast, the PHANTOM and the AirMouse are considered as intuitive, without learning stage. The viscosity of the PHANTOM (i.e. the resistance provided by the arm mechanism) is considered as helpful for precision by 44% of the subjects, but 33% consider it as a disturbing side effect. Compared to AirMouse, the PHANTOM is considered as less transparent and more invasive. Concerning the tiring effects, 10% of the subjects express a feeling of tiredness in the hand for the AirMouse. 10% of the subjects also express a feeling of tiredness using the PHANTOM, because of the movements of the hand and the forearm. However, as for the previous evaluation, they explained it by the stress of the experiment, trying to perform the tasks as fast as possible. As expected, these evaluations allow us to position AirMouse in relation to other existing and commonly used pointing devices. Results show that the performances of AirMouse in 2D pointing are not better than the ones of the mouse, but are comparable to the ones of the touchpad, and are better than the ones of key-joystick. Since the pointing performance with FlowMouse has been reported to be significantly worse than with a touchpad [START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF], we conclude that AirMouse offers better pointing performance than FlowMouse. In 3D pointing, AirMouse is not so far from the PHANTOM and a lot faster than the spacemouse. Finally, qualitative results show that the performance is not the most important criterion. Subjects prefer to use a device that is intuitive and easy to learn while providing correct performance. Based on these criteria, AirMouse is appreciated by most of the users. They consider the technique as promising, and useful for laptop configuration.

Based on these encouraging results obtained for 2D /3D pointing tasks, it is now possible to further investigate AirMouse for other object manipulation tasks. AirMouse opens a vast world of possibilities in terms of interaction techniques. For example we plan to explore two-handed AirMouse interaction and gesture recognition as in [START_REF] Hancock | Shallow-depth 3d interaction: Design and evaluation of one-, two-and three-touch techniques[END_REF][START_REF] Grossman | Multi-finger gestural interaction with 3d volumetric displays[END_REF][START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF] or based on real world metaphor: for example the user can perform a gesture similar to the one of turning a page in a book in order to scroll to the next page of a document. While for pointing tasks, mode switching between pointing and keyboard was not a key issue since the technique supports a direct designation of the objects on screen and therefore the cursor can move and disappear while typing, natural and efficient mode switching [START_REF]Robust computer vision-based detection of pinching for one and twohanded gesture input[END_REF] is a primarily issue for the other tasks that we study and envision.

Since AirMouse seems very promising for 3D pointing, we first study the use of the AirMouse for full 3D manipulation and we started to investigate 3D rotation. A prototype has been designed and will be described in a next paper.

Finally an interesting feature of AirMouse is to support both 2D and 3D interaction in the same application. In order to informally evaluate the combined usage of 2D and 3D interaction, we tested the vision-based implementation of AirMouse in the context of a 3D modeler called Autodesk 3D Studio Max (3DSMax). Figure 6 shows a screenshot of the application. The two pointing techniques (2D and 3D) have been mixed: the 2D pointing technique, used in the experiment and based on two reflectors, has been plugged to the mouse cursor. The switch between 2D and 3D is based on the application mode defined by the cursor position. When the cursor of the mouse is over the 3D view, 3D pointing becomes active and 3D movements of the fingerTip are used. To sum up, the user can interact with 3DSMax, by moving the desktop cursor with its forefinger and clicking on icons. The user can also perform 3D manipulation as soon as the cursor is within the 3D scene: the arrow cursor is then replaced by a small sphere. The transition between 2D and 3D interaction is therefore observable as well as implicit and smooth based on the application mode activated by the position of the cursor and more importantly based on the same AirMouse technique.

CONCLUSION

In this paper, we have introduced and studied a new technique, namely AirMouse, for 2D and 3D interaction using finger gestures above the keyboard. The controlled experiment of a vision-based implementation of AirMouse shows the promising pointing performance of the technique compared with existing and commonly used devices for a pointing task. Subjects pointed out the intuitive, easy to learn and comfortable aspects of AirMouse that does not require additional surface for interaction using a laptop. In addition to our current studies of other tasks than pointing using AirMouse, a longitudinal evaluation of the 2D pointing is under investigation. We plan to test AirMouse with three regular computer users (scientists in the lab) in their everyday work, replacing the mouse by AirMouse.We hope to observe an improvement, which will make the technique comparable with the mouse in terms of time performance.

Fig. 2

 2 Fig. 2 One set-up for the AirMouse technique. Two trackIR devices are placed on top of the laptop in order to provide a large 3D interaction space.

Fig. 3

 3 Fig. 3 Combination of multidirectional tapping with click-and-write. a: Initial cursor position, with amplitude and width visual representation. b: First target is reached (and clicked), the subject wrote her first name. c: 'RETURN' has been pressed, the cursor is going to the next target.

Fig. 4

 4 Fig. 4 Mean Time (in milliseconds) needed for each device and each difficulty for Homing1, Pointing, Homing2 and the sum of the 3 time values.

Fig. 5

 5 Fig. 5 Left: Mean Pointing Time (in seconds) for each device and for each ID. Subjects are slower with the SpaceMouse and faster with the PHANTOM. AirMouse is placed in between, but closer to the PHANTOM. Right: Snapshot of the 3D pointing evaluation environment. The green sphere on the left must be moved as fast as possible into the transparent red area. The transparent area size is modified during the experiment for defining different difficulties (IDs).

Fig. 6

 6 Fig. 6 Left: Use of the two hands for 3D rotation: metaphor of planting a pin inside the object to be rotated. Right: Mixed 2D and 3D Interaction with AirMouse in Autodesk 3D Studio Max. the 2D pointing technique has been plugged to the mouse cursor while 3D pointing becomes active when the user moves over the perspective 3D view.

Acknowledgments. The authors would like to thank R. Blanch for extensive comments, A. Demeure for his help in the code for evaluation and all the participants in the experiments. Special thanks to N. Mandran for her precious help and advise on statistics for the evaluation and G. Serghiou for reviewing the paper. The work presented in the article is partly funded by the European Commission under contract OpenInterface (FP6-35182), www.oi-project.org .