Abstract
Mobile applications, which include calendars, browsers, and interactive maps, are part of our lives nowadays. Most mobile applications are single user; and they do not enable synchronous collaboration among the users. Mobile collaboration enables multiple users in diverse locations to combine synergistically their contributions in a convenient manner. We investigate the potential to create collaborative applications based on existing single user mobile applications. In this work, we propose an adaptation technique based on the reuse of manufacturers’ SDKs (Software Development Kits) to create multi-user prototype applications. In general, adaptation is made manually; nonetheless, we conjecture that some automation is possible. This paper investigates this possibility. More specifically, we hypothesize that if the target SDK’s components of mobile applications comply with certain design guidelines, automatic adaption can be enhanced. We present a reference model and an automatic process to develop high-fidelity prototype multi-user mobile applications by the conversion of multi-touch user interface found on single-user applications. We discuss two examples that illustrate our proposal and provide a quantitative Lines of Code (LOC) comparison of existing approaches.
Similar content being viewed by others
References
Android (2014) http://developer.android.com/samples/index.html
Apache Ant (2014), http://ant.apache.org/
Banovic N, Grossman T, Matejka J, et al (2012) Waken: Reverse Engineering Usage Information and Interface Structure from Software Videos. In Proceedings of the 25th annual ACM symposium on User Interface Software and Technology, pp. 83–92
Bartel, J., W., Dewan, P. (2012) Towards multi-domain collaborative toolkits. In Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, pp. 1297–1306
Begole J, Smith RB, Struble CA, Shaffer CA (2001) Resource sharing for replicated synchronous groupware. IEEE/ACM Transactions on Networking 9(6):833–843
BGR COM (2014) Zynga buys ‘Draw Something’ creator OMGPOP, http://bgr.com/2012/03/21/zynga-buys-draw-something-creator-omgpop/
Buschmann F, Meunier R, Rohnert H (1996) Sommerlad, P, Stal. M. A System of Patterns. John Wiley & Sons Ltd., Pattern-Oriented Software Architecture
Calvary, G., Coutaz, J., Nigay L. (1997) From single-userarchitecturaldesign to PAC*: A generic software architecture model for CSCW. In Proceedings of the CHI’97 Human Factors in Computing Systems, California, EUA, pp. 242–249
Davis, B., Sanders, B., (2012) Khodaverdian, A., Chen, H. I-ARM-Droid: A Rewriting Framework for In-App Reference Monitors for Android Applications. In Proceedings of the 2012 Mobile Security Technologies Conference, California, USA
Dehlinger, J., Dixon, J. (2011) Mobile Application Software Engineering: Challenges and Research Directions. In Proceedings of the 3rd International Conference on Mobile Computing, Applications, and Services, Los Angeles, USA
Dewan, P. (1995) Multiuser architectures. In Proceedings of 1995 Working Conference on Engineering for Human-Computer Interaction, pp. 247–270
Gamma E, Helm R, Johnson R (1995) Vlissides, J. Design Patterns, Elements of Reusable Object-oriented Software. Addison-Wesley
Gradle (2014) http://www.gradle.org/
Graham, T.C.N., Urnes, (1996) T. Linguistic support for the evolutionary design of software architectures. In Proceedings of the 18th International Conference on Software Engineering, Berlin, Germany, pp. 418–427
Graham, T.C.N., Urnes, T., Nejabi, R. (1996) Efficient distributed implementation of semi-replicated synchronous groupware. In Proceedings of the ACM Symposium on User Interface Software and Technology (UIST ’96), Washington, EUA, pp. 1–10
Gutwin, C. A., Lippold, M., Graham, T. C. N. (2011) Real-time groupware in the browser: testing the performance of web-based networking. In Proceedings of the ACM 2011 conference on Computer Supported Cooperative Work, pp. 167–176
Hao, S., Li, D., Halfond, W.G.J., Govidan, R. (2013) SIF: A Selective Instrumentation Framework for Mobile Applications. In Proceeding of the 11th annual international conference on Mobile systems, applications, and services, pp. 167–180, Taipei, Taiwan
Hill J, Gutwin C (2004) The MAUI Toolkit: Groupware Widgets for Group Awareness. Journal Computer Supported Cooperative Work 13(5–6):539–571
Knister M, Prakash A (1993) Issues in the Design of a Toolkit for Supporting Multiple Group Editors. Computing Systems. The Journal of the Usenix Association 6:135–166
Krasner GE, Pope ST (1988) A cookbook for using the Model-View-Controller user interface paradigm in Smalltalk-80. Journal of Object-Oriented Programming 1(3):26–49
Laurillau, Y., Nigay, L. (2002) Clover architecture for groupware. In Proceedings of the 2002 ACM conference on Computer supported cooperative work, pp. 236–245, NY, USA
Li, D., Li, R. (2002) Transparent sharing and interoperation of heterogeneous single-user applications. In Proceedings of the 5th ACM CSCW Conference. New York, USA, pp. 246–255
Li, D., Yang. Y., Creel, J., Dworaczyk, B. (2006) A Framework for Building Collaboration Tools by Leveraging Industrial Components. In Proceedings of the 2006 Confederated international conference on the Move to Meaningful Internet Systems. Montpellier, France, pp. 605–624
Lin, K., Chen, D., Dromey, R. G., Xia, S., Sun, C. (2007) API design recommendations for facilitating conversion of single-user applications into collaborative applications. In Proceedings of the 3rd International Conference on Collaborative Computing: Networking, Applications and Worksharing. New York, USA, pp. 309–317
Lin, K., Chen, D., Sun, C., Dromey, R. G. (2007) Leveraging Single-User Microsoft Visio for Multi-user Real-Time Collaboration. In Proceedings of the 4th International Conference of Cooperative Design, Visualization and Engineering. Shanghai, China, pp. 353–360
Maven (2014) http://maven.apache.org/
Metro Paint (2014) http://www.codeproject.com/Articles/416878/Metro-Paint
Mobile and Social Network Technology: UIBezierPath Tutorial for iPhone SDK 4.0 (2014) http://soulwithmobiletechnology.blogspot.com.br/2011/05/uibezierpath-tutorial-for-iphone-sdk-40.html
Morris MR, Cassanego A, Paepcke Winograd T, Piper AM, Huang A (2006) Mediating Group Dynamics through Tabletop Interface Design. IEEE Computer Graphics and Applications 26(5):65–73
Opensudoku-android (2014), http://code.google.com/p/opensudoku-android/
Patterson, J.F. (1994) A taxonomy of Architectures for Synchronous Groupware Applications. Workshop on Software Architectures for Cooperative Systems of CSCW’94, North Carolina, EUA, pp. 79–88
Pichiliani, M. C., Hirata, C. M. A (2006) Guide to map application components to support multi-user real-time collaboration. In Proceedings of the 2nd International Conference on Collaborative Computing: Networking, Applications and Worksharing. Georgia, USA
Pichiliani, M. C., Hirata, C. M. A (2009) Technical Comparison of the Existing Approaches to Support Collaboration in Non-Collaborative Applications. In Proceedings of the 10th International Symposium on Collaborative Technologies and Systems. Maryland, USA, pp. 314–321
Pichiliani, M. C., Hirata, C. M. (2012) Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration. In Proceedings of the 8th International Conference on Collaborative Computing: Networking, Applications and Worksharing. Philadelphia, USA, pp. 335–344
Ramesh, V., Hsu, C., Agrawala, M., Hartmann, B. (2011) ShowMeHow: Translating User Interface Instructions Between Applications. In Proceedings of the 24th annual ACM symposium on User Interface Software and Technology, pp. 127–134
Roseman M, Greenberg S (1996) Building real-time groupware with GroupKit, a groupware toolkit. ACM Transactions on Computer-Human Interaction (TOCHI) 3(1):66–106
Roussev, V., Dewan, P. (2005) Supporting High Coupling and User-interface Flexibility. In Proceedings of the Ninth European Conference on Computer-Supported Cooperative Work, pp. 45–64, Paris, France
Roy, B., Graham, N., Gutwin, C. (2012) DiscoTech: a plug-in toolkit to improve handling of disconnection and reconnection in real-time groupware. In Proceedings of the ACM 2012 conference on Computer Supported Cooperative Work, pp. 1287–1296
Schuckmann, C., Kirchner. L., Schümmer, J., Haake, J., M. (1996) Designing object-oriented synchronous groupware with COAST. In Proceedings of the 3rd ACM CSCW Conference. New York, USA, pp. 30–38
Strom R, Banavar G, Miller K, Prakash A, Ward M (1998) Concurrency control and view notification algorithms for collaborativereplicated objects. IEEE Transactions on Computers 47(4):458–471
Sudoku (2013) https://github.com/cokecoffe/sudoku
Sun C, Xia S, Sun D, Chen D, Shen H, Cai W (2006) Transparent adaptation of single-user applications for multi-user real-time collaboration. ACM Transactions on Computer-Human Interaction 13:531–582
Suthers, D. (2001) Architectures for Computer Supported Collaborative Learning. In Proceedings of the IEEE International Conference on Advanced Learning Technologies (ICALT 2001), Wisconsin, EUA, pp. 25–28
The UIMS (1992) Tool Devlopers’Workshop A metamodel for runtime architecture of an interactive system. SIGCHI. Bulletin 24(1):32–37
Xia, S., Sun, D., Sun, C., Chen, D., Shen, H. (2004) Leveraging singleuser applications for multiuser collaboration: the CoWord approach. In: Proceedings of 9th ACM CSCW Conference. Chicago, USA, pp. 162–171
Yang, Y., Li, D.(2005) Separating data and control: Support for adaptable consistency protocols in collaborative systems. In Proceedings of the 10th ACM CSCW Conference. New York, USA, pp. 11–20
Yeh, T., Chang, T, Miller, R. C. (2009) Sikuli: Using GUI Screenshots for Search and Automation. In Proceedings of the 22nd annual ACM symposium on User Interface Software and Technology, pp. 183–192
Wasserman, A. I. (2010) Software engineering issues for mobile application development. In Proceedings of the FSE/SDP workshop on Future of software engineering research. New Mexico, USA, pp. 397–400
Acknowledgment
The authors wish to thank the anonymous reviewers that made suggestions to significantly improve the content of this paper. This work has been partially funded by FAPESP/Brazil under grant No. 2012/04260-4 and by CNPq/Brazil under grant No. 203037/2013-8 provided to the authors.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Pichiliani, M.C., Hirata, C.M. Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration. Mobile Netw Appl 19, 660–679 (2014). https://doi.org/10.1007/s11036-014-0512-0
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11036-014-0512-0