mozilla-lockwise / lockwise-android Goto Github PK
View Code? Open in Web Editor NEWFirefox's Lockwise app for Android
Home Page: https://mozilla-lockwise.github.io/lockwise-android/
License: Mozilla Public License 2.0
Firefox's Lockwise app for Android
Home Page: https://mozilla-lockwise.github.io/lockwise-android/
License: Mozilla Public License 2.0
Because mobile access is complementary to the browser experience, I want to retrieve logins that I have already saved, and need to understand what is required to do that (having saved logins in Firefox, FxA + Sync enabled)
Make sure that navigating to this screen prevents the user from seeing the ugly webpage error as referenced in #273
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979872_Onboarding_Confirmation
Zeplin
https://zpl.io/V0yxoJQ
Depends on #30
service-firefox-accounts
cancel
buttonInVision
FxA Auth (email first flow): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/311586971_FxA_-_Email
Zeplin
FxA Auth (email first flow): https://zpl.io/blpW3DG
When I have no entries saved in my Lockbox app, I need to know how to get credentials on mobile.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979875_Entry_List_-_Empty_State
Zeplin
https://zpl.io/bAqXRlB
Depends on #160
placeholder
As a user of a new Android device with Oreo installed, when I need to access an account, I want the app/browser to recognize that I have saved credentials for that form and use those to immediately log in. If the app doesn’t find an exact match, I want to be able to access my list of entries right from the app/browser to select a given entry for filling (in lieu of having an exact match)
InVision
Initial (1 entry): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317564412_Autofill_-_App_-_Initial
Initial (multiple entries): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317564409_Autofill_-_App_-_Initial_-multiple_Entries-
Initial (no matching entries): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317568427_Autofill_-_App_-_No_Matches
Unlock (fingerprint): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317564407_Autofill_-_App_-_Unlock_-_Fingerprint
Unlock (Device PIN/Pattern): https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317564414_Autofill_-_App_-_Unlock_-_Device_PIN
Filled: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/317564408_Autofill_-_App_-_Filled
Zeplin
Initial (1 entry): https://zpl.io/2pBe6lE
Initial (multiple entries): https://zpl.io/aNo8g9v
Initial (no matching entries): https://zpl.io/a7ENAJR
Unlock (fingerprint): https://zpl.io/bLD0zx7
Unlock (Device PIN/Pattern): https://zpl.io/b6vEzjg
There are several spots throughout the app that link off to the internal FAQ for support.
Let's use this description to identify 1) the locations in the app that need to link to the FAQ and 2) the exact URL to link to
Welcome
Design: https://zpl.io/VDzrg4v
Link Text: Learn more
Link URL: https://lockbox.firefox.com/faq.html#how-do-i-get-my-saved-logins-into-firefox-lockbox
You're all Set (onboarding confirmation)
Design: https://zpl.io/V0yxoJQ
Link Text: 256-bit encryption
Link URL: https://lockbox.firefox.com/faq.html#what-security-technologies-does-firefox-lockbox-use
No Entries Found
Design: https://zpl.io/bAqXRlB
Link Text: Learn more
Link URL: https://lockbox.firefox.com/faq.html#how-do-i-enable-sync-on-firefox
No Matching Entries (when searching)
Design: https://zpl.io/2j4XN1q
Link Text: Learn more
Link URL: https://lockbox.firefox.com/faq.html#how-do-i-create-new-entries
Entry Detail
Design: https://zpl.io/2EAZQyl
Link Text: Learn how to edit this entry
Link URL: https://lockbox.firefox.com/faq.html#how-do-i-edit-existing-entries
Send Usage Data
Design: https://zpl.io/awYA3LK
Link Test: Learn more
Link URL: https://lockbox.firefox.com/privacy.html
blocked by #73
When I need to access an account, and autofill doesn’t work for me, I want to copy the username or password so that I can easily paste those credentials into the native app or mobile browser where I'm logging in.
InVision
Entry Detail: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979881_Entry_Detail
Copy Username: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979883_Entry_Detail_-_Username_Copied
Copy Password: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979882_Entry_Detail_-_Password_Copied
Zeplin
Entry Detail: https://zpl.io/2EAZQyl
Copy Username: https://zpl.io/29Z8mje
Copy Password: https://zpl.io/2EAZQWM
InVision
Search Button: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979873_Entry_List
Search Focused: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979878_Entry_List_-_Search
Search Text Entered: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979879_Entry_List_-_Search_-_Filtered
Zeplin
Search Button: https://zpl.io/b6MPKgy
Search Focused: https://zpl.io/VKq1djX
Search Text Entered: https://zpl.io/brNe3Me
When loading up my entries for the very first time, I should be given an affordance of something happening within the app, e.g., a loading indication, if it takes more than two seconds to load and import the data into the app.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/310347758_Entry_List_-_Syncing
Zeplin
https://zpl.io/Vk5l1KL
As a user I will get an email confirm/pin and need to enter it before syncing can actually begin.
If I leave or close app or it crashes, I expect the app to gracefully allow me to (start over|resume) the sign in process.
This issue will also handle the reload behavior when cancelling out of FxA login using the "x" button on the upper right.
InVision
Auto lock dialog: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979888_Settings_-_Auto_Lock
Zeplin
Auto lock dialog: https://zpl.io/bLOR9BJ
When I want to access an account on a different device, or copy/paste doesn’t work for me, I want to see the password so I can manually enter it to get into my account.
InVision
Entry Detail: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979881_Entry_Detail
Password Revealed: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979884_Entry_Detail_-_Password_Revealed
Zeplin
Entry Detail: https://zpl.io/2EAZQyl
Password Revealed: https://zpl.io/VqE03L4
When use Lockbox to manage my passwords, I want to know my login credentials are secure and only accessible to me. And I want to have full control over that account including seeing the ability to unlink it.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979892_Account
Zeplin
https://zpl.io/beYM3Wz
Requires #22
When I want to customize my in app experience, I need to easily find those settings clear instructions for how to curate my in-app settings as well as delete my account.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979885_Settings
Zeplin
https://zpl.io/awYA3LK
Remaining engineering todos:
SettingFragment
Some notes (private) from meeting with localization team:
https://docs.google.com/document/d/1Ek3pxyL_VBa2Amia8rz-qeAaMnUs2CCYL4P2kiWa-pc/edit#
Best practices:
https://developer.mozilla.org/en-US/docs/Mozilla/Localization/Localization_content_best_practices#Land_good_quality_strings
Meeting scheduled for November 30
Depends on #204
Actually use the sync keys to get and store data locally and expose in app.
To access my saved logins, I want to safely log into my account and access the common list of entries, confident that my passwords are secure.
Requires #22
We need to communicate and support users to set this up without requiring device authentication to use the app.
Get Started
button tap in the welcome pageSkip
, just route to FxASkip
preference, just launch it (when warranted) every time the user hits Get Started
On iOS, this required "pausing" in driving the UI from the datastore state while onboarding. We added a val onboarding: Observable<Boolean>
to the RouteStore
, and ignored incoming non-onboarding routes while it was true.
Make sure that navigating to this screen prevents the user from seeing the ugly webpage error as referenced in #273
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/312603009_No_PIN
Zeplin
https://zpl.io/agvL3GN
placeholder for initial design efforts
Depends on #111
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979874_Entry_List_-_Nav_Drawer
Zeplin
https://zpl.io/bLOR9BJ
When viewing the entry list, I want to quickly scan the entry list by title (e.g., Facebook instead of https://www.facebook.com or even www.facebook.com), so I can quickly access my username and password for logging in.
Problem: No Entry Name (title) currently available in Saved Logins so we need to derive one
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979873_Entry_List
Zeplin
https://zpl.io/b6MPKgy
When I'm done with Firefox Lockbox, and want to remove the app, I want to ensure that my login data is also removed from the app.
When unlinking my account for Lockbox, I should be given a confirmation dialog to ensure that I want to complete the action of blowing away my data on my device.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979893_Account_-_Confirm_Disconnect
Zeplin
https://zpl.io/25qK4xQ
InVision
Account Screen: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979892_Account
Confirm Unlink: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979893_Account_-_Confirm_Disconnect
Zeplin
Account Screen: https://zpl.io/beYM3Wz
Confirm Unlink: https://zpl.io/25qK4xQ
Depends on #11
When unlinking my account for Lockbox, I should be given a confirmation dialog to ensure that I want to complete the action of blowing away my data on my device.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979893_Account_-_Confirm_Disconnect
Zeplin
https://zpl.io/25qK4xQ
Related #9
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979881_Entry_Detail
Zeplin
https://zpl.io/2EAZQyl
As a user I want to disable the ability to send usage / Telemetry data to Mozilla Firefox.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979885_Settings
Zeplin
https://zpl.io/awYA3LK
depends on #6
Make sure that navigating to this screen prevents the user from seeing the ugly webpage error as referenced in #273
requires #28
On iOS, this required "pausing" in driving the UI from the datastore state while onboarding. We added a val onboarding: Observable<Boolean>
to the RouteStore
, and ignored incoming non-onboarding routes while it was true.
InVision
Initial: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979870_Fingerprint
Error: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/310610373_Fingerprint_-_Error
Success*: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/311048434_Fingerprint_-_Success
*Intent would be that the success message displays, pauses for a second, then transitions to next screen in onboarding (AutoFIll)
Zeplin
Initial: https://zpl.io/VYBxqRk
Error: https://zpl.io/Vk5l1nW
Succes: https://zpl.io/25qK4rW
requires #28
InVision
Fingerprint off: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979885_Settings
Confirm Enable: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979886_Settings_-_Confirm_Fingerprint
Fingerprint On: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979887_Settings_-_Fingerprint_Enabled
Zeplin
Fingerprint off: https://zpl.io/awYA3LK
Confirm Enable: https://zpl.io/bWY98Y1
Fingerprint On: https://zpl.io/b6MPKMg
InVision
FAQ: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979891_FAQ
Provide Feedback: https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979890_Provide_Feedback
Zeplin
FAQ: https://zpl.io/aRYj40K
Provide Feedback: https://zpl.io/2pOY3j8
Considering...
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979876_Entry_List_-_Sort_Menu
Zeplin
https://zpl.io/aN0Ax9Z
When I need to access an account, I want to see an entry's details to either copy credentials to my clipboard or view the username / password, so that I can easily put those credentials into the app or mobile browser.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979881_Entry_Detail
Zeplin
https://zpl.io/2EAZQyl
As the product owner, I want to know how users engage with the app to help inform decisions for future effort, while making sure users have control over whether or not their usage data is submitted.
Engineering email thread about testing Telemetry: https://groups.google.com/a/mozilla.com/d/msgid/mobile-all/CABupmeDgMfjz%3Dqi4m%2B23BP2jL5%2ByQV-eruCcPRUMErQLyUZRZw%40mail.gmail.com?utm_medium=email&utm_source=footer
Requires #15
When accessing Lockbox, I want to be able to use my fingerprint or device passcode instead of my password for security and convenience.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/310349653_Welcome
Zeplin
https://zpl.io/VDzrg4v
Upon signing into the Lockbox app, I want to see a list of all my saved entries, by origin name/title. This is so I can easily find an entry, by scrolling, searching, or filtering, to get to that credential quickly.
InVision
https://mozilla.invisionapp.com/share/3SN35UHWJDX#/309979873_Entry_List
Zeplin
https://zpl.io/b6MPKgy
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.