SKAI radar bench

Each page puts the radar the iOS app ships today next to one change, on the same map, with the same timeline. Everything in each pane can be adjusted live.

A / B

Rendering

Same Aeris tiles, rendered the way the app does versus with native tiles to zoom 12, 2 hours of 5-minute frames, preloading, and a shorter crossfade. Zoom into a city and press play.

current iOS
vs proposed rendering
A / B

Forecast source

Identical settings except the future layer. The app uses Aeris fradar, a coarse blend. fradar-hrrr is the 3 km HRRR model on the same key. Step past "now" to compare.

fradar
vs fradar-hrrr
A / B

Aeris vs NOAA

The app's Aeris radar next to tiles rendered by our own server from free NOAA data: MRMS 1 km composite reflectivity every 2 minutes for observed, HRRR for forecast. No per-tile cost, no secret in the client.

current iOS
vs NOAA MRMS + HRRR
A / B

Native 2-minute frames

The cheapest smoothness: more real frames. MRMS publishes every 2 minutes, Aeris every 5 to 6. Both cards report bytes downloaded, so the cost of the denser loop is on screen.

current iOS
vs NOAA at 2 min
A / B

Tile encoding

Identical frames, only the image format differs: 32-bit colour PNG versus lossy colour WebP. The cards also offer 8-bit palette PNG. Grey data tiles for the GPU pages are always WebP.

colour PNG
vs colour WebP
A / B

Motion-compensated interpolation

Optical flow between consecutive frames, then in-between frames synthesised on the server by warping both neighbours. Cells move instead of fading. Every synthesised frame is another tile download.

5-min frames
vs + 1-min interpolated
A / B

Client-side shader interpolation

Instead of downloading synthesised frames, the device fetches two observed frames plus a small motion tile and a GPU shader warps between them continuously. Smoothest playback and the least data.

server 1-min frames
vs GPU warp
A / B

Nowcast extrapolation

The same motion field run forward: the latest observed frame advected up to 2 hours ahead in 5-minute steps, bridging into HRRR. Replaces the app's jump from "now" to a blurry hourly forecast.

current iOS
vs 2 h nowcast then HRRR
A / B

Everything on

Each tile's whole loop as one H.264 clip decoded on the device, GPU warp between frames, an index that skips empty tiles, 2-minute frames only for the last 30 minutes, a lower zoom while playing, then an hour of nowcast carried by the observed motion and 18 h of HRRR. Compare the byte counts.

current iOS
vs all optimizations
A / B

MapsGL

The Xweather MapsGL SDK, which the app shows subscribers as Advanced Radar, next to everything on. Same moment on both maps; bytes on both cards.

MapsGL SDK
vs all optimizations
A / B

Looks

The optimized pipeline with ten ways to paint the same radar, all in the shader: palettes with their own transparency, banded contours, outlines, glow, pastel. Zero extra bytes.

optimized
vs a chosen look
A / B

Temperature

The first non-radar layer on the same pipeline: HRRR 2 m temperature as one-byte tiles coloured on the GPU, next to Aeris forecast temperature tiles drawn the app's way.

Aeris ftemperatures
vs HRRR 2 m temperature
A / B

Wind

HRRR 10 m wind as one-byte speed tiles coloured on the GPU with particles carried along the wind, next to Aeris forecast wind-speed tiles drawn the app's way.

Aeris fwind-speeds
vs HRRR 10 m wind
A / B

Clouds

HRRR total cloud cover forecast as one-byte tiles drawn on the GPU, next to Aeris forecast cloud-cover tiles drawn the app's way.

Aeris fcloud-cover
vs HRRR cloud cover
A / B

Satellite

GOES-19 infrared every 10 minutes with motion fields, so the clouds glide between scans, next to the five Aeris satellite frames the app shows as Clouds Movement.

Aeris satellite
vs GOES-19 infrared
A / B

Precip type

MRMS surface precipitation type (rain, snow, hail, convective, tropical) as one-byte tiles from 150 KB files, next to the app's radar whose palette folds type into colour.

App radar
vs MRMS PrecipFlag
A / B

Alerts

NWS active alerts as vector shapes from the free API, zones resolved and cached on our server, next to the Aeris alerts tiles the app's Weather alerts toggle draws.

Aeris alerts tiles
vs NWS vector alerts