Interface guide

Interface guide
  • 1

    Menu

    Go to your project list, help and about sections. You can also sign out from the app and disconnect your Jibo.

  • 2

    Edit

    Edit your project name here.

  • 3

    Save

    Save your project.

  • 4

    Green flag

    Start the scripts that begin with “when Green Flag clicked”.

  • 5

    Stop

    Stops all the scripts.

  • 6

    Block tabs

    Select a block category by clicking on the different colored tabs.

  • 7

    Block palette

    Drag blocks from the palette to the programming area to create your program.

  • 8

    Learn how to play

    Shows the tutorials available to learn how to program Jibo.

  • 9

    Magnify scripts

    Enlarge or reduce the size of the blocks in the programming area.

  • 10

    Programming area

    Drag blocks here and snap them together into scripts.

Blocks guide

There are more than 60 blocks in Be a Maker that can be combined to program Jibo.

At first you won't need to learn what every block does, start simple with some basic blocks, and keep learning what blocks do when you need them. You can always use the tutorials by clicking on “Learn how to play” in the main screen.

Blocks are classified by type and by shape: Blocks are grouped by type, for example all blocks related to Jibo's motion can be found in the Motion tab. Blocks are also classified by shape (but not grouped). The shape of the block determines how it can be connected with other blocks.

Starts the script when the Green Flag icon is tapped.

Starts the script when Jibo's head is touched for less than a second. A longer tap will result in Jibo exiting remote control mode that will also make Jibo disconnect from Be a Maker.

Starts the script when the selected gesture (tap and swipe in all four directions) is detected on Jibo's screen.

Pauses the script for the specified amount of time (in seconds). Decimals can be used for less than 1 second waits.

Blocks held inside this block will loop a given amount of time, before allowing the script to continue.

Blocks held inside this block will be in a loop - just like the Repeat () block and the Repeat Until () block, except that the loop never ends (unless the stop sign is clicked, the Stop All block is activated, or the stop script block is activated within the loop).

The block will check its boolean condition. If the condition is true, the blocks held inside it will run, and then the script involved will continue. If the condition is false, the code inside the block will be ignored and script will move on (unlike in the If () Then, Else block). The condition is only checked once; if the condition turns to false while the script inside the block is running, it will keep running until it has finished.

The block will check its boolean condition: if the condition is true, the code held inside the first C (space) will activate, and then the script will continue; if the condition is false, the code inside the second C will activate (unlike the If () Then block).

The block pauses its script until the specified boolean condition is true.

Blocks held inside this block will loop until the specified boolean statement is true, in which case the code beneath the block (if any) will execute.

The Stop () block is a Control block. Depending on the argument, it is either a Cap block (all or this script), or a Stack block (other scripts in sprite). “Stop other scripts in sprite” will stop all other scripts (sets of connected blocks) because when programming Jibo, he is the only “sprite”.It is the only block that changes its shape.

Screen X is a variable that is set everytime the user clicks on Jibo's screen - this varible will return the X value of the screen coordinates of that click. X ranges from 0 (left border of the screen) to 1280 (right border of the screen).

Screen Y is a variable that is set everytime the user clicks on Jibo's screen - this varible will return the Y value of the screen coordinates of that click. Y ranges from 0 (top border of the screen) to 720 (bottom border of the screen).

Moving Objects is a variable that contains the number of moving objects that Jibo finds around him.

Number of people is a variable that contains the number of people that Jibo currently sees in from of him.

Creates a custom variable which can store numbers and strings. Once a name is given to it, two new blocks will appear.

The variable itself, a reporter block that contains the value of the variable.

Sets the value of the variable to X, ignoring its previous value.

Changes the value of the variable by the amount of X. It will add X if positive or substract if negative.

The list itself, a reporter block that contains the list with all its elements.

Creates an empty list. A list is a set of variables, grouped and in a specific order. Once a name is given to the list, seven new blocks will appear.

Adds the element "thing" (number or string) to the last position of the list (if the list has 3 elements, this would be the fourth element).

Deletes the element at position X. List length decreases by 1.

Adds X (number or string) at position Y of the list. List length increases by 1.

Replaces the element at position X with Y (number or string). List length does not change.

Variable containing the value (number or string) of the element at position X.

Variable containing the number of elements in the list.

Boolean block, will return true if any element of the list equals "thing" (number or string). Will return false if not.

The () + () block is an Operators block and a Reporter block. The block adds two values and reports the result. The numbers can be typed directly into the block, or Reporter blocks can be used instead.

The () - () block is an Operators block and a Reporter block. The block subtracts the second value from the first and reports the result.The numbers can be typed directly into the block, or Reporter blocks can be used instead.

The () * () block is an Operators block and a Reporter block. The block multiplies the two values and reports the result.

The () / () block is an Operators block and a Reporter block. The block divides the second value from the first and returns the result. If the first value is not evenly divisible by the second, the reported value will have decimals. To find the remainder instead, use the () Mod () block. Note, dividing by 0 will return infinity, 0, or negative infinity. It depends on if the numerator is positive, 0, or negative; respectively.

The Pick Random () to () block is an Operators block and a Reporter block. The block picks a pseudorandom number ranging from the first given number to the second, including both endpoints. If both numbers have no decimals, it will report a whole number. For example, if a 1 and a 3 were inputed, the block could return a 1, 2 or 3. If one of the numbers has a decimal point, even .0, it reports a number with a decimal. For example, if 0.1 and 0.14 were given, the output will be 0.1, 0.11, 0.12, 0.13, or 0.14. The numbers given with this block are not truly random — they are merely unpredictable. It is nearly impossible to generate truly random numbers using a computer.

The () < () block is an Operators block and a Boolean block. The block checks if the first value is less than the second value. If it is less, the block returns true; if not, it returns false. This block works with letters too, as well as numbers. In Scratch, letters at the top of the alphabet (e.g. a, b, c) are worth less than letters at the end (e.g. x, y, z).

The () > () block is an Operators block and a Boolean block. The block checks if the first value is greater than the other value. If the second value is less, the block returns true; if not, it returns false. This block works with letters too, not just numbers. In Scratch, letters at the top of the alphabet (e.g. a, b, c) are worth less than letters at the end (e.g. x, y, z). Other rules of alphabetical order apply (e.g. zach > az).

The () = () block is an Operators block and a Boolean block. The block checks if both values are equal. If the values are equal, the block returns true; if not, false. This block is not case-sensitive.

The () and () block is an Operators block and a Boolean block. The block joins two boolean blocks so they both have to be true to return true. If they are both true, the block returns true; if they are not all true or none true, it returns false. This block can be stacked inside itself, which can be used to test more conditions.

The () or () block is an Operators block and a Boolean block. The block joins two boolean blocks so any one of them can be true to return true — if at least one of them is true, the block returns true; if neither of them are true, it returns false. This block can be stacked inside itself — this can be used to fit more booleans inside.

The Not () block is an Operators block and a Boolean block. The block checks if the boolean inside it is false — if it is false, the block returns true; if the condition is true, it returns false.

The Join ()() block is an Operators block and a Reporter block. The block concatenates, or "links" the two values together and reports the result — for example, if "hello" and "world" were put in the block, it would report "helloworld". To report "hello world", use either "hello " and "world" or "hello" and " world", with a space.

The () Contains () block is an Operators block and a Boolean block. The block checks if the first parameter's text contains the second parameter's text—if it does, the block reports true; otherwise, it reports false, and this is case-insensitive.

The Letter () of () block is an Operators block and a Reporter block. The block reports the character at the specified position of the given text. Even though the block says "letter", it will report all characters, including letters, numbers, symbols, and even spaces. The block is also useful to write the time or show scores.

The Length of () block is an Operators block and a Reporter block. The block reports how many characters the given string contains. Warning Note: Spaces count as characters in strings.

The () Mod () block ("mod" is short for "modulo") is an Operators block and a Reporter block. The block reports the remainder of the division when the first value is divided by the second. For example, when 10 is put in the first input and 3 in the second, the block will report 1; 10 divided by 3 gives a remainder of 1. Negative numbers behave a little differently, because a remainder must always be positive. -10 mod 3 equals 2, not -1, because you have to multiply 3 by -4 to have any remainder at all.

The Round () block is an Operators block and a Reporter block. The block rounds the given number to the nearest integer. It follows the standard rules of rounding; decimals that are .5 or higher are rounded up, whereas decimals less than .5 are rounded down.

The () of () block is an Operators block and a Reporter block. The block performs a specified math function on a given number and reports the result.The function can be changed by clicking the down arrow and selecting a new function from the drop-down menu.

Look at center, will make Jibo look at the center of the world.

Make Jibo turn right X degrees

Make Jibo turn left X degrees.

Move Jibo's head X degrees up.

Move Jibo's head X degrees down.

Make Jibo turn right X degrees, waits for the motion to complete before executing next block in script.

Make Jibo turn left X degrees, waits for the motion to complete before executing next block in script.

Move Jibo's head X degrees up, waits for the motion to complete before executing next block in script.

Move Jibo's head X degrees down, waits for the motion to complete before executing next block in script.

Start playing the selected sound. This is the non-blocking version, meaning that blocks below this block will keep executing after the sound starts playing.

Play the selected sound. This is the blocking version, meaning that blocks below this block won't be executed until the sound ends.

Stop all sounds, will stop all sounds that Jibo is executing at the time.

Change Jibo's volume by X. Volume ranges from 0 to 100 so change can range from -100 to 100.

Set Jibo's volume to X ranging from 0 to 100.

This variable will return the value of Jibo's current sound level. Notice that volume variable is not a percentage and ranges from 0 to 10.

Jibo says the text to ask and enters into a listening mode.

This variable stores the last answer given during the ask command.

Jibo says out loud the text specified.

This block will make Jibo take a picture and store it in the iOS gallery app. Be a Maker must be allowed to access your photos.

This block allows the user to choose an expression that Jibo will do once executed. Note that during the execution, the expression will replace Jibo's regular eye. An expression is a combination of a movement and some change to Jibos eye on his screen.

This block will show an emoji on Jibo's screen, replacing his eye during the execution of the emoji.

This block will make Jibo perform a dance. Jibo will play some music and dance to it.

Reporter block version of the expression block, can be used inside other blocks. Very useful when used with “join” block and “say” block so a text and an expression can be joined in the same line.

Reporter block version of the emoji block, can be used inside other blocks. Very useful when used with “join” block and “say” block so a text and an emoji can be joined in the same line.

Reporter block version of the dance block, can be used inside other blocks. Very useful when used with “join” block and “say” block so a text and a dance can be joined in the same line.

Learn more about Scratch

Scratch is a very popular programming language for children. There is lots of information around the web. The official Scratch Wiki is a great place to start.

Support contact

If you have any further questions regarding the Be a Maker app, please contact us at:
support.beamaker@cloqq.com