Yes, there are a lot of browsers out there where I can contribute to which would be more efficient. But that would result in just a few browsers instead of a lot of browsers. I'm all for the last one, as this would give people options.
This IS a pet project. I never told anyone otherwise. I would start writing it even when I wasn't fed up with the tech industry. But I get angry about not being able to do anything about anything. And this is my way of trying to do something about it. It's the best I can do.
I think this project will not result in an actual browser. That's not why i'm writing this. I want people to see my code, either laugh at it, or get some own idea's to make things better. For instance, I LOVE the whatwg site where the whole html5 tokenizer and parser algorithms are step by step described. This means it should be easy(?) enough for anyone to write their own html5 parser. What would happen if google and/or microsoft decide to create their own custom html5 (html5, ghtml) as a closed format? Who would be able to stop them when they have such a market share?
I want to start for scratch - BECAUSE i want to know more about the underlying technical challenges.
This attitude is gold, and it's what changes the whole world.
What you said about the misery of "news" resonates with me. In psyops we call it "sapping". Propaganda designed to demoralise, dispirit and corrode resistance used to come from our enemies. The classic example was Lord Haw-Haw [0]. Today our own mainstream news channels and technology giants seem determined to keep the population in perpetual hopeless anxiety.
As you do, I find the discourse around tech to be a pit of dismissiveness, avoidance, denial, resignation, and learned-helplessness. I've been doing a lot of interviewing people lately, and careful sentiment analysis. The results are horrifying. The very word "tech" is becoming synonymous with "Resistance is futile".
To stand up and do something, anything, not because you hope for success, but as an example, and for your own sanity, is the most positive and human of responses.
I have a whole tirade on this, but I completely agree. It seemed while going through college that the whole prescriptivism and general attitudes in tech are built in such a way so as to discourage certain mindsets which the industry DESPERATELY needs, and my hypothesis is that not having representation of those mindsets across the board has contributed to a much of the degradation of UX over time (along with collective laziness of course; low level languages being more work to use, much as I enjoy high level conveniences myself).
Do you think this is why people are abandoning the GPL license in favor of MIT/BSD? Something about the fight the GPL aims to win being a hopeless fantasy? In the face of the sentiment you and OP express, I'd think GPL usage would be widespread.
The US government is undeniably often working against the best interests of its citizens.
Corporations, corporate news, and advertisers are also working against our best interests. Im not sure any mindful and reasonable person would refute this.
However I will be charitable in saying that I don’t think they’re making us hopelessly anxious to subjugate us. They’re doing it because it’s profitable
Honestly, my biggest takeaway from this article is that the guy was hanged for treason against a country he wasn’t even a citizen of…
The vast majority of people enjoy each other and don't subscribe to the vitriol that comes from both sides. In that manner, the internet is a bit of an echo chamber where if you get all of your impressions of the world from it, you'd think people were constantly at each others throats.
The news is the same way, they report negativity, so it has a real tendency to make you start thinking of the world in such a negative way.
That's not to say there aren't real threats out there, but the vast majority of people are just trying to get through their day.
This happens to police officers too, most of their interactions with people are negative due to the nature of their work, over time that starts being their default position towards people. I'll never forget the time I walked into a bakery and decided to get a cupcake for the police officer sitting in his car outside the shop (he was blocking the alley, unsure why). The change in his face from defensiveness to pure joy when I walked up to this vehicle was easily worth the money spent.
I used to see that sort of haughty "well why do you want to do X" response all the time on stackoverflow/its ilk (I've basically deprioritized results from that entire network of sites now), which isn't even a good tack as there are plenty of others who might want to do X for other, valid reasons; "why" shouldn't even be a question as far as learning goes.
Money is great, but it's not everything. Good luck, OP!
https://en.wikipedia.org/wiki/History_of_Linux#The_creation_...
Good luck to the OP!
I think that is a great attitude to start with.
When you build something with the attitude that it's for you and not "meant to be big and professional like GNU" to paraphrase Linus Torvalds, you can often achieve a lot with far less effort.
It allows you to be pragmatic and accept things that you otherwise might not, and you can get to something useful to you whether as a learning experience or to actually use with a tiny fraction of the effort you'd want to invest if you intended to build a "product".
A lot of my personal projects have involved stumbling over a project like yours and repurposing parts, and often veering off in entirely different directions, because it's often so much easier to pick up someones small pet project that is "close enough" than trying to pare down or adapt a huge, feature-complete beast.
With a browser, a huge part of the complexity comes from needing to support every site out there, and every usage scenario, but when you build for you, already just being able to focus on making sites you care about work well enough pares the problem back enormously...
And this is a long way of saying I think more people should take on "impossible" projects. Maybe the full thing won't be useful for other people anytime soon, but maybe parts of it will be, and sometimes something bigger comes out of what starts as a small pet project (like Linux did...)
If even half the time spent telling people that their project is pointless waste of time was spent doing something constructive instead, the world would have a lot more cool and interesting projects in it.
Better to fail at something bold and ambitious than not even try at all.
Making >> Not Making, always.
You make, you learn, perhaps one day you will make something better, perhaps not — but at least you've been building something. Ignore the armchair critics, criticizing is so much easier than building.
You don't have to implement all of the functionality of modern web browsers. You don't need battery APIs, game controller APIs, USB, etc. Focus on what is important - HTML, CSS, JS.
Worst case scenario - you will learn something new.
Best of luck on this project!
It’s a Herculean task. What’s important - HTML, CSS, JS are highly complicated, even if you exclude other APIs.
It’s really cool pet project. But don’t expect anything usable as a result.
I know it is kind of hypocritical for me to say that, because I come from a generation that fought for standardization and against all the "This page works best with IE4", but I've come to the realization that while we certainly have progressed we've not really accomplished what we'd set out to.
Nowadays, I certainly would not refuse to use a browser just because it only supports a subset of pages and sites. Heck, a browser without Facebook and Youtube might even be a good thing.
The only hope, IMO, is to build something much more sane that cannot be abused. Something like Gopher or Gemini. Simple specs that make it possible for a single person or a small team to implement something decently working without them spending their like on it like Middle Age monks spent their life mapping and cataloging stars.
I would start with a feature-limited markup language that's good enough to display text - maybe images if you really insist - and leave all media and interactive stuff to external programs; if your browser ends up being a virtual machine and a universal media player, it is doomed to degenerate into a WWW browser if it ever gets popular.
But of course if one builds something that cannot be abused or monetized easily, the big content creators won't be interested. It will take a lifetime or two to gather a critical mass of users, and only if the WWW overloads abuse their power so much that the average WWW serf actively starts to look for a better place to be, and only if at this time the alternative has more and bigger advantages than drawbacks.
It's funny, because I think designing a new protocol and markup language, and then building both server and client software for it, and then actually convincing millions of people to use it... well that sounds orders of magnitude harder than writing a web browser, even with all the crazy and terrible protocols and APIs I'd be expected to build.
And sure, I could set my sights lower and try to build something with much more modest ambitions, only hoping for a few thousands of people to use it -- at most! -- but that doesn't sound interesting to me. I'd still have to use the web for all the other things I need and want to use the web for. Maybe this sort of thing does sound interesting to some people. That's great, go for it!
Gopher appears to have declined some 20% in content between 2021 and 2022.
I believe I’ve taken a peek at Gemini and there wasn’t much to do either.
The same problem exists for zeronet, i2p, and freenet, which is now apparently two or three separate projects?
Mastodon had a big jump in users when musk bought twitter, which tapered off significantly. They had another, smaller, jump with the Reddit fiasco. Which also tapered off.
But I guess that’s just me rehashing what you said about reaching critical mass.
Prodigy (a walled garden network like aol or compuserve) in the US tried to build this in the late 80’s / early 90’s (not with the same motivation—-they were trying to build a terminal with vector graphics for the masses).
For this sort of project, and the emotional reasoning you have for building it, I truly believe less is more.
In my view, that's what people in power want to encourage, using crowed influencing dynamics [0].
There is an a loosely orchestrated effort to make people feel less powerful because that makes it easier for people in power (people with money or resources) to increase their self-interest endeavors.
This is why I don't watch the news, and take peoples opinions about the world with a grain of salt. Ideas are like viruses, the spread rapidly. The people with the most resources gets to set the tone about what the population thinks by using modern media to mold the narrative. If you don't understand your individual value, you will be swept into this mind set, whether you are aware of it or not.
[0]: Example https://cxl.com/blog/17-lesser-known-ways-to-persuade-people...
Contrary to many comments here about not creating another browser, I'd like to encourage you continue!
Once, for example Linux was also pet project. In retrospective, it's obvious but we don't know how the world will look like in a couple of years. And who could predict the success of Linux in the early nineties?
-"Why wouldn't you just go hang out on the factory line at Ford instead?"
If you want to make something custom you don't need to start from scratch.
I have had a lot of fun implementing (much smaller) web standards. I started with ones that had step-by-step implementation guides. It was one step in realizing that the web _is ours_! We can build it at every stage, from the web pages to the standards to the browsers.
Happy building!
Funny I was thinking about this recently - I've been trying to push for action from regulators / government here in NL (especially wrt Google) but there was very little appetite with the people I'd need to convince to stand with me to make something happen.
Considered briefly starting a new browser. However I've had experience attempting to design a very simple OS (a long long time ago, I got a mouse/pointer working on the C64 then realised that it wasn't worth it).. and modern OSes and browsers are of a similar level of complexity.
So now I'm focused first on family (due to working insane hours the last few years they've been neglected - pretty sure you worked a little bit on the same projects so know where I'm getting at) and a bit later in the year on something where I have a >50% chance of seeing results - fixing healthcare IT here in Europe. If I can say anything it would be to remember that as a parent - especially one who wants to be responsible and present - we don't have a lot of space available for serious side projects.
I am rooting for you!
Most of us elders have seen these personal browser projects come and go these past 25-30 years. Odds and history are both against them as a long term viable project.
But as a fun learning experience it's very impressive.
I wanted to give it a try, but it looks like main isn't building right now, so I'll check back periodically. Hopefully I will even find some time to contribute, as a Rust-based web browser sounds like a project I'd be interested in working on. One thing I'm a little bummed about is the license: I've gone back and forth on this topic a lot in the past couple decades, and more recently I have actually been releasing stuff under more permissive licenses like MIT. But if I were to work on a browser, I'd want to GPL that. For a work of that magnitude, someone forking it and making proprietary changes would be intolerable to me.
Regardless, I think there is absolutely room in the world for more than just ~2.5 dominant browser engines (Gecko, and Blink/WebKit, which I guess aren't the same any more, but have the same provenance, hence the extra 0.5). Sure, contributing to something that already exists would be "more efficient", but since when was efficiency a requirement for doing something that you believe matters?
And it's not just specifications, there's test suites and reference implementations out there too. Of course it's still a huge task, but there should be no blind alleys to wander up.
Reading someone else's codebase is very difficult because there's so much context and knowledge behind a web browser.
I have a very simple layout algorithm based on ORC Solver algorithm.
If you want to get to something that is useful you could implement rendering for simple HTML documents with <p>, <h1> <table> tags.
Chances of replicating Linux success are as big as chances of being next Zuckerberg.
Doesn’t mean you shouldn’t do it, but align your expectations.
And most importantly, as OP said - it’s pet project. Success isn’t a goal.
As you note, the learning process itself is worth it. I'd encourage you to keep a blog / journal for others to follow.
Most innovation doesn't involve the most qualified expert in the field taking on a project that is a sure bet. In fact, qualified experts are often too cautious to try something crazy or shake up the status quo. Back in 1991, Linus wasn't the right guy to write an operating system either, and most experts probably felt we didn't need another OS to begin with. He probably should've contributed to GNU Hurd or Minix instead.
You'll have to balance the needs between those two. You aren't hitting 1. until you have users picking up the browser. You'll be hitting 2. as soon as you start the project, potentially.
If you contribute to currently existing projects you'll be hitting 1. A lot more but may lack 2. compared to a new project.
Good luck! Btw this is reminding me of Serenity OS which includes a from-scratch browser. You should check it for inspiration :D
> ... it’s all negative. Companies are pushing unwanted updates, breaking all promises, raising subscriptions, and buying up companies while doing everything in their power to figure out how much more personal data they can take (away) from us. Governments are banning encryption because of child molesters (they also use vans and candy. Let’s also ban them!). People in power with absolutely no idea of how the modern world works and people in power who DO know how it works
You nailed it. Thanks for articulating this.
What made you want to make a browser instead of something much simpler like - an OS?
IMO it's better to have few rock-solid open source systems than multitude of half-baked projects reinventing the wheel. But good luck!
I applaud this fundamental curiosity. We don't want a world where technologies that people use (must use) every day are opaque, proprietary solutions that spy on us.
Yet that is exactly what we have in the most popular Web browser.
I recommend RSS or just to scrape Web content (Python and Perl do this well) and read the bits that are interesting to you.
The Mona Lisa is unfinished and Leo spent 16 years on it.
Maybe this project shouldn't result in a graphical browser. I still think there's value in text-based browsing, in the line of Lynx. I would think there's a higher probability of creating something really useful if you were to go that route.
The hardest part of a browser is rendering. The rest of it is easy, relatively speaking
The big problem with browsers is state. Specifically, the web page has an internal state that the developer is tracking, and the browser UI has a state that the browser is tracking. How do you keep those two in sync?
The current model is based on the sort of hack that Netscape did way back when. There are probably other ways to do it.
Specifically, the problem is: how do you give something access to a representation of the visual state (the DOM) while hiding your implementation of it...in a secure manner?
And how do you allow that client (the website) write access to that DOM representation securely and safely?
I had similar motivations for developing my smart RSS reader and intelligent agent YOShInOn which has gotten me to work on filtering and "deshittification" right away as opposed to face a 1500 man x year project before getting to the stuff that matters to me.
For me the path not taken was developing a "reader" that works like archive.today, there was a summmer in the pandemic when my son and I were driving back and forth to Buffalo a lot and talking about missile defense systems and I did a "spike" project to develop something that would archive, process and deshittify web pages and I came to the conclusion that it was a long road to make something that was better instead of worse (every archiver I've seen is way slower than just browsing the page and sorry "slow X" advocates, slow = bad)
This winter I turned to the problem of end-to-end active learning for selecting articles and had great success as it. Sometime it sends me to archive.today but the goddamn CAPTCHAs never end when I use it from home so the question of the archiver/reader has come back but now that the thing has a workflow engine and could archive articles before I look at them the archiver/reader looks appealing if I can find something open source that is good enough.
There's a commercial product
which took the opposite approach of developing a reader and now they are working on recommendations. That's a path that makes sense because the reader cleans up the text which in principle is good for NLP but for what I am doing I think the signals in dirty text have enough value that I am doing just fine. They've got the issue that they're very unlikely to really develop content-based recommendation for a multi-user system because collaborative filter is such a good shortcut, also YOShInOn uses a Tik Tok style interface which for some reason has hardly been tried despite being a hit with Stumbleupon, this interface collects good negative samples and gets great results with a simple classifer... if you get a few 1000 judgements.*
So I wish you the best of the luck, but keep an eye out, the world but in my experience the US and UK, is nothing like its "public persona".
Blockchains are great for this use case as they are infinitely scalable in terms of reads (since you can always add more nodes which are exact cryptographically-verifiable replicas). While blockchains are constrained in terms of writes, this problem is dealt with via a transaction fee which increases with demand so it is naturally DoS-resistant and doesn't require special skills or trusted parties to operate.
Anyway, the current centralized DNS system of hierarchical resolvers is also constrained in terms of writes but it feels ad-hoc with many centralized entities which are given a substantial amount of trust.
Oh, right. Maybe they should modify the current DNS setup to allow for more than 1 node.
This sounds like Linus' original announcement of Linux on comp.os.minix:
> Hello everybody out there using minix - I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu) for 386(486) AT clones. This has been brewing since april, and is starting to get ready. I'd like any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same physical layout of the file-system (due to practical reasons) among other things). I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I'll get something practical within a few months, and I'd like to know what features most people would want. Any suggestions are welcome, but I won't promise I'll implement them :-) Linus (torvalds [at] kruuna.helsinki.fi) PS. Yes – it's free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it probably never will support anything other than AT-harddisks, as that's all I have :-(. —Linus Torvalds
*installs Linux on literal spacecraft*
You never know where a project will go. And in a way it doesn't matter, if you're doing it for your own reasons.
Even at Microsoft. Truly incredible.
So I wish him luck and hope he succeeds. (RSS feed followed, so I can take a look at his project now and then)
Really? It's a given that any thread about browsers on HN will have a dozen highly upvoted replies that claim it's impossible to make a new browser.
Even though we have evidence that it is indeed possible. Ladybird is made from scratch (originally all the way down to the C++ stdlib!) and can now run Discord (poorly) after 3-4 years of part time work (it now has full time devs).
Based on their cargo.lock, GoSub doesn't seem to want to implement everything from scratch, they'll probably use off-the-shelves image decoders and whatnot, so it has the potential of growing even faster!
The browser is so comprehensive in functionality and APIs, and such a challenge to keep up with Google's constant churn of new features and total dominance, that not even Microsoft could do it.
Here is my somewhat related pet project: Tersenet. https://github.com/runvnc/tersenet It's just a concept, virtually no implementation. But I deliberately picked a set of requirements that are designed to be feasible for people to implement. Much less involved than a full web-browser. (Related discussion with GPT-4 https://chat.openai.com/share/16d02b78-f876-4c87-949a-a60b4f...)
Also related is the Gemini project which is a real thing and quite practical: https://geminiprotocol.net/ That inspired my ideas for Tersenet.
Not really. If you limit your scope by saying that you're building a hypertext document viewer, it suddenly becomes approachable. A lot of the functionality is all that PWA stuff no one asked for and no one is using for anything good anyway.
WebSQL? IndexedDB? Service workers? WebGL? WebGPU? WebBluetooth? WebRTC? Just act like it all doesn't exist. 99% of actual websites — not web "apps" — would not lose any functionality.
But, importantly, they shouldn't lose their core functionality (if they're written well) because that's the "Progressive" part of PWA. If you don't use the feature or your browser doesn't support it, the website should still have basic functionality. One of the big ideas behind PWAs is "progressive enhancement", where you layer on features that may not be supported everywhere but add value when they are supported.
And a progressively built browser that doesn't implement every spec goes hand-in-hand with that. I think having more under-featured browsers like that would push webdevs into caring more about progressive enhancement.
Recall that UNIX (and C) were built (and adopted) in response to perceived over-complexities in contemporary systems.
Maybe in 20 years we’ll recall + interact with Chrome like how people in the 80s recall + interacted with Multics or OS/360.
To complete the analogy, I guess you’d expect to see this browser come out of former Safari interns/engineers at Apple.
It is really hard to engage with your comment in a constructive way, if you start by insulting everthing on the web, that is not a simple document (with comments).
So I get it, you don't like the web as a plattform for apps. And it surely is not perfect. But do you have a better plattform independent alternative to offer?
What percentage of user driven web traffic is done through 'web "apps"' and what percentage is 'actual websites'
Speak for yourself. This is a crappy attitude honestly, you might want to keep an open mind on things you don’t have an interest in
I, personally, would love to see some alternative engines to the monoculture of Blink and it's WebKit cousin, other than just Gecko/Quantum. Something to take the place of what KHTML used to have before being gobbled up into WebKit; or just another (ideally, open source) choice to experiment on.
site: https://www.ladybird.dev
code: https://github.com/SerenityOS/serenity/tree/master/Ladybird
There are plenty of respectable people who maintain "home pages" with much simpler HTML than what is possible, and news.ycombinator.com gets a lot of love for keeping its classic look.
All this to say, I'd like if the people who have a lot of overlapping agreement on this would agree on a subset to use, and I'd be happy with a browser that didn't do everything google's did.
I run with uMatrix which shuts off a lot of google functionality, and I never whitelist google.com domains just to prove that I don't have to, the world doesn't end. It's a relatively small number of sites that just won't work.
I'll bite... why? Most websites follow HTML and ECMAScript. Why do you need to do anything Google does? Isn't the whole point of this project to decouple from what big tech companies do?
The vast majority of websites don't want to follow whatever Google-only shit they've come up with most recently, whether it's adtech, AMP, DRM, or whatever.
The basic thing I am saying is that if you call it a web browser and use the same core protocols etc., you have a practically infinite (for an individual) set of requirements to implement and will never be truly compatible.
What ideas like Tersenet and systems like Gemini propose is similar to what you say, except even simpler. HTML and ECMAScript are quite complex and have a lot of challenging expectations as far as performance and flexibility.
The idea is to try to break things off in a clean way that is feasible to implement without having to worry about a fuzzy and ever-expanding definition of what you have to support.
Because Google is following the old Microsoft playbook of "embrace/extend/extinguish". They throw shit at the WWW consortium partially to see what sticks, but also in the hopes that websites will adopt the shit, forcing other browsers to add the shit to be able to display those sites.
Google is incentivized to do this because, since nobody else can keep up with the shit-flinging, users switch to Chrome. Then Google gets everyone's data for free, further strengthening their monopoly.
That said, I fully support people trying to build new browsers.
Maybe we need Mozilla (and others) to make an independent Javascript "VM" that everybody can use.
https://en.wikipedia.org/wiki/List_of_ECMAScript_engines
Mozilla's:
I always suspect that it's not that they couldn't do what you describe per se, it's that they couldn't do that within other shareholder driver parameters to make them want to do it.
But more valuable to them is that people are using a browser they control (no matter the tech within) - which is why they try to push you to edge however they can.
They were only falling behind in performance on google’s web pages such as youtube. Read that comment: https://news.ycombinator.com/item?id=18697824
I'm about two and a half years in, now my project can render HN and simple blogs reasonably well. Is it objectively better than w3m (that I was going to replace)? Not exactly, so I still return to w3m for some tasks. But I've found use of it for tasks that I didn't even think it would be useful for, learned a lot about programming in the process, and find it cool that it works at all.
But there's so much you could do that would be more likely to be fruitful. Port Servo to Nyxt Browser. Fork WebKit or servo or gecko and pull out the invasive web standards that have been injected by the ad company over the last decade that hurt users. It's all work you're going to have to do anyway building from scratch, might as well not start at the bottom and start with an existing community of people already willing to work on it with you.
Need contributors and other maintainers though, because keeping up with upstream is impossible as a single dev.
I tried to document the attack surfaces [2] from my cyber security perspective as good as possible, with tasks left to do and which need to be eventually removed. It's probably pretty opinionated because I want to use RetroKit as the webview for my own Browser Stealth which acts as a filtering proxy, scraper and decentralized cache [3]
[1] https://github.com/tholian-network/retrokit
[2] https://github.com/tholian-network/retrokit/blob/main/SECURI...
[3] https://github.com/tholian-network/stealth (ongoing rewrite in golang)
https://github.com/DioxusLabs/taffy
It needs to be combined with a text layout engine (such as https://github.com/pop-os/cosmic-text), and it doesn't support everything yet (notable features that are currently missing: "float", "display: inline-block", "box-sizing: content-box", "position: static"). But we have Block, Flexbox and CSS Grid support with more on the way.
That all to say, yes it's a tall order. But it's not the most impossible thing for a small team of dedicated people to do.
Web browsers and the web are gloriously human.
Only if you want to write one from scratch. One should remember that a Browser is mainly the userfacing application, not the gears it's utilizing. You could take existing engines and just plug them together, maybe modularized enough to switch them any time, and it would still be a proper browser.
And personally I think, people here are too focused on the gears any way, while we really need better interfaces and other gears besides render/layout/scripting.
I have implemented a very small part of the ORC Solver algorithm in Python and used wxWidgets for rendering. I used wxWidgets text extents API to work out width of text.
This is the ORC Solver whitepaper. https://yuejiang-nj.github.io/Publications/2020CHI_ORCSolver...
I have been thinking about branch and bound and how to implement it. Any information would be appreciated.
I think I should study the TeX codebase for typesetting algorithms. I also really enjoyed using javascript library Masonry for layout binpacking.
"And so hackers set sights on the HyperText Line, in pursuit of their dreams. The world has truly entered a Great Browsers Era!"
After years of believing that browsers were an insurmontable mountains, more and more people are believing we can do it. My 2 seconds analysis tells me that we're seeing this not because new browsers makers want to emulate and compete with the existing mammoths, but because they want to change the web. I'm loving it.
I have given up on the world, as you put it. But other people's children is not my fault. I do as much as everyone else does to "do the right thing", but no more than that. I used to think about all these things, try to minimise my personal footprint and think about sustainability and future generations etc. But I lost hope. I was fighting the tide. Now I just try to make sure my footprint is not above average and try to be good to the people around me.
However, I do understand as I've done this kind of "from scratch" project before just because I thought I could do it better or because I couldn't get into reading the existing codebase easily. To each their own...
Similarly, Servo was designed to replace parts of the Firefox browser, which means that it had to be made to fit into "Gecko shaped" hole. For example, it uses UTF-16 strings in many places for compatibility with the rest of Firefox.
Servo could probably be rewritten now using modern Rust to be smaller, leaner, and maybe even faster.
[1] https://en.wikipedia.org/wiki/Servo_(software)#cite_note-202...
I recently bought a Kobo ereader, and the gorgeous, text-focused, crisp design of the OS is what got me thinking in this direction.
The existence of Reader Mode in Firefox and Chrome points to a common understanding that, for articles anyway, most of the web fluff is totally unnecessary. Imagine Reader Mode, but maintaining navigation and slightly more complex layouts. There are plenty of extensions that allow you to theme specific sites, but I haven't found any that try to create a unified, pleasant experience from the current chaos.
As usual, the ad-based web can be blamed. The argument that it is of utmost importance to preserve the ability to make this button 5px bigger than the other, rounded, and blue, only makes sense if you're an ad-based company trying to manipulate people into specific behaviors. By leaving the design client-side we would enable experiences tailored to providing the best experience for the user.
I don't know if or how we could ever get there, but it seems to me that mass adoption of css and Javascript in the majority of websites was a mistake, when most sites could easily be built of a much simpler set of standard widgets. This need is currently filled by pages hosted with hostile third parties like Facebook, or middleware editors like squarespace.
This kind of framework would also give online privacy to all in one fell swoop. There is no reason browsers need to be finger-printable. The reason they still are is because the company for which this state of affairs is highly lucrative is also the company making the leading rendering engine.
Perhaps what I'm actually asking for is a splinter net, or maybe something like this is still achievable by just parsing html.
While I relate to OP's fed-uppness, building a browser seems to me like trying to play catch up to a system that will never have your interests at heart. Not that I think the project isn't worthwhile, it just triggered the above thoughts.
I agree. I often find that some formats are too simple and the rest are too complicated (for example, this is the case with the Ogg container format, and also with Gemini file format and Gemini protocol), and sometimes other problems.
> In my mind, there is no reason for every website to dictate its own layout and appearance when 99% of sites could be broken down into procedural elements that could be rendered however the client preferred.
I agree that too. Often I just disable CSS.
I think that ARIA might be able to help a bit, together with HTML. (This way, nonstandard form fields can still be displayed even if the styles are disabled, if those nonstandard form fields are using ARIA, which is something that I sometimes see.) (It would be better to just design it properly the first time, but that would be difficult when everyone else does not want to do it in a better way, although using a common accessibility feature such as ARIA seems more likely to me.) So, a client program can include a mode to display the document using HTML and ARIA instead of CSS.
Rendering just how the client preferred is also making it more portable across different screens, etc, and better accessibility, than using CSS and then having to make separate mobile version and those mess.
> it seems to me that mass adoption of css and Javascript in the majority of websites was a mistake,
I think you are right. I sometimes write web pages that do not use CSS and JavaScripts (although often I will just write plain text instead of HTML, anyways).
> building a browser seems to me like trying to play catch up to a system that will never have your interests at heart
There are some features that I would want to deliberately exclude (or implement in extensions instead of the core features), and some that may be helpful to be deliberately differently. (Actually, I would move many core features into extensions instead, and some features that would usually be implemented in extensions (such as request/response overriding) into core features. Flipping around many of these things might help a bit, too, I think, to allow more versatility for extensions, better security, and better user controls, etc.)
So throw that all away
A Reader Mode Browser with some small quality of life features seems like the perfect project. Thanks stranger
Better to stay home and program. This + ChatGPT have made me more productive than ever before.
This, in combination with their incentive to make everything seem like a huge problem that might lead to the end of the world, is a pretty toxic combination.
You should look up who gives money to people who do that, and what political movement they represent. You should then look up this book [0] and who also gets money from the same group of people. I'm sure a lot of things would become more clear to you.
[0] https://en.wikipedia.org/wiki/Foundations_of_Geopolitics
> Someone burns a koran? It is only news if it is reported. If someone does it in their basement alone, it would not matter at all.
Yes, of course. But that's exactly what a protest is. It has nothing to do with the burning of the book itself, and everything to do with doing it in public and letting people know. Even if you live in the most rigid dictatorship, you can criticize the president as much as you want in your own basement. It becomes something completely different when you do it on a public square with a crowd watching or participating. But still there are those who want to make what happened in Tiananmen in 1989 become not news. Then it wouldn't matter at all, as you wrote.
As for Quran burnings, a person in my country - that is not Islamic - was sentenced for spitting at and burning the Quran as a protest against a recent Islamic massacre against people in his group. Imagine the situation: Your people are being killed because of a holy book, but you are not allowed to protest against that book. In that case the news media chose to be silent about the protest and about the sentencing of the man. Just an example.
The bigger problem with news media in my opinion is delivery. I can't stand any TV news, because the way the reporters talk is just sickening. They have adopted this kind of venomous and angry voice that just reeks with contempt against the viewer. I remember many years ago I had been out on travels and spent months far away from TVs. I the airport there was a TV with CNN on broadcast, and I was just shocked at how hateful the voices and demeanor of the presenters were. Like, why would anybody voluntarily watch and listen to this? But if you're used to it you might not notice.
But focus on negativity does also get exaggerated in TV news, such as when they are showing clips of traffic accidents far away, or floods in foreign countries that have floods every year, as well as murders in foreign countries that have no international impact. I think it is like you say to keep people in a negative mindset, because that makes them weak and ready to be influenced, not least by advertising that promises to make them feel good if they just buy this product.
It may be news, the preview movies on a Disney DVD, commercials, advertisements, billboards and whatnot. I absolutely hate enforced media. I do know it pays the bills/makes other things cheaper because of its revenue, but i stopped caring about those business models a long long time ago. They are all in it for the money and nothing more.
I will pay for products, as long as they leave me the f alone. No enforced "you should try this or buy that!" stuff. So i use pihole, duckduckgo, etc. It is my infrastructure and i will use it as how i see fit.
I eagerly await this browser.
Pretty cool of them to contribute $100k to the project.
https://awesomekling.substack.com/p/welcoming-shopify-as-a-l...
From https://awesomekling.substack.com/p/welcoming-shopify-as-a-l...
I guess if news affect your mental well-being negatively it is legitimate to avoid them. But I would believe a day long session with the blocklist of your choice would be better?
Or just accept a certain degree of news, in the end you live in a world with other people who read news and unless you are a hermit things are going to come up eventually. Reducing can be better than attempting the impossible and fail.
My recommendation is to go to https://news.ycombinator.com/newest and try to find personal projects and other interesting post that need an upvote, and perhaps make some comments to the author. I like more the discussion when there are 10 comment than 100 comments.
I'm a firm believer in the idea that no matter how much experience you have, you should practice.
Every skill that isn't practiced wanes over time. Commercial projects usually don't provide the sort of regular stimulation needed to improve one's abilities. Sometimes it's not even enough to maintain them.
Even if they do, you should probably not rely on that, because it leads to design decisions that scratch that itch instead of getting the job done.
You mean like Orion by Kagi, Mullvad Browser, Brave, Falkon, Safari, DuckDuckGo Privacy Browser, Firefox Focus, Midori?
I feel like the best browser in this market has yet to show itself.
I doubt it will be one where the author claims it will fail.
At the start of a project, it can be difficult to know if it will snowball, and since most projects don't, creators often feel like they have to get in ahead of the negativity and set expectations.
I applaud the effort and wish you the best luck - also I imagine myself eventually joining you in my own attempt too :P
The Twitter clients of years past have shown how using filters and regexes, muting and blocking, it is somewhat possible to shape this content stream. Also I think local AI has some power to weed out content it can detect would negatively affect you.
I think though this would work well as a feed reader, the browser is simply too flexible as a source of input. Although it’s certainly worth trying, bravo!
I’ve experimented with a “feed of feeds” and receiving a daily digest of this and this could be the layer on top that it needs. But until this article I had not realised my motivation for it, so thanks author!
On Instagram, you can't even fast forward videos because of that. They want you to watch them fully.
We really need clients for "feed of feeds", but how can we do that if we don't have access to the feeds? The browser could be a solution, but pages needs to be filtered based on the source code of the page, individually.
So imagine it downloads the latest definitions periodically that fix compatibility for service X then everyone who creates feeds of X pages can do so again.
If you can specify the definition directory in the settings then even if a directory is no longer active another can take it's place.
That means it takes one person to fix, but the service would have to ban all instances to stop this way of consuming.
I think most of the puzzle pieces for this exist already.
I certainly would love to see more options of browsers.
How about more options of different content-types and plugins into a browser framework which is little more than a piece of chrome (no pun intended by me) for them?
It’s still a little buggy and I have to reboot now and again … but not much more than usual.
At least I control much of the experience now and for the rest of my life. And I’m learning a lot of fun stuff. It’s been a huge time waster but in a very good way. And it’s very snappy. And all of the configs/settings/code synchs with git (eventually lol).
So the news is contraceptive? I can easily believe that.
Not much actual good content here.
Not much of a contribution to the discussion here.
> I do not expect ANYTHING to come from this project. I do not expect to finish this project.
So... good luck with that. :)
We need something that's designed from the ground up to be a remotely loaded application layer for operating systems. But to get to that point, we need to throw away the decades of legacy requirements.
I've changed my browsers to load all websites in reader view by default, and it is shockingly better than the old way. You get your text, hyperlinks, images and even embedded video in a clean and legible format. Sites that need more advanced functionality can be added as exceptions, such as HN.
There is a reason why people are spending almost all their online time inside standardized experiences. It is easier and better. That's why people look at images on Instagram and shop on Amazon.
You are correct that this would be the better^tm solution. But it's so far from reality that it might as well be impossible. Branding, UX Design and Marketing are far too entrenched to give up their turf. What you end up with is another Gemini Protocoll that a few nerds use and the rest of the world doesn't care about.
We need a solution that can deal with the same level of complexity as browsers but in a cleaner, easier to implement and far less legacy loaded manner. Something like a combined new HTML CSS frontend layer, with a decent sandboxed webasm-like virtual machine (preferably hardware virtualized) with clear boundaries and a decent, forward looking standard.
My name is Peter Sherman. I wrote a non-HTML, non-CSS, non-JavaScript browser several years ago (in theory, it could be easily adapted to those standards by including code and hooks for the appropriate parsers and interpreters. (Software Engineering side-observation: Why aren't browsers delivered as independently functional component parts, that is, why are the codebases for most browsers that use a lot of libraries typically tightly coupled to those codebases?))
Anyway, point is, I may be able to help you with your quest if you reach out to me... my email address is:
peter.d.sherman@gmail.com
I can give you all of the basic theories with respect to what you're trying to do, and hopefully make the software engineering process a little bit easier by showing you how to appropriately divide ("divide and conquer") the entire task into much more managable, approachable, and understandable subcomponents...
Let me know, and I'll try to help you!
Anyone else who is similarly curious can also reach out to me, via email, too!
If more than one person is interested -- perhaps we should put together a group?
Actually, independently component parts is what I think should be done, would be better, that you can exchange each part, add new parts, or wire them together differently, e.g. you can much more easily change some features in ways which are not as easily done, e.g. replace the TLS implementation with your own that allows non-TLS proxies, or to change some CSS commands, or add new HTML commands, without changing everything else too.
What matters is that this project gives the author a meaningful sense of agency in the world and we all need that in order to be psychologically healthy.
Humans were not meant to sit passively consuming media that makes us feel bad all day. We're animals and animals live by doing.
Firefox with private mode and uBlock on but saving history (so _I_ can go back to something I browsed) with an option for saving cookies on a particular site (but maybe use a separate container so I'm not tracked across these). With an additional button to clear all random cookies now
People who can't or are unwilling to do something themselves often try to project that unwillingness onto other people.
Good Luck!
1. Of the advertising-supported, graphical variety.
We'll likely always have to use advertising-supported browsers for some things.^2 But certainly not all, or even most, things.
2. It would be really cool if this sad state of affairs changed before I'm dead, but I have no expectations. I would love to be able to use something "like" an API for internet banking and online shopping, instead of an advertising-sponsored browser.
I understand that governments like to make rules and hope that the market responds with something that matches their vision, but as the EU demonstrated this just ends up with websites with user-consent pop-ups. A worse experience for everyone, and bad actors just find a way around it anyway.
Rather than relying on legislation to play whack-a-mole, why not just build something for everyone with tax dollars and open source.
For example, CSS seems like a constraint solver that has nothing to do with parsing HTTP requests. Even parsing CSS itself has nothing to do with laying it out. Rendering is another step altogether that also has very little to do with anything. I can see these things being split into standalone and testable libraries with limited scope. Maybe I'm wrong though. I often am.
A "browser" seems like an "operating system". There is so much going on and I can see how a "browser" could be made out of myriad existing components in various amounts. A bit like the various Linux distributions and their particular choices of underlying tools and frameworks. You don't do it all at once, you got a million separate small chunks working together (if you're a Unix kind of guy..)
Maybe we should all work on creating as much small composable components as possible and then let the other guys slap a nice UI on top of it and put a bow on it. This is probably not practical, but a guy can dream.
I'm not involved in this space at all but I would guess that the main problem with writing browsers isn't that they're all obfuscated monoliths, but that the amount of work to create an entire browser composed of solidly interconnected parts is still a huge amount of work, because of exactly what you said, it's almost an operating system, at least when you look like fully featured browsers like Firefox and Chrome.
We need more QuickJS and libcss and rendering backends, not “browsers”.
In about 3 or 4 weeks the author here has managed to implement about 2% of a very poor parser for html. Parsing HTML is probably one of the least labor intensive parts of writing a browser and is a task that would be suitable as a project for an undergraduate student majoring in CS as a project for a class. Writing a javascript engine that is fast enough to allow current web pages to work is not even comparable in complexity and effort. Projecting to what it would take to build a very poor browser, we are looking at about 150 years or more.
Then he got annoyed at tech news being bad, and came to the opposite conclusion. That all the negative tech news must be correct, and that they have the agency to change it.
But the reality is the opposite. Just like for general news, tech newd has a bias for the negative, and the reality is a lot better than you'd think if you just take the HN frontpage at face value.
The scenarios that motivate the author are so improbable that they border on absurd. And if they were to happen, the plan of writing your own browser wouldn't help anyway, or at least would not be anywhere near the best way of addressing it.
Want to write your own browser as a hobby? Great, go for it! But the justification isn't even internally confident.
> I do like to follow tech news, and for me, this is done 98% through Ycombinator’s hacker news. But I started to get the same feeling I had ten years ago: it’s all negative.
That's followed by the list of some sample categories negative tech news that they are concerned about. Most of them have nothing to do with ads. Even for browsers only one of the things they are concerned with is ads (and it's not something that actually happened, it's something the author imagines could happen).
> the ONLY thing you hear on the news.. any news.. are bad things(tm). War, corruption, you name it.
Way to go. Godspeed.
Feelings aside, why do you think this?
...On the way to writing a new hypertext protocol that uses ASN.1, of course.
...Which I can then write a browser for.
I, too, am not sure if this will ever finish, but I figure that at least, at some point, I will definitely be able to tell you why ASN.1 didn't win the protocol wars. :-)
I've been thinking of how I can help, that I should stop reading so much negative news, for my own mental health, and do something to move the needle back towards the positive.
"This time, I DO have some influence because I am a programmer. I can develop software ..."
It was jarring to see the blogger go to "I'm going to write a browser". This isn't helping, this isn't even "a way to push back" ... it's a hobby project, like woodworking. Pushing back would be helping out with one of the open source browser projects already out there or something else productive.
I mean, "you do you", it was just quite the twist.
Turn off the news. We are living in unprecedentedly peaceful and prosperous times, and it's only getting better day by day. That is a fact. If you feel otherwise, that means you are consuming something not based in reality that is causing you to feel that way. Most likely mainstream news.
There are a lot of people who are a definitely NOT more prosperous or peaceful. Democracy is decreasing world wide. Young people in the US are NOT as prosperous as their parents and grandparents were at their age. Global warming is causing serious issues which we are only beginning to address.
Maybe things are getting better for you and me but that is NOT universal.
The Deputy Secretary-General of the UN begs to differ [1]. I like a positive attitude, but outright ignoring the reality is not the solution to handle negative developments in the world imo. Sure, statistics can lie but saying things are better than ever and always getting better is also not a fact as you say.
Just because we're doing good in absolute terms compared to wars and plagues of the past doesn't mean we're doing great.
Ever heard of climate change and mass extinction? That is super bad, and unprecedented. Society may well not survive it, in a timeline of a few decades. I think there are reasons to be worried.
Peace in Europe is shattered. The former President of the United States has been indicted for attempting to overturn an election. R&D on the killer robots + AI from RoboCop and Terminator is nearing completion, almost ready to go into production. Full 1984-style surveillance totalitarianism has been rolled out in occupied China and is at the pilot stage in most western countries.
According to the SlaveVoyages project, almost 13 million people were captured and sold as slaves between the 15th and 19th centuries:
https://www.slavevoyages.org/assessment/estimates
Today, 50 million people live in slavery, according to the Walk Free Foundation:
https://www.walkfree.org/global-slavery-index/findings/globa...
Are those sources "not based in reality"?
Can you find any chocolate bars that aren't made from cocoa beans harvested by child slaves in west Africa? (Only ones I've found: https://manoachocolate.com)
Are you saying U.S. police officers extrajudicially executing more Americans in 2019 than mass shooters murdered is something pushed by the "mainstream news"?
https://en.wikipedia.org/wiki/List_of_mass_shootings_in_the_...
https://en.wikipedia.org/wiki/Lists_of_killings_by_law_enfor...
The Bank of England reporting that real wage growth in the 2010s was back to the slowest since the 19th century, that's "getting better day by day"?
https://web.archive.org/web/20161206225850/http://www.bankof...
Even if you only take the racket this project made here, the inspiration resulting from it is bound to make the world a better place.
Even the author said: "I want others to be inspired by it and make their project. And those projects will inspire others, and so on, until we DO reach a point where we have a browser that can topple the big players.".
A journey of a million miles begins with the first step. This is a step. It might not be in the ideal direction, but it is a good direction. Feel free to push back in a way you feel is more effective, but I think it's worth it even if it only improves the author's mood.
Yeah, I think (hope?) it will be good for them. Just weird to frame taking up a hobby as "pushing back".
It is ok to be inefficient. And it is ok to change your mind later.
But abandoning helplessness is a big and wonderful first step
You ARE in a position to make the world a little bit better. We all are. Start with simple things, like thinking about using cc-by license and think about why, when and what FOSS license to use. A FOSS license is just a tool but make it work for your goal(s)... And why not just ask your local government to use FOSS software on websites to be a bit more compatible with every home baked browser. Your privacy and freedom is limited year after year.
(So the text of the link is correct, just not where it points to. You have to manually copy it as text and paste it in your URL bar.)
Source: wrote a browser[1]. I enjoyed it and learned a lot. My motivation for starting it is that the open source browser landscape was bleak at the time. There was khtml, which seemed fairly solid, but that was KDE and I was firmly in the Gnome camp. Mine was very fast and lean, but wouldn't scale to embrace what's now considered the basics of a web browser: JS and CSS. Motivation tailed off sharply when Mozilla announced they would be open sourcing their browser. If I had known it would take them over 4 years to ship Firefox 1.0, I might have kept at it.
Gambatte!
Didn't like the doomerism about the news in this post. Yea, you as an individual can't do much, but joining a social movement organization would make you not an individual. I think a lot of people here just don't want to take that step or were never invited to do so and so write off things as impossible.
Rumors (I did not check rust syntax specifications) say rust syntax lost itself like c++ (and what is happening with latest C syntax additions from ISO).
Is this true?
Because, personally, I am not interested in a browser written with a beyond sanity complex language syntax. I would have prefered a web engine written in plain and simple C (without the latest tantrums from ISO). Without bazillions of deps, SDK included.
That said, a modern web engine, beyond a javascript engine (for instance quickjs), is tens of millions of lines of code (Big Tech made sure Small Tech could not reasonably follow).
In the end, in my opinion, the most reasonable option is to go noscript/basic (x)html where it does a good enough job, bridges with super simple protocols you can navigate to with URIs (for instance irc://... mailto://...), and really in the worst case scenario a semantically optimized network protocol (the leanest possible) with a rich GUI client (for instance sliding maps, even though you can browse maps ok with a noscript/basic (x)html browsers).
Genuinely, why not? What’s wrong with being an activist fighting for a better world?
I see your kind of disclaimer all the time and I’m baffled that anyone would actively reject this nearly universally accepted pro-social perspective.
Someone help me here
Is the risk of being seen as Naiive really so strong as to overtake the highest ideal of humanity?
Negative confirmation bias being a big one. Do a half-assed job of trying to change someone's mind and they become even more recalcitrant.
I long ago realized I'm not the person who should be leading a group or a club. I respect people who can, and I support them as best I can. It's important work, but it's not for me. Which sucks when the club doesn't exist (I'm currently trying to encourage a couple of people to start one and it's not going well)
That's a perspective I didn't have before so thank you!
If anything would rile the regulators, Google making Gmail compatible only with Chrome would do it.
I’m sure it will batter your brain and crush your soul as these large projects tend to do, but declaring war on a problem and then getting featured on HN doing so is old school hacker and you deserve street cred for it.
Congratulations on your new baby. Can’t wait to see what college you choose! ;)
https://upload.wikimedia.org/wikipedia/commons/7/74/Timeline...
I've been considering doing something similar. I can't find a browser that really makes me comfortable or happy, so my thought is that the only solution is to write my own.
It would certainly not be full-featured or be able to deal with the full HTML spec -- but for me, that's a positive, not a negative.
Qs: wouldn’t an, potentially better, approach be to use an existing rendering engine, say WebKit or Gecko, and then build the rest on top first. And, then decide if the needs are met and then decide to rewrite or fork the rendering engine?
Disclaimer, I don’t have a deep understanding of browsers.
Preferably serialized to binary so it can fast and save battery on mobile.
Html was not designed for applications, it carries a lot of debt, and it's an ambiguous language, which makes it very expensive to parse for browsers.
I would love a browser that sticks to the original use, to render simple html documents.
No Javascript or bloated features. Would break a lot of websites but that is ok.
It might even be good for accessibility on some sites
Maybe consider hosting the source code in an open-source alternatieve to GitHub?...
this isn't the first frustration-funded browser post i've seen, i think this is a common phenomenon. individual people want to gain control and this is a good sign.
I've looked into the browser space, and its history, how we got here, and where else we might have gone, and might still get to.
Regarding browser history, there's the question of how we ended up with a single monolithic application which handles the many different elements of Web interaction, from HTML rendering to JS interpretation to identity and security to managing bookmarks and history, to multimedia (video and audio playback), and the often strongly conflicting roles of document reading and discourse versus commerce and transactions versus media playback versus general application support. (I've long thought that those four principle roles might best be split out.)
One of the more interesting (and obscure) early browsers was ViolaWWW, initially released in 1992, which was a graphical browser with scripting and stylesheet support, and introduced or provided an early exemplar of bookmarking, browser history, images, tables, frames, and other features that now define the modern browser.
<https://en.wikipedia.org/wiki/ViolaWWW>
<https://web.archive.org/web/20160303174535/http://www.viola....> (original seems dead: <http://viola.org/>)
I've long wondered why browsers don't offer the option to simply cache and store content locally rather than rely on remote lookups for all access. There are some sites for which this doesn't work especially well, but for many static sites, the ability to browse offline and search locally would be a powerful bonus. Similarly, why isn't it possible to run a search across content from my recent browser history rather than across the entire Web? If I know I'd read something in the past hour, or day, or week, constraining a search to recently-accessed content would be a strong bonus.
(How to deal with content changing over time by saving snapshots and diffs of websites could also be interesting.)
Or why isn't the notion of a discussion --- threaded, flat, sorted, weighted, whatever --- a first-class entity within the Web world? There have been an untold number of reinventions of what was essentially Usenet-plus-something, and the notion that discussions must be fully specified by each individual website (including HN) makes increasingly less sense to me.
I've toyed around with the notion of the Web as a filesystem-addressible space. Plan9OS with its 9P protocol has something like this. The notion is that Internet and Web space could be navigated as a filesystem using both existing and newly-developed shell and other tools to directly access and manipulate objects.
A modular approach to Web tools would mean that we could disaggregate HTML parsing, various proxy services, caching and storage, ad-blocking, privacy indirection (Tor, VPN, or other forwarding mechanisms), interactions (editing and such), among a suite of tools. Some of this now exists, but the hurdles to general use are still fairly high. Parking something like Readability.js directly in the mainstream content parsing flow would be an interesting option.
Working off Readability, I've had a notion that a set of predefined document types, to which user-selected styles could be assigned, would be an interesting change-up to the present Web. A specific URL would specify what its document type was (article, index, gallery, discussion, multimedia, catalogue, application, custom, ...), and the person accessing the site could define what style they prefer for viewing the site. The templates would be fairly tightly defined, but would allow for limited branding elements, think of how pre-printed paper letterhead looked back in the day.
Another Web element that might be interesting to disrupt would be search. If websites themselves could provide indices to their content, crawlers would not be necessary (though audits to guard against keyword stuffing or other deceptive practices would remain). Indices could be distributed in a mechanism similar to DNS. Reputation and ranking would remain issues (though those might be achieved through third-party or federated services). But much of the present infrastructure that's presently required to build search engines, and the entrenched incumbent advantage, would be broken.
I'd love to see a new set of Web architects play with ideas such as this, and am trying to do so myself.
Which is a shame, because as a KDE user, I would consider using Falkon otherwise.
It's extra painful knowing that KDE built KHTML, used by Apple to build WebKit, used by Google to build Blink…
I'm in a similar place, where for the most part I'd rather be in a kitchen washing dishes for minimum wage than managed by a tech guy (and have primarily been out of tech for 6 years, occasionally freelancing). Although I am strongly called to build my vision of tech and continue to do so on my own time.
There are similar solo "built by a crazy person" projects out there like TempleOS where you could find synergy. I'm another "crazy person" who's building a stack with early-2000s web tech ("web 1.5"), so if you look hard there's even synergy there... support 2005-era web and I'm on board.
Cheers.
Less work, more result.
Good way to help ensure we're not stuck in some local maximum.
GoSub will be used by tens of people. If he makes a contribution to Firefox it will be used by millions of people.
"This blogpost starts with me switching of my car radio..."
of != off