Developing new products takes creativity. Creativity combined with experience makes that creativity more productive. The more experienced the product creator, the more efficiently their product is made. People who are trying something for the first time, whether making a custom Android device or learning to ride a bike, go through a process of learning what works and what doesn’t. In the world of custom Android hardware development we are routinely faced with new requirements, since each project is different. The experience we gain from past projects gets applied to new projects, but the requirements are rarely the same. Just like riding a bicycle isn’t the same as riding a unicycle, but the bicycle experience helps with learning how to ride the unicycle.
When starting a new project we usually have some learning to do. Experience from previous projects sometimes provides insight into new challenges, but rarely are custom requirements the same. More importantly than having specific product development knowledge is knowing how to find the best solutions. Take for example a project where the client requests a very bright screen that remains power on for extended periods of time. We know from other projects that bright screens require more electricity. This means electric component changes are necessary to the main PCBA in order to supply more electricity to the screen. We also know that 1) a bright screen, and 2) running for an extended period of time increases heat generation. Planning for this early is the value of experience.
Based on the things we know about screen brightness and extended run time, we make the initial design to the best of our ability. At the same time we fully expect surprises, that we didn’t account for, to come to light through initial prototyping. Expectating to learn new things is one of the key lessons that isn’t specific to a product, but to a process. No one will ever foresee all the problems of a new product, but having a process in place to catch those problems is often the fastest way to find a solution.
With the intention of finding problems, we want to set up early prototyping in a flexible manner, allowing for quick changes. For example remove the components that control electricity flow to the screen from the Android tablet PCBA. Instead, use a small add-on board, that’s low cost and easy to customize, in order to test different specifications. We’d also want to hold off on finalizing case design, knowing that we’ll need to test different screens and back lights before finding the right one, and each screen has slightly different dimensions.
The key idea is to keep initial prototyping as flexible as possible. Test as much as possible. As testing reveals what works (and what doesn’t work) lock in specifications. This same process may happen in parallel for several parts of a product. Once all the unknowns start to become clear it’s time to make a more formal prototype, one in which the specifications are not flexible, and could feasibly get mass produced. Testing still goes on at this stage to check for problems that could emerge from the integration of all these unknowns.
Many custom Android products, and new electronics in general, go through a long evolution from concept to reliable mass market product. Often the first mass production results in more of a functioning concept than a final product, and it could take a few rounds of mass production to address all the surprises that arise. This doesn’t mean a first generation product is bad, just that the next generations are better. Like in any artistic process there’s never a real end point, but a point at which the creators agree a product is ready for release.
Knowing that product development is constantly evolving, staying as flexible as possible for as long as possible is the ideal way to achieve the best result in the shortest amount of time.