Building my own browser to explore decentralized discovery

Today we rely on very few sources for discovering the information we want and need, mostly having it fed to us by Google and Facebook. I have long been fascinated by how to solve this, and have currently come to the conclusion that part of the blame lands on longstanding browser UI design.

If the browser asks users to select a single search engine or a single homepage (or use the default), people will come to use that webservice for everything. And those services will try to address every use case rather than shine at particular ones.

To explore this I have created my own (WebKitGTK-based) web browser “Odysseus” and have published it to the elementary AppCenter (though I will soon be deploying to other distros as well). I very comfortably use it as my primary browser, and I’m aware of others happily using it as well. But let me describe why I find it’s features so valuable to illustrate my thinking:

Top Sites
I’m worried about people coming to rely on their homepage for most of their discovery, so I don’t want to have a single one. Google Chrome’s (or is it Opera’s) concept of “top sites” provides one way for multiple sites to share that prime realestate in the form of links.

Though at the request of others I plan to try another approach as well where people can set multiple homepages for the browser to choose at random for each new tab.

Web Feeds
I really don’t like the alternatives to this early Web technology. I don’t want people to waste their time reloading specific websites, and nor do I want that to be solved by having all updates routed through a centralized service. That would just defeat any decentralization the Web has left!

Webfeeds allow a client application to load updates from all registered websites and merge them clientside into a single list, fully under the users control. Getting away from the AI-curated timelines of Facebook, et al. And they are useful to web developers to split and combine these datastreams however they want.

App Recommendations
Like other browsers Odysseus will open non-HTML and -HTTP links in other apps already installed on your computer, and it sends webfeeds to native apps as well for subscription. This is vital because without that central servers delivering code, native apps have more freedom to be peer-to-peer. And browsers should have the freedom to focus on rich text rather than being a virtual machine for networked apps.

To help the adoption of those apps Odysseus takes it one step further than other browsers: if you do not have a compatible app installed it will recommend some to you from your package repository. This currently works on any AppStream compatible distro.

To Be Done
Personalized Suggestions
We currently go to sites like YouTube when you want to idle away our time, but those sites do not necessarily have our best interests at heart when building their AIs. At the very least they want to keep us on their site. We need something more decentralized we can trust.

These technologies ask the question “what pages are related to those I’ve visited?” I plan to answer this with “What did they link to?”

That is I plan to echo back the unvisited links you encounter online as personalized recommendations. This sort of technique may also be useful for exploring problem areas, more professionally.

Bookmarks & Bookmark Sharing
The common wisdom I see is that people don’t use bookmark managers and instead find it easier to search for it again from Google. From a privacy and network efficiency perspective this is a big usability fail. For this reason I’m planning on basing my bookmarking system exclusively on tagging, and to allow webpages to offer some default tags to organize themselves under. Ideally making the process a single click and review to bookmark, and a single addressbar search to retrieve.

Furthermore since your friends and family are your best sources of links, and to aid people in helping others to discover the pages they’ve found useful/enjoyable I plan provide tools to share subsets of your bookmarks.

Combined Search
I mentioned above that I think it’s a huge problem that browsers make it significantly easier to use the “default search engine” than any others. To address this I plan to make it trivial to register multiple search engines and search accross all of them simultaneously, possibly filtered by some tags.

At least in the geospatial profession (and Searx) there’s good support for this in the form of the OpenSearch standard, but I will need fallback logic to work with the dominant search engines of today.

I’m keen to hear what all of you are working on, and possibly how my efforts can help with that.


As for who am I, my name is Adrian Cochrane. I live in New Zealand. I’m starting a software/open-standards contracting company with my father, after having graduated from Victoria University of Wellington with a BSc Computer Science.

I really value software freedom and privacy, and hope to do my small part in bringing it further forward. Climate change is the other main issue I care about.

Probably you want to include links in the original post: (browser home) and (OS home).

1 Like

Yup, and it’s got a website too at

Welcome @alcinnz, and thanks for sharing this. It is quite an achievement. My name is Alberto, I am one of the old hands on Edgeryders. I am an economist: if you discount some basic programming for data analysis, I am quite far removed from ICT. So, what strikes me most from Odysseus is that it is part of an ecosystem different from the one I live in (Mac OSX + Firefox + several ad blockers), which I had no idea was out there. Odysseus works with Elementary OS, and it’s available from its AppCenter. It (like, one presumes, Elementary itself) was based on the ethical design manifesto – and that, for me, was what really hit home.

The more I hang around the hacker community, the more I think that most of what Europe needs to build a human-centric Internet is already out there. There is a large, diverse, investment-ready portfolio of technologies, companies and NGOs, standards and principles (like ethical design itself) and, most importantly, people. If the EU were to put some of its considerable firepower behind them, we might actually get somewhere in a relatively short time!



elementary OS actually predates The Ethical Design Manifesto, but it describes what we do very well. It’s actually a fascinating story behind elementary OS, one of people getting inspired by the work that came before them and taking it further. It started with an artist creating an icon theme!

And yes there’s a remarkable number of people around the world who are actively working to address these issues. We are often lacking funding, marketting, and sometimes UI design skills, but it’s getting better and I think that just goes to show how deeply we value it.


This story is about IndieWeb, but really it is about efforts like yours.

“When social-media servers aren’t controlled by a small number of massive public companies, the incentive to exploit users diminishes. The homegrown, community-oriented feel of the IndieWeb is superior to the vibe of anxious narcissism that’s degrading existing services. And, in a sense, decentralization also helps solve the problem of content moderation. One reason Mark Zuckerberg has called for the establishment of a third-party moderation organization is, presumably, that he’s realized how difficult it is to come up with a single set of guidelines capable of satisfying over a billion users; the IndieWeb would allow many different standards to emerge, trusting users to gravitate toward the ones that work for them. Decentralization still provides corners in which dark ideas can fester, but knowing that there’s a neo-Nazi Mastodon instance out there somewhere may be preferable to encountering neo-Nazis in your Twitter mentions. The Internet may work better when it’s spread out, as originally designed.”


Thanks for the extra push to read that article, it’s excellent!

It’s talking about very much the sort of things I want to encourage with my browser work.

I like this quote very much, thanks @johncoate.

This sounds like a wonderful Idea. I love the concept of decentralized discovery. I’ve been working on something very similar with novelty creation rather than classification in recommendation algorithms. I’ve been calling them Bubble Breaker Algorithms. I’ve got a working prototype and paper ready, perhaps this could be useful to you?


Yeah it could be!

I’m just trying to figure out how your work would relate to mine. Would it be websites Odysseus could be configured to work with, built in to the browser, or what else?

I’m honestly not sure lol. The two concepts just seem so similar there must be a way. Is there place in the browser for suggestion something? Perhaps other websites to visit based off past history? Or something like that?

Yes, that’s my next task to tackle!

I’m looking at harvesting unvisited links you encounter to echo back as personalized recommendations. So maybe the answer is “a bit of both”?

Please share whatever you have when you feel comfortable!

Hello @cherryrecently, this sounds really interesting. Could you say more about it?

That’s perfect! It’d be specific to the sort of data you’re working with. I’d be extremely happy to talk it over with you. Message me and we can talk it over in greater detail if you’re interested.

I’d be happy to post the preliminary paper. It needs some more work before I’m planning on submitting it but this might be a good place to get some feedback. Where would be a good place to do the posting?

1 Like

@cherryrecently I think you could get the most results by doing this: post here a teaser, in which you explain the concept of Bubble Breaking and how you came to it. And then add the link to the preliminary paper, wherever you have it.

This way, the reader can understand more or less what you are up to with a very small investment. If she likes the teaser, she can then up the game by reading the whole paper.

1 Like