IoT Based Smart Home Mobile App

  • Mobile Application
casestudy

Simplifying the Smart Home. A leading company in the smart home domain had developed smart sensors for consumers. They now wanted to build a mobile app solution that would enable their consumers to connect the smart sensors to the user’s home Wi-Fi and provide alerts to the users in the form of push notifications whenever an event like a water leak or if a smoke alarm went off. The app would also let users customize the smart sensors’ features. The contemporary world is adopting the latest technologies at an alarming rate. The latest technology that has captured the attention of the world is the IoT or the Internet of Things. The IoT is a network of devices that are connected to the internet. These devices range from smart appliances in your kitchen to cars that are connected to the internet. The IoT has revolutionized many industries and the smart home mobile app is no different. It offers a user-friendly interface and allows you to manage your smart home devices from anywhere. It provides real-time updates on the status of your smart home devices and lets you control them using voice commands. iLeaf Solutions was chosen by our client to build a highly secure and optimized mobile app solution that would ensure smooth on-boarding and effortless connection of the smart sensors to the user’s WiFi and it also alerts the users

aboutus banner

The Challenge

These were some of the interesting challenges our app development team tackled during the course of development and support of the system. Wi-fi Provisioning and Connectivity Issues In order to connect the smart sensors to the user’s home WiFi, we had to integrate the SoftAp and Sound provisioning methods into our mobile app. This posed connectivity issues we had to deal with. Making the Mobile App and Cloud Secure: One of the things that the client was very particular about was the level of security that both the app and cloud demanded. Post the development our expert team of security analysts conducted penetration tests to figure out security holes in the system and we had to address those as well. Data Migration: Down the line, as the number of customers increased and the number of white-labeled versions of the smart home solution increased, scalability became a point of concern. After a thorough analysis, we decided to move to a different cloud provider. Hence, the migration of the data of around 30K users became an interesting challenge our development team had to handle.

iLeaf's Process

1
Communication

We discuss to ensure that we have the exact idea of what is required

2
Collaboration

There's regular interaction with the client to ensure things are on track

3
Development

Begins according to the needs of our client

4
Result

The final output will be a perfect match to our clients requirement

We used React Native as the development platform to develop this application. In order to tackle the challenges that were posed, after some thorough ideation process, we came up with the following solutions. Native Code for both iOS and Android for Wi-Fi Provisioning mechanism: After some thorough analysis and brainstorming, we realized the fact that we had to handle the smart sensor provisioning mechanism natively on both iOS and Android platforms. We had to write separate codes for both iOS and Android in order to overcome the compatibility issues. Data Encryption And Cloud Security Rules: Our team of security analysts found security issues on both the mobile app side as well on the backend. In order to make the system highly secure, the measures that were taken can be summarized below. On Mobile App The app data stored inside the local storage was encrypted using AES encryption technology Some of the third-party libraries had to be updated to the latest versions. We enabled certificate pinning so that the app won’t establish communication with an unknown server in other words we were able to prevent man-in-the-middle attacks All the communication with the server was made to HTTPS so that data in transit was encrypted as well. We enabled Root and Jailbreak detection for Android and iOS operating systems which warns the user if the device is either rooted/ jailbroken. On Cloud We made use of the JWT authentication mechanism which is a highly secure method of authentication. Cloud security rules were written such that only authorized users for a particular data would be able to access the data. We created a sanitizer that would check for injections and invalid API parameters and data type mismatches and reject those. Data Migration: Due to scalability issues, we had to move to a different cloud platform and this is where the migration of over 30k users became a point of concern. We decided to develop migration APIs were in when an existing user logs into the updated version of the app. The migration API would be called and all the user data would be migrated from the old cloud to the new cloud provider. Till the user was logged in we made sure that the user received push notifications when a water leak occurred or if a smoke alarm went off and for such events. Thorough Testing When the Beta Versions of OS Are Released: We dealt with the connectivity issues that occurred with new OS releases by ensuring thorough testing of the app from the release of the beta version of the new OS. Both automation and manual testing methods are employed for this. Technology Stack React Native, VSCode, Google Cloud Platform, NodeJS, Xcode, Android Studio, Sourcetree

The Result

Since the app was targeted toward consumers, we used a very simple UI in order to make the onboarding and WiFi connection mechanism of smart sensors as smooth as possible. Within a time span of 6 months, we were able to complete the development of a highly secure smart home mobile app. We were able to manage the successful migration of all the users as well.

Get a free quote