Advertisement

Mobile Networks and Applications

, Volume 19, Issue 5, pp 660–679 | Cite as

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

  • Mauro C. Pichiliani
  • Celso Massaki Hirata
Article

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.

Keywords

Multi-touch Mobile Collaboration 

Notes

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.

References

  1. 1.
  2. 2.
    Apache Ant (2014), http://ant.apache.org/
  3. 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–92Google Scholar
  4. 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–1306Google Scholar
  5. 5.
    Begole J, Smith RB, Struble CA, Shaffer CA (2001) Resource sharing for replicated synchronous groupware. IEEE/ACM Transactions on Networking 9(6):833–843CrossRefGoogle Scholar
  6. 6.
    BGR COM (2014) Zynga buys ‘Draw Something’ creator OMGPOP, http://bgr.com/2012/03/21/zynga-buys-draw-something-creator-omgpop/
  7. 7.
    Buschmann F, Meunier R, Rohnert H (1996) Sommerlad, P, Stal. M. A System of Patterns. John Wiley & Sons Ltd., Pattern-Oriented Software ArchitectureGoogle Scholar
  8. 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–249Google Scholar
  9. 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, USAGoogle Scholar
  10. 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, USAGoogle Scholar
  11. 11.
    Dewan, P. (1995) Multiuser architectures. In Proceedings of 1995 Working Conference on Engineering for Human-Computer Interaction, pp. 247–270Google Scholar
  12. 12.
    Gamma E, Helm R, Johnson R (1995) Vlissides, J. Design Patterns, Elements of Reusable Object-oriented Software. Addison-WesleyGoogle Scholar
  13. 13.
    Gradle (2014) http://www.gradle.org/
  14. 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–427Google Scholar
  15. 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–10Google Scholar
  16. 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–176Google Scholar
  17. 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, TaiwanGoogle Scholar
  18. 18.
    Hill J, Gutwin C (2004) The MAUI Toolkit: Groupware Widgets for Group Awareness. Journal Computer Supported Cooperative Work 13(5–6):539–571CrossRefGoogle Scholar
  19. 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–166Google Scholar
  20. 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–49Google Scholar
  21. 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, USAGoogle Scholar
  22. 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–255Google Scholar
  23. 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–624Google Scholar
  24. 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–317Google Scholar
  25. 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–360Google Scholar
  26. 26.
  27. 27.
  28. 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. 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–73CrossRefGoogle Scholar
  30. 30.
  31. 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–88Google Scholar
  32. 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, USAGoogle Scholar
  33. 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–321Google Scholar
  34. 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–344Google Scholar
  35. 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–134Google Scholar
  36. 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–106CrossRefGoogle Scholar
  37. 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, FranceGoogle Scholar
  38. 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–1296Google Scholar
  39. 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–38Google Scholar
  40. 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–471CrossRefGoogle Scholar
  41. 41.
  42. 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–582CrossRefGoogle Scholar
  43. 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–28Google Scholar
  44. 44.
    The UIMS (1992) Tool Devlopers’Workshop A metamodel for runtime architecture of an interactive system. SIGCHI. Bulletin 24(1):32–37Google Scholar
  45. 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–171Google Scholar
  46. 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–20Google Scholar
  47. 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–192Google Scholar
  48. 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–400Google Scholar

Copyright information

© Springer Science+Business Media New York 2014

Authors and Affiliations

  1. 1.Department of Computer ScienceITA - Instituto Tecnológico de AeronáuticaSão José dos CamposBrazil

Personalised recommendations