Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-17 Thread seba.wag...@gmail.com
>
> Lot's of our users (all of them) has their own icons

=> We can update the docs on how to customise those icons. It is not hard,
it's just not easy to automate.


> I doubt _we require_ these icons :(
> I see nothing so special in ios
> And I believe there should some sort of fallback

Manifest file uses only 2 images

=> iOS does not use the icons from the manifest file. It uses the  tags from inside the html file.
=> Most of those icons are the "splash" screen for iOS, not the actual home
screen icon.

All these added images are no more than a favicons (including those
> listed in manifest)
> One svg can provide substitute fir all of them :)

=> In fact all those images are generated from a single SVG file.
But unfortunately Android/iOS does not support SVG for home screen icons
and preview icons.
And also iOS does not support it for the splash screen. So it needs the
images pre-rendered.

We can provide some instructions on how to update the icons for
customisation. Like I say, it's not hard, it is just not that easy to
automate (and reference a single SVG as you suggested for example).

Thanks
Sebastian

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Mon, 18 Oct 2021 at 14:40, Maxim Solodovnik  wrote:

> from mobile (sorry for typos ;)
>
>
> On Mon, Oct 18, 2021, 03:23 seba.wag...@gmail.com 
> wrote:
>
> > >
> > > I would add 30 new icons I believe this is too much :(
> >
> > =>They are generated from the same icon, see:
> > https://github.com/onderceylan/pwa-asset-generator
> > But I doubt anybody needs to do that again. Unless OpenMeetings changes
> its
> > icon/logo.
> >
>
> Lot's of our users (all of them) has their own icons
> So *every* om user should recreate those icons
>
>
> > We require those icons because iOS requires different icons pre-rendered
> in
> > different screen resolutions. Because iOS is special :)
> >
>
> I doubt _we require_ these icons :(
> I see nothing so special in ios
> And I believe there should some sort of fallback
>
> Manifest file uses only 2 images
>
> But also it's common in Mobile development to require images in different
> > screen resolutions pre-compiled.
> >
> > I would modify favicon to be SVG
> >
> > => I did not change the favicon. The Favicon declaration has been the
> same
> > since 3 years ago.
> >
> >
> https://github.com/apache/openmeetings/blame/master/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html#L55
>
>
> All these added images are no more than a favicons (including those listed
> in manifest)
> One svg can provide substitute fir all of them :)
>
>
> >
> > Thanks
> > Sebastian
> >
> > Sebastian Wagner
> > Director Arrakeen Solutions, OM-Hosting.com
> > http://arrakeen-solutions.co.nz/
> > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > Video-Conferencing OpenMeetings
> > <
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > >
> > <
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > >
> >
> >
> > On Mon, 18 Oct 2021 at 04:40, Maxim Solodovnik 
> > wrote:
> >
> > > Just have added some review comments
> > >
> > > The code is very compact
> > > And I like the idea of using InfoWebService for customizing manifest :)
> > >
> > > I would add 30 new icons
> > > I believe this is too much :(
> > > I would modify favicon to be SVG
> > >
> > >
> >
> https://medium.com/swlh/are-you-using-svg-favicons-yet-a-guide-for-modern-browsers-836a6aace3df
> > >
> > >
> > > On Sun, 17 Oct 2021 at 07:03, seba.wag...@gmail.com <
> > seba.wag...@gmail.com
> > > >
> > > wrote:
> > >
> > > > Done. I've added some details and screenshots in the PR and linked
> wiki
> > > > page. It's actually quite a small PR part from adding a few icons in
> > > > different resolutions.
> > > >
> > > > This adds so that when using the mobile browsers "Add to home screen"
> > > > function:
> > > >
> > > >- Show a nice icon in the screens and on the mobile device
> > > >- Show a nice name for the app in the mobile
> > > >- Show a nice splash screen when opening OpenMeetings after saving
> > to
> > > >home screen on the mobile
> > > >- Remove url and navigation bar in browser so it uses the full
> > screen
> > > >size
> > > >- Fix to landscape mode (Android only, iOS does not support it)
> > > >- Show a nice icon and name when rotating through currently open
> > apps
> > > on
> > > >the mobile device
> > > >
> > > > You *may* call this PWA mode. However really it's just a fancy
> > bookmark.
> > > > However it makes the application look much more like a native mobile
> > app.
> > > > And it makes it easier to control the 

Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-17 Thread Maxim Solodovnik
from mobile (sorry for typos ;)


On Mon, Oct 18, 2021, 03:23 seba.wag...@gmail.com 
wrote:

> >
> > I would add 30 new icons I believe this is too much :(
>
> =>They are generated from the same icon, see:
> https://github.com/onderceylan/pwa-asset-generator
> But I doubt anybody needs to do that again. Unless OpenMeetings changes its
> icon/logo.
>

Lot's of our users (all of them) has their own icons
So *every* om user should recreate those icons


> We require those icons because iOS requires different icons pre-rendered in
> different screen resolutions. Because iOS is special :)
>

I doubt _we require_ these icons :(
I see nothing so special in ios
And I believe there should some sort of fallback

Manifest file uses only 2 images

But also it's common in Mobile development to require images in different
> screen resolutions pre-compiled.
>
> I would modify favicon to be SVG
>
> => I did not change the favicon. The Favicon declaration has been the same
> since 3 years ago.
>
> https://github.com/apache/openmeetings/blame/master/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html#L55


All these added images are no more than a favicons (including those listed
in manifest)
One svg can provide substitute fir all of them :)


>
> Thanks
> Sebastian
>
> Sebastian Wagner
> Director Arrakeen Solutions, OM-Hosting.com
> http://arrakeen-solutions.co.nz/
> https://om-hosting.com - Cloud & Server Hosting for HTML5
> Video-Conferencing OpenMeetings
> <
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> >
> <
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> >
>
>
> On Mon, 18 Oct 2021 at 04:40, Maxim Solodovnik 
> wrote:
>
> > Just have added some review comments
> >
> > The code is very compact
> > And I like the idea of using InfoWebService for customizing manifest :)
> >
> > I would add 30 new icons
> > I believe this is too much :(
> > I would modify favicon to be SVG
> >
> >
> https://medium.com/swlh/are-you-using-svg-favicons-yet-a-guide-for-modern-browsers-836a6aace3df
> >
> >
> > On Sun, 17 Oct 2021 at 07:03, seba.wag...@gmail.com <
> seba.wag...@gmail.com
> > >
> > wrote:
> >
> > > Done. I've added some details and screenshots in the PR and linked wiki
> > > page. It's actually quite a small PR part from adding a few icons in
> > > different resolutions.
> > >
> > > This adds so that when using the mobile browsers "Add to home screen"
> > > function:
> > >
> > >- Show a nice icon in the screens and on the mobile device
> > >- Show a nice name for the app in the mobile
> > >- Show a nice splash screen when opening OpenMeetings after saving
> to
> > >home screen on the mobile
> > >- Remove url and navigation bar in browser so it uses the full
> screen
> > >size
> > >- Fix to landscape mode (Android only, iOS does not support it)
> > >- Show a nice icon and name when rotating through currently open
> apps
> > on
> > >the mobile device
> > >
> > > You *may* call this PWA mode. However really it's just a fancy
> bookmark.
> > > However it makes the application look much more like a native mobile
> app.
> > > And it makes it easier to control the url/navigation bar of the
> browser.
> > >
> > > See documentation on mobile experience or iOS and Android here:
> > >
> > >
> >
> https://cwiki.apache.org/confluence/display/OPENMEETINGS/OpenMeetings+Mobile#OpenMeetingsMobile-Savetohomescreentocreatebettermobileexperience
> > >
> > > *It has no impact on any other functionality of OpenMeetings (as well
> as
> > it
> > > does not require any rewrite of any functionality).*
> > >
> > > What could be done next:
> > >
> > >- Adding a prompt in iOS to suggest landscape mode (iOS "add to home
> > >screen" functionality does not support orientation=landscape
> feature,
> > > needs
> > >user prompt when in portrait mode)
> > >- Potentially something that makes this "Add to home screen" easier
> to
> > >find for users
> > >- Documentation on how to release to the App store. Using this "Add
> to
> > >home screen" mode it is easier to also package it up to release
> > >OpenMeetings to an App store
> > >
> > > Thanks
> > > Seb
> > >
> > > Sebastian Wagner
> > > Director Arrakeen Solutions, OM-Hosting.com
> > > http://arrakeen-solutions.co.nz/
> > > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > > Video-Conferencing OpenMeetings
> > > <
> > >
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > > >
> > > <
> > >
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > > >
> > >
> > >
> > > On Sat, 16 Oct 2021 at 05:27, Maxim Solodovnik 
> > > wrote:
> > >
> > > > On Wed, 13 Oct 2021 at 04:22, seba.wag...@gmail.com <
> > > seba.wag...@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > >
> > > > > > Also I don't really like all these JS frameworks
> > > > > > I believe the 

[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730478937



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");

Review comment:
   Thanks I was looking for that, but couldn't find it. Let me update this 
to use `application.base.url`




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730478798



##
File path: 
openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
##
@@ -23,6 +23,35 @@
 


+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Review comment:
   > why do we need all those icons?
   I've answered that comment in the mailing list:
   =>They are generated from the same icon, see: 
https://github.com/onderceylan/pwa-asset-generator 
   But I doubt anybody needs to do that again. Unless OpenMeetings changes its 
icon/logo.
   
   We require those icons because iOS requires different icons pre-rendered in 
different screen resolutions. Because iOS is special :) 
   But also it's common in Mobile development to require images in different 
screen resolutions pre-compiled.
   
   > Why are they not in public/ folder?
   There is an "images" folder and there is a "public" folder. Both folders 
contain "images" and both folders are "public" :) 
   I simply saw images first and it did contain more content, so I placed it 
there.
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730472451



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");
+   manifest.put("dir", "auto");
+   manifest.put("display", "standalone");
+   manifest.put("orientation", "landscape");
+   JSONArray icons = new JSONArray();
+   icons.put(generateIcon("manifest-icon-512.maskable.png", 
"512x512", "maskable"));
+   icons.put(generateIcon("manifest-icon-192.maskable.png", 
"192x192", "maskable"));
+   manifest.put("icons", icons);
+   manifest.put("prefer_related_applications", "false");
+   return manifest.toString(2);
+   }
+
+   private JSONObject generateIcon(String name, String dimension, String 
purpose) {
+   JSONObject icon = new JSONObject();
+   icon.put("src", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/images/icons/" + name);
+   icon.put("type", "image/png");
+   icon.put("sizes", dimension);
+   icon.put("purpose", purpose);

Review comment:
   For now it's only maskable. But there can be other values in the future. 
It can be "any" or "maskable" or both, see also: 
https://web.dev/maskable-icon-audit/
   
   We may require other values in the future.




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730472286



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");
+   manifest.put("dir", "auto");
+   manifest.put("display", "standalone");
+   manifest.put("orientation", "landscape");
+   JSONArray icons = new JSONArray();
+   icons.put(generateIcon("manifest-icon-512.maskable.png", 
"512x512", "maskable"));
+   icons.put(generateIcon("manifest-icon-192.maskable.png", 
"192x192", "maskable"));

Review comment:
   If you want to know more about "maskable" you can read all of this 
article https://web.dev/maskable-icon/ but I rather generated simply those 2 
icons instead :) 




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730471871



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");
+   manifest.put("dir", "auto");
+   manifest.put("display", "standalone");
+   manifest.put("orientation", "landscape");
+   JSONArray icons = new JSONArray();
+   icons.put(generateIcon("manifest-icon-512.maskable.png", 
"512x512", "maskable"));
+   icons.put(generateIcon("manifest-icon-192.maskable.png", 
"192x192", "maskable"));

Review comment:
   It is not a favicon? Favicon is whats displayed on the browser menu bar. 
Nothing to do with a favicon here.
   
   The icons are the icons displayed on the home screen. Favicon is way smaller 
then this. Also those icons are generated with have this "Maskable" thing.
   
   There are 2 required since different mobile apps require different image 
resolutions. Above 2 icons are apparently the minimum pre-rendered icons 
required for Android.
   
   At least according to this source: 
https://itnext.io/pwa-splash-screen-and-icon-generator-a74ebb8a130 
   
   > Google’s Android platform respects Web App Manifest API specs and it 
expects you to provide at least 2 icon sizes in your manifest file — 
https://developers.google.com/web/fundamentals/web-app-manifest/#icons
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730471871



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");
+   manifest.put("dir", "auto");
+   manifest.put("display", "standalone");
+   manifest.put("orientation", "landscape");
+   JSONArray icons = new JSONArray();
+   icons.put(generateIcon("manifest-icon-512.maskable.png", 
"512x512", "maskable"));
+   icons.put(generateIcon("manifest-icon-192.maskable.png", 
"192x192", "maskable"));

Review comment:
   It is not a favicon? Favicon is whats displayed on the browser menu bar. 
Nothing to do with a favicon here.
   
   The icons are the icons displayed on the home screen. Favicon is way smaller 
then this. Also those icons are generated with have this "Maskable" thing.
   
   Those icons are required since different mobile apps require different image 
resolutions. Above 2 icons are apparently the minimum pre-rendered icons 
required for Android.
   
   At least according to this source: 
https://itnext.io/pwa-splash-screen-and-icon-generator-a74ebb8a130 
   
   > Google’s Android platform respects Web App Manifest API specs and it 
expects you to provide at least 2 icon sizes in your manifest file — 
https://developers.google.com/web/fundamentals/web-app-manifest/#icons
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730471871



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");
+   manifest.put("dir", "auto");
+   manifest.put("display", "standalone");
+   manifest.put("orientation", "landscape");
+   JSONArray icons = new JSONArray();
+   icons.put(generateIcon("manifest-icon-512.maskable.png", 
"512x512", "maskable"));
+   icons.put(generateIcon("manifest-icon-192.maskable.png", 
"192x192", "maskable"));

Review comment:
   It is not a favicon? Favicon is whats displayed on the browser menu bar. 
Nothing to do with a favicon here.
   
   The icons are the icons displayed on the home screen. Favicon is way smaller 
then this. Also they have this "Maskable" thing.
   
   Those icons are required since different mobile apps require different image 
resolutions. Above 2 icons are apparently the minimum required pre-rendered 
icons for Android.
   
   At least according to this source: 
https://itnext.io/pwa-splash-screen-and-icon-generator-a74ebb8a130 
   
   > Google’s Android platform respects Web App Manifest API specs and it 
expects you to provide at least 2 icon sizes in your manifest file — 
https://developers.google.com/web/fundamentals/web-app-manifest/#icons
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




[GitHub] [openmeetings] sebawagner commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on

2021-10-17 Thread GitBox


sebawagner commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730471465



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");

Review comment:
   They are used for the background of the icons. And possible the Android 
splash screen. Is it required to make the background of those things anything 
other then white ?




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscr...@openmeetings.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org




Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-17 Thread seba.wag...@gmail.com
>
> I would add 30 new icons I believe this is too much :(

=>They are generated from the same icon, see:
https://github.com/onderceylan/pwa-asset-generator
But I doubt anybody needs to do that again. Unless OpenMeetings changes its
icon/logo.

We require those icons because iOS requires different icons pre-rendered in
different screen resolutions. Because iOS is special :)
But also it's common in Mobile development to require images in different
screen resolutions pre-compiled.

I would modify favicon to be SVG

=> I did not change the favicon. The Favicon declaration has been the same
since 3 years ago.
https://github.com/apache/openmeetings/blame/master/openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html#L55

Thanks
Sebastian

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Mon, 18 Oct 2021 at 04:40, Maxim Solodovnik  wrote:

> Just have added some review comments
>
> The code is very compact
> And I like the idea of using InfoWebService for customizing manifest :)
>
> I would add 30 new icons
> I believe this is too much :(
> I would modify favicon to be SVG
>
> https://medium.com/swlh/are-you-using-svg-favicons-yet-a-guide-for-modern-browsers-836a6aace3df
>
>
> On Sun, 17 Oct 2021 at 07:03, seba.wag...@gmail.com  >
> wrote:
>
> > Done. I've added some details and screenshots in the PR and linked wiki
> > page. It's actually quite a small PR part from adding a few icons in
> > different resolutions.
> >
> > This adds so that when using the mobile browsers "Add to home screen"
> > function:
> >
> >- Show a nice icon in the screens and on the mobile device
> >- Show a nice name for the app in the mobile
> >- Show a nice splash screen when opening OpenMeetings after saving to
> >home screen on the mobile
> >- Remove url and navigation bar in browser so it uses the full screen
> >size
> >- Fix to landscape mode (Android only, iOS does not support it)
> >- Show a nice icon and name when rotating through currently open apps
> on
> >the mobile device
> >
> > You *may* call this PWA mode. However really it's just a fancy bookmark.
> > However it makes the application look much more like a native mobile app.
> > And it makes it easier to control the url/navigation bar of the browser.
> >
> > See documentation on mobile experience or iOS and Android here:
> >
> >
> https://cwiki.apache.org/confluence/display/OPENMEETINGS/OpenMeetings+Mobile#OpenMeetingsMobile-Savetohomescreentocreatebettermobileexperience
> >
> > *It has no impact on any other functionality of OpenMeetings (as well as
> it
> > does not require any rewrite of any functionality).*
> >
> > What could be done next:
> >
> >- Adding a prompt in iOS to suggest landscape mode (iOS "add to home
> >screen" functionality does not support orientation=landscape feature,
> > needs
> >user prompt when in portrait mode)
> >- Potentially something that makes this "Add to home screen" easier to
> >find for users
> >- Documentation on how to release to the App store. Using this "Add to
> >home screen" mode it is easier to also package it up to release
> >OpenMeetings to an App store
> >
> > Thanks
> > Seb
> >
> > Sebastian Wagner
> > Director Arrakeen Solutions, OM-Hosting.com
> > http://arrakeen-solutions.co.nz/
> > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > Video-Conferencing OpenMeetings
> > <
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > >
> > <
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > >
> >
> >
> > On Sat, 16 Oct 2021 at 05:27, Maxim Solodovnik 
> > wrote:
> >
> > > On Wed, 13 Oct 2021 at 04:22, seba.wag...@gmail.com <
> > seba.wag...@gmail.com
> > > >
> > > wrote:
> > >
> > > > >
> > > > > Also I don't really like all these JS frameworks
> > > > > I believe the content should be controlled on server
> > > >
> > > > => There is no framework change, your understanding of PWA and saving
> > to
> > > > home screen I think is based on a misunderstanding. Or you mixing it
> > with
> > > > other topics around the other email thread on "Future of front end".
> It
> > > has
> > > > nothing to do with what framework you use. PWA does not mean the
> > > > application is more or less executed on the client or server side.
> It's
> > > > just a different way of starting a web-browser. That is all.
> > > >
> > >
> > > I wrote PWA for one client
> > > It was serverless app
> > > and as PWA it was working in offline mode
> > > AFAIK you need some cache and background worker
> > >
> > > If you feel it is easy and useful: I would say let's try :)
> > >
> > >
> 

Re: future of OM frontend

2021-10-17 Thread seba.wag...@gmail.com
If it's just JS + CSS changes you an update the files in a running
openmeetings server using those scripts:
https://openmeetings.apache.org/BuildInstructions.html#update-javascript-and-css-at-runtime

This will take ~10seconds + refresh the browser. Compared to 2-3 minutes to
do a rebuild and then restart the server.

However it won't work if you happen to need to update any of the HTML files.

Thanks
Seb

Sebastian Wagner
Director Arrakeen Solutions, OM-Hosting.com
http://arrakeen-solutions.co.nz/
https://om-hosting.com - Cloud & Server Hosting for HTML5
Video-Conferencing OpenMeetings




On Mon, 18 Oct 2021 at 04:44, Maxim Solodovnik  wrote:

> On Sun, 17 Oct 2021 at 05:04, seba.wag...@gmail.com  >
> wrote:
>
> > >
> > > At my 5-7 years old laptop
> > > "unpacked" build tooks 7-9 minutes
> > > "quick" build tooks 01:01 minute
> >
> > You are missing that it's not only the build time. You also need to
> restart
> > the server. Which is another 1-2mins. And you need to re-login + navigate
> > to the place where you were before. Which depending on the scenario can
> be
> > even more complicated.
> >
>
> I'm using "Remember login" option (different browsers - different users)
> And links for the "area of test" like you can go directly to room
> via `#room/5` hash
>
> The startup time can also be reduced by using
> `-Djava.security.egd=file:/dev/./urandom`
>
> Will try to commit some code and re-check my memories on this :)
>
> >
> > Well, I always thought it is impossible to create a PWA out of a server
> > > side based web application
> > > Can you share PoC?
> >
> > Will do PR shortly. I wouldn't call it a PWA. It's basically a fancy
> > bookmark to the home screen. With the ability to have an icon + name +
> > splash screen + pre-configured browser settings (hide nav bar). Not using
> > any of the other PWA features like offline mode or anything. You can do
> > that with any website. How much it uses "pwa" features just depends on
> what
> > the website provides in the manifest file.
> >
> > Thanks,
> > Seb
> >
> > Sebastian Wagner
> > Director Arrakeen Solutions, OM-Hosting.com
> > http://arrakeen-solutions.co.nz/
> > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > Video-Conferencing OpenMeetings
> > <
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > >
> > <
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > >
> >
> >
> > On Sat, 16 Oct 2021 at 05:23, Maxim Solodovnik 
> > wrote:
> >
> > > On Wed, 13 Oct 2021 at 04:49, seba.wag...@gmail.com <
> > seba.wag...@gmail.com
> > > >
> > > wrote:
> > >
> > > > OFFTOPIC: I don't really like webpack-and-friends, it's output is
> often
> > > > unpredictable and hard to debug.
> > > > Additionally I have difficulties to set it up to do what I need
> > > > This is why I'm trying to find something that "just works" and
> produces
> > > no
> > > > damage :)
> > > >
> > > > Your offtopic sounds more like a rant :)
> > > >
> > >
> > > I would say "grumbling"  :))
> > >
> > >
> > > > webpack-and-friends, it's output is often unpredictable and hard to
> > > debug.
> > > > >
> > > > Additionally I have difficulties to set it up to do what I need
> > > >
> > > > => Actually I mostly used webpack just during development. Not when
> > > > productionising. During development you can use webpack to start a
> task
> > > > which enables you to reload the JS+HTML while in a page. E.g. in
> > > > OpenMeetings changing the HTML takes around 3minutes, cause you need
> to
> > > > restart the entire server + navigate back to where you were in a
> > browser.
> > > > See: https://webpack.js.org/configuration/dev-server/
> > > >
> > > > This greatly improves the development cycle, it cuts it down to
> seconds
> > > > what previously took minutes.
> > > >
> > >
> > > At my 5-7 years old laptop
> > > "unpacked" build tooks 7-9 minutes
> > > "quick" build tooks 01:01 minute
> > >
> > > not too much :)))
> > > the number can be lower, for whatever reason site is generated even if
> `
> > > maven.site.skip` is passed :(
> > >
> > >
> > > > => Unfortunately it won't be possible to integrate this into
> > OpenMeetings
> > > > for now. Because it won't work with Apache Wicket.
> > > >
> > > > It seems like you are putting all of those different tools and
> > > technologies
> > > > into 1 umbrella/basket. While it's more like each of those has Pro
> and
> > > > Cons. Some might be good for OpenMeetings, others maybe not.
> > > >
> > >
> > > Well, I always thought it is impossible to create a PWA out of a server
> > > side based web application
> > > Can you share PoC?
> > >
> > >
> > > > It has nothing to do with breaking things. None of those things
> should
> > > > break the application. Neither frontend nor backend technologies
> 

Re: future of OM frontend

2021-10-17 Thread Maxim Solodovnik
On Sun, 17 Oct 2021 at 05:04, seba.wag...@gmail.com 
wrote:

> >
> > At my 5-7 years old laptop
> > "unpacked" build tooks 7-9 minutes
> > "quick" build tooks 01:01 minute
>
> You are missing that it's not only the build time. You also need to restart
> the server. Which is another 1-2mins. And you need to re-login + navigate
> to the place where you were before. Which depending on the scenario can be
> even more complicated.
>

I'm using "Remember login" option (different browsers - different users)
And links for the "area of test" like you can go directly to room
via `#room/5` hash

The startup time can also be reduced by using
`-Djava.security.egd=file:/dev/./urandom`

Will try to commit some code and re-check my memories on this :)

>
> Well, I always thought it is impossible to create a PWA out of a server
> > side based web application
> > Can you share PoC?
>
> Will do PR shortly. I wouldn't call it a PWA. It's basically a fancy
> bookmark to the home screen. With the ability to have an icon + name +
> splash screen + pre-configured browser settings (hide nav bar). Not using
> any of the other PWA features like offline mode or anything. You can do
> that with any website. How much it uses "pwa" features just depends on what
> the website provides in the manifest file.
>
> Thanks,
> Seb
>
> Sebastian Wagner
> Director Arrakeen Solutions, OM-Hosting.com
> http://arrakeen-solutions.co.nz/
> https://om-hosting.com - Cloud & Server Hosting for HTML5
> Video-Conferencing OpenMeetings
> <
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> >
> <
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> >
>
>
> On Sat, 16 Oct 2021 at 05:23, Maxim Solodovnik 
> wrote:
>
> > On Wed, 13 Oct 2021 at 04:49, seba.wag...@gmail.com <
> seba.wag...@gmail.com
> > >
> > wrote:
> >
> > > OFFTOPIC: I don't really like webpack-and-friends, it's output is often
> > > unpredictable and hard to debug.
> > > Additionally I have difficulties to set it up to do what I need
> > > This is why I'm trying to find something that "just works" and produces
> > no
> > > damage :)
> > >
> > > Your offtopic sounds more like a rant :)
> > >
> >
> > I would say "grumbling"  :))
> >
> >
> > > webpack-and-friends, it's output is often unpredictable and hard to
> > debug.
> > > >
> > > Additionally I have difficulties to set it up to do what I need
> > >
> > > => Actually I mostly used webpack just during development. Not when
> > > productionising. During development you can use webpack to start a task
> > > which enables you to reload the JS+HTML while in a page. E.g. in
> > > OpenMeetings changing the HTML takes around 3minutes, cause you need to
> > > restart the entire server + navigate back to where you were in a
> browser.
> > > See: https://webpack.js.org/configuration/dev-server/
> > >
> > > This greatly improves the development cycle, it cuts it down to seconds
> > > what previously took minutes.
> > >
> >
> > At my 5-7 years old laptop
> > "unpacked" build tooks 7-9 minutes
> > "quick" build tooks 01:01 minute
> >
> > not too much :)))
> > the number can be lower, for whatever reason site is generated even if `
> > maven.site.skip` is passed :(
> >
> >
> > > => Unfortunately it won't be possible to integrate this into
> OpenMeetings
> > > for now. Because it won't work with Apache Wicket.
> > >
> > > It seems like you are putting all of those different tools and
> > technologies
> > > into 1 umbrella/basket. While it's more like each of those has Pro and
> > > Cons. Some might be good for OpenMeetings, others maybe not.
> > >
> >
> > Well, I always thought it is impossible to create a PWA out of a server
> > side based web application
> > Can you share PoC?
> >
> >
> > > It has nothing to do with breaking things. None of those things should
> > > break the application. Neither frontend nor backend technologies should
> > > break the application or make it unstable. It has nothing to do with
> > that.
> > >
> > > Thanks
> > > Sebastian
> > >
> > > Sebastian Wagner
> > > Director Arrakeen Solutions, OM-Hosting.com
> > > http://arrakeen-solutions.co.nz/
> > > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > > Video-Conferencing OpenMeetings
> > > <
> > >
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > > >
> > > <
> > >
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > > >
> > >
> > >
> > > On Wed, 13 Oct 2021 at 03:41, Maxim Solodovnik 
> > > wrote:
> > >
> > > > On Tue, 12 Oct 2021 at 03:41, seba.wag...@gmail.com <
> > > seba.wag...@gmail.com
> > > > >
> > > > wrote:
> > > >
> > > > > >
> > > > > > The project is responsible for the 3rd party components/libraries
> > it
> > > > uses
> > > > > > I try to check the license of JS components (but not their trees)
> > > > >
> > > > > Re license checking, we could explore using:
> > > > > 

Re: Updated mobile viewports to make icons and buttons clickable on mobile device in portrait mode

2021-10-17 Thread Maxim Solodovnik
Just have added some review comments

The code is very compact
And I like the idea of using InfoWebService for customizing manifest :)

I would add 30 new icons
I believe this is too much :(
I would modify favicon to be SVG
https://medium.com/swlh/are-you-using-svg-favicons-yet-a-guide-for-modern-browsers-836a6aace3df


On Sun, 17 Oct 2021 at 07:03, seba.wag...@gmail.com 
wrote:

> Done. I've added some details and screenshots in the PR and linked wiki
> page. It's actually quite a small PR part from adding a few icons in
> different resolutions.
>
> This adds so that when using the mobile browsers "Add to home screen"
> function:
>
>- Show a nice icon in the screens and on the mobile device
>- Show a nice name for the app in the mobile
>- Show a nice splash screen when opening OpenMeetings after saving to
>home screen on the mobile
>- Remove url and navigation bar in browser so it uses the full screen
>size
>- Fix to landscape mode (Android only, iOS does not support it)
>- Show a nice icon and name when rotating through currently open apps on
>the mobile device
>
> You *may* call this PWA mode. However really it's just a fancy bookmark.
> However it makes the application look much more like a native mobile app.
> And it makes it easier to control the url/navigation bar of the browser.
>
> See documentation on mobile experience or iOS and Android here:
>
> https://cwiki.apache.org/confluence/display/OPENMEETINGS/OpenMeetings+Mobile#OpenMeetingsMobile-Savetohomescreentocreatebettermobileexperience
>
> *It has no impact on any other functionality of OpenMeetings (as well as it
> does not require any rewrite of any functionality).*
>
> What could be done next:
>
>- Adding a prompt in iOS to suggest landscape mode (iOS "add to home
>screen" functionality does not support orientation=landscape feature,
> needs
>user prompt when in portrait mode)
>- Potentially something that makes this "Add to home screen" easier to
>find for users
>- Documentation on how to release to the App store. Using this "Add to
>home screen" mode it is easier to also package it up to release
>OpenMeetings to an App store
>
> Thanks
> Seb
>
> Sebastian Wagner
> Director Arrakeen Solutions, OM-Hosting.com
> http://arrakeen-solutions.co.nz/
> https://om-hosting.com - Cloud & Server Hosting for HTML5
> Video-Conferencing OpenMeetings
> <
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> >
> <
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> >
>
>
> On Sat, 16 Oct 2021 at 05:27, Maxim Solodovnik 
> wrote:
>
> > On Wed, 13 Oct 2021 at 04:22, seba.wag...@gmail.com <
> seba.wag...@gmail.com
> > >
> > wrote:
> >
> > > >
> > > > Also I don't really like all these JS frameworks
> > > > I believe the content should be controlled on server
> > >
> > > => There is no framework change, your understanding of PWA and saving
> to
> > > home screen I think is based on a misunderstanding. Or you mixing it
> with
> > > other topics around the other email thread on "Future of front end". It
> > has
> > > nothing to do with what framework you use. PWA does not mean the
> > > application is more or less executed on the client or server side. It's
> > > just a different way of starting a web-browser. That is all.
> > >
> >
> > I wrote PWA for one client
> > It was serverless app
> > and as PWA it was working in offline mode
> > AFAIK you need some cache and background worker
> >
> > If you feel it is easy and useful: I would say let's try :)
> >
> >
> > >
> > > Thanks
> > > Seb
> > >
> > > Sebastian Wagner
> > > Director Arrakeen Solutions, OM-Hosting.com
> > > http://arrakeen-solutions.co.nz/
> > > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > > Video-Conferencing OpenMeetings
> > > <
> > >
> >
> https://www.youracclaim.com/badges/da4e8828-743d-4968-af6f-49033f10d60a/public_url
> > > >
> > > <
> > >
> >
> https://www.youracclaim.com/badges/b7e709c6-aa87-4b02-9faf-099038475e36/public_url
> > > >
> > >
> > >
> > > On Wed, 13 Oct 2021 at 10:15, seba.wag...@gmail.com <
> > seba.wag...@gmail.com
> > > >
> > > wrote:
> > >
> > > > Let me try out to see how many changes are required. And then we can
> > see.
> > > > I think your understanding of PWA is a misunderstanding. It's nothing
> > > else
> > > > than an alternative way of a browser. So you can control a few more
> > > aspects
> > > > more explicitly.
> > > >
> > > > It is not rewriting the JS or HTML files. Or changing the frameworks.
> > > It's
> > > > still just a browser. It just opens up a few APIs that you don't have
> > > when
> > > > using a normal browser.
> > > >
> > > > Thanks
> > > > Seb
> > > >
> > > > Sebastian Wagner
> > > > Director Arrakeen Solutions, OM-Hosting.com
> > > > http://arrakeen-solutions.co.nz/
> > > > https://om-hosting.com - Cloud & Server Hosting for HTML5
> > > > Video-Conferencing OpenMeetings
> > > >
> > > > <
> > >
> 

[GitHub] [openmeetings] solomax commented on a change in pull request #164: OPENMEETINGS-2683 Add manifest file for adding icon, splash screen and browser settings for when adding to home screen on mo

2021-10-17 Thread GitBox


solomax commented on a change in pull request #164:
URL: https://github.com/apache/openmeetings/pull/164#discussion_r730433516



##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+   manifest.put("scope", "/");
+   manifest.put("background_color", "#ff");
+   manifest.put("theme_color", "#ff");

Review comment:
   this 2 colors might be not in sync with bootstrap theme

##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());

Review comment:
   I would expect You'll put manifest file to the `public/` folder
   nice solution :)

##
File path: 
openmeetings-web/src/main/java/org/apache/openmeetings/web/pages/BasePage.html
##
@@ -23,6 +23,35 @@
 


+   
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

Review comment:
   I have 2 questions:
   
   1. why do we need all those icons?
   2. Why are they not in `public/` folder?
   
   I believe this is something unnecessary
   It will complicate maintenance

##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");

Review comment:
   this might be very inaccurate
   for ex. `OpenmeetingsVariables.getApplicationName()` == `OpenMeetings - Next`
   
   I believe it's better to use `application.base.url` for this
   
   And since this is calculated I would create and pass variable or create 
method for this

##
File path: 
openmeetings-webservice/src/main/java/org/apache/openmeetings/webservice/InfoWebService.java
##
@@ -91,4 +98,38 @@ public Info getVersion() {
public Health getHealth() {
return Health.INSTANCE;
}
+
+   @WebMethod
+   @GET
+   @Path("/manifest.webmanifest")
+   @Produces({"application/manifest+json"})
+   public String getManifest() {
+   JSONObject manifest = new JSONObject();
+   manifest.put("name", OpenmeetingsVariables.getApplicationName() 
+ " " + Version.getVersion());
+   manifest.put("short_name", 
OpenmeetingsVariables.getApplicationName() + " " + Version.getVersion());
+   manifest.put("description", "Openmeetings provides video 
conferencing, instant messaging, white board, collaborative document editing 
and other groupware tools.");
+   manifest.put("start_url", "/" + 
OpenmeetingsVariables.getApplicationName().toLowerCase(Locale.getDefault()) + 
"/?pwa=true");
+