Professional Front End Engineer. Unprofessional tinkerer.

Cinebox v1 and V2

22 Jun 2005

An absolutely mind-boggling amount of code went into these devices. I’m not convinced I’d undertake anything similar again, yet I suppose I did twice.

Motivation

You get in your car after work and think “ooh, we should go to the cinema! I wonder what’s on?“.

What dis do?

Instantly-ish, shows you the current films showing at your local Cinema - sorted by rating, with movie poster, genres, plot description, film time, etc

Why two versions?

I built the first one in 2015 and there were issues - namely that the WIFI login it used was fixed which was a little annoying but mostly the rendering was incredibly slow. They’re both of similar 3.6”ish TFT technology but one was SPI and the other parallel <- which was so much faster, like.. basically instant rendering compared to seconds at a time.

Oh, also I knew I could make it smaller which niggled at me.

Features

  • Fetch list of suitable films showing at your local cinema this evening
  • Adding iMDB info, ratings, poster, etc
  • API backend to store said films, and update appropriately
  • Hugely optimised data transmission to device (as it’s weak and finicky with parsing)
  • Wireless charging
  • Navigable menu system
  • WIFI login change system: If it can’t connect, it’ll run its own Access Point web server - to which you can connect and update the login details (see below) which are then stored in EEPROM for next boot

screenshot 837

Failings (and why no screenshot photos exist)

Despite my best future-proofing efforts however, even though they still physically work, they’re no longer usable because:

  • The (knockoff) iMDB API changed so significantly, more than once a year, as to break functionality
  • The Cineworld API changed similarly, and even removed features
  • Cineworld shut down entirely during ye pandemic and the API hasn’t returned (along with my interest in physically attending the cinema to be honest)
  • My API backend was on a previous domain, and SQL based, so it was never migrated (I’d given up by that point anyway though)

Conclusions

Man, I was proud of these devices (especially because they were actually useful!) but learnt the same age-old lesson:

“If you rely on third-party data, your doodad will eventually break”

— Ada Lovelace

© MichaelCook.tech 2023