Feature Request: Rule Machine 5.1 - Remove Tab/Interaction Requirement to Continue

I believe this behavior occurred in prior iterations of Rule Machine and Hubitat, but it seems that when creating new rules with the Rule Machine, the process does not continue (spinning wheel upper right, Done button grayed out) unless you press Tab or click on the screen.

For example, if you go to make a new rule, you are presented with a box to type the new rule name into, but the rest of the screen is blank and the Remove/Done buttons are grayed out until you tab out of that name field or click somewhere on the screen.

I don't make rules that often, and I periodically forget this step is required, and just wonder when the spinning wheel will stop spinning.

So my feature request is that instead of the spinning wheel, simply enable the rest of the screen and the Remove/Done buttons after the first keypress in the Name field (e.g., if you are typing "New Rule", the "Done" button is enabled after the N is pressed). So this isn't jarring to the user, I would recommend presenting the whole screen (not just the Remove/Done buttons) initially but graying them out/disabling them, and then just enabling them after this first keypress in the Name field.

I get there is probably some AJAXy stuff on the backend where it wants you to tab away so it knows you are done so it can save the field in the database. However, I think this would be more intuitive to just do this save upon press of the first letter in the field, and then when someone clicks Done, just save any "Dirty" fields at that time.

Thoughts?

1 Like

This UI doesn't allow this, at least not at present. The required entry of a name is intentional, obviously. However, there is no feedback from the UI to say that a letter has been typed in the name entry field, only that it is completed. For now, this is how the UI works. We are evaluating changing the UI framework for apps, but this will not be a quick process.

3 Likes

Ah, thanks for the fast reply. Perhaps in the interim, we could add some text under the box that says "Press Tab when finished entering name." or something?

Tab? All you have to do is hit Enter.

Fair point... "Press Enter when finished entering rule name." works equally well.

Seems over the top to start adding basic webpage interaction instructions. How many times do you need to do this before you understand how it works?

2 Likes

I'm not aware of other web pages that have this same UI experience, which is why I have forgotten about this twice so far. Usually when interacting with forms on the web, I just fill in the form and it is clear what the next step is visually.

For my usage, I typically won't go in to mess with rules more than once or twice per year.

I guess it depends on how accessible you want to make the UI to first-time or infrequent rule creators vs. people that do this regularly.

1 Like

Agreed that this UI behavior is both highly unusual and counterintuitive. Can't think of any other website where one must "click away from what you are doing" to make it "take."

I do hope the devs will continue looking at alternatives for future firmware. Mercifully, they already have publicly admitted that the overall UI needs a major overhaul to accommodate things like realtime updates.

One of my favorite schemes (don't know if it's Ajax or just well-adapted jQuery) is in Reactor Multi-Hub, wherein the UI instantaneously reflects any internal change, without the user having to click around or refresh. It's highly efficient (low CPU demand) and conserves resources (low RAM requirement) -- I run it on a Docker instance inside of my Synology NAS, yet it rarely exceeds a 16% load.

Before touching the interface at all:

Then after placing text cursor in Name this Rule input field, we see this. I added the Continue button to illustrate the issue.

Until I do something other than typing in the name, I have to do something affirmative to conclude the name entry, either click outside the text area, click Continue, hit Enter -- something to end the input of the name. ALL text inputs in the UI work this way. Something has to come next, either moving the mouse away and clicking, hitting some UI button, anything other than typing the name. Cannot auto-complete the name since it is a brand new entry.

I'm sorry this bothers you, but it is the way it works. I beg to differ with

This is actually the normal way that text input fields work in browsers. To cause Google to search, I have to hit Enter or click on something (like a drop down offer of searches).

...the essential difference being, of course, that Google places the unambiguous "SEARCH" button or magnifying glass icon there, so the user knows what comes next. Whereas RM makes you click TWICE, with the first (i.e. clicking away from text input box) being required – yet non-obvious to new users, or those who don't frequent the HE UI – before the second (clicking the no-longer-greyed-out DONE button) can even happen.

The spinning blue circle just adds a distration, IMHO. :slight_smile: N00bs will no doubt wonder, "What are we waiting for here?"

As an aside, since it is not at all inconsequential, if one happens to click over to another browser pane before finishing text entry of the new Rule's name, upon returning to the Hubitat pane, he will find that RM has already moved on to the next step. If the Rule name was unfinished or incorrect, that introduces yet another required step (i.e. clicking back into the "Name this rule*" field) to correct.

Kinda begs the question, "Why not just jump immediately into the Name+Triggers+Actions screen directly after clicking Rule Machine ► Create New Rule?"

P.S. Not sure why there's an asterisk * at the end of "Name this rule", but that's a question for another time.

Maybe a better fix…don’t hide the rest of the fields initially or disable Done.

Make a default Rule Name…something like Default Rule Name, and put the cursor there.

Adam

Those asterisks represent required inputs.

Because the required input has not been completed yet. Without forcing a name on the rule, all rules end up being called "Rule 5.1". How many of those do you think you need before you're going 'what the heck?'.

But no instruction telling you that you must hit Enter or click on something to start the search:

Look, you are calling something counter-intuitive that you do by rote every single day, so rote that you are no longer even aware of having to hit Enter, or of clicking to some other focus on the page to complete the text entry. I could jump through some hoops to make the rest of the initial UI page visible, and grayed out until you complete the name entry. But either way, the name entry DOES have to be completed to move on.

Is this really so important???

1 Like

The difference is Google has a search button.

See my comment above..maybe prefilling the box and showing the whole form helps?

Adam

No it doesn't. Look at the screenshot just above. That is from google.com.

This one has a button:

As you can see further above, I added a continue button for those who need something to jog their mind about how their browser works.

1 Like

Yes I see a button on Google.com…on mobile the Enter key changes to a Search button to give you the equivalent.

I think a Continue button works well.

Thanks!

Adam

1 Like

That is, unless prefilling a default name and not hiding anything is challenging.

I think ultimately that may be better as it feels faster.

Adam

I hope you see that your original request to Remove Tab/Interaction Requirement cannot be accomplished, irrespective of UI framework. It's just inherent to text input in a browser. Adding a button perhaps makes it more obvious, but seriously I don't find it very compelling, just extra weight in the app for something that ultimately has to be learned anyway.

There are many areas of the UI that are more impactful and more deserving of attention than this one. Time to move on...

Download the Hubitat app