Image of Emerge logo

Emerge's Bits & Bytes: August 2023

Welcome to the inaugural Emerge newsletter! Our goal for this newsletter is to share updates on what we’re working on + share anything interesting in the world of (mobile) development.

If you found this interesting, we'd love if you could sign up and share it!

What we're building

We’re very excited about our new Snapshot product. In our experience, snapshot testing is one of the most effective ways to ensure UI & accessibility correctness.

But it's harder than it should be. Devs need to:

  • Create tests for every view + generate and store images
  • Maintain a base set of snapshots to compare against
  • Diff head vs. base and surface result

And this is usually done by stitching together a handful of services & custom implementations. We want to abstract that all away.

Emerge’s Snapshot product leverages existing code, using PreviewProvider & Compose Previews to automatically generate images – no extra test suites or code needed. As for processing and comparing build data, that’s our bread and butter.

We’re excited to use this newsletter to showcase what we’ve been building and be on the lookout for more updates soon!

Auto expanding views & landscape support (iOS)

Our iOS snapshots now automatically expand to their full height, allowing you to view below the fold and catch any potential diffs (link). We also now support snapshots of landscape previews.

Example of an full height and landscape screenshot in the Emerge UI
Automatic Compose snapshot generation from main sources

When we first built Snapshots for Android, we followed a normal Android pattern and required previews to be denoted in a test source set. This is different from iOS, which extracts all previews in a project automatically. Following feedback from a cross-platform user, we’ve made it so you can automatically snapshot all Composable previews in the main source set, matching the experience on iOS.

Outside Snapshots

Other notable work includes completely open sourcing our Android SDK and supporting uploads in .IPA format.

What we're writing

Deep-Dives

A lot (most) people know us from our app analysis on Twitter. Twitter is great for distribution, healthy discussion, and overall stability 🙃. But its format limits how we can convey information. This month we made our first two deep-dive pages for Threads and Candy Crush Saga. With these pages we detail how apps are built, embed visualizations, share relevant code snippets, and write in complete sentences.

Moving ETTrace from CocoaPods to Swift Package Manager

Technically this came out at the end of June, but who’s counting. Here we detail why we made the switch, benefits we’re seeing, and difficulties we encountered.

How companies use Emerge - Duolingo, Square, and Fullstory

We had great case studies come out from three clients: Duolingo on reducing iOS app size, Square on continuously monitoring APK size, and FullStory on reducing their SDK’s impact on Android startup.

What we're reading

User Centric Mobile Performance

Great reminder from PY to always keep the user and their perception of performance at the forefront of all performance work.

Composable Styles in SwiftUI

For people not familiar with SwiftUI, this is a fantastic piece on how to compose SwiftUI styles.

Reducing Memory Footprint When Using UIImage

This is several years old, but saw it making the rounds recently. In addition to the memory footprint of UIImage, we've also measured a runtime impact of using UIImage with large dimension images.

If you liked this first edition, please do us a favor and share this link on your socials & let us know if there are topics you’d like us to cover!

Until next time, hope you enjoyed these bits and bytes!

Sign up for our newsletter 🛸

Never miss a post or product update



2024 © Emerge Tools, Inc. All rights reserved.