Developing web and mobile apps can be very rewarding, especially when you’re prepared for the hurdles ahead. As such, it’s understandable to want to arm yourself with every piece of information and wisdom available, plus an experienced development team before embarking on the journey. ⛵
Chances are, you’ve already identified a need for your product, a problem that your IoT app can solve for your business or customers. That’s great, but before you start designing or developing the app, we believe it’s essential to consider the possible challenges you’ll face along the way, regardless if they are related to hardware, software, operations, or people.
To get an overview of the general landscape, we recommend checking out Microsoft’s IoT Signals 2021 report. It highlights well the increasing interest in the Internet of Things — 90% of surveyed businesses in the manufacturing, energy, mobility, and smart places industries are IoT adopters. 66% also intend to use IoT more in the next two years. We expect these sectors to further invest in connected technology, as they’re some of the most promising use cases for IoT software. These numbers are encouraging, as the major chip shortage has certainly slowed down IoT growth, and we can yet expect an overall increase in market size.📉
But look further into the IoT Signals report, and you’ll see that the number of IoT projects in the Trial or Proof of Concept stage that failed has also risen. More precisely, it grew from 30% to 35%.
This article will dive into why those products might have been dropped and what you can do to learn from these reasons and set yourself up for success.
Companies across several sectors (chiefly the computer & automotive industries) have been waiting for the end of semiconductor shortages that the world has been experiencing. These necessary hardware components have also considerably limited the IoT market, as the connected devices rely on chips to run IoT apps. 🚫
Sadly, there isn’t much consensus on when the shortage will actually end. The IDC expects the problem to start alleviating in the second half of 2022, while Intel CEO Pat Gelsinger expects it to last until 2024.
Until new chip fabrication plants are built (which can take up to four years) and supply chains become less fragile, IoT product developers have to deal with the limited number of semiconductors. A study done by Forrester found that 61% of respondents agree that the current semiconductor shortage has negatively impacted their ability to deliver new products.
It’s important to remember that the lack of hardware components has had varying effects on the different industries and companies. For example, businesses that produce large numbers of products, like smartwatches, couldn’t ship the same numbers; that’s a major impact. On the other hand, a single IoT Healthtech device like a wirelessly connected ultrasound scanner can help hundreds of people, so the producing company is less affected as they work with smaller inventories anyway.
While component availability or prices may be outside your control, the Internet of Things software features aren’t. Simply put, better-planned applications can mitigate hardware limitations. 📖
Take a step back and consider what is necessary to achieve your business goals. Chances are that by investing in software efficiency, you can decrease its hardware requirements. We recommend you also consider application-centric solutions that can offer the core functionalities your project requires.
Look at the recent improvements in phone camera technology. The hardware did not change dramatically, but our pictures and videos constantly improve. That's because the image processing algorithms have advanced tremendously in the past few years, so the final result (photo or video) reaches a level comparable to professional cameras, especially for the untrained eye. Now apply the same concept to the Internet of Things — optimizing the software to fit the hardware, not vice-versa.
Front-door verification devices used by smart homes are a good example. You can do identification in multiple ways: face scanning, fingerprint reading, voice recognition, etc. You could choose the hardware solution that's more accessible and then create the software program for it. Even if face scanning is harder to handle in code, it may be a better option than creating a fingerprint reading app and not having a device to install it on.
Code efficiency will always be an essential topic in app development, but it’s likely to be further prioritized due to current supply chain issues. There are several approaches that you can take while developing your application, but also even after launch:
Ensure the high quality of the app through various ways, including rigorous QA testing (manual and automated). Refactoring is an option if the software is already in production, but it will cost more than implementing high standards from square one.
Adopt an architecture based on microservices and forego bulky functions when you can achieve the same results with Application Programming Interfaces (APIs).
Prioritize core features that have the most significant impact on user experience. Clearly defining what’s a must and what’s optional makes it easy to reduce complexity and work with simpler hardware, which is more readily available.
Free up computing resources inside the IoT device by sending data to the cloud. An applied example is to reduce the coding in a mobile app and offload features to a connected web app. This way, the computing strain is minor, and you can use less advanced components, which are more likely to be available.
Stay agile and develop for the hardware you can use. As redesigning the app architecture is no small feat, this is mainly a preemptive move. Still, it can offer you greater flexibility in the future and ensure that your business model doesn’t hit a roadblock due to a single component going out of stock.
We recommend you don’t limit yourself to a single solution, as every step taken can further increase resilience and reduce the impact of present and future shortages and market shifts.
The tech industry has been dealing with an ever-increasing number of security breaches. Specifically, 2021 saw an increase of 50% in cyber attacks per week compared to the previous year. 👮
So, while this challenge can be considered universal, proper cybersecurity should be a considerable priority in the IoT industry. That is especially true with the increasing integration of IoT apps in healthcare, industry, and our homes. The data these devices produce is precious, and malfunctions due to cybersecurity breaches can be dangerous. 🛑
Let’s take two examples to sink in how crucial cybersecurity is in the Internet of Things:
In 2017 the US Food and Drug Administration (FDA) confirmed that the cardiac devices developed by St. Jude Medical, a US-based medical equipment company, could be hacked. Fortunately, they quickly patched the vulnerability. Still, hackers could previously access pacemakers and defibrillators via their transmitters and essentially control their usage - deplete the battery or administer incorrect pacing or shocks. If exploited, this problem could have led to dire consequences.
Next up is an extreme example of why routinely changing your passwords is essential.
In October 2016, the internet suffered one of the biggest DDoS attacks. It was perpetrated by a botnet that hijacked an estimated 100,000 IoT devices to crash the servers of Dyn, a company responsible for a large portion of the internet's domain name system (DNS) infrastructure. A disturbing aspect is that the virus was programmed to search for IoT devices and try to gain access with known default usernames and passwords. All those devices were compromised due to not changing their default credentials.
Both incidents could have been prevented with the appropriate implementation of cybersecurity measures. In essence, it’s an IoT application problem that can be handled by giving it the proper amount of attention. Our area of expertise is app development, and therefore this is one of our favorite topics.
As with any online software, especially those that deal with sensitive data, the Internet of Things needs to follow current security best practices, both when developing the app and when people are using it.
We hope you’ll agree with us that a quality app means a secure one as well. So, we suggest you make sure the QA team performs security testing. In the case of connected networks and IoT products, authentication and authorization are crucial to protecting the app from threats. Authentication can be split into three separate types:
Lastly, keep in mind that various ISO (International Organization for Standardization) certifications prove companies comply with the specific requirements. ISO 27001 is the international standard for data security, and it should be one of the criteria you use to choose a development team.
Another change that needs to happen at the industry level is standardization. As products built on the Internet of Things are highly varied, this has been challenging. There are standards, don’t get us wrong, but they only apply to specific types of IoT apps. Multiple institutions are working on creating broader standards, but for the moment, you should research existing options and choose the best one for your envisioned product.
What you need to know to choose the suitable protocols:
Communication between connected devices can fall into two categories: over the internet via an Internet Protocol (IP) or locally via low-range and low-power standards such as Bluetooth and Zigbee.
The most used standards and protocols for IoT networks are:
WiFi (Wireless Fidelity) - connecting devices via radio signals or WiFi hotspot transmitting at specific frequencies: 2.4 GHz, 5 GHz, and 6GHz, which is the newest band and works with WiFi 6E technology.
LoRaWan (Long Range Wide Area Network) - similar to WiFi, LoRaWan transmits data wirelessly. The main difference lies in speed and distance: it’s much slower, but it covers a wider area. Smart cities use LoRaWan for smart lighting, parking, and air/water quality sensors.
HTTP (HyperText Transfer Protocol) - one of the oldest protocols used for data transfer over the web. In IoT, it’s primarily used for sending large amounts of data, as the high energy costs and constraints make it unsuited for basic devices.
CoAP (Constrained Application Protocol) - designed to answer HTTP’s limitations, CoAP can easily translate data to HTTP when necessary but uses a simplified architecture so it can be applied for low-power nodes, such as sensors within manufacturing plants.
Bluetooth - a short-range wireless communication protocol commonly used in wearables that require energy efficiency and low costs but only transmit small amounts of data over short distances.
NFC (Near-Field Communication) - a set of rules for transmitting small information packets over minima distances (less than 4 cm) in one-way or two-way communication. When you use your phone’s contactless pay feature at a Point of Sale (POS), it’s done over NFC.
Mesh - a set of protocols for creating a network of connected devices, called nodes. Usually, this system includes clients, routers, and gateways. While many nodes may communicate wirelessly, such as laptops or smartphones, it can’t be called a completely wireless network as many gateways may rely on wires for higher-speed data transfer. The mesh can contain several protocols such as Bluetooth, Zigbee, and Z-wave, to name the more popular ones.
MQTT (Message Queuing Telemetry Transport) - this protocol relies on wires or cellular networks to connect devices in a publisher-subscriber messaging model. When the publisher sends a signal, all subscribers receive it simultaneously. Its lean nature and flexibility have led to wide adoption in factories and hospitals.
The protocols you choose (and their number) depend on the features your web or mobile app needs to have. ⚙️
For example, a museum could use several protocols to provide information straight to the visitor’s phone. Once a person enters, they get general info, such as visitation hours or a building map via WiFi. Then, they can get more specific data about an exhibition through Bluetooth, which has a range of about 10 meters. Lastly, they could connect to devices next to an exhibit and learn about them via NFC.
The IoT Signals 2021 report we mentioned at the start of the article says that 32% of projects at the proof of concept or prototype stage fail due to the high costs of scaling.
This challenge is quite complex, as it’s rarely one specific issue. Instead, it’s the culmination of a slew of operational roadblocks, lack of trust from investors or leadership, a culture that’s not aligned with technological innovation, and sub-optimal development decisions due to lack of experience.
Keeping operations smooth requires an excellent overview and a great deal of experience, especially with supply chains spanning whole continents. You need to know the hardware production and delivery process like the back of your hand. This is necessary to avoid unexpected costs and honor your commitments to partners or customers.
As a web and mobile app development company, we’ll mainly focus on giving you actionable tips on the software front. But we’d also like to stress that culture, excellent communication, and genuine love for technology are success factors.
These facts align with a survey done by Cisco, which reported that some of the most reported success factors for IoT applications are people-oriented instead of dependent on tech. Collaboration between the business side and the developers was the most commonly named factor, with 54% of all respondents mentioning it. 🤝
The fact is — a lack of alignment throughout the organization may lead to project abandonment after plans are already made, and money is already invested.
The first step in avoiding this challenge is to start the project with a clear strategy agreed upon by leadership, investors, and every other person involved in the development.
We often recommend product discovery workshops to our partners at the start of the collaboration to iron out crucial details such as the product roadmap, monetization strategies, app features, and user flows.
Another important aspect is the tech stack, specifically how scalable it is. In our experience, native mobile apps are smoother to develop and scale than hybrid applications. By using the native frameworks and SDKs created by Apple and Google, you avoid the limitations hybrid apps face. IoT apps need excellent connectivity and use of peripherals, so going native is generally the preferred option.
For web applications, we’ve found that Ruby on Rails’s flexibility and stability makes scaling a simple process. Furthermore, the code is quite developer-friendly and easy to understand, which makes it ideal for:
While this information makes a big difference for us in understanding how to best help the partner, it’s also an amazing way for the whole organization to define the scope, expectations, and motivation for building the IoT app. It’s a dataset to rally the whole company behind the product. 🚀
For example, a smart wearable for athletic monitoring should start with a clear value proposition to differentiate it from competitors already on the market. It could, for instance, provide personalized training tips based on recorded performance. The software team can define user stories and flows that align with business goals and ensure a smoother development process based on this detail.
Next up is the issue of organizational and cultural fit. While hard to define, this subject will heavily impact the end result:
We recommend you take the time to search thoroughly and talk to your future IoT app developers to get a feel of their values and culture. In the case of outside partners, their About page often presents how they define themselves as an organization.
Pay close attention to how they structure their teams. Most software development agencies today at least mention agile teams, but these methodologies aren’t black or white. It’s normal for companies to adopt only the structures that work for them, so we suggest you dive deeper and learn what aspects of Agile the companies are adopting. Ensure that they are dedicated to staying flexible, delivering high-quality iterations, and offering you clear visibility over the progress.
An ideal scenario is for you and the development team to have common cultures and organizational structures and stay in contact throughout the project.
Lastly is experience developing the Internet of Things applications. Whether building an internal team or working with an agency, their portfolio is their best business card. Here are three steps you should always take before deciding on a partner:
Find their profile on a review platform such as Clutch and check the reviews. Many platforms offer in-depth overviews, so look past the starts and see what previous clients had to say. 💬
Research heir portfolio for similar projects. The first stop would be IoT projects in this case, but we encourage you also to check the project industries, as a healthcare app can be very different from one in the energy sector. Lastly, software features, even for radically different apps, are another great indicator of what the team can produce. For example, API integration experience is universally valuable.
Ask for more details directly. Many companies can provide extra data and do most of the research legwork for you once they understand the requirements of your product.
We’d like to share a bonus tip — to always ask who will own the intellectual property during and after development. We’ve seen enough examples of companies being stuck in a contract they no longer desire because they don’t yet have ownership of the IP.
The Internet of Things market keeps growing in spite of the hurdles it has to overcome, both old and new. We’re truly glad for that, as IoT is truly life-changing in health, transportation, beauty, etc.
By presenting three of the most prolific challenges, we aim to help you apply careful consideration and decision-making and maximize your success chances. There are many uses and benefits of IoT, and we love seeing new ones reach the market!
If you’re on the lookout for an experienced and trustworthy tech partner to help you navigate the pitfalls of IoT software app development, we’d love to hear about your project and discuss how we can make it happen! 🤝
Stay up to date with the tech solutions we build for startups, scale-ups and companies around the world. Read tech trends and news about what we do besides building apps.