Contents

13.53. DD 53: Wallet UI Design

13.53.1. Summary

This document proposes designs wallet UI. It defines what Android, iOS and WebExtension should follow in order to have a coherent UI between platforms.

13.53.2. Motivation

We want user to be able to help each others independent of the implementation they are using. We want user to be able to capitalize the effort of learning how to use one wallet and be able to use a different one without the need to learn anything new. Currently development of different platform specific implementation are independent and every developer needs to choose the layout, texts and buttons and navigation.

13.53.3. Requirements

Every screen MUST be defined in a document with the following information:

  • Identifiable UI screens: every UI should have an unique identifier that will be use for development discussion and bug reports. There should be an option in the application to enable an active rendering of the id.

  • Description: the reason to be of the screen, should help to define what will be included into, what is going to left for other screens and when and from where should be linked.

The screen MAY also have:

  • Predefined assets: every implementation should resue the same icons, images, fonts and sounds.

Additionaly the document COULD defined the components of the UI. If one of this properties is defined in the spec the implementation must implement it. The specification should be minimal to achieve the objective in the description.

  • Info. Spec of information that the user should have access. The type of info could be a field (id and value) or a banner (information and instructions). The spec will help to reuse the text for i18n across apps and defined

  • Inputs. Spec of information need to provide in current screen. The type of input, range of values and validation should be defined if necessary.

  • Actions. Spec of buttons and interactable elements that will have a significant change in the current state. It should also mention navigation when applicable.

  • Layout. Spec position of elements when needed. The spec should be “soft” in a sense that elements should be easy to find following directions like “close to X” or “at the start/end of the screen”.

  • Issues. Issues we identified that need to be addressed in some implementation(s). This is in particular about inconsistencies and bad design choices made on some platforms.

  • Adoption. Things that one version does particularly nice that we might want other implementations to adopt.

  • Screenshots. Should be provided for all wallet implementations and kept up to date, to ensure that they can be used to aid in UI/UX and QA discussions.

Screen should be defined using the most relaxed definition that are good enough to be clear for the user. Platform will use this definition and adapt to the differences on the platform taking advantange of platform API and screen sizes.

When a screen have multiple uses for the same purpose, a substate section should be included with the difference with the main definition.

Part of the screens that are reused shoud also be defined in this document as screen.

Common definition:
  • navigation between screens should not happen if the user didn’t take any action

13.53.4. Proposed Solutions

List of all screens with the defined properties.

13.53.4.1. balance-list

This screen shows a currency-scoped list of the balances stored in the wallet, and includes information about the total, incoming, and outgoing amounts, as well as the currency scope information for each item.

13.53.4.1.1. Info

  • List of balances in the wallet, where each item contains:

  • Strings to use:

    • Title is “Balances”

    • “inbound” and “outbound” are used with pending amounts (shown if applicable below the main amount, green for inbound, red for outbound)

    • “pending” MAY be used as a badge label to indicate that there are pending activities

13.53.4.1.2. Layout

  • There SHOULD be a menu or button from where the QR code entry / scan functionality is reachable (cta-url-entry)

  • There SHOULD be a menu or button from where the settings screen (settings) is reachable, unless settings are handled differently on the platform.

  • In developer mode, there MAY be a menu or button from where the developer tools (developer-tools) are reachable. Alternatively, developer tools COULD also only be reachable via settings.

13.53.4.1.3. Issues

  • WebEx (image): Screenshot does not show any pending transactions.

  • iOS (major): Way too much detail shown, way too much explanation text, too many operations (send money, request payment, spend test money!!!!); Remove text “Balance:” within each currency, this is all about Balances as per the title. Instead, show the balance right of the currency name.

  • iOS (major): overly complex menu with balances and banking; we are NOT a banking app, banking is IMO confusing. Settings icon could be on top left, then it would be more uniform, I would get rid of banking ‘tab’ entirely!

  • iOS (text): bad icon for “pending outgoing”, the “minus” sign does not give me good associations here

  • Android (minor): No “add” and “Send $CURRENCY” buttons on this page.

13.53.4.1.4. Adoption

  • iOS: transaction history visualization with red/green bars after currency is nice.

13.53.4.1.5. Actions

  • View transactions. Clicking on a balance item should take you to the transaction list (transaction-list) associated with that balance.

13.53.4.1.6. Screenshots

Platform

Screenshot

WebEx

../_images/cta-balance-list-firefox-latest.png

Android

../_images/cta-balance-list-android-latest.png

iOS

../_images/11-balances-list-latest.png

13.53.4.2. transaction-list

This screen shows a list of all the transactions associated with a given currency scope.

13.53.4.2.1. Info

  • Total amount and currency (see DD 51: Fractional Digits).

  • List of transactions associated with the currency scope, with pending transactions on top, and where each item contains the following:

    • Title. It depends on the transaction type. It can be the exchange URL (e.g. exchange.demo.taler.net) for withdraw, the receiver name from the payto-URI for deposits, the human-provided summary of the transaction (for push- and pull- P2P payments), the name of the merchant paid (e.g. Essay Shop) for payments to merchants and refunds

    • Status. It provides complementary information about the transaction for the user, such as the status of the transaction (e.g. “Waiting for confirmation,” “KYC required,” an error message, etc.). (The summary is provided by wallet-core, along with internationalized versions.)

    • Timestamp. The moment when the transaction was created. Ideally, it should be shown with minimal precision, only showing the minutes, hours or days that have elapsed.

    • Amount. The positive or negative impact that the transaction has in the total balance of the currency scope. It should be made clear whether the amount of the transaction is positive or negative, ideally with a sign (+/-) and a color (green/red).

    • Pending. It should be indicated whether the transaction is pending or finished. This can be done with a small badge and with different colors, however, it should be always clear and communicate the message effectively.

13.53.4.2.2. Actions

  • Send. The transaction list should include a button that allows the user to initiate transactions that result in money being sent, such as deposits and peer push payments.

  • Receive. The transaction list should also include a button that allows the user to initiate transactions that result in money being received, such as withdrawals and peer pull payments.

  • View transaction details. When clicking on a transaction, the user should be taken to its corresponding transaction details depending on the type of the transaction clicked.

  • Select transaction(s). The user should be able to select one or more transactions to perform specific bulk actions, such as deleting. The interaction that triggers this action might differ across platforms. For example, in Android this would be achieved by double pressing a transaction (to activate selection mode) and then clicking other transactions to be selected. On iOS, this could be achieved using an “Edit” button in the toolbar that reveals checkboxes that allow the user to select the desired transactions.

  • Delete transaction(s). This could be achieved in bulk via selection mode, or individually for each transaction via a menu or a button. Either way, performing a deletion should always show a confirmation menu before doing the actual deletion.

13.53.4.2.3. Layout

  • The specific currency for which transactions are shown SHOULD be prominent (title bar, menu bar)

  • The current balance should be on top (ideally always on-top) just below the title and on the right of the “send” and “receive” buttons. The current balance should align with the amounts of the various transactions below. If possible, it should have a label “Balance” near (ideally above) it.

  • There needs to be a way to go “back” to the balance list (balance-list) if we have more than a single currency in use. This can be some (optional) “back” button or some “home” button or some “balances” menu entry.

  • There should be a menu or button from where the QR code entry / scan functionality is reachable (cta-url-entry)

  • There COULD be a menu or button from where the settings screen (settings) is reachable. The settings screen MUST be reachable if there is no way to get to the balance list screen because we only have a single currency.

  • In developer mode, there MAY be a menu or button from where the developer tools (developer-tools) are reachable. Alternatively, developer tools COULD also only be reachable via settings.

13.53.4.2.4. Issues

  • WebEx (text): Iconography (T), (W) is not as nice as iconography in on Android.

  • WebEx (image): Screenshot does not show any pending transactions.

  • Android (text): Iconography (same icon for push payments and debit and POS) and again same icon for invoice and withdraw) is sub-optimal. Should pick unique icons for each type of operation.

  • iOS (text): Iconography (+ / -) is also not expressive and redundant with the colors.

  • iOS (text): Sign of the operation (+ / -) should be just before the amount (see Android), not all the way on the left as an icon. Also can probably be more subtle?

  • iOS (text): currency symbol in front of every amount value is highly redundant; would be better to list the currency once in the title (see Android)

  • iOS (minor): lacks search button (see Android)

  • all (text): use the merchant name for the main transaction label on refunds (and payments to merchants)

  • all (text): Use the human-provided summary of the P2P payment for both push and pull payments (the direction is clear from +/- on the amount, and it should not matter who initiated!)

  • all (text): “Deposits” should use the receiver name of the payto-URI of the target account (URL-decoded) in the main title, instead of “Deposit”

  • iOS (text): “Withdrawal” shown instead of exchange URL for withdraw

  • iOS (text): “Sent Requested money” shown instead of exchange URL for withdraw

  • iOS (major): The balance is not shown. The “send” and “receive” buttons are missing.

  • iOS (minor): has top/buttom scroll buttons not present in other UIs (likely too much, better to have search!)

  • iOS (critical): the buttons to send/receive funds are not even shown in the screenshot, likely because of balances vs. banking distinction, which should also be removed.

  • All (critical): we do not seem to have screenshots of what happens after picking select funds or receive funds!

13.53.4.2.5. Adoption

13.53.4.2.6. Screenshots

Platform

Screenshot

WebEx

../_images/cta-transaction-list-firefox-latest.png

Android

../_images/cta-transaction-list-android-latest.png

iOS

../_images/cta-transaction-list-ios-latest.png

13.53.4.3. cta-withdraw-review

This screen is used to inform the user that before they can proceed with a withdrawal, they must accept the terms of service of the exchange.

13.53.4.3.1. Info

  • service provider to be used showing the URL

  • amount to be withdrawn

  • applicable fees (if any)

  • Text:

    • Use “payment service provider” to label the URL, not “exchange”

    • Use “Net” and “Fees” and “Gross” to label the amount in a section “Details”

13.53.4.3.2. Inputs

  • service provider: allow the selection of different exchange (if applicable)

13.53.4.3.3. Actions

  • change service provider: updates fees shown (after returning from exchange selection screen)

  • review and confirm ToS: advance to the accept-tos screen

  • back: user will be redirected to previous screen

Attention

User should be able to play with the amount, not possible in the current design

13.53.4.3.4. Issues

  • All(critical): This is an extremely lazy screen, and it probably should be completely revamped. We should allow the user to change the exchange and to enter the amount to withdraw unless a fixed amount (or exchange) were given when we were triggered. Editing the exchange should go to another screen (for now, with a simple URL entry bar, in the future with exchange comparisson and whatever); the fees should already be shown on this screen for the selected exchange.

  • All(critical): We should probably unify this screen with cta-withdraw-confirm and cta-withdraw, with the only difference being that one variant has “View Terms of Service” while the other has a “Withdraw $AMOUNT” button.

  • iOS(image): no screenshot available

  • All(text): Use “Net” and “Fees” and “Gross” to label the amounts in a section “Details”

13.53.4.3.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-withdraw-review-chrome-latest.png

Android

../_images/cta-withdraw-review-android-latest.png

13.53.4.4. cta-withdraw

This screen is used for the confirmation of a manual withdrawal, bank-integrated witdrawals and exchange withdrawals. the success of this operation will be an increase of the balance in the wallet. fee, restrictions and ETA should be clear for the user.

13.53.4.4.1. Info

  • exchange to be used showing the URL

  • table of details of the operation: use the operation-table-details screen

  • starting currency: if the exchange has the currency conversion service enabled user should be able to the details based on the wire transfer currency

  • taler URI: show copy button or QR to complete the operation with another device

13.53.4.4.2. Inputs

  • age restriction: allow the selection of the restriction in the age group possible by the exchange

  • service provider: allow the selection of different exchange

13.53.4.4.3. Actions

  • confirm operation: on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • review and confirm ToS: if the current selected exchange has a version of ToS that the user didn’t yet accepted, use the accept-tos screen

  • cancel: user will be redirected to balance

Attention

User should be able to play with the amount, not possible in the current design

13.53.4.4.4. Issues

  • All(screenshots): the flow here diverges completely betwen the different platforms (very bad).

  • Android(major): there really should not be a “check fees” button here, the fees should just be dynamically calculated and shown immediately. Note that the dialog shown here is thus closer to what we might make the future main withdraw review (cta-withdraw-review) dialog.

13.53.4.4.5. Adoption

  • We should probably keep the “specify the origin of the money” from Firefox as a dialog after “Receive funds” is selected in the transaction list (transaction-list), but without the amount entry. Keep it simple, mostly binary choice: withdraw, invoice, or back.

  • The iOS dialog is reasonably close to the future withdraw review (cta-withdraw-review) dialog, allowing amount entry, shows fees, and final “confirm” button (I guess: “review ToS” should be an alternative button label). Eventually, we’ll want an “edit” (pen) icon next to the exchange URL, and if context has fixed the amount or exchange, the respective buttons should be hidden.

13.53.4.4.6. Screenshots

Platform

Screenshot

WebEx

../_images/cta-withdraw-firefox-latest.png

Android

../_images/cta-withdraw-android-latest.png

iOS

../_images/cta-withdraw-ios-latest.png

13.53.4.5. cta-withdraw-confirm

This screen is used to ask the the user to confirm the withdrawal operation, now that all data has been provided.

13.53.4.5.1. Info

  • service provider to be used showing the URL

  • amount to be withdrawn

  • applicable fees (if any)

13.53.4.5.2. Inputs

  • none?

13.53.4.5.3. Actions

  • confirm withdraw: advances to next screen

  • back: user will be redirected to previous screen

13.53.4.5.4. Issues

  • All: This dialog should be merged with the future main withdraw review (cta-withdraw-review) dialog where the amount and exchange could be edited (if permitted by trigger event) and the fees are dynamically shown. No point in yet another dialog.

13.53.4.5.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-withdraw-confirm-firefox-latest.png

Android

../_images/cta-withdraw-confirm-android-latest.png

13.53.4.6. cta-wire-transfer

This screen is used to show the user the information for the wire transfer to complete a manual withdrawal operation.

13.53.4.6.1. Info

  • wire transfer subject to be used (first, most important)

  • target bank account to transfer funds to (e.g. IBAN)

  • total amount to transfer in the wire transfer currency

  • button to copy payto:// URI with the information to clipboard

13.53.4.6.2. Actions

  • abort: aborts the withdrawal operation

  • menu: go back to the main balances list (operation continues in background)

  • automatic: screen changes to “cta-withdraw-done” upon completion

13.53.4.6.3. Issues

  • All(text): if there is no fee, no point in showing the amount 3 times. Maybe only show the amount on top with the wire transfer details, and then at the bottom show the fee ONCE if there is one?

  • iOS(text): receiver name is missing, MUST be before IBAN

  • WebEx(screenshot): the screenshot does not show how to select an alternative bank (see: Netzbon). Would be nice to show that.

  • Android(screenshot): the screenshot does not show how to select an alternative bank (see: Netzbon). Would be nice to show that.

13.53.4.6.4. Adoption

  • iOS(minor): the way to switch between different banks is not as clear as it was on WebEx. Proposal: use notebook tabs similar to how it is done on WebEx (IIRC?)

  • Android: transaction status is not shown (“pending” on all other platforms. This is actually good, as once we are no longer “pending” the wire transfer details will no longer be shown, so the entire screen will look different. So we can probably get rid of the “This transaction is not complete” and “Status: Pending” on WebEx/iOS as that is always the case when we give the user wire transfer instructions here!

13.53.4.6.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-wire-transfer-firefox-latest.png

Android

../_images/cta-wire-transfer-android-latest.png

iOS

../_images/cta-wire-transfer-ios-latest.png

13.53.4.7. cta-withdraw-done

This screen is used to show the user the information for a completed withdraw operation (bank-integrated or manual).

13.53.4.7.1. Info

  • amount wired (hidden if no fees)

  • fees paid (hidden if no fees)

  • total amount withdrawn into wallet (effective balance change)

  • exchange base URL

  • date

13.53.4.7.2. Actions

  • delete: deletes information about the withdrawal operation

13.53.4.7.3. Issues

  • WebEx(text): not point in showing details if there are no fees.

  • iOS(text): not point in showing details if there are no fees.

  • iOS(text): status: Done is unnecessary, if we show this screen, it will always be ‘done’ (ok, theoretically in the middle of withdrawing, but the wire transfer will be done; but then maybe show ‘incoming’ but hide the status once really “done”).

  • unclear: “Delete” vs. ‘Delete from history” — two styles, two translations, gain?

13.53.4.7.4. Adoption

  • We probably want to show a “pending” transaction if we are still withdrawing (wire transfer did arrived, coins are still being generated). That’s a very brief time, but we probably want to use a minor variation of this dialog in that case. Not sure it needs to be quite as prominent as on iOS though…

13.53.4.7.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-withdraw-done-firefox-latest.png

Android

../_images/cta-withdraw-done-android-latest.png

iOS

../_images/cta-withdraw-done-ios-latest.png

13.53.4.8. cta-url-entry

This screen allows the user to scan a QR code, scan an NFC tag, or enter a taler://-URL. Its implementation may differ significantly between platforms. For example, scanning NFC tags may be fully automated, scanning QR codes may involve some system applications, and maybe the dialog only allows the URL entry or the camera but not both at the same time, depending on implementation specifics.

13.53.4.8.1. Info

  • camera with current image to enable user to focus on QR code

  • current URL, with information if it is not well-formed for GNU Taler

  • possibly status information on NFC reader (if available)

13.53.4.8.2. Actions

  • open: if entered manually, open URL as-entered (otherwise open is automatic)

  • back: return to previous view

13.53.4.8.3. Issues

  • iOS (screenshot): lacks dialog (or screenshot?) entirely, not sure if we need manual URL-entry on mobile though, so could be OK!

13.53.4.8.4. Screenshots

Platform

Screenshot

WebEx

../_images/cta-url-entry-firefox-latest.png

Android

../_images/cta-url-entry-android-latest.png

13.53.4.9. cta-payment

This screen is used for the confirmation of a payment to a merchant. the success of this operation will be an decrease of the balance in the wallet and save a ticket/invoice of the purchase. fee, restrictions and ETA should be clear for the user.

13.53.4.9.1. Info

  • merchant offering the order showing the URL

  • order summary

  • table of details of the operation: use the operation-table-details screen

  • receipt: order id

  • payment deadline: absolute time before the claimed order expires

  • taler URI: show copy button or QR to complete the operation with another device

  • cant pay desc: if the user has enough balance but unable to use it

  • payment status: if the

13.53.4.9.2. Actions

  • confirm operation: if the payment is possible, on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • get more cash: if there is not enough balance, it will be redirected to cta-withdraw

  • cancel: user will be redirected to balance

13.53.4.9.3. Issues

  • WebEx(Text): “Valid until” is likely confusing, not shown on other platforms. Maybe only show “offer expired” instead of pay button (on all platforms!)?

  • WebEx(Screenshot): would be good to show the dialog with expanded order details as well, maybe even expand by default like on Android (and forgo the button?)

  • WebEx(Screenshot): would be good to show a version of the dialog with fees in the screenshot.

  • iOS(text): the label ‘Summary’ appears only on iOS, and seems unnecessary. Especially since no long-form is available anywhere.

  • All(screenshot): would be good to have sceenshots of the main variations: with/without product preview images, with/without fees, full details/partial details (if we have such a toggle).

13.53.4.9.4. Screenshots

Platform

Screenshot

WebEx

../_images/cta-payment-firefox-latest.png

Android

../_images/cta-payment-android-latest.png

iOS

../_images/cta-payment-ios-latest.png

13.53.4.10. cta-payment-paid

This screen is used to show information with details about a historic payment.

13.53.4.10.1. Info

  • merchant offering the order showing the URL

  • order summary

  • table of details of the operation: use the operation-table-details screen

  • receipt: order id

  • payment status: if the order was refunded

  • Text to use:

    • Title. Name of the merchant paid (e.g. Essay Shop)

    • Status. It provides complementary information about the transaction for the user, such as the status of the transaction (e.g. “Waiting for confirmation,” “KYC required,” an error message, etc.). (The summary is provided by wallet-core, along with internationalized versions.)

    • Timestamp. The moment when the payment was made. Ideally, it should be shown with minimal precision, only showing the minutes, hours or days that have elapsed.

    • Amount. The negative impact that the transaction has in the total balance of the currency scope. It should be made clear that the amount is negative, ideally with a sign (-) and a color (red).

13.53.4.10.2. Actions

  • delete: delete information about the transaction

  • back: user will be redirected to balance

13.53.4.10.3. Issues

  • iOS(major): delete button is missing, instead only has “Done”

13.53.4.10.4. Screenshots

Platform

Screenshot

WebEx

../_images/cta-payment-paid-firefox-latest.png

Android

../_images/cta-payment-paid-android-latest.png

iOS

../_images/cta-payment-paid-ios-latest.png

13.53.4.11. cta-deposit

This screen is used for the confirmation of a deposit. the success of this operation will be an decrease of the balance in the wallet and save a deposit ticket for reference. fee, restrictions and ETA should be clear for the user.

13.53.4.11.1. Info

  • bank account where the money is going to

  • table of details of the operation: use the operation-table-details screen

13.53.4.11.2. Actions

  • confirm operation: on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • cancel: user will be redirected to balance

Attention

User should be able to play with the amount, not possible in the current design

13.53.4.11.3. Issues

  • WebEx(screenshot): need new section in this document for ‘ctx-manage-account’.

  • WebEx(minor): should probably separate out target account selection and amount entry, as done on iOS

  • WebEx(text): “amount” is a bad label, “brut amount” might be good, then use “net deposit”

  • WebEx(text): might be good to have “net deposit” amount also editable, not just computed (and then update “brut amount”).

  • Android(screenshot): lacks screenshots for dialogs where we enter/edit accounts and amounts

  • Android(minor): if we do it iOS/WebEx style, we can probalby skip the ‘pure’ confirmation dialog and have the one where the brut/net amounts are entered be the final one in the sequence before the transaction happens

  • all(screenshot): we need a new dialog showing the transaction in-flight/done as reachable via transaction history

13.53.4.11.4. Adoption

  • iOS: I think it makes sense to split this section up into account selection / management and amount entry & confirmation; we should only have one major screen per section! Please split other UIs similarly and let’s introduce a new section here.

13.53.4.11.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-deposit-firefox-latest.png

Android

../_images/cta-deposit-android-latest.png

iOS

../_images/cta-deposit-1-ios-latest.png ../_images/cta-deposit-2-ios-latest.png

13.53.4.12. cta-peer-pull-initiate

This screen is used for the confirmation of the creation of a peer pull transaction or invoice to request money from another wallet. the success of this operation will not change the balance immediately in the wallet and allow the user to share a taler URI to the payer. fee, restrictions and ETA should be clear for the user.

13.53.4.12.1. Info

13.53.4.12.2. Inputs

  • subject: short description of the transaction

  • expiration: absolute time/date after which the invoice is not valid anymore

  • service provider: allow the selection of different exchange

13.53.4.12.3. Actions

  • confirm operation: on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • review and confirm ToS: if the current selected exchange has a version of ToS that the user didn’t yet accepted, use the accept-tos screen

  • cancel: user will be redirected to balance

Attention

Is the invoice creation always free of charge or does the exchange have a mechanism to impose a fee to pay on creation?

13.53.4.12.4. Issues

  • iOS(text): 3 min/ 1h are inconsistent; other wallets have 1 day, 7 days, 30 days. We should be consistent.

13.53.4.12.5. Adoption

13.53.4.12.6. Screenshots

Platform

Screenshot

WebEx

../_images/cta-peer-pull-initiate-firefox-latest.png

Android

../_images/cta-peer-pull-initiate-android-latest.png

iOS

../_images/cta-peer-pull-initiate-ios-latest.png

13.53.4.13. cta-peer-pull-confirm

This screen is used for the confirmation of the payment of a peer pull transaction or invoice to send money from another wallet. the success of this operation will be an will decrease the balance in the wallet. fee, restrictions and ETA should be clear for the user.

13.53.4.13.1. Info

  • exchange to be used showing the URL

  • subject: short description of the transaction

  • table of details of the operation: use the operation-table-details screen

  • expiration: absolute time/date after which the invoice is not valid anymore

13.53.4.13.2. Actions

  • confirm operation: if the payment is possible, on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • get more cash: if there is not enough balance, it will be redirected to cta-withdraw

  • cancel: user will be redirected to balance

13.53.4.14. cta-peer-push-initiate

This screen is used for the confirmation of the creation of a peer push transaction or transfer money to another wallet. the success of this operation will reduce the balance immediately in the wallet and allow the user to share a taler URI to the receiver. fee, restrictions and ETA should be clear for the user.

13.53.4.14.1. Info

  • table of details of the operation: use the operation-table-details screen

13.53.4.14.2. Inputs

  • subject: short description of the transaction

  • expiration: absolute time/date after which the transfer is not valid anymore

13.53.4.14.3. Actions

  • confirm operation: on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • cancel: user will be redirected to balance

13.53.4.14.4. Issues

  • WebEx(minor): forces user to scroll to the bottom. Android nicely shows the accept button always; that seems nicer;

  • WebEx(text): has text about “Digital cash withdrawal” above. Would be more consistent if we also only showed the Terms of service.

  • Android(text): uses “Exchange”, should say “PSP’s Terms of Service”

  • iOS(screenshot): lacks actual ToS, not ideal to compare!

13.53.4.14.5. Adoption

13.53.4.14.6. Screenshots

Platform

Screenshot

WebEx

../_images/cta-peer-push-initiate-firefox-latest.png

Android

../_images/cta-peer-push-initiate-android-latest.png

iOS

../_images/cta-peer-push-initiate-ios-latest.png

13.53.4.15. cta-peer-push-confirm

This screen is used for the confirmation of the acceptance of a peer push transaction or transfer money to this wallet. the success of this operation will be an will decrease the balance in the wallet. fee, restrictions and ETA should be clear for the user.

13.53.4.15.1. Info

  • subject: short description of the payment

  • expiration: absolute time/date after which the invoice is not valid anymore

  • table of details of the operation: use the operation-table-details screen

13.53.4.15.2. Actions

  • confirm operation: on success will be redirected to the transaction-details screen where the detail of the current transaction will be displayed

  • review and confirm ToS: if the current selected exchange has a version of ToS that the user didn’t yet accepted, use the accept-tos screen

  • cancel: user will be redirected to balance

13.53.4.15.3. Issues

  • All(screenshot): we have no screenshots!

13.53.4.15.4. Adoption

13.53.4.15.5. Screenshots

13.53.4.16. operation-table-details

With the table it should be clear how much the operation will cost, the initial amount and the final amount with all the items related to the operations (like fee)

13.53.4.16.1. Labels

Initial amount of the operation, and final amount are always shown. Fee should be shown as an extra row in the table if it is non-zero. Converted amount should be shown as an extra row if initial amount currency is not the same as the final amount currency.

Initial amount label by operation:

  • payment -> Price

  • deposit -> Send

  • peer-pull-credit -> Invoice

  • peer-pull-debit -> Invoice

  • peer-push-debit -> Send

  • peer-push-credit -> Transfer

  • withdrawal -> Transfer

  • refund -> Refund

13.53.4.17. accept-tos

This screen can be use everytime that the user is going to interact with an exchange. since at any moment wallet may find that ToS changed the user needs to be prevented from continue before reading/accepting new rules. If possible, this screen should be used inplace of other actions and hidden if not required (for example, user already accepted ToS)

13.53.4.17.1. Inputs

  • format: allow the selection of a ToS format

  • languange: allow the selection of a languange different from system lang

13.53.4.17.2. Actions

  • accept tos: will mark this version as accepted in wallet core and redirect the user to the screen from where it was invoked

  • save/print tos: will save the ToS outside of the wallet

13.53.4.17.3. Issues

13.53.4.17.4. Adoption

13.53.4.17.5. Screenshots

Platform

Screenshot

WebEx

../_images/cta-accept-tos-firefox-latest.png

Android

../_images/cta-accept-tos-android-latest.png

iOS

../_images/cta-accept-tos-ios-latest.png

13.53.4.18. settings

13.53.4.18.1. Info

13.53.4.18.2. Layout

13.53.4.18.3. Actions

13.53.4.18.4. Issues

13.53.4.18.5. Adoption

13.53.4.18.6. Screenshots

13.53.4.19. developer-tools

13.53.4.19.1. Info

13.53.4.19.2. Layout

13.53.4.19.3. Actions

13.53.4.19.4. Issues

13.53.4.19.5. Adoption

13.53.4.19.6. Screenshots

13.53.5. Q / A