Recently, I was working on a project for an installation that required long-running connections between a kiosk-based web client and an Eventmachine websocket server. I realized that having to physically open up and reach inside the installation to restart the kiosk client if the connection failed would probably get old very quickly. To avoid this, I wrote the Recon library. Recon is a lightweight wrapper for the native JavaScript WebSocket object that reconnects to the websocket server should the connection be severed.
