Offline-provisioning and Synchronization of Content for Mobile Webapps

Tim A. Majchrzak, Timo Hillmann

Abstract

Despite progress in the development of cross-platform frameworks, today’s apps often are realized either as native apps or as Webapps. The latter are easy to implement and rely on robust and future-proof technologies such as HTML5, Cascading Style Sheets (CSS) and JavaScript. However, Webapps commonly require a stable Internet connection. Recent developments facilitate offline-enabled Webapps. If an app is able to store data locally, it should also be enabled to synchronize with a server backend. We assess current HTML5 storage capabilities and discuss their possibilities along with considerations of mobile computing synchronization strategies. Our work includes the compilation of requirements that Webapps have regarding their offline capabilities. Moreover, we discuss the status quo of offline storage and give an outlook based on a proof-of-concept implementation.

References

  1. Agrawal, N., Aranya, A., and Ungureanu, C. (2013). Mobile data sync in a blink. In Proc. HotStorage 7813, HotStorage'13, Berkeley, CA, USA. USENIX Association.
  2. Amza, C., Cox, A. L., and Zwaenepoel, W. (2003). Distributed versioning: Consistent replication for scaling back-end databases of dynamic content web sites. In Proc. Middleware 7803, pages 282-304, New York, NY, USA. Springer.
  3. Ananthanarayanan, G., Blagsvedt, S., and Toyama, K. (2006). Oweb: A framework for offline Web browsing.
  4. Apache Cordova. (2014). Retrieved from http://cordova. apache.org/
  5. Archibald, J. (2012). “Application Cache is a Douchebag”. Retrieved from http://alistapart.com/article/applicationcache-is-a-douchebag
  6. “Basic concepts - IndexedDB”. (2013). Retrieved from https://developer.mozilla.org/en-US/docs/IndexedDB/ Basic Concepts Behind IndexedDB
  7. Berjon, R., Faulkner, S., Leithead, T., Doyle Navara, E., O'Connor, E., Pfeiffer, S., and Hickson, I. (2013). Offline Web applications. Retrieved from http://www.w3.org/html/wg/drafts/html/master/ browsers.html#offline
  8. Bidelman, E. (2010). A Beginner's Guide to Using the Application Cache. Retrieved from http://html5rocks.com/ en/tutorials/appcache/beginner/
  9. Bidelman, E. (2011). Exploring the FileSystem APIs. Retrieved from http://html5rocks.com/en/tutorials/ file/filesystem/
  10. Cannon, B. and Wohlstadter, E. (2010). Automated object persistence for JavaScript. In Proc. WWW 7810, pages 191-200, New York, NY, USA. ACM.
  11. Charland, A. and Leroux, B. (2011). Mobile application development: Web vs. native. Commun. ACM, 54:49- 53.
  12. Coda File System. (2014). Retrieved from http://www.coda. cs.cmu.edu/
  13. Conway, J., Hillegass, A., and Keur, C. (2014). iOS Programming. Big Nerd Ranch, 4th edition.
  14. Dar, S., Franklin, M. J., Jónsson, B. T., Srivastava, D., and Tan, M. (1996). Semantic data caching and replacement. In Proc. VLDB 7896, pages 330-341, San Francisco, CA, USA. Morgan Kaufmann.
  15. Deveria, A. (2014). Can I use ? Retrieved from http:// caniuse.com/
  16. Felke-Morris, T. (2014). Web Development and Design Foundations with HTML5. Addison-Wesley Professional, 7th edition.
  17. Flanagan, D. (2006). JavaScript. O'Reilly, 5 edition.
  18. Fraser, N. (2009). Differential synchronization. In Proc. 2009 ACM DocEng'09, pages 13-20, New York, NY, USA. Retrieved from http://neil.fraser.name/ writing/sync/eng047-fraser.pdf
  19. Gaubatz, P., Hummer, W., Zdun, U., and Strembeck, M. (2014). Enforcing entailment constraints in offline editing scenarios for real-time collaborative Web documents. In Proc. SAC 7814, pages 735-742, New York, NY, USA. ACM.
  20. Goncalves, E. and Leitao, A. M. (2007). Offline execution in workflow-enabled Web applications. In Proc. QUATIC 7807, pages 204-207, Washington, DC, USA. IEEE CS.
  21. Gonc¸alves, E. E. M. and Leita˜o, A. M. (2009). Using common lisp to prototype offline work in web applications for rich domains. In Proc. 6th Europ. Lisp Workshop, pages 18-27, New York, NY, USA. ACM.
  22. Google Docs. (2015). google.com/
  23. Green, I. (2011). Migrating your WebSQL DB to IndexedDB. Retrieved from http://html5rocks.com/en/tutorials/ webdatabase/websql-indexeddb/
  24. Groothuyse, T., Sivasubramanian, S., and Pierre, G. (2007). Globetp: Template-based database replication for scalable Web applications. In Proc. WWW 7807, WWW 7807, pages 301-310, New York, NY, USA. ACM.
  25. Hales, W. (2012). HTML5 and JavaScript Web Apps. O'Reilly.
  26. Heitk ötter, H., Hanschke, S., and Majchrzak, T. A. (2013). Evaluating cross-platform development approaches for mobile applications. In LNBIP, volume 140, pages 120-138. Springer.
  27. Heitk ötter, H., Majchrzak, T. A., and Kuchen, H. (2013). Cross-platform model-driven development of mobile applications with MD2. In Proc. SAC 7813, pages 526- 533.
  28. Heitk ötter, H., Majchrzak, T. A., Ruland, B., and Weber, T. (2013). Evaluating frameworks for creating mobile Web apps. In Proc. WEBIST 13, pages 209-221. SciTePress.
  29. Hickson, I. (2010). Web SQL Database. Retrieved from http://www.w3.org/TR/webdatabase/
  30. Hickson, I. (2013). Web Storage. Retrieved from http:// www.w3.org/TR/webstorage/
  31. H öpfner, H., Mansour, E., and Nicklas, D. (2009). Review of Data Management Mechanisms on Mobile Devices. it - information technology, 51(2):79-84.
  32. HTML5. (2014). Retrieved from http://www.w3.org/TR/ html5/.
  33. Hurth, D. (2010). JSON Beats XML, or Ajaj vs Ajax. Retrieved from http://www.ajaxonomy.com/2010/xml/ json-beats-xml-or-ajaj-vs-ajax
  34. Kao, Y.-W., Chow, T.-H., and Yuan, S.-M. (2011). Offline Web browsing for mobile devices. J. Web Eng., 10(1):21-47.
  35. Kao, Y.-W., Lin, C., Yang, K.-A., and Yuan, S.-M. (2012). A Web-based, offline-able, and personalized runtime environment for executing applications on mobile devices. Comput. Stand. Interf., 34(1):212-224.
  36. Karthik, R., Patlolla, D. R., Sorokine, A., White, D. A., and Myers, A. T. (2014). Building a secure and featurerich mobile mapping service app using HTML5: Challenges and best practices. In Proc. of the 12th ACM Int. Symp. on MobiWac 7814, MobiWac 7814, pages 115-118, New York, NY, USA. ACM.
  37. König-Ries, B., Türker, C., and Höpfner, H. (2007). Informationsnutzung und -verarbeitung mit mobilen Geräten - Verf ügbarkeit und Konsistenz. Datenbank-Spektrum, 7(23):45-53.
  38. Kovatsch, M., Mayer, S., and Ostermaier, B. (2012). Moving application logic from the firmware to the cloud. In Proc. IMIS 7812, pages 751-756. IEEE.
  39. Kristol, D. and Montulli, L. (1997). Request for comments 2109 - HTTP state management mechanism. Retrieved from https://www.ietf.org/rfc/rfc2109.txt
  40. Lam, F., Lam, N., and Wong, R. (2002). Efficient synchronization for mobile XML data. In Proc. CIKM 7802, pages 153-160, New York, NY, USA. ACM.
  41. Lin, Y., Kemme, B., Patino-Martinez, M., and JimenezPeris, R. (2006). Applying database replication to multi-player online games. In Proc. NetGames 7806, New York, NY, USA. ACM.
  42. Lomotey, R. K. and Deters, R. (2014). Mobile-based medical data accessibility in mhealth. In Proc. MOBILECLOUD 7814, pages 91-100, Washington, DC, USA. IEEE CS.
  43. Macedonia, M. (2007). iPhones Target the Tech Elite. Computer, 40:94-95.
  44. Majchrzak, T. A. and Heitkötter, H. (2014). Status quo and best practices of app development in regional companies. In LNBIP, volume 189, pages 189-206. Springer.
  45. Makzan (2014). HTML5 Game Development Hotshot. Packt Publishing.
  46. Marco, F., Gallud, J., Penichet, V., and Winckler, M. (2013). A model-based approach for supporting offline interaction with web sites resilient to interruptions. In Current Trends in Web Engineering, volume 8295 of LNCS, pages 156-171. Springer, Heidelberg, Germany.
  47. Mednieks, Z., Dornin, L., Meike, G. B., and Nakamura, M. (2012). Programming Android. O'Reilly.
  48. Narasimhan, P. (2014). IndexedDB polyfill over WebSql. Retrieved from http://nparashuram.com/IndexedDBShim/
  49. Ohrt, J. and Turau, V. (2012). Cross-platform development tools for smartphone applications. IEEE Computer, 45(9):72-79.
  50. Powell, A. (2012). db.js. Retrieved from http://aaronpowell. github.io/db.js/
  51. Quilligan, A. (2013). HTML5 Vs. Native Mobile Apps: Myths and Misconceptions. Retrieved from http:// forbes.com/sites/ciocentral/2013/01/23/html5-vsnative-mobile-apps-myths-and-misconceptions/
  52. Ranganathan, A. and Sicking, J. (2013). File API.
  53. Rodriguez, A. (2008). RESTful Web services: The basics. Retrieved from http://www.ibm.com/developerworks/ webservices/library/ws-restful/
  54. Roth, G. (2009). RESTful HTTP in practice. Retrieved from http://infoq.com/articles/designing-restful-httpapps-roth
  55. Satyanarayanan, M. (1996). Fundamental challenges in mobile computing. In Proc. PODC 7896, pages 1-7, New York, NY, USA. ACM.
  56. Sharp, R. (2010). What is a Polyfill? Retrieved from http://remysharp.com/2010/10/08/what-is-a-polyfill
  57. Shrestha, S., Moore, J., and Nocera, J. A. (2011). Opensource platform: Exploring the opportunities for offline mobile learning. In Proc. MobileHCI 7811, pages 653- 658, New York, NY, USA. ACM.
  58. Song, J., Yu, G., Wang, D., and Nie, T. (2006). Offline web client: Approach, design and implementation based on web system. In Proc. WISE 7806, pages 308-314, Berlin, Heidelberg, Germany. Springer.
  59. Takada, M. (2012). Modern Web applications: an overview. Retrieved from http://singlepageappbook.com/ goal.html
  60. TodoMVC. (2014). Retrieved from http://todomvc.com/
  61. Uhrhane, E. (2012). File API: Directories and System. Retrieved from http://www.w3.org/TR/file-system-api/
  62. Vora, A., Tari, Z., and Bertok, P. (2004). An hoarding approach for supporting disconnected write operations in mobile environments. In Proc. SRDS 7804, pages 276-288, Washington, DC, USA. IEEE CS.
  63. Weeks, M. (2014). Creating a web-based, 2-D action game in JavaScript with HTML5. In Proceedings of the 2014 ACM Southeast Regional Conference, ACM SE 7814, pages 7:1-7:6, New York, NY, USA. ACM.
  64. Weikum, G. and Vossen, G. (2001). Transactional Information Systems. Morgan Kaufmann, San Francisco, CA, USA.
  65. West, W. and Pulimood, S. M. (2012). Analysis of privacy and security in HTML5 web storage. J. Comput. Sci. Coll., 27(3):80-87.
  66. Wiesmann, M., Pedone, F., Schiper, A., Kemme, B., and Alonso, G. (2000a). Understanding replication in databases and distributed systems. In Proc. of the 20th ICDCS, Washington, DC, USA. IEEE CS.
  67. Wiesmann, M., Schiper, A., Pedone, F., Kemme, B., and Alonso, G. (2000b). Database replication techniques: A three parameter classification. In Proc. of the 19th IEEE SRDS, Washington, DC, USA. IEEE CS.
  68. Yasuda, K. (2013). Quota Management API. Retrieved from http://www.w3.org/TR/quota-api/
  69. Zorrilla, M., Martin, A., Sanchez, J. R., Tamayo, I. n., and Olaizola, I. G. (2014). HTML5-based system for interoperable 3D digital home applications. Multimedia Tools Appl., 71(2):533-553.
Download


Paper Citation


in Harvard Style

A. Majchrzak T. and Hillmann T. (2015). Offline-provisioning and Synchronization of Content for Mobile Webapps . In Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST, ISBN 978-989-758-106-9, pages 601-612. DOI: 10.5220/0005423206010612


in Bibtex Style

@conference{webist15,
author={Tim A. Majchrzak and Timo Hillmann},
title={Offline-provisioning and Synchronization of Content for Mobile Webapps},
booktitle={Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,},
year={2015},
pages={601-612},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0005423206010612},
isbn={978-989-758-106-9},
}


in EndNote Style

TY - CONF
JO - Proceedings of the 11th International Conference on Web Information Systems and Technologies - Volume 1: WEBIST,
TI - Offline-provisioning and Synchronization of Content for Mobile Webapps
SN - 978-989-758-106-9
AU - A. Majchrzak T.
AU - Hillmann T.
PY - 2015
SP - 601
EP - 612
DO - 10.5220/0005423206010612