💾 Archived View for bbs.geminispace.org › u › zzo38 › 20992 captured on 2024-12-17 at 15:24:26. Gemini links have been rewritten to link to archived content

View Raw

More Information

-=-=-=-=-=-=-

Comment by 🦂 zzo38

Re: "Multi-protocol browser (Dschubba) Dschubba is intended to..."

In: u/zzo38

Thank you for your opinions.

What I am trying to say is that I am not objecting to most of what you propose, but you propose a bunch of arbitrary goals. Whether they are sensible, I certainly don't know, and I don't know if you do either.

It is true, I don't know for sure. However, not all of the goals are meant to be done immediately, some will be implemented earlier and some will be later, and some goals might change later if necessary.

Are you proposing to remake Lagrange with a lot of features removed and supporting a couple of extra protocols?

Kind of, I suppose; however, many things are different principles than Lagrange has doing. It is meant to be a separate program like there are many other implementations of Gemini, Gopher, etc, it is not meant to be only one kind of implementation that all does things in the same ways.

There are things about Lagrange I dislike, such as:

(Note: I do not use Lagrange.)

If you do want to make something like you described, may I suggest creating a few serously decoupled components: a general-purpose multi-document GUI framework which accepts simple plug-in networking and rendering components.

Actually, it is (almost) my intention.

I will have to figure out the data structures to use. So far, I had considered to have:

I would think that I would need more, too, such as:

Actually, I don't know if more will be needed than that, or if any of this is more than what will be needed.

There is also the question to know what functions and other fields to put into each object.

I have some ideas, and may write another message after this one (although that should not stop you from replying to this one before I do so, if you have any replies to write).

The interface should be C -- not ideal but you can build a foreign interface for any language.

I like the C programming language. It is not perfect, but the other ones are worse in many ways, in my opinion.

Also, that does not necessarily mean that a foreign interface will work well (for many reasons, mainly having to do with the working of the interface of other programming languages), but I have no intention to support anything other than C anyways, so perhaps that does not matter as much.

It should be easy to make one for the TUI and the console too.

This is possible too, although it is not really my intention; the rendering code will be specific to X window system, I think.

And consider user information management - certificates, bookmarks, history, how it works across protocols, etc.

OK, it is a good point. However, I think that certificates, bookmarks, and history, can work in mostly the same way regardless of protocols and file formats.

But, how other things will work across protocols, is the issue, although if I define a abstract interface for this then hopefully it will work.

But then again, I've never seen something like that done well, and it is a very hard project

Well, I do not intend to do absolutely everything.

Nevertheless, I do intend to do some things, and should not necessarily have to be one person alone to do it, I should suppose.

Why not pick something "small", like a really good misfin client, and do it well?

I could, and it would be another idea. I do not really intend to implement Misfin, and if I do, it would be outside of the scope of this program and will be a different one.

Also, I might not want to require OpenSSL; there are other implementations of TLS and maybe the stuff to deal with TLS can be one file that it can be changed.

OpenSSL is rather confusing. One thing I could not figure out is how to handle raw certificates when receiving and validating server certificates. (BearSSL seems to do it, but BearSSL does not have TLS 1.3 so far as I far as I know.)

🦂 zzo38 [OP]

Oct 19 · 2 months ago

Original Post

🦂 zzo38

Multi-protocol browser (Dschubba) Dschubba is intended to be a multi-protocol browser for use with X windows in GNU/Linux systems. It is FOSS, and is not written much yet; part of the decision of how to make up the data structures and a few other things. Goals (not all of them are first priority, though; some would be later): Gopher (without TLS) Gemini Nex Scorpion (with and without TLS) Spartan Local files TLS client certificates Bitmap fonts (including non-Unicode bitmap fonts) Never do...

💬 7 comments · 3 likes · Oct 16 · 2 months ago