Pinned Tweet
Good question @VishalMalvi_ ! Here's what's going on behind the scenes of the @gmail iOS app 👇
51
389
4,976
1,922,267
1. why do I need to install an app to set up a printer
2. why is that app 400+ MB
21
5
278
9,991
Replying to @emergetools
...I knew this was familiar 😐
x.com/emergetools/st…
Time to open up the printer to see what’s going on

… aka time to look at the HP iOS app to see why it’s 400 MB 🖨️
0
0
18
1,457
Emerge Tools retweeted
At @Sentry’s AI offsite this week, @indragie & I decided to kick things off with a bang❗️

We’d seen a video where friends bought each other ridiculous shirts before a flight and had to wear whatever they were given... so naturally, we did the same for the offsite (ft. @zeeg)

If you make sure to say hi
5
1
31
7,139
Replying to @emergetools
Other notes:

- Flutter app
- 207 MB of dynamic frameworks (worse for size compared to static)
- lot of external dependencies
1
0
6
694
Replying to @emergetools
There's no excuse anymore, Sentry Size Analysis is free 100 builds / month

That's a nightly + weekly releases on Android & iOS and then some
docs.sentry.io/product/size-a…
0
0
5
873
Replying to @emergetools
We focused on the video file b/c it's so easy to optimize + having a 23 MB onboarding video, seen once by user, is ... not ideal

But all the images are also easily optimized, saving 30+ MB.

Optimizing the video & images + stripping binary symbols would save ~75 MB, a third of the total app size
2
0
6
645
Replying to @emergetools
Here's the metadata comparison of the new file + a side-by-side of a random frame, which is virtually indistinguishable

Note the lower bitrate (15.45 Mbps vs. 3.42 Mbps) and file size (23.2 MB vs. 5.1 MB)
1
0
6
651
Replying to @emergetools
TL;DR on the video file, it's encoded with way higher bitrate than needed

If you want to learn more about bitrate, check out this thread
x.com/emergetools/st…
It’s Friday, we do have a job, and we do have things to do

But we’re going to tell you about bitrate today

Why this @weedmaps video on the left is 14x bigger than the one on the right, despite looking the same 🌿
1
0
10
885
Replying to @emergetools
It's a 12 second video of some wings flying around

What's egregious is that 1 line of ffmpeg reduces this by ~80% (and you could do even more)
1
0
23
1,299
Replying to @emergetools
This code is re-encoding the video with a constant rate factor of 28 (`-crf 28`)

Low CRF (0) = higher quality, larger file size
High CRF (51) = lower quality, smaller file size

In this case, CRF 28 gave us the same video with a lower bitrate & a visually similar output
1
0
8
666
Alright, we bit

It's the 83.5 MB flutter assets that grind our gears w/ an egregious example of bad practice
Every app now is insanely sized. Why is my Wingstop app half a GB. How does that even happen!! These ppl should be beaten in the streets until it gets under 50mb again
4
3
68
16,577
Replying to @emergetools
Here's what's in flutter assets. Everything in red can be optimized...

Notice the biggest node is `onboarding_present.mp4`, which is a 23.5 MB video, that presumably is only shown to a user once during onboarding
1
0
16
1,811
Every app now is insanely sized. Why is my Wingstop app half a GB. How does that even happen!! These ppl should be beaten in the streets until it gets under 50mb again
1
0
13
2,065
Replying to @emergetools
There's no excuse anymore, Sentry Size Analysis is free 100 builds / month

That's a nightly + weekly releases on Android & iOS and then some
docs.sentry.io/product/size-a…
0
0
9
3,139
Replying to @emergetools
Some other notes:

Opus generally did a great job on all site recreations, regardless of scenario, but did see improvements w/ screenshot access

Here's an example of Opus recreating linear, 1st image is no screenshot, 2nd image has screenshot access
1
0
2
322
Replying to @emergetools
Might put some more rigor into this - would be cool to see how different models improve (or not) across the scenarios. For convenience this was only done on Anthropic models
1
0
2
314
Replying to @emergetools
Influenced by the release of Snapshots on Sentry

We're bullish on snapshot testing to both guard agent changes + as an artifact that can be used by an agent, excited to see more development here 🫡

docs.sentry.io/product/snapsh…
0
0
3
340
Replying to @emergetools
Here are the runs for the agents with screenshot access, subjectively closer to the actual site
1
0
2
247
Replying to @emergetools
Take this Netflix example. Here are 5 sonnet runs of “Agent 1” (left is actual site, right is agent output)

In every case, the agent failed to get the background right
1
0
2
247
Replying to @emergetools
First step: a scraper to take screenshots of a websites

We then had 3 agents try to recreate the reference image

Agent 1: just told to recreate as closely as possible
Agent 2: can screenshot its work and reference it
Agent 3: can screenshot + run a pixel diff
2
0
3
590
Replying to @emergetools
Each agent output gets diffed via the sentry-cli to grade how "pixel perfect" it was

While the agents w/ access to additional tools had a better pixel diff grade, the # difference wasn’t that significant until you actually look at the output
1
0
3
346