Now we welcome Eric, who we talk about seed hypermedia, the future of digital sovereignty.
Let's welcome him.
Hello.
Okay, so my name is Eric, I'm on the founding team of seed hypermedia and today I want
to talk to you about the future of the web.
Because on our team we love the web so much, but as you know today, and I hope you do
too, right?
Does anyone here use the web?
I think so.
Okay, that's a few of you.
The web today sadly looks like this for many people and for some of us as well, I mean
on a practical basis, I'm using all of these, and I think this is really depressing that
we have these companies in between us, moderating what content we're posting, and
controlling our minds with the news feed.
Basically, I believe we're living through the dark ages of the web, and it's not just
the centralization, there's a lot of fundamental features that we are lacking in the web.
So let's quickly talk about them.
Have you ever clicked a link and nothing was there?
Dead links, broken links, I think this is an incredibly detrimental to human knowledge.
This is such a disaster.
Also the web has no built-in archival system, I'm sure you're aware we rely on one organization
as great as they might be to basically back up the web, and that's also the only way that
we have on the web to know what was there yesterday.
There's no built-in version history on the web, and so we use the way back machine, and
I love the engine at archive, but we shouldn't be putting the world on their shoulders
to back up the web and provide version history for us.
The web doesn't have any unified identity system, so unless you want to log in with Facebook,
you can't take one identity from one website and go use it to do something on another website.
Also the web has a lot of friction if you want to publish something on the web.
This is why I think people are using social media so much, because from your phones, you
can't really spin up a server and FTP into a server and write HTML, so we have to rely
on all these services that add so much friction to putting something online.
Also when the web was founded, the hypertext community noticed that it didn't have any
backlinks, so you couldn't see who is linking to you, and they told Tim Berners
Lee, this web thing is never going to succeed, and because it doesn't have backlinks,
and also links, you have broken, they were criticizing him for that on day one, and they said
it's never going to succeed, and they were right about those things, but they were wrong
when they said it would never succeed.
Also the web, which doesn't have a trust system, and I think this is super, super problematic,
because when you are interacting with somebody on the web, it's kind of like the wild west.
You don't know who you're interacting with, and this has led to just an extreme proliferation
of slop and spam.
So for those reasons, I think we are enduring the dark age of the web, and I think humanity
deserves a web where we connect directly with each other, and I think that people in this
room and those watching have the opportunity to come together and become the inflection point,
so that we can move away from the dark ages and towards the renaissance of the web.
But how might we do that?
I think there's a few ingredients, and for one, let's start with a foundational technology.
This is why we're developing our protocol.
We call it the hypermedia protocol, it's quite an ambitious name, I know, but we're going
to stick to it, and so the hypermedia technology, hypermedia protocol is built on some really robust
foundations of lip p to p and IPFS, so lip p to p is our peer-to-peer networking stack, and IPFS
is what powers the content to add dressing of our system, content to add dressing, I'm sure
most of the people in this room know, is a really cool concept, because it allows you to take
a big chunk of data and identify it by its hash.
So that means this data cannot change, which is both a feature and a future problem that we will address,
but most importantly, this means that you can trust data from anyone, because if you ask for some
data by its CID, they give it to you, you can validate it, so now you can get your data from anyone,
and what that creates is an open network of archivists, so suddenly we no longer depend on
one organization to archive content, as long as we keep track of some CIDs along with some future
techniques. So we're going to develop a decentralized sink engine so that way we can handle mutations
in our system. It's, you know, we've been talking about sink engines all day, but oftentimes
your local first application is going to be talking to one server. Now we're going to start talking
to everybody, and we'll see how we can manage that. At a very simple level, let's take a look
at one node and note that we have some immutable chunks of data in here, which are our document
operations. So it's describing how a document is changing over time. I'm going to move fast because
I think everyone here knows where this is going. Basically, you can iterate over each of these to
understand the current state of the document. This is Alice, she's making her own version with
her own changes, and she arrives at her own version by iterating over each of these. Meanwhile,
Bob is on the other side of the world. Bob is on a boat we like to say on our team, and so they're
not connected, and they're making concurrent changes on the same document. So how do we solve this?
Well, when they come online, they exchange the data, deterministically sort each of these
operation blobs, these change blobs, and then go ahead and evaluate them, and they've arrived at
the same state. So this is our oversimplification of our CRDT, and how many CRDTs tend to work,
and I don't have too much time to go into it, but I'm happy to tell you more about the details
of our CRDT later. So the other thing is that these two might not be talking directly to each other.
Those blobs that are exchanged might have gone through a bunch of intermediaries.
So how do you know, how does Alice know that those were Bob's changes? Well, of course,
everything is going to be signed. So that means your private key is your identity,
and what we've started off with is we started off with allowing you to create a private key
and get it as a 12-word nemonic that you are then responsible for saving
into your password manager, or writing down or whatever. It's your responsibility to keep it safe.
But what we found in practice, trying to do this with real users like normal people,
is that no one can save 12-words. They will forget to. They'll click the checkbox that says,
yes, I've saved my 12-words, and then the next day they're going to say, I don't have them,
and we get very frustrated. So we're adopting an approach, we haven't finished this yet, but we're
working on it right now, where we store the encrypted keys on a remote server by taking a few keys,
one of many keys into a vault, encrypting and saving them on identity server. And this is how
password managers keep your identity safe. This is again an oversimplification, but I'm happy to
tell you details later, and really I'm not the right person to be giving that talk. But this is just
the tip of the iceberg for the foundational technologies that I think are necessary to build a better
web. What else do we need? Well, I think we need really accessible interfaces. We need to make it
super easy for normal people to get on to this thing, because otherwise we're just going to be
living in our own world where all of the gigs are talking to each other using some cool new
technology. So of course, we're starting with a local first desktop application. It looks like this.
It acts as a browser. It acts as a publishing tool with a wizzy wig editor. It acts as an archival
tool, and because it's a peer-to-peer node, it also acts like a server. But a lot of people don't
use their desktop very often, or they don't want to install a new application, or they don't trust
us yet. So we're developing a web application as well. And in the web application, the peer-to-peer
node is running on the back end. Anybody can self-host this, of course. And it's used to power
phones and lighter weight environments like Chromebooks. So it's eventually going to have
basically all the same features that the desktop software has, but you're of course going to be
happening to trust this server that you're talking to, trust this domain. Okay, so accessible interfaces.
We need really rich content for you to be publishing. So we have a block-note like editor, where I
sorry, we have a notion like editor powered by block-note. It's got all the different types of things
that you might want, and we're hoping to make it accessible in the near future so that you can
add new types of content into your documents that are sort of custom to you. So what else? What else
do we need for humanity's information system? We need to be able to make really deep and
precise references. So here I'm copying the exact version of a certain document. I think that's
really important that you can be able to reference the exact version, snapshot it in time,
referenced through the CID, the IPFS CID. Also, you can drill into a document however you'd like.
You can reference a single paragraph. You can reference a section of a document because every document
is composed as a hierarchy. And you can even reference just a string, just a section of a paragraph,
a text range. And when you do this, you really should be referencing the exact version so that
way your selection is not changing out from under you. What else do you need? Well, one thing I
didn't mention is that the web doesn't really have the ability to embed part of one page into another.
The web has eye frames, but this is not really what we're talking about. You might want to take
part of somebody else's content and put it into your content because they did a good job,
and you want to reference them. And when you make that reference, by the way, you're copying it
into your server, but you're not stealing their content because you're not stealing attribution.
It's all been signed by them. So this allows you to solve this problem of, do I link to the
website where a link can be fragile or broken or do I copy it, which is kind of like plagiarism?
This is neither. And this is archiving the content and making it so that their their page,
their document is backed up just one step further and can be available to anyone who's
browsing your site now as well. So we also support collaboration as I was alluding to with Bob
Analysis and Bob being on a boat. And so when you add a collaborator, you're creating a certificate
capability. So basically if Bob is inviting Alice, she's signing something that's saying
Alice is invited to collaborate on a document. And this works a lot like you can if you're familiar
with those. And we're going to go into a lot more our capabilities are pretty simple right now,
but we do have functioning document collaboration. It's one of the most important things
that we're going to save the web. Next up, we are not going to rely on social media as the
layer of commentary anymore. Conversations are a first class citizen, not an afterthought. You can
comment on anything, comment on documents, comment on other comments. You can cite anything from
your comments and your comments can be cited using all of those same sophisticated techniques that
we talked about earlier. Citations, which are basically backlinks, is you can see when somebody's
referencing your documents. This is really, really important to create a sort of thriving knowledge
system on the web. You shouldn't have to go to Google to see who's been linking to you.
And we also want to make it really easy to publish. Even if you don't have your own server,
you should be able to get on to the web. So we are running a free service at hyper.media slash
hm slash public key, basically, where your peer to peer content can get on to the web with one
click. So you use our desktop application. The desktop application talks to the A gateway server,
which by default is our gateway server because we want to make it super easy by default to get on to the
web. And there you go, one quick publishing from a desktop application, but keeping your sovereignty
because the key is never leaving your device on encrypted. Okay, we also want to have really
beautiful URLs. This is actually one of the coolest features of the web is that you can see
what you're going to get before you click it. And this is a bit of a fragile URL because
Eric.vescenty.net, this is a domain that I'm paying for right now because I'm alive. But in the
chance that I die one day, it's possible that I will die one day. And I think that there should
be a way to access my content anyways. So basically, my public key will allow you to address
this anyways. And you can talk with your friends to sort of figure out, oh, this domain is gone,
but it used to point to this public key. So eventually we can add a layer of what we call a
distributed link base. This is just a term that we're using to basically resolve this into a
hypermedia URL, which is clear to fear. Hey, distributed link base, let's go.
So by the way, well, my domain is online. There is a mechanism where you can just immediately
resolve it to the hypermedia URL. So whenever you're referencing it from your content,
like you can paste in and you can open the normal HTTPS URL, but it gets resolved to what we call
a permanent URL, a peer-to-peer hypermedia URL, under the hood. So all of this is like really
relevant for your like users, like normal people, but I'm in a room full of awesome developers.
And I believe that we need to deliver really great APIs, SDKs, command line interfaces, and agents,
and genetic interfaces, because this is also part of making an accessible technology. It needs
to be extensible and accessible to everybody. Okay, I probably need to move faster. This is two out
of the three ingredients that we need for a new web. But lastly, I believe we need to invest
in the web of trust, because the peer-to-peer web is messy and dangerous. It's not as simple
as Bob and Alice and Bob being on a boat, because, you know, there's a lot of us out here.
I don't even know which one of these is Bob and Alice. I didn't keep track. And a lot of these people
might not have your best interest in heart. Like they might be running faulty software,
they might be spammers, they might be attackers. So what's really important is to hold on to your
identity and be able to associate it properly with people in the real world, to be able to associate
it identities. As we talked about, we're supporting domain names. We're not going to be selling
a token for you to get a name. You can resolve a domain name to a public key using HTTPS and
pretty soon we're going to allow you to just use a DNS server because that's simpler for some
people. And you can check the signed data that your public key is signing to see what domain
is resolving to. So we have this really strong link when it works, but sometimes the domain might
change, sometimes the key might change. So we're going to need to build software that makes this
a little bit more sophisticated in the future. And some of this complexity will actually need to
be exposed to users, which is unfortunate, but it's just a reality of having a stable identity
that you properly own. And we're going to build upon more trust systems, not just domain names,
but we're going to make it easy so that your personal relationships can exchange public keys
basically face to face. And of course we're going to link your keys to social media accounts
and basically any other system that you're interested in. If you know what key base is or was,
this is that and we're just trying to do it again. So we need to have signed social validations
so that one key is providing trust metadata about other keys. Usually it's saying like, oh I'm
following you, I like you. It's much like following on Twitter, but Elon Musk doesn't need to be
involved. And what we're going to do is we're going to form a web of trust. So that way we can connect
with each other in a reliable way. I might trust a couple of you and you might trust each other,
and within a few hops we know that we're in a really good space. So these are the ingredients
that we need to build a better web. I'm really excited about this if you can't tell.
If you're interested in our software you can check out c.hyper.media or get hub where a patchy too.
Yeah and we're also opening this up as a protocol so that you don't even need to use our software
if you want to communicate in this way. Although it's a little bit underbaked and under documented,
but get in touch with us if you're interested and we're going to support you however we can.
But before we finish, I do have to be honest with you because when I tell people about this project,
they seem excited, but also I can tell that they've had their hearts broken before by similar
dreams that did not pan out. People will say, this has been tried so many times before,
but what they're really saying is that this is impossible. And sometimes this gets to me because
I've also had my heart broken when it hasn't worked out in the past and people have had these
really ambitious dreams and there are so many inspirational projects that haven't ignited the
revolution that we need to improve the web. These are some of our heroes. They're the creators of
the Hypertext movement and they spent a lifetime trying to implement these ideas in the modern world.
We've learned so much from so many initiatives and I'm going to show a few of them that have inspired
us in no particular order, but they haven't all survived. Some have faded away. Some have shut
down or sold to a big company. Some of these projects are great but they have a very focused scope
and they aren't trying to solve the biggest issues that we face in the web. And some of these projects
live on but regular people haven't managed to adopt them. So when it comes to building a better
web with mainstream adoption, it does seem impossible and it will seem impossible until we've done it.
So I believe that it starts off with a few dreamers who have a vision for a future that everybody
else sees as crazy. But before you know it, the concept is proven and what I find amazing is that
in a very short period of time it becomes integrated into society so deeply that most people don't
even think about it. So I believe we're including the most important ingredients but I don't believe
that's enough. Our team has been working on this for five years and we refuse to give up,
we refuse to pivot and we refuse to narrow our goals and even that is not enough. We need community
leaders, knowledge managers and developers like yourself because together I believe we have the
opportunity to build a better network for humanity. So what do you say? Do you think we can build a
better web?
That's quite a right.
We reached the end of the day of the room. Do you say she wants to come with me to say goodbye to everyone?