Switching from Android to iPhone could soon be a little bit easier. WhatsApp is working on a new tool that will allow users to transfer all their chat data from Google’s platform to iOS, according to a new beta version of the app. WhatsApp already gives users the ability to backup their conversations so they […]
This is the second of two posts following up on my earlier post about backing up and restoring Core Data. My past post covered the difficulty of learning how to use mostly-undocumented framework methods, specifically about a Core Data method called replacePersistentStore(…). Arnaud Joubay recently messaged me to ask why I used a different approach […]
A question that comes back often when using Coordinator pattern in iOS development is how to pass data between views. Today I’ll share different approaches for a same solution, regardless if you are using MVVM, MVC or other architectural design pattern. As a reminder, Coordinator pattern is an architectural design pattern dedicated to handle navigation […]
A recurring challenge in programming is accessing a shared resource concurrently. How to make sure the code doesn’t behave differently when multiple thread or operations tries to access the same property. In short, how to protect from a race condition? To build a Thread-safe data structure, we need to briefly walk through concurrency principles in […]
Since January, I’ve been slowing down blogging for couple reasons: I started doubting about myself and the quality of my content but I also wanted to focus more on some fundamentals I felt I was missing. So I committed to a “100 day challenge” coding challenge, focused on data structure and algorithm in Swift. Before […]
Following up previous articles about common data structure in Swift, this week it’s time to cover the Tree, a very important concept that we use everyday in iOS development. Let’s dive in. Concept Opposite to linear structure that we’ve covered like Queue or Stack, a Tree is hierarchical structure represented by a set of linked […]
After covering last week how to code a Queue in Swift, it sounds natural to move on to the Stack, another really handy data structure which also find his place in iOS development. Let’s see why. Concept Similar to a Queue, a Stack execute operation in a linear order, however the ordered is reversed to […]
Recently revisiting computer science fundamentals, I was interested to see how specific data structure applies to iOS development, starting this week one of most common data structure: the queue. My daily usage of data structure is often limited to native one available in iOS development: arrays, sets, dictionaries. However, if there is a data structure […]
Recommended content, which is surfaced in places like Explore or hashtags, is a central part of people’s experience on Instagram. As people browse this “unconnected content” from accounts that they aren’t already linked to on Instagram, it’s extremely important to identify and deal with content that violates our Community Guidelines or might be considered offensive […]
We recently shipped Data Saver Mode, a new feature on Instagram for Android that helps the app consume less mobile data. In this post, we’ll go over why we decided to work on this feature, our approach in developing it, the engineering implementation, and how people were impacted by it. The motivation behind building Data […]