On Wednesday, I sat down, redesigned, then implemented my TV recording system’s channel guide. As you may or may not be aware, over the last two years, I’ve hacked my own automated TV recording system together using a Hauppauge Nova-TD dual tuner USB stick, and some perl and php scripts. It works pretty well, and has no arbitrary content restrictions.
The main interface looks like this:
From a user’s point of view, you simply add the name of a programme into a text box at the top, and hit update. The system will then automatically schedule recordings for any matches (the list at the bottom).
Technically, it works as follows:
- A cron job (scheduled task) runs every midnight, and downloads the XMLTV programmed schedules from the radio times for the next seven days.
- A perl script scans this for any matches and determines a list of programmes which match the filters.
- Another perl script generates a programme guide. It is this I have redesigned.
Stage 3 above also does some filtering – e.g. any programme with “eastenders” in the title is instantly dropped from appearing in the guide.
My original programme guide looked like this:
This works, but it is a massive pain to use: you have to scroll around all the time, and scroll through many programmes you’ve already seen. It is quite time consuming to use.
However, during the redesign process, I realised that I actually don’t care what channel a programme is transmitted on, or the time it is transmitted at. These are merely artefacts from the underlying broadcast transmission system, which I no longer have to worry about.
So, I set about redesigning. My first try was this:
Now this is better – I get a list of programmes divided up by category. I also have links to add it to be RECORDed, or to [X] – kill the programme from appearing in the tv guide. Programmes are ordered by category and title – multiple programmes with the same title will be collapsed into one entry.
However, it is still rather a pain to use – you still see lots of things you’ve already been informed about.
So, attempt three: generate an RSS feed containing the list of programmes.
Here it is viewed in my RSS reader, ttrss:
Ttrss shows me just the programmes which have newly arrived in the feed, and I can still click embedded links to record and kill. TTRSS naturally gives me lots of extra functionality, such as searching, and ordering.
So far, I’ve only used it this morning (when the latest updates appeared). I found it ideal: no hassle at all, and consumed less than 30 seconds of time to check the new programmes.