Elections Prototype

It is based on the ExtraMedia scenario. A broadcaster delivering a live TV show during the elections night and providing related content such as other streaming cameras from the headquarters of the political parties, vote counting real-time information, statistics, graphics, social networks services, etc. The end users will consume it with multiple devices at the same time. Vicomtech-IK4 has leaded this prototype in a close collaboration with EiTB, the public Basque broadcaster, part of the EIKEN cluster (member of the Advisory Board).


This demonstrator is based on the basque country elections. All the information was recorded on the last elections in order to replay it anytime. This prototype offers 5 different synchronized cameras, one for the TV show broadcasted by EiTB (the public Basque broadcaster) and the other located on different political-parties headquarters. It also offers a radio broadcaster signal synchronized with all content. Furthermore, it includes a twitter viewer with related tweets taking into account predefined hashtags and parties and politician accounts. Twitter content analysis has also been added showing the most commented parties on a map. Moreover, the prototype includes some graphics and tables to follow the counting in each moment.

All this content is completely synchronized and available in each associated device in each moment. Due to the different characteristics of the target devices, the application internally decides which elements to show in each device and how to arrange those elements. Once the default setup is established, the user has the option to add or remove the content from each device and also to change the arrangement template from every device, locally as well as remotely.

The elections prototype has been conceived using most of the technologies developed in MediaScape project. The party creation joining different devices to the elections app is supported by the Discovery API and the Association API. Once the communication is established a data channel is deployed through the Mapping Service and the Shared State. These are also employed to store and propagate the experience customization parameters. Concerning the dynamic components, the Motion provides multiple live media synchronization. Last but not least, the dynamic experience is built on top of the Agent and the Application Context while the responsive behaviour comes through the Adaptation Engine and the UI Engine.

Obtain the code

Deploy the Prototype

The Elections prototype is based on Node and mongodb, so it is necessary to install them:

  • Install nodejs:

    curl -sL https://deb.nodesource.com/setup_5.x | sudo -E bash -

    sudo apt-get install -y nodejs

  • Install mongodb:

    sudo apt-get install -y mongodb

After installing nodejs and mongodb, the following steps are needed:

  • Download source:

    git clone https://github.com/mediascape/elections.git

  • Install dependecies:

    cd election

    sudo npm install

  • Create log folder:

    mkdir log

  • Initialize server:

    sudo nodejs index.js --max-old-space-size=8192

  • To access to application just open chrome/firefox with the following URL:


    *** Note, it uses port 80, so may need to stop other webserver may be listening on that port.