Other file-sharing options
As we have discussed, this example application has focused only on sharing one file at a time and on only sharing image files. Extending this functionality to support multiple files at a time and handling non-image files (for example, documents, videos, and so on) would be a great to start extending this application.
Another option to explore is using typed arrays instead of serialized base64 data URLs to send data. This can work in the same way either through the WebSocket API or the RTCDataChannel API, and can add significant efficiencies.
And of course, if you extend this application to support WebRTC communication between more than just two browsers, then you may also like to extend the file sharing, because you could send a file to just one user by dropping the file onto their video stream or to all users if you drop it into the chat area or file list.
On top of this, you can also use WebSockets and RTCDataChannels for sharing interactive drawing spaces and annotations...