Engineering end-to-end development of desktop application for maintenance of storage media.

Storage

Client

The client is a large storage company in US that specialises in the manufacturing and sale of high-quality external storage devices and professional-grade memory cards. With a strong reputation in the industry, the client has been providing reliable and innovative storage solutions to customers worldwide for many years.

Client Requirement

To assist photographers and filmmakers in their workflow, a desktop application needs to be designed and developed. The application should include features such as checking the remaining storage media life, formatting or performing a factory reset on the card, and firmware upgrades. It should also have a user-friendly interface. Furthermore, the application should be compatible with both macOS and Windows operating systems.

Geography:

US

Industry:

Storage

Challenges

One of the challenges for this project is the need to implement the core functionality of
the application twice, once for macOS and once for Windows. This is because the
application heavily relies on the functionality provided by the operating system of each
platform. Ensuring that the application works seamlessly and efficiently on both
operating systems will require careful planning and development.

 

Another challenge is the detail-oriented nature of understanding storage protocols such
as SCSI and NVMe, and implementing the necessary code to communicate using these
protocols. This requires in-depth knowledge and expertise to ensure proper integration
and functionality with the storage media

User experience

We collaborated closely with the client to create an exceptional desktop app for users. Utilizing their design specifications, our team crafted a sleek, contemporary user interface in macOS, employing the powerful and efficient Swift UI framework.

Core Module

Minimise code duplication

To further streamline the process, our team implemented an efficient cross-platform architecture that reduced development effort by minimizing code duplication across both macOS and Windows platforms. By creating a layer of abstraction to conceal OS intricacies, we successfully developed robust backends for both operating systems. This thoughtful approach ensured a seamless user experience, regardless of the platform they chose to use

User space device driver

Unlike Windows, which offers APIs for sending vendor-specific storage commands directly to memory cards, macOS does not provide such functionality out of the box. To solve this problem, ConsulMinds developed a user space device driver that enables macOS devices to send SCSI and NVMe commands to their respective storage media. This innovative solution allows users to manage their storage devices more efficiently without needing to rely on third-party tools or switch operating systems.

Results

The innovative solution provided by ConsulMinds Technologies not only addressed a critical issue for macOS users but also delivered exceptional results. This was evident in the client’s successful launch campaign of its new line of memory cards, which showcased the efficiency and effectiveness of this user space device driver. As a result, our client was extremely satisfied with both the quality of work and timely delivery, further solidifying ConsulMinds Technologies as a reliable software development partner for businesses in need of customised solutions.

Interested in a free prototype of your idea?