IoT device management software

IoT device management software

An iOS app that controls smart humidifiers became the first stepping stone to the customer’s unified smart device management ecosystem.

Table of contents

Context

Our customer is an established company with over 50,000 clients such as healthcare, senior care, home care, hospice, and acute care organizations. With their solid clinical experience and regulatory compliance track record, the customer develops and markets products designed to improve clinical outcomes and reduce operational costs.

As the customer planned to release a new device—an air humidifier—to the market, they were looking to create a paired iOS application to manage the device. They sent out an open tender to find a technology partner, who would be equally experienced in mobile development and the internet of things software development for the healthcare industry. Itransition’s team won the tender and was invited to join the project.

In the long run, the company planned to release a variety of smart devices (air conditioners, lights, etc.) to be managed via this single application. The plans also included integration with SiriKit and development of an Android version of the app.

To make the first step toward their goals and assess the general viability of the idea, the customer started out with developing an iOS application in cooperation with us.

Solution

The solution developed by Itransition consists of a native iOS application and a backend, designed to be the central IoT device management software for the customer’s family of smart devices.

End users can choose the most optimal way of managing smart humidifier, including voice control and programmable location-based and time-based rules.

Users can set personal comfort levels of humidity in different locations and select among several humidifying modes. According to the specified settings, a humidifier can diffuse a particular amount of water per hour, as well as switch on and off automatically during the day. The application also displays the water freshness status (e.g., 5 days old).

The solution provides the following statistics for users:

  • The number of sunny, rainy and cold days per month
  • The average monthly air humidity level set for a device
  • The last time a device was used
  • The average duration of humidifier usage per day over a month
  • The percentage of users who set the same comfort level
  • The amount of water evaporated by a humidifier monthly
  • The favorite mode (the one that a user sets more often)
  • The frequency of water changes
  • The average and lowest selected air humidity levels compared with other users

The mobile app notifies users when the water level is low, displays the weather forecast for the next six days, and allows setting an alarm that can “wake up” the humidifier. The latter will start working in the preselected mode as soon as the alarm goes off on the user’s smartphone.

Itransition’s team also integrated the solution with Amazon Echo, which extended the app’s capabilities:

  • It can turn connected devices on and off
  • It can calculate the exact time the water tank will need to be refilled
  • It allows users to manage multiple devices at once

Solution architecture

1. User interaction layer

  • Display layer
  • Interaction logic layer
  • Connecting layer for the two above

2. Synchronization and data validation layer

This layer automatically syncs all changes within the application.

3. Interaction with third-party software

This layer ensures the app correctly interacts with external systems, such as web apps and databases.

4. Model layer

This layer ensures strictly formatted data input in the application, which minimizes the risk of system errors.

The solution is integrated with the Particle platform to enable IoT connectivity and Amazon Web Services (AWS) as the cloud foundation of the app backend.

Process

Initially, the customer entrusted the app’s UI and backend design to another contractor. However, as the work progressed, the customer delegated these tasks to Itransition due to our team demonstrating better productivity and outcomes.

Itransition’s project team included 2 iOS developers, a NodeJS developer, a business analyst, and a designer. An in-house developer from the customer’s site worked on the firmware.

Together with the customer, we elaborated the requirements of the future application. The solution’s modularity was chosen as a top priority, as it allows tuning the app continuously and easily implementing new features as needed.

Software layers

Technologies

Presentation layer EasyPeasy, Spring, Stellar, UIKit, Neon, ReactiveCocoa (swift/objectiveC/objectiveCBridge)
Business logic and integration layer ReactiveCocoa (swift/objectiveC/objectiveCBridge), SINQ
Connectivity layer Alamofire, ObjectMapper
Persistence (database) layer Cache, AlecrimCoreData

Results

Itransition delivered a ready-to-use iOS application, which marked a successful completion of the first milestone on this IoT device management software project. The app provided a variety of features for users to manage their connected humidifiers conveniently when inside or outside the building. The application backend also became a solid foundation for further development of the customer’s planned IoT ecosystem.