The 2024 Wheel Reinvention Jam just concluded. See the results.

Why no new web front-end?

I haven't done any web development, however, I've heard a lot complain about JavaScript, CSS, HTML etc.
Is there a good reason why no one is developing the equivalent of JAI, i.e. inventing a new independent web-language and making a browser for it?
Is the adoption problem insurmountable?

If one were to do this, how do you think should such a language be?

Edited by Benjamin Pedersen on Reason: Adoption problem
Because it will be much harder to get people to use it.

For compiling executables (applications or games) it's easy - you just create your own custom language, but the end result, the executable, is in same format as usual. So any user can easily run it without doing anything special.

But if people will be required to use custom browser too see your special web pages, how you will convince them to do that? Run another software just to see your page? Nobody will do that. Or how to convince big/popular sites to develop using this custom web framework? Why would they do that if nobody will be able to see them. Chicken and egg problem.

It would be like developing your game and requiring user to run your custom developed OS to actually play it. Nobody will do that (unless you create your own console).

Edited by Mārtiņš Možeiko on
mmozeiko
Because it will be much harder to get people to use it.

Thanks for your answer. I should have mentioned that I know about the adoption problem and that it seems insurmountable. You seem to think that it is or at least the reason why nobody is doing something. You make many good points and you're probably right. It would definitely take many years, but I still think someone ought to try. Maybe it could be possible to make a converter into HTML to ease the adoption.

mmozeiko
It would be like developing your game and requiring user to run your custom developed OS to actually play it. Nobody will do that (unless you create your own console).

Basically everybody can install a browser in a minute and it does not significantly change how you use your computer. The opposite is true of an OS, so this comparison is too extreme in my opinion.

Edited by Benjamin Pedersen on
Yeah, but try explaining to my grandmother what does "install" and "browser" means.
Benjipede
It would definitely take many years, but I still think someone ought to try.

We could have all the best niceties--actual binary data, sane development environment(s), ludicrously more simplicity, full real encryption, no involvement of interested parties--if the Web were completely rebuilt with a unified vision. Compare C++'s design-by-committee with Go's three-person design: there is simply no contest. The Web ain't no Bell Labs Unix or Xerox Alto.
I'm not asking to tear down what exists, I'm just arguing to have the alternative. If you penetrate the defeatism and status quo bias about "the adoption problem" etc., you could really make something high-quality.

Edited by Phillip Trudeau-Tavara on Reason: Clarification
pmttavara
We could have all the best niceties--actual binary data, sane development environment(s), ludicrously more simplicity, full real encryption, no involvement of interested parties--if the Web were completely rebuilt with a unified vision.

I have heard that the actual infrastructure of the Internet was cleverly designed, and that most of the problems are with the things on top of it, e.g. HTML and JavaScript. As far as I can see the way to solve these problems is by doing what I proposed: Invent a language, maybe some kind of compiler to optimize execution, and a browser that can run it.
Is this what you meant?

pmttavara
I'm not asking to tear down what exists, I'm just arguing to have the alternative. If you penetrate the defeatism and status quo bias about "the adoption problem" etc., you could really make something high-quality.

You seem to have some knowledge about what is possible and what should change. Do you want to elaborate on that? My hope is that someone will begin a serious discussion on this topic like Jonathan Blow did in September 2014 and then will feel compelled to implement something.
The problem is that there are a lot of companies out there which makes money with the way the web is setup right now.
They clearly dont want to change that. Such companies just dont care about alternatives, even when the alternative would be totally kickass. Unfortanatly 95% of all the web is all about such companies.

So the idea about a alternative is nice, but totally impossible to get it to the people.

The only thing which would work is to fully wipe out all the standards we have right now (HTTP, FPL, HTML, JavaScript, all the browsers etc.). Only the TCP/IP stack would remain and then we can start from scratch an do it right.

Edited by Finalspace on
Finalspace
So the idea about a alternative is nice, but totally impossible to get it to the people.

The only thing which would work is to fully wipe out all the standards we have right now (HTTP, FPL, HTML, JavaScript, all the browsers etc.). Only the TCP/IP stack would remain and then we can start from scratch an do it right.

Is it not possible for a team of a few smart people to do develop this? I might be ignorant of what this requires technologically, but please explain.

The adoption problem can be separated into two very interdependent problems: Developer adoption and user adoption.

I think user adoption is much easier than many seem to think. If people really want to use a website, they will also be willing to download and install a program (browser) in order to use it. It is not comparable to people having to install an OS. It is comparable to installing a video game in order to play it, so I don't think it will be that hard to get people to use it. This is of course meaningless if there is no developer adoption.

Developer adoption is probably much harder as you also point out. Primarily because of unsolved state and the perceived hardness of the user adoption problem, but also because the barrier to entry is a lot higher for developers. Thus the tools of course have to be great and developers have to convinced that users will come. Then there will be a positive feedback loop of higher adoption.

Of course the powers that be will fight against it as with most things, so it will not go fast. However, I think the biggest hurdle is probably getting it going in the first place. But maybe the Handmade community is the dry wood that can catch the spark. By that I mean that this community was founded on the hope that we can have nice things if we put in the work, so I would think many people here would be willing to try to be the first developer to adopt if given the option. There might not be enough web developers here though.

Edited by Benjamin Pedersen on Reason: Made it a lot clearer
Benjipede
Finalspace
So the idea about a alternative is nice, but totally impossible to get it to the people.

The only thing which would work is to fully wipe out all the standards we have right now (HTTP, FPL, HTML, JavaScript, all the browsers etc.). Only the TCP/IP stack would remain and then we can start from scratch an do it right.

Is it not possible for a team of a few smart people to do develop this? I might be ignorant of what this requires technologically, but please explain.

The adoption problem can be separated into two very interdependent problems: Developer adoption and user adoption.

I think user adoption is much easier than many seem to think. If people really want to use a website, they will also be willing to download and install a program (browser) in order to use it. It is not comparable to people having to install an OS. It is comparable to installing a video game in order to play it, so I don't think it will be that hard to get people to use it. This is of course meaningless if there is no developer adoption.

Developer adoption is probably much harder as you also point out. Primarily because of unsolved state and the perceived hardness of the user adoption problem, but also because the barrier to entry is a lot higher for developers. Thus the tools of course have to be great and developers have to convinced that users will come. Then there will be a positive feedback loop of higher adoption.

Of course the powers that be will fight against it as with most things, so it will not go fast. However, I think the biggest hurdle is probably getting it going in the first place. But maybe the Handmade community is the dry wood that can catch the spark. By that I mean that this community was founded on the hope that we can have nice things if we put in the work, so I would think many people here would be willing to try to be the first developer to adopt if given the option. There might not be enough web developers here though.


Its definitly possible to solve all the technical issues we have right now, if we fully restart from a good base (TCP/IP) - especially done by handmaders ;) We could certainly create a alternative from a technological point of view.

What we need is a few things:

- A new protocol for transferring binary data based on security and stability (Basically a HTTP/HTTPS replacement)
- A isolated low-level language for transforming packets from that new protocol
- A server application for serving in/out packets (HTTP-Server replacement)
- A browser replacement which understands the new protocol

Now here comes the caveat, or rather random ideas i have:

- The protocol packets must be encryted, but decryptable by some sort of a key
- Packets cannot be cloned, every packet is unique
- The server application must be able to decrypt and re-encrypt the packets
- It should not be possible to decrypt the packets before it reaches a server
- Each server/user must have some sort of unique identification
- A packet is for one user and one server only
- User to user (Peer-to-peer) packet serving should be possible as well

- The main problem is how to uniquely and reliably identify a user and a server (Impossible/Unreasonable to hack with current hardware)
Designing crypto protocols is hard. Don't do that unless you are expert in this area. I mean.. its ok to do that for "fun", but for real shippable products don't do that. Using cryptography means that there are things to protect/guard against. Breaking it due to poor design/implementation can lead to very serious issues to your users, as it has happened already countless times.

- Each server/user must have some sort of unique identification
This is terrible for privacy. Possibly against law in some countries.

Looking at your random list - almost all stuff on it is already solved by TLS. Today its version 1.3 was approved, which has great many improvements over previous versions.

Edited by Mārtiņš Možeiko on
I think this is a very reasonable project and not really as insurmountable as some people might think.

After all, the browser is basically an application that can draw custom GUI, and exposes complex APIs to let the programmer control said GUI.

It also acts as a sandboxed virtual machine.

Now, regarding adoption:

It could start as first a cross-platform application development environment. Instead of relying on "Electron", you rely on this new thing, that lets you create cross-platform GUI apps but without the RAM and CPU cost that Electron comes with.

Sort of like Qt, but a better version of it.

Then, you create a protocol so that applications can be identified and downloading via a URL, similar to webpages. Except instead of a page, it downloads the source code, written in a language like JAI, and gets compiled instantly to a restricted/sandboxed subset (or even a VM).

Anyway, what I want to say is: You just need to have really appealing applications that require this new thing to run.

This is how people started downloading Flash back in the day. There were lots of interesting "games" online that required flash, so people installed it.

Flash was also a commercial IDE for creating rich interactive multimedia.