What Makes Software Resilient?

Photograph of a tree alone on a large rock in the middle of the sea.

The rock deserves some credit, too.

One of the things I like to say about Aboard is that it’s designed to be “resilient.” What is resilience? It’s the ability to handle change—not just gradual change, but thresholds getting crossed. Large, fragile, expensive, highly customized software can be very valuable, but it also tends to creak and groan and break for weeks. Resilient software should work on good days and bad, in all kinds of weather. Like the weather app built into your phone.

Here’s my list of resilience indicators. I’m leaving out some obvious ones like, “the server is up” and “it scales and does not crash.” I feel that we know them.

As always, I welcome your thoughts, too.

Resilient software is legible. It looks good. You can understand where it sits in relationship to the other software in the world. A TODO list should look like a TODO list, not like Photoshop. It’s designed to be accessible, for many versions of the word “accessible.” There should not be too many animated cats.

  • Good examples: Todoist. For better or worse—MS Word, Excel, and PowerPoint. Slack. Also stuff like Zelle—people want to pay other people for stuff without a lot of complexity or fees! Or tools like Lemonade—people want to buy insurance quickly.
  • Bad examples: Blockchain-based apps, ChatGPT, MidJourney over Discord.
  • How’s Aboard doing? We are there for web bookmarking, not yet there for “the simple way for groups to work on data together.”

Resilient software is trustworthy. Most software in 2024 kind of works. Things still crash all the time but we’re better at catching it. But there are two things that communicate trust: Security and pricing. 

  • Good: Gmail/Google Suite. I pay, never think about it.
    Bad: Tools that upsell features (Airtable). Everything Adobe. Things that add seats without telling you.
  • Aboard: We treat people’s data with real care. Few complaints so far, but we’re free. We’ll learn more as we roll out pricing.

Resilient software is backed by some kind of organization. If you don’t know what product is being sold, you are the product. If you don’t know what business you are in, you are in advertising. But you should know! You should be able to understand where software is coming from, who made it, and if it has a chance of hanging in there. I hate when it’s hard to know who’s behind a thing, whether it’s a business or an open-source organization.

  • Good: Salesforce. Sketch, Bear. Big open-source projects like Linux. 
  • Bad: Google search. Open-source projects where there is only one programmer and they go by the GitHub handle balrogrumpus.
  • Aboard: I think we’re transparent. We’re pretty front-and-center that we’re a new, for-profit business that plans to have a free tier but charge as we add more functions and roll out our platform. Glad to answer any questions.

Resilient software uses existing protocols and standards. Open standards are well-supported, tested. It’s on the web when that makes sense—it doesn’t force you into an app. It sends emails and doesn’t make you use its own messaging. It lets you import and export data.

  • Good: Web browsers are the ultimate—big bundles of standards. AirTable and Excel are both good about exporting CSV.
  • Bad: Reddit on mobile is the purest example. They’ve made a website of words and pictures into a nightmare to use, because it begs and begs you to use their app.
  • Aboard: We’re very much a web tool, we partially exist to make the web cleaner. Most of our data is basically simple table structures under the hood, and smart CSV import is coming, with export to follow. We try to be part of the web, not just on top of the web.

Resilient software works well for individuals and small groups. So much today is focused on onboarding zillions of people and squeezing them like citrus. But more people, more problems. Software should be good for one person, good for two, good for ten, and then after that, it should take a hard look at itself and figure out how to get people to calm down a little. If there is one rule that seems to hold true in modern software, it’s that as more people are added to an interface, the likelihood of passive-aggressive behavior increases.

  • Good: WhatsApp. The WhatsApp group chat is basically the most resilient global digital social structure. It’s nerve-wracking that it’s nestled deep inside of Meta.
  • Bad: Social networks, and…Slack. Slack does apparently have “broadcast”/announce-only channels, but the default is still big piles of people.
  • Aboard: Boards are really for small to medium-sized groups. We’re figuring out a better “guest” model for the future.

So that’s a start. I’ll keep thinking on it, and glad to hear your criteria, too.