element-ios icon indicating copy to clipboard operation
element-ios copied to clipboard

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

Open turt2live opened this issue 7 years ago • 14 comments

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.

turt2live avatar Mar 12 '18 15:03 turt2live

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.

manuroe avatar Mar 13 '18 09:03 manuroe

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

sefsh avatar Dec 19 '18 21:12 sefsh

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

ara4n avatar Dec 19 '18 21:12 ara4n

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 avatar Dec 20 '18 16:12 sefsh

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 avatar Dec 20 '18 20:12 sefsh

Any progression in this matter?

sefsh avatar Jul 20 '19 21:07 sefsh

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.

nadonomy avatar Aug 05 '19 23:08 nadonomy

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 https://github.com/vector-im/riot-web/issues/11340

sefsh avatar Nov 20 '19 12:11 sefsh

@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.

manuroe avatar Nov 20 '19 17:11 manuroe

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 https://github.com/vector-im/riot-web/issues/11340

sefsh avatar Nov 26 '19 22:11 sefsh

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)

unclehowell avatar Sep 30 '21 15:09 unclehowell

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

grahhnt avatar Aug 19 '22 23:08 grahhnt

@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.

pixlwave avatar Aug 22 '22 08:08 pixlwave

@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

grahhnt avatar Aug 22 '22 15:08 grahhnt