Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Here we ask the question "What would the ideal browser be like?"
- > Decided So Far
- privacy by default
- open sourced and reviewable code
- modular design
- uses less than 9000 GB of RAM
- support for https, html5, css3, js, webm, and other commonly expected features
- at least a few essential add-ons/extensions
- nice look and feel
- fast
- > Previous Threads Consensus
- NOT chromium based
- users should have to turn off privacy, max privacy should be the default setting
- js should easily toggle on and off by the user
- must pass acid1, acid2, and acid3 tests
- have skins/themes or at least be customizable
- as small a codebase as possible while still maintaining functionality
- likely made in C or C++
- > !ESSENTIAL READING!
- http://taligarsiel.com/Projects/howbrowserswork1.htm#Introduction
- https://html.spec.whatwg.org/#parsing
- > Forking Options (if it's going to even be forked)
- firefox
- falkon
- surf
- icecat
- serenityOS's browser + js engine
- gecko engine
- > Building From Scratch Option
- modular
- likely in c++
- build a single module first
- > Fast & Dirty Approach
- Fork firefox based browser, add a worthy user.js, include privacy extensions, and call it done
- > Current Items To Discuss:
- [put new decisions to decide here]
- >INB4 muh netrunner
- ---------------------------------------------------------------------------------------
- > Recap
- "see, what you want here is a modular design and a protocol to communicate the different parts of it. it would be stupid to pretend that a group like /g/ (or any group of hobbyist) can develop something so big with a cathedral approach.
- the bazaar approach and modular design would let /g/ do things like develop basic prototypes for all the modules and then start replacing the module prototypes and third party libraries with more efficient and superior /g/ modules and libraries.
- that way you can develop a working prototype in a short time-span, and then use it as a base for improvements.
- imagine it lika a pipeline where you have the main program which is basically a message hub for all the components.
- gui components say the user has entered an url -> network component gets the content -> the parser makes a tree of the html structure -> the render component renders the tree, sending the javascript parts to the javascript module"
- "We need a data interchange format first. It doesn't have to be custom, it could be something like a msgpack. Then you can communicate either between processes if two components should be separate, or between modules in the same process, or through any other kind of pipe."
- "Just fork Firefox ESR, strip the bloat and ship it with a good and well documented user.js and everyone who gives a shit about privacy will at least give it a try. We just need a more up to date IceCat without the LibreJS shit"
- "If we want extensions, it is probably wise to have compatibility with extensions from another browser so that trusted addons like ublock origin can be used without porting them."
- "mans literally eating a tub of butter. what a guy"
- "[on modular design] if you want a more technical approach, you can read chapters 8, 10, 11 and 12 of Randal's "Computer Systems. A Programmer’s Perspective" (they made me read this in college, don't know if there are better alternatives) as those chapters cover the most common ways of passing data from one process/thread to another.
- for the serialization part, you can read msgpack and similar software documentation."
- "IceCat makes zero unsolicited connections. Fuck, ship it with uBlock Origin in medium mode and HTTPZ and it's a deal."
- "Icecat is just a set of patches that remove certain functionality from firefox, and add their own branding logos etc, you can see this if you build it from source from the AUR. My guess is they don't make "normal" release versions because they feel ESR is "stable enough". If someone were to maintain the patchset and just change whatever was needed occasionally for every firefox release, and stick ublock in there, you'd have a much better, up to date icecat. beyond me why nobody has done this."
- "I guess you could just make an "Ungoogled" Firefox where you strip out all the telemetry and shit"
- "for a realistic idea of what building a browser from scratch entails, look at the one in Serenity OS"
- "Alright, I'll make the logo"
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement