OpenEugene / little-help-book-web

Human service resource guide powered by White Bird Clinic
MIT License
6 stars 4 forks source link

Mobile: web app, mobile app, or a progressive web app #18

Closed ArthurSmid closed 3 years ago

ArthurSmid commented 3 years ago

It seems that for a minimum viable product this question is easy to answer: web app.

The question gets to the eventuality of the Little Help Book being accessed by a person in need when they don't have access to the internet. And that could be the main benefit of a downloadable mobile app, the person in need would have access to the database of help resources whether or not they had an internet connection at the moment.

Web apps need an active internet connection in order to run, whereas mobile apps may work offline. Mobile apps have the advantage of being faster and more efficient, but they do require the user to regularly download updates. Web apps will update themselves.

Above all, mobile apps and web apps are designed and built very differently. To further differentiate between the two, it helps to understand how each is developed. How are mobile apps built?

Mobile apps are more expensive to develop than web apps, and because they are platform-specific, launching an app across different platforms pretty much means starting from scratch in terms of design and development. However, they are much faster, and tend to be more advanced in terms of features and functionality.

Or we could plan to make this a progressive web app from the beginning:

While standard web apps lack some of the functionality that mobile apps can offer, progressive web apps fall somewhere in between.

Unlike standard web apps (and more like native mobile apps), progressive web apps are able to work offline, and load extremely quickly. This is primarily down to advancements in the sophistication of the modern browser: thanks to the Application Cache feature, websites can now store large volumes of data offline. Progressive web apps can therefore be used without an internet connection, giving them some typical native mobile app functionalities such as push notifications, native video and audio capture, and native video playback.

Just like standard web apps, progressive web apps don’t require download or installation. In many ways, they seem to offer the best of both worlds.

https://careerfoundry.com/en/blog/web-development/what-is-the-difference-between-a-mobile-app-and-a-web-app/

For those who are new to progressive web apps, this could be a helpful first exercise: https://codelabs.developers.google.com/codelabs/your-first-pwapp/#0

markdav-is commented 3 years ago

Some back-story: The current app at http://littlehelpbook.com is a PWA and you can install it on your PC or Mobile thru the browser
image

It's also a web assembly app with full client-side data caching. So you could install it on a tablet run it once, disconnect it from the internet and it would still (probably not tested) work as a kiosk. More work is needed for offline support, closing the app today would flush the cache.

PWAs are also supported by both Apple and Google apps stores and even xbox and windows. So we could (with some extra effort) put this as a free app in the mobile app stores.

hope that helps in your explorations of options @ArthurSmid