Error when we press a button more than 2, 3, 4 times in a row in the same place, before it opens the page, canvas and a link. Please check your apps and do the exercise

When we press a button to move to a canvas, page, link and so on, the times one presses, are the same times that the pages or canvases are opened.

When the canvas or landing page is already open, when returned with the back button, either by default of the mobile or created as in the video, you have to press again the same number of times to get to the beginning from where it was pressed the first time.

Video #1. You will notice that everything is normal if we press the button once, and we move and return with all normality.

Video #2. If we press more than 2, 3, 4 times in a row, the same page numbers open, and to return we have to press the 2, 3 and 4 times in a row, until we return to the beginning where the button was pressed for the first time.

Video #3. In this video, download the App developed by de @Bertrand_BZH (Good Job), where I also did tests, and it happens the same, but the apps of my colleagues also happen the same with the same problem.

Screenshot of the settings:

The idea here is that no matter how much one presses the same button several times in the same place, it is understood that it will only open once, as well as other third-party apps such as AppGallery, Google Play, Facebook, etc.

@Kirill_Leventcov
@Mevi
@Mihaly_Toth
@JOHN_WORSHAM
@Dimos_Vamvourellis
@Vili
@Phil_Evans
@Mari

Sorry for the quality of the video and photos, I compressed them to upload them.

Hi,

Indeed, your remark is right, I had never noticed.

But you need press the button minimum 1 second at least before pressing several times, which is not really normal behavior.
I know we should not be trusted the users but …

If it may be settled, that’s for sure it is better.

2 Likes

It is something I have also experienced.

I have not tested this, but maybe You could try to add a “Debounce” flow between the tap event and the navigation flow.

Set the settings to around 1 s and “Trigger on trailing edge”.

*This is not a solution that has been tested, it just came top of my head, so please let us know if You tested, I will also write here it I have time to test.

1 Like

Hi,

Thanks a lot for the inquiry and all the amazing screenshots. You have a valid point, but that applies to web-app/app development all together.

The ‘Button’ component listens to clicks and executes the flow function accordingly. We have to record all clicks and execute all logic, since there might be a case where you want a user to press a button multiple times. For instance, in a volume adjuster or etc. Thus, we introduce a limitation in the fact that abnormal user behaviour will lead to an abnormal application. And whilst it is frustrating, that is the way apps work. As @Bertrand_BZH has said, we cannot fully rely on users behaving in a way we want them too. That is why UX design is so important.

Even if you were to create a JS button with onClick() function, it will probably behave the same way.

I will still propose a possibility of (optionally) having buttons not respond after the first click, and perhaps we can add that as a feature.

3 Likes

Hi,

I have quite a lot of logic on all my button taps, looking for double taps etc so don´t have this issue.

I don´t use the debounce function, just a page var, an If statement or two and a delay.

EDIT: I do make use of the Throttle function in some cases, when I don´t have double tap logic.

1 Like

I thank you all for your advice and experiences, I will take into account all your answers, thank you very much. I am very proud of this great community, the development team and collaborators of AppGyver.

@Mihaly_Toth: Of course, I’m going to try and suddenly I’ll write to you how I did with your idea.

*Actually, if for me it is very important to solve it, because users do notice that detail, for the reason that there are times try not to answer the button when moving to a page, canvas or link; there is where the client or user comes back and presses the same button, believing that it will only open that section, when in fact it is opening 2 times the same part. That’s why I put in the video captures, two different applications, but in reality they are several apps from my environment that we have seen with the same details mentioned.

I thank you very much again, because this way I learn to know more about this and great powerful tool that AppGyver gives us.

1 Like

Look into the Debounce flow function.

2 Likes

I think also, from your description that you are not using replace when opening new pages. I only use replace, so there are never any pages kept in the stack. This makes it simpler for me I think.

If you use a ‘Throttle’ flow function and set it to 5000 ms (5seconds), there is no way to double click a button anymore and the page opens immediately.

image

3 Likes

0.5 seconds … or for 5 seconds set it to 5000ms

1 Like

Yes, sorry for the typo. I meant 5000ms.

2 Likes

Everyone has good points, he is also right @Phil_Evans, I also looked at the flow he told me @Mihaly_Toth and @JOHN_WORSHAM about the “Debounce” function (I didn’t know him about the “Debounce” function, I did tests, and it was very useful that I have it even applied in other areas, thank you very much).

The option that I leaned and my solution that gave good results and putting to tests with normal clicks and in case of intentional double clicks, is the flow function “Throttle” that @Kirill_Leventcov shared with us, thank you very much.

Here I leave a clip and a capture, where he pressed the first time and opens with all the normality, and then in the same video, I go back and make 2 clicks apropos, and it gives a good result as I expected, thus being well satisfied with the results and calibrating the time to “1000ms” and it can also be about “5000ms”. Thank you all very much.


3 Likes