Several people emailed me about the scene in the film Independence Day where the hero flies up to an invading alien spaceship and crashes it by uploading a virus from his laptop. This scene always irked me, but I didn't include it in my article because it's not a user interface issue.
Dan Hurley sent me the best analysis of this scene:
Here is a related item — although it's kind of like your numbers 1,2 and 4. Maybe it just sticks in my mind because it's from the worst movie I've ever had the unpleasant experience of wasting 2 hours of my life on.
In the closing moments of Independence Day Earth is losing badly, despite our freedom fighters having very nice hair and swaggering a great deal. Earth needs more than good hair and tight fitting flight suits to get us through this one! Eventually Jeff Goldbloom simply flies up to the big bad alien ship, connects his circa 1996 laptop to the mothership's computer and uploads a virus which he has just whipped up. Moments later something bad for the aliens happens — and I readily acknowledge I can't recall what, having blocked as much of the film as I can from my memory — the aliens all blow up or turn into rainbows or ponies or something.
Obviously the writers were trying to be clever and not be completely transparent in their rip-off The War of the Worlds. So they changed the winning virus from biological to software.
I guess strictly speaking this isn't a "User Interface" issue, although if you consider Jeff Goldbloom a user he had no problem pressing the alien's computer's "erase all available storage media, delete firmware and reboot" button. This is more of an API/interface issue. But you see this phenomena in movies all the time as well, and I believe it influences public perceptions of computing in much the same way as the UI issues you discuss in the conclusion of your piece.
The mind truly reels when one considers the challenges facing our hero in this situation....
- Are the alien's computers based on binary logic, or trinary, or quad-ary (is that a word...)... or maybe they are analog...
- hmm is that an 8, 16, 32, 64-bit system... or maybe 13-bit, or 111-bit.... or maybe they bitness changes every clockcycle... assuming they have a clockcycle.
- would that be big-endian or little-endian???
- Assuming the aliens machines use "instructions" the like of which we are used to, how did Jeff Glodbloom figure out the instruction set so quickly. I've done some assembly level programming in my days and even for something like the Z80 or 6502 that had very few instructions and addressing modes you needed a reference card at all times.
- Or maybe Jeff wasn't dabbling in machine code — he had a compiler... that was written by who??? Actually I think there are a few aliens working on the gcc project so maybe that's where he got it.
So even if he could write the virus.... How does he connect to the Aliens' ship — I really can't recall if it was a physical or wireless connection in the movie....
- so are the aliens using RS-232, or USB 1 or 2, or maybe firewire. Maybe ethernet (thick-net or thin-net???) or maybe Token Ring! ...All using standard plugs/Adapters of course. I have a few USB devices and at least 3 different plugs. If we humans can't standardize, I can't believe the aliens would use our physical interface specifications. Maybe he had a special laptop that has a PCMCIAlien Card slot.
- if the interface was wireless — was that 802.11a/b/c/g/n/whatever, some WiMax variation, some cellular platform etc. and how nice that the FCC allocated a compatible frequency range to the aliens.
- Did the aliens really design their APIs with a call to blowUpTheShipAsSoonAsTheGoodGuysGetFarEnoughAway(), as an easy to get to routine? (sadly the answer is probably yes)
- does a military vessel really allow access to the central computing system so easily (sadly the answer is probably yes - probably applies to our earthly military systems too!)
- unsigned code in a critical military system... whatever...
- Are the designers of alien military systems as dumb as the designers of our military systems and apparently make it hard/impossible to bypass/override/reset-to-last-know-good-condition/workaround computer problems? (luckily the answer is probably yes) [This is actually the standard Star Trek the-Computer-has-taken-over-the-ship problem — the solution should always involve a big red switch on the bridge somewhere, but for some reason they keep leaving that out]
- and finally... no "Norton Anti-virus, Alien Mothership Edition"?
Phil Bennett Comments as follows on Dan Hurley's above analysis:
While I've got to agree that it is a terrible movie, I think Dan Hurley is a little bit harsh.
According to the film, they have an alien craft from the 50s (Roswell), so it isn't unreasonable that a bit of development work might have gone on. That would provide an answer to the initial batch of questions (numeric base, bitrate, clockcyle, big-vs-little-endian, instruction set, possible compiler?) and the connectivity questions (they have had to work out a way to integrate Earth kit and Alien kit to do the research).
In addition, I would imagine that with a system designed to operate over multiple generations (it was a slower-than-light vessel from memory) you would have everything standardised and updated rarely, and as easy to use as possible for novices who might not share the same cultural assumptions or even exactly the same language as the original users (Chaucer would have had trouble with more than just the concepts behing Vista's UI).
As for the "And finally" bits, I have to give Ben those — but I'd point out that a lot of (Earthly) systems seem to be designed like beehives, with the assumption that anyone inside the perimeter security is authorised (yes, terrible security, but security often gets overridden in the interests of useability sadly), so perhaps flying up to the mothership was necessary from more than a dramatic-ending point of view!
They disabled Norton Mothership Edition — it kept on pestering them to get updates and to upgrade. Its difficult to get new antivirus signatures when the nearest MotherShip Software Authorised Retailer is 100 light-years away.
Oh — and the Big Red Button method of disabling the Computer might be problematic — it would be impossible to implement in the Eurofighter aircraft, for example, as it isn't actually capable of non-computer-aided flight. The relief on the Enterprise that the computer wasn't in control of the ship might be shortlived when the reactor confinement, inertial dampers and asteriod shielding goes offline too!