chat functionality. long polling or websocket?