iBox TV Guide

A web application for a TV set top box interface.

This is a web application created for iBox.ie, a live streaming TV service provider in Ireland. They provide HSL streaming for various devices including TV set top boxes.

The hardware itself was a set top box with an ARM CPU, limited ram and an installation of an older version of the Opera web browser. It had an MPEG4 decoder built in that could handle Full HD video at 1080p and 720P.

The TV guide needed to fetch and store content two weeks in advance. The hardware itself had a HDMI and SCART port, so it needed to support multiple TV resolutions, and a solid firmware update flow needed to be added. Here is how this project was built:

  • The back-end infrastructure was created with C# .Net MVC3 and was my first foray into working with a Microsoft tech stack in a long time (since University). This would feed JSON data to the front end - 2 weeks of TV programming data.
  • The back end passed some rudimentaty HTML to the front end, and the TV guide itself was read in from stringified JSON that contained two weeks of TV programming data. This was parsed, and the TV guide itself was rendered, with a column of times and rows of TV channels with their programmes. Data would need to be fetched in the background with an API call that was set at a daily interval.
  • This all needed to be done on a machine with very modest hardware. To ensure smooth performance, programming and channel data was fetched on a paginated basis. Only a certain number of channels with a certain number of programmes between a time frame were showing at any one time. If the user advanced down through the guide, the list of programmes would be fetched and refreshed on the fly.
  • Given the modest hardware and dated nature of the browser, the best option was to use jQuery and CSS2, both of which were backward compatible with our target platforms. They were reasonably lightweight too, and the HTML structure was kept as flat as possible.
  • Some clever UI tricks had to be employed so as to present the data in a structured format for programmes that had a very short five minute duration. These would otherwise have been buried in shows with longer durations.
  • This project was initially deployed to the TV set top box as a tar archive, but with a little tweaking, it was able to work on HSL compliant web browsers (Safari on MacOS), Google TV and tablet devices. It is still online and can be seen at https://ibox.ie/guide/web/epg.