
A new take on the age-old question: Should you rewrite your application from scratch, or is that “the single worst strategic mistake that any software company can make”? Turns out there are more than two options for dealing with a mature codebase.

In a traditional client/server/database web app, so much effort goes into transferring and translating data between layers. Can we eliminate unnecessary complexity with a peer-to-peer design?

Today’s databases force us to think about data in terms of what’s important to the computer. What if we had systems that started with things that are important in human society - things like timespans, birthdays, weights and lengths, names, addresses, and countries?

Before we create a “single infinitely-customizable app for everything else”, we need to understand why we’re currently using spreadsheets for everything.

No matter what applications we choose, there’s lots of duplication and overlap between them. We’re paying for lots of stuff we don’t need or use. And there are still gaps that we have to cover with home-made systems. Surely there’s a better way?