Platforma průmyslové spolupráce CZ.1.07/2.4.00/17.0041 Název Specific aspects of designing applications for mobile devices Popis a využití • úvod pro obecný design aplikací • výuka: vývoj pro mobilní platformy Jazyk textu • anglický Autor (autoři) • Lucia Mačková Tokárová Oficiální stránka projektu: • http://lasaris.fi.muni.cz/pps Dostupnost výukových materiálů a nástrojů online: • http://lasaris.fi.muni.cz/pps/study-materials-and-tools Specific aspects of designing applications for mobile devices Mgr. Lucia Mačková Tokárová In the last couple of years, the mobile devices have become more and more important part of people's everyday lives. For a long time, their primary purpose was communication in the form of voice calls and text messages. Mobile devices were fairly simple compared to personal computers. However, with the emergence of smartphones and tablets, the complexity of these devices has increased dramatically. They have become significantly more powerful, as well as affordable. Furthermore, the modifications of infrastructure and distribution of software for mobile devices have expanded the base of application developers. As a result, mobile applications have become more mature, empowering people to perform more advanced tasks. Therefore, it is now more common to use mobile devices in situations, which were widely associated with desktop environment – for many people, it is currently more common to use their smartphones and tablets to browse websites, access social networks and read articles rather than use personal computers (Wroblewski, 2011). On the other hand, the portability of mobile devices has also stimulated the emergence of new, truly mobile use cases. Most of the current devices are equipped with sensors, which can collect data about users location and environment. This data can be used as parameters and provide contextual information about user's actions. All these changes have initiated tremendous growth in the area of mobile design and development. However, the principles of designing and developing applications for mobile devices are different from traditional software development. This report presents the selection of the fundamental issues, which must be considered in the process of designing user interfaces of mobile applications. Development perspective From the development perspective, there are currently three basic approaches for implementing mobile applications. ● Web applications for mobile devices utilize standard Web technologies, such as HTML5, CSS, and JavaScript. It allows for a development of one version of the application, which runs on any device with a conventional Web browser. Some of the main advantages include automatic updates, remote data processing and saving memory space. On the other hand, this method still requires at least minor front-end adjustments for different categories of devices and does not take a full advantage of unique mobile features, such as multi-touch interactions, a camera, or mobile sensors. This approach can be useful when the application relies heavily on content presentation and basic operations, such as sending text messages. ● Native applications are developed separately for each supported platform, using development tools and programming language specific for each given platform. It is currently the most common approach, because it allows to access the specific features of mobile devices. The performance of applications, the user interface, and even the extend of functionality can be optimized for each platform and category of devices. However, it all comes at the expense of longer time, and subsequently an increase in development cost. ● Hybrid applications are theoretically supposed to combine the advantages of both previous methods by embedding Web applications inside native containers that provide access to the features of a native platform. In reality, due to the lack of standards and evolving nature of conventions in mobile industry, this approach still demands adjustments and optimization of applications for various end user devices. As a result, this option is currently used only sporadically, usually for content-heavy applications with simple operations. It is apparent that each approach presents specific advantages and disadvantages. The selection of the best technique depends on the characteristics of the particular project. Yet, it is often difficult to choose, which platforms should be supported and what techniques will be used. The problem is that these implementation questions often overshadow other fundamental decisions associated with users' needs and requirements. As a result, the usability and user experience are negatively affected, which in turn decreases the likelihood of user adaptation. Design considerations In order to maximize the usability of mobile application and provide positive mobile user experience, it is important to deal with a several design considerations. Many of them are associated with differences between desktop and mobile devices and user interfaces, such as different form factors and interactions styles. However, many differences are also caused by specific users' needs and requirements based on mobile context of use. The following list provides the selection of the most substantial issues that need to be considered throughout the process of designing applications for mobile devices. Display size Mobile devices have significantly smaller displays compared to desktop computers. It means that the content and features of mobile applications must be strictly prioritized, showing only the essential elements on each screen. The discoverability of advanced features is considerably reduced (Norman, 2010), since users are provided only with basic functionality and advanced features remain hidden. Other difference is the wide variety of display resolutions and aspect ratios. The design must be flexible to accommodate the elements of the user interface and take advantage of available space on various devices, and at the same time it must remain readable and provide enough space for comfortable interactions. Touch screens Most of the current touch-screen mobile devices are controlled by users' fingertips. As such, interactions are less precise and more error-prone. In order to avoid slips and unintended actions, the controls on touch-screen devices must be larger and further apart compared to controls on desktop user interfaces. Moreover, the fingers cover a large part of the screen, which directly affects the user interface design decisions. The layout of the user interface must be adjusted so that the most frequently used controls are placed within the comfortable reach and the content is not covered by users' hands. Gestural interactions The concept of direct manipulation allows users to learn basic interactions (e.g. tap to open, or swipe to scroll) easily by reducing the cognitive load associated with hardware controls and peripheral devices. Nonetheless, touch-screen interactions are less obvious when it comes to complex operations. The range of possible interactions and the precise dynamics of execution are difficult to discover and subsequently to recall (Norman, 2010). Furthermore, the touch-screen interaction design conventions are still evolving, so it can hardly be taken for granted that users will be familiar with advanced interactions. For now, advanced interactions (such as pull to refresh, squeeze to close an application, or swipe to delete an item) are used mainly as alternatives or shortcuts for more experienced users. Virtual keyboards A vast majority of current touch-screen mobile devices does not contain physical keyboard. Instead, they are equipped with virtual keyboards, which is loaded on the screen on demand. This approach is space-efficient, because when the typing is not required, almost the whole size of the mobile device can be used for content presentation. However, the text input on soft keyboards is more error-prone and less comfortable, because it does not provide physical feedback. As such, it is important to minimize the amount of textual input and consider alternatives, such as voice, gesture, or sensory input. Sensors Modern mobile devices are equipped with a number of sensors, such as GPS, accelerometer, gyroscope, digital compass or proximity sensor. These sensors can collect data about users location and environment, and as such, they can automate or ease various operations. However, it is important to take into account the variety of mobile devices. The presence of particular sensor cannot be taken for granted – some models do not contain the whole range of features and also, the features might be turned off by user. Therefore, it is often necessary to provide alternatives, which cover all possible scenarios. Context of use Sessions with mobile applications are short and occur under varying circumstances (Böhmer et al, 2011; Oulasvirta et al, 2005; Müller et al, 2012). In contrast with desktop and web applications, users cognitive resources are usually not focused solely on the mobile user interface. Their attention might be distracted by their surroundings and other actions they are performing. Under these conditions, clarity and straightforwardness of task flows play substantial role. On the other hand, it is important to find strategies to make users aware of more efficient interaction flows, which may be less intuitive but more useful in the long run. Platform differences The user interface design guidelines and conventions of mobile operating systems are not universal. Each platform provides its own set of standards based on specific size and hardware features of physical devices. As the mobile market grows and changes, the standards evolve. In order to support multiple mobile operating systems with a native application, the design and development process must be handled separately for each platform. It increases the complexity of the work and time requirements. Conclusion The principles of designing and developing applications for mobile devices are substantially different from traditional software development. On one hand, the discrepancies are based on characteristics of target devices – the physical attributes of mobile devices and interaction styles are significantly different from traditional desktop computers. On the other hand, they are caused by specific users' needs and requirements associated with mobile context of use. Designing applications for mobile devices opens new possibilities, but also introduces new challenges to designers and developers. In order to take full advantage of unique characteristics of mobile devices and their role in users' everyday lives, it is important to consider a wide range of aspects and integrate their implications throughout the whole process of application design. Bibliography Böhmer, M., Hecht, B., Schöning, J., Krüger, A., and Bauer, G. 2011. Falling asleep with angry birds, facebook and kindle: A large scale study on mobile application usage. In: Proceedings of the 13th International Conference on Human Computer Interaction with Mobile Devices and Services (MobileHCI 2011), September 2011. Stockholm, Sweden:47–56. Müller, H., Gove, J.L. and Webb, J.S. 2012. Understanding tablet use: A multi-method exploration. In: Proceedings of the 14th International Conference on Human Computer Interaction with Mobile Devices and Services (MobileHCI 2012), September 2012. San Francisco, CA, USA:1–10. Norman, D. 2010. Natural user interfaces are not natural. ACM Interactions, 17(3):6–10. Oulasvirta, A., Tamminen, S., Roto, V., and Kuorelahti, J. 2005. Interaction in 4-second bursts : The fragmented nature of attentional resources in mobile HCI. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems (CHI 2005), April 2005. Portland, OR, USA:910–928. Wroblewski, L. 2011. Mobile First. A Book Apart.