[openstreetmap/openstreetmap-website] Welcome page interrupts Oauth authorization flow for newly created OSM accounts (Issue #4246)
Branko Kokanovic
notifications at github.com
Thu Sep 21 18:34:39 UTC 2023
Yes, I *almost* agree with requirement (as you @gravitystorm put it). I would just append to it "when on openstreetmap.org website".
It is about making sure that message(s) contained in welcome screen are delivered to the user. I think it is up to third-party app's responsibility to deliver these messages in a manner that is as similar and as prominent as `/welcome` page! When/if user visits later osm.org or osm.org/edit, it should be given opportunity to see welcome page. But in OAuth signup flow, yet another dialog to click is just hurting conversion rate (both for third-party app and for OSM). Does this makes sense to you?
If it is, let me immediately give one possible proposal. We would work on implementation (with your hand-holding when necessary):
* We introduce new `bool` column in `users` table named `welcome_seen` (defaults to true, not null) (we think there is no perf hits/locks in postgres to do this, even in huge tables)
* All existing users would have `welcome_seen` set to true, as `/welcome` page is seen (honors current reality).
* When new user is created in DB, we set this to false initially.
* As login flow continues to guide users to `/welcome` page, `/welcome` page (on GET request) sets this bit to true for currently logged-in users (this can be done unconditionally, as this bit can never go true->false)
* OAuth signup skips `/welcome` page and keep `welcome_seen` to false.
* We add checks in `/` and `/edit` routes to read `welcome_seen` field and either show nice HTML closable dialog, or just simply redirect users to `/welcome` page reusing current page (but keeps redirects and URL parameters to bring user back where they originated from).
We don't mind other solutions as well (for example with welcome being mail), but it is really important that OAuth signup flow is uninterrupted and that conversion is maximized.
Feel free to comment on proposal (does it make sense at all, any problems...), and let's come up with solution that works for all!
--
Reply to this email directly or view it on GitHub:
https://github.com/openstreetmap/openstreetmap-website/issues/4246#issuecomment-1730102639
You are receiving this because you are subscribed to this thread.
Message ID: <openstreetmap/openstreetmap-website/issues/4246/1730102639 at github.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/rails-dev/attachments/20230921/08526262/attachment.htm>
More information about the rails-dev
mailing list