The Better Halves:
Under The Hood
Blog post

The Campaign

“The Better Halves” campaign is one of the most interesting projects we have been working on for the last couple of years. In a few words, we had to build a platform, relying on both software and hardware, that would let us manage participation at an event, track participants’ performance in real time, calculate their score in real time and draw the winners based on their score right after the performance of the participants.

The Challenge

Yes, it was quite a challenge. From the beginning we had to foresee all possible problems that could occur and find a proper solution.

Performance Evaluation

The main challenge were the “results”. We had to come up with a transparent way to track the performance of the participants and draw the winners. Software was the natural solution – it would track the way people sing and align that with the rhythm of the original UEFA Champions League Anthem. In this way we could evaluate every participant’s performance and share it with everyone in real time. We would have a set of displays on field, which would serve this information.

Results in real time

We do believe that contests should be run transparently. This is why we decided that the performance of the participants and their scores had to be displayed in real time. So all participants could see their progress during and right after their performance.

Hardware

A software-only solution wouldn’t do the trick – the idea was too complex. We definitely needed a special hardware solution.

Unknown Number of Participants

As we defined earlier, we had 50,000 half tickets spread across the country. At the same time, we had a limited number of microphones at the stage – 72. This meant that depending on the number of participants we would need to arrange them in groups and still be able to easily associate every single participant with their score. As a result we had to plan the platform in such a way, that it could handle equally well both 5 and 505 participants. We had to automate the process, but still have the option to manually configure it.

Unhappy Participants

Unhappy participants are an important factor for every event. We wanted to make sure that everything would run smoothly, so we decided that we would have “tests” before the official contest. In this way all participants would be able to see how they are performing before the official part.

The Platform


After all thinking was done, we had a clear idea of how we would approach the development stage.


We had a few segments:

  • public global server;
  • public microsite;
  • administration panel for the event;
  • processing and display of results;
    • hardware;
    • flash applications;
    • data and results.

The Public Global Server

We created a solid core – a global PHP/MySQL server for all applications. In this way we achieved:

Flexibility

Flexibility

We didn’t need to exchange data between different devices

Security

Security

Limited access

Security

Physical Stability



The Public Microsite

Match Your Half Ticket - Microsite

A standard PHP/MySQL application, the microsite was the first point of contact for most of the people who heard about the contest. It was easy to browse on desktop and mobile devices, and cool to share on social networks. Its most important feature was the section where people could register for the contest.



The Administration Panel For The Event

Registration

We had to be able to manage all registrations and the participation of the registered users at the event.We updated the information about every participant who showed up for the event. We then provided them with a registration number. We were to use this registration number to easily identify the participants. The administration panel let us divide participants into groups due to the limited number of microphones on the stage.



Processing And Display of Results

Having in mind our previous experience with real-time display of dynamic data, we decided to rely on the Flash technology.
We built an administration panel in order to manage the whole process. Its role was to receive the information from the hardware elements.



The Hardware

Circuit Boards

The fine electronic circuit boards, covered with a few hundred components, were a critical and complex part of the project. They were tailor-made by our friends at Robotev.com and every microphone on the stage was connected to one of them. Their task was to measure the accuracy of every contestant by aligning their singing to the rhythm of the original UEFA Champions League Anthem.

All circuit boards were connected to an Arduino Mega, which had the task to manage them and receive the information about participants’ performance in real time. It had a small button – by pressing it we started the music and the process of tracking participants’ performance.



The Flash Applications

We had two – an administrator-facing one and a user-facing one.

Backstage Results

This is our admin setup in the backstage. The bigger screen is the user-facing Flash application. The administrator-facing Flash application is on the laptop screen.

The administrator-facing application let the administrator manage the sessions on the stage and communicated with the Arduino Mega, thus receiving the information we needed from every microphone. All results were then sent to the server and recorded there.

The connection between the administrator-facing Flash application and the user-facing Flash application was done through LocalConnection. The module was awaiting specific commands in order to display the different types of information in real time.

Results

The user-facing application had the hard task to display the results in real time in an easy to understand manner on four information screens around the stage (through a splitter).

The administrator-facing Flash application and the Arduino Mega were connected through a Serial Port, converted to a Socket Server and a Socket Connection. We had to be able to manage and monitor this connection.



Data And Results

Participants’ scores were critically important. We had to make sure they were properly stored and there was no chance of losing data. This is why all results were instantly sent to the Global server.

We had a few consoles that we used to track every bit of information transmitted to and from all hardware elements.

Once the contest was over and all scores were calculated, we updated matchyourticket.com with the final results.

To sum it up, “The Better Halves” was a fantastic challenge! We needed a few hours to set up the equipment and test in on the field. All hours we spent in discussing the tiniest details were totally worth it – everything went smoothly and as expected. And the best part – every single participant in the contest left the stage with a smile on their face!

They loved the experience. And we loved it, too.

Cheers!



Match Your Half Ticket