JAWAA Editor Project Proposal


What is the JAWAA Editor Now?


The JAWAA Editor was created in order to help introductory computer programming students to build their own animations. This program needs to be as user friendly as possible. To achieve this, it would be ideal for the JAWAA Editor to provide similar functionality to familiar graphic programs. However, it would not be good to add too many new features that would only confuse the user.


As it is now, the JAWAA Editor does have many useful features. The user can create circles, lines, text, rectangles, and polygons. He or she may change attributes of these objects, such as position, width, height, and color. The resulting animation may be saved as an anim file written in JAWAA.


What Should Be Added to the JAWAA Editor?


There are some features that be a great addition to the JAWAA Editor. Some of these options are general operations that most programs provide. Others are more specific to graphics programs. Also, there are features that the JAWAA language supports, but the JAWAA Editor does not provide.


Undo

The ability to undo even once or three times would be helpful and reduce students' frustrations with using this program. For instance if a student accidentally deletes a complex object, it would be painstaking to try to recover what was lost. Undo would greatly relieve such a situation.


Layers

Most graphic programs allow the user to place objects in different “layers,” which determine which objects remain on the “top” in front of the other images, and which are on the “bottom.” When animating objects passing by each other, it would be nice for the user to determine which object is on top of the other. This feature is not yet added to the JAWAA language, but if it is added, then it would be nice for the JAWAA Editor to support layers also.


Grouping

Grouping is also a typical function in graphic programs. This allows multiple objects to be treated as a single object. Then if any object in the group is selected, the entire group is selected, and any changes to the attributes of one object will change the entire group.


Scaling

Right now, objects can have their width and height changed, but they cannot be smoothly scaled. A scaling tool would smoothly change the size of an object without changing the proportions. This would be especially helpful with polygons, which as of yet have to be changed point by point.


Ovals

All of the primitives that the JAWAA language supports can be created in the JAWAA Editor – except ovals. To expand functionality, it only makes sense to allow the user to build every primitive that is part of the JAWAA language.


Data Structures

What really makes JAWAA unique is the ability to build and animate data structures. The problem is, the JAWAA Editor only has abilities for building nodes and lists. It would be good if users could create arrays, stacks, and queues.