One of my first contract development jobs came in &#x27;96 when a research group in Norway was going to do a demo of their autonomous underwater mapping submersible for some US navy brass. Problem was the tiny tracking boat that was following the submersible on the surface to receive the data (via an accoustic link..) would not hold everyone who was going to be in attendance, so they needed a way to stream the data from the tracking boat to a US navy ship to display it on some Sun workstation there.<p>For some reason they&#x27;d decided the best option was GSM data. 9600bps should be fine - the mapping data feed was about 2400bps. Problem of course was both of these ships would be out in a fjord, far from any cells, and in motion.<p>So I ended up writing a little proxy that they&#x27;d connect to and feed data that&#x27;d do automatic redialling and then layered a variant of the zmodem protocol on top of that to handle re-sending of data, and tuned it for specifics of the app to minimize delays in catching up to the live feed.<p>I&#x27;d used zmodem a lot in my BBS days before, but that was the last time.