refactored socketio code, index page partially restored on returning, and index page changed differently based on whether user started experiment