Return users to the prior program🔗
There's a keyword that works particularly well when partnered with *navigation
and at least one *program
keyword, though it could have simpler use cases as well: the *return
keyword, which functions like a high-tech *goto
. When users pass over the *return
keyword, they go to the very end of the current program they're in, which returns them to wherever they were prior to that.
Here it is in a somewhat simpler form:
Starting program:🔗
How 'bout we burn a few calories?
*program: Super Fun Exercise
Now we'll do something else!
Super Fun Exercise program:🔗
*question: Ready?
Play.
This is lame.
*return
Let's get ready to prancercise!
In the above example, users start the program, which then launches into the "Super Fun Exercise" program via the *program
keyword. Once there, they have a choice to "Play" or say "This is lame." If they choose the latter, they immediately exit the Super Fun Exercise program via *return
, and next see the text "Now we'll do something else!" from the original program. If they instead choose "Play," they'll see the line "Let's get ready to prancercise!" and any lines that follow.
So why use *return
when you could instead use a *goto
keyword that could direct users to a *label
at the end of a program? For one, laziness. You can accomplish the same feat in one line of code instead of two. But suppose you didn't actually know which program users were in? And suppose you instead wanted users to be able to exit out of the current program via an option in *navigation
. Sounds weird right? Here's an example to show you what I mean:
I'm gonna randomize you to one of three tools to try. If you get bored with the tool, just click "Exit this tool" at the top of the screen.
*button: Begin
*navigation
Exit this tool
*goto: End
*randomize
*everytime
*program: Tool1
*program: Tool2
*program: Tool3
Alright, that's the end!
The *goto
keyword does NOT work across programs, so trying to add it beneath this navigation option would be of no use. But no matter which tool users are randomized into, the *return
keyword will bring them out of the tool, to the next line in the original program, which reads "Alright, that's the end!" Of course, it doesn't have to be the end here; you could allow users to return to the beginning to try a new tool, or your program could just continue going forward.
Note: If one of the tool programs itself includes an additional *program
keyword that leads to a program that would carry the user through two or more screens, and the user is in that second program, *return
alone isn't going to cut it; *return
only exits the user back one program layer, not several. So keep that in mind if you end up using *return
! It can be tricky to use if the user needs to exit out of a program within a program within a program!
Next: Share buttons