...
- Storytelling Metaphor
- Story- the complete state of a world, including how the coding tool itself is configured and all the scenes, characters, and behaviours within it (composing it?)
- Scenes - the worlds or canvases on which activity happens (this may be on screen or, possibly physical in the form of printed maps etc.)
- Characters - avatars on screen, or robots in the physical world (but perhaps more generally a way to conceptualize agency within the system)
- Behaviours (like a character sketch or the dialog in a play)
- Sequences
- Patterns (i.e. functions)
- (Conditions?)
- (Goals?) - a way of defining non-imperative or non-sequential behaviour
- Stories should always be a little bit incomplete—something left to your imagination, always a next chapter
- It should be possible for someone to create a "partial story," which someone else can then extend (i.e. add new scenes, characters, behaviours) or modify it (change existing scenes, characters, behaviour) - nothing in the system should be "magic"
Big Picture Roadmap
...
- evolve incrementally from where we're currently at to where we want to go
...
Version 1
- Really good sequence creation
- By selecting tiles with the mouse or keyboard
- Scanning and switch
- Eye gaze
- On-screen Character representation that
- each release, if possible, should include documentation and a video tutorial of how to use it, along with one or more inclusive activities to try with it
Version 0.5
Two features only
Sequence editing
Control of robots
Sequence editing
Sequence editing works, at minimum, with:
Mouse/trackpad
Touch
Keyboard only
If possible, sequence editing also works with eye gaze
Single sequence, no repetition or functions or custom tiles
Bonus feature: ability to record a sequence with your voice and play/pause it
Only title-based sequences (no visible textual representation—yet)
Control of robots
Environment automatically searches for supported robots, suggests connecting to them
If no robots are found, searches every x seconds/minutes
"Find Robot" button and dialog allows user to initiate connection process and to choose one or more robots
Robot and environment provide clear indication that they’ve been paired
Version 0.75
Finger painting sequence editor
- Live evaluation of a sequence (a mode)
Version 1.0
Stage View - prominent part of the screen that has a character (avatar for the robot or standalone) and a world the character is exploring
- On-screen Character representation doesn't feel like a turtle
- Playful and engaging
- Scenery in which the character can explore
- Robot is a "mime" of the on-screen character- playful and engaging
Ability to use the environment without a robot connected
Version 1.5
World builder
Ability to choose a character representation (choose from a palette or import your own images or finger paint your own?)
Ability to place scenery and move/remove it
Scenery can be images, text, videos
- Ability to save and share a world
- By this point, a teacher or facilitator should be able to set up a simple story using the tool (e.g. to establish goal points, etc.)
Version 2.0
Live world
Ability to add/edit sequences to any character/object on the stage
Conditions in the programming language - branching sequences
Ability to add conditional behaviour to characters - play sounds, perform movements, etc.
By this point, it should be possible for a teacher AND a student to tell their own little story with the environment
Version 2.25
- Ability to create audio descriptions (recorded speech or text to speech) for:
- Actions in a sequence
- Proximity or other conditions
- Built atop the features in 2.0, but made simpler so that worlds can be multirepresentational "out of the box"
Version 2.5
Scenery printing - ability to print out scenery for use with a robot
Version 3.0
- Goal-directed coding (i.e. work backwards from a goal by introducing conditions or constraints, as opposed to explicit step-by-step sequences)