Collabora Online uses websockets to bring the LibreOffice core's rendering to users' browsers and mobiles. This gives us a smooth low latency editing experience. This however requires a persistent server process, something inimical to the PHP processes we integrate with. Hear how we overcame this limitation, to get an AppImage that can bootstrap, and a protocol that re-uses the HTTP keep-alive to rather successfully emulate a polling websocket based on PHP. Hear about some of the pit-falls we fell into, and the 'obvious' ideas to make things better that didn't pan out.