Sync Dev: Q&A with the Creator of MeshedSites

  • Developing on the BitTorrent Sync API? Our developer evangelist is here to work with you.

Last week’s column on was a hit, so this week I am talking with the creator of MeshedSites – Ian Maxwell – about his work on the site and with the Sync API.  Developers – what projects would you like to see featured here?  Let me know!


Aaron: How’d you get here and how’d you get started as a developer? How did you find out about the Sync API?

Ian: I went to school to be an electrical engineer and actually hated programming through most of college until I got into embedded programing and Digital Signal Processing which required a lot of low level C and assembly programming. It took off from there and I started learning every programming language I could find. My first real job was coding in Delphi, a language I had never used before at the time. I later moved into Application and Information Security learning and exploiting the weaknesses in software and how to strengthen code to be more resilient to attacks.

I found out about BitTorrent Sync from a friend who sent me a link one day in chat while it was still invitation only. I filled out the forms to get on the early beta and it was fortunately accepted. I’d thought about using the BitTorrent Protocol to host web sites for a while but never acted on the idea. The API seemed really easy to use and did all the hard work for me.

Aaron: Any tips for people looking to build on the Sync API?

Ian: Just dive in and see what you can do with it. Its really easy just to submit requests from the browser to the BitTorrent Sync Client but I prefer to use tools like BurpSuite to repeat requests and it saves the response history.

Aaron: How can the Sync community help you? What input do you need?

I really want any feedback on MeshedSites and XTTP. The good but mostly the bad so I can find ways to make it better. The biggest criticism I’ve had so far is that having centralized and decentralized infrastructure somehow defeats the purpose. So I’m working on ways to add a decentralized search/domain name feature so that once your off the central internet you can stay completely off if you like.

In addition, I’d really like to find a way to create write only shares. My idea is that users can submit data to the write only share and those writes are not synced with other peers except the peers that have read/write access. I could use a solution like this to add user comments to my decentralized blog. The comments from users could roll into the write only directory so they can’t been seen or modified by other peers. I could then moderate the comments from my read/write shares and update them to the main decentralized blog. Not sure if this is even possible but I’d love to find a way to do it.

Aaron: Why does the world need decentralized offerings?

Ian: There are a few things that make decentralization important. There is a fear now that all the large cloud providers are doing data mining on all our data we give them and giving some of that information to the government. To me it does not matter if your not doing anything wrong; I don’t want to be profiled just because they can. If you decentralize your data you can keep all your data on machines you control or you can choose how to distribute it to others. But the bottom line is you are in control of that data and not the cloud providers.

Decentralized information has an immunity to Denial Of Service attacks. As long as someone is willing to host your information to other peers the information will remain available. This can be a huge benefit for freedom of speech and sharing bold ideas.

But it’s not just for darknets and privacy advocates. I have my Mom using my MeshedSites project so we can share picture galleries and the storage requirements aren’t limited by what centralized sites offer. She’s not all that tech savvy so it was always a pain for her to download pics from her camera to the computer just to upload them to a centralized server or email them to me. She just puts them in a directory and we are both synced. MeshedSites made it even easier for here cause once I got her set up I just sent here a link in email to our photo gallery and now we are both synced.

As the technology progresses it could be used in low bandwidth areas where static sites and common JavaScript frameworks can be sourced off the local networks without having to reach out across the internet every time a request is made. Of course this only works for static content but as the technology becomes more mature it could implemented by some of the big static content providers that currently host static html, images and javascript for the larger enterprises. This is something I’d like to explore more to see how feasible this would be.