I have had the opportunity to learn so many things while working on Proton. Just as much as I like sharing my code, I also enjoy talking about the challenges and the wins. This article focuses on yet another feature in Proton which, I believe, should have been available out of the box in iOS. If you are new here and before diving into the details, would like to know more about Proton, Building a native editor for iOS is a good place to start.

Text with background

Often there are times when we want to add background to the text in a…


I have always been fascinated with the great Open Source community that all of us software developers enjoy. There have been some great frameworks which have come out of people’s passion for solving a problem or making a great thing even better. I have used so many open source frameworks throughout my career as a software developer and have always wanted to contribute back. However, I was not able to come up with a good problem to solve, until now. You already know from the heading — it’s a full fledged completely native iOS editor framework.

We use rich text…

Have you ever wished that you could achieve something like the following in a UITextView:

It is really odd that something that is used so widely, is not supported natively by UITextView on iOS. When I came across a scenario (more on that later — be sure to read till the end 🙂) where I needed to implement a functional list in UITextView, it seemed that I had hit a roadblock. Right at the onset, I knew that the only option I have is to use custom attributes in NSAttributeString. …

Recently, I came across a requirement of having multiple shadows on a single UIView. The requirement was pretty straightforward:

  • Have a perimeter shadow with1px width.
  • Have an ambient shadow which will be variable to give an impression of elevation, as in Material design.

The expected result was as follows:

I wanted to make this elevationgeneric such that it can be applied to any view. My experience on this piece of code turned out to be rather eventful unlike what I was expecting. …

Rajdeep Kwatra

Rajdeep is an iOS developer at Atlassian. He believes that a piece of code can always be improved, but the cost may not always be justified against the benefits

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store