Impractical not to rely on servers? Nah!
I was recently reading Dreaming in Code by Scott Rosenberg, which describes the Chandler project; which started out as a PIM and an Microsoft Outlook alternative that could share information between users directly via peer-to-peer without intermediary servers (and Exchange Servers).
Here’s a quote from the book about OSAF rethinking their original plans for Chandler to support peer-to-peer synchronization
“Maybe there was a reason nobody had ever built software that seamlessly shared information across multiple computing platforms without relying on servers. Maybe it just wasn’t practical.”
Maybe. But Tonido does just that. Tonido Workspace and Photos share information without using any third party servers. Tonido only uses Domain (Directory) servers to locate other Tonido instances.
Then, there is a section where Kapor (who was behind Chandler) has a change of heart about using peer-to-peer.
“There was a kind of frontier idealism that was well intentioned but not practical on my part. The issue is about empowering people. It’s not about the infrastructure. … My and OSAF’s original position was, electricity is good, therefore everyone should have their own power plant! Unconsciously, I always imagined that user empowerment somehow meant a server-free or server-light environment. Now I think that’s actually wrong.”
He later says
“This actually turns out to be a deeply charged issue. So many of the people who are thought leaders in open source value freedom and initiative, and those values have been very tied up with this American frontier myth of self-sufficiency ..”
It was a turning point for Chandler because it went from being an symbol of independence to another me-too product in the crowded market and that later became almost irrelevant by the advent of Web Apps.
It is an interesting book in several ways and particularly interesting to me because of some of the parallels between Tonido and Chandler. Tonido has idealistic notions of privacy, freedom and self-sufficiency. And usually, when software is implemented based on some ideals, the first thing that goes out of the window when there are technical problems are ideals. I would be lying if I were to say no such decision happened in Tonido, but at the end of Tonido’s development, I am proud to say that none of the core ideals were sacrificed on the altar of practicality.
Tonido is an alternative to web applications that come today and disappear tomorrow. For us it is a viable alternative. But only you will have to tell us if it is the same for you.
In one way, I am glad I read the book after Tonido reached alpha. It would have been too demotivating otherwise to have read it before. It would have told us that a project of Tonido’s scope and vision was impossible.
I guess we were too busy writing Tonido’s code. As they say, never let anyone tell you that something is impossible.