The goal of the NodeScore framework is to allow performers who are connected to a network via a computer/tablet/mobile device to syncronise to a master clock and recieve instructions, in realtime,from a central "conductor/director" as well as being able to communicate with one another.
As performers may be geographically dispersed the technical setup needs to be trivial, this is why NodeScore uses the Internet browser as it is a cross-platform, standards compliant environment that will run on anycomputer without complex setup and installation process. All that the performers involved in a NodeScore performance need to do is open a browser such as Google's Chrome and point it to the address of the NodeScore server, login and await instructions that shall be displayed in the browsers window.
The nature of these instuctions is the left to the composer, the only prerequisite when composing for the NodeScore framework is that the instructions are formatted in HTML5. This allows for the incorporation of a wide range of rich media content such as images, video, sound and animated SVG as well as simple plain text instructions. Any medium that can be displayed in an internet web browser maybe used in a NodeScore composition. Other features include a shared, embedded network stopwatch and a live-chat window to facilitate syncronisation and communication between partisipants in the performance.
In a NodeScore performance the conductor/director also becomes active in the compositional process as he she decides who plays what material when. In this way NodeScore can be seen as an evolution of methods used by composers from Lutoslawski (Jeux vénitiens to Zorn ("Cobra") amongst others, where musicians are given cues chosen by the director indicating certian prearranged stratagies. NodeScore however alows much more complex media to be incorporated in the instructions as well as facilitating networked telematic performances in this style.
This has been possible in the past through a technique called "longpolling", though this was quite inefficient compatered to websockets which allow a persistant live connection between server and client. Through this connection the server can push content to the client in realtime for instant displayed in their browser.