2024-06-27 09:09:53 +00:00
|
|
|
:PROPERTIES:
|
|
|
|
:ID: d8304f8a-8db3-4b57-b87a-1d31230fbe93
|
|
|
|
:END:
|
|
|
|
#+title: The new web and how to achieve it
|
|
|
|
#+Author: Yann Esposito
|
|
|
|
#+Date: [2024-06-27]
|
|
|
|
|
|
|
|
- tags :: [[id:a5be1daf-1010-428f-a30f-8faf95c1a42f][blog]]
|
|
|
|
- source ::
|
|
|
|
|
|
|
|
* The new web and how to achieve it
|
|
|
|
|
|
|
|
I was born before the web, and discovered Internet via the web first as most
|
|
|
|
people.
|
|
|
|
Clearly now, the web is polluted to the point where it is almost unbearable for
|
|
|
|
me.
|
|
|
|
I don't want to start the analysis about exactly went wrong about it. A lot as
|
|
|
|
already been written about it.
|
|
|
|
But let just say, people now forgot about the Internet and focus on the Web.
|
|
|
|
|
|
|
|
So the spirit about consuming the Internet changed a lot.
|
|
|
|
As I remember the Internet, it was first focused on protocols.
|
|
|
|
People would create a new protocol to provide a feature.
|
|
|
|
Typically, chat, voice, file sharing, etc…
|
|
|
|
Let's take for example, chatting.
|
|
|
|
|
|
|
|
The IRC protocol is provide.
|
|
|
|
The IRC need two applications, an IRC server and an IRC client.
|
|
|
|
We saw many different IRC servers be built, in different programming languages.
|
|
|
|
And we saw, also many different IRC clients.
|
|
|
|
Of course, there was always some tension between some server not respecting
|
|
|
|
exactly the same conventions than others, but mostly. This was entirely
|
|
|
|
interoperable.
|
|
|
|
As a consumer you choose the application you preferred to use IRC.
|
|
|
|
|
|
|
|
And the same occurred for, the Web (even if it has changed a lot; [[org:web-engines][see footnote]]),
|
|
|
|
file sharing (FTP, sFTP, then so many P2P protocols), discussion/forum (BBS,
|
|
|
|
Usenet).
|
|
|
|
|
|
|
|
In fact, I would argue that, the "real Internet" consumption, I mean, in the
|
|
|
|
spirit of the founders was the P2P networks.
|
|
|
|
The net was supposed to make direct communication between people.
|
|
|
|
|
|
|
|
Not everything was perfect, very far from it. But it had the property of being
|
|
|
|
really free, as consumer we had a lot more choices.
|
|
|
|
|
|
|
|
So now, we mostly consume the Internet only via the Web and emails.
|
|
|
|
And, as the Web becomes crap, we see a resurgence from the geekiest between us
|
|
|
|
of a will to go back to the old direction. Mainly, decentralization to prevent
|
|
|
|
a single player (generally a big corp) to "enshitify" the experience for
|
|
|
|
everyone of us.
|
|
|
|
|
|
|
|
I feel the crappy web will be here to stay for a long time.
|
|
|
|
But, we can do something about it.
|
|
|
|
First, there is the recent [[https://www.w3.org/TR/activitypub/][ActivityPub]] protocol.
|
|
|
|
This protocol is recently used to build a [[https://en.wikipedia.org/wiki/Fediverse][Fediverse]].
|
|
|
|
I feel this protocol has its flaw, but so far, we have not reached [[https://en.wikipedia.org/wiki/Eternal_September][Eternal
|
|
|
|
September]] yet and I enjoy [[https://joinmastodon.org][Mastodon]] (a twitter clone) and [[https://join-lemmy.org][Lemmy]] (a reddit
|
|
|
|
clone) for example.
|
|
|
|
But I wouldn't write this blog post if I didn't believe that we can do better.
|
|
|
|
|
|
|
|
I feel we reached a point where the web is screwed for good.
|
|
|
|
It is now time to create another protocol that does not need a "Web Browser".
|
|
|
|
Here is my doleances:
|
|
|
|
|
|
|
|
- The client of this new protocol should be EASY to write from scratch.
|
|
|
|
- The client should NEVER allow client-side scripting.
|
|
|
|
- The language into which we express a rendering should be expressive enough but
|
|
|
|
NOT Turing Complete, we must have a language that can be proven to stop.
|
|
|
|
- The user should be in control of the rendering of the content. Disabled people
|
|
|
|
deserve the right to access the content they way they see fit.
|
|
|
|
No equivalent of CSS which should naturally provide a more "article" or
|
|
|
|
"content" type of things.
|
|
|
|
- Bonuses:
|
|
|
|
- the client is mostly retro compatible with small-websites.
|
|
|
|
Can parse basic HTML, will not load js, will not load CSS, will take care of
|
|
|
|
checking some properties before redirect the user. Ideally we should ask use
|
|
|
|
HTTP to ask a HEAD on the resource, and check a specific header that tell
|
|
|
|
us, that yes, this website is compatible with the "small-web"
|
|
|
|
- the client should also be compatible with gopher and gemini.
|
|
|
|
|
2024-08-14 09:35:42 +00:00
|
|
|
I want:
|
|
|
|
|
|
|
|
1. A new protocol for which it is easy enough to write a code.
|
|
|
|
2. Still provide nice features that provide the ability for anyone to express
|
|
|
|
his creativity.
|
|
|
|
3. Would be difficult to monetize with ads, would be very easy to monetize by
|
|
|
|
other means without killing the planet or on top of Ponzi scheme.
|
|
|
|
4. Client can control a lot about what they view. So people with disabilities
|
|
|
|
can still easily consume what is provided.
|
|
|
|
5. Should be reasonably safe an private. If you talk to someone, no one else
|
|
|
|
should be able to listen.
|
|
|
|
6. I would love if a discussion mechanism was integrated.
|
|
|
|
7. I would love if it could be decentralized
|
|
|
|
|
|
|
|
* Solution
|
|
|
|
|
|
|
|
A new application.
|
|
|
|
The UI should not be browser oriented.
|
|
|
|
|
|
|
|
1. identities management based on public/private keys.
|
|
|
|
2. rooms with addresses that should be public or private.
|
|
|
|
3. rooms have a unique hash to identify them, maybe a short name resource mechanism
|
|
|
|
4. web of trust using identities
|
|
|
|
5. Monetization? ... Virtual points?
|
2024-06-27 09:09:53 +00:00
|
|
|
|
|
|
|
* Footnotes
|
|
|
|
|
|
|
|
** <<web-engines>> The Web is entirely controlled by Big corps now
|
|
|
|
|
|
|
|
As a reminder, the Web is just one way to consume the Internet.
|
|
|
|
Internet is about protocols so different computers can communicate across the
|
|
|
|
globe and beyond.
|
|
|
|
And I would like to remind a time were attached to every new protocol there were
|
|
|
|
a set of applications tied to it.
|
|
|
|
So the Web turns around the HTTP/HTTPs protocols whose content is HTML+CSS+JS.
|
|
|
|
The Applications to consume the Web are Web browsers.
|
|
|
|
For web browser to render a website correctly should have a lot of features, so
|
|
|
|
much that for that you need a /Browser Engine/.
|
|
|
|
The complexity of these Browser Engine is so huge that it would be very
|
|
|
|
difficult if not impossible for just a small group of people to be able to
|
|
|
|
create a new one from scratch.
|
|
|
|
As of today, there are very few choices, looking at this [[https://en.wikipedia.org/wiki/Comparison_of_browser_engines][Wikipedia page]] there
|
|
|
|
are only 4 active browser engine.
|
|
|
|
Most controlled by tech Giants (Apple, Google and Microsoft) and the last one
|
|
|
|
Gecko is controlled, mostly, by Mozilla but is currently very dependent
|
|
|
|
financially from Google.
|
|
|
|
|
|
|
|
Does it matter? I think so yes. It is now, very easy, for these big players to
|
|
|
|
enforce policies that are against consumers best interests.
|
|
|
|
I guess you can imagine a few of them.
|
|
|
|
Through the browser engine you could alter the rendering of any website.
|
|
|
|
|
|
|
|
** The new web became an open application download platform.
|
|
|
|
What really changed recently, is that, we added, layer after layer.
|
|
|
|
The new web mix content website with applications.
|
|
|
|
A website that is in fact an application, or contain an application.
|
|
|
|
As long as you use the application in the "virtual machine" that is the browser
|
|
|
|
engine, you're good to go.
|
|
|
|
The system will download the application without any warning, and it will launch
|
|
|
|
the application without any warning. And you are slightly protected from most
|
|
|
|
nefarious use case but not all. Typically, I could easily put an js that run
|
|
|
|
crypto-money mining and there is not really anything you could do about it.
|
|
|
|
I am even very surprised most website are not already doing something like this.
|
|
|
|
This might be an even better mechanism to earn money than ads... Anyway, it
|
|
|
|
would waste so much resources, I'm glad this is not the norm... yet.
|