Synchronizing Application State Using Virtual DOM Trees

  • Jari-Pekka Voutilainen
  • Tommi Mikkonen
  • Kari Systä
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9881)

Abstract

We will all soon have numerous computing devices we use every day interchangeably. Liquid software, a concept where software is allowed to flow from one computer to another, is a programming framework that aims at simplifying the development and use of such multi-device software. The existing research has discovered three major architecture challenges for liquid software: (1) adaptation of the user interface to different devices, (2) availability of the relevant data in all devices, and (3) transfer of the application state. This paper addresses the last challenge and differs from the earlier work by concentrating in application state that is in the DOM tree, a key element in today’s Web applications.

Keywords

Web programming Multi-device ownership Experience roaming Liquid software 

Notes

Acknowledgments

This work has been partially supported by Academy of Finland (projects 283276 and 295913).

References

  1. 1.
    Mäkitalo, N., Pääkkö, J., Raatikainen, M., Myllärniemi, V., Aaltonen, T., Leppänen, T., Männistö, T., Mikkonen, T.: Social devices: collaborative co-located interactions in a mobile cloud. In: Proceedings of the 11th International Conference on Mobile and Ubiquitous Multimedia, p. 10. ACM (2012)Google Scholar
  2. 2.
    Taivalsaari, A., Mikkonen, T.: From apps to liquid multi-device software. Proc. Comput. Sci. 56, 34–40 (2015)CrossRefGoogle Scholar
  3. 3.
    Hartman, J., Manber, U., Peterson, L., Proebsting, T.: Liquid software: a new paradigm for networked systems. Technical report, Technical report 96 (1996)Google Scholar
  4. 4.
    Hartman, J.J., Bigot, P., Bridges, P., Montz, B., Piltz, R., Spatscheck, O., Proebsting, T., Peterson, L.L., Bavier, A., et al.: Joust: a platform for liquid software. Computer 32(4), 50–56 (1999)CrossRefGoogle Scholar
  5. 5.
    Taivalsaari, A., Mikkonen, T., Systa, K.: Liquid software manifesto: the era of multiple device ownership and its implications for software architecture. In: 2014 IEEE 38th Annual Computer Software and Applications Conference (COMPSAC), pp. 338–343. IEEE (2014)Google Scholar
  6. 6.
    Mikkonen, T., Systä, K., Pautasso, C.: Towards liquid web applications. In: Cimiano, P., Frasincar, F., Houben, G.-J., Schwabe, D. (eds.) ICWE 2015. LNCS, vol. 9114, pp. 134–143. Springer, Heidelberg (2015)CrossRefGoogle Scholar
  7. 7.
    Gallidabino, A., Pautasso, C., Ilvonen, V., Mikkonen, T., Systä, K., Voutilainen, J.P., Taivalsaari, A.: On the architecture of liquid software: technology alternatives and design spaceGoogle Scholar
  8. 8.
    Taivalsaari, A., Systä, K.: Cloudberry: an HTML5 cloud phone platform for mobile devices. IEEE Softw. 29(4), 40–45 (2012)CrossRefGoogle Scholar
  9. 9.
    Systä, K., Mikkonen, T., Järvenpää, L.: HTML5 agents: mobile agents for the web. In: Krempels, K.-H., Stocker, A. (eds.) WEBIST 2013. LNBIP, vol. 189, pp. 53–67. Springer, Heidelberg (2014)Google Scholar
  10. 10.
    Taivalsaari, A., Mikkonen, T., Systä, K.: Cloud browser: enhancing the web browser with cloud sessions and downloadable user interface. In: Park, J.J.J.H., Arabnia, H.R., Kim, C., Shi, W., Gil, J.-M. (eds.) GPC 2013. LNCS, vol. 7861, pp. 224–233. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  11. 11.
    Koskimies, O., Wikman, J., Mikola, T., Taivalsaari, A.: EDB: a multi-master database for liquid multi-device software. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems. MOBILESoft 2015, pp. 125–128. IEEE Press, Piscataway (2015)Google Scholar
  12. 12.
    Voutilainen, J.P., Salonen, J., Mikkonen, T.: On the design of a responsive user interface for a multi-device web service. In: Proceedings of the Second ACM International Conference on Mobile Software Engineering and Systems, pp. 60–63. IEEE Press (2015)Google Scholar
  13. 13.
    Voutilainen, J.P., Mattila, A.L., Mikkonen, T.: Lively3D: building a 3D desktop environment as a single page application. Acta Cybernetica 21, 291–306 (2014)CrossRefGoogle Scholar
  14. 14.
    W3C WebRTC Working Group: WebRTC 1.0: real-time communication between browsers (2016)Google Scholar
  15. 15.
    W3C Web Platform Working Group: Shadow DOM (2015)Google Scholar
  16. 16.
    Wasik, B.: In the programmable world, all our objects will act as one. Wired (last modified 14 May 2013), p. 462 (2013)Google Scholar
  17. 17.
    Bellucci, F., Ghiani, G., Paternò, F., Santoro, C.: Engineering javascript state persistence of web applications migrating across multiple devices. In: Proceedings of the 3rd ACM SIGCHI Symposium on Engineering Interactive Computing Systems, pp. 105–110. ACM (2011)Google Scholar
  18. 18.
    Ghiani, G., Paternò, F., Santoro, C.: Push and pull of web user interfaces in multi-device environments. In: Proceedings of the International Working Conference on Advanced Visual Interfaces, pp. 10–17. ACM (2012)Google Scholar
  19. 19.
    Klokmose, C.N., Eagan, J.R., Baader, S., Mackay, W., Beaudouin-Lafon, M.: Webstrates: shareable dynamic media. In: Proceedings of the 28th Annual ACM Symposium on User Interface Software & #38; Technology. UIST 2015, pp. 280–290. ACM, New York (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  • Jari-Pekka Voutilainen
    • 1
  • Tommi Mikkonen
    • 2
  • Kari Systä
    • 2
  1. 1.Gofore Ltd.TampereFinland
  2. 2.Tampere University of TechnologyTampereFinland

Personalised recommendations