title: Faye vs. Socket.IO (and Juggernaut)
body: <p><a href="http://socket.io/" rel="noreferrer">Socket.IO</a> seems to be the most popular and active WebSocket emulation library. <a href="https://github.com/maccman/juggernaut" rel="noreferrer">Juggernaut</a> uses it to create a complete pub/sub system.</p>
  
  <p><a href="http://faye.jcoglan.com/" rel="noreferrer">Faye</a> is also popular and active, and has its own javascript library, making its complete functionality comparable to Juggernaut. Juggernaut uses node for its server, and Faye can use either node or rack. Juggernaut uses Redis for persistence (<strong>correction:</strong> it uses Redis for pub/sub), and Faye only keeps state in memory.</p>
  
  <ol>
  <li>Is everything above accurate?</li>
  <li>Faye says it implements <a href="http://svn.cometd.com/trunk/bayeux/bayeux.html" rel="noreferrer">Bayeux</a> -- i think Juggernaut does not do this -- is that because Juggernaut is lower level (IE, I can implement Bayeux using Juggernaut)</li>
  <li>Could Faye switch to using the Socket.IO browser javascript library if it wanted to? Or do their javascript libraries do fundamentally different things?</li>
  <li>Are there any other architectural/design/philosophy differences between the projects?</li>
  </ol>