A Usability Model for Mobile Applications Generated with a Model-Driven Approach

Usability evaluation of mobile applications (referred to as apps) is an emerging research area in the field of Software Engineering. Several research studies have focused their interest on the challenge of usability evaluation in mobile context. Typically, the usability is measured once the mobile apps is implemented. At this stage of the development process, it is costly to go back and makes the required changes in the design in order to overcome usability problems. Model-driven Engineering (MDE) was proven as a promising solution for this problem. In such approach, a model can be build and analyzed early in the design cycle to identify key characteristics like usability. The traceability established between this model and the final application by means of model transformation plays a key role to preserve its usability or even improve it. This paper attempts to review existing usability studies and subsequently propose a usability model for conducting early usability evaluation for mobile apps generated with an MDE tool. Keywords—Usability; mobile apps; model-driven engineering


I. INTRODUCTION
Advances in mobile technology have enabled mobile devices to be the most used devices in the world. According to [1], the total number of mobile subscriptions in the first quarter of 2018 was around 7.9 billion, with 8.9 billion predicted to be available in 2023. The fast growth and high demand on mobile applications (referred to as apps) faces software developers to new challenges with regard to the apps quality. The former was seen critical to the attractiveness and competitively of mobiles apps in the new market. In this context, it is widely accepted that usability plays a key role in the popularity and success of mobile apps [2]. Thus, the usability of mobile applications has been the focus of several recent studies. Unfortunately, usability is conventionally conducted late in the development cycle when the application is implemented. At this stage, it is costly to go back and makes some design changes. The Modeldriven Engineering (MDE), a recent paradigm is the SE field, was proven quite appropriate solution for this problem. In this approach, the target source code of an application is outputted through a series of transformation taken as input the conceptual models that abstractly represent the system. The transformation process establishes an intrinsic mechanism of traceability between conceptual models and the final application. Consequently, the analysis of these models early in the design cycle to identify potential usability problems and fix them is likely to improve the usability of the generated application [3].
Note that the usability of mobile apps faces some new challenges related to mobility. We quote especially small screen size, data entry methods, limited connectivity and limited capacity and power processing. Consequently, there is a need to investigate the impact of these new challenges to the usability of mobiles apps. In this paper, the interest is focused on those features that affect the user interfaces design choices.
The present paper attempts to review existing studies addressing usability of mobiles apps and identify the boundary and weakness of current research works. This paper also presents a usability model with the aim to be a building block for usability evaluation of mobile apps generated within an MDE environment. The proposed model gathers a set of usability attributes that can be measured from the conceptual models.
The remainder of this paper will be organized as follows. Section 2 presents an overview of related work of this research. Section 3 discusses our proposal for the usability model. Section 4 presents a case study illustrating the feasibility and the importance of our proposal. Finally, Section 5 presents some conclusions and provides perspectives for future research works.

A. Usability Definition
Usability is largely considered as a determinant factor for the success or failure of mobile apps [4]. Several definitions for usability can be found in the literature.
As the standard ISO/IEC 9126-1 [5] states, usability denotes "the capability of the software product to be understood, learned, and used as well as to be attractive to the user, when used under specified conditions". According to this standard, usability can be measured through two types of attributes:  External attributes: This can be measured at the end of the development process when the system is developed.
 Internal attributes: This can be measured prior to the system implementation, during the design stage.
The standard ISO/IEC 9241 [6] define usability as "the extent to which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and satisfaction in a specified context of use".
Authors in [7] presented a consolidated usability model that considers the ISO/IEC 9241 as a basis and integrates others usability characteristics from the ISO/IEC 9126 and others sources. In this consolidated model usability is defined in terms For a long period of time, these definitions and others was being the basis for several research works with the aim of extending the presented dimensions and proposing measures to quantify them. These measures are usually gathered into a usability model which in turn is involved in a usability evaluation process. The main objective of such process is to measure usability and recognize explicit problems. In the mobile context, it aims to identify the main issues in the user interface that may lead to human error while interacting with the application and cause user frustration.
In the next section, a brief description about the literature of usability evaluation methodologies in the mobile context is discussed.

B. Methodologies for usability Evaluation of Mobile Apps
The usability literature identifies several techniques which can be classified in two major categories: laboratory experiments and field studies [4], [9]. In a laboratory experiment, representative end users are intended to accomplish a set of specific tasks in a controlled laboratory setting. In a field study, users are allowed to use mobile apps in the real environment. A brief description of each category is presented in the following section.

1) Laboratory experiments:
Laboratory experiments for mobile usability evaluation takes place in a very specific and controlled environment (usability labs). Users are giving predefined tasks to be accomplished and their behavior while interacting with the apps may be recorded and later analyzed [9]. The reported results are used to highlight some usability issues which are considered relevant for the improvement of mobile apps usability [10]. In addition, the reported results may lead to some recommendations regarding applications design [11].
The main advantage of this type of techniques is related to the possibility to ensure that they test all usability aspects due to the controlled environment and the predefined tasks. On the downside, isolating users from the environmental factors prevalent in the real world may cause differences in user experience. In addition, organizing a lab experiment is always costly than others techniques due to the required equipment [4].
2) Field study: A field study is a general method that involves observation and interviews to collect data about user's need and product requirements [4]. It allows participants to really use the apps. Data are collected by taken notes while users are involved in an activity or asking them questions after using the apps. Questionnaire is one from the effective techniques used to gather the data [12]. It aims to recuperate user's opinions while interacting with the apps. The quality of the questionnaire and the sufficient control overs users during the field study are the main drawback with regard to field studies techniques.
3) Discussion: With regard to the existing literature for mobile usability, the following shortcomings are identified:  Usability was typically evaluated once the application is implemented. This involves a lot of reworks to go back to the design and makes the required changes.
 Usability was usually evaluated subjectively without defining usability attributes and giving specific details about their calculation formula and scores interpretation.
 The usability measures used are independent of the development process without any way to handle them throughout this process. Consequently, there is no way for designers and developers to identify the required changes which are susceptible to improve these measures.
In addition to all these shortcomings, and to the authors' knowledge, there are no proposals for measuring mobile usability in MDE environment. However, MDE was proven quite appropriate for the development of mobile apps, reducing significantly technical complexity and development costs [13], [14]. Therefore, there is a need to investigate the usability of mobile apps generated within an MDE process. In order to covers this need, the present paper proposes a usability model which gathers usability attributes that can be evaluated early in the MDE process from the conceptual models.

A. Overview
The aim of the proposed usability model is address some of the shortcomings of existing usability models when applied to mobile apps. It is strongly builds on the usability model presented in [15]. The choice can be justified by the followings:  The adopted model is designed with the aim of measuring usability of user interfaces generated with an MDE process.  The adopted model contains a set of attributes which are defined generically which facilitates their application to any MDE-compliant method. A slight modification may be required.
 An empirical evaluation, which is a cornerstone of any scientific method, is conducted for this model.  The adopted model defines a set of internal metrics that can be measured from the conceptual models.
Note that, the adopted model is designed for traditional desktop applications. Consequently, some features of the mobiles devices can introduce a new challenge with regard to the usability attributes, metrics and indicators value. In this paper, the interest is focused on two features: small screen size and data entry methods. www.ijacsa.thesai.org To better clear our proposal and the new challenge introduced by these features of the mobiles devices, we present in what follow a simple example of the impact of each one of them on some usability attributes. The example aims to clarify the main contribution of this paper which includes:  The adaptation of the value of some indicators.
 The integration of new elements to the model (attributes and/or metric) which are considered relevant according to the mobile apps usability literature.
With regard to the screen size, its effect is closely related to the amount of content displayed in an application. This can affect the indicator value for some usability attributes, especially the Information Density. This later can be measured by the total number of UI elements which is recommended by some research work to be 20. For a mobile device such as "iPAQ Hx2490 Pocket PC", this recommended value is 5.
As for the data entry method, most of mobile devices users use their finger to point/select an element. Thus, when developing mobile apps its crucial to take into consideration the size of pointer target elements. Several UI guidelines for mobile apps such as [16], [17] and [18] recommend a size of 44 pts (7-10 mm) at least for a pointer target element.
Considering the illustrated example, it becomes clear that an extension of the adopted model is required. To do this, we have analyzed several usability models for mobile apps and especially user interface guidelines for mobile apps. The aim was to extract and/or adapt usability attributes/metrics which we consider relevant to the context of this paper. According to [19], iOS and Android are currently the most prominent operating systems and they hold more than 98% of the worldwide market share. Thus, their user interface guidelines form the main basis used while proposing our usability model. As mentioned before, the proposed elements (attribute and/or metric) focus especially on the impact that small screen size or data entry methods can have on the design choice. The others elements existing in the initial version of the adopted model are considered unaffected by these two features.in addition, we focus on usability attributes that can be measured before the application is implemented. It should be noted that the objective of this paper is not to present an exhaustive list of usability attributes. Attributes in Fig. 1 are considered as a starting point for conducting usability evaluation of mobile apps early in the development cycle. Others attributes can be added to the list when more information becomes available.

B. Attributes of usability
With regard to the proposed model, the concept of usability is divided into four sub-characteristics:  Learnability: the ability of the software system to allow users to learn its application.
 Understandability: the ability of the software system to allow users to understand its application and to easily performs tasks.
 Operability: the capability of the software system to allow users to operate and control it.
 Attractiveness: the capability of the software system to be attractive to the user.
Each one of the former sub-characteristics is quantified using at least one attribute which in turn is measured via metrics. The usability metrics are defined generically and based on conceptual primitives1 of the conceptual models. The generic definition allows the application of the proposed model to any MDD method with similar conceptual primitives (a slight modification may be required). The use of conceptual primitives when defining metrics allows their calculation from the early stage of the development life cycle using conceptual models as input.
For the Learnability, 3 usability attributes are considered. Prompting which refers to the means available to help users to make specific actions such as data entry. Predictability which refers to the means available to help users predict his/her future action. Feedback which concerns the system responses to the user action. It helps users know the treatment being done by the app, discover possible future actions, and understand the results of these actions.
As for the Understandability, 5 attributes are considered. The first one is the Information Density which is concerns the users' workload from a perceptual and cognitive pint of view with regard to the whole set of information displayed to the user. The second one is the Brevity which focuses on the means available to reduce the cognitive efforts of the users while interacting with the system. The third attribute is the www.ijacsa.thesai.org Navigability. It describes the ease with which a user can move around in the application. Legibility is the fourth attribute for the understandability sub-characteristic. It describes the degree to which a reader can recognize easily a text. The fifth attribute is Message Quality which concerns the expressiveness of the error message.
Concerning the Operability sub-characteristic, 4 attributes are considered to measure this sub-characteristic. Cancel Support, Undo Support and Explicit User Action are considered to measure the degree of control that users have over the treatment of their actions. In addition, the Error Prevention attribute refers to the means available to prevent data entry errors.
With regard to the Attractiveness, attributes that are related to the aesthetic design of the user interface such as Font Style Uniformity and Color Uniformity are considered relevant to make the product attractive to the user. Moreover, Consistency which measures the maintaining of the interface design choices in similar context. It is largely considered as fundamental principle of the design. Another attribute called Balance is considered relevant for the attractiveness. It is related to the aesthetic design of the interface. It concerns the distribution of the optical weight in a user interface.

C. Metric Definition
Defining usability metrics is a crucial part of any usability evaluation method. It aims to describe a way to quantify an attribute. In this section, we present the usability metrics introduced through our proposal to measure each usability attributes. We opted for the generic description in order to allow its application to any MDD method. Adopted metrics that are considered unaffected are not described here.

1) Structured text entry:
Several user interface guidelines recommend using structured text entry as a way to better guide user to enter data when the system can only accept inputs in an exact format (e.g. phone numbers, credit-card). By analogy to the label with supplementary information, we state that ate least 95% of the input elements should display a mask. Equation (1) show the calculation formula of these metric.  n is total number of input element that accept data with exact format.

2) Built-in icons:
Concerning the built-in icons, its largely recommended to use these built-in icons (system icons) because they are familiar to users. By Similarity to the meaningful label, we state that at least 95% of action elements should display. Equation (2) illustrates the calculation formula for this metric.  n is total number of action element in the interface. Table 1 illustrates some icons and their meaning from the iOS human interface guidelines [16].
3) Density measure: The density measure describes the extent to which the screen is covered with object. It searches the equilibrium between the information displayed to the user and the white space. A good interface should not be too dense as is recommended by several usability guidelines. Equation (3) Where: a i and a frame represents respectively the area of object i and the area of the frame; and n is the number of objects on the frame.

4) Default value:
Several usability guidelines such as [20] and [21] recommend using default value as much as possible. According to [22], at least 20% of input elements should have a default value. Noted that the default value is used twice in our proposal. One time for input element and other for all user interface controls with enumerated values (check box, radio buttons, etc.). We opted for the same formula and indicator for this metric.

Built-in icon Meaning
Creates a new item.
Takes a photo or video, or show the photo library.
Open a new view in edit mode.
Display a search field.
Delete the current or selected item.
Begin or resumes media playback or slides. www.ijacsa.thesai.org 5) Legibility: It concerns the characteristics of the information presented to the user that may facilitates the reading of this information (font size, line spacing, etc.). in the context of this paper, two main metrics are considered relevant and proposed to quantify the legibility attribute:  Tapped element size: according to the iOS human interface guidelines, a minimum of 44pt  44pt taped area for all interactive elements should be considered when designing an interface. This metric is calculated according to the formula shown in Equation (5).
Where BL vertical and BL horizontal are, respectively, the vertical and horizontal balances with Where, L, R, T, and B refers respectively to Left, Right, Top and Bottom. W j is the weight of the j side of the interface (left, right, top and bottom).

D. Discussion
With regard to the related works, the proposed usability model presents three main advantages which are:  Objective metrics: there a few models which presents objectives metrics to evaluate the usability of mobile apps. The majority performs a subjective evaluation based on user's feedback.
 Generic description: metrics proposed in this paper are defined generically and thus can be applied to any MDD method with similar conceptual models.
 Early evaluation: using the proposed model it is possible to evaluate usability early in the development life cycle from the conceptual models. To the best of our knowledge, all others related works requires the system implementation to evaluate the usability.
Note that the proposed model is intended to be a building block of an early usability evaluation process of mobile apps in the model-driven context.

IV. CASE STUDY
The objective of this section is to illustrate the applicability and the benefits of our proposal. The object of the study is a simple Car Rental System (CRS). The scenario is adapted from [23] and the sketch of user interface for a smartphone is extracted from [24].
Since the CRS is large, we focus our interest on the following tasks: car information, customer personal information and car preferences. The left part of Fig. 2 show the concrete user interface generated according to the principles presented [21]. The right part shows a sketch of the final user interface for a smartphone.

A. Data Collection and Analysis
With regard to the concrete user interface model from Fig. 2 several usability problems can be identified. The first one is related to the Brevity attribute, in particular to its Default Value metric. Users are intended to enter their city.
Due to the small screen size of the smartphone and consequently the small size of the characters in the keyboard, a lot of typos can occur. User can spend a lot of time to enter the correct value to the city input element. A drop down list with a preselected value is a way to prevent typos errors and accelerate the data entry process. The same problem occurs for the preferences list. There is no default value and thus, the value of this metric is equal to 0 (according to Eq. (4)). This raises a very critical usability problem.
Other usability problem can be identified with regard to the built-in icons metric. There is no button over the apps that present an icon. According to Equation (2), a very critical usability problem is raised.
Note that some of the metrics and attributes presented in the proposed model cannot be measured. This is because of the lack of required information such as element size or position. This illustrates another benefit of the proposed model which is to discover the expressiveness of the conceptual models of the used method.

B. Lessons Learned
The case study has been useful allowing us to learn more about the potentialities and limitation of our proposal. The proposed usability model can be used to detect several usability problems during the early stage of the development process. The analysis of these problems is susceptible to identify the source of problems in the conceptual models and to discover the expressiveness of the meta-model used to describe these conceptual models.
The operationalization of the usability metrics in the underlying method illustrates their applicability to any MDD method even if a slight modification can be required.
This result can be considered as encouraging results to build on it and conduct some improvements with regard to the value of indicators, their validation with an empirical study, the integration of the proposed model into a usability evaluation process.

V. CONCLUSION
The paper presents a usability model which is intended to be used to evaluate the conceptual models of an MDD method. The objective was to identify potential usability problems presented in conceptual models and makes the required changes to resolve these problems. This is likely to improve the usability of the final application which is produced by transforming these conceptual models. The proposed usability model gather a set of usability metrics defined generically based on the conceptual primitives that may constitutes the conceptual models. This allow the proposed model to be integrated into any MDD method. It may require a slight modification to instantiate the generic description according to the conceptual primitives of the selected method. The applicability of the proposed model is illustrated using a simple case study. As a continuation of this work, several research studies can be considered. We plan to instantiate the proposed model according to a well-known MDD method and develop a tool to support the evaluation process. In addition, we plan to carry out an experiment allowing us to define the ranges of values for each metric (especially those for new elements introduced in the model) based on users' perception. This will make them more realistic than current ranges which are estimated based on those ranges of similar metric from the original usability model.