Guest User

Untitled

a guest
Jan 24th, 2016
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.56 KB | None | 0 0
  1. Coins is a simple bitcoin wallet.
  2.  
  3. Coins is a desktop app. It consists of a main screen and several windows. The windows are modal.
  4. All of them have close buttons and cause the screen behind them to fade out.
  5.  
  6. TODO: Gmail integration
  7. TODO: Login with Facebook screen
  8. TODO: Settings screen
  9. TODO: Export HD seed
  10. TODO: Password protect wallet
  11. TODO: Donations to coins
  12. TODO: BIP70 service payments + nice logos in history
  13.  
  14. Main screen
  15. ===========
  16. The main screen contains a top bar. The top bar has the user's avatar and name on the left
  17. and their balance next to it.
  18.  
  19. On the right there are two buttons, "Request payment" and "Send money". The "Request payment"
  20. button has the left-arrow symbol, while the "Send money" button has the right-arrow symbol.
  21.  
  22. Below the top bar, a transaction history list appears. If there are no transactions to show, it
  23. shows "No transactions yet. Make a transaction now." with an arrow pointing to the send/request
  24. buttons on the top bar (similar to Gmail tutorial arrows)
  25.  
  26. If the history is not empty, it shows one line per transaction that concerns us, in reverse
  27. chronological order. Each transaction line shows the local user's bubble on the left
  28. and a clickable remote user's bubble on the right. Between them an arrow in the correct direction is
  29. shown. Above the arrow, the amount is shown. The amount is red if outgoing or green if incoming.
  30.  
  31. If a transaction has not been executed yet because of an unknown address, the text "Transaction pending"
  32. appears under the arrow and the button "Modify" appears below. This takes the user to the Edit transaction
  33. screen.
  34.  
  35. If a transaction has not been executed yet because the friend has not sent the money, the text "Waiting for
  36. payment" appears. The amount can be updated when the friend sends the money. The button "Modify"
  37. is shown underneath. This takes the user to the Edit request screen.
  38.  
  39. If a receiving or sending transaction goes to a manual address and we don't know the friend it belongs to,
  40. the user bubble is changed to just an address.
  41.  
  42. TODO: Add some indication to illustrate whether there have been confirmations
  43. TODO: View transaction id
  44.  
  45. Sending money
  46. =============
  47. When the "Send money" button is clicked and no user has been selected, the user selection screen is
  48. shown. The user selection screen is a closable modal with a search-as-you-type search box at the top
  49. and the list of friends underneath, with a scroll bar on the right. The list of friends contains avatars
  50. and usernames to the right of them.
  51.  
  52. At the bottom of the user selection screen there is a link with the text "or pay manually" which links
  53. to the manual payment screen.
  54.  
  55. When the user clicks on a friend or presses enter when a single friend appears on the list, the screen
  56. changes to the pay-to-friend screen if we know the friend's address. Otherwise it changes to the
  57. unknown address screen.
  58.  
  59. Unknown address
  60. ===============
  61. If you wish to pay a friend with an unknown address, this screen is shown. Your user bubble is shown on
  62. the left and The user bubble of the friend is shown on the right with an arrow between them in the right
  63. direction. Underneath:
  64.  
  65. "We don't known X's address" (where X is the friend's first name)
  66.  
  67. Then:
  68.  
  69. You <-( What is your bitcoin address? ) [ Send chat ]
  70. or _enter address manually_
  71.  
  72. Where "You" is your avatar, "<-( ... )" is a Facebook chat bubble and "Send chat" is a button that sends
  73. that chat message via Facebook messenger. This closes the window and adds a pending transaction to the
  74. history. Once the friend responds with a bitcoin-like address (which must be validated), the pay-to-friend
  75. dialog appears to resume payment with the text at the top: "We have received X's address".
  76.  
  77. Clicking "enter address manually" changes the link to a textbox with the label "Pay to" where the user
  78. can enter the address. The button "Pay" appears next to the textbox and takes the user to the pay-to-friend
  79. screen after address validation (the same if the user presses enter). If validation fails, the address is
  80. shown in red letters and an info bubble appears with the text "Check the address".
  81.  
  82. Once we know a friend's address, it is permanently associated with them until the user changes it.
  83.  
  84. Pay-to-friend
  85. =============
  86. Two user bubbles connected with an arrow are shown as usual. Underneath:
  87.  
  88. How much? [ 10 EUR ]
  89.  
  90. The amount is editable and prefilled with the last amount transacted with this person. The button
  91. "Pay now" is at the bottom. When clicked a transaction is made and the screen disappears.
  92.  
  93. Underneath the friend's username, their address appears. Clicking it takes the user to the manual
  94. payment screen with the address and amount prefilled. If the user changes the address, the new
  95. address is then associated with that friend.
  96.  
  97. If the amount is insufficient, the amount is shown in red letters and an info bubble appears with the
  98. text "We don't have that much". The amount of the main screen is then faded in and highlighted.
  99.  
  100. The edit transaction screen is the same as the pay-to-friend screen if the transaction was sent to
  101. a friend. It allows the user to modify the transaction details (the amount) and send an address
  102. request again, or to cancel the transaction by a new "Cancel transaction" button which appears
  103. at the bottom.
  104.  
  105. Manual payment
  106. ==============
  107. This is a typical bitcoin wallet window similar to Electrum.
  108.  
  109. At the top it shows your own user bubble on the left and an outgoing arrow towards the right.
  110.  
  111. Underneath:
  112.  
  113. Pay to: [ ]
  114. How much? [ 10 EUR ]
  115.  
  116. [ Pay now ]
  117.  
  118. If we have paid to the address typed before, the amount is prefilled. The same errors as in the
  119. pay-to-friend screen are shown as usual.
  120.  
  121. This is the edit transaction screen if we didn't send the money to a friend. Again the transaction
  122. details can be edited or the transaction cancelled.
  123.  
  124. Requesting money
  125. ================
  126. When requesting money, the same screen for user selection is shown as when sending money. The bottom
  127. link reads "or request manually" which takes the user to the manual request screen.
  128.  
  129. Request-from-friend
  130. ===================
  131. The two user bubbles with an arrow between them in the left direction is shown. Your address is shown
  132. under your name and is clickable taking you to the manual payment screen with the amount prefilled.
  133. That receiving address is then associated with that friend.
  134.  
  135. Underneath:
  136.  
  137. How much? [ 10 EUR ]
  138.  
  139. The textbox is prefilled with the last amount we requested from that friend. If we haven't, then it's prefilled
  140. with the last amount requested globally. It can be emptied.
  141.  
  142. Underneath:
  143.  
  144. [ Request money ]
  145.  
  146. Clicking this button sends a chat message to the friend with a bitcoin URL containing a fresh bitcoin address and
  147. the amount. The recieving address is associated with the friend.
  148.  
  149. This is the edit request screen if we requested from a friend. The "Request money" text is changed to "Request again"
  150. and there's a "Cancel" button added that removes the transaction from the history (but the receiving address is kept
  151. stored and associated with the friend in case a payment is made).
  152.  
  153. Manual request
  154. ==============
  155. This is a typical bitcoin wallet window similar to Electrum.
  156.  
  157. At the top there is your own user bubble with an incoming arrow from the right.
  158.  
  159. On the left it shows a QR code. Clicking it
  160. zooms in. On the right it shows an unused receiving address.
  161.  
  162. Underneath:
  163.  
  164. How much? [ 10 EUR ]
  165.  
  166. The textbox is prefilled with the last requested amount globally, but can be erased. Underneath:
  167.  
  168. "[i] Payment request copied to clipboard"
  169.  
  170. User bubbles
  171. ============
  172. A user bubble contains a user's avatar and their full name underneath it. Clickable user bubbles behave
  173. as follows on mouse over: They display a "Send money" and "Request payment" button underneath the name,
  174. which initiates the respective action.
  175.  
  176. Direction of payment
  177. ====================
  178. For clarity, outgoing payments go from left to right, while incoming payments go from right to left.
  179. This is consistent with the icons of the "Send money" and "Request payment" buttons. The payments history
  180. shows the local user on the left and the other user on the right, with arrows between them indicating
  181. direction of payment.
  182.  
  183. Send/receive money screens also contain arrows to clarify the direction. This should help the user
  184. be certain about whether they are sending or receiving money.
  185.  
  186. Monetary amounts
  187. ================
  188. Monetary amounts are displayed in euros, with the euro symbol appended, and are updated based
  189. on the Kraken price. This helps the user understand how much money exactly they have, are sending,
  190. or are receiving, in their usual currency.
  191.  
  192. TODO: Use geolocation to determine the user's local currency and use that.
  193. TODO: Allow the user to customize which currency they use in settings.
  194. TODO: Allow viewing all balances in bitcoin.
Advertisement
Add Comment
Please, Sign In to add comment