It’s been several months since I’ve been able to work on Gladys.
I’m getting back into it for a few days (I’m taking some time off).
And what stands out to me is the heaviness of the scene functionality.
Indeed, the block system is really heavy and not very readable.
The best would be to have a system like node RED (which I don’t master at all), it’s very visual and very intuitive…
The idea would be to keep the existing blocks (triggers, actions, conditions, tests…) but to display them as small blocks on the canvas.
We could maybe use React Flow since Gladys is in prereact from what I’ve seen in the documentation.
After that, I don’t know at all the work that this would require…
But I am convinced by this approach which is really user-friendly.
Example with a button that controls a fan via a smart plug.
1 click on the button: Turns on the smart plug
2 clicks on the button: Turns off the smart plug
Long press on the button: Turns on the plug and turns it off after 2 hours.
It is possible to create 3 different scenes but we end up with a lot of scenes…
Creating a scene that handles everything, which I like much better.
It’s a very good feedback, even if it represents a significant task
I agree that there are a few points of friction in the current scene creation interface. However, I’m not sure that starting from scratch is the right approach, it’s still years of work
In my opinion, gradually fixing these points of friction is already an excellent first step.
On my side, a complete rewrite of the scenes is not planned in the roadmap
One of the particularly heavy points in the scenes is the nesting of « If … Then … Else ». In addition to being time-consuming to do, it is difficult to read because it is very difficult to have an overall view.
I needed to chain 5 or 6 conditions to translate the possible values of an error code in the PALLAZZETTI API into « Clear Text », I hesitated to create a NodeRED to be able to use a « Change » node.
In your case, you probably don’t need to nest: you can simply chain 6 conditions linearly. This avoids having a structure that is too wide horizontally and too « compressed » to read.
I think there are a few UI improvements to be made to make the « If… Then… Else » block less massive. For example, allowing to switch to full screen with one click, a bit like Notion does
@pierre-gilles
We’ll need more user feedback to be sure it’s OK.
And when we want to move it to Gladys, we’ll need to look at it together.
And you’ll need to give your opinion on the terms, the visuals…
Knowing that my test version takes into account blocks that don’t exist in Gladys currently.
I have a branch that should be OK for the current Gladys.