Open in app

Sign In

Write

Sign In

Noah Martin
Noah Martin

201 Followers

Home

About

1 day ago

How To Speed Up Swift By Ordering Conformances

The Swift runtime executes a protocol conformance check when you cast a type to a protocol, such as with as? or as!. This operation is surprisingly slow, as detailed in my previous post. In this article we’ll look at an easy way to speed this up by ~20%, without making…

I OS

5 min read

How To Speed Up Swift By Ordering Conformances
How To Speed Up Swift By Ordering Conformances
I OS

5 min read


Published in Geek Culture

·Jul 7, 2022

How iOS 16 makes your app launch faster

WWDC22’s state of the union promised to bring some big launch time improvements: with apps like Lyft or Airbnb launching almost twice as fast thanks to improvement in the dynamic linker. This improvement comes from speeding up protocol checks, which I demonstrated to be slow in a previous blog post…

I OS

4 min read

How iOS 16 makes your app launch faster
How iOS 16 makes your app launch faster
I OS

4 min read


Published in Geek Culture

·May 26, 2022

Code Injection with Dyld Interposing

The dynamic nature of the Objective-C runtime can be exploited for many purposes, including method swizzling. There are many tutorials explaining how to use swizzling, and for many purposes it gets the job done. However, it can’t always be used. Swizzling handles Objective-C methods, but cannot be used for C/C++…

I OS

5 min read

Code Injection with Dyld Interposing
Code Injection with Dyld Interposing
I OS

5 min read


Published in Geek Culture

·Jan 31, 2022

How Order Files Reduce App Startup Time

A 150MB+ app binary file, like the one in Uber’s app, takes between 500 ms and 1 second just to be loaded into memory (measured on an iPhone 6s). Loading large files like this is just a fraction of the app’s launch time. To put in perspective, Apple’s recommended startup…

I OS

7 min read

How Order Files Reduce App Startup Time
How Order Files Reduce App Startup Time
I OS

7 min read


Published in Geek Culture

·Jan 9, 2022

The Cost of a Byte

The size of an app has wide-reaching consequences on user experience. At first glance, you might consider slower install times, more install failures, and a higher uninstall rate. But it doesn’t stop there. Unnecessary code leads to rising compile times. Large binaries increase how much work the runtime does to lookup…

I OS

4 min read

The Cost of a Byte
The Cost of a Byte
I OS

4 min read


Published in Geek Culture

·Dec 3, 2021

The Surprising Cost of Protocol Conformances in Swift

In my last two posts I wrote about pre-main startup time, and how app size has a direct impact on how much work dyld does to initialize your app. …

I OS

10 min read

The Surprising Cost of Protocol Conformances in Swift
The Surprising Cost of Protocol Conformances in Swift
I OS

10 min read


Published in Geek Culture

·Jun 23, 2021

How iOS 15 makes your app launch faster

Read the full version of this post on the Emerge Tools Blog — The most intriguing feature from WWDC21 was buried deep in the Xcode 13 release notes: All programs and dylibs built with a deployment target of macOS 12 or iOS 15 or later now use the chained fixups format. …

I OS

3 min read

How iOS 15 makes your app launch faster
How iOS 15 makes your app launch faster
I OS

3 min read


Published in Geek Culture

·Mar 4, 2021

Why Swift Reference Types Are Bad for App Startup Time

Read the full version of this post on the Emerge Tools Blog — The app launch experience is the first impression you make on a user. Every millisecond they wait for your app to start is valuable time they could spend elsewhere. If your app has high engagement and is used multiple times a day then users have to wait for launch over…

I OS

5 min read

Why Swift Reference Types Are Bad for App Startup Time
Why Swift Reference Types Are Bad for App Startup Time
I OS

5 min read


Published in The Startup

·Jan 14, 2021

How 7 iOS Apps Could Save You 500MB of Storage

Read the full version of this post on the Emerge Tools Blog Background Many mobile developers can attest to the problems of app size increase. Sometimes it’s a quick feature release with an uncompressed image that adds 5%. Sometimes it’s a slow, steady increase of 0.5% each week. I worked on these issues as a software engineer at Airbnb for 4.5 years, and…

I OS

5 min read

How 7 iOS Apps Could Save You 500MB of Storage
How 7 iOS Apps Could Save You 500MB of Storage
I OS

5 min read


Published in The Airbnb Tech Blog

·Jul 24, 2019

Supporting Dynamic Type at Airbnb

An overview of process, tips, and pitfalls we learned while bringing Dynamic Type to Airbnb. For you to reference when supporting Dynamic Type in your apps too! — By Noah Martin & Hugo Ahlberg Background Since iOS 7, Dynamic Type has allowed users to choose a prefered font size for their phone. At Airbnb, we try to build an app that our entire community can use — since Dynamic Type is a critical accessibility feature, we knew supporting it…

Design

5 min read

Supporting Dynamic Type at Airbnb
Supporting Dynamic Type at Airbnb
Design

5 min read

Noah Martin

Noah Martin

201 Followers

Co-founder of Emerge Tools, previously software engineer at Airbnb.

Following
  • Camelia D. Brumar

    Camelia D. Brumar

  • Alexander Kulabukhov

    Alexander Kulabukhov

  • Tyler Hedrick

    Tyler Hedrick

  • Hugo Ahlberg

    Hugo Ahlberg

  • Wensheng Mao

    Wensheng Mao

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech