This is a short talk about how I fear that client-server software design has become a "progress trap" (something which seemed like a good idea but lead into a dead end).
I also provide some possible other ways to design systems, from federated client-server systems (such as E-Mail) to autonomous blockchain applications, all the way to fully peer-to-peer systems like IPFS and Cacophony.
This leads into what I call "decentral-washing" where traditional client-server software is pitched as being "decentralized" simply because it has "blockchain" or "IPFS" somewhere in its stack. This is despite still being a fully-centralized authority where the user identities, credentials, and data are controlled/owned by the one body and removing the blockchain or IPFS component from their stack wouldn't change anything (except for making it cheaper to operate).
In the end, I hope to see more discussion around peer-to-peer applications since they have some advantages and disadvantages compared to traditional client-server applications. It would be useful to talk about how to improve or mitigate those disadvantages while further exploring and leveraging those advantages.
Hopefully we see that conversation develop,
Jeff.