Wander – A tiny, decentralised tool to explore the small web
Wander – A tiny, decentralised tool to explore the small web
Hello HN!
This tool is inspired by Kagi Small Web (recent thread: https://news.ycombinator.com/item?id=47410542). A common concern raised here is that Kagi Small Web currently accepts only blogs, comics and YouTube channels. It does not accept arbitrary small websites. That limitation motivated me to build Wander.
Wander is fully decentralised. Anyone can host it on their own website. It consists of just two files: an `index.html` for the Wander console and a `wander.js` where you link to other Wander consoles. It is a bit like a webring, but more flexible. Each console can link to any number of sites and other consoles.
There is no server-side code, no database, nothing to install. If you have a website, you can set it up by uploading just two files. In fact, you can host it on GitHub Pages or Codeberg Pages too.
If you like the idea, please join the network. I would love to see it grow.
More details about how it works and how to set it up here: https://codeberg.org/susam/wander#readme
This is so delightful! I'll be deploying this and sharing a link on the issue.
One issue I see: If I get you to include a link to my console but I don't link to any others, I can trap wanderers within my recommendations until they refresh.
If that's not desirable, it could be avoided by having the client keep a running list of all the consoles it has discovered this session and choosing from that list at random.
> If that's not desirable, it could be avoided by having the client keep a running list of all the consoles it has discovered this session and choosing from that list at random.
Implemented in <https://codeberg.org/susam/wander/commit/f4d95fa>. Thanks again for the discussion!
To add to this fine suggestion, I'd like to highlight that Wander supports customising the appearance of the user interface.
The section https://codeberg.org/susam/wander#customise-your-console describes how someone setting their own /wander URL can customise how their console looks and behaves. I have seen a few consoles already using this feature to change their theme.
So while I will keep my console as it is, because that is how I prefer it, with large buttons occupying the full header width, others who prefer a different layout can do so by adding custom CSS as described in the link above.
> This tool is inspired by Kagi Small Web
To me the way Kagi curates its small web directory always feel contradictory to the spirit of independent web publishing because it seems like you have to submit entries through GitHub — a highly centralized platform owned by one of the largest tech companies.
kudos to you for figuring out a decentralized solution.
This is delightful! I found a bunch of interesting sites in just a few minutes. I appreciate your simple and decentralized approach.
I'm going to set this up on my website as a replacement for my boring blogroll list.
Incidentally, I made something similar (also called Wander!) that uses browser bookmarks as a source of links. It's a browser extension called "Wander your bookmarks" and helps you wander through sites you bookmarked in the past. In addition to jumping you to a random bookmark, you can also filter your bookmarks by keyword and jump from that shortened list. Check it out here: http://kmshiva.com/projects/wander.html .
What you are describing sounds a bit like a blogroll, which many of us do indeed maintain. Mine is here, by the way: https://susam.net/roll.html
However, Wander is meant to be a bit like StumbleUpon, but without requiring a centralised service that everyone must go through. One limitation of a blogroll is that it does not provide a consistent way to discover recommendations recursively. For example, I might visit your website A, which recommends website B. I might then visit B, but B may not have any recommendations at all.
Every Wander instance, on the other hand, has a defined list of recommendations. It also links to the /wander pages of its neighbouring sites. If you visit the /wander page of website A, the tool can discover its neighbours (B, C, etc.), then the neighbours of those neighbours and so on. It can fetch recommended links from them and present the links within the same console.
Additionally, the tool provides a way to leave the current console and move to a neighbour's console if the visitor wants to continue browsing from there.
Thank you for taking a look at this project. I'm glad you like the concept. I am not sure I have understood your question accurately, but let me attempt a response anyway. If I get it wrong, please feel free to correct me or ask me again.
There is no need to re-download https://codeberg.org/susam/wander every few weeks. The setup is a one-time activity. From that repository, you copy exactly two files (index.html and wander.js) and place them on your web server, preferably within a /wander/ directory. After that, you only maintain the wander.js file.
You curate your own links and choose which other Wander consoles to link to as neighbours. The contents of wander.js are entirely yours to define. There is no need to diff or compare it with the version in the repository.
In fact, if you do not care about updating or curating links often, you can leave both files untouched indefinitely. The only downside is that some links may eventually succumb to link rot, which could affect the wandering experience. So it may help to review your links occasionally and remove dead ones, but beyond that no ongoing maintenance is required.
> I get that, but right now, if you traverse each "console", you end up with a list of 28 trusted "small web" links. The project grows in value if that list gets bigger over time either by you personally adding nodes or the community adding nodes.
Yes, all of this makes sense.
> I don't really have a way of knowing if you are intending to add more links to your console (thus growing the project) or this is a one and done type of system.
I personally do not plan to add too many page links to my console. However, I will add more console links, which has the effect of expanding my console neighbourhood and thereby increasing the pool of recommendations.
That said, I am not sure why it matters whether I add more links to my console specifically. In my opinion, any single Wander instance should not matter much on its own. What matters more is whether the network as a whole grows, that is, more consoles being set up and more of them linking to each other.
One of my design goals has been to avoid giving any particular console a special status. All consoles are equal participants in the network from a technical perspective. You should be able to pick any console from the network, perhaps one belonging to your favourite blogger, perhaps even your own and explore the neighbourhood from there. Yes, the neighbourhood would look different from each console but that's pretty much the point of this project. As long as the overall graph of consoles is connected, you could in theory reach any community recommendation from any starting point. Even if the graph is not fully connected, I do not see that as a significant issue. It just reflects how connections tend to form in a decentralised system. Please let me know if you think I have missed your point again.
Just to clarify, I like Wander. I'd really like to see something fill in the void left by StumbleUpon.
I used to spend hoooooooours wandering there.
I feel like activity pub was supposed to / does enable this.
Perhaps someone better informed than I could comment.
Very cool. Reminds me of stumbleupon, which I lost many hours to back in the day.
Curated discovery is one of biggest gripes with modern platforms like youtube - discovering something truly new and outside of your normal interests is really difficult, and the same goes for the web. If you have a topic you want to explore it's fine, but finding random things you'd never have thought of yourself is much harder.
I hope platforms like these find a way to attract people outside tech circles. I looked at around a dozen recommended sites and only two of them isn't the personal website of someone who works in tech and writes mostly about tech, which gets boring rather quickly.
There is a world of non-tech bloggers writing stuffs about history, culture and nature who would likely never learn about this project simply because they are not in the right social spaces. I hope there is a way to have them in the ecosystem too.
It doesn't seem very hard to implement in your own site, so it might gain some traction? It's not super-complex, I understand it is some sort of interconnected spin on webrings, which are still somewhat popular among small websites.
If anybody wants to find truly random small websites, I recommend using Wiby (search engine). It has some neat stuff.
> It doesn't seem very hard to implement in your own site
Depends on how technically sophisticated the author is. Many of the blogs I was thinking about were not written by people familiar with web stuffs. They are hosted on managed hosting services like wordpress.com and blogspot, or on hosting providers with streamlined services that require no technical skills to use. Setting up this tool may very well be beyond what the authors are comfortable with or capable of.
Assuming you consider services like Wordpress and blogspot outside of the small web, people advocating that domain refuse to acknowledge why those services are successful to begin with.
If being part of the small web requires technical expertise, it will always be limited to tech minded people who also happen to cook and play guitar.
There is also https://marginalia-search.com/
It has indexed lots of different websites categories
Marginalia Search is a small independent do-it-yourself search engine for surprising but content-rich websites that never ask you to accept cookies or subscribe to newsletters. The goal is to bring you the sort of grass fed, free range HTML your grandma used to write.