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 users 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.
- Smart Garage Door Sensor – Keeps track of your Garage Door if it is open/closed
- Smart Leak Detector – Get water and freeze detection alerts on phone.
- Smart Battery – Notifies you on your phone when Smoke/CO is detected at your home.
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 users WiFi and it also alerts the users
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 users home WiFi we had to integrate the SoftAp and Sound provisioning methods into our mobile app. This posed with 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.
Down the line as the number of customers increased and the number of white labelled versions of the smart home solution increased, scalability became a point of concern. After 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.
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 Wifi 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 took 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 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.
- 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 which would check for injections and invalid api parameters and data type mismatches and reject those.
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 where 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’s 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.
React Native, VSCode, Google Cloud Platform, NodeJS, Xcode, Android Studio, Sourcetree
Since the app was targeted towards 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 IN TOUCH WITH iLEAF
- We can initiate development process at the hour of your convenience
- Discussion on the projects can be held for a stipulated duration
- We will sign NDA and the talks will be secured
- We’ll show you around our cherished designs
- Briefing on technology
- Guaranteed source code delivery
- Option to re-start a closed venture