Modjoul Blog

Alan Kay said it best...

By Itmenon Towfeeq on September 1, 2020 |


It was Alan Kay who said, “people who are serious about software should build their own hardware”. This thought, echoed by Steve Jobs in one of his famous presentation’s, packs multiple layers underneath. Hardware is always a scary prospect for startups, mainly due to the below factors

  • Manufacturing
  • Supply chain management
  • Extensive R&D
  • Inventory storage and management
  • Lack of flexibility with updates
  • Higher dependency on forecasts

When assessing all the above, entrepreneurs can easily be overwhelmed, and considering all these challenges can be avoided by going the ‘only software’ route, that is the trajectory that most undertake. While there is some merit to that choice, there are scenarios wherein being completely dissociated with hardware can result in major inconvenience. As explained in the points below, the advantages of coupling the two together and handling both under one roof will make it evident how and why the dissociation leads to problems.

Hardware Carries Everything

At the end of the day, most of the software that gets created every single day is running on some hardware. IOT systems connect hardware devices together to solve a wide range of issues and provide a seamless user experience. Platforms like Uber, Amazon, Twitter, Facebook all run on hardware like the phones , computers, and tablets.  For a smooth integration between the two, an understanding of the hardware on which these software packages will be build is very important. An operating system is one of the main layers that interfaces the hardware to the software. While making changes to the software packages or even considering what can be improved upon, the first stop will be the operating system and the hardware it runs on. While some of the most prevalent hardware, like the phones and computers are easy to visualize and understand, making anything for specific hardware is a much tougher ask. To make an app that only runs on android is a lot simpler than making an app that interfaces with a new hardware like a wearable watch or smart glasses. In the latter option, the app creator will be handicapped unless they understand the basics of how the hardware on the wearable or the smart glasses will work. The plug-in’s that are supposed to go in the app or the communication protocols between the app and hardware that will be followed will all require a control over the hardware, or else it will end up being a guessing game with a good chance of failure.

Knowledge of Feature Set

By closely knitting together the hardware and software, one can make sure that any effect of software changes to current and future designs is well understood. An example of this can be an update to the user interface to show the device health or additional user related data. These changes will only make sense when the memory chip on the hardware along with processing power to create that user data is present. A new feature requested by a customer will require an understanding of what the hardware comprises and parameters like – number of cores in processors, default power consumption, clock speed and more.

Cost Optimization

Control over the hardware provides an option to optimize the cost by trying out different components. A hardware component  can vary in price range based on the feature set. An understanding of what all is required can help in making the correct component selections while keeping the bill of materials(BOM) within reasonable limits. As an example, a motion sensor can vary in pricing a lot based on features like sensitivity, operating temperature range, size , power consumption and more. If lesser sensitivity and power consumption are acceptable, a cheaper sensor option can be deployed resulting in a major cost savings at scale.

Future Flexibility

Another factor at play is the compatibility with future upgrades to hardware. In a tightly coupled hardware and software approach, the design for the hardware can be tweaked to ensure a future update would not require any major overhauls. As an example, a hardware design can be done while allowing for space and connectivity for future components. This method can allow the mechanical design to stay consistent and even the electronic hardware design update can be done with  minimal changes. This can save a lot of costs, both with the human capital and new equipment for the manufacturing processes.

Hardware Feels Great

Finally, the subjective aspect of it. The feeling of holding a physical device and knowing how it is put together, how it performs the measurement, and how the flow of data happens from the machine to the user is indeed a unique one. We can all acknowledge that the feeling one gets when holding a new phone , driving a new car, or even putting on a new smart watch can rarely be mirrored by downloading a new software package. It not only provides a high level of  confidence, but a boost to the creative thinking to keep pursuing this hard path. Creating hardware allows one to truly admire this carrier of many wonders that have taken place over the years, and acknowledge that the first step to the future of technology will always start with new hardware.

Workplace Wearables IoT