Time to read: 5 min
Successful product development involves a rigorous and detailed process of testing, breaking, and fixing. However without the right system in place, it can be difficult to parse out the details of effective changes versus ineffective ones.
Nathan Hall-Snyder, VP of Engineering at Kespry, a commercial drone technology company that recently raised $10M in Series A funding, knows this process well. In the beginning of his journey with Kespry, it simply began with a curiosity around the drone space and then by a process of experimentation, exploration and problem solving, Nathan and his team have developed a robust system that allows them to rigorously test their products to avoid negative progress and inefficiencies.
In this interview, Nathan shares his knowledge on how to implement a system for stronger, more reliable hardware products.
Own the Entire Stack
Utilizing available hardware components and open source software is a great place to start for exploring the power of drone technology. Eventually, however, it has its limitations and the best way to develop a safe and reliable product is with strong control over both the software and hardware design.
When asked about open source software for drones, Nathan is quick to express his enthusiasm for the DIY drone community and is open about the various tools Kespry used in the early days to explore what could be possible. “I’m certainly a proponent of DIY drone tools and in the beginning we experimented with a consumer drone just to help us learn and explore. We realized we could telnet into it to make it do things, which was pretty entertaining, and we learned a lot about takeoff and landing. Eventually we ran into some obvious computer limitations though, so going forward we realized we needed more computational power and moved to develop our own software.”
“It’s all in proper testing. Without it, you risk implementing one change that makes it worse and one that makes it better, leaving you unable to tell if you’ve made any progress at all.”
Because a commercial-grade drone requires a very high standard of safety and reliability, Nathan knew they had to move away from integrating outsourced components and toward a custom made drone. “When integrating a number of subcomponents, like some other companies are doing, it’s difficult to know what’s going on when you run into a problem,” Nathan explains. “Is it a change you’ve made or is it a problem with one of the subcomponents? It’s hard to know in that situation where the problem originates… it’s impossible to fix if it does in fact originate from someone else’s component.”
Kespry owns their entire stack, including custom-built electronics, hardware components, and internal software. Nathan advises, “When you own the entire stack the product is so much more reliable. We can test our entire system and control each change, which allows us to more easily and efficiently assess problems and integrate solutions.”
Invest in and Perfect Your Testing Infrastructure
In addition to the necessity of custom-built components, Nathan stresses the importance of a detailed testing infrastructure. After working at Google X on their Google Glass product, he recognized the value of their rigorous testing system and wanted to integrate it immediately at Kespry. “The first priority when we set up our company was to find a system with which to integrate regression testing,” says Nathan. “This way, any time a software change is made, it negates the possibility of making the drone fly worse than before.”
“We set up our testing infrastructure before we had even written any of our code for the drone,” Nathan adds. “That’s certainly a very Google way of doing things – to write the tests before you’ve even touched the code! This way you can very easily measure your progress.”
“We set up our testing infrastructure before we had even written any of our code for the drone.”
In order to test the hardware, Nathan also uses a large test suite including a full drone simulator. “We fly the drone in a virtual space while testing all the sensor inputs, software, and hardware. We use this simulator to work our way up to a full hardware test,” says Nathan. In order to test the hardware, Nathan also uses a large test suite including a full drone simulator. “We fly the drone in a virtual space while testing all the sensor inputs, software, and hardware. We use this simulator to work our way up to a full hardware test,” says Nathan.
A cautious and detailed testing process is surely a time investment, but it pays dividends down the road, saving you from the headache of unidentifiable problems. “It’s all in proper testing.” Nathan says. “Without it, you risk implementing one change that makes it worse and one that makes it better, leaving you unable to tell if you’ve made any progress at all.”
Moreover, when reliant on someone else to assemble your parts, someone who doesn’t know your product as well as you do, mayhem can ensue. “There can be so many problems when you set up parts and then have someone else assemble them,” Nathan sighs. “When I’ve done that sometimes the product returns to me in a configuration I couldn’t have even imagined! I’m like, ‘how did you even come up with that!?’”
Use a Hands-On Approach to Your Hardware
When it comes to building your product, Nathan encourages a hands-on approach, at least in the early stages. “Every drone I’ve built so far I’ve been doing by hand. Eventually we’ll be ramping up our manufacturing process, but I really enjoy building all the drones myself because you learn a lot by assembling your own product,” Nathan shares.
At the end of the day it all comes down to knowing your product. The more you know about your product and all its features and parts, the better your product will be. Assembling a product yourself leads to a deeper understanding and is part of the process of more effective and efficient product iteration. “We’re learning very quickly but there’s always more to learn. We’re just trying to learn as much as we can, as quickly as we can, to build the best product possible,” says Nathan.
Develop your own components, build and assemble them yourself and test them continuously and rigorously. It will be a detailed process, but you will thank yourself at the end for the product that results.