Peak software abuse

Rami James
6 min readFeb 13, 2024

The original version of this is at

I’ve been working in web3 since late 2017. I’ve seen some awful shit. Before that, I worked in startups for many years. I saw a lot of awful shit there, too. Decades of working in building software, and it all just blurs together after a while.

When I came into the blockchain space, I was utterly naive about what it was. I thought that I was entering a new, better ecosystem and that it was my opportunity to take my talents in product design and development and use them to make the world a better place. I wanted to build things people could use to free themselves from established financial institutions like banks and credit card companies abusing them. What I ended up seeing instead was a lot of powerful and shady alternatives that abused people in even worse ways.

I didn’t want to write about NFTs. I’ve been thinking about how not to do it for months. My mind keeps returning to them because I worked on the tech for many years. When I started writing the rough outline for this piece, I had in my mind that I wanted to write about dark UX patterns in SaaS software. I see dark UX as any substitution of action that leads users to do something they didn’t mean to, which benefits the software owner instead of the users themselves. Think of stuff like hard-to-cancel subscriptions, hidden costs, and confusing wording. There are many variations on the same theme. I’m sure that you’ve encountered some version of this behavior.

I see them everywhere and they annoy the hell out of me.

The more that I thought about it, the more I appreciated that what we are all experiencing is this generally awful, dystopian dynamic between users and for-profit groups. I see it everywhere. Developers build something that has just enough value for users to attract them, and over time the product always seems to morph into something that is more extractive and abusive. I guess that’s the nature of modern capitalism. The goal isn’t to build a good piece of software, instead, it is to grow revenue and profits. Often this is until your users hate you so much that your business fails.

The law of enshittification is at work here, “As a piece of software matures it will get more abusive until some upstart replaces it with something less abusive, users move to that, and the cycle repeats.”

It seems to me that we are all so used to being abused by software that at this point we’re apathetic to it. We’re at peak abuse. The most popular piece I ever wrote was about being abused by Adobe while trying to cancel my subscription. If anything they have gotten worse over the last eight years, not better.

NFTs are a dark UX pattern

NFTs make me sad. I was part of a team that tried to use NFTs for game licenses and digital assets for a long time. As someone who plays many games, I genuinely thought they (and cousin technologies like fungible tokens) were cool and solved the irritating things that game developers and publishers implemented. Things like in-game gold that got resold on black markets, and digital assets that users didn’t own. I wanted players to be more free to use them as they saw fit, without false restrictions that benefited businesses. My vision of NFTs was that they would act as a key that enabled access to functionality. If you owned an NFT, the software you were using would allow you to do stuff that you wouldn’t otherwise be able to.

From my perspective, the right way to use NFTs is with zero scarcity, and as a way to build loyalty with fans. They can be used to build engagement and they can be amazing marketing opportunities. Give them away and build excitement if that’s what your community is already into. Don’t force it down their throats if they don’t want it. Make games more fun by adding depth and complexity that would otherwise be impossible. It’s ok to experiment, but don’t do it for profit and at the expense of your users.

But, really, who cares what I wanted?

Today, I can’t in good conscience recommend that developers use NFTs within their games or other software products. Don’t do it. It’s bad for your users and your ecosystem, and in the long run, it will be bad for your business. Lastly, it’s bad for the developers that need to implement it.

If you, for whatever reason, disagree, I suggest that you don’t create a limited supply and you don’t charge for them. Give them away to your community for free. That’s what they are worth.

I’ve tried to get this viewpoint across to everyone that I’ve worked with, to no avail. Mostly, at this point, I’ve just given up. I see very few projects that seem to understand why there was so much pushback from gamers, developers, and publishers. They are stuck in a for-profit mindset that limits their vision and potential. The way that they are integrating NFTs into their stack is a reflection of that.

How NFTs are currently being implemented in games and other software is just the modern-day version of the same abusive bullshit that I’ve seen throughout my career.

I have tried almost every version of NFTs over the past six years. I bought fake land. I bought fake art. I bought profile pics. I bought in-game assets. I talked to everybody and I tried hard to understand every viewpoint. I wanted to see for myself how things worked, how developers were using the tech, and how it affected end users.

The only meaningful interactions that I had over the years were with struggling artists who used NFTs to fund their creative pursuits. Mostly, those artists weren’t even really offering anything in exchange. They minted their fake art. I paid for it. They used that money to make more cool stuff. It was straightforward and it was honest. I knew exactly what I was getting into.

Within the context of gaming, NFTs enable fake scarcity, market manipulation, and rug pulls that underscore that these digital assets are not for the benefit of the end-users who just want to play a fun game. They are just another way to squeeze money from users for the benefit of the people who are running the show. No wonder people hate them. No wonder smart developers are stepping back from plans to use them in their games.

That’s not what I wanted for the software that I was trying to get built, but here we are. No one person is ever in control of the fate of a market. We’re all just along for the ride. I regret being part of it.

I think that the main problem with blockchain technologies is not the tech at all. For the most part, many of the core technology challenges have been solved and we are at a scaling phase. The main problem today is a people problem. If you build networks on which anyone can do anything, bad people will do bad things. No amount of altruistic intent will change that. You have to choose to do the right thing and most people don’t.

What is wrong with blockchain networks is simply that this truth is not accepted. It isn’t taken as a fact that things are bad and solutions aren’t discussed at a product level. Developers are focused on producing technical solutions and are not addressing the very real human problems. Until they are, mainstream audiences should maintain a healthy distance.

We can deal with the wider software abuse patterns in the market by voting with our wallets. It all boils down to that. We have a choice in what software we use, and what we pay for. I choose to use open-source software when I can, and use the products of companies I want to support when I can’t. You should, too.

Oh, and let NFTs die. It’s time.