Web application development and deployment has distinct advantage to native application. Applications developed for browsers are nearly cross platform compatible. Consequently, development is nearly immediate for many devices. In addition, developing web apps provides automatic application upgrade for the users. Finally, web application development avoids the necessity of developing separate native apps and websites.
Enabling web apps to work offline and store data on the device introduces new complexity and potentials for user interactions. For example, what should be the user interaction to store data on the device? The device could detect the online/offline status of the web app and automatically choose the data store, or the application can empower the user to choose the location of data storage. If the data is stored on the device then what should be the interaction to access the data and what should be the interaction to submit or upload the data to the server? Again the device could auto detect online status and automatically upload the data to the server or the user could initiate uploading the data to the server. If users are empowered and control the data storage, what is their understanding of the different data stores, and what should be the interaction? Offline web app design offers new opportunities and design challenges.
Many of the web apps that we have developed are applications for the Mobile Environmental Citizen Science Project. Mobile citizen scientists understand that using the web app will necessitate offline use, so we adopted the web app interaction design that empowers the user. Please read interaction design for offline use. Even after adapting the approach of user initiated device and server storage the design must construct a proper metaphor and instruct the user.
Computer Science and Human Factors graduate students interested in offline web app design and development for their dissertation or thesis research can contact me. We can discuss your interests and research opportunities in more detail.