Core: Implement Progressive Web App

Created on 25 Dec 2017  Â·  13Comments  Â·  Source: flarum/core

Flarum needs to be a PWA! It’s the future of caching and effectively implements itself as a universal app that can send notifications, cache assets to work offline, and boast network resiliency. If you aren’t familiar with PWAs, do a bit of research as Google is pushing it full throttle!

Most helpful comment

I believe in you! “Available offline” is what people say but in reality it helps the people in extremely low connection situtations the most. Notifications, yes. No browser ui, yes. Add to home screen, yes.

All 13 comments

Is that a Christmas wish? ;-)

I share your PWA enthusiasm, but I fail to see the "need" to make Flarum one, to be honest. Especially offline capabilities, arguably the biggest selling point, aren't very useful to me in a forum context. (In fact, being able to e.g. queue a reply while offline would be rather detrimental, because of weird timing of posts when connectivity comes back.)

Home-screen installs and native push notifications might be worth a shot, though. Not to destroy any Christmas cheer. ;-)

Merry Christmas! In Germany, most celebrations are already over, as we celebrate on the 24th.

I’d say offline is most useful is extremely low connectivity situations where you can boot up the app without needing any network connectivity and only need to send bite sized packets to interact with Flarum.

The biggest selling point would be the fact that it would act almost EXACTLY like a native app. No browser nav bar, notifications, background push, etc. here’s a really interesting video of some new developments: https://youtu.be/_sLa0qhuqcA

I am closing this.

Not because it's never going to happen, but it does not contain any concrete steps that we will take in the foreseeable future. I am sure that things like native notifications are bound to happen, so once that is planned, we should add concrete tickets for those substeps.

Thanks for your initiative and continued contribution, @dav-is! :hugs:

@dav-is If you're keen to see it happen, it would be great if you could make the narrow-focus concrete-step tickets that @franzliedke is talking about! Because I for one still don't really have any idea what "Implement a Progressive Web App" means, and I don't have time to research it right now.

@tobscure It would mean to enhance the user experience on mobile (like "adding to home screen") by using mobile technologies (like notifications).

Progressive Web App are web applications that are regular web pages or websites, but can appear to the user like traditional applications or native mobile applications. The application type attempts to combine features offered by most modern browsers with the benefits of mobile experience.

I don’t think this should be closed. It’s ok to have a big issue instead of a bunch of small ones. We can just add a checklist to the first post. Here’s another good video. If you have an hour I would watch this one and the last one I posted, @tobscure https://youtu.be/goafiwzhKMI

I get the general gist of PWAs, and I have watched the "Progressive Web Apps: Integrating with Browsers and Operating Systems" video you linked earlier.

@franzliedke and I are asking for actionable specifics.

You can't just say "Flarum needs to be a PWA, here's a video".

You need to say "Flarum needs to be a PWA - here's what it actually means and how we can make it happen. 1) We can implement feature A (eg. add to home screen) by doing B and C (include links to resources, code examples, relevant locations in Flarum's codebase, etc.) 2) We can implement feature X by doing Y and Z. 3) etc..."

Having a broad meta issue to track smaller specific issues is fine, but those smaller specific issues need to be defined as per above. Until then, this discussion belongs on the forum, not in the issue tracker.

Fair enough. I just don’t have enough time to really sit down and get a plan together. @datitisev maybe you’d be interested in picking this up? You’d want to use workboxjs. All in all it would probably be as simple as generating a service worker js file and dispatching notifications to google’s service when they happen and that’s what we’d need. And oh yeah, we’d have to keep that back button you told me was going to be removed like a year ago lol

I'd help if I had more experience. I've used workboxjs in the past (just once), however never tried to implement a PWA. I wouldn't want Flarum to be my first attempt, as it's a complex first time.
The PWA would only enhance UX by making the forum available offline and notifications, correct? The service worker file would be easy, no clue about notifications though.

_PS: I'm not saying I support or disapprove of this idea. I got no clue myself_

I believe in you! “Available offline” is what people say but in reality it helps the people in extremely low connection situtations the most. Notifications, yes. No browser ui, yes. Add to home screen, yes.

Why not break it down and start with the simplest first, create an issue for that, link to this one and move from there? Adding to home screen seems something that could be easily achieved?

Lol I’ve been there. I thought I’d make a general issue as I thought Toby wasn’t for the idea at all. https://github.com/flarum/core/pull/982

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tobyzerner picture tobyzerner  Â·  4Comments

jordanjay29 picture jordanjay29  Â·  3Comments

MichaelBelgium picture MichaelBelgium  Â·  4Comments

jordanjay29 picture jordanjay29  Â·  3Comments

tobyzerner picture tobyzerner  Â·  4Comments