Abstract
Implementing usable and accessible user interfaces is a challenge, especially for mobile applications. App developers have to include accessibility in an additional step during the implementation, very often they overlook this extra workload.
There are concepts which combine Model Driven Development (MDD) for apps or semi-automatic support to create accessible software. But helpful tools to support accessibility features for apps during the implementation are hardly discussed in literature.
The aim of this paper is a concept of model-based software development for accessible apps. Within the domain of transportation apps, we provide a model to create an app scaffold with the required elements and accessibility features included from the beginning.
You have full access to this open access chapter, Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
Mobile applications are one of today’s fastest growing software areasFootnote 1. Apps, with simple intuitive user interfaces, are easy to use. The UI is mostly based on graphical representation a touch input.
For visually impaired and blind people this interaction paradigm is a challenge. Accessible web or desktop applications are already widespread, but this know-how cannot always be adopted to mobile apps.
Including accessibility is a challenge for developers and therefore it is handled more like a feature or add-on than a prerequisite. This work shows an approach to use Model-Driven Development (MDD) to create accessible mobile apps.
2 Related Work
The topics Accessibility, Mobile Applications and Model-Driven Development are part of current research. This is also visualised in Fig. 1, which shows the overlapping domains of Model Driven Development (MDD), Accessibility and Mobile Development. There is already some exiting work which covers the outer intersections. For example, Accessibility and Mobile Development or Accessibility and Mobile Applications have been covered by previous papers, but seldom all three fields of research are discussed together in the scientific community.
The main contribution of this work lays in the middle of the three circles, namely the intersection of all three domains. Following existing research is related to our approach:
The book Model driven Software Development (MDSD) from Voelter et al. covers the (semi-) automatic generation of software [20], but mentions mobile devices only in one minor example and accessibility is not covered at all. In the fast growing area of mobile applications there is also a need for this agile and effective methods to create software. There are different approaches. Barrnet et al. [4] describes a tool to generate data-driven apps based on a Domain Specific Language (DSL, compare [7]), with MD2 form Heitkoetter et al. [11] even cross-platform apps are created from a model. The latter tool focuses on business apps where common source code is compiled into native iOS and Android apps, sadly neglecting accessibility topics.
MDD also helps to include accessibility in the development process. The Johar framework from Andrews and Hussain [1] uses an interface interpreter to create accessible applications for a range of users with different abilities. González-García et al. [8, 9] use a model-based graphical editor tool to design an accessible web based media player. The UsiXML presented by Vanderdonckt [19] promotes the integration and use of a User Interface Description Language (UIDL).
For accessibility combined with mobile app development, there are several publication which discuss smartphone-based assistive technologies for the blind. For example, Narasimhan et al. [15] presented in 2009 the mobile phone tool Trinetra to assist visually impaired people during grocery shopping. Guidelines to develop for visually impaired and blind people can be found in [17]. Harder [10] discussed the possibilities for general mobility already in 1999, but for several modern approaches of implementation and design of touch-based smartphone interfaces see [4, 12–14]. These contributions focus on accessible way-finding apps as well as new ways of touchscreen usage for blind people.
3 A Concept for Model-Driven-Development for Accessible Apps
This work shows a concept to generate transportation apps for visually impaired and blind people. These people have special needs when it comes to live an independent life. Traveling and moving on their own is a very important factor [10]. Various apps are available to support this user group, but not every app provides an accessible user interface.
The innovative part of the empirical work in this contribution uses MDD to generate accessible apps. With the help of a meta model a concrete model of an transportation app is designed. Several features and workflows for the domain of transportation apps are included in this model. For example, most transportations apps need the functionality to fetch the current GPS position, which is part of the meta-model. Specifying getposition (see Sect. 3.1) in the model adds to appropriate code to the app. With an instance of this model an app scaffold is generated.
Based on best practices for accessible apps (see [4, 12–14]) and the adoption of common standards (see [5, 18]) required accessibility features are included from the beginning.
App programmers open the generated sources in the development environment (IDE) and can focus on the business logic which is not generated automatically. The resulting app has a simplified workflow and an accessible user interface (see screenshot in Fig. 2).
3.1 Model
Concerning the model, we choose a domain specific approach. Which leads to a very specific and a straightforward model. We choose the domain of mobility and transportation apps. These kinds of apps help visually impaired, and disabled people to be more independent while travelling. For this reason a research on common transportation apps was necessary.
Transportation apps like Google Maps, OSM Routing or apps from different public transport companies have similar features. These are:
-
Fetching your actual position
-
Entering a target location
-
Searching for a location
-
Showing a route
-
Display a map
-
Receiving infos from public transport
These features and workflows within an app are defined in a model. With a defined notation developers are able to build the scaffold of their own transportation app.
3.2 Modeling Language
Domain Specific Languages (DSL) help you to describe a model in your domain [7]. In this work an internal DSL is used. The language definition and the dedicated models are written in XML. We choose XML, because there are various tools available to create and process XML-based languages. But in the end it is more the less a personal decision, which language you use [6]. For better usability and non programmers a visual editor to create the model based on this DSL would be helpful.
Example of an GPS position finder app:
3.3 App Accessibility
People with special needs are nowadays able to operate standard computers without great difficulties. With the help of, for example, a braille display and build-in features of an operating system a visually restricted person can perform tasks on a PC. Visually impaired and blind people where also used to handle key-based mobile phones with screenreader software as add-on. With the uprise of touch-based smartphones these users had to find new ways of interaction.
On the popular mobile platforms iOS and Android are already some accessibility features included. The VoiceOverFootnote 2 system on iPhone allows a blind person to use a smartphone. On the Android platform TalkBackFootnote 3 is the integrated accessibility feature to react the user’s touch input to voice output. But both systems can only provide an accessible user experience if an app is created properly. Developers have to follow the guidelines for iOS [3] or for Android [2]. Both platforms have some similarities but have also some big differences.
The Web Accessibility Initiative (WAI) of the W3C provides standards to improve accessibility for the Web. The actual standard for web applications is WCAG 2.0 [5] this guideline is based on general principles for accessible development rather then technical solutions. Therefore this standard provides a basis for non web solutions as well. Relevant principles of WCAG 2.0 [5] are:
-
Perceivable
-
Operable
-
Understandable
-
Robust
These principles are relevant to modern web applications but can be applied to non-web contents like mobile applications.
Currently a first public draft for a new standard for mobile accessibility [18] is available. This document describes how the principles and guidelines of existing standards like WCAG 2.0 can also be applied to native mobile apps.
In an (semi-) automatic generation process we have to consider platform independent principles and also platform related source code enhancements.
3.4 App Generation
With the model specified in Sect. 3.1 we are now able to generate an app scaffold for accessible transportation apps. This step, also known as transformation [20], is handled by a chain of tools. The first one in this chain is JAXB [16], whose task is to read the XML file and transform it into Java objects. Having the information stored in objects allows now to use it in combination with the Android command line tools to create an Android project scaffold. After this we are triggering a templating engine which generates the files, which are needed for the structure specified in the model. The process from XML-based model to a final app is illustrated in Fig. 3. The previous step also includes the mentioned accessibility features which are noticed in the Sect. 3.3.
The outcome from this transformation process is an app scaffold with accessibility features. All required app components (e.g. start-activity) and libraries (e.g. routing-lib) are available in the app project. Further product flavours can be integrated in the app’s source code. Features like content description for integrated screen reader support or active voice output in selected parts of the app are automatically generated.
4 Conclusion
In this paper we describe the combination of the topics accessibility, mobile apps and model-driven development. In the Section related work we looked at the intersection of these domains.
In the empirical part of this work we build a meta-model for the domain of transportation apps. With an instance of this model one can create a app-scaffold for accessible transportation apps. In the model-transformation process all main-screens, workflows and platform related accessibility features are produced. Developers can focus on the app features, because accessibility is build in from the beginning.
Further work will be the improvement of this concept concerning the utility and usability of the model generation and transformation.
References
Andrews, J.H., Hussain, F.: Johar: a framework for developing accessible applications. In: Proceedings of the 11th International ACM SIGACCESS Conference on Computers and Accessibility, ASSETS 2009, pp. 243–244. ACM, October 2009
Android: Accessibility - usability - google design guidelines. http://www.google.com/design/spec/usability/accessibility.html
Apple: Accessibility on ios. https://developer.apple.com/accessibility/ios/
Barnett, S., Vasa, R., Grundy, J.: Bootstrapping mobile app. development. In: Proceedings of the 37th International Conference on Software Engineering, ICSE 2015, vol. 2, pp. 657–660. IEEE Press, Piscataway (2015)
Caldwell, B., Reid, L.G., Cooper, M., Vanderheiden, G.: Web content accessibility guidelines (WCAG) 2.0. W3C recommendation, W3C, December 2008. http://www.w3.org/TR/2008/REC-WCAG20-20081211/
Fowler, M.: Parserfear (2008). http://martinfowler.com/bliki/ParserFear.html
Fowler, M.: Domain-Specific Languages. Pearson Education, Upper Saddle River (2010)
González-García, M., Moreno, L., Martínez, P.: A model-based tool to develop an accessible media player. In: Proceedings of the 17th International ACM SIGACCESS Conference on Computers & Accessibility, ASSETS 2015, pp. 415–416. ACM, New York (2015)
González-García, M., Moreno, L., Martínez, P., Miñon, R., Abascal, J.: A model-based graphical editor to design accessible media players. J. UCS 19(18), 2656–2676 (2013)
Harder, A., Kasten, E., Sabel, B.A.: Möglichkeiten der mobilität blinder menschen. Aktuelle Augenheilkunde 2, 8–13 (1999). http://www.med.uni-magdeburg.de/~harder/mob1/mob1.html
Heitkötter, H., Majchrzak, T.A., Kuchen, H.: Cross-platform model-driven development of mobile applications with md2. In: Proceedings of the 28th Annual ACM Symposium on Applied Computing, SAC 2013, pp. 526–533. ACM (2013)
Krajnc, E., Feiner, J., Schmidt, S.: User centered interaction design for mobile applications focused on visually impaired and blind people. In: Leitner, G., Hitz, M., Holzinger, A. (eds.) USAB 2010. LNCS, vol. 6389, pp. 195–202. Springer, Heidelberg (2010)
Krajnc, E., Knoll, M., Feiner, J., Traar, M.: A touch sensitive user interface approach on smartphones for visually impaired and blind persons. In: Holzinger, A., Simonic, K.-M. (eds.) USAB 2011. LNCS, vol. 7058, pp. 585–594. Springer, Heidelberg (2011)
Mattheiss, E., Krajnc, E.: Route descriptions in advance and turn-by-turn instructions - usability evaluation of a navigational system for visually impaired and blind people in public transport. In: Holzinger, A., Ziefle, M., Hitz, M., Debevc, M. (eds.) SouthCHI 2013. LNCS, vol. 7946, pp. 284–295. Springer, Heidelberg (2013)
Narasimhan, P., Gandhi, R., Rossi, D.: Smartphone-based assistive technologies for the blind. In: Proceedings of International Conference on Compilers, Architecture, and Synthesis for Embedded Systems, CASES 2009, pp. 223–232. ACM, New York (2009)
Ort, E., Mehta, B.: Java architecture for xml binding (JAXB). Sun Developer Network, March 2003. http://www.oracle.com/technetwork/articles/javase/index-140168.html
Park, K., Goh, T., So, H.J.: Toward accessible mobile application design: developing mobile application accessibility guidelines for people with visual impairment. In: Proceedings of Conference on Human Computer Interaction Korea, HCIK 2015, pp. 31–38. Hanbit Media Inc., South Korea (2014)
Patch, K., Spellman, J., Wahlbin, K.: Mobile accessibility: how wcag 2.0 and other w3c/wai guidelines apply to mobile. Technical report, W3C (2015)
Vanderdonckt, J., Limbourg, Q., Michotte, B., Bouillon, L., Trevisan, D., Florins, M.: Usixml: a user interface description language for specifying multimodal user interfaces. In: Proceedings of W3C Workshop on Multimodal Interaction WMI, vol. 2004 (2004)
Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-driven Software Development: Technology, Engineering. Management. Wiley, New York (2013)
Acknowledgments
This work was funded by the Austrian research funding association (FFG) under the scope of the program Mobility of the Future within the research project PONS.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 IFIP International Federation for Information Processing
About this paper
Cite this paper
Krainz, E., Feiner, J., Fruhmann, M. (2016). Accelerated Development for Accessible Apps – Model Driven Development of Transportation Apps for Visually Impaired People. In: Bogdan, C., et al. Human-Centered and Error-Resilient Systems Development. HESSD HCSE 2016 2016. Lecture Notes in Computer Science(), vol 9856. Springer, Cham. https://doi.org/10.1007/978-3-319-44902-9_25
Download citation
DOI: https://doi.org/10.1007/978-3-319-44902-9_25
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-44901-2
Online ISBN: 978-3-319-44902-9
eBook Packages: Computer ScienceComputer Science (R0)