I’ve been thinking lately about the concept of the fediverse and repurposing it toward the goal of creating a free and open, decentralized, federated network of vendors that run instances or groups of vendors that run one instance together. These instances would broadcast inventory updates to each node that they federate with. It would start off niche and gain traction that way before branching out into other retail types.
Is this a feasible idea? Has any pulled this off? Wayfair, Amazon, Shopify, and Etsy are already suffering from enshittification. Someone needs to take the inventory out of the walled gardens and back into the customer’s hands. I shouldn’t have to rely on Google to find products I want. There are vendors that want to sell me stuff nearby…it’s just a problem of connecting the user to the content…and this seems like a no-brainer.
I’d love to have a discussion about this. I am seriously considering creating a rolling fork of Lemmy that would maintain parity but also add this functionality but I want to talk to experts and weigh the pros and cons before embarking on such an ambitious project.
edit: I also started a community ( https://infosec.pub/c/federated_inventory ) dedicated to the discussion of this idea. I’m trying to get vendors in a budding local industry to fund the creation of this system, which would branch out into all retail industries eventually along with the network effect.
It’s an interesting idea! I think there are many such applications for federation protocols.
A few thoughts/questions:
- Ideally you’ll need a stable identifier for each specific product. Most small online stores I use have product names riddled with typos, so a way to tackle that would be nice.
- What’s the data model? Would each store be an ActivityPub Actor? Like each one would have a username and publish inventory updates?
- Where do these updates go (maybe something akin to a Lemmy “community”)?
- If you’re just relying on stores’ self-reported stock levels, where’s the benefit of using a federated model? Could you just build an open source app that scrapes retailers’ websites and collates that information?
- Is the eventual goal that this competes with Amazon et al? I.e. it becomes an actual marketplace, perhaps with a “buy” and “sell” Action, and where vendors’ instances are effectively web stores?
My goal is to cut out the middleman and allow vendors to wrestle back control from services like Amazon. I work in the film industry where we watched our suggestions to studio heads get ignored.
To give you an idea of how I tend to think, years ago, my idea was this to solve the fragmentation/walled garden problem in video streaming:
- every company submits video content to a central store
- users can watch anything they want. They just have to pay a monthly fee
- that fee gets divvyed up to the companies that produced the media watched. Money only goes to companies that had content that was viewed and is a direct percentage of the monthly revenue of each user.
- Ideally you’ll need a stable identifier for each specific product. Most small online stores I use have product names riddled with typos, so a way to tackle that would be nice.
Ideally, I’d start in a budding industry, slowly building and iterating upon an industry stylebook for their retail items that can be iterated upon by all users who are able to submit merchandise. I’m thinking of a whole separate place where the structure of each industry’s API can be tuned and made polymorphic with related but different item types.
- What’s the data model? Would each store be an ActivityPub Actor? Like each one would have a username and publish inventory updates?
That’s the current vision, though I could also see an ecosystem of incentivized crowd-sourcing of out-of-reach inventories. That’s another idea I have concerning decentralized oracles but, if crypto tied into this retail thing eventually, a lot of the cool new technologies that crypto offers (digital identity, oracles, SPO’s that operate alongside instances, and so, so much more) could certainly come along for the ride.
- Where do these updates go (maybe something akin to a Lemmy “community”)?
A lot like a Lemmy community but reformatted to work with inventories. Think of any web store. It could be identical to that but the data could be coming from multiple sources at once. I think there could be so many different possibilities for how this data could be mapped onto a front end that that I’d hate to pigeonhole this based on my preconceived notions…the flexibility might even be part of the beauty of this idea.
- If you’re just relying on stores’ self-reported stock levels, where’s the benefit of using a federated model? Could you just build an open source app that scrapes retailers’ websites and collates that information?
I was actually attempting to do that but then quickly came up with this idea instead because it felt like I wold be further contributing to enshittification in an entirely enshittified dystopian hellscape if I just did the same thing as everyone else again. So many other sites contain warchests of scraped metadata. Very few are truly egalitarian like the fediverse can be, IMO.
- Is the eventual goal that this competes with Amazon et al? I.e. it becomes an actual marketplace, perhaps with a “buy” and “sell” Action, and where vendors’ instances are effectively web stores?
Buying and selling features will be essential to draw people away from Amazon. Problem is, that’s one of the hardest probems to tackle in an elegant, dependable way. I can see similarities to OpenBazaar using a atomic wallets that accept any kind of crypto and convert it to any other…but I intend to spin this tech up with existing technologies to start.
A federated marketplace could be interesting but there are some fundamental issues that would need to be addressed.
If the vendor and vendee are on different instances how will payment be securely transmitted? What if there is a dispute, which instance Admin would have final say? Will the instance operator get a cut, if so how does that work? What’s stopping my competition from opening an instance to check my stock level? What if I want to buy multiple items that are on different instances, do I have to check out on each instance?
If you can iron out the kinks this idea could make a lot of sense as a DNM as there wouldn’t be a centralized server to shut down and being FOSS would allow for auditing of the marketplace which just isn’t possible currently.
That kind of scenario is exactly what cryptocurrencies were originally designed for. Too bad that didn’t work out and now they are mostly used by scammers.
Crypto would not solve this problem (or any problem, really) better than a simple database would.
One interesting point to discuss is why would a vendor buy into this system?
Perhaps eventually, they’ll need to once the network effect takes hold.
But I asked myself the same question. I think vendors could distinguish themselves by offering special deals to people who specifically sign up for their instance, a tiered membership plan, payed memberships, etc. Maybe exclusive items for members only.
I’d be interested to hear more ideas but right now, that’s the gist of the benefits I can see. The other obvious benefit I can think of is the inclusivity of it all. If this idea took hold, it eventually wouldn’t be wise for vendors to abstain from using this service once customers are using it to find places to shop….and since it’s free, it isn’t something that businesses have to worry about like they do with other services like this that charge those businesses in order to list them.
Look at Enterprise Resource Planning software as they handle inventories with millions of skus. You’ll have to build a database so you’ll want to look at federation there as well. I know you can do distributed clusters. This would also be a good use of blockchain as you’d be able to have historical pricing that way.
A good place to start may be the below article
https://www.dolthub.com/blog/2022-05-27-decentralized-database/
Thank you so much for your help. I’ll definitely look into it.
A few thoughts: true decentalization, as your article says, brings with it many requirements for trustlessness. That’s particularly why I think that “instance operators” or the retailers listing the goods would be the only users with the permission to submit inventory items at first. That would solve the trust part of the trilemma until sufficiently decentralized technologies (crowd sourced oracles that list goods) are mature and understood enough to slowly and methoidcally be slotted in to replace them.
I have had the exact same idea, ever since I found out about fediverse. It’s just difficult to find ways to trust of the network. Never managed to think of a way for easy self-moderation. Money does bring an insane perversion to try and game the system.
I’m guessing the federation part if done correctly with moderation might bring more trust to the network. Since this is an idea about physical commerce, I’m guessing that having a “store” gps location could be useful for partitioning the network node search priority. Highest chance that you would like to buy from your neighbour and not from across the continent first. Otherwise with the amount of items that will be scanned is nightmare-ish.
Somewhere in the comments there is a mention about dropping crypto as a source of trust. If the store needs trust of a user, it doesn’t sound unreasonable to have your national identity there.
Other source of trust and identity, could be friends. It’s easy to trust direct friends and friend of friend. Knowing that it most likely will have up to 5 jumps, that could be a way to “check” if you are trusted on the network. That does bring the bootstrapping problem
Hope my ramblings will be somewhat useful.
I’m guessing my idea is slightly different because I had been considering tying crypto to Lemmy then a bunch of people talked me out of it and I sort of agree (one guy mentioned the cobra effect then walked away and I was like 😧…he’s right). Crypto doesn’t always need to be tied into everything though e-commerce is an obvious one. There are so many issues with crypto though: for one, which technology would you choose? Because I would choose Cardano and immediately that would ignite some tribalism where someone else thinks it needs to be on an ERC-20 token or a DAO or both.
Even though I am an actual DApp developer, I’d rather create the pure technology to allow vendors to broadcast their inventories and create small pockets of vendor alliances in the form of a multi vendor instance with membership perks. I intend to try my small, less ambitious, non crypto idea in niche, budding industries to gain network effect.
Also, I’d think DID’s would corrupt the system even more since which central arbiter is chosen has a centralizing effect, anonymity goes away, trustless payments become optional rather than by default, and governments can use that information to track someone. Maybe my approach is to take it one step at a time and yours is to completely strip out all technologies for decentralized ones. Again, I sincerely love crypto but I want to make sure the simplest part of my idea is the focus for a minimum viable product.
The GPS coordinates thing is certainly a good point.
I think it could be a lot like the other fediverse apps where the front end of the app is actually where the distinction often lies…which is up to independent app devs to innovate on.
I’d be creating my MVP for small, local, budding industries to help work out the kinks in preparation for something as vast and comprehensive as the vision you have is. Also, I’d think, since it can be niche products and industries at first, perhaps inventories could be batched based on (as you say) geography, type, industry, etc. You certainly wouldn’t want a firehose of every Lemmy community and perhaps this would be no different. It’s all in how you consume it, I’m guessing.