This is a working document/RFC on upgrades to the SMS Screen. Add your comments in italics with [TLA], please!
Display and output
Currently the SMSes are read in from the database (a text file) and displayed in a PyGTK/Glade application. This is started in 1024x768 Xserver running as a dedicated user with a .Xsession that keeps all the various software bits running. Also useful is hidemouse(.c), which gets rid of the annoying X cursor.
The software is reasonably robust and easy to modify, but looks incredibly 90s, and there's not a lot of scope in GTK+ for shiny interfaces without doing lots of messing around.
The current proposed rewrite would be in PyClutter. Clutter is a 3D toolkit for making 2D interfaces (see: coverflow-style effects, fancy-pants menu interfaces like MythTV frontends), and can be programmed in Python with reasonably good effect. Documentation is a bit sparse but the examples are reasonable, and there's better C documentation.
Using Clutter also allows us to easily plug GStreamer into the interface, which makes it easy to add visualisation effects using goom or libvisual_infinite: see http://www.vidarholen.net/contents/blog/?p=6
Input from phone
Currently, SMSes are read from the phone using gammu and piped through a perl script into a text file.
While this is actually a reasonably robust solution, it might be worth investigating gammu's smsd mode. This can log either to a text file or a PostgreSQL database. Ensuring that smsd is a) reliable and b) restartable when it crashes is important.
Issues to fix:
- stdout from gammu occasionally has "Error reading... phone maybe not connected?" or similar.
- The --getallsms option fetches all templates, which cannot be deleted, and cannot be excluded from the input.
Phone and host connection
Currently using a dodgy old 6610 that has busted keyboard but is in otherwise reasonable nick. It only talks the Nokia serial protocol. This means that genuine Nokia USB cables don't work but you-beaut-no-worries cables off eBay, which are just a pl2303 USB<->Serial and thus require the use of the Nokia serial protocol. They also tend to warp in the heat, of which there is a lot in nightclubs.
Issues to fix:
- Reliance on third-party cables that can only be purchased from China
The SMS Screen has run on a series of "Wizard" computers, a psuedoembedded system that was designed and resold by a Perth retailer for a short period of time. These days, they are slow, have very little RAM, and rely on crusty old laptop HDDs.
Issues to fix:
- Boot time is pretty slow, although they used to run a custom kernel which was a good bit faster.
- No graphics acceleration for fancy-pants OpenGL effects
- Slow processor making visualisation without lots of custom software hard
- Incredibly poor cooling, which sucks in nightclub environments
- Wizards have old crappy laptop hard drives which die occasionally
- A laptop. [AHC] has a couple of suggestions, including an old ITS Acer. Specs unknown.
- The UCC acquired a board out of an IBM Xeon server with an onboard ATI Mobility Radeon something or other. It needs RAM, a power supply, a boot device (?USB) and a case.
It would probably be best to get the software written first, then try and find an appropriate machine, but more suggestions would be useful.