Over twenty years ago, I wrote my first networked program, a multiplayer card game. My original plan was to position two iMacs directly facing each other, six inches apart, and use the built-in infrared port to transmit data. Then my dad bought me an Ethernet cable – this proved a much better solution. For LAN networking, the program used the AppleTalk protocol, sending the entire game state (several KB!) between clients on every frame. Trying to connect to a friend’s computer through the...