#pwa

tord_dellsen@diasp.eu

DWEP technical update

I've been working on the DWEP app, and have just reviewed the service-worker.js file, which is central to PWAs

I decided to use a cache first caching/fetching strategy, with a versioned cache, and with some calls (in the install and activate event handlers) to ensure that the latest version of the service worker itself (and therefore cached resources since the cache version number is located in the service worker file) is used as soon as possible

https://codeberg.org/tord/dwep/src/branch/main/service-worker.js

It seems to be the best option and i don't really see any downside to it. The only thing is that i have to update the cache version every time i make an update to the app

#dwep #CacheStrategy #cache #caching #WebDevelopment #PWA #javascript #programming

tord_dellsen@diasp.eu

DWEP app project update

In the last four weeks these are the main things i've done:

  • The GUI is now showing the completion status for the last 7 days
  • Created PWA (added webmanister, service worker)
  • Added feedback button plus automatically asking the user for feedback after a number of times of opening the app
  • Updated sharing to include a range of days (not just one day), and improved the look/structure of the shared text
  • Experimented with PeriodicSync (this will probably not be used since it is very inprecise)

I'm still using localstorage for data persistance, but will probably change to using indexeddb if we decide to continue on the web app (PWA) path

You can try the current (very early) version here: https://tord.codeberg.page/dwep/

#dwep #dwep-app #programming #javascript #pwa #web-app

tord_dellsen@diasp.eu

DWEP App — Tech framework research - storage and notifications

I've been looking into possible tech platforms for the last week or two. A few people recommended using Ionic, so i've tried it out a bit and also looked into Vue which is one of the front-end frameworks that can be used with Ionic. I've also looked at PWAs

PWA

I've looked at storage and it's not clear what solution is reliable there. It seems to me that the storage could be done with PWA and using localStorage or indexedDb. The persistance on iOS is more secure when having installed a PWA than for a website/webapp

Another thing to consider is notificaitons. I haven't looked much into this yet, but from what i can see it's not possible to send background notifications on iOS if there's no app running. On Android it may be possible with periodic background sync on PWAs. We probably need to have an actual app for this to work on iOS. On desktop it's probably not going to work for any platform, but desktop is not the priority. We may want to consider if the user can put notifications outside of the app, to remind them. If we can accept this approach then we can use a PWA and don't have to build on MacOS (required for building apps for iOS)

Ionic

Ionic has it's own storage options, some of which are unreliable and some are difficult to set up. See a discussion here for example

I haven't tried notifications with Ionic, a native app would have to be built for that to work, but the capacitor documentation says it's possible and i guess we can trust that

Other options

A third tech platform/framework alternative that could be interesting is using Flutter. Or i could try Compose Multiplatform (i have studied Compose before and used it a bit)

Summary

  • PWA has decent support for storage but no notitifications
  • Ionic has notifications, and various storage solutions (not sure what is best)
  • Flutter and Compose Multiplatform can be worth looking into

#dwep #ionic #pwa

tord_dellsen@diasp.eu

Help wanted: Framework for cross-platform mobile app with notifications?

(This question has also been posted here: https://softwarerecs.stackexchange.com/q/90471/13050 )

Background

I want to create a cross-platform mobile app with notifications and am looking at different options. I'm going to be the only developer, and i've developed on Android previously and am learning JavaScript at the moment. (Here are some notes about the project as a whole: link)

Requirements

  • Cross-platform - mainly iOS+Android (bonus: web)
  • Free/libre and gratis
  • Notifications (to be sent in the morning and evening)
  • Local storage

I'm developing on Ubuntu and have access to a Windows computer. MacOS is harder for me to get though. So cross-compiling (or similar) is a bonus, but not a requirement

What i've found so far

I've been looking into PWAs during the last week, but from what i can understand it seems they cannot reliably send background notifications when running through Safari on iOS (see table here). We could require that the iOS user install chrome and install the PWA through there, but i think the user experience would be pretty bad then :(

Question

What framework would you recommend that i use?

(Is Flutter a good fit? What about Tauri 2.0? Is there any way to extend PWAs to ensure notifications can be sent at any time?)


#cross-platform #notification #ProgressiveWebApp #pwa #flutter #programming #SoftwareDevelopment #dwep

tord_dellsen@diasp.eu

Help wanted: Looking for technical platform advice for a mobile app

Now working on another app for Brother Promise (Phap The) in Plum Village. This time for his Daily Wellness Enhancement Program (DWEP)
* https://youtu.be/93npxFQqV-8?si=Yu5CJgoypJJKt013
* https://mentalhealthrevolution.org/files/dwep%20sheet.pdf
* https://codeberg.org/tord/dwep/wiki/Home

I'm thinking of making this as a Progressive Web App (PWA). Maybe Flutter could be an alternative. I lack experience with these things, can anyone advice on what would be a good platform? (I've developed on Android but would like for the app to work on iOS too, and maybe even on desktop browsers as a bonus)

What we need:
* System notifications
* Local data storage
* Sharing through email (or in other ways)

I'm thinking that the app will just run locally (in the browser) and that we will not have any server

So far i've been working on it as a PWA in plain JavaScript. If we use PWA then there are various frameworks that can be used though, can anyone recommend a good framework that fits what we need and is focused on purely client-side apps?

#dwep #programming #SoftwareDevelopment #pwa #ProgressiveWebApp

tord_dellsen@diasp.eu

Does anyone have experience with PWAs (Progressive Web Apps)?

I'm thinking of turning #KindMind into a PWA, so it can be used on the web and on iOS (right now the app is only available on Android)

KindMind on f-droid: https://f-droid.org/en/packages/com.sunyata.kindmind/

(A third option could be #flutter)

KindMind doesn't need network connectivity, or notifications. It only have to use local storage to save the relation between - and frequency of - feelings and needs

#pwa #programming #SoftwareDevelopment

danie10@squeet.me

Why You Should Be Using More Web Apps on Your Phone

Phone screen showing an icon for browser, and another icon labelled Play Store with a crossed reed circle over it
A web app—also known as “progressive web app” (PWA)—is essentially an application that runs in a web browser. It looks and feels like a native app you’d install from the Play Store or App Store, but it runs in Chrome, Edge, or Safari. You can even “install” the web app to your home screen and launch it like any other app.

There’s a difference between a web app and a mobile website. Many websites have versions specifically for mobile browsers, but they aren’t necessarily web apps. A website has mostly static content, whereas a web app is designed more for user interaction.

A website can be bookmarked and added to your home screen, but it will just open a new tab in the browser when you launch it. A web app opens in its own instance, separate from the web browser it’s running on. That’s why it feels closer to a native app.

One of the big downsides, originally with web apps, were no notifications (a feature of native apps). It seems that this largely works now. Chrome, Edge, and Safari support web apps and notifications.

Find out more, as well as how to install them, at https://www.howtogeek.com/878991/why-you-should-be-using-more-web-apps-on-your-phone/
#Blog, #PWA, #technology, #webapps