Frequency Clock

Free Media Timetabling System

To contact the developers email Adam at
To subscribe to the list for providing feedback about the Frequency Clock Development subscribe here


Many thanks to Gio for some initial tests.
To test the server click

There is >b>now a server at Montevideo to be used for testing. Please use the above link. For the testers at Montevideo, please read this:

What and how to test
The functionality and userability of the system needs to be tested. To do this please just go through the site from start to finish and report both functional bugs (errors) and userability errors (things that don't make sense) and report them through the bug tracker.

For the purpose of the testing its best we dont tell you anything at first about how to use the Frequency Clock. However you might want to imagine that you have an archive of streaming media files of different types and you want to make a continuous program out of these files. Note: the player side of this application is not yet ready for testing, so its just the backend that you need to test.

Anonymous CVS Access
This project's SourceForge CVS repository can be checked out through anonymous (pserver) CVS with the following instruction set. The module you wish to check out must be specified as the modulename. The working module at present for the backend (HTML player and .exe player development has not yet started) is openfcphp (code/openfcphp). When prompted for a password for anonymous, simply press the Enter key.

cvs login
cvs -z3 co code/openfcphp

Updates from within the module's directory do not need the -d parameter.

Brief History

The Frequency Clock was conceived by r a d i o q u a l i a in 1998 as a mechanism to control FM transmitters over the internet. In essence it was a networked timetabling system, connecting globally dispersed FM transmitters so they could broadcast the same internet audio simultaneously. This system was originally attempted on Linux in Java. Later that year this development was abandoned, and development didn’t start again until 1999 when r a d i o q u a l i a was fortunate to meet Nic Limper during the HelpB92 campaign in Amsterdam.


Nic developed the system as it exists today using VisualBasic and .asp. Although the solution was riddled by propriety technologies, the advantage was that it worked. Together with Nic Limper r a d i o q u a l i a also developed a few other ideas including the qualiaplayer which has since been extended and implemented at This version of the qualiaplayer is intended to be adapted and used for browsing archive sin the new Frequency Clock.


Using the Frequency Clock r a d i o q u a l i a set-up a number of projects including a remote controlled transmitter at De Waag, and on a number of occasions utilised the video capabilities for presenting web content on cable television, satellite TV, giant projections, and video billboards.


In 2001 after long frustration with the slow development of the Frequency Clock, r a d i o q u a l i a decided to push ahead and Adam learnt PHP and converted 90% of the .asp pages to .php4. This process was intended to open the Frequency Clock to other developers, however, despite various verbal commitments no other developers joined.


In 2002 Montevideo offered support to push ahead with the tool as part of their Artist-in-residence project.



The Future

The Frequency Clock has until now been a tool that has mainly been used by r a d i o q u a l i a. However there is a lot of interest from other parties including De Waag, Kunstradio, dek.spc, Montevideo, Virtual Platform, Walker Art Centre (USA), ambientTV, Tate Modern (UK) and the London Architects Association.


The potential for this mechanism is well understood by these organisations but unfortunately the system itself is behind its own expectations.


The Montevideo residency is an opportunity to push the mechanism forward into a new conceptual territory.


The Frequency Clock is now envisioned as a completely open system for creating user defined ‘channels’. This mechanism should be entirely web-based, and should include a well conceived HTML player to ensure the mechanism can be used on all platforms.




The working .asp site is located :


The SourceForge open development is located :



Output Description

The output will consist of:

Player Software :
A streaming player that can be utilised by internet users for managing all their streaming media consumption. This includes the integration of all major propriety and free streaming codecs including Quicktime, Real, Microsoft, and MPEG codecs as well as Ogg Vorbis and Divx. The player will have standard but unified media player functionality such as play, stop, pause, bookmarks, open location, open file, zoom in, zoom out, etc. In addition the player will have the built-in Frequency Clock functionality allowing users to select public timetables or 'channels' from the player interface. Lastly the player will integrate with the backend for communicating meta data about the content playing or scheduled to be played. Further backend-player communication is also anticipated (for more information about the player functionality please see the technical functional description).

Player HTML:
A web-based player replicating the Frequency Clock functionality of the software player will be developed for those users with Mac or Linux systems. This enables the complete cross platform integration of Frequency Clock player functionality. It is suggested that the radical step of replacing the existing Central Station website with this sophisticated tool be seriously considered by the NIM. The result would be a small 'player shaped' web-page that acted like a tradional media player (eg. Realplayer) with embedded Frequency Clock timetable navigation.

Backend :
The Frequency Clock backend will be extended from the existing PHP4 files to include functionality to improve the efficiency and ease of use of the existing system. This includes the development of recurring timetabling for programmes that need to be scheduled in repetitive time allocations, multiple programme timetabling (play listing), user defined defaults for when content is not available, basic statistical reports of timetables viewed, and a super user system for high level administration.

Web :
In addition help-files will be constructed to assist new users with utilising the system, and a web based (templated) 'magazine' will be generated as a content guide for timetables.

Free Encoding System :
The existing code for the Frequency Clock timetabling system can be also used as a booking system for streaming servers. This will allow users to book 'slots' on a streaming server, the length and bandwidth of which is chosen by the administrator. The booking mechanism will be constituted of 2 parts - the online booking system (interfaced with the Open Source Streaming Alliance Quicktime server), and a downloadable software encoder. The encoder will have all server and configuration details hard coded into it hence the user need only activate 'encode' at the allocated time (booked by the web interface) and stream.

Structure of Frequency Clock

The Frequency Clock will comprise of the following pages:

  1. Start page

All webpages are ‘back-end’ administration pages. The ‘front-end’ should be conceived as the player. Access to the backend occurs through the player, or directly by the URL. The start page of the ‘back-end’ is the mechanism through which new users create accounts or existing users log-in. There are 2 parts to this page :


Login :

2 login fields - username, password. ‘Return’ in the password field starts the log-in check. A failure to create a unique username will return the user to this page with a ‘username already exists’ error. The successful creation of a new account directly logs the user in and displays the Users Administration Page (Step 2 below).



Create New Account :

This new-user account creation will be the focus of the start page, and will include the fields that need to be filled-in and a clear description of how to create an account. The fields include :

            Your Username

            Full Name (optional)


            Confirm Password

            Email (optional)


When a user has logged in, they are directed to the Users Administration Page. If the user fails to login they are delivered to this page with a ‘incorrect username or password’ message and the fields cleared.


  1. Users Administration Page

Once a user has logged in, or they have just created a new account they are directed to their administration page. From this page a user can manage their account. The page is a frame, with a persistent navigation frame on the left and a frame (or frames) on the right for targeting information. The left frame will display the users username at the top and display the following options:


Create New Channel

Add Program

View Channel Statistics

Edit Channel Info (drop down menu)

Goto Timetable (drop down menu)

Edit Program


  1. Create New Channel

This is where a user creates a new channel. Users may have unlimited channels. Fields required are:


            Channel Name

            Channel Description


  1. Add Program

This page is used for adding programs to the users program list. The fields for the program information include:

            Program Name

            Text field. This is the name of the program in plain text.



            Text field. The location of the file.



            Text Area for describing the content.



            Three drop down menus. Hours : Minutes : Seconds:



Checkbox. Should be checked if the program is a livecast.



Drop down list : Real/WindowsMedia/Quicktime/MP3/Other



Drop down list : comes with default fields but can be user defined.


Drop down : audio only / video


            URL of Image

This is for audio only files. The image is displayed when the file is displayed.


Share this program

Checkbox. Used if the user wants the program to be shared with all other users of the Frequency Clock (so other users can schedule it on their timetables).


Date and Time of Program

Drop down menus : Hour / Minute Day / Month / Year

            Only for live programs.


            Add this to my timetable now.

Check Box. For live programs only (automatically adds program to timetable).



  1. Timetable

The timetable page shows the graphic timetable representation of a users channel. The timetable can be zoomed in / out.  This is page is frame-based and also lists the programs available to the user as a list. The list can be sorted by genre and searched by author, program name, or title. The list can also be switched to include shared programs available to the user.


Using this page the user builds the channels timetable.


  1. Edit Program

A frameset. Allows a user to edit a programs details. The left frame is the list of all the programs a user can edit. The right frame is the details of each program, these details appear as each program in the list is ‘clicked’.


  1. Statistics

Shows statistics for a users channels. Stats include:

            Cumulative totals for each individual program watched

Cumulative totals for each time the player was opened

Cumulative totals for each time the chat was opened


  1. Player Layout

Allows the user to define the look and feel of their channel player.



Week 1 : Finish asp-php transfer

  1. translate timetable.php, and program.php into functions

Both of these pages exist as .php pages but the html and .php are intertwined. The php needs to be extracted from these pages and implemented in the form of functions.


  1. programs aren't being placed properly on the timetable. When a program is scheduled before an existing program the later program jumps.


  1. programs overlapping into a new day aren't scheduling properly. Any programs that have been scheduled so they continue past 23:59:59 don’t continue their lay-out into the next day.


  1. check session variables are set-up properly. Although the session variables are working I think it needs to be checked that they are implemented properly.


  1. implement as-is on Montevideo server and populate with test content.



Week 2 : Multiple Scheduling

Scheduling of programs is a laborious process if done on a continuous basis. Users should be able to shorten this process by the following three methods:

  1. recurring programs

If the same program is to be played at regular intervals, then the user should be able to schedule this as a recurring program. Hence if I need to schedule a program for 6 weeks, on every Tuesday at 1800, I should be able to check several boxes to choose this recurrence, rather than have to schedule each program individually.


  1. random fills

A user should be able to choose any length of time to be automatically filled with random content from a user-set or default list. This material should exactly fit the time required and be layed out on the timetable as normal programs.


  1. block timetabling

Users should be able to create content 'blocks'. These are programs that contain many programs within them but can be layed out as a single block.



Week 3 : HTML Player

Because JavaScript cannot communicate with plugins on Internet explorer, only with active X controls, the development of the player has had to be completely reconceived. The original model intended to produce a player that was very similar to a typical media player. However this would exclude the possibility for the player to work on Internet Explorer on Mac.


The proposed new concept is to model the player more closely to interactive TV concepts. Minimising the impact of the inability to utilise JavaScript-plugin interactivity in IE. on Macintosh by placing the functional focus of the html player on providing the streams (as scheduled by the FC), and the information about the streams (as provided by the FC database).


There will be one player per channel and the player will be fully customisable from the users administration pages. These parameters will include background colour, size, size of content, placement of a gif.