The new playground

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 image

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
image 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 ,image


Another example was the balance view we mentioned the locked tokens but also included a help link to get more information image

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?

Let’s us know what you think :slight_smile:

6 Likes

Exciting. Can’t wait to check it out.

1 Like

Looks great, but is still much too confusing. The process to login and send funds has to be more streamlined. Bring a newbie into your office and let them try to login and use the playground. They will have problems if you actually let them do it on their own from scratch.

I finally managed to login but now I’m trying to “Deploy a Presearch Instance” and I would need funds. I have some TFT in a Solar wallet and in my ThreeFoldConnect wallet. When using the ThreeFoldConnect wallet it shows “TFT Stellar” and “TFT TFChain”, but which one is the correct one? Can I send from both?
And if not only the “TFT Stellar wallet” has a TFT deposit. How to bridge it?

I know there’s a manual but I couldn’t find the answer and most people don’t want to read manuals. I know that some guys like to dig deep into such details but most people want to get more easily to their goal… :slight_smile:

Hi @gogo76227

Thanks for the feedback.

When you open the new playground, there is a big screen with a QR code image and the line: Scan the QRcode using ThreeFold Connect to fund your account.

In the TF Connect app, you go to wallet and click Scan QR and you scan the playground qr code image and everything is done automatically.

Does this help?

I think this is pretty straightforward. If you have any ideas on how to make this clearer, please let us know.

You can always access this QR code image and explanation by clicking on the top right button (Balance… Locked …).

2 Likes

Thanks, Mik! I did manage to log in.

Now I do have other remarks, and I hope they will be used to improve the playground.

I tried to set up several Presearch nodes, and it was unfortunately really tedious because most of the nodes did not show up in the Presearch Nodes Dashboard.

So I had to delete them again and again. Then I tried other ones, in different countries, etc. - in the end I’ve used only “Certified” nodes because they were mostly working, but again not all of them.

I also tried to find and use my uncertified Dell server (that I have in my home) but it wasn’t even available while the server is online all the time.

Some of the certified nodes were working for just an hour, then they suddenly disconnected and did not come back online again. After many tries I’ve found seven which are working for now.

The setup itself was very easy and I liked that, but to find actually working nodes was not really satisfying…

1 Like

Thanks for the feedback! I will write a Github issue on this so it can be fixed.

EDIT: @gogo76227 here’s the link for the github issue. Thanks again. Will let you know here once we have some development on this.

1 Like

Found another problem…

One node is suddenly not showing up in the “Presearch Instances” list since one day, but I unfortunately can’t remove this specific node - because it’s not showing up in the list. Not sure if I’m still paying for the deployment…

Then it also takes a pretty long time now after reloading the page to show my other deployments. When the node list finally loads it also shows the following error message:

Did you check the section Contracts?
If you have the ip address (ipv4 or planetary) you could also try to ping it. It is indeed perhaps down.

1 Like

All nodes are up and running again but now the Threefold Presearch Playground Dashboard does not show a single node anymore…

Anything shown in Contracts?

I’ve just looked into “Contracts”, for the first time, I have to admit… :slight_smile: but all the nodes are now visible again and all the contracts are also visible. Not sure what exactly happened, but it’s all working again.

1 Like

Good to know. We’ll be on the lookout if this happens again and then we could find ways to fix it.

If it’s fixed for now, good! It might be that the nodes were down.

1 Like

The likelihood that all the nodes were down at the same time seems to be very low. I’ve set them up in several different countries… I’ll let you know when it happens again.

1 Like

I agree good point.

I wrote an issue on Github: https://github.com/threefoldtech/tfgrid-sdk-ts/issues/1182
Let’s see if it helps the dev to troubleshoot/test the weblet for a future release.

Thanks a lot @gogo76227 ! That’s how we can improve the weblets, with feedback such as yours.

1 Like

Hi Mik,

I do have a new, very weird problem.

Until yesterday I had deployed 7 Presearch nodes - all of them were working perfectly. Then one in Poland stopped working - and didn’t show up in “Presearch Instances” anymore. I just got the “Failed to load 1 deployment…” warning.

Because it’s easy to deploy a new node I’ve started a new one in another country and waited for it to show up on the Presearch nodes website but it never did. So I looked up the contract of the node in Poland on TF Playground that wasn’t the first one not working and deleted it, but nothing changed, means new nodes would never show up on the Presearch nodes website.

Meanwhile I’ve tried several nodes in different countries with IP certified and without, waited the whole night - but none of them is showing up on the Presearch website.

6 nodes are still working fine but I can’t add another one that would show up on the Presearch website.

Do you have any idea what the problem could be?

OK that is intriguing. First know that the issue shared above is now being investigated (the Failed to load 1 deployment issue).

As a troubleshoot test, can you try this from the manual? https://manual.grid.tf/playground/presearch.html#verify-if-a-3node-already-runs-a-presearch-workload

Then if possible please share here the output you get. This would be a good way to troubleshoot for non IP address nodes you deployed on.

We added this in the manual thanks to your feedback in this post. (here)

Hi Mik,

I read the https://manual.grid.tf/playground/presearch.html#verify-if-a-3node-already-runs-a-presearch-workload

Then I’ve tried to connect to several IPs of the still running Presearch nodes via

ssh root@<VM_IP_Address>

I got the according IPs from the Presearch Node Status website.

As a result I’m getting:

ssh: connect to host <VM_IP_Address> port 22: Connection refused

Presearch provides a Public Key but I’m not familiar with how to use it.

I also got another “Failed to load 1 deployment” error and now only 5 of my originally 7 nodes are alive.

PS: I’ve again tried to add other certified nodes located in several different countries… and first it did not work. Now I was actually able to do so, but again something weird came up… I could only successfully set up certified nodes from Belgium. Three Belgian certified nodes are now up and running.

PSPS: I will leave the contract of the node that is causing the “Failed to load 1 deployment” error active for today and tomorrow, so that you might be able to find the problem.

The public key from Presearch must be something different

To SSH into the deployment, you need to set a SSH key pair and put the public key in the profile manager of the Playground. You can read this for more details: https://manual.grid.tf/getstarted/ssh_guide/ssh_openssh.html.

If you have this error (connection refused), it might have to do with setting the proper public key in the playground.

You can also try to ping the address of the vm before doing SSH. If you can’t ping it (do not get a response from ping), then the VM might be down.

ping -c 2 <VM_IP_address>

The failed to load 1 deployment is still being investigated. I’ll let you know if there are news on this.

1 Like