Add UI for switching network #54

Closed
weilu opened this Issue May 31, 2014 · 24 comments

5 participants

@weilu
Hive member

Currently one can switch to testnet by appending ?network=testnet to the url. Given that we want to support other networks (e.g. doge and lite), shall we add an UI entry point for switching among networks? @mattatgit @jenbennings @haustraliaer

@weilu weilu added question UX labels May 31, 2014
@mattatgit

i guess the question that this opens up is: how to manage multi crypto inside the wallet app. i.e. if i select a new currency (DOGE) does the wallet switch to show me only DOGE transactions & balance ? i.e. it's really a wallet switcher. Or would it just switch my currently used currency & balance display to that, but transaction history would contain all currency types mixed together (i.e. a master transaction history & hence all currencies mixed inside the one wallet). I'm not quite sure what would be most useful, and the implications of one or the other would probably mean a different way of handling the switch.

So might be a bit premature to put something in until those questions can be answered.

@weilu
Hive member

if i select a new currency (DOGE) does the wallet switch to show me only DOGE transactions & balance

Yes, that's what I have in mind.

would it just switch my currently used currency & balance display to that, but transaction history would contain all currency types mixed together

I think that's confusing. It's like when I have multiple bank accounts say for AUD, SGD and USD, instead of showing the respective balances in each accounts, the bank lets me choose a currency and shows me a total amount and all my transactions in that currency. Given that it definitely involves conversion through exchange rates, the displayed total balance will always be changing for me. That, can be really scary. Apart from that, as a user, I'd definitely want to be able to lookup how much exactly of each currency I own.

@weilu
Hive member

@w-hive definitely has some thoughts about this issue.

@mattatgit

yep i also think that having "siloed" balances & transaction histories is what i would want personally, most of the time. But i can also conceive of scenarios when i might want to be able to see a single "timeline" of all my transactions across currency types. i.e. did i get that payment in LTC before or after i sent out all of that BTC ? having to switch back and forth and remember times and dates of payments could be annoying in that regard. But yeah, in terms of UI, siloing currencies would generally be the best way. Having to denote the currency type in transaction history would make for a quite information-dense UI. Maybe the answer is to keep it all siloed, but have a view further down in the hierarchy that allows you to see a timeline of all transactions.

The larger point i was trying to make is really just that we need to think carefully about what's really needed in a multi crypto wallet before we start dropping extra UI stuff into hive.

@w-hive
Hive member

I was once also of the opinion that siloed was best; in fact, that was my original proposition here:

hivewallet/hive-mac#45

But in light of things like Vennd and Ripple path-finding, it's fairly obvious that this is an extremely limiting perspective. We're going to basically able to "spend" any digital token into any other digital token, which effectively means this is going to be reality: I hold LTC and some DOGE. I want to buy something that costs some BTC. The wallet tells me I can spend a few of my doge and all of my LTC to get this, based on current exchange paths. I click OK and this automatically happens.

Finally, even if they can be used that way, these are not currencies and I think we should wean ourselves off of saying that.

@w-hive
Hive member

...That being said, for the first version I think this switching is 100% hunky-dory. :-)

@mattatgit

yeah being able to spend 2 currencies / tokens at the same time to make up a larger transaction - i can see the utility of it, but thats going to take some pretty serious UI kung fu to make that happen in a clear & helpful way.

@w-hive
Hive member

No doubt! But if anyone can... :-)

@mattatgit

Sure. It's a good challenge. We just need the world to catch up a bit so we can get some real world multi-token use case info to help planning out the UI...

@weilu
Hive member

@mattatgit Does it mean that 2.35BTC is equivalent to 55.6LTC or that I have 2.35BTC + 55.6LTC?

@mattatgit

@weilu they would all be separate balances. There would need to be wallet icons or numbers so that it is clear that these are separate balances. (this was a very quick sketch mockup). So perhaps under the main balance display would be an icon showing you are viewing wallet 1 (BTC), wallet 2 (LTC), wallet 3, (DOGE) etc. Likewise in the popup display each wallet would have icons / numbers.

@weilu
Hive member

@mattatgit Another consideration here is that if we allow user to view all token wallets' balances (and potentially transactions and their fiat values) at the same time, it means we need to operating all the wallets at the same time - watching for the balances and incoming/outgoing transactions to/from the respective wallets, and querying their ticker APIs. Probably not the most efficient assuming when user operates their wallet, they use one token at a time. However if displaying the balance (and other info) is not required, it would be much simpler technically.

Also where would the denomination settings(BTC, mBTC, uBTC) be then?

@mattatgit

Possibly a better way would be to put your other balances in the drawer so you are forced to open it to switch, to make sure you are properly aware which tokens you are using. Maybe from there you can see all yr other balances and if you tap them there they load into the main wallet display.

@haustraliaer

That's what I was thinking too @mattatgit - and restricting the main header balance to a comparison of local fiat currencies (still a useful utility no matter what currency you're currently using).

@weilu
Hive member

@mattatgit @haustraliaer I'm happy with that :)

@jenbennings

Not being able to view amounts across multiple wallets/tokens without logging in to them first would be a really poor experience for the user. Any way we can get around this would be preferable.

As far as tapping the currency goes (shown in the comp above), I think that should be reserved for currency options/preferences from within that wallet only.

We should explore ways of revealing these other tokens as part of the global interface, not just a menu item. Ultimately, the more stuff we can keep out of there the better (hence why I still prefer to think of it as a settings drawer).

This example is using the existing header, (which obviously doesn't communicate that it is revealable), but just as an idea:

@weilu
Hive member

@jenbennings That looks like a fun idea. But again, I still think the meaning of the amounts shown on header is ambiguous.

What value do users get from viewing other token balances when they are in the wallet context of one token? They want to have an overview of all assets in all tokens, sure. It means the information needs to be accurate and up-to-date. The only way to ensure absolute accuracy is to refresh the value when user checks. It means the numbers won't show up instantly as user drags down as show in the mockup.

@haustraliaer

Presumably they could update if you hit the refresh button? The current balance in the header of your current currency is also not up to date until you refresh.

@w-hive
Hive member

That looks so amazing, even though I agree with @weilu 's comments

@w-hive
Hive member

This reminds me of an idea we had way back in 2013... "The Honey Jar". We were even thinking of it as a standalone app that would simply monitor the balances of certain addresses. Imagine a light and slow fluid dynamics simulation, and each layer is its own color.

screen shot 2014-06-04 at 2 48 43 pm

@w-hive w-hive referenced this issue in hivewallet/discussions Jun 4, 2014
Open

Token prioritization #22

@weilu weilu added this to the Beta milestone Jun 6, 2014
@jenbennings jenbennings was assigned by weilu Jun 6, 2014
@weilu weilu added the feature label Jun 11, 2014
@jenbennings jenbennings added WIP high and removed question labels Jun 11, 2014
@jenbennings

In an effort to get this feature in for the beta milestone, should we just start with the basic functionality of switching wallets from within the settings drawer (without showing an available balance)? The idea I've proposed above is obviously going to be more time consuming to implement (and, as highlighted by this discussion, has some conceptual problems that I'm still trying to work through).

Upon switching tokens, the user should still be presented with a loading/syncing screen, as per the prototype.

Moving forwards, my feeling is the solution is going to be a combination of the two... Presenting tokens in the drawer, balances somewhere within the proximity of the header.

@w-hive
Hive member

Cool beans.

@jenbennings jenbennings assigned weilu and unassigned jenbennings Jun 18, 2014
@jenbennings jenbennings removed the WIP label Jun 18, 2014
@haustraliaer haustraliaer assigned haustraliaer and unassigned weilu Jun 19, 2014
@haustraliaer haustraliaer added the WIP label Jun 19, 2014
@haustraliaer

closed with: 3e3586e

using circles for now until we sort out a consistent method for masking hexagons across the app.

@haustraliaer haustraliaer removed the WIP label Jun 19, 2014
@weilu weilu modified the milestone: July 2014, June 2014 Jul 3, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment