Skip to content
This repository has been archived by the owner on Mar 13, 2024. It is now read-only.

Landing page for deep linking to native app new #2299

Conversation

csduarte
Copy link
Contributor

@csduarte csduarte commented Jan 29, 2019

NOTE: @esethna @enahum The original PR got closed and contains the history of revisions and conversations that we had: #208

These changes add a new route vault to a landing page that allows to fire the protocol to native client if installed or give the user the option to download the native app or redirects to the webapp after 5 seconds.

This is an example if the native app is installed and the protocol is successfully registered:
<>

Ticket Link

https://mattermost.atlassian.net/browse/MM-8255
mattermost/desktop#628

Checklist

  • Ran make check-style to check for style errors (required for all pull requests)
  • Ran make test to ensure unit and component tests passed
  • Has UI changes

mm_landingpage

@esethna esethna added the 1: PM Review Requires review by a product manager label Jan 31, 2019
@esethna esethna self-assigned this Jan 31, 2019
@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch 2 times, most recently from 1fa9cf6 to ea67a13 Compare February 6, 2019 17:29
@esethna esethna added the Setup Old Test Server Triggers the creation of a test server label Feb 7, 2019
@esethna
Copy link
Contributor

esethna commented Feb 7, 2019

FYI on this, our design team has a ticket queued this week for UI updates to the landing page and adding a selector for remembering the choice of opening in browser: https://mattermost.atlassian.net/browse/MM-11443

@dmeza
Copy link
Contributor

dmeza commented Feb 11, 2019

@esethna here is the PR to Change link to redirect email notifications to landing page that would complete these changes:
mattermost/mattermost#10268

@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch 2 times, most recently from 41fc609 to dca9f44 Compare February 12, 2019 15:52
@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch 2 times, most recently from f7c456f to 12c7fdd Compare February 21, 2019 17:19
@esethna
Copy link
Contributor

esethna commented Feb 26, 2019

@dmeza would you be open to jumping on another call about this PR next week?

Design team had some thoughts about an update to the landing page UX/UI: https://projects.invisionapp.com/share/RAQJY1U68NE#/screens/347225775_Title_-_Deep_Link_Landing_Page

We would like to chat through if there are specific limitations technically as it is a bit of a deviation from the UX proposed in this PR.

@csduarte
Copy link
Contributor Author

The designs look nice, but really are hard on custom branding. Please consider a good way to swap our images/names.

Is it possible to accept the PR without a direct usage, the functionality is there and is very much needed in the platform.

@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch 2 times, most recently from fc127e5 to 3a5caae Compare March 4, 2019 20:50
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@esethna esethna added Setup Old Test Server Triggers the creation of a test server and removed Setup Old Test Server Triggers the creation of a test server labels Mar 4, 2019
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@mattermost mattermost deleted a comment from mattermod Mar 4, 2019
@esethna esethna added the Setup Old Test Server Triggers the creation of a test server label Mar 4, 2019
Copy link
Contributor

@esethna esethna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, good point on custom branding. We can work on that.

@dmeza seems there might be some functionality issues on the PR (unless I'm testing incorrectly by adding the /vault#/ in the url?)

  1. It seems to redirect to Mattermost in browser after the landing page is open for a few seconds.
  2. What's expected when the user clicks "Download and open in Mattermost"? Right now I'm getting a "Team not Found" page
  3. Opening in desktop from the pop-up dialog doesn't seem to do anything - no response after clicking Open Mattermost.

Regarding UX questions for the improved landing page design:
4. Is a system pop-up page necessary or can we get them to click the "View In Desktop" button here. We looked at some other apps and I recall finding some that did not launch a system dialog from the landing page.
5. Related to above, if we can eliminate the system pop-up dialog, can we have a "Remember my preference" button on the landing page itself that would apply to the "View in Mattermost" or "View in Browser" buttons?
6. Can we detect if the user has Mattermost installed and change the landing page UI if so? ie this page if they do, this page if they don't. Notice the buttons are different.
7. If you've got mattermost installed and want it to remember that it opens in app, does the browser tab open every time?

  1. Discuss action items from last PR:
    image

  2. What if the server's not entered on the desktop app?

  • Expected: Just opens the desktop app to last viewed location

Regarding 4-9, we are just trying to understand what technical restraints we have so we can find an optimum design and UX.

@esethna esethna added the Awaiting Submitter Action Blocked on the author label Mar 4, 2019
@dmeza
Copy link
Contributor

dmeza commented Mar 6, 2019

Hey @esethna here are some comments. I think it would be easier to understand if get in a call to discuss and decide changes:

It seems to redirect to Mattermost in browser after the landing page is open for a few seconds.

It was thought as a way to get the user to the message result even if they don't take an action. It can be removed if the flow doesn't make sense.

What's expected when the user clicks "Download and open in Mattermost"? Right now I'm getting a "Team not Found" page

To make testing easier I added a hack to always go to the production desktop domain (pre-release). In the server you're testing it might be that the team or channel is not available in pre-release. I can remove it and you can do full testing with it.

Opening in desktop from the pop-up dialog doesn't seem to do anything - no response after clicking Open Mattermost.

I'd like you to show me when it's happening.

  1. Is a system pop-up page necessary or can we get them to click the "View In Desktop" button here. We looked at some other apps and I recall finding some that did not launch a system dialog from the landing page.

It will need to happen since you're telling the OS to allow access to that protocol. That's not optional.

  1. Related to above, if we can eliminate the system pop-up dialog, can we have a "Remember my preference" button on the landing page itself that would apply to the "View in Mattermost" or "View in Browser" buttons?

The view on the browser button can be set to always to de redirect and not go to the protocol.

  1. Can we detect if the user has Mattermost installed and change the landing page UI if so? ie this page if they do, this page if they don't. Notice the buttons are different.

The browser can not detect it since it's an OS installed application.

Let me know if you'd like to discuss.

@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch from b19be62 to b7d2dff Compare April 1, 2019 20:41
@mattermod
Copy link
Contributor

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

/cc @jasonblais @hanzei

@hanzei
Copy link
Contributor

hanzei commented Apr 16, 2019

@esethna What is the status on this ticket? Is this ready for review?

@jasonblais jasonblais removed the Awaiting Submitter Action Blocked on the author label Apr 16, 2019
@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch from b7d2dff to 3ce0cf0 Compare April 17, 2019 21:08
David Meza and others added 5 commits April 23, 2019 11:27
- Add protocol detection for desktop app
- fixup to protocol
- Moved logic to new router
- Renamed folder to be more descriptive. Created proper PureComponent. Fix all issues related to string replacements. Fixed timeOut not working.
@dmeza dmeza force-pushed the landing_page_for_deep_linking_to_native_app_new branch from 3ce0cf0 to 8682eb8 Compare April 23, 2019 16:27
@esethna
Copy link
Contributor

esethna commented Apr 23, 2019

@csduarte was hoping to get your feedback regarding ease of custom branding in this proposed design:

Note that the images have transparencies for shapes in the left hand sidebars and background, so you will have to add the image in a <div> and set a background color to align with your custom branding (blue in this case). Would this be acceptable?

image
https://projects.invisionapp.com/share/M5RMI6O87SC#/screens/359008499

image
https://projects.invisionapp.com/share/VGRMI62F6BS#/screens/359009765

@csduarte
Copy link
Contributor Author

csduarte commented May 1, 2019

@esethna sorry for the delay, I think it's good. So long as there is any hardcoded branded imagery, it's fine.

@hanzei
Copy link
Contributor

hanzei commented May 16, 2019

Hey @esethna,

What are the next steps for this PR?

@esethna
Copy link
Contributor

esethna commented May 17, 2019

@hanzei we need to get final approval on the designs then see where we can schedule this in for development. No immediate updates, we can change this to a WIP PR

@esethna esethna added Work in Progress Not yet ready for review and removed Lifecycle/1:stale labels May 17, 2019
@hanzei hanzei removed the Setup Old Test Server Triggers the creation of a test server label May 17, 2019
@hanzei hanzei removed the 1: PM Review Requires review by a product manager label May 29, 2019
@hanzei hanzei removed the request for review from esethna May 29, 2019 20:16
@mattermod
Copy link
Contributor

This issue has been automatically labelled "stale" because it hasn't had recent activity.
A core team member will check in on the status of the PR to help with questions.
Thank you for your contribution!

/cc @jasonblais @hanzei

@esethna
Copy link
Contributor

esethna commented Jul 22, 2019

FYI we will be picking this back up now internally.

@devinbinnie
Copy link
Member

Closing in favour of #4455

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Awaiting Submitter Action Blocked on the author Lifecycle/frozen Work in Progress Not yet ready for review
Projects
None yet
10 participants