The Fine Line Between Hardware and Software In The Hardware Industry

Fine Line Between Hardware and Software

In this blog, I talk a lot about hardware, but now every product has an interface or even an app that controls it. And that involves software, coding (probably back-end and front-end), design, usability…

Software creation is also a strategy to differentiate your product from potential copies. Despite patents, any hardware device could be copied, but copying the user experience is not easy. In a way, the software part of this project is a completely different project in itself, that could be complicated, but also could be the way to get a real differentiation and a competitive advantage.

With every single person having a phone in his pocket, it’s difficult to know how many more devices we need. That’s, for example, the big challenge for wearables. Many hardware startups could create a different solution for the same problem without a device, only using an app on a phone. And what’s more, many first prototypes are a box with a phone inside.

Also, many times when I see people using Raspberry I think they are nearer to software than to hardware. And probably an Android device could replace it in many cases, except for the sensors. So maybe we need wifi or bluetooth sensors more than brand-new devices.

If you need sensors or physical interaction with the real world, for sure you will need a kind of hardware. But as Arduino does for prototyping, many solutions appear to solve this, not needing to design everything from scratch. Really this area is a business in itself. Which means the “intelligence” will be based on a phone or computer, and your main task will be to interconnect everything to create something useful for the customer.

Many times some special features (like small sized or light products, also accuracy of sensors, battery life) require dedicated and new hardware devices. Usually we can consider this development when the main hypotheses are validated with easy tests using existing products.

It’s also not easy to know how intelligent your device should be. Maybe you need an intelligent one making decisions alone, or maybe you only need a sensor sending information to a server where the decisions are made.

  • Smart devices are needed when quick decisions are needed (e.g. self-driven cars). Also, they can work without a connection, necessary  in many situations. Their price and weight are usually high and they commonly have problems with battery life.
  • Dumb devices can be only sensors, or a bridge: gathering information, sending it and showing the results. They are cheaper, have longer battery life, and small… but without coverage they are absolutely useless.

An advantadge of servers is that they have one-step updates. Connected devices are also able and probably easy to update and operate remotely. That’s useful when you’re in testing phases. Server based projects are difficult to copy, perfect for HAAS (hardware as a service) subscription business models and the like.

Here I cannot give many tips because deep engineering topics are involved, but checking if you really need to create your own hardware device is a point to think about twice. Try to take a look at everything that’s in the market: what’s easily available, already done, and working. Consider if you can implement a solution with this. That’s a key strategic decision that probably seems crazy to entrepreneurs purely focused on engineering. This may be counter-intuitive, but is worth the thought if you’re focusing on solutions and not on products.