why i’m building a browser

published on 2024-11-08 by kyon

okay. why?

im making a browser because i want to spend less time navigating and more time absorbing data.

i browse the internet. all the time. i am chronically online.

the most amount of time is spent on researching (no, not that kind of research)

2024-10-13

how i research:

my browser ends up looking like this:

tabs so small you can only see their favicons. this is a terrible experience. and it’s not just about ui, this slows me down and software should never do that.

skill issue

yes, i browse the internet differently. maybe i am an edge case? i have asked myself this: if there’s enough of me then why aren’t there good enough solutions yet?

well, there are. it’s just they aren’t really great. they aren’t even good tbh.

i have concluded that this is probably because building browsers is extremely hard you’re basically building virtualization software to run an operating system for the internet

the modern web is a mess, it’s plethora of badly defined specs and esoteric rulesets which almost nobody follow 100% of the time

and if they do, just wait until w3 decides to rule out your usage of h1 tags and condemn your blasphemy

it’s tough, open source efforts to make browser engines have been mostly failures with almost nobody having the levels of autism in their teams peaking enough to cross feature parity lines with the likes of chromium and webkit

so no, don’t make a browser engine (unless you’re hearing voices)

how

so how do we build a browser if we can’t build a browser? don’t reinvent the wheel, use an existing engine

modern browser engines are considerably fast. you want to do it in rust? good luck with the next 10yrs of your life.

i didn’t take the saner route, i first tried c (sokol + ultralight) and then rust (iced + servo) and then rust again (iced + ultralight + turin & turin + native webview combo)

for many reasons which i do not care to explain here, i find the stack extremely lacking both in terms of dev ex and more importantly purpose driven smaller engines cannot deliver the full breadth of features the web has to offer

the worst thing i could do is work on a browser that couldn’t support the pages i wanted to view for some obscure reason.

so i went with the stack god intended for browser dev, i chose electron. it’s simple, it’s already chromium all i need to add is the ux.

many opponents of electron lament over security for them i say: skill issue.

note: using native can be secure you just need to do basic opsec note 2: i’m making this for myself, don’t use it if you’re scared.

progress

i’m still actively working on it, for live updates you can check out my posts on x or the much slower updates here