Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Best of login experience
Search
Dmytro Khmelenko
October 04, 2019
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Best of login experience
Best of login experience presented at Mobiconf, Krakow 2019
Dmytro Khmelenko
October 04, 2019
More Decks by Dmytro Khmelenko
See All by Dmytro Khmelenko
Securing High-Risk Django Applications: Lessons from the Payment Domain
dkhmelenko
0
55
Securing Python Web Applications
dkhmelenko
0
43
Best of sign in experience @ Droidcon Lisbon
dkhmelenko
0
130
Red or Green? Let us test
dkhmelenko
0
52
A journey to smaller APK size
dkhmelenko
1
130
A journey to smaller apk size
dkhmelenko
0
78
How Git helps us with localization
dkhmelenko
0
110
Dagger.Android module
dkhmelenko
0
81
MVVM vs. MVP
dkhmelenko
0
61
Other Decks in Programming
See All in Programming
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
220
外から家のPCの電源入れたい!をPHPで解決する
kawashimo0
1
130
Augmenting AI with the Power of Jakarta EE
ivargrimstad
0
190
AmebaブログはKMPから卒業します
kmars0605
0
190
AIで開発が速くなった先で、開発チームは何を目指すか
shihochan
0
1.2k
Findy - エンジニア向け会社紹介/Findy Company Deck
findyinc
6
400k
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
370
Next.js: The final boss of Web Performance
guaca
0
260
すこし踏み込む CancellationToken
htkym
2
1.7k
Agents on Rails - Rails at Scale 2026
irinanazarova
0
560
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
610
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
7
13k
Featured
See All Featured
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
400
Rails Girls Zürich Keynote
gr2m
96
14k
The Invisible Side of Design
smashingmag
301
52k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
530
Utilizing Notion as your number one productivity tool
mfonobong
4
620
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.5k
Thoughts on Productivity
jonyablonski
76
5.4k
Optimising Largest Contentful Paint
csswizardry
37
4k
sira's awesome portfolio website redesign presentation
elsirapls
0
460
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Build The Right Thing And Hit Your Dates
maggiecrowley
39
3.5k
Have SEOs Ruined the Internet? - User Awareness of SEO in 2025
akashhashmi
0
520
Transcript
Best of login experience Dmytro Khmelenko Software Engineer @ Freeletics
How often did you have to do login in apps?
None
None
None
None
None
None
None
None
Why? - Privacy - Personalised content
Solutions
Log in with Facebook 2.3 billion monthly active users on
Facebook
Log in with Google
None
Distribution (Android)
Distribution (iOS)
oAuth
None
Solution
Firebase Has sign in pre-built UI
Firebase https://github.com/firebase/FirebaseUI-Android
Firebase Has sign in pre-built UI Supports multiple providers
None
Firebase Has sign in pre-built UI Supports multiple providers Has
account management
None
Firebase Has sign in pre-built UI Supports multiple providers Has
account management Anonymous access & account linking
Firebase Has sign in pre-built UI Supports multiple providers Has
account management Anonymous access & account linking Full email sign up support
None
Firebase: Good to know - Usage limits - Extending with
Cloud Functions - Accounts import/export
Classic Email log in
What’s wrong You have to type You need to remember
The password has to contain at least N characters. At least one character must be a number or a special character
Autofill framework https://developer.android.com/guide/topics/text/autofill
None
SmartLock for Passwords https://developers.google.com/identity/smartlock-passwords/android/
SmartLock for Passwords https://developers.google.com/identity/smartlock-passwords/case-studies - Increase in conversion rate -
Significant drop in register and sign in failures
How to
RxSmartLock https://github.com/freeletics/RxSmartLock
RxSmartLock - Saving - - RxGoogleSmartLockManager.storeCredentials(context, credentials).subscribe() https://github.com/freeletics/RxSmartLock
https://github.com/freeletics/RxSmartLock
RxSmartLock - Saving - - RxGoogleSmartLockManager.storeCredentials(context, credentials).subscribe() - Restoring -
- RxGoogleSmartLockManager.retrieveCredentials(context).subscribe() https://github.com/freeletics/RxSmartLock
https://github.com/freeletics/RxSmartLock
RxSmartLock implementation 'com.freeletics.rxsmartlock:rxsmartlock:1.0.2' https://github.com/freeletics/RxSmartLock
Fingerprint API - Secure - Fast - Easy
Fingerprint API: requirements - From API 26 - Fingerprint sensor
- Enabled Lock screen - Registered fingerprints - Grant permissions
Fingerprint API: with prompt https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html API 28
Fingerprint API: with prompt https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html API 28
https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html API 28
Fingerprint API: how to https://developer.android.com/reference/android/support/v4/hardware/fingerprint/FingerprintManagerCompat
Fingerprint API: how to https://developer.android.com/reference/android/support/v4/hardware/fingerprint/FingerprintManagerCompat
https://github.com/googlesamples/android-FingerprintDialog
Happy users must have you
@dkhmelenko Thank you