After some years of Coding Dojos at NovaTec a colleague of mine asked me if it is possible to allow colleagues from other branch offices to participate remotely.
This was a very interesting question. But how can we manage this? We have done a little research and found some tools and websites.
Floobits is a tool for real-time collaborative editing. You need an account to collaborate with other users. Many of you already have a github account, which you can use for OAUTH authentication. For our purpose of remote Coding Dojos the free public account is enough.
Floobits supports IntelliJ and some text editors like Emacs, Sublime Text, Neovim, Atom and their own web-based editor. As Java developers, we are currently using IntelliJ in our dojos. Unfortunately, there is currently no plugin for Eclipse.
This part will cover the installation of the plugin using IntelliJ. You should already have downloaded and installed the IDE. We have used the Community Edition in Version 2017.1.1 for our experiment.
First of all open the IntelliJ Settings.
Now click on “Plugins” and “Browse repositories”.
Enter “floobi” into the search field, hit the “Install” button and restart IntelliJ.
After restarting the following popup will be displayed.
Next, click on “I already have an account” and you are forwarded to the Sign-in Page of Floobits. You can also login with a GitHub account by hitting the “Sign in with GitHub” link.
A successful login leads to an automatic configuration of IntelliJ. You should see a “.floorc.json” file in your user home directory. IntelliJ is now configured, connected to your Floobits account and ready to use.
All Floobits settings are grouped together in the menu “Tools/Floobits”.
As a Host you can share any project you want with others. Be aware that all files you select will be uploaded to the Floobits servers! Sharing customer project files with a free account and public workspaces can be a problem and should be handled with caution.
Right click on the project, and select “Share Project Publicly/Privately” in the Floobits section to share your project with other developers.
Now you can select the files to upload.
The plugin will upload the files and display a URL you can share with other developers.
As a Participant you can join other shared projects just by entering one such shared URL.
To join a project select “Join Workspace by URL” in the “Tools/Floobits” menu…
…and enter the URL you received from the Host.
Select the folder for the project files…
…and “Overwrite Local Files” if you connect the first time.
Now you’re done and can edit every file shared by the Host.
Floobits could be a solution to do pair programming with others. The performance of the plugin is good enough to handle more than two users. We have tested with 5 users connected to the same shared project.
Of course, editing the same file simultaneously initially led to a lot of confusion. In Coding Dojos only one developer is supposed to be coding at any given time, so we just have to keep some discipline here.
The main ambition of this blog post is to show how to share and join a project remotely and hopefully get some of you from the other branch offices to join the next Coding Dojo.