Monday, October 15, 2012Hey all you Scratchers! This is Scimonster, Lightnin, silvershine, Lucario621, Hardmath123, and kayybee, members of the Scratch 2.0 alpha testing team. We're here today to answer some questions you had about new features in Scratch 2.0! Please note that anything in this post is subject to change before the final release.
Cloud DataOne cool new feature of Scratch 2.0 is cloud data.
Cloud variables and lists are similar to ordinary variables (and lists), with the exceptions that:
- The values are stored on the Scratch servers.
- They will keep their values until changed, even if you leave the project.
- They update almost immediately for everyone who is viewing the project and can be updated by everyone viewing it.
- When other Scratchers “look inside” your project, they can edit cloud variables’ data (but only temporarily)
- High scores / high score lists
- Collaborative projects
- Collaborative and multiplayer games
You might be wondering how to create a cloud variable. It's very simple: when you click the “make a variable” button, there will also be a check box that allows you to create a cloud variable.
User IDOne requested feature was a way to know who was viewing the project. This has been implemented, but not in a way most envisioned it. Instead of there being a username reporter that reports the username of the viewer, there is a block that reports the viewer number that you were (i.e. the second person to view the project has ID 2). An anonymous user has an ID of 0. Using IDs instead of usernames addresses some privacy and security concerns about collecting that kind of data.
What can this block be used for if it doesn't give you the name?
- A personal high score
- Preventing users from voting twice in a survey
- Saving your progress in a game or preferences in a project
- And much more!
Time blocksAnother feature that has been highly requested is a way to get the date and time. There are, as of the time this was written, two date/time blocks. The main one is a reporter, . It has a drop down menu with: year, month, date, day of week, hour, minute, second. It returns the current value for your local timezone.
Some uses for this block are:
- A clock in an OS
- An alarm clock project
- A calendar
Some uses for this block are:
- Synchronizing events for all users in a game
- Situations where all users, even those in different time zones, should see the same time, especially when using cloud data
Run a block without screen refreshThe reason people put projects in turbo mode is usually to run just a couple of their scripts faster. The Scratch Team has been working on ways to let the project creator make parts of their code run in “turbo” mode (which just means they run without pausing a lot to update the screen, also known as atomicity). First they tried adding a “warp speed” C shaped block called “Run all at once”, an idea inspired by Snap, a more advanced program inspired by Scratch. But they were concerned it could be confusing to new users.
The current plan is to make “run without screen refresh” an option for custom blocks you create. If you check this option, the scripts in the block will run without pausing to refresh the screen - making them much faster. This gives the programmer more control over which scripts run at what speeds. It's even better than a turbo on/off block!
What do you think of these features? Are there improvements you’d like to see? Share your thoughts on this forum thread.