So web browsers are bad, right?
And web browsers being bad is making the internet bad, right?
Or maybe the internet being bad is making web browser bad.
The upshot is that we should stop using bad web browsers recreationally, and stop using services that can only be accessed from bad web browsers.
And when that isn't possible, build alternatives that work from not bad browsers.
That's why I'm so happy that Brutaldon exists.
So, what are the core features a good web browser should have?
What shouldn't it have?
@ajroach42 I guess the question is, how would you *split up* the web, so that applications that really do need the abused functionality went off into their own space (perhaps with its own protocol), while the pieces we like would stay in their own space in which annoyances are relatively difficult to implement.
@freakazoid Right. I'm not suggesting that we try to replace the web entirely. It is very useful, as much as it is a giant problem.
I'm wondering aloud what the core functionality of a modern document delivery platform should look like.
A thing that does what the web was supposed to do, rather than what the web does.
With regard to formatting -- well, a subset of html might do, but maybe markdown would be better. Give the user complete control over fonts, sizes, and colors. Eliminate scripting entirely.
But LaTeX is focused around good text layout by default, and has every tool you'll need for that without style sheets or other garbage.
@Canageek @enkiv2 @ajroach42 At the other end, there's the criticism (from Alan Kay?) of the fact that we've essentially replicated paper books on computers. So maybe we're taking too narrow of a view and over-simplifying. Perhaps we're limiting ourselves too much by trying to make annoyances impossible; maybe that's a problem to be solved socially instead of technologically, except perhaps for the elimination of 3rd party content (or at least cookies).
@ajroach42 @enkiv2 @freakazoid I just thought of something: Browsers are going to have to help control text width if it isn't specified in the document. Ever tried to read a raw text file on a wide monitor? Once you are over a few inches across its just unworkable.
But I don't want to have to resize my browser constantly.
On the other hand, if there are apps and everything uses the same formatting then one window size would be fine? But if I hit maximize getting it back might be a pain.
Wrap is a solved problem for plaintext. Even word wrap: backtrack to word boundaries unless the token is longer than the line, in which case switch to character wrap.
This mechanism works so long as you don't switch text directions in the middle of a line & don't try to apply restrictions like non-breaking spaces to character wrap.
@enkiv2 @ajroach42 @freakazoid 1) I mean, how do you pick how wide a column to show? In HTML either it is as wide as the window (Fine when we used 800x600 monitors, not fine at 1920x1280!) or the document specifies a width.
If the document doesn't specify a width, and we don't want it full window width wide, browsers are going to have to handle that.
Would tabs still be the best approach if you aren't going to be using all the space at the sides? I've thought they should move UI elements to the left and right sides of the screen for a while.
Or would it be better to go back to a multiwindow model so the OS can do nice layout things?
Would it be better to have split windows inside the browser, or open two browser windows, etc?
I like the idea of pulling in content from multiple sources in to multiple columns on one screen, personally. But I suspect there is no “right answer” here.
Which brings up an interesting point: applications are hobbling themseves by being crossplatform. They're stuck either not integrating in any interesting way or doing their own bespoke internal integrations that don't match anything else on the platform.
SDL doesn't have a native widget mechanism because SDL doesn't have widgets.
I'm thinking of the equivalent of mmtk for tk. Swing has one, whose name I've forgotten. GTK & QT have them but I never knew their names in the first place. It's a mechanism to skin toolkit widgets based on current OS themes & make them behave like native widgets (sometimes by actually turning them into native widgets).
Both TK & Swing actually have this mechanism (sort of) out of the box, in that both can simulate sets of native widgets through a built-in config setting for a certain set of styles -- notably motif. mmtk seems not to be a wrapper over this that identifies which style is apprpriate: it creates even the elaborate osx translucent scrollbars and such.