For Perry Electric, we developed a mobile app for home automation management, designed for both clients and specialized technicians.
App Development; UX/UI Design;
Flutter, MSSQL, C# .NET 7.
2022 – On going
Perry Electric is an Italian company based in the province of Como, with branches in several European countries. For over 50 years, Perry Electric has been active in the electrical and electronic sector, designing and manufacturing devices and systems for energy control, temperature control, time management, and security, in compliance with European regulations. In January 2022, Perry Electric chose Purplesoft to develop their C.DOM mobile application from scratch. C.DOM is a solution that enables the management of home automation systems, such as thermostats and temperature regulators. The app had been developed by their internal team, which unfortunately lacked expertise in app development. As a result, the app had many shortcomings, leading to the decision to seek assistance from an external team.
Our design process began with interviewing stakeholders to gain a detailed understanding of the client’s requirements and intentions. We then proceeded with heuristic analysis to identify the issues with the existing application. In general, we found deficiencies in terms of organization, intuitiveness, fluidity, and consistency. We noticed the presence of rarely useful information and functionalities, as well as difficulties in performing key actions. Additionally, there were inconsistencies between actions and their associated terms, resulting in a confusing and unpleasant user experience.
After identifying these issues, we moved on to analyzing competitors to compare their design choices and identify both strengths and weaknesses. Then, we proceeded with creating wireframes to represent the skeleton of the new application.
Subsequently, we developed the design system, which involves defining guidelines for managing design on a large scale, with the aim of visually aligning all the screens of the application and creating a library of visual components (buttons, icons, etc.). During this phase, we also reconsidered the color palette to make the new application more attractive, while still staying true to the existing branding.
Finally, we proceeded to the usability testing, a crucial step to identify any issues with the new flow. With the data collected, we improved the new UX, made final adjustments to the UI, and ultimately created the final layout of the user interface for the new application. It is now ready to be delivered and implemented by our frontend developers.
Mobile App Development
The solution we have developed consists of the following elements:
MSSQL relational database: We designed this database to store and manage all information related to IoT devices and their interactions with the application. The MSSQL database, with its optimized structure and advanced features, ensures fast and secure access to data, enabling efficient information management and a smooth user experience in the application.
Socket Server TCP SSL:These servers play a crucial role in communicating with IoT devices, enabling command sending and data collection. By using C# .NET 7 and our Purple.Sdk, we were able to implement a multithreaded management of connections, significantly increasing the capacity to handle concurrent connections, supporting over 10,000 connections per server instance. This approach improves the efficiency and scalability of the solution, allowing for rapid and effective management of a large number of IoT devices.
Web API RESTDeveloped to enhance the interaction between the various clients and devices, taking into account the transmission limitations of Perry IoT devices in terms of TCP response length (maximum 600 bytes). Implemented in C# with the .NET 7 framework, these APIs allow for combining multiple requests and optimizing communication through the use of caching and optimization strategies. The Web APIs interface with the TCP socket server, which handles forwarding the traffic to the appropriate device, ensuring efficient and smooth system operation.
Mobile app: For the development of the mobile app, we used the Flutter framework and the Dart programming language. This choice allowed us to create a performant and responsive app, compatible with both Android and iOS devices, ensuring a great user experience and a graphical interface consistent with the design system defined in the UX/UI design phase.
To ensure accurate testing, we created a test bed with all automation devices controlled by the application. In this way, we were able to verify the proper operation and integration of the devices into the automation system offered by the new C.DOM application.
To ensure accurate testing, we created a test bench or test environment. with all the automation devices controlled by the application. In this way, we were able to verify the proper functioning and integration of the devices in the automation system offered by the new application. C.DOM.