197 comments

[ 5.0 ms ] story [ 204 ms ] thread
A browser^, at a minimum, should support HTML + CSS (+1 if it supports the latest specification).

Edit: ^A modern browser

That seems like an overly narrow definition of what a browser "should" be. I think there's enough choice that niche projects like this can exist.
By that definition, many screen reader browsers would not be considered browsers yet they enable the user to surf the web none the less.
That’s not how a screen reader works. It interfaces with a “normal” browser’s exposed accessibility tree, and generates speech / Braille from that.
As stated by robin_reala, that is not how screen readers work. At minimum they still definitely parse CSS as many accessibility enhancements were only introduced by CSS with no equivalent (or even a workaround) using pure HTML, and in practice will also require to have JavaScript support because when a website decides to be an obnoxious GPU-hungry Flutter application even CSS wouldn't cut it.
This is not really correct, many screen readers only support a very small subset of CSS which doesn't really match the parent's comment, that browsers must support HTML and CSS.
> This is not really correct, many screen readers only support a very small subset of CSS which doesn't really match the parent's comment, that browsers must support HTML and CSS.

This doesn't match with current versions of accessibility software which either connects to a browser or simply bundles an embedded version of Chromium. The ship has sailed on no-JS websites sadly, and not supporting (substantially) all of CSS modules would simply render 90% of websites inaccessible.

Agree. This cool project should be called "a user agent", not a browser.
...a browser for what ? Kristall is (near) perfect, for its work
(comment deleted)
It should not support CSS, just HTML, HTTP and HTTPS. The browser should render the document based on its semantics and the users preference.
If modern browser should be that then Kristall is a post-modern browser
kristall is along with geminaut and lagrange, the perfect triptych for wandering the small web! until recently they were the only ones to pass (almost) torture tests [1]! highly recommended

[1] gemini://gemini.conman.org/test/torture/

Completely agree - they are the top three GUI browsers running in GeminiSpace. Since I am seeing lots of confused comments - both Kristall and Lagrange are x-platform and portable. Very easy to take out for a spin:-)

There's also JGemini (https://github.com/kevinboone/jgemini), a cute little 107kb jar file that's also a full GUI browser. Yes! 107kb:-) Also x-platform and portable (java -jar ./jgemini-1.0.jar). Not many features (no tabs, just multiple windows) but it's a good example of how quickly browsing solutions can be built when markup is reduced.

That is... you don't need billions of dollars and a decade to present a viable solution in this space.

GeminiSpace actually reminds me much of the early days of the web. People will complain about the limited markup. For some users, the additional security/privacy of the protocol and the reduced 'noise' makes this appealing.

-----------------------------

Gemini (protocol), Gemtext format:

https://en.wikipedia.org/wiki/Gemini_(protocol)

Like Lynx then?
Can Lynx render Gemini markup?
Is there anything on gemini other than people talking about gemini? Not trying to be facetious but last time I looked I couldn't find anything. I'm sort of directionally sympathetic to their goals so I want it to be a case where there is great stuff there that I just didn't know how to find.
Just glancing at the Antenna feed, there are about 10 posts a day, and one a day about Gemini. Most content is just blog-post updates on computers and people’s lives.

Antenna is an aggregator feed for Geminispace. You can subscribe to it with a Gemini client that supports Atom feeds.

=> gemini://warmedal.se/~antenna/ Antenna on Geminispace

Does it know any new tricks that lynx can't do?
From what I can see it supports point and click via the mouse? I don't think lynx does. At least the few times I've used it I ended up using tab/cursor keys which gets a bit tedious.
links and links2 support the mouse
Since it’s not constrained to the terminal, it can display headers in a large bold font, and body text in a non-monospace font.
[flagged]
(comment deleted)
Did someone forget to fill out the "why" section?
(comment deleted)
when the "why" section is missing. The anser is "because".
It will need an adblocker.
(comment deleted)
Personally I don't have problem with some ads, just popups and JS spyware/bloatware.

If there is content/ads ratio problem, you just leave the site.

> TLS with TOFU...

So also known as TLS with support for evesdropping. I doubt even an expert would be able to browse the web securely in that model.

(comment deleted)
> able to browse the web

Yeah but this is not a browser for the web.

There's more than one web out there.

Gopher and HTTP used to be about as popular. Now we have other protocols like Spartan[0].

0. https://gemini.yesterweb.org/proxy/spartan.mozz.us/

I am absolutely in love with how spartan solved the input problem (prompt line), I wish gemini would also adopt the same function/tag
I avoided direct mention of Gemini for a reason: I am not a fan.

Got nothing against the idea. It is about the implementation. I care about retro hardware and minimizing requirements; they don't.

Spartan is cool.

This has always been my real issue with Gemini. Gopher is useful on all computers I own and actually makes retro computers more useful with the services available on it.

Gemini’s TLS requirement prevents access by a of machines that could benefit from it.

HN is the only place on the Internet where I hear about Gemini. Excluding Gemini itself.

I'm all in for a simpler Internet, but on HTTP(S), with images and other media if needed

Yeah, gemini is way to simple, its unpractical.
Being unpractical is the point. It's unpractical to implement tracking, anything beyond simple ads, websites with flashy or distracting designs, picture-in-picture video autoplay like news websites often do, popups, moving banners, and RAM/CPU heavy client-side scripting (or any client-side scripting, for that matter). So your website will have to do without that.

And that is by design. Gemini is designed to exclude those features, because the target audience of this protocol wants to browse a web where those features are impossible to include.

(comment deleted)
Fully agree. I am also wondering why simplicity needs its own protocol here. Striving for simplicity is more a philosophical than a technical task.

Edit: The creation of new protocols and technical solutions alone increases cognitive complexity. From this point of view, it is even counterproductive if existing solutions can enable the same.

Dunno, the gemini protocol and gemtext format is like the internet equivalent of a 6502. It's extremely approachable to anyone with a basic understanding of programming. Like you could slap together a working client or a server in an afternoon, most likely.

Its built-in limitations also inspires quite a lot of creativity.

That's make it just a toy
You say that, but plenty of old computers were based on the 6502. Those were used both for play and for real work. Before the time of resource-heavy network protocols, they could even host and access BBS systems (for those unfamiliar, basically a precursor of the Internet).

Gemini cannot do a lot (which is by design), but it also has huge capabilities. For instance, while client-side logic is impossible, there's nothing preventing you from writing a "web app" that does its logic on the server side. Yes, you would require page refreshes to update what the client sees, but with Gemini each page load is much, much cheaper than HTML because the response payload is smaller to transfer and easier to parse.

Assuming that your Gemini client allows enabling inline images, there's absolutely no reason why you couldn't build a stateful web-app that is a clone of Twitter, Facebook or another social media site. There's no reason why you couldn't design a simple webmail client a la Gmail, or a system monitoring dashboard, or a bug tracker, or basically anything else that doesn't have to rely on complex layouts or inline video to do its job.

It’s disheartening to see so many posts like this on ‘Hacker’News. It doesn’t have to be some big, serious thing for people to either enjoy or find useful.

Some people had an idea, went out, and made it a reality, built a small community around it and now we have Gemini.

We should encourage such things. Projects don’t need to change the world and they don’t need to be useful to all people or exploitable by corporations. Building something because it’s fun, or because you want it to exist is good enough.

Unix was born to play Space War. NCurses exists because of Rogue. Text adventures where used a lot on text parsing, and video games boosted the PC industry on multimedia.
what's wrong with toys?

Toys are way better than startups and growth and monetization and disruption and onlyfans to pay the bills.

> I am also wondering why simplicity needs its own protocol here

This "killed" Gemini from the start

I think perhaps having their own protocol serve to encapsulate the community interested in this particular form of simplicity.
That's pretty much the stated objective, in addition to designing the protocol in a way that freezes features at the outset to prevent it from becoming another Web 2.0.
I'm cross-publishing my website on gemini, basically rendering HTML and gemtext from a very slightly enhanced variant of gemtext that has some rendering hints that are stripped away.

Like this page https://memex.marginalia.nu/log/ is rendered from this code:

  # Gemlog
  
  => /topic/ Browse by topic

  => /links/aggregators.gmi Aggregators

  => /log/feed.xml Atom Feed

  This section of the memex contains what might described as a weblog.
  %%% FEED
  
  %%% LISTING
(the FEED directive tells it to generate an Atom feed, and LISTING to inline the documents list rather than put it in the side-bar in the HTML version)

Gemtext is very close to what I want. The only thing I wish is that it had some rudimentary support for illustrative images. Not like inlined in the text, but at least centered figures. That would go a long way.

Exactly. See my other post here — I think a HTML subset would make more sense. Then these sites would run safely on both Kristall and Firefox for as long as they adhered to this simplified standard.
What's the problem that this fixes?
Distraction-free access to information. Like reading a book.
There is nothing about HTML/CSS/JS that prevents simplicity. It is purely how it has been used and abused. You can also disable JS and use user agent stylesheets in any modern web browser.
While it doesn't prevent simplicity, it allows and enables distracting complexity. Also a lot of sites just break if you disable js.
You can read a book on your tablet / laptop, or even watch a movie adaptation; or you can read a book on dead trees. Some people would like to recreate certain aspects of the "dead tree" experience without actually killing trees.
use a dedicated ebook reader.
So isn't this kind of project very similar in scope to an ebook reader app? It just focuses on browsing hypertext media, rather than a pdf/epub.

I still don't understand why it's utility is being questioned, when the entire category clearly has a user base.

> There is nothing about HTML/CSS/JS that prevents simplicity

You're right, there isn't yet here we are. Where I need to download and run a React program every time I want to read an article.

It would be great if React could be built directly into browsers, but it would greatly curtail the current flexibility of server-vended React. The project is able to evolve quite quickly unshackled from a w3c process and the pulse of major browser updates.

(IIUC, there was a proposal in Firefox decades ago to make the engine into several flexible modules and a page could declare which modules it depended upon, then the browser would either cache them and use them for multiple sites or already have them builtin. You'd get the best of both worlds: rich and expressive pages without the frequently-paid cost of poly-filling the gap between how the developer wants the render engine to work and the actual implementation of the render engine.

Sadly, I suspect the actual complexity to implement would have made for a worse overall situation than what we have now).

I haven't done any professional web stuff in a few years, wasn't this kind of the idea of web components? As you said, The React team can move a lot faster than w3c and each browser vendor.
Where is the button to enable JavaScript? For reasons of simplicity, resource use, and security JavaScript should be disabled by default. But there ain't that button, it's complicated.

Where is the security? Chrome last I checked had eight actively exploited zero-days last year, which is laughably bad compared to the other operating system I use. Perhaps if the modern web was simpler, a browser would be easier to implement, and more time could be spent on making it not a raging security dumpster fire? But it ain't, it's complicated.

How does one even setup user agent stylesheets? What could that be but yet more complexity? Meanwhile, I'll use w3m and amfora and if it's a broken page that mandates Flash, JavaScript, whatever, I most likely won't bother launching a "heavyweight champion" browser. The CPU fans will last longer that way.

(comment deleted)
(comment deleted)
Why must it fix a problem?
What's this for only gemini? It seems to not support http, https or gopher even though it kinda mention them ? Also seems to just segfault when loading a gemini site..
You have to enable gopher in its preferences, I assume the same is true for http.
Hacker News on Kristall: https://imgur.com/a/lhq8iCw

http, https are disabled by default, they need to be enabled in File/Settings/Generic.

I was hoping it would be a single executable but (on Windows) it's 56 files: 1 exe, 33 dedicated dlls, 22 translation files.

Google Search does not work, it's impossible to get past the cookie consent page: https://imgur.com/a/daGMASS (Same thing happens if one tries to put the search words in the url.)

DuckDuckGo doesn't display a search box either, just links about itself: https://imgur.com/a/UMLKiOv

No search box on Bing either; it's possible to access a page like https://www.bing.com/search?q=hacker+news for example, but the SERP is wrong and says "no results" whatever the words searched : https://imgur.com/a/J2Y4CU6

The modern web is hard to use with simple tools.

I think (extremely) rudementary CSS support would fix many of these cases. You don't need to support more than the basic layout constraints, but you need something so sites like DDG's search page without Javascript can work.

I believe Google will still work on very old browsers through something like user agent sniffing, maybe setting the UA to IE5 will trick it into rendering HTML that might actually work (though the search results will probably still be useless)

Or even just supporting user stylesheets like the original browsers intended

Nowadays you have to install an extension just to get this promised feature

I actually used to serve marginalia search it over gemini, although that feature has fallen into disrepair.

But it's designed to work without CSS and scripts, I test it with w3m and lynx, so I hope kristall can deal with it too.

No, but I think I must be doing something wrong, because no form or input field of any kind is ever displayed on any website. I tried the simplest form imaginable on localhost and it didn't work either.

Edit: as ketzu points out (https://news.ycombinator.com/item?id=34351753), Kristall simply doesn't render form elements. Which makes it pretty useless ATM IMHO.

You can probably use lite.duckduckgo.com.
How can the search boxes disappear? Aren’t they just plain HTML?
They don't render input elements (at least that is my understanding of the code):

https://github.com/MasterQ32/kristall/blob/6b39f24484bb0796f...

The GitHub notes that they only support a reduced set of HTML, but not which set it is. My guess is they do not support any interactivity related elements.

Ah thanks, that explains it! So it makes for quite a useless browser until and if they do.
(comment deleted)
Like Links[1] then?

Really. I want Epiphany and Firefox to allow me turn off JavaScript like I can allow/disallow {Audio, Video, Webcam, Location, Notifications...}.

The single wrong decision was following Google into that JS-Show. JS has it rationals, I'm using it as programmer sometimes. But JS was consider harmful for the reasons! Google intention was using JS for it's so called web-application/single-page-application to lure users into the cloud. And they opened the opportunity for a bloated web with user tracking via JS, bitcoin miners via JS, animating all kind of elements with JS and so on. Result? Fan spins up, laptop battery discharged.

[1] http://links.twibright.com/

PS: I bet Steve Jobs would have banned entire Electron from MacOS. For same reasons Flash was banned.

> I want Epiphany and Firefox to allow me turn off JavaScript like I can allow/disallow {Audio, Video, Webcam, Location, Notifications...}.

uBlock Origin can do this, I believe. NoScript is a more involved solution, but it also still works. I don't know about Epiphany, though.

I use uBlock origin with JavaScript disabled by default.

You can set a shortcut to enable JavaScript (“Relax blocking mode”, cmd-J for me. I don’t remember whether that was the default.)

You can persist enabled JavaScript for the current domain for the future.

I find that with JavaScript enabled on some 20 websites, the rest of the web works pretty well with the occasional cmd-J in case it doesn’t.

On mobile I haven’t found a good way to do it. Brave browser makes it easiest to enable/disable JS on the current page, among the ones I tested.

There are annoyances. 1) many sites can't even be bothered with a basic noscript or it was the default message from some “starter” app rather than something meaningful/descriptive 2) basic sites like blogs are putting their image loading behind JavaScript for no reason (unless they or WordPress plugin developers aren't aware of <img loading="lazy">) 3) too many folks are relying on third-party CDNs and client-side parsing for something that should obviously had been done at build time like code syntax highlighting and rendering LaTeX (almost every ‘modern’ docs project fails this so our tech industry fails here).
Annoyances developers should take into account, not something users should be dissuaded from. Do block by default.
(comment deleted)
I have nitpicks and criticisms about Gemini, and it's not a protocol that I use very often (if at all), but I also don't see the harm in it. It seems to have a pretty strong grasp of what its goals are and (minor criticisms aside) it does a decent job of accomplishing those goals. Nowadays I tend to compare Gemini more to things like Pico-8 or Markdown rather than think of it as a web competitor -- and as a result I've started to develop a lot more respect for the project. It's not designed to replace the web or revolutionize how people share content, it's designed to be a useful medium for the community that uses it.

All that to say, I'm not sure I understand the criticism I'm seeing here. A Lynx-like browser with proper graphical mouse support and a couple of extras built in is a fine project. And support for Gemini/Markdown gives the browser a clear use-case beyond HTML that means it'll be practically useful for some people; it's not just an experiment in failing to render most websites because it doesn't support CSS, there's a category of content that you know will work, and a community of people making that content.

That's assuming it works well, but if it does -- I don't know, seems like a cool project? It's good to have more Gemini clients.

I think of Gemini less like a competitor to the web but more as ham radio.

Radio amateurs can communicate through the internet with their phones and it would be faster, simpler and easier. But radio gives them both the nostalgia feeling and a niche community to belong.

Gemini is kinda like that.

I don't use Pico-8, and I find its limitations frustrating; I am never going to make a game in Pico-8. But I do use stuff like Jummbox when I compose music, for basically the same exact reasons other devs use Pico-8 for games, and I love Jummbox's limitations for music composition.

Limitations are a way of fostering community (ham radio enthusiasts all kind of get to know local operators, Jummbox makes sharing song sources in a digestible way super-easy). Limitations also allow you to not care about complications that would be barriers to building things -- I don't want to set up a VST before I start writing music.

So my feeling on Gemini has shifted from being a curmudgeon about honestly kind of really nitpicky, shallow stuff like the ability to mark-up inline language transitions -- into realizing that when you step away from thinking of the project as some kind of attack on the web then yeah, it actually makes a ton of sense to build a small community around a very limited format that forces everyone in that community to be standardized in how they share with each other, keeps the community a little bit niche so that the people in it are a bit more friendly and personable, and forces its participants to focus pretty much only on what they're writing and nothing else.

Thanks for mentioning Jummbox, I was just looking for something like that! Though I'll start with Beepbox since it looks even more constrained.
Radio Amateurs will be indispensable when the next CME (Corona Mass Ejection) annihilates our grid and the Internet.

Look up "Carrington Event".

> Nowadays I tend to compare Gemini more to things like Pico-8 or Markdown rather than think of it as a web competitor

That's also how Gemini thinks of itself. I'm a fan personally, I'm all for projects that just go and do their own thing and do it well.

>Crossplatform all the way

excluding mobile platforms

So, basically Gopher.
It's essentially gopher with TLS.
Gopher with TLS exists, it's promoted by gopher://bitreich.org and sacc.

Gemini it's something else. It supports non 80x24 displays with automatic resizing and fixed-width text, among the images category.

You know when sometimes it's just the humility vs hubris with the way something is presented, that inclines you toward liking or hating it?
As someone who has come to prefer viewing web-pages in reader-mode rather than their default-layouts, I really love the idea of having a leaner, more minimalist web. Just pure content without all the bloat...

How have I never heard about this before?

I feel the same. I've often wondered how much is missing from servo if we just wanted a noscript browser. It would be nice if redox os had a rust only browser.
I feel the same. This is insanely cool if it does what it says on the tin. I am going to try it out.
lynx, links, eww (from Emacs) and edbrowse [1] entered the chat ;) Especially edbrowse, which I find weirdly powerful.

[1] https://edbrowse.org/

Edbrowse does HTML+JS, Email, IRC, File Managing and it's an SQL client too. And a text editor.
[flagged]
If you’re aiming for regulation to fix the internet, you’ll never have a fixed internet.
Instant fail: does not zoom. Unusable except if the font scaling is just right for you.

Lagrange (cross-platform) looks much better, and does zoom. In the terminal is nice too, I like Amfora (Golang single binary).

Being it's version 0.4 I'm willing to look past a lot of things being fully implemented yet. Especially in this case since Settings -> Style lets you configure the sizing of every component to your liking so we know text scaling isn't just forgotten about or restricted. Another example is text selection, looks like it's marked as experimental.
Useless negative comments like yours make me wish I could downvote comments on HN.
I'm a fan of Lynx. React and angular have destroyed the semantic web.
Love Lynx and not particularly fond about JS or responsive frameworks. But I do not understand what React or Angular could have contributed that would be incompatible counter to or otherwise could have hampered the semantic web — so far as that would have ever been a viable thing is the first place.

Can you elaborate on how react and angular have destroyed the semantic web?

Not GP but heres what I think they meant.

In the old days you could look at at raw non-rendered HTML and it would be so simple that you can render it in your head.

With the advent of more sophisticated web frameworks like the one mentioned, that’s no longer the case. The site consists of MBs of scripts and templates that take a gigawatt to render.

+1 on the bloat, though i would primarily blame sloppy code and cheap fast pipes.

On complicated scripts taking a gigawatt to render, I would like to point out that in the good old days that was all happening too — just not in your browser. Inefficient PHP and CGI scripts, massive Java frameworks. Today, still the majority of complexity and heavy lifting is kept away from our browsers. It's sobering to think that most of the gigawatts we burn on our phones, do not show up on our power bills...

I think that for most businesses, their sites could be statically generated, with iframes and embed tags for interactive parts like forms, and the web would become much faster, more pleasant to use, and have a notably lower carbon footprint. Making images smaller by default would help too.

For interactive sites, if videos were limited to 480p on mobile and 720p on desktop unless manually changed, I imagine the carbon impact of data centers would drop considerably. For content viewed on TVs (where you usually sit quite a bit farther back than a monitor), such as Netflix or Hulu, I think they could set it to 480p by default and a lot of people would never bother to change it.

Unfortunately actually calculating the carbon footprint of a bloated web (compared to a lite version) would be very difficult. As you mention, a lot of that bloat is on the backend. New Reddit may transfer 6x more resources over the network than Old Reddit, but both of them have to process on the back-end what links should even be shown for a given user, so I doubt switching to Old Reddit would result in 6x fewer emissions. But even if it only resulted in 2x fewer emissions, that'd still be a considerable improvement. Part of the investigation would require seeing how much energy is used by the data centers processing what to send, versus how much energy is used by ISPs transferring that data across networks to the end-users.

In any case, if sites were more like Hacker News, Craigslist, and Wikipedia, versus New Reddit, Amazon, and most news sites, I feel confident that the carbon footprint of the Internet would go down notably. HN and Craigslist's designs are going to be hard sell for most businesses, but something like Wikipedia proves you can have an attractive design with low page sizes. And in the case for newspapers, it'd be nice if their web versions were more similar to their paper versions. That is tough with a free + ads model, but honestly I'm more likely to see an ad if the whole site is just text and there's a text ad in the middle of it (hopefully properly identified as such, though.)

I quickly moved on to Links when I was using Lynx for a while (some years ago) as it optionally did images and could work with some JavaScript. Depends on ones use case.
I have been using lynx for almost 3 decades. It is still my primary browser. All of my bookmarks are stored in lynx. When necessary, I can spawn my defined x-www-browser from inside lynx, as when typing this comment. The two together are quite functional...
React and angular are definitely the wrong tools for the job if one is trying to make a semantically-parseable page. They're tools for human interaction, not machine interaction. It turns out humans care about things that HTML and CSS alone weren't sufficient to account for (like delaying streaming of data until it's actually needed, saving on bandwidth, which humans have to pay for).
There has never been a semantic web
"Never" is a tiny bit harsh, IMHO; arguably, there have been several of them they just (evidently?) don't offer content producers as much value as it offers to consumers (which includes search engines), and thus the incentives play out in exactly that way

* JSON-LD markup exists in plenty of modern sites

* schema.org markup exists in some

* microformats.org briefly raised its head

The BBC website is the biggest example I know of which has a lot of semantic markup/annotations. IIRC they used to actually have RDF attributes in a lot of the BBC Radio listings

The scrolling direction for some reason is inverted. If I grab the scrollbar and drag it down with a mouse, it drags up. Is this made for an iPad?