1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
# What the web could be
This is my over-optimistic goal of a better web. What do I mean by better? I mean the Worst is Better idea of better. By better I mean a lighter, more standard, and practical web. A web for the UNIX philosophy.
For my "better" web to work a couple of things (that will never happen) need to happen:
* People need to learn the command line
* People will have to get sick of JS
* People will have to like plain text
* People will have to use a 9p based os like Plan9, 9front, inferno, or even Linux which has 9p capabilities
Of course, that will never happen, but if that sounds like you keep reading.
Note: From here on out, Plan9 refers to a 9p capable system with plan9port
Ok, here's my idea: Build everything around dedicated protocols, for the sake of this article, let's say Gemini for plain text pages, email for person to person communication, 9p for file sharing (For those who don't, on plan9 everything is a file so file sharing is A LOT of things), blockchain for payment (more on this soon), and IRC for group messaging. Each protocol provides a standard way of communication with the internet.
You may have noticed a pattern there, all of those protocols are built around plain text. Why? Well plain text, especially with utf 8 is *universal* it can be read from a cli, it can be stored in files, it can be piped in between programs (and therefore protocols), and it's light on computing power.
Plain text is good for anyone who reads it, including unintended parties like ISPs and governments. So, In this better internet encryption is required for just about everything. To be more specific, TLS. Why TLS? It's simple, strong, and everyone is using it. Encryption is the best way to keep governments and companies out of your hair; that's one of the goals of this new web.
The question rises, signed or self-signed TLS certs? I personally say self-signed, why? The user has full control over accepting and managing certs., it greatly reduces the operating complexity, and amount of data transferred . The user is not stupid.
So, why multi-protocol? Because each protocol has its purpose, does it, and does it well. That is the UNIX philosophy, the philosophy I think all software should follow.
The simplicity serves another purpose, to get rid of user tracking. We have created for ourselves, a massive industry of buying and selling personal information. Every day companies make millions of dollars selling *you*, so people can sell stuff to *you* - That's not right. A new web should resist tracking. In the new web we should make clear that data privacy is a top priority.
On this mission we also find the sad state of email. As I write this , email is controlled by a few mega corporations (Google with Gmail, Microsoft with outlook/exchange, and Apple with iCloud - I literally just named the three largest companies) and spam block you if your not sending from one of them ( I get full on bounced by Microsoft and Apple and sent to spam by Google). Email is also haunted by HTML; A piece of the web we're trying to leave behind. This HTML capability leads to tracking just for opening an email, sure you can disable HTML, but then you mail becomes unreadable. The best way to curb this trend is use a CLI mail client like nedmail(1), mutt(1), or what ever they use in Acme and Emacs.
We also find the state of IRC, which is good. TLS is used often, it's still true to its purpose, and it still does it well. The only issue I can see is the massive amount of control Freenode has over the landscape. So, all in all, IRC is great.
And now we find 9p. If you've never heard of 9p it's the file protocol that powers Plan9 and inferno (it called Styx on Inferno, but it's the same thing). It's also used in Windows for WSL - NTFS communication, and used on Nixos for various things. 9p works great for file transfers over the network, though it can be slow over a high ping connection. 9p can also work great as a chat, though as of now moderation is very difficult to impossible. On 9front, 9p works over TLS making it plenty secure and with the great auth. systems available with tlsclient -a user login is quite easy. 9p is a much better protocol for file transfers then FTP (which can be exported over 9p) and http[s], it is the best choice for this new internet.
Gemini is a medium of Gopher and The Web, it leans more towards Gopher, but it added some features that make it quite appealing for a new web. It basically takes Gopher adds a TLS requirement, text prompts, hyperlinks, and client certificates. That's it. And it's GREAT! It does everything you need it to do, and nothing more. It's fast and built to beprivacy preserving.
Now we get to the issue of blockchain. Blockchain is the clear choice for this new web. It's Privacy preserving, secure, and transparent. I haven't chosen a blockchain as my favorite yet, this is mostly because there isn't any wallets for my os of choice, 9front, as of now I have Ethereum, but I'm very open to other options.
This web is designed to be user tracking resistant. Unlike on The standard web there is no good way to track users, certificates, and IPs can be changed, there's no fingerprints,there's no cookies, and no Javascript- just content. Of course you can still engage incommerce, just in a way that puts the user's security and privacy first.
The web has grown, a lot, in the process some things where overlooked leading to rapid feature bloat - resulting in the need for a multi-hundred megabyte web browsers, a loss of privacy, and mass surveillance by governments and corporations. We can end that. While my view here is much too optimistic, I'm going to at least try to make a new web possible.
--
Fulton - 2021/01/22
=> https://en.wikipedia.org/wiki/Unix_philosophy
=> http://shellhaters.org/ cli
=> gemini://drewdevault.com/2020/12/12/Shell-literacy.gmi
=> http://harmful.cat-v.org/software/node.js
=> gemini://gemini.circumlunar.space/
=> http://doc.cat-v.org/plan_9/4th_edition/papers/net/
=> http://doc.cat-v.org/bell_labs/utf-8_history
=> gemini://tilde.team/~ew0k/posts/certificate-security.gmi
=> gemini://drewdevault.com/2020/09/21/Gemini-TOFU.gmi
=> gemini://republic.circumlunar.space/users/xkp/gemlog/2020-11-19-no-mozilla-we-dont-want-you-to-break-the-web.gmi
--
other people, projects, and post with similar goals:
=> gemini://drewdevault.com/2020/10/22/Firefox-the-embarassment-of-FOSS.gmi The web is dead
=> gemini://republic.circumlunar.space/users/maugre/200701-smolnet.gmi smolnet
=> gemini://zaibatsu.circumlunar.space/~solderpunk/phlog/the-casino-web.txt
=> gopher://circumlunar.space circumlunar
|