Image of Emerge logo

Emerge's Bits & Bytes: March 2024

March was a really cool month for Emerge. First and foremost, we're thrilled to welcome our newest engineer, Hector, to the Emerge Tools team! Hector is joining us from Google, where he worked on their performance profiling tool Perfetto. Can't wait to get building 🔨

Also in March, Wired featured our analysis in their piece on Reddit's IPO, we had our most popular Twitter/X thread yet, and we launched a new landing page design that does fancy interactions like go into hyperspace on hover (s/o Facu Montanaro & Mikael Sargsyan who handled the design and dev work!).

Making it into Wired or being popular on Twitter isn't our goal, but it is exciting for our team to see this type of positive reaction + the awareness of our tools grow (including readers to this newsletter 🙂). Feels a bit cringe to do a "couldn't do it without all of you", but also, we couldn't do it without all of you ❤️.

And with that...

What we're building

️⚡️ Performance Profiles

Our Performance Analysis tooling was built to provide a statistically rigorous performance comparison. But sometimes (most times) you want results quick, easy, and without writing tests. Performance Profiles do just that. Now you can say "profile TikTok for 1 second" and get an Emerge performance report.

UI for running a performance profile
Flamechart of TikTok profile

If you're looking for a quick and easy way to profile an iOS app, check out ETTrace, Emerge's entirely local, open-source profiler

⚙️ App Settings Overhaul

In addition to a new landing page, our "Settings" page got a facelift. A lot has changed here, but one notable highlight is the ability to create more configurable Slack Alerts. You now have finite control over what builds get alerts and what builds you can compare against.

UI for configuring slack alerts

Additionally, we've added the ability to create and manage Performance Slack Alerts.

📂 Zip and export snapshots

You can now export a zip of all snapshot images for a particular build, which we see as particularly helpful for a11y/language audits.

UI for configuring slack alerts
🧪 Using AI to catch accessibility issues

Finding accessibility issues in an app is a manual, time-consuming task. Perfect for an AI.

Using our Accessibility Snapshot features and AI, we were able to uncover multiple VoiceOver issues with the Drizly and Alaska Airlines app. This work is still in its early phases, but the early results are promising.

Alaska Snapshot that uses file path names in VoiceOver. VoiceOver reads this as "auro slash interface slash chevron right. Image

Above is an image from the Alaska app where they're using file paths in VoiceOver. This is read aloud as "auro slash interface slash chevron right. Image". Our AI found ~20 such Snapshots with this issue in the Alaska Airlines app.

What we're writing

Make Your iOS App Smaller with Dynamic Frameworks

We've written a lot about the performance implications between Dynamic and Static Frameworks, but we felt that this area, specifically with SPM, was lacking a proper "how-to". Using the Hyundai app as an example, we go step-by-step on how to use dynamic frameworks and work through a limitation of SPM.

App Deep Dive: General Motors

Apparently we're picking on Car apps this month. General Motors has four different apps for its car brands. Each app is close to 500 MB. Spoiler alert, they shouldn't be that big.

Glossary: ANR

A high-level overview on Application Not Responing (ANR) + additional resources to learn more.

What we're reading

Until next time, hope everyone enjoyed these Bits and Bytes ❤️

Sign up for our newsletter 🛸

Never miss a post or product update

2024 © Emerge Tools, Inc. All rights reserved.