JanitorTechnology / janitor

The fastest development system in the world.
https://janitor.technology
GNU Affero General Public License v3.0
128 stars 22 forks source link

Make the Janitor a Progressive Web App #16

Open jankeromnes opened 8 years ago

jankeromnes commented 8 years ago

"[Use] modern web capabilities to deliver an app-like user experience." - https://developers.google.com/web/progressive-web-apps

The Janitor should:

jankeromnes commented 8 years ago

Web App Manifest added by 0b10072c5dbaeb0de65167e7a72df3b8479e2fb2.

Coder206 commented 8 years ago

@jankeromnes Could I help out with writing code for "push notifications"?

jankeromnes commented 8 years ago

@Coder206 that'd be awesome! Thanks for offering :)

I wasn't planning on starting this so soon, but if you're motivated, here are a few more details on what I imagine:

Do you have any questions or ideas about this plan? Is there anything in particular you'd like to help with? :)

Thanks again!

Coder206 commented 8 years ago

@jankeromnes My pleasure! :) I think the plan is great, I my opinion it's a great direction to head in bringing lots of value to the users. From personal experience using the noVNC/Cloud9 in comparison to my Fedora environment experience, I think it would be great to integrate system notifications like "Command 'command name' complete" with these push notifications so that I can be working elsewhere while I run code on the noVNC/Cloud9.

I am definitely interested in working on the code for "Enable notifications switch" and with the integration with third party services like GitHub.

jankeromnes commented 8 years ago

@Coder206 Thanks for your interest and input! I also like the idea of optionally forwarding system messages from virtual Janitor environments to the browser via Push notifications.

Note that the Janitor currently works via two different domains, janitor.technology and ide.c9.io (the Cloud9 IDE used by the Janitor is being served by Cloud9 directly). This probably means two different Service Worker registrations, and two separate Push subscriptions:

nt1m commented 7 years ago

Just audited this through chrome's audits devtool:

image
jankeromnes commented 7 years ago

I disagree with the icons complaints: The Manifest has a single vector icon that should work everywhere.

jankeromnes commented 6 years ago

I just ran another audit via Chrome's Audits devtools panel:

chrome-lighthouse-audits

Here are my take-aways (for the current Janitor front page):

ishitatsuyuki commented 6 years ago

With the current development snapshot with new theme + Nuxt.js:

image

PWA is Nuxt.js's strength. There are no audits we need to manually get it to pass, everything is set up with one line of import.

(The two failing PWA audits are viewport size (layout issue) and HTTPS redirect (not applicable on localhost).)

jankeromnes commented 6 years ago

With the current development snapshot with new theme + Nuxt.js:

Super exciting! Nuxt.js seems to improve all audit scores, which is great.

ID           NAME             ICON
firefox      Firefox (git)    /img/firefox.svg     
firefox-hg   Firefox-hg (hg)  /img/firefox.svg
servo        Servo            /img/servo.svg
rust         Rust             /img/rust.svg
chromium     Chromium         https://raw.githubusercontent.com/alrra/browser-logos/master/src/chromium/chromium_512x512.png
thunderbird  Thunderbird      /img/thunderbird.svg
fennec       Fennec           /img/firefox.svg
janitor      Janitor          /img/janitor.svg
kresus       Kresus           /img/kresus.svg
discourse    Discourse        /img/discourse.svg
peertube     PeerTube         /img/peertube.svg
yuzu         Yuzu             https://raw.githubusercontent.com/yuzu-emu/yuzu-emu.github.io/master/images/logo.png
dspace       DSpace           /img/dspace.svg
kde          KDE              /img/kde.svg

This should allow a much more precise comparison (even though localhost will probably still be faster than overseas cable).

ishitatsuyuki commented 6 years ago

I guess I'll do that when I have sorted things out (I haven't ported the admin interface yet). Also, I believe Chrome emulates 3G connection so there won't be a large difference unless the server is really slow.