What

Perspectives

Ideas. That’s what it all comes down to. Explore our team’s latest musings on design, tech, creativity and so much more.

filters

engineering

Visit Monitoring in iOS

As Covid-19 started to spread, we tried to find a way to help as developers, with the tools at our disposal. One idea was to use out of the box Visit Monitoring service proposed by Apple to match locations with infected people. The idea at the time was the same as the ExposureNotification framework, but using location service instead of bluetooth. That’s a good opportunity to focus on visit monitoring here and see if it’s a good candidate for this use case.

engineering

Approaches to Type Erasure in Swift

Protocols bring a lot of power and flexibility to our code. Some might say that this is the most important feature of Swift, especially since Apple described it as “Protocol oriented programming language". But every once in a while, things don't work as expected using protocols, and we encounter the following compilation error: `Protocol ‘X’ can only be used as a generic constraint because it has Self or associated type requirements` :oops: In this article we will talk about different approaches to get around this issue.

engineering

UIAlertController with Function Builders

I always found the UIAlertController API too verbose. You first have to create an instance of UIAlertController, then create multiple instances of UIAlertAction and finally add the actions to the controller. In this post, I will show you how we can leverage the new Swift 5.1 feature of Function Builders to create a simplified and highly readable API.

Reactive programming with Android

engineering

An overview of reactive programming with Android

The Android platform is asynchronous by nature. And so are android apps. Information is flowing asynchronously through your app, from multiple sources. The system will trigger your broadcast receivers, forward intents, and recreate your UI on each configuration change. The user will keep interacting with the UI, and network requests may respond (or eventually fail) at any moment.

engineering

The use of cross platform framework in Android Top 100 apps

Since the emergence of mobile apps, cross platform has always been a recurring question. React Native, thanks to a massive investment of Facebook, and the popularity of its web cousin React, is now getting a lot of publicity.

engineering

How to make the best of protocol with associatedTypes using type erasure

Protocols with associated type, first let's see what Apple says about them:

engineering

Why you should use TDD to build your app

To better code requires to be rigorous and methodical in testing. But it's not easy to pick a test methodology. You may also ask yourself whether to write tests before or after development. TDD is a response to this questions. Discover an overview of this method through its fundamental principles, major advantages and some rules you need to follow to make good use of it.

engineering

How to leverage HTTP cache in iOS

engineering

Conference - API Days favorites

The parisian edition of APIDays took place on the 11th and 12th December. With 5 tracks of 12 talks every day, there is plenty to say. Here is a digest of the talks that engaged us the most in the technical API Design & Architecture.

engineering

Augment your Ruby back end with Elixir

Ruby is a wonderful language to develop back ends. However concurrency is not its strength. We present here our experience with Elixir, aiming at making up for this weakness, within our specifications tool Pericles.