Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you.
What were you using before Sync?
I was originally a big fan of Microsoft’s lesser known Live Mesh project for many years and as a software developer, I’d been using Mesh to keep code synchronized between devices. What made Mesh ideal was that it allowed me to sync between multiple devices directly without first having to go via an arbitrary cloud, making syncing incredibly fast and efficient!
Sadly, Microsoft failed to recognize the potential in the Live Mesh concept and in February 2013, discontinued it to focus their attention on OneDrive (at that time called SkyDrive) believing that “cloud” storage & “cloud” sync were the way forward. In the process of discontinuing Live Mesh, Microsoft tried to convince us Mesh users that we could easily make do with OneDrive instead.
I wasn’t convinced! OneDrive lacked a lot of the important features that had made Live Mesh so great. For starters, OneDrive couldn’t sync device-to-device, instead all syncing had to go device-cloud-device. Second, OneDrive (like Dropbox and many others) only allowed you to sync one central folder (whereas Live Mesh allowed you to sync multiple separate folders between devices).
As a software developer, I needed to keep thousands of files in sync across multiple devices. The ability to sync multiple folders (not just a single folder) was essential, and I found syncing through a “cloud” very slow, with no real idea of where my data was actually being stored and who could potentially access it.
So, how did you come across Sync?
After trying no end of alternatives to Live Mesh, none of which met my needs, I was beginning to lose hope! Then one evening, while searching for more file synchronization tools I’d yet to try, I came across the BitTorrent forums and a post that had been made just a few hours earlier by a member of staff asking for a limited number of pre-alpha testers to help test a new “distributed syncing product to help manage personal files between multiple computers.”
BitTorrent Sync Alpha
Intrigued, I signed up to the forums right away, and immediately PM’d the author. I didn’t hold out much hope that I had PM’d in time, but just an hour or so later, I received a reply saying “You’re In!” I was very excited, but at the same time given the previous disappointing experiences I’d had with other file synchronization tools, I didn’t hold out much hope that SyncApp would be any different. That was, until I started testing it! Even though it was in a very early “pre-alpha” stage and essentially just a “proof of concept,” it worked! I could immediately see the incredible potential in the decentralized P2P concept, and was hooked.
In return for the privilege of having this very early access to Sync, I wanted to give back. So, I devoted a lot of time in those early days finding and reporting bugs to the developers, testing out new builds, and giving constructive feedback to the project, which I still continue to do today.
An interesting fact is that I was the first person outside of BitTorrent Inc. to share a photo through a very early build of what is now the Android version of Sync! It wasn’t a particularly exciting photo — just an early evening view out of the creator of Sync’s window — but it proved that the Sync concept was working on Android devices in different countries, which again was another very exciting milestone!
What’s the toughest forum question you’ve had/solved?
It’s hard to single out a specific question, but generally speaking I think the toughest questions asked in the forums are probably those surrounding individual’s doubts over how “secure” Sync is – the “How secure is this really?” and “Wouldn’t it be more secure if…?”-type questions. In an age where data security is routinely in the news and at the forefront of many people’s minds, these are of course understandably important questions, and the Sync team take security very seriously indeed!
But this topic often crops up in the forums and has been passionately debated by users at length. What makes these type of questions tough to answer though is that, for whatever information or evidence you provide about how Sync works and the underlying security of the mechanisms involved, etc., a few individuals remain skeptical and refuse to believe that secure Sync is secure! Now, of course, nothing in the world is 100% secure, but given that it’s estimated that would take around 14 billion years to “guess” a key, those odds are good enough for me!
When you’re not busy testing Sync for us, or moderating the forums, how do you use Sync day-to-day yourself?
I’m a software developer and run a business. I’m the creator of MIDAS – a leading global Web Based Room Booking and Resource Scheduling Solution available across desktop, laptop, tablet, and mobile devices. Our clients include schools, colleges, universities, places of worship, leisure, sports and entertainment venues, training and community centers, non-profit organizations and government institutions.
Sync is used primarily to keep the code base and builds of MIDAS accessible and in sync across a number of development machines, servers, and test devices. At last count, I think we have Sync running on around 16 different devices, over two locations here in the UK, covering just about every operating system and device type!
Whenever we produce a new dev build of MIDAS (which is usually a couple of times a week), Sync makes it instantly available locally on all our test servers in a matter of seconds — this greatly improves our productivity, testing, and work flow!
We’ve also found Sync useful for handling some of our “off-site” backups too – this allows us to maintain “real-time” backups of important data, rather than the traditional approach of slow, scheduled, nightly backups.
There’s a powerful yet easy-to-use API available for Sync, and we’re starting to consider ways this could be potentially be utilized in the future – both within our software itself and also in our internal development process and workflow. Watch this space!
What advice or tips do you have for Sync users?
Ok, here are my top 3 tips for getting the most out of Sync:
1) Use a VPN (Virtual Private Network) for faster Sync between remote locations!
Sync allows you to sync files between devices – even if they’re in separate locations/cities/countries! If Sync isn’t able to establish direct connections between your devices (i.e. because they’re on different LANs, etc), Sync will fall back to using “relayed” connections. These are typically a lot slower than direct connections, so one way you can greatly improve file transfer speed is to install/use a VPN in conjunction with Sync. A VPN allows all your devices in you various locations to appear to each other as though they’re on the same local LAN. That way, Sync can establish direct connections between them for faster transfer speeds! We use Sync in conjunction with a VPN forMIDAS to sync files really quickly between two geographically separate locations in the UK, and there are a number of good free VPN’s available, so it doesn’t need to cost you anything either!
2) Create your own private “Cloud”!
Unlike some file synchronization tools, Sync doesn’t include a “cloud” storage component, allowing you to retain complete control over your data! This means though that in order for two devices to sync, they both need to be online at the same time. Since Sync was launched last year, a number of services have sprung up offering “cloud storage services for Sync”. How secure your data is with some of these unofficial, 3rd party online “services” is dubious and many have expensive annual/monthly subscription costs.
My advice; save your money and retain control of your own data!! Buy yourself a supported NAS (Network Attached Storage) drive. They’re not that expensive and it’ll work out far cheaper than a subscription to a cloud storage service in the long run!. Plug your NAS into your always-on home router, wack Sync on it and hey presto! You’ve got your own private always-on “cloud” for Sync!
3) The more devices you sync between, the faster your files can sync!
…following on from the above tip; the more devices you sync with, the faster the overall speed of file transfer will likely be!
If you wish to share a folder from say laptop A to desktop computer B, adding a third device C (such as a NAS) into the mix with the same secret and using it as a “pass through” device can in many cases mean that the folder’s contents will transfer from A to B quicker (as some files from A will go to B, and simultaneously some will go to C as well. Then B will be able to simultaneously receive files from both A and C!) – voilà! Your folder syncs much quicker than if you were syncing between just two devices!