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