Overview
The Importance of Adaptability
It's impossible to design software correctly the first time. The world is complex and unpredictable. Users can't even predict their own needs in advance, let alone designers or engineers. And, even if all the requirements could be known up-front, many implementation details can't be known without actually building real things.
Learning is the bottleneck for creating great software. The faster we learn, the faster we can improve the software.
The fastest way to develop software is to build something small, then evaluate, adapt, then iterate. Every time we build something real, we reduce uncertainty and avoid wasting time on complex questions that are ultimately irrelevant. Every time we put something in the hands of real users, we learn something about what they care about, which increases clarity and refocuses on things that will matter most.
The goal of StateAdapt is to support adaptable state management.
The goal of this guide is to show you how to use StateAdapt to adapt state flexibly. The biggest challenge in this process will be learning how to think reactively, which will be covered first.