4 ms·
I used to work for an avionics company’s in-flight entertainment (IFE) division for just one year. IIRC the business model primarily involved selling new syste
by akoster 4y ago
I used to work for an avionics company’s in-flight entertainment (IFE) division for just one year. IIRC the business model primarily involved selling new systems to airlines to be installed into newly-delivered aircraft and secondarily upgrading those systems hardware, software and content.
The hardware stack involved PPC-based servers connected to what was essentially switches that serve groupings of 4-6 seats that distribute power and connectivity to what was essentially embedded low power x86 PCs with touchscreens attached (for the prior generation of hardware) or modified android tablets (for the current generation of hardware) all connected via Ethernet.
As for the software stack, everything ran a modified version of fedora Linux and sshd. For the seat-back units, they either ran an X11 server on the prior generation units or the android runtime for the current generation of units. Atop that the QML runtime ran 80% of interfaces on both generations that users interacted with. The other 20% were games and other 3rd party android apps we distributed typically not written in QML. There were also a few parts of the interface (diagnostic screens, etc) written using android widgets or IIRC qt (or perhaps even Xt?) and then maybe one or two legacy systems we supported which were written in the pre-QML era using android widgets , or Qt.
Often airlines would request content updates, which would include new movie releases (many of which were still in theaters. IIRC this was a selling point of buying a traditional IFE system over iPads since our company had a close relationship with several studios, acquiring the rights for films much quicker than other distribution channels). Content updates also included new or patched games and often updates to the UI with new commercial advertisements, new theming for a holiday or new language translation options. Most of this data needed to be loaded to the flash memory of each seat back unit (gui, games, commercials and a few movies) with the rest needing to be loaded to the head end units which there could be 2-8 all over 10/100 or 10-BASE-T Ethernet networks. This was cleverly done via libtorrent, installed on every unit. I was always blown away by the speed of these BitTorrent-powered content upgrades even on aging early- and late- 2000s embedded hardware and Cat3 Ethernet.