Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Coins is a simple bitcoin wallet.
- Coins is a desktop app. It consists of a main screen and several windows. The windows are modal.
- All of them have close buttons and cause the screen behind them to fade out.
- TODO: Gmail integration
- TODO: Login with Facebook screen
- TODO: Settings screen
- TODO: Export HD seed
- TODO: Password protect wallet
- TODO: Donations to coins
- TODO: BIP70 service payments + nice logos in history
- Main screen
- ===========
- The main screen contains a top bar. The top bar has the user's avatar and name on the left
- and their balance next to it.
- On the right there are two buttons, "Request payment" and "Send money". The "Request payment"
- button has the left-arrow symbol, while the "Send money" button has the right-arrow symbol.
- Below the top bar, a transaction history list appears. If there are no transactions to show, it
- shows "No transactions yet. Make a transaction now." with an arrow pointing to the send/request
- buttons on the top bar (similar to Gmail tutorial arrows)
- If the history is not empty, it shows one line per transaction that concerns us, in reverse
- chronological order. Each transaction line shows the local user's bubble on the left
- and a clickable remote user's bubble on the right. Between them an arrow in the correct direction is
- shown. Above the arrow, the amount is shown. The amount is red if outgoing or green if incoming.
- If a transaction has not been executed yet because of an unknown address, the text "Transaction pending"
- appears under the arrow and the button "Modify" appears below. This takes the user to the Edit transaction
- screen.
- If a transaction has not been executed yet because the friend has not sent the money, the text "Waiting for
- payment" appears. The amount can be updated when the friend sends the money. The button "Modify"
- is shown underneath. This takes the user to the Edit request screen.
- If a receiving or sending transaction goes to a manual address and we don't know the friend it belongs to,
- the user bubble is changed to just an address.
- TODO: Add some indication to illustrate whether there have been confirmations
- TODO: View transaction id
- Sending money
- =============
- When the "Send money" button is clicked and no user has been selected, the user selection screen is
- shown. The user selection screen is a closable modal with a search-as-you-type search box at the top
- and the list of friends underneath, with a scroll bar on the right. The list of friends contains avatars
- and usernames to the right of them.
- At the bottom of the user selection screen there is a link with the text "or pay manually" which links
- to the manual payment screen.
- When the user clicks on a friend or presses enter when a single friend appears on the list, the screen
- changes to the pay-to-friend screen if we know the friend's address. Otherwise it changes to the
- unknown address screen.
- Unknown address
- ===============
- If you wish to pay a friend with an unknown address, this screen is shown. Your user bubble is shown on
- the left and The user bubble of the friend is shown on the right with an arrow between them in the right
- direction. Underneath:
- "We don't known X's address" (where X is the friend's first name)
- Then:
- You <-( What is your bitcoin address? ) [ Send chat ]
- or _enter address manually_
- Where "You" is your avatar, "<-( ... )" is a Facebook chat bubble and "Send chat" is a button that sends
- that chat message via Facebook messenger. This closes the window and adds a pending transaction to the
- history. Once the friend responds with a bitcoin-like address (which must be validated), the pay-to-friend
- dialog appears to resume payment with the text at the top: "We have received X's address".
- Clicking "enter address manually" changes the link to a textbox with the label "Pay to" where the user
- can enter the address. The button "Pay" appears next to the textbox and takes the user to the pay-to-friend
- screen after address validation (the same if the user presses enter). If validation fails, the address is
- shown in red letters and an info bubble appears with the text "Check the address".
- Once we know a friend's address, it is permanently associated with them until the user changes it.
- Pay-to-friend
- =============
- Two user bubbles connected with an arrow are shown as usual. Underneath:
- How much? [ 10 EUR ]
- The amount is editable and prefilled with the last amount transacted with this person. The button
- "Pay now" is at the bottom. When clicked a transaction is made and the screen disappears.
- Underneath the friend's username, their address appears. Clicking it takes the user to the manual
- payment screen with the address and amount prefilled. If the user changes the address, the new
- address is then associated with that friend.
- If the amount is insufficient, the amount is shown in red letters and an info bubble appears with the
- text "We don't have that much". The amount of the main screen is then faded in and highlighted.
- The edit transaction screen is the same as the pay-to-friend screen if the transaction was sent to
- a friend. It allows the user to modify the transaction details (the amount) and send an address
- request again, or to cancel the transaction by a new "Cancel transaction" button which appears
- at the bottom.
- Manual payment
- ==============
- This is a typical bitcoin wallet window similar to Electrum.
- At the top it shows your own user bubble on the left and an outgoing arrow towards the right.
- Underneath:
- Pay to: [ ]
- How much? [ 10 EUR ]
- [ Pay now ]
- If we have paid to the address typed before, the amount is prefilled. The same errors as in the
- pay-to-friend screen are shown as usual.
- This is the edit transaction screen if we didn't send the money to a friend. Again the transaction
- details can be edited or the transaction cancelled.
- Requesting money
- ================
- When requesting money, the same screen for user selection is shown as when sending money. The bottom
- link reads "or request manually" which takes the user to the manual request screen.
- Request-from-friend
- ===================
- The two user bubbles with an arrow between them in the left direction is shown. Your address is shown
- under your name and is clickable taking you to the manual payment screen with the amount prefilled.
- That receiving address is then associated with that friend.
- Underneath:
- How much? [ 10 EUR ]
- The textbox is prefilled with the last amount we requested from that friend. If we haven't, then it's prefilled
- with the last amount requested globally. It can be emptied.
- Underneath:
- [ Request money ]
- Clicking this button sends a chat message to the friend with a bitcoin URL containing a fresh bitcoin address and
- the amount. The recieving address is associated with the friend.
- This is the edit request screen if we requested from a friend. The "Request money" text is changed to "Request again"
- and there's a "Cancel" button added that removes the transaction from the history (but the receiving address is kept
- stored and associated with the friend in case a payment is made).
- Manual request
- ==============
- This is a typical bitcoin wallet window similar to Electrum.
- At the top there is your own user bubble with an incoming arrow from the right.
- On the left it shows a QR code. Clicking it
- zooms in. On the right it shows an unused receiving address.
- Underneath:
- How much? [ 10 EUR ]
- The textbox is prefilled with the last requested amount globally, but can be erased. Underneath:
- "[i] Payment request copied to clipboard"
- User bubbles
- ============
- A user bubble contains a user's avatar and their full name underneath it. Clickable user bubbles behave
- as follows on mouse over: They display a "Send money" and "Request payment" button underneath the name,
- which initiates the respective action.
- Direction of payment
- ====================
- For clarity, outgoing payments go from left to right, while incoming payments go from right to left.
- This is consistent with the icons of the "Send money" and "Request payment" buttons. The payments history
- shows the local user on the left and the other user on the right, with arrows between them indicating
- direction of payment.
- Send/receive money screens also contain arrows to clarify the direction. This should help the user
- be certain about whether they are sending or receiving money.
- Monetary amounts
- ================
- Monetary amounts are displayed in euros, with the euro symbol appended, and are updated based
- on the Kraken price. This helps the user understand how much money exactly they have, are sending,
- or are receiving, in their usual currency.
- TODO: Use geolocation to determine the user's local currency and use that.
- TODO: Allow the user to customize which currency they use in settings.
- TODO: Allow viewing all balances in bitcoin.
Advertisement
Add Comment
Please, Sign In to add comment