The process of taking an idea for a new tool or feature, or a solution to an existing problem, and turning it into something people actually want to use, is not always simple or easy. It’s easy to make mistakes in planning. So we need prototyping to test ideas. The trouble with prototypes is that they involve a trade-off between how useful they are and how costly and time-consuming they are, which means that in the past they’d often be used to validate designs rather than invalidate and iterate on them.