# Crowdsourced Evaluation of Robot Programming Environments: Methodology and Application
## 5 Application of the Framework
### Task Specification: Evaluation of Web-Based Robotic Programming Interfaces
#### 5.2.2 Use Case Definition
* The first point should be set to x = 100, y = 200, z = 300. * Subsequently, drag the \"move to\" actor to a location between the \"Start\" and \"Stop\" actors in the workflow (i.e., robot task or program) to create/memorize the first waypoint. * You can freely choose the second waypoint, but it has to be different from the first one. * Then, add another \"move to\" actor to the workflow to create/memorize the second waypoint in the program. * Repeat the motion a few times by clicking the play button. * Note the correct order of successfully creating instructions. * Do not refresh or close the browser tab, as you will need the current state for the next use case. Figure 7: mTurk summary tab text. Use Case 2: Robot Motion in a Loop
* As you could see in the previous use case, you could repeat the movement manually by repeatedly clicking on the start button. * Now, you want to automatize this by creating a simple programming loop. For this, you will use the repetition block called \"repeat count\". * Note that, when added to a workflow, the \"repeat\" block has two parts--a head part (a yellow box with the text \"repeat count\" on it) and a tail part (empty yellow box). * Put both of the previously created \"move to\" actors between the head and the tail of the \"repeat\" actor simply by dragging and dropping them at the corresponding place. This actor uses a variable named \"count\". Open the variables panel (i.e., \"xVariables\") and set count = 3. * Make sure to store this value in the program by adding the \"Set variables\" (i.e., \"x\") actor to the workflow before dropping the \"repeat\" block. * Now, click on the play button. Both movements should now be repeated three times. Use Case 3: Creating a Placeholder Task
* You are now familiar with the basic robotic arm operations. * Refresh the browser window to start with a clean task. Please don't skip this step. * Then, simply rename the task from \"Untitled\" to \"mturk\" (double click) and save it by dragging the disc icon to the browser's bookmarks bar to save it. * You will need it in the final task. * _No screenshot of this screen is necessary._  
Use Case 4: Creating a Personalized Task
* Refresh the browser window to start with a clean task. Please don't skip this step. * You will now teach a robot to pick up the small blue cube. Set it to the following position: x = 300, y = 300, z = 89 and add the \"move to\" actor, same as in the 1 st use case. * Now, add the \"close\" actor to the workflow to close the gripper and grab the cube. Then, drive the robot to x = 300, y = 300, z = 300, and add another \"move to\" actor. * Finally, rename the task from \"Untitled\" to _pick_ and save it by dragging the disc icon to the browser's bookmarks bar. * Run the task to _pick_ the blue cube up. * You have now created your first example of a personalized task. Use Case 5: Building Upon Personalized Task
* Refresh the browser window to start with a clean task. * Now, drive the robot to a \"pre-place\" location at about z = 200 above the table, then down to the table level (z = 89), and use the \"open\" actor to the workflow to release the gripper. * Then, use the \"relative motion\" actor (->dP < dR) to drive the robot back up to z = 200 (the relative motion actor uses dP, dR parameters). * So, select the parameters tab and set z = 111 so as for the robot to go to z = 200. * After setting this parameter, drag and drop the \"set parameters\" actor into the workflow before the \"relative motion\" (->dP < Dr) actor. * Rename the task to _place_ and save it to the bookmarks, just as you did with the previous tasks. Use Case 6: Building a Compound Task
* Refresh the browser window to start with a clean task. * Now, load all of the previously saved tasks from the browser's bookmarks, in the following order: _pick_, _place_ and \"mturk\". You will notice that they now appear in the \"Actor and Task Library\" and that you are currently in the \"mturk\" task. This allows you to load a fresh task without losing the _pick_ and _place_ tasks from the library.