Java Run Time Collaborative Editor (JRTCE)

JRTCE – Java Real-Time Collaboration Editor is platform-independent network software, that allows several remote users to concurrently and synchronously work on same computer file through network.
A  real-time collaboration software is a desktop application, where an user can,
– create a connection with other remote user.
– accept a connection from other remote user.
– open a files and share with connected user.
– view the changes as made by other user.
– concurrently edit files and collaborate.
The system address two major issues, viz,
– Synchronization mechanism which keeps the user interface of each user updated about changes made to the document by other user, allowing each users to know the editing as done by others.
– Concurrency mechanism which prevents an user from ambiguously overwriting each others work. Problem with concurrency occurs when both users try to edit same place in a document. Concurrency mechanism handles this situation, avoiding resultant chaos.

I suppose that was too many words. Pictures will be better able to explain the project we built.

Snapshots
1. JRTCE – Main Window:

Image
Figure 1: This is the main window of JRTCE, having two TextPanes (as specified in above description), displays some basic connection information.

2. Information :

Image
Figure 2: This information bar show basic connection information about the connection between two JRTCE clients.

3. Connecting two JRTCE client applications :

Image
Figure 3a (L): The left figure shows ‘Wait for Connection’ dialog, here we enter our own IP address, and then wait for other users to connect. Figure 3b (R): The right figure shows ‘Connect to server’ dialog, here we enter IP address of computer waiting for connection setup.

4. Opening text document in JRTCE:

Image
Figure 4: This figure displays the ‘open file’ dialog box, to open text document into JRTCE for editing.

5. Editing of Text Document:

Image
Figure 5: This figure shows the main window while a text document is being edited simultaneously by two users.

6. Save files on remote computer:

Image
Figure 6: This figure shows the ‘save file’ dialog which allows users to save the edited files locally on the remote computer.

7. About Box:

Image
Figure 7: The About Box.

 

 

 

(Project Developed By: Ankit Deliwala, C V Sashank, Girish Patil)

Advertisements

My Portfolio – All the cool stuff I have done till now

I believe that a person’s capabilities can be more accurately measured by the review of his practical works than by a test of his theoretical knowledge and so a student’s performance is also better measured by the projects he has done and not just his grades. So I thought why not share my projects, my works and all the cool stuff I have done till now with the world rather than telling them my grades or my degrees.

Here goes the list(each project title is a link to the post about that specific project):

1) Java Run Time Collaborative Editor (JRTCE) – (2010): My first group project. It is a platform-independent network software that allows several remote users to concurrently and synchronously edit a computer file through network connection with the file being updated instantaneously. Users can even view what updates the other users are making while working on the file themselves via a display tab. Uses color highlighters to distinguish between different users and uses paragraph lock to disallow users to simultaneously update the same part.

2)Web Based Email Client – (2011): It is a web application which facilitates concurrent email access for users with multiple email accounts. Users can access all his email accounts in a single place on any computer via an internet connection and lets them even send e-mails using any one of their accounts by setting up a new account and adding all the email accounts he/she wants and from then on, can access all his accounts using one single login.

3)Online Share Market – (2011): It is an application system which enables its users to buy and sell shares and also to view current market prices and other market related data. Also it manages the security and integrity of user actions to keep secure personal data and to prevent fraudulent transactions.

4)Live Video Streaming Using Application Level Multicast – (2012): The basic concept of the project was to construct a stable overlay network algorithm which was scalable, efficient and reliable for data distribution using the network connections of the end clients. Also the multicast/data distribution was to happen at the Application Layer and not the usual network layer. The final project comprised of an executable application which can be used to start and manage multicast sessions for video streaming. The network algorithm which it used for data distribution was completely designed and programmed by us.

5)TileBreaker – (2013): It is a tile breaker game where the objective is to break all the tiles in the game window. The game window consists of square tiles of three colors which fill up the game screen. Tiles can be broken if there are two or more tiles of same color adjacent to each other. Developed the game in C++ using the MFC library provided by Visual Studio.

6)Robin Hood and the Balance of Candy – (2013): You play as “Johnny” a little boy who is dressed up as Robin Hood for Halloween. Johnny has heard that some children get more candy on Halloween than other children and has taken it upon himself to become this neighborhood’s own Robin Hood. As Johnny, you have 2 minutes to run up and down your neighborhood, steal candy from the children who have too much, and give candy to those who don’t have enough. It is a 3D leader-board type game where if the number of candies is evenly balanced across all kids, you get a higher score, and better badges which can be used to buy upgrades. Developed it in Unity 3D.

7)It Takes Time – (2013): “It Takes Time” is a top down interactive narrative based game that takes the player through the elegance of human emotion. It depicts the story of a young, hard-working journalist Sophia, whose foresight into a dark future causes her to panic. The novelty in the game is in the way it elucidates the five stages of grief one goes through. As the game progresses you are presented with a series of mini-game puzzles that further depict and lead into the theme of the game. The game is developed in Stencyl and the whole graphics is in pixel art developed by the team.

8)Beneath the Surface – (2013): “Beneath the Surface” is a 2D game built for Microsoft Surface pad in Unity using Unity’s 2D toolkit and the TouchScript plugin developed by Valentin Simonov and licensed under MIT License. It a touch-based game inspired by the concept of assisting patients with serious injuries of the arm, shoulder and wrist in their rehabilitative process. It supports multi-touch events and thus instead of just exercising muscles of the shoulder and arm even exercises wrist muscles. It is designed to alleviate the tedium that many patients experience while going through their physical therapy by turning their physiotherapy exercises into a game.

9)Mystic Mysteries – (2013): It is a non-electronic party board game similar to games likes werewolves, mafia etc. It is a modular party game having three scenarios which can be played out. Each scenario has a unique objective/end-goal. Also it consists of various different roles that one can play as. Each character having a unique ability which he/she can use. And finally the modifier cards, which define your motive. And with that we built a fun addictive modular party game.

10)The Illusion – (2013): This is design document, written in a group of 6, in order to put down the the complete design of a game idea which we thought of. Though we didn’t develop it, we finalized on the design of the game which probably we will get time to work on in the last year of our master’s. While writing the design doc, complete care was taken to document even the minute details of the game. From its mechanics to the code architecture to be used for the game, from story and character design to UI and HUD design, even the kind of audio for the game was documented in detail.

11)Sound effects: This is not a project of any sort, but just my interests. Always interested in audio side of interactive media, I learned Audacity and generated some cool sound effects which could be used in a submarine game. So almost all the sound effects revolve around this central theme.

Well that’s about it. All my works and and the cool stuff I did, sharing it with the world.