Upstage is a "web-based venue for online performance" that was originally developed via join funding from the 'New Zealand Ministry of Research, Science and Technology' and 'Creative New Zealand'. Basically Upstage is a tool to do (live) theatre performance on the Internet. Administrators select and control the movement of characters on screen (the stage) in real time. Text to speech software converts what is typed (what characters say) to audio. Administrators can also select the backdrop and move props around the stage. Live performances are scheduled to happen at certain times and anyone on the Internet who chooses to do so can watch a show.

During my final year at university (2006) I lead a team of four students that was tasked with making changes to Upstage. Upstage is an open source project that runs under Debian linux server side and was developed using ActionScript and Python. None of the students on the team had any in-depth linux experience. None of the team had any prior experience with either ActionScript or Python. Further to this there was no documentation as to what an Upstage server configuration actually was. The first task was was to get a local server / development environment running and document the setup. This provided very challenging as the team had understandably limited support from the original (contractual) developer and there were some obscure package dependencies (wheels within wheels).

The original version of UpStage was written using an open source ActionScript1 compiler (Ming library ActionScript compiler). At the time the ActionScript compiler was a little buggy. In addition to this ActionScript1 is completely typeless and is really a procedural language (no true support for classes). This was a shock to students breed on strongly typed languages / object oriented principals and in our eyes the project was reaching critical mass in terms of size and complexity. In the end due to lack of progress, the team reworked the entire client side using ActionScript2 classes (MTASC compiler) and went on to add all the features that the client wanted. This paved the way for a future relationship with the university (at least two student teams have worked on Upstage since).

My team was the first student team to work on this project and paved the way for contributions by further student teams that continues to this day.


NOTE: The below link is an old build of Upstage (GPL licensed) and merely shows the work done since the previous Upstage-2004-09-28 release. Head over to source forge to get the latest release of Upstage (I take no responsibility for changes made by students since).


Techologies: Debian linux, ActionScript1, ActionScript2, Python, JavaScript


File Attachments: