WFoundation / WF.Player.Android

WF.Player implementation for Android
3 stars 2 forks source link

Dialog terminates when back is clicked #13

Open jonny65 opened 10 years ago

jonny65 commented 10 years ago

Dialogs or messages will be terminate if the back button of the player is clicked. Not good on dialogs which appear e.g only 1 times. The player clicks unintended and the dialog has gone. Check it anywhere where a message is available, then click the back button.

Mangatome commented 10 years ago

This is a general problem of the Wherigo specification when it comes to Message boxes. Garmins behave this way, and we can't fix them. Therefore it is the author's responsability to provides ways to show a message box again if it is improperly discarded.

2014-02-08 19:49 GMT+01:00 jonny65 notifications@github.com:

Dialogs or messages will be terminate if the back button of the player is clicked. Not good on dialogs which appear e.g only 1 times. The player clicks unintended and the dialog has gone. Check it anywhere where a message is available, then click the back button.

Reply to this email directly or view it on GitHubhttps://github.com/WFoundation/WF.Player.Android/issues/13 .

jonny65 commented 10 years ago

I do not agree. The author oughta place items in inventory for all dialogs, messages and inputs (too !), so the player can read it again if he has terminated it. On Whereyougo its not possible to go back while player is in a dialog, message or input. The back button will be ignored in that case. This is the right handling. Or reworded : I know NO ADVANTAGE to terminate a dialog with the back button....you ?

Mangatome commented 10 years ago

I agree with you that it sucks. My point is that some legacy platforms like Garmins allow for cancellation of message boxes. Actually, so does Windows Phone. And that is because not all platforms have the same design mentalities when it comes to blocking user interfaces. Some allow it, some don't.

It gets even worse when considering that message boxes can overlap each other: if you display a message box and another one before the user could click on anything, the OnClick event of the first message box is not raised.

As an author of Wherigo cartridges, one has to realize that message boxes are not guaranteed to raise OnClick. Because of that, one author should not rely on message boxes completing for progressing the game, or, at the very least, should provide a way for users to progress in the game even if message boxes are unexpectedly dismissed.

In summary, my point is: it may be possible to fix this on Android, but not on every other platform. And for this reason, this is not a bug.

(PS: But there may be ways to improve the user experience a little bit, for instance by allowing to show again the last dismissed message box. But this could also create unexpected side effect on cartridges where authors have planned for this problem and do not expect dismissed message boxes to appear on screen. Overall, this is a known problem of Wherigo 1.0 that will have to be corrected in spec in Wherigo 2.0.)

2014-02-09 11:57 GMT+01:00 jonny65 notifications@github.com:

I do not agree. The author oughta place items in inventory for all dialogs, messages and inputs (too !), so the player can read it again if he has terminated it. On Whereyougo its not possible to go back while player is in a dialog, message or input. The back button will be ignored in that case. This is the right handling. Or reworded : I know NO ADVANTAGE to terminate a dialog with the back button....you ?

Reply to this email directly or view it on GitHubhttps://github.com/WFoundation/WF.Player.Android/issues/13#issuecomment-34570898 .

charlenni commented 10 years ago

The normal behavior on Android is, that you go back with the back button. And Mangatome is right, you have to check, if the message box or the input is removed by another dialog or screen.

jonny65 commented 10 years ago

No. These are 2 different things. If the player is too fast and clicks twice in a dialog of course the message before is away. Or 1 message after another : This is an authors error, of course. I mean that there may NO possibility to terminate a dialog or input, if the player clicks the back button. I have added a new feature to the testsuite. Mangotome, feel free and get it on https://www.dropbox.com/s/9lq0swno7uxkm9t/Wherigo_Testsuite.zip

Item Inputs > Input loop. Try to terminate the loop with Whereyougo, there is no way. Same on garmin. On WF.Player it is possible. Also try this on dialogs : Item "System" > Background flashes. After 2 clicks try to terminate with the back button. Same effect as above.