A noJS and highly hackable browser engine.
fe33cf35 — Adrian Cochrane 13 hours ago
License under the GPL3 or later.
15700eaa — Adrian Cochrane a day ago
Configure git to ignore extraneous from Cargo and elementary Code.
268f6cd1 — Adrian Cochrane a day ago
Tidyup debugging output for easier testing.


browse log



Memex browser engine

Memex ultimately aims to show that it can be desirable to remove JavaScript from "the web platform" and instead move more in the direction of HTML and CSS. That doing so the web will not only improve security, but also:

  • strengthen consent/trust,
  • be easier to program against,
  • work naturally with a greater range of UI devices,
  • and possibly use less computing power.

All while providing alternative specifications so websites can continue to deliver the usability benefits they currently get from JavaScript.

Though before we can present alternatives, we need a browser engine that's hackable enough for us to quickly try ideas out. And we'll achieve that by not implementing JavaScript or the Document Object Model.

It will share significant components with Servo/Gecko, and thus implemented in Rust.

Memex priorities

  1. Do not run any untrusted code, even in a sandbox.
  2. Be easy to understand and contribute to.
  3. Avoid causing further collatoral damage.
  4. Where it doesn't make a difference to code readability, choose greater performance.

We are more than happy to accept contributions to fix the rendering of any webpage you care about, and would consider it a bug if that's too complex of a task for you. At the same time we'll be kept busy with just the basics and trying new ideas out, so expect breakages.

What's with the name?

The Memex was an early hypertext concept, which was going to be built using microfilm. Hypertext is what characterises The Web, and we wish to highlight that.

Also memes are an academic term (commonly used causely to refer to online pictoral forms) for ideas that spread. The possibilities of a post-JavaScript web is a meme we wish to spread.