back
1 comments
I would imagine a new medium that directly competes with the web. The competition/replace will most likely occur unintentionally, which likely means some existing technology will gain some new feature that does one thing and yet just happens to do it better than they web. If this is what happens then it will be unexpected and not well predicted.

I say it will be unexpected because all the incumbents are utterly reliant upon ad fueled data hoarding for their revenue. Anything better would be massively disruptive economically. Pablo wasn't about to give up cocaine just because rebels were taking over his country. He had to be killed, by surprise.

However, if I were going to intentionally replace the web I would do so around these features:

* Prioritize around streaming sockets. Use something like HTTP as a fallback when everything else has gone to shit, as a security policy allows. HTTP is session-less. Socket first communications will allow must faster full stack interaction, greater security, and ad hoc authentication without all the bullshit of OAuth or SAML.

* Force TLS on everybody all the time without exception, but not rely on certificate authority madness. If you have authentication builtin by default, because everything is socket first, then the certificate madness is only necessary to compensate for the guessing at trust or unknown external parties.

* Abandon HTML and use markdown instead. HTML is mostly simple, and yet nobody can seem to figure out accessibility, semantics, or basic content organization. It has to go.

* Use a new programming language to replace JavaScript. There are several absolutely tremendously amazing things JavaScript got so completely correct, and yet most people who write that for a living will never figure it out. The next language must be single paradigm, strongly typed, and never forgiving. It should retain lexical scope and functions as first-class citizens. It should eliminate access to inheritance outside of custom extensions to the language/environment and should eliminate unintentional type coercion. It would also be nice to have procedures (blocks) that can be assigned to variables and reused without the overhead of a function, and that would also eliminate the gap between declarative and imperative programming styles. Sometimes people deserve to fail, and that concept has worked well for Rust. Its not about what's easy for illiterate people who shouldn't be in that line of work in the first place, but instead what allows rapid prototyping at minimal expense and minimal overhead.

* Pages/documents should eliminate calls to resources outside of the page's serving domain. Third party asset requests, especially script logic, is just a shitty excuse to transfer the cost of privacy/security violations to the user wholesale at no cost/liability to the server, and that's bullshit.

* Allow coupling of media types with codecs and media container support. When that is offloaded to a transport mechanism you don't have to worry about bullshit like iOS media restrictions so that they can entice you to spend money on their app store and iTunes bullshit.