codesync

Have you ever wanted to throw someone's code down the sink (get it? sync???)? Or maybe you want to collaborate on your group's code in real time or something. That is the official purpose, but since you actually bothered to read this, we'll let you in on that slightly more fun aspect of this. Codesync was born yesterday when we wondered hey, is there a Google Drive for coding? Like github, but real time because pushing and pulling is hard and brings back memories of those times you lost at tug of war and fell into the mud pit? Turns out there are google drive extensions that supposedly work, but we wanted something to work on your desktop because that's where you code. There are extensions for Atom that do this, but not everyone likes Atom, so we wanted to make something that would be cross-platform. Unfortunately, this only got as far at a Sublime plugin.

Getting Started

Run java PerspectiveSender r as the reciever and java PerspectiveSender s as the sender. Reciever must accept the sender's request to access the selected files. Once the connection is established, changes made to the shared files will be updated on both computers. Everything is done through the command line.

Challenges

Getting computers to talk to each other can be HARD. Two-way communication was very rude to us and did not want to work. Several times throughout the hackathon we've thought wow, this sure would be easier if we already had this done and could collaborate real time. We made a valiant attempt at having an actual user interface that would take usernames and passwords and run our programs, but it turns out that no matter how "easy to use" and "super useful" Element is, a lack of knowledge of Javascript and HTML will always win in the end. We pretty much have the HTML pages written but only a vague idea of how to get the Javascript to actually render anything.

Next Steps

We would like to have extensions for other common text editors so everyone in your group can code together in real time even if they use something dumb like Notepad or a good editor like Vim <3. A user interface would also be a good thing to have, especially since usability was one of our main motivations. Again, we tried really hard and it wouldn't be that hard to implement if we had the time to learn more about Javascript and HTML.

Share this project:
×

Updates