Seeing the calls to switch to Safari or Firefox from Chrome (hey, have I told you about Odysseus?) I want to say once again that we should be developing new browser engines to fight the collapse in browser divirsity! We need the web to simplify!
Who's interested? I've developed a CSS engine to help you: https://git.nzoss.org.nz/alcinnz/stylish-haskell
And I've just gotten around to blogging about it: https://odysseus.adrian.geek.nz/misc/2019/06/24/my-css-engine.html
For any concerned webdevs my advice is:
1. Most importantly: Test in multiple browsers
2. Avoid JavaScript, there's too much bloat there for new browser engines to afford. If you must use JS discuss how new web standards can help you move away from it
3. Use progressive enhancement/graceful degradation, this will help new browsers get started quickly
4. Don't worry about your pages looking the same everywhere, only care that they look good everywhere
5. Related to (2), try out Intercooler.js
@alcinnz I'm a big fan of CSS grid (of course always having `display:block;` as a fallback in page design). I'm also a huge fan of user-styles: `prefers-color-scheme` solves a problem that didn't need to exist. "Hamburger menus" are also an interest of mine: seems like that shouldn't need javascript, also could be defined by user styles.
@alcinnz Yes. Though I'm not *exactly* sure about what you mean with the last point. And on which project should this effort be put toward?
@zachdecook "Browser UI"?
By that mean adding a toolbar, addressbar, tabs, etc. UI controls for end-users to get the most out of the browser engine. The sorts of things I'm implementing in Odysseus.
Some of that work could probably get reused, but much of it's quite tightly coupled to WebKit.
@zachdecook Let's see...
The first thing that comes to mind for a side-project for you would be laying out block elements. Implementing things like CSS grid which you said you like!
To keep it simple, I'd advise:
* Don't handle inline elements, or call Pango for them.
* Only worry about drawing boxes onscreen, enough for you to see what you're doing.
* Define your own input format that doesn't require styling.
Sound interesting?