Providing feedback to the user (UX question)

So I showed my daughter my new remote project last night (I’ve been spending time making the theatre remote as friendly as possible now that my daughter is old enough to use the theatre without me). The first thing she commented on was “how do I know if I pushed the button?”

This raises a good question. On devices without haptic feedback (like my iPad) there doesn’t seem to be a way without adding a trigger state change property to each control individually. And with that, it seems one fan only set visuals and not sound feedback like a click (or am I mistaken?)

@bill (or anyone): What features does THR provide to solve this usability issue? And is there a possibility of getting a project-wide setting so individual controls don’t need to be updated (to not only make it easy for developers but also general accessibility for those with impairments)?

I really don’t want to switch in an android tablet not shell out for another device. Plus if I have to do this at the control level that will be rather arduous as I have over 200 buttons).

Thx

On an iPad, is it possible to do a “Toast” command as one of the actions when the button is pressed?

Possibly, although that isn’t terribly aesthetically pleasing. I could also do something to change the color, reverse image, etc. as would a click sound. But that would require per control changes.

On my cheap android it does both (built in OS/system function) although the click sound is very faint and the tablet is not powerful enough to run THR (craps out after loading too many screens and response is sloooooow).

After a lot of research, it looks like the regular IPad doesn’t have an option to do either.

I find that a customized Toast message is helpful to know that I actually pushed the right button. I usually do not bother with buttons that respond immediately, such as turning a light on or changing a channel. But on buttons where the response could be delayed, such as turning on a series of devices, the customized Toast is a nice confirmation that the commands are in motion.

Is there for sure no visible pressed state change? This post says it’s not the best but that it’s there.

Regarding changing the 200 buttons, you can do that in one big swoop with Notepad++. If you load all the xaml pages in Notepad++, you can do a find/replace to add the trigger to your buttons.

I tested it and had success by doing the following:
In my subject hrp, I had buttons and image buttons. The place to insert the trigger would be right before the xaml closing statement for button or image button triggers. This closing line comes in two flavors, depending if you have any existing triggers for that particular button. This is a total of 4 options. And if you’re good at RegEx, you could make this one single find criterion.

<hr:ImageButton.Triggers />
</hr:ImageButton.Triggers>
<hr:Button.Triggers />
</hr:Button.Triggers>

Now for the replace. This will give the button a pressed state color change of the foreground brush.

<hr:Trigger Property="IsPressed"><hr:Trigger.Setters><hr:Setter Property="Background" Value="{StaticResource ForegroundBrush}" /></hr:Trigger.Setters></hr:Trigger></hr:Button.Triggers>

I had to do it all on one line because Notepad++ didn’t like if I put the replace in with formatting. Notice the last line of the replace - it needs to mimic one of the 4 lines you chose from above.

If you have all of your pages open, you select “Replace all in all opened documents.” Now you do this 4 times unless you created the RegEx (it honestly took me about 45 seconds to do it 4 times). Then paste the xaml back in your hrp and you just added a trigger to 200 buttons in around 5-10 minutes.

2022-08-21_17-47-32

1 Like

@gregkinney thank you so much for taking the time with such a comprehensive response. This will certainly make life easier.

On a side note, I learned today that even on an android device with haptic feedback, clicking buttons in THR doesn’t provide feedback. I still think a universal setting for accessibility would be nice, but I guess there is only so much one can do.

Btw @bill - have you considered enabling/creating a wiki to allow the community to create documentation pages with tips and tricks like this (like you did with the plugins category)? Or are you planning to fix those up yourself at some point? The community has a wealth of info to share and it would certainly be nice to tap that knowledge easily (vs searches which can be hit and miss).

Still curious about plans for documentation. Such a great product deserves better. But no longer in need for a feedback solution.