Jump to content

Sequential popovers as on-screen help. Any tips?


This topic is 2721 days old. Please don't post here. Open a new topic instead.

Recommended Posts

For a solution I would like on-screen help. I was thinking about using sequential popovers, taking a user in logical steps through elements and functions on a layout. Much like one would often see when using an iPhone/Android/web application for the first time.

I have gotten as far as putting some (invisible) popover buttons on a layout. I have given their popover balloon a layoutobjectname, so I can use Go To Object to call and show them. I call the first one directly with a (visible) "Help" button. The problem I run into is that I would like to be able to navigate from one balloon to the next (or previous) one in a logical, sequential order. Sure, I can put a button in each balloon with another Go To Object step, but I would need to manually and uniquely adapt each button script to call for the 'next' balloon. Imagine the nightmare if I decide to insert a balloon between step 1 and 2 in a 10-step onscreen help sequence.

A more elegant solution would be to layoutobjectname all balloons sequentailly, i.e. Balloon 1, Balloon 2 etc, and have a generic previous button (except in the first) and next button (except in the last) balloon, calling the prev/next balloon. The problem is that I fail to get the activelayoutobjectname of the current popover balloon, so I can't do maths the calculate the previous or next one.

The only alternative I see is using a global variable where I keep track of which ballon I'm in, and calculate the previous/next one from that.

Any ideas? Or links to working solutions?

Link to comment
Share on other sites

I would keep a global called $$currentHelpStage, and have a 'Hide this Object When' calc on each help ballon that says :-

Hide object when :-

( $$currentHelpStage ≠ 1 ) or not ( $$helpEnabled )

the $$helpEnabled would allow you to disable the help entirely if it is not the user's first time through

Link to comment
Share on other sites

1 hour ago, Roeland De Windt said:

A more elegant solution would be to layoutobjectname all balloons sequentailly, i.e. Balloon 1, Balloon 2 etc, and have a generic previous button (except in the first) and next button (except in the last) balloon, calling the prev/next balloon. The problem is that I fail to get the activelayoutobjectname of the current popover balloon, so I can't do maths the calculate the previous or next one.

The only alternative I see is using a global variable where I keep track of which ballon I'm in, and calculate the previous/next one from that.

Here's the script doing that. It takes 3 scriptparameters; "first" (on the only visible "Help" button), "next" and "last" (used in balloons). A bit rudimentary, but it works. Even after changing layout, the $$help variable is always reset to 1 when first called with the visible "Help" button. The balloons have been named "Help #" sequentially. A bit rudimentary, but it works.

If [ Get ( ScriptParameter ) = "First" ]
	Set Variable [ $$Help; Value:1 ]
End If

If [ Get ( ScriptParameter ) = "Next" ]
	Set Variable [ $$Help; Value:$$Help + 1 ]
End If

If [ Get ( ScriptParameter ) = "Prev" ]
	Set Variable [ $$Help; Value:$$Help - 1 ]
End If

Go to Object [ Object Name: "Help " & $$Help ]

 

1 hour ago, rwoods said:

I would keep a global called $$currentHelpStage, and have a 'Hide this Object When' calc on each help ballon that says :-

Hide object when :-


( $$currentHelpStage ≠ 1 ) or not ( $$helpEnabled )

the $$helpEnabled would allow you to disable the help entirely if it is not the user's first time through

My personal solution above allows for the hiding. Help only becomes visible (and only then) if the end user clicks the "Help" button, not automatically the first time the solution is started. Clicking outside of any balloon hides it again. My biggest problem was finding a generic "next and previous" script to use in each ballon to hop to the prev/next.

However, I do like your auto-help idea the first time a user opens the solution (it was in my initial question after all).

Edited by Roeland De Windt
Link to comment
Share on other sites

This topic is 2721 days old. Please don't post here. Open a new topic instead.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.