When Unhosted Meets Cozy, It Leads to Offline First Capabilities for Your Personal Cloud

Two weeks ago in Paris, stood the first Mozilla Barcamp about web decentralization. And like in any good events, there were several off the stage projects. Among them, the one built by Michiel De Jong from Unhosted and Romain Foucault from Cozy.

Intro picture

Two weeks ago in Paris, stood the first Mozilla Barcamp about web decentralization. We had a pleasant time, people came with new ideas, good prototypes were built and collaboration tools were set up (a wiki, a mailing-list, etc.). Like in any good events, there were some “off” the stage projects. Among them, the one built by Michiel De Jong from Unhosted and Romain Foucault from Cozy.

Michiel and Romain met the day before at the co-working place Anticafé near Beaubourg - one of the most impressive galery museum in Paris. After talking about future of the web and offline first architecture, they started to hack some stuff. Michiel thought that something could be done by starting from a remote storage library. After a quick analyze, Romain saw there an opportunity to build a remote storage appliance as a Cozy application.

What is Remote storage? It is a technology that allows web application to choose the location of the web storage. That way, users can enjoy web apps while keeping their data in a place of their own.

Let’s go back to our two hackers. Once the goal was defined and their fingers warmed, they put the first pieces of the project together. Everything went smoothly until they met their first big bug: it was impossible to understand why data were wrongly formatted when transmitted to remote storage library. The Firefox console returned some unexpected value and they found no clue in the app code and in the library. Our two guys were quite anxious. Michiel live in Berlin and Romain in Paris. They didn’t plan to see each other again for a while. Will their brand new app be postponed?

Michiel decided to let Romain work alone on the problem, fixing a bug requires calm and concentration. By that time, he stayed productive. He built a Dockerfile for Cozy and distributed to the Community. When Romain heard about the good news, he felt boosted and understood the source of that weird output. It was due to a word wrapping feature of the console that adds an hyphen in the word when it is located at a line break! That was why he didn’t understood what was wrong. Holy crap, so much time lost for such a small thing! After that he fixed the bug quickly and the developments were back on track. After patching another cozy module and adding the last element to the app, they finally enjoy using Unhosted applications from their local computer.

Then they packaged the whole thing and deployed it on their Cozies. Everything was working fine. The first appliance of Remote Storage for Cozy was finally born.

The day reached its end so Romain and Michiel went to the closest bar, the Hall 1900 to grab a well deserved Corsican beer (Pietra)! during this time, they talked about doc types in Cozy and modules in Remote Storage. But that’s a story for another article!

https://github.com/aenario/cozy-remotestorage

We opened a discussion in the forum about Remote Storage in Unhosted. If you liked that article, join the conversation!