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

Install app with the custom homeserver/identity server already filled in #1811

Open
turt2live opened this issue Mar 12, 2018 · 14 comments
Open
Labels
P2 T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements user feedback

Comments

@turt2live
Copy link
Member

To match the android behaviour. It'd be nice to be able to give someone a link to download the iOS app which automatically fills in the custom homeserver and identity server.

This should be possible using a similar technique to android: campaign tracking.

@manuroe
Copy link
Member

manuroe commented Mar 13, 2018

Sure, that would be nice but the App Store of Apple does not allow such easy mechanism.

There is no reliable solution for this at the moment in iOS.

<TL;DR>
There were some techniques for deferred deep linking but Apple seems to close them one by one.
On iOS 9 and 10, it was possible to share a cookie between Safari and an SFSafariViewController but this behaviour was killed in in 11.

https://branch.io, which this feature is one of their business, makes some suggestion here:

  • fingerprinting the device with a server, which is a privacy violation
  • use their solution based on their DB shared with other apps

There may be still an open door using the paste board: make the page in Safari copy a text and make a "Paste" within the app as described at https://stackoverflow.com/a/34046084.
But this is an hacky, short term, solution.

@sefsh
Copy link
Contributor

sefsh commented Dec 19, 2018

This is a massive roadblock for onboarding in my project as the vast majority of users will either

  1. give up trying to login (with their preconfigured accounts), or
  2. manage to register an account at matrix.org instead (which in turn will deny access to internal rooms)

I'm considering distributing a custom version of the app through App Store solely for the purpose of having the right homeserver setting from the start but I reckon there will be all sorts of issues with push notifications and the like.

A more visible homeserver option would help. Check out how RocketChat does it:

bild

@ara4n
Copy link
Member

ara4n commented Dec 19, 2018

We’re working on a similar UX for riot/web (cc @nadonomy) which can hopefully fix this too

@sefsh
Copy link
Contributor

sefsh commented Dec 20, 2018

Excellent, and those design flows should resemble each other as close as possible.

I understand the need to push for a fairly strong emphasis on matrix.org as homeserver for the sake of simplicity but at least in my case, there's an inherent understanding of "our server".

@sefsh
Copy link
Contributor

sefsh commented Dec 20, 2018

Also, although I'm biased as an iOS user (with a nontechie iOS leaning user base), I note that both riot-web and riot-android users quite easily may run multiple accounts in parallel: riot-web by browser containerization and riot-android by using similar techniques. iOS user on the other hand have zero options, which is why this may feel extra urgent and adoption inhibiting for those users.

@sefsh
Copy link
Contributor

sefsh commented Jul 20, 2019

Any progression in this matter?

@nadonomy
Copy link
Contributor

nadonomy commented Aug 5, 2019

Hey @yusf apologies for the late reply (I've been afk on holiday for the last couple of weeks)— we've made a bunch of progress on this internally but the communities work isn't quite baked enough for it to be productive for us to share externally yet.

I'd anticipate it will be in the coming months though, and would likely coincide with when we're scheduling dev resources for it, so we can ensure we're working on things we want to and have the resources to build.

@sefsh
Copy link
Contributor

sefsh commented Nov 20, 2019

Any action in this space @nadonomy? My to-be users are having an awful onboarding experience which ends up me having to walk roughly 50% of them through the process manually. 😩

The onboarding heavily rely on the "mobile guide" that is part of riot-web that itself has some issues element-hq/element-web#11340

@manuroe
Copy link
Member

manuroe commented Nov 20, 2019

@yusf, we have now a configuration link:
https://riot.im/config/config?hs_url=[hs_url]&is_url=[is_url]

but users must have installed the app before. This is the single reliable way we have found so far.
It works on both mobile apps.

@sefsh
Copy link
Contributor

sefsh commented Nov 26, 2019

I recently discovered the configuration link scheme which is good!

However, since

users must have installed the app before

the crucial part becomes to serve a good overview of the two-step onboarding guide from the start, since users switching context to app installation has zero incentive to head back to the browser-based guide if they don't know of step 2 at all. But let's continue in element-hq/element-web#11340

@unclehowell
Copy link

Guys , did this ever get clarified anywhere in the docs ? is it still a valid approach these days e.g. Sep 2021 and what's is_url ? (presuming hs_url is the custom home server)

@grahhnt
Copy link

grahhnt commented Aug 19, 2022

I am coming from rocket.chat and I enjoyed the deeplinking they had

https://developer.rocket.chat/rocket.chat/deeplink

it would be neat to have this implemented in Element

@pixlwave
Copy link
Member

@grahhnt You can deeplink after installation with the following:

https://mobile.element.io/?hs_url=matrix.example.com&is_url=identity.example.com

hs_url sets the homeserver and is_url sets the identity server.

@grahhnt
Copy link

grahhnt commented Aug 22, 2022

@pixlwave is it possible to fill in authentication related stuff?

https://developer.rocket.chat/rocket.chat/deeplink#authentication

Eg. Making a custom registration page and including a button that would open the app and immediately login with the token specified

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
P2 T-Enhancement New features, changes in functionality, performance boosts, user-facing improvements user feedback
Projects
None yet
Development

No branches or pull requests

8 participants