Online Collaboration Platform
40 days
March, 2012
The online collaboration platform is a unique web application that is capable of performing almost all of the virtual collaboration needs of people. The platform is capable of performing live audio, video, webcam, text and drawing simulataneously among its users. There is also a file manager with file viewing, sharing, deleting and downloading options. If users need to broadcast a quick message, they can use the simple chat feature.
I created the Online Collaboration Platform partly as a way to sharpen my skills as a web application developer and partly to satisfy my curiosity about the possibilities of the web platform as it is today. I wanted to test the power as well as the limitations of the JavaScript language as well as Node.js. I mainly used Node.js, MongoDB and WebSockets to build the different features of this system.
Creating a new room
When a new user wants to create a new room she simply points her browser to http://localhost:3000/new_room_name. She will then be asked to create a new password for her room. If the room already exists, however she can simply enter the exisiting password to log on.

When she logs on to the system after entering the password, she is prompted to enter her username

The Platform
This is the Online Collaboration Platform application.

Joining Room
A room can also be joinged from a diffet browser by going to the URL of the room, i.e http://localhost/room_name

Live Sketching
This involves, giving people the ability to draw something and share it live with other people on the platform. As a person is drawing on a screen, it gets shared with everyone instantaneously.

If a person wants to broadcast messages to everyone on the platoform, then they can use the Chat feature.

Live Text
This feature allows users to collaboratively work on textual information.

Uploading Images
Users can upload images using the platform.

The upload process begins by the user browsing through her files and selecting the file that she needs to upload.

Once she selects a file and clicks upload, the image gets saved in the fle manager in her account on the platform.

Viewing Images
For viewing an image, she simply has to click on the image file in the file manager and then click on the "View" menu option.

Once she clicks on "View", the image opens up in a floating box on the screen. This box can be dragger around by clicking and dragging the black bar at the bottom of the box.

When a person wants to share a file with other users on the platform, they can simply click on the "Share" option.

Once they click on the share option, a notification then gets sent to everyone else on the platform, alerting them of an incoming file sharing request. Users can choose to respond to this request by either downloading the file or ignoring the request.

Live Video
Users who wish to watch videos together with other users on the platform can do so using the Live Video feature. To begin, a user simply enters the URL of the video, to save it to the file manager.

Once they click on save, they can then access that video at any time, from their file manager. Users can access their file manager across any room in the platform. To see the video, they can click on the icon in the file manager, and then click on the "Watch" option, in the menu that pops up.

Live Audio
For users who wish to listen to audio or listen to audio simultaneously with other users on the platform, they can use the Live Audio feature. To upload an audio file, they simply have to point to the file from their browser and hit upload. The audio file then gets saved to the file manager.

To listen to the file, the user simply has to click on the file and hit the "Listen" menu option. A player will pop allowing the user to interact with the music.

If at any time during listening to a track the user wants other users to hear what she is listening to, she simply has to click on the "Listen Together" button.

When she clicks on the "Listen Together" button, an audio player, pops up on the screens of everyone else of the platform, playing the audio file that she is listening to, from the exact position that she is listening to.