Disinfo had a cozy relationship with Razorfish, perhaps the biggest of the new breed of digital transformation consulting companies that emerged in the 90's. Razorfish was pretty insane back then — wildly smart and creative people working at the absolute forefront of technology, much of which now seems quaint and taken for granted.
As Razorfish rose and went public, it acquired a bunch of companies, one of which was Disinfo. I ended up becoming Director of Technology for RSUB, Razorfish's media division. Razorfish also acquired another company called Electrokinetics, which was all about hardware, and with whom we shared an office. I started hanging around the hardware guys, because, well, I loved hardware, and they were doing neat things like letting you SMS a soda machine to get a Coke. (This is 1999 — this was the stuff of technology demos of the future, not the real world).
When the Dotcom boom turned into the bust, one of the founders of Electrokinetics left to start Remote. I stayed in touch with them, heard about the project, started talking to them about it, one thing led to another, and I started working there!
Arcane knowledge: I was 21 at the time and had dropped out of computer science to work at a startup, so some of this was just being green, but some of it was also an utter lack of documentation. I was using Perl to write this server, because at the time everything was Perl. I had to read, write, and route data to over a hundred serial devices (our Cocktail Consoles) in a non-blocking fashion using DigiKey serial-to-IP converters. In effect, I was writing the basics of a networking stack (read packet, figure out where it was supposed to be sent, transform it if necessary, send it somewhere else) just over serial.
It wasn't really rocket science, it was just completely undocumented. And also solved by, well, IP networking. But we had to use serial, I was left with basically no books, terrible man pages, and random mentions of stuff in Usenet posts. Much of Linux's serial/tty subsystem was written very early on in the development of the kernel, made rock-solid, and promptly forgotten. What little documentation I could find was sparse and in relation to C functions or syscalls. Perl would then have a wrapper around it, and the wrapper wasn't well-documented nor was it exactly like the underlying call, so there was just a lot of trial and error as I figured out how to properly get the server to wait in a non-blocking way to get input from all of the different serial lines, figure out what to do with them, and write back to them, all in realtime.
Privacy: there was discussion, actually. We had a huge sign when you entered the bar that said something like, "There are hundreds of cameras in here and you agree that you have no expectation of privacy by entering." The whole point was to be a little voyeuristic, so it was very consciously not a private place.
Technical wishes: This is great question, I had to think about it for a bit. Amazingly, I don't think we had a lot of things we weren't able to do. We were able to take screen grabs and email them to people, so taking that a step further I suppose it would have been nice to be able to capture entire video streams instead of just still images, but the whole place had this Jetsons retro-future vibe to it, so some of the limitations were in line with the ethos of the place.
I'd enjoy reading this as a detailed book.
Good post, I remember those days well and this exposure we had to all that tech absolutely had its influences for many of us.
The real-world demo of that sms-soda machine was at the Stockholm offices, and one of several why I eventually moved out this way and have stayed.
Though razorfish stuff is pretty spot on except I'm pretty sure Razorfish didnt BUY disinfo, but funded and supported it, IIRC Gary and Richard retained ownership, that was a content play for RSUB, which was a wholly owned subsidiary of Razorfish.
...and coincidentally Gary is selling all the brand and contents right now.
ckn (Former IT Director @razorfish 1996-1999, Current Security Champion for R&D @Ericsson)
You mentioned that the project required some rather arcane programming knowledge. Could you elaborate on this? What areas of programming did you have to delve into that might be considered out of the ordinary?
Was there any discussion about privacy when you were implementing it?
Were there any features or functionalities that you wanted to implement but couldn't due to technical limitations at the time?