A Critique of Lagrange

This is not a full review of Lagrange, but rather discussing one specific aspect of it. My intention here is to start a conversation.

Philosophy

For all its quirks and instability on mobile Linux, Lagrange is an awesome smolnet browser. As of the time of writing this, it supports the following protocols:

It also supports generic file system navigation, via file:///path/to/file.gmi

Lagrange Spartan announcement

I'm a fan of the Unix philosophy, which is essentially:

A program should do one thing, and one thing only, and do it well. Utilize multiple small programs that complement each other to solve more complex problems.

We could endlessly debate the pros and cons of this philosophy, but I suspect that would be fruitless.

That said, Lagrange objectively breaks that pattern and therefore is subjectively starting to sound bloated, in my opinion. Don't get me wrong, like I said above, Lagrange is awesome. I use it every single day. At what point, though, should we stop to consider if it is following the same path to complexity as web browsers did? The root cause of that is more HTTP (Hypertext Transfer Protocol) itself, so at least we don't have that problem here in Gemini. That's my take, wholly from the perspective of looking at its feature list.

From the technical side, I have not looked at Lagrange's code. Even if I had, at this time, my C skills are rudimentary at best, so I am not in a position to evaluate its technical complexity. Having read @skyjake's technical posts on Lagrange, it doesn't sound like it actually is overly complicated. Even so, it does implement a lot of (albeit simple) protocols, and therefore breaks the Unix philosophy, which makes me pause.

@skyjake's posts on Lagrange

Ramifications

A couple of comments from StackSmith made me suspect that we are on the cusp of a browser war:

I am a big proponent of the Spartan Protocol. Now that Lagrange supports it directly, it is a real thing. A whole new unpopulated part of the galaxy to explore and fill with your stuff!
I am looking forward to adding Spartan to my toolbox. And blabbing about it here. This is not really a competition - now that both Gemini and Spartan are a part of Lagrange - and I hope other browsers will follow - I choose to view these as complementary protocols.

StackSmith's take

The following is not to be construed as a condemnation of the Spartan protocol. I actually find Spartan intriguing.

Saying that 'this is not really a competition' and 'I hope other browsers will follow' is contradictory. If one hopes other browsers follow, then it necessarily is a competition. But I digress.

Are we going to start seeing 'best viewed in Lagrange' notices on Gemini capsules, like in the web of decades past (even today, many web applications for professional use are coded to work best in Chrome and Chrome only)? Come to think of it, I have already seen one or two of these already, even before the Spartan support.

Is Lagrange repeating the mistakes of web browsers in the 90s?