Good catching up with you after too long Boris. Excited to hear about Fission. Later on was wondering how IPFS as starting point plays out with highly dynamic material (e.g. real time data sets), versus dat for such data sets. Pleasing to note our thinking since our joined session at BarCamp Brussels in 2006 has evolved along similar lines in the current timeframe, except you more on the tech side of things, and me on the change management side of it.
Thanks for capturing the conversation, Ton.
Just a short 13 years later, eh? I dove down the rabbit hole of reading that 2006 blog post zylstra.org/blog/2006/09/b…
A regular week in which I,
Worked on finishing a procurement procedure for a provincial client we are helping to roll out an open data publishing platform
Spent one and a half days with another province in discussions on micro subsidies, figuring out how to satisfy some data needs, and on-boarding a colleague, as well as discussion with a service provider to the province
Saw the contract signed for the EU High Value Data List research project that we won with Deloitte and other partners. This research needs to fill in a key element of the new EU regulation on government data re-use. That regulation needs to enter into force in 2021.
Had a management team meeting of my company outlining some key elements for next year
Visited a conference on transparant use of algorithms for public governance for a client
Joined a Decentralised Web Meet-up in Amsterdam to which I was alerted by Boris Mann during a recent conversation, whose business partner Brooklyn Zelenka presented their new business during the meetup. Obligatory selfies were taken.
As a result started playing with IPFS and Fission, resulting in having published a ‘hello world‘ style web page through IPFS
Spent a day with the little one Friday, enjoyed a lovely afternoon in the city Saturday with the 3 of us, and a surprise visit to grandma/granddad today.
We’re heading into December now, and it’s looking like a full last 3 working weeks of the year.
Bridge 48, by Tim Green, license CC BY
Based on my conversation with Boris Mann about Fission, and visiting a Decentralised Web Meetup in Amsterdam because his Fission co-founder Brooklyn Zelenka, I started exploring the technology they work with and are building. First step was getting access to and understanding the ideas behind IPFS.
What makes IPFS interesting
The IPFS about file (if you click that link, you’re visiting a file on IPFS from your browser) says a variety of things, but a few elements are key imo.
First, it is a peer to peer system, much like we’ve seen many before. When you download a file to your system it will come in bits and pieces from multiple other computers, somewhere in the network, who have that file available. Whatever is the easiest way to get that file to you, is the way followed.
Second there is a key difference in how file addresses work in IPFS, compared to the web or on your local drive. We are used to files having names, and addresses being a representation of the location of that file. The URL for this blog points to a specific server, where in a specific folder, a specific filename resides. That file returns the content. Similarly the address for a file on my drive is based on the folder structure and the name of the file. IPFS addresses files based on their content, and does so with a hash (a cryptographic representation of the content of a file).
Naming things based on a hash of its contents means that if the content of a file changes, the name will change too. For every file the content will match what it says on the tin, and versioning is built in.
Combine that with a peer to peer system, and you have a way of addressing things globally without being tied to location. You also have a way to ensure that whatever you find in a given file is exactly what was originally in the file. https://mydomain.com/catpicture.html may have had a cat picture at the start that later got replaced by malware, but you wouldn’t know. With earlier p2p systems to exchange files like Napster of Bittorrent you always had to be careful about what it was you actually downloaded. Because the content might be very different from what the name suggested. With IPFS those issues are done away with.
Currently (location based) addressing on the web is centralised (through domain registration and DNS), and decoupling addresses from locations like IPFS does allows decentralisation. This decentralisation is important to me, as it helps build agency and make that agency resilient, as decentralisation is much closer to local first principles.
Getting IPFS set-up on my laptop
Boris was helpful in pointing the way for me how to set-up IPFS (and Fission). There is a IPFS desk top client, which makes it very easy to do. I installed that and then you have a basic browser that shows you which of your own files you are sharing, and which ones you are re-sharing. It also when you are looking at a file shows where it comes from.
I uploaded a PDF as a hello world message. In the screenshot above the Qm…… series of characters you see underneath the local file name helloworld.pdf is the hash that is used to identify the file across the IPFS network. If you ‘pin’ a file (or folder), you prevent it from being deleted from your cache, and it stays available to the wider network with that Qm…. string as address. Which also means a drawback of hashed-content addressing is non-human readable addresses, but they’re usually intended for machines anyway (and otherwise, there’s a use case for QR codes here maybe)
With IPFS set-up, I started playing with Fission. Fission builds on IPFS, to allow you to deploy apps or websites directly from your laptop. (“build and go live while on a plane without wifi”). It’s meant as tooling for developers, in other words not me, but I was curious to better understand what it does. More in a next post.