We have now an experimental playground hoping that will provide our threefold users with a much easier and consistent user experience
Why the upgrade
We found the need to the upgrade 1 2 necessary mainly because of
- incredibly long build time
- difficult to add solutions to
- unexpected behavior for svelte and webcomponents
- connects to external web sockets and makes API calls (polkadot and rmb) more times than necessary
- difficult to debug
- unexpected bugs happening during the build and not in the development or the other way around
As a result, we moved to Vue.js and vuetify that gave us more speed in development and it was also more suitable to develop a more integrated experience
Accessing the new playground
From the main entry of the grid (The dashboard website) you will find it linked in the sidebar as experimental
Landing page
We start with a landing page about threefold grid statistics and links to how to get started with threefold as long as the user isn’t connected, as alternative functionality on the website
Login flow
Let’s walkthrough the previous versions, we started with allowing multiple profiles on the system and even multiple networks
We were also requesting an encryption password for the chain data, so the user needed
1- profile manager password (that’s used to encrypt browser data)
2- mnemonic (to be able to sign requests)
3- tfchain secret (to store data encrypted on the blockchain)
Gradually we reduced the dependency to just the mnemonic and the profile manager password (which was used to encrypt data in the browser storage and on the chain too as well, which caused issues if you’re using a different device with same mnemonic and a different secret, as you will end up on tfchain with data encrypted with different keys)
In the last version we dropped the password (that was used for encryption) and only allowed mnemonics, and used them as encryption keys (which resolved the issues of having your metadata encrypted on the chain with different keys, browser session keys)
We reworked the login/connecting the wallet flow with almost the same experience the foldit project provided, it seems like everyone liked how the login flow was done, which for us was reintroducing the session encryption password again for the sake of unification, so back to this
But this time without supporting multiple profiles, just one single profile.
The new design
Here is how it looks in the new design
Asking the user to connect on their first time usage from the device
During the login we ask the user to provide the device password
Documentation / Help
We tried to make the project self documenting as much as possible, In the previous version we linked against every page in the manual for example
you will find a manual link in the screenshot, we are still in the process of upgrading our documentation, so these links will get updated, but for now we added more links for the manual in the sidebar and the navbar ,
Another example was the balance view we mentioned the locked tokens but also included a help link to get more information
forms improvements
And for fields, we tried as much as we can to add descriptions for everything. With the current framework there’re lots of nicer components that we can utilize for the help, so we are keeping a shorter version as hints and moving the longer descriptions to tooltips or the forms description
Also, we understand that going to manuals could be a little bit annoying to our users, so for almost every solution, you will find a separate detailed page to explain about what you’re interacting with
for example details help page for a the MicroVM solution, you can find a description and the most important question is the comparison to the fullVM
Also, an example on contracts list page
You will find explanation or links to contract types and info on contract states, billing rate, … etc
Deployment cost
One of the along awaited features was the resources cost directly in the interface
Improvements (errors and performance)
We are trying to improve the error reporting to the user and use more descriptive messages
Also, the loading of farms became much faster
What is coming up?
We are very committed to improve the UX and the flow around Threefold grid
- Currently we are working on improvements in the color palette used in all of our websites for consistency
- More simplifications and reduction of the mental overhead of the usage of the project (e.g providing custom packages for vm, microvm, removing terms that can cause confusion like rootFS)
- Allowing the users to set their own custom domains if they want to use their own, and don’t want to use subdomains on the gateways
- Supporting wireguard as gateways backend
- Fully integrating the new playground in the dashboard
- Creating browser extension with threefold needs, currently polkadot extension isn’t helping out because of the number of the contracts the users need to sign (e.g for complex deployments like kubernetes and caprover for instance)
- We might be introducing categories
How can we make it better?
- Definitely, with the very much appreciated feedback from the community either in this thread or maybe on the test_feedback repo https://github.com/threefoldtech/test_feedback/issues
- Direct code contribution using Pull requests on github https://github.com/threefoldtech/tfgrid-sdk-ts
Let’s us know what you think