Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breakdown on supported features at browsers #63

Open
plastiv opened this issue Jan 31, 2020 · 16 comments
Open

Breakdown on supported features at browsers #63

plastiv opened this issue Jan 31, 2020 · 16 comments
Labels
documentation Improvements or additions to documentation

Comments

@plastiv
Copy link

plastiv commented Jan 31, 2020

android-browser-helper library declares minSdk=16. But it sounds like user experience depends a lot on which browser is being used and theirs version. It's android so not everyone is on single browser - Chrome. And some (most?) browsers including Chrome have stopped supporting sdk16 already.

Currently it is quite hard to understand and estimate how many users are ending up in 'reduced compatible behaviour' bucket. Knowing the audience size would help to better estimate an effort into supporting those users or not.

Is it possible and do you think it is valuable to gather this information at this project (and let people contribute the rest of the browsers if they are interested)? Something like this:

Browser Chrome Custom Tabs Trusted Web Activity Splash Screen
Chrome v45, released 2016, supports sdk 16+ v72, released 2019, supports sdk 19+) v75, released 2019, supports sdk 19+)
Samsung v4, released 2016, supports sdk16? Soon ✖️
Android WebView Same as Chrome for android 21+ but does WebView supports CCT on android below?
Firefox v57, release 2017, supports android sdk 16+ ✖️ ✖️
@PEConn
Copy link
Collaborator

PEConn commented Jan 31, 2020

Yeah, I agree this would be quite interesting (and thanks for doing the research).

I'm not quite sure what WebView is doing on there though.

@plastiv
Copy link
Author

plastiv commented Jan 31, 2020

I'm not quite sure what WebView is doing on there though.

It's number 5 most used user agent for us after Chrome, Samsung, Firefox and Opera. Maybe some other browser is masking behind.

@PEConn
Copy link
Collaborator

PEConn commented Jan 31, 2020

Ah gotcha.

Part of the definition of Trusted Web Activities is that they share state with the user's browser - this way if you're logged into something in your browser, you'll be logged in in a TWA. WebViews don't share state with the user's browser. You can definitely use a WebView to package your website in an app (and that's what things such as Cordova and Ionic do), but that wouldn't technically be a TWA.

Also, while a TWA is a shell app that launches a Custom Tab (which is an Android Activity that belongs to the browser), if you were to use a WebView approach, the WebView would be part of your app. So if you ship an APK that uses a WebView, you'll get the same behaviour everywhere - you won't be left to the whims of whatever browser the user has installed.

So if we were to add this graph, it probably wouldn't make sense to be comparing WebView to Firefox or Samsung Browser.

You may be interested to know that we're looking into shipping a WebView option with every TWA (Issue #15 ) which would be used in case the user has no supporting browser.

@andreban
Copy link
Member

I really like this table. Please, feel free to send a PR to add it to the docs (most likely without the WebView. More details below)

Regarding the WebView, it is a very different thing from CCT or TWAs. While the last 2 are features provided by browsers, using a protocol built on top of the Android framework, the WebView is a component developers use in their Apps to render Web content.

This means a WebView can be used by developers to implement the CCT or TWA protocols to build a behaviour similar to what those APIs provide. This demo has an implementation like that, and could be easily extended to cover Splash Screens, for instance.

@andreban
Copy link
Member

@plastiv I would assume that the WebView traffic would be coming from another app, like Facebook. Is that correct?

@andreban andreban added the documentation Improvements or additions to documentation label Feb 2, 2020
@rockeynebhwani
Copy link

rockeynebhwani commented Jul 19, 2020

@PEConn / @andreban,

We are receiving feedback like this on our TWA app (George at Asda).. Couple of feedback below from real users


Didn't even get to use it as it tried to open chrome as soon as i clicked on it. Ridiculous! Especially because not everyone uses chrome!


I shouldn't have to update chrome to use a seperate app! I use duckgo private search engine as chrome does nothing but track and trace everything you do and sells your data, I reinstalled George and its not working because I have an old chrome version which I don't use! Oh well


We would like to go back and reply to users advising them to use browsers other than chrome if they wish and a documentation envisioned in this issue will be of great help

Regards,
Rockey

@PEConn
Copy link
Collaborator

PEConn commented Jul 21, 2020

Hey,

It's worth noting that although TWAs will try to use the user's default browser, they will prefer a browser that supports TWAs over one that doesn't. So if the user has (for example) and old version of Firefox as their default browser, a TWA will still open in a newer version of Chrome (if present).

Other browsers are adding support for TWAs - for example Firefox Nightly has support - but I think currently Chrome is the only one with support in its stable channel. @andreban is currently working on a breakdown of the different browsers and their levels of TWA support. We'll report back here when that is published.

Peter

@rockeynebhwani
Copy link

Thanks @PEConn. Saw this note from @NotWoods (https://twitter.com/Not_Woods/status/1278560060986163200) which suggests that Firefox should have support in very near future.

I just checked TWA traffic and associated browsers for George app and I see traffic from Edge 45.02 / 45.03 / 45.05 / 45.06 and Amazon Silk 83.2 (there are few more versions of Silk). This suggests to me that Chrome is not the only stable channel. Do we have TWA support in latest 'Edge for Android' versions as well?

@NotWoods
Copy link
Contributor

Firefox Beta should have support, and Firefox stable channel should be supported later this year. Having a detailed list would be nice from an implementer side so that we have a checklist of features to add.

@PEConn
Copy link
Collaborator

PEConn commented Jul 22, 2020

Oh, I didn't realize we had Edge and Silk users, that's brilliant! (Are we sure that the user is seeing a TWA? And not just that they're launching their TWA but since their browser doesn't support it they get a Custom Tabs UI?)

@andreban do we have a rough ETA on the browser/TWA feature support docs?

@andreban
Copy link
Member

andreban commented Jul 22, 2020

I don't have an ETA yet.

Regarding Edge, even though it's been advertising support since earlier versions, it would open a Custom Tab instead of a Trusted Web Activity. This seems to have been fixed since 45.05.4.5026.

I couldn't test the Silk Browser myself, but it seems that despite advertising support, it has issues. See #73

Brave and Vivaldi, which are both Chromium based, also support Trusted Web Activity.

@rockeynebhwani
Copy link

rockeynebhwani commented Jul 22, 2020

@andreban / @PEConn - Just tested 'George at ASDA' TWA on edge and looks like Edge now has proper support for TWA. I can see a prompt 'Running in Edge' and no address bar at the top

image

@andreban
Copy link
Member

@rockeynebhwani Can you confirm the Edge version?

Also, CC @JudahGabriel for any further insights on Edge.

@rockeynebhwani
Copy link

@andreban - Edge version was Edge 45.06.4.5042

Screenshots for Brave (Version - 1.10.99)

image

Screenshot for Vivaldi (Version - 3.1.1935.19)

image

@rockeynebhwani
Copy link

rockeynebhwani commented Jul 22, 2020

@andreban / @PEConn - What is strange that our analytics reported browser as 'Chrome Mobile' for sessions with 'Brave' and 'Vivaldi'. On device, we tested we had 'Chrome Mobile 84.0.4147.89' installed. Brave TWA session reported browser as 'Chrome Mobile 83.0.4103.116' and Vivaldi TWA session reported browser as 'Chrome Mobile 83.0.4103.109' in our analytics whereas Edge session reported correct 'Edge' version.

Any idea why?

@andreban
Copy link
Member

I have kicked off #129 with information collected.

@rockeynebhwani my guess is that's due to the user-agent Vivaldi and Brave use?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
documentation Improvements or additions to documentation
Projects
None yet
Development

No branches or pull requests

5 participants