neo-node icon indicating copy to clipboard operation
neo-node copied to clipboard

Wireframes for Neo Gui

Open lock9 opened this issue 6 years ago • 12 comments

Hi, We are planning to make a new Neo Gui, and for that, we need wireframes. Usually, I have a list of features to build the wireframes on top of it, but if we build this internally, we may do this without that. I think once we agree on the interface, we can move to the implementation.

This can be started now, we don't have to wait for neo-project/neo-node#497

lock9 avatar Sep 23 '19 03:09 lock9

@lock9 we can start it while we are discussing the UI framework. :)

longfeiWan9 avatar Oct 21 '19 10:10 longfeiWan9

Hi! I'm working on it @wanglongfei88. Thanks

lock9 avatar Oct 22 '19 10:10 lock9

@lock9 Any progress?

longfeiWan9 avatar Nov 05 '19 09:11 longfeiWan9

Yes @wanglongfei88: https://xd.adobe.com/view/433a454e-c57b-4475-6d7f-5d7d3c7739e3-350b/ I believe we are only 30% done, we need more iterations and the team is still learning how Neo works and what features are required. Since the objective is to be used as a reference implementation, we are removing all features that might require indexing but at the same time, we face the challenge that we have to support plugins.

Data conversion, script disassembling, offline signing and some basic state channel UI is also planned, but the last one might not appear in version 1.0.

There is not much to see, but any feedback is already welcome. There are some defects too, because my colleague though he was reading Neo 3 docs, it was the tutorial for Neo 2 (he got the model from there).

lock9 avatar Nov 07 '19 00:11 lock9

@lock9, the wireframe looks great for me. The one question for me is that should we add blockchain explorer support into neo-gui as well ?

longfeiWan9 avatar Nov 07 '19 01:11 longfeiWan9

@wanglongfei88 the user must be able to explore local data, but at the same time, we cannot have an additional database used to view information. We need to view what is in 'IRepository' interface.

lock9 avatar Nov 07 '19 02:11 lock9

I agree that we should not add additional database for viewing info.

Rick, please keep us updated about the UI wireframe? At the same time, we are discussing the UI framework in another PR. After talking with lightszero, we decided to try to develop a simple application using Avalonia and Electron for testing purpose. And then choose the UI framework with better development support and experience.

longfeiWan9 avatar Nov 07 '19 02:11 longfeiWan9

Sure @wanglongfei88 , a feature list and plan is needed for it. I will update you with more information later this week.

lock9 avatar Nov 07 '19 05:11 lock9

NEO-GUI

@lock9 , Rick, this is the feature list that we created based on the functions of Neo3. Please use it as a reference when your team is creating the wireframe so that we do not have too much divergence. Hopefully it will be very helpful. Please let me know if there is any thing we need to change.

longfeiWan9 avatar Nov 07 '19 05:11 longfeiWan9

That will definitely help a lot, thank you!

lock9 avatar Nov 07 '19 05:11 lock9

Hi @wanglongfei88, this is the raw feature list, I didn't evaluate with my colleague if everything will be included, there are topics that we don't even have inside neo yet. There are topics that are neo 2 only (neo fs). Your feedback is appreciated. Thanks.

Neo GUI
	Wallet
		Accounts
			Export
				NEP-2
			Import
				Wif
				NEP-2
				Read-only
			Create
				Single Signature
				Multiple Signatures
				Contract Composer
					Tool
				Template
					Using time lock
			View
			Delete
		Signing
			Sign and relay
			Offline signing
			Smart Contract verification script
	Plugin System
		IUIPlugin
			Extend Menu
			Custom Window
		Change plugin config.json
		Plugin repository
			List
			Install
			Remove
	State Channel
		Start new channel
		Join channel
		Move state
		Start dispute
		End channel
		View channel data
	Settings
		Protocol configuration
			Mainnet
			Testnet
			Custom
				CRUD
			protocol.json
		Application configuration
			config.json
		Plugin settings
		RPC
			Enabled / disabled
			Endpoints
				Enable / disable endpoint
			RPC Plugin support
		Consensus
			Start consensus
			Logs
				Enable / disable
				View logs
	Tools
		Type conversion
		Script disassembling
		Logging
		Account Builder
		Script Composer
	View local data
		Blocks
		Transactions
		Contracts
			View contract
				ABI
				Manifest.json
		Smart Contract Storage
			Quick data conversor support
		Query using DB key
	Interaction
		Transfer
		Relay json
		Transfer many
			Form
			Import CSV
	UI Additions
		Node Status
			Synchronization state
			Time since last block
			CPU Load
			Memory load
			Transactions in memory pool
				View memory pool transactions
			Connected nodes
		Help menu
			Docs
			Check for updates
			Current version
	ZK
		Create claim
		Create proof
		Verify proof
	Entities
		Consensus nodes
			Current consensus nodes
				Public Keys
				Public information
			Candidates
				View
				Vote
				Apply for consensus
		Oracle nodes
			Current oracle nodes
				Public keys
				Public information
			Candidates
				View
				Vote
				Apply for oracle node
		Neo FS nodes
			Inner ring
			Outer ring
			Candidates
				View
				Vote
				Apply for outer ring node
	Neo FS
		Get Data
			Verify data integrity
		Store Data
			Configure redundancy options
			Pay
			Send data

lock9 avatar Nov 08 '19 03:11 lock9

@lock9 Hi, Rick. I like the feature list. They are a lot of useful functions for neo3 gui. My concern is that this feature is too comprehensive and forward-looking. For example, state channel, ZK, Oracle and FS node will not be ready at first stage.

Maybe we should start with feature plan for the 1st version of neo-gui. And then slowly adding new features into it when those features are ready in neo3.

longfeiWan9 avatar Nov 12 '19 06:11 longfeiWan9

More elaborated in https://github.com/neo-project/neo/issues/3013

shargon avatar Dec 06 '23 06:12 shargon