Open Source Libraries for Apps on iOS
By: Ehrlan Zholdosh
Tags: Libraries, Design, Open Source Software, iOS, Swift

The Action

We hadn’t any possibility to push or affect the release of App. So we decided to pick up the most innovative features that we made in App and by using a completely different approach in form cases and developing — create open-source libraries that anybody can touch and grab for their own projects.

On the developing side, shortly, we have decided to code simple and clean code as much as possible on the Swift UIKit with itemized documentation according to the guidelines. And that’s my best definition of what we were going to do by dev side 😂 . I hope, soon my teammate also will prepare his own storyline.

First concepts

My approach was to design all selected features like parts of one product. So basically, they can be presented as a concept of any app visually. I came to the conclusion that I will do for a popular brand’s product, but which has not been released yet and will launch approximately when we planned to publish our libraries in the public domain at the same time. That product was an Apple TV+. All views will be our representation of how this application might look like with our invents.

The Cellular Number Mask

We have been building an ecosystem for wholesale products. It would be impractical to force users to register on each platform individually when they use several of our platforms. The most obvious way to create our own userbase system for gaining access via one account to all products, like Google Account.

The best practice in a registering method is signing by social media because it does not require additional authorization. But we had configured a difficult system that allows us to use only email or mobile phone number. Since the first iterations of the main service released in 2014, we had a serious group of customers who already had accounts. And based on it, we figured out that 72% of users use their phone number as a way to log in, and the rest 28% of their email addresses. 28% is a huge amount to ignore them and we cannot leave a mobile phone number as a single process. We must design both methods but we absolutely didn’t want to allocate two input forms in the registration window.

We had a challenge, how to combine two processes into one input form. Email forms don’t require any additional features than the usual text ones. However, the numbers basically more conveniently type into masks that include predefined country code and cells for other digits. According to the researches, only 0,009% of users in the world use the digit as the first symbol for an email address. My idea was to design input that had a default view in the idle state and will transform into a custom field with a cellular mask immediately after typing the first digit. During designing this feature we found similar decisions, even found an open-source library that almost contains our needs, and for saving time we have used that one with some list of customizations. And that point also motivates us now to create an open-source library with our vision in order to help other teams as we were.

Theoretically, our Cellular Number Mask can be useful for fintech projects where also exist serious security guidelines that also don’t allow the use of social networks during authorizing in the application.