Coda File-Sharing
If you’re a user of Panic’s Coda text editor then you know it’s a feature-rich application. But you might be unaware of a collaborative tool which in my experience flies under-the-radar of, or is ignored by many Coda users: file-sharing. In a world where social coding is mainstream and Git/GitHub is top dog, how and where does this kind of feature fit in? Why use it when Coda has Git and Subversion tools built-in? Let’s find out.
I’m sorry to say Panic has dropped this feature from their Nova editor so if you want to use it you’ll need to fire up Coda. Apparently it was one of the two least used features along with the database editor. Or just use the standalone SubEthaEdit app.
Real-time File Sharing
The tool in question was originally developed by The Coding Monkey’s and is called, SubEthaEdit. It seems Panic was allowed to use it in Coda where it has lived a quiet existence since version 1.
You can share a file by connecting over:
- Internet
- LAN
Depending on the method you have a few options but for the purpose of this tutorial I will only discuss the (non-LAN) Internet method.
As it applies to Coda it allows two or more users to share files over a LAN or with any remote user by using your computer’s IP address or a special “Sharing URL” to connect a remote user to your file. This means multiple people can work on the same file simultaneously in real-time. Once a file has been shared with other Coda users (who must be explicitly invited) the file opens automatically in their Coda app where everyone can see each person’s edits happen live as each character is typed or removed.
Is It Version Control?
No. There’s no rolling back, no commits, no branching or merging. Where version control has comprehensive tools for tracking users and file revisions, Coda’s file-sharing tool has none of it and is better-suited to quick and lightweight collaborative editing. For those times when the overhead of dedicated Source Control Management (SCM) tools like Git and Subversion etc. would be overkill.
Of course, if you were so inclined (and a complete nerd with too much time on your hands) you could still use version control to track changes made with Coda's file-sharing but it seems ridiculous. But hey, to each their own.
How Does It Work?
Announcing Your Document (from Coda Help)
Announcing your document accomplishes three things:
- It makes your document appear in the Shared sidebar for other Coda users on your local network.
- It makes your document appear in the Bonjour window for SubEthaEdit users on your local network.
- It allows Coda and SubEthaEdit users outside your local network who know your IP address to connect to your document.
To announce your document, click Share at the bottom of the editor to reveal the Share banner. At this point, your document is able to receive connections, but is not announced on the local network with Bonjour.
To announce your document on the local network with Bonjour:
- Click Bonjour in the Share banner.
- Click Bonjour again to “un-announce” your document from the local network.
- Click Share again to hide the Share banner and disable sharing for this document.
Inviting Someone to your Document (from Coda Help)
To invite someone to access your document, click Share at the bottom of the editor to reveal the Share banner, then click Invite to see a list of other nearby users. Choose the desired person's name to invite them.
Only people who are also running Coda or SubEthaEdit on the same local network as you will be shown in the Invite pop-up. Your invitation will appear on the recipient's screen, and that person may choose to accept or ignore your invitation. If the other person accepts, he or she will see your entire document, and be able to make live changes at the same time as you.
Kicking Someone Out of Your Document (from Coda Help)
To kick someone out of your document:
- Click Share at the bottom of the editor to reveal the Share banner.
- Locate the name of the person you wish to kick out in the Share banner.
- Place your mouse cursor over that person's color badge, and click the X that appears.
The other person will be immediately disconnected, and a disconnect notification will be displayed on their screen.
Both of you will still have a copy of the document as it stood before the other party was disconnected.
Joining Another Person's Document (from Coda Help)
There are several ways to join another person's Coda or SubEthaEdit document.
You can browse the documents that are being shared by other people on your local network. To view available shared documents, click Shared on the sidebar's home page.
In the Shared sidebar, you'll see a list of everyone on your local network who is running either Coda or SubEthaEdit. If they have documents available for connecting, they'll be listed under the person's name. Double-click on a document to connect to it.
If the other person is not on your local network, but you know their computer's IP or host address, you can connect using that. To connect to another person's documents by IP or host address, click Connect To…at the bottom of the Shared sidebar, enter the IP or host address of the other person's computer, then click Connect .
The remote person can find their public IP address easily by visiting a web site such as whatismyip.com.
If the person you are connecting to has both Coda and SubEthaEdit open on the same computer, the person joining may need to increment the default port number (for example, from 6942 to 6943). To specify a port, add a colon at the end of the address, followed by the port number, such as 10.0.1.1:6943
To make connection easier, the person hosting the document may choose File > Copy Sharing URL , which will place a URL for the shared document on the clipboard. This URL can then be sent to the person attempting to join.
Showing and Hiding Change Marks (from Coda Help)
To make it clear which user is responsible for which changes to a shared document, each user is assigned a color. A random color is chosen, unless the user has chosen a specific color in their preferences. As either user types, their contribution is highlighted with their user color. Their current cursor position is also shown in this color. You can view which color represents which user in the Share banner.
Note: Change marks are automatically shown when you participate in a shared document.
To hide the colored change marks, choose View > Hide Change Marks.
To change your user color, choose Coda > Preferences… , click Sharing, then adjust the Editing Color slider until you find a hue you like.
To share a file over the Internet using Coda’s Sharing URL:
- On your Mac open System Preferences, select the “Sharing” tab and enable the File Sharing1 option.
- Open the file you want to share in Coda.
- At the bottom of the editor window click the “Share” then the “Bonjour” button.
- Go to Menu > File > Copy Sharing URL.
- Send the url to any Coda user you want to invite.
- The remote user clicks the link (with Coda open) and your file should automatically open in their application.
To share a file over the Internet using an IP:
- On your Mac open System Preferences, select the “Sharing” tab and enable the File Sharing2 option.
- Open the file you want to share in Coda.
- At the bottom of the editor window click the “Share” then the “Bonjour” button.
- The person sharing the file must provide their IP address to the remote user (use whatsmyip if you don’t know your IP).
- In the Coda sidebar click the “Sharing” tab then click the “Connect To...” at the bottom of the sidebar.
- In the “Remote Address:” field copy/paste the IP address from Step 4.
Saving and Closing Files
Saving or closing a newly shared file will create a copy on your computer so you will be prompted to choose a location to save the file. However there are a couple important things to remember:
- Saving only saves your copy. It has no effect on any other users.
- As long as your copy remains open in Coda any additional changes by other users will be reflected in yours.
- When you close your file in Coda it breaks the shared connection and any additional changes by other users will not be reflected in yours. The only way to reestablish the connection is to either be invited back or to invite someone to your file.
Yeah, I Know
I can hear you version control fanatics, “Why not use Git? It’s better at this stuff and it’s already built into Coda”. I hear you, but I think you’re missing the point. Not every collaboration requires version control. When a fellow Coda user says, “Can you take a look at this file?”, this is usually not a situation that requires something as heavy-handed as version control. Could I use Git? Sure. But do I need to?
Coda’s file-sharing is simple, it’s quick, it’s effective and there’s essentially no learning curve. But to truly appreciate this feature for what it is — a lightweight collaborative real-time tool — it’s important to understand not only its strengths, but more importantly its limitations. Because it’s what it doesn’t do that makes it so appealing.
1, 2 I’m not sure this is necessary but I keep it enabled. If things don’t work with it disabled then turn it on.