Recreating the ever-popular duotone look from Spotify’s branding

Back in 2015, Spotify went through a rebranding effort that involved a much flatter design along with bright, bold, and complementary colors. This new branding style extended throughout the service, including things like promo material and playlist cover art. …

Do your text views show…?

One of the challenges you might encounter when working with UITextViews is that they don’t provide a straightforward way to detect whether or not they are displaying truncated text.

With a UILabel you can check for truncation by calculating the size of the text within the label and comparing that…

Become a more effective and empathetic reviewer

Reviewing code is an daily occurrence for developers. It can be a humbling learning experience, but it can also turn into an egocentric process. Over the last few years I’ve learned some best practices, either through personal experience or excellent advice from peers, that have helped me to become a…

This a quick one for you. Remember the screensaver that would to show up on your old CRT tv when the DVD player went to sleep? I loved that, didn’t you? There was always a shred of hope that you’d get to see it perfectly hit the corner. Let’s recreate…

A detailed guide to handling events through UIMenuController with Swift

This piece focuses on the UIMenuController functionality and how it interacts with the UIResponder chain for handling events. It assumes that you are at least somewhat familiar with both, but if not please go read up a bit before continuing. …

Awhile back I worked on a project where the networking layer was built around a promise-based architecture using PromiseKit. While building within it I needed to figure out how best to handle multiple, simultaneous network calls when using promises. …

Edited (6/24/18): This story was imported from my old personal blog. Apologies ahead of time for wonky code blocks. Also I’ve learned an enormous amount since then, including that this usually isn’t a great strategy for code separation. For historical purposes I’m leaving it here though.

Say you are trying…

Today, seeminly out of the blue, Microsoft unveiled their new code editor project titled Visual Studio Code at Build. What’s special about this editor that differentiates it from other Microsoft products is that it is cross-platform for Windows/OSX/Linux. With it’s native support for ASP.NET 5 and NodeJS application development, this…

Startup is an interesting word. If you search it on Wikipedia you’ll get the following blurb…

A startup company or startup is a business in the form of a company, a partnership or temporary organization designed to search for a repeatable and scalable business model.

That’s cool. Those are the…

So I’m deviating away from my tradional topic of web development for a bit. This is because my friend and I came up with an idea for an iOS app, (beer was involved), and it sparked my curiosity in iOS development enough that I actually decided to set aside time…

Alex Persian

iOS engineer @ Spotify

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