We’re here with another update on the development of Mudita Pure. Most of our team members continue to work remotely, but we’re definitely not slowing down!
We’d like to share some exciting news with you: Mudita Pure is among the winners of the A’Design Awards 2020! The Mudita Pure phone has been granted an Iron A'Design Award in Digital and Electronic Devices Design Category.
The A’ Design Award & Competition is one of the world’s leading international annual juried competitions for design. The primary aim of the A’ Design Award & Competition is to create a global awareness and understanding for good design practices and principles by highlighting the best designs in all countries and in all industrial fields.
Entries to the competition are peer-reviewed and anonymously judged by an influential jury panel of experienced academics, prominent press members and established professionals.
Mudita Pure, A'Design Award
We’ve decided to dedicate this update entirely to MuditaOS. Developing our own operating system has been one of the biggest challenges in the whole process of creating the phone of our dreams. Defining the goals, requirements, functionalities, verifying them against technical limitations and searching for the right solutions, demands a close collaboration between all the teams at Mudita at every stage of the process. We’d like to tell you more about the operating system we’re creating and the work that has been done.
Many of you have been asking us very technical questions and we’d like to meet the expectations of all the software geeks out there! We’ve decided to share some detailed descriptions of the process.
Mudita Pure, Space Grey
Imagining Mudita Pure’s operating system
In order to visualize the features of MuditaOS and create the requirements, we needed to develop user stories - a complete list of all the functionalities and actions that the system needs to include from a user perspective.
All of the teams were involved in this process. We prepared a list of general functionalities that Mudita Pure should have, and then divided them into particular applications and tools.
For each application, we prepared a separate diagram, which not only showed the functionalities, but also the connections between them and the possible paths that a user could take. In total, we defined 450+ user stories!
We divided them into 11 sections that became the fundamentals for building the main functionalities of Mudita Pure:
Tools: Voice recorder, Notes, Calculator
Finding the perfect interface
The design team at Mudita needed to prepare a visual representation of all the possible actions and a screen for every step that a user would take. This was a long and complicated process that took into account great usability, technical requirements and our love for beautiful design.
We tested the E Ink screen and defined the detailed guidelines for further design decisions that would be optimized for this technology. We also wanted the user interface to be intuitive, readable and understandable regardless of the action performed.
Our designers were looking for the elements such as the thickness of the lines, sizes of the fonts, or spacing. While testing different styles, using several shades of gray, adding and removing elements, we’ve come to the conclusion that a clear, simple design, using mostly black ink, was the best answer.
We set our expectations high and we now have over 300 screens that meet all of our requirements!
Right now we’re working on the finishing touches: redoing some of the icons and rethinking the copy of the commands and system notifications.
In order to make the development work easier, we prepared documentation describing the functionalities, design system, style guide and user flows, which accurately visualized the whole path a user has to go through for every functionality. You can see an example below, just a small part of the work that was done to prepare the Phonebook user flows:
From the beginning, MuditaOS was designed to be minimalistic and answer the most essential needs. Writing a proprietary operating system from scratch, without using a template was a challenge, but we decided to accept it in order to give Pure something that we’d be really happy with. What you see as functionalities and beautifully designed screens is the high-level end-user part of the software but in order to make it work, there is a whole low-level part that takes a lot of effort and time to build.
Every little detail needs to be addressed. We worked on several elements in-house such as: HAL - the hardware abstraction layer between the hardware and the OS, the bootloader, the role of which is to configure the hardware to a level that allows the operating system to boot, a secure database for storing contact information and messages and a system manager that restores the system after switching on the phone, monitors the system status or performs the initial start-up etc.
The implementation of many services was challenging, especially for the GSM module, which is one of the most complex modules in Mudita Pure. The goal was not only to provide the main functions, such as receiving an incoming call or ending an active call, but also to meet all of the smaller requirements, that an end-user might not necessarily think of, such as writing a message that contains special characters or enabling delivery reports.
The E Ink display is also a crucial component that we needed to take into account when developing our operating system. We had to make sure that all of the operations are optimized for it and are running smoothly.
When working on the audio system, it was important not only to choose the right components, but also to implement an audio service. This way the Harman speaker will play your favourite tunes in .mp3, .wav and .FLAC formats!
We’re testing every iteration of the operating system on Mudita Pure prototypes. It’s still not the final product and we’re working towards improving and optimizing the OS. Here you can see some of the functionalities:
At the moment, we are polishing the Phonebook, call and messaging features so that they look exactly the same as our designs. We implemented some additional simple features, such as templates for messages that will allow you to reject a call by sending a selected message.
Recently, we reworked a part of the operating system that is responsible for handling all phone numbers so that they are saved properly, together with the right country prefix, etc. In the meantime, part of the team is working on adding the finishing touches to the USB driver so we can connect the phone to a computer and exchange data via the Mudita Desktop App. We adapted the operating system to run on our latest, fourth PCB version and are also working on the bootloader to enable operating system updates.
In order to speed up development we have enabled launching MuditaOS on Linux, so we can work on many features (for example GUI) without needing to connect the phone and update the system too often.
We’ve been working on MuditaOS for over 2 years and in this update we can only cover some of the information. We’re preparing a more detailed overview for you, which will be shared on our website. If you’d like to ask us more questions about the operating system or the process of creating it, you can also head to our forum - we’re happy to talk!