“When you first start off trying to solve a problem, the first solutions you come up with are very complex, and most people stop there. But if you keep going, and live with the problem and peel more layers of the onion off, you can often times arrive at some very elegant and simple solutions.” – Steve Jobs
The above mirrors my own experiences. To throw more complexity at a problem is the short term hack. To work on the problem and try to find better solutions takes patience. When you see a simple solution, you often don’t see the large amount of work and number of iterations it took to get there.
Several examples come to mind:
- Simple IoT data structures. See docs and continued work.
- Elm SPA. This project has been through 5 major iterations. Having used the project from the start in Simple IoT, it has been some work to refactor the project to work with each new version. But v5 is much simpler and easier to work with long term, so the path has been worth it.