Stagecast Creator
Encyclopedia
Stagecast Creator is a visual programming language
Visual programming language
In computing, a visual programming language is any programming language that lets users create programs by manipulating program elements graphically rather than by specifying them textually. A VPL allows programming with visual expressions, spatial arrangements of text and graphic symbols, used...

 intended for use in teaching programming to children. It is based on the programming by demonstration
Programming by demonstration
In computer science, programming by demonstration is an End-user development technique for teaching a computer or a robot new behaviors by demonstrating the task totransfer directly instead of programming it through machine commands....

 concept, where rules are created by giving examples of what actions should take place in a given situation. It can be used to construct simulations, animations and games, which run under Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 on any suitable platform.

History

What is today known as Creator originally started as a project by Allen Cypher and David Canfield Smith in Apple's Advanced Technology Group
Advanced Technology Group
The Advanced Technology Group was a corporate research laboratory at Apple Computer from 1986 to 1997. ATG was started by Larry Tesler in October 1986 to study long term research into future technologies that were beyond the time frame or organizational scope of any individual product group. Over...

 (ATG) known as KidSim. As the name implies, it was intended to allow kids to construct their own simulations, reducing the programming task to something that anyone could handle. Programming in Creator uses graphical rewrite rules augmented with non-graphical tests and actions.

In 1994, Kurt Schmucker became the project manager, and under him, the project was renamed Cocoa, and expanded to include a Netscape
Netscape
Netscape Communications is a US computer services company, best known for Netscape Navigator, its web browser. When it was an independent company, its headquarters were in Mountain View, California...

 plug-in. It was also repositioned as "Internet Authoring for Kids", as the Internet was becoming increasingly accessible. The project was officially announced on May 13, 1996. There were three releases:
  • DR1 (Developer Release 1) on October 31, 1996
  • DR2 in June, 1997
  • DR3 in June, 1998


When Steve Jobs
Steve Jobs
Steven Paul Jobs was an American businessman and inventor widely recognized as a charismatic pioneer of the personal computer revolution. He was co-founder, chairman, and chief executive officer of Apple Inc...

 returned to Apple in 1997, he began dismantling a number of non-productive departments. One of these was the ATG. Larry Tesler
Larry Tesler
Larry Tesler is a computer scientist working in the field of human-computer interaction. Tesler has worked at Xerox PARC, Apple Computer, Amazon.com, and Yahoo!...

, Cypher, and Smith, left to form Stagecast Software after retaining the rights to the Cocoa system.

Apple went on to reuse the Cocoa name for the entirely unrelated Cocoa application framework
Cocoa (API)
Cocoa is Apple's native object-oriented application programming interface for the Mac OS X operating system and—along with the Cocoa Touch extension for gesture recognition and animation—for applications for the iOS operating system, used on Apple devices such as the iPhone, the iPod Touch, and...

, originally OpenStep
OpenStep
OpenStep was an object-oriented application programming interface specification for an object-oriented operating system that used a non-NeXTSTEP operating system as its core, principally developed by NeXT with Sun Microsystems. OPENSTEP was a specific implementation of the OpenStep API developed...

. Apparently due to time constraints—it was easier to reuse an already-registered name than to register a new term.

Description

Creator is based on the idea of independent characters that have a graphical appearance and non-graphical properties. Each character has a list of rules that determine how it behaves. The rules are created by demonstrating what the character does in a specific situation. Each rule is a before / after rule, stating that when the before conditions of the rule are met, the after actions of the rule are performed.

For a simple example, let's consider a simulation showing a character walking across a field, jumping over any rocks it encounters. Such a simulation would start with the construction of the playfield, in this case a line of icons representing the grass and a few rocks. A character is then placed on the playfield and double-clicked to open a rule editor. The rule editor will start by displaying the current conditions, that is, the character is standing on the grass. Below is an area to place the various "after" conditions, in this case the user drags open the default grid to two spaces, drags the character into the new grid cell, say to the right, and closes the rule editor.

If the simulation is started at this point, the character will start walking across the playfield to the right until it reaches the first rock. Since there is no rule showing what should happen when a rock is to the character's right, the character simply stops. At this point the rule editor is opened again, but now it shows the new condition that applies, the character is to the left of a rock. The actions in this case would be two steps, the first showing the character moving up and to the right, the next down and to the right. When the simulation is re-run, the character will walk to the right, and then "jump" over the rocks. In this case the character will now stop moving when it reaches the side of the screen, and a new rule could be added at that point to "wrap around" to the left side again.

Additional rules can be added "on the fly" to flesh out the simulation. In this example additional rules would likely be added to allow the conditions to apply no matter which direction the character is walking, duplicating the existing set of two rules for movement to the left, and up and down. To make the simulation interactive, the "automatic movement" rules can be removed, and replaced by ones that move only when the cursor keys are held down, and jump only if the user presses space. Now the simulation becomes a simple game.

Many new features were added to the system during its evolution from KidSim/Cocoa to Creator. These include the introduction of 'jars' as a means of object classification, a new z-variable that allows Creator to simulate a 3-D space (as a stack of 2-D sheets), the ability to control more than one character at a time, and the option to redraw the screen only after all moves in a turn have been made.

In order to ensure Creator's cross-platform compatibility, the entire system was ported to the Java programming language
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

. As Cocoa, the system was a Mac-only product and included an 'Autoplayer' functionality that allowed a Cocoa simulation to be run as a stand-alone program on any Mac. With the port to Java, Creator simulations can be posted on a Web page and run as an applet.

See also

  • ToonTalk
    ToonTalk computer programming language
    ToonTalk is a computer programming system intended to be programmed by children. The "Toon" part stands for cartoon. The system's presentation is in the form of animated characters, including robots that can be trained by example....

  • AgentSheets
    AgentSheets
    AgentSheets is an educational Cyberlearning tool to create Web-based simulation games. AgentSheets is used worldwide to teach students programming and related information technology skills through game design...

  • LiveWorld
  • Scratch
  • Alice
    Alice (software)
    Alice is a freeware object-oriented educational programming language with an integrated development environment . Later versions are implemented in Java. Alice uses a drag and drop environment to create computer animations using 3D models...

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK