Skip to main content
Log in

Adaptation of Single-user Multi-touch Components to Support Synchronous Mobile Collaboration

  • Published:
Mobile Networks and Applications Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig 4
Fig 5

Similar content being viewed by others

References

  1. Android (2014) http://developer.android.com/samples/index.html

  2. Apache Ant (2014), http://ant.apache.org/

  3. 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

  4. 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

  5. Begole J, Smith RB, Struble CA, Shaffer CA (2001) Resource sharing for replicated synchronous groupware. IEEE/ACM Transactions on Networking 9(6):833–843

    Article  Google Scholar 

  6. BGR COM (2014) Zynga buys ‘Draw Something’ creator OMGPOP, http://bgr.com/2012/03/21/zynga-buys-draw-something-creator-omgpop/

  7. Buschmann F, Meunier R, Rohnert H (1996) Sommerlad, P, Stal. M. A System of Patterns. John Wiley & Sons Ltd., Pattern-Oriented Software Architecture

    Google Scholar 

  8. 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

  9. 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

  10. 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

  11. Dewan, P. (1995) Multiuser architectures. In Proceedings of 1995 Working Conference on Engineering for Human-Computer Interaction, pp. 247–270

  12. Gamma E, Helm R, Johnson R (1995) Vlissides, J. Design Patterns, Elements of Reusable Object-oriented Software. Addison-Wesley

    Google Scholar 

  13. Gradle (2014) http://www.gradle.org/

  14. 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

  15. 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

  16. 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

  17. 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

  18. Hill J, Gutwin C (2004) The MAUI Toolkit: Groupware Widgets for Group Awareness. Journal Computer Supported Cooperative Work 13(5–6):539–571

    Article  Google Scholar 

  19. 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

    Google Scholar 

  20. 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

    Google Scholar 

  21. 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

  22. 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

  23. 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

  24. 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

  25. 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

  26. Maven (2014) http://maven.apache.org/

  27. Metro Paint (2014) http://www.codeproject.com/Articles/416878/Metro-Paint

  28. 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

  29. 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

    Article  Google Scholar 

  30. Opensudoku-android (2014), http://code.google.com/p/opensudoku-android/

  31. 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

  32. 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

  33. 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

  34. 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

  35. 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

  36. 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

    Article  Google Scholar 

  37. 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

  38. 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

  39. 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

  40. 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

    Article  Google Scholar 

  41. Sudoku (2013) https://github.com/cokecoffe/sudoku

  42. 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

    Article  Google Scholar 

  43. 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

  44. The UIMS (1992) Tool Devlopers’Workshop A metamodel for runtime architecture of an interactive system. SIGCHI. Bulletin 24(1):32–37

    Google Scholar 

  45. Xia, S., Sun, D., Sun, C., Chen, D., Shen, H. (2004) Leveraging single­user applications for multi­user collaboration: the CoWord approach. In: Proceedings of 9th ACM CSCW Conference. Chicago, USA, pp. 162–171

  46. 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

  47. 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

  48. 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

Download references

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

Authors

Corresponding author

Correspondence to Mauro C. Pichiliani.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11036-014-0512-0

Keywords

Navigation