Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[UX] Active chain visual cues #124

Open
ixje opened this issue Mar 9, 2022 · 6 comments
Open

[UX] Active chain visual cues #124

ixje opened this issue Mar 9, 2022 · 6 comments

Comments

@ixje
Copy link

ixje commented Mar 9, 2022

Currently it is unclear if any chain is running and if so, which one unless you look at the TERMINAL tab.

Example of a running chain
chain-status-1

The status bar at the bottom says "Neo: Not connected". I have actually no idea what it means or if it is supposed to say something about the chain status. If I open the TERMINAL tab we can see there's actually a chain running
chain-status-2

Ideas
Based on the following view
image
I have the following ideas

  1. Change the play button to a stop button for the chain that is running
  2. Highlight the background color to green or some colour to indicate it's actively running (this is also helpful if for whatever reason the chain dies)
  3. From the context menu hide Start blockchain ... options and only show Stop blockchain when it's running and vice versa.
    a. Perhaps even hide all options that cannot be used until the chain is running to keep the context menu clean.
    b. Alternatively, disable/grey out options that cannot be used in the current state
  4. I'm a fan of reducing visual clutter so I'd even suggest having a button in the title bar (view/title group:navigation) that allows you to show only the active server.
@robliou
Copy link

robliou commented May 27, 2022

I added code to the settings.json file which changes the colors on the status bar at the bottom of the VS Code border to green when NEO is connected to the blockchain, white when connecting, and orange to when it is disconnected. We can change the color to whatever we want.

A2
A3
A4

See commit below:

abffd21

@ixje
Copy link
Author

ixje commented May 30, 2022

The colouring of this bar can be an extra (if we understand what the real purpose of this bar is), but I think the original idea of changing the icons for the entries in the blockchain tree is more powerful and self-explanatory

@robliou
Copy link

robliou commented May 30, 2022

Erik, as you can see from my screenshot, no inline icon is even showing up in my sidebar view for a 'start' or 'stop' for the chain. I can't figure seem to figure out why. Can you point to me where in the codebase the 'start'/'stop' inline icon resides or even attaches to the chain?

A7

Anyways, I do think the color change is quite eye-catching, especially given the green wording below as it presents a stark contrast to the dark background...have you been able to try it out yet?

@ixje
Copy link
Author

ixje commented May 30, 2022 via email

@robliou
Copy link

robliou commented May 31, 2022

Erik, I think we're having a misunderstanding here of what 'Active chain' means. The start and stop function doesn't imply starting or stopping the chain itself. What it implies is starting or stopping an active connection from the user to the chain itself.

If you are gathering from the UX that pressing the 'play' button from the UX is going to actually start or stop the mainnet or testnet or private chain, then yes, that is indeed a fail from the UX perspective!

I'm not so sure that one would want to connect to multiple chains simultaneously, as that could lead to a lot of confusion, no?

@ixje
Copy link
Author

ixje commented May 31, 2022

Erik, I think we're having a misunderstanding here of what 'Active chain' means.

Good point. I'm talking more about "chain status visual cues".

The start and stop function doesn't imply starting or stopping the chain itself. What it implies is starting or stopping an active connection from the user to the chain itself.

Let's be very specific which start/stop we're talking about. I'm talking about the play button (being a start) in this specific section of the UI
image
My mouse pointer was hovering over the play button on the single-node.neo-express line but isn't captured in the screenshot. As we can see, the tooltip literally says start blockchain when hovering over the play button. The button is linked to this command
https://github.com/ngdenterprise/neo3-visual-tracker/blob/b50ab36f58d98497b4d2e2989937ba7dcbf677a1/src/extension/index.ts#L261-L263
which leads us to
https://github.com/ngdenterprise/neo3-visual-tracker/blob/b50ab36f58d98497b4d2e2989937ba7dcbf677a1/src/extension/neoExpress/neoExpressInstanceManager.ts#L85-L88

which according to the documentation does the following

a Neo-Express blockchain network is started with the run command.

The status bar at the bottom however does say something about an RPC connection
https://github.com/ngdenterprise/neo3-visual-tracker/blob/b50ab36f58d98497b4d2e2989937ba7dcbf677a1/src/extension/activeConnection.ts#L99-L100
but only under very specific conditions. E.g. only for local started chains

I'm not so sure that one would want to connect to multiple chains simultaneously, as that could lead to a lot of confusion, no?

One scenario I can imagine is a personal network to develop on and a private network for your teams project. Whether it should be possible is a design decision. Right now it is possible but the UX has some shortcomings with it. I have no preference other than that the UX options align with the restrictions that should be present (e.g. number of active chains). Right now it's all over the place.

I'm opening a new issue #137 to discuss the bottom status bar. Let's keep this one focused on the Blockchain tree as show in the picture in this comment

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants