StationCast 10.23
What's new since 10.15
The headline this round is the iPad: it now has a real layout of its own, with a saved-station map living in a resizable sidebar, a full-screen expanded map, pointer and keyboard support, and Add Station overlaid right on top of your saved set. Alongside that, StationCast finally talks to Alexa, picks up universal links and QR codes, and gets a Settings screen that’s been broken into focused sub-screens.
iPad, reimagined
The iPad app used to be an iPhone layout stretched wide. It isn’t anymore.
- Saved-station map in the sidebar. On iPad, the saved-stations list lives in a sidebar with its own Map / List toggle, persisted independently from the iPhone display mode. Compact glass pills render at sidebar widths without losing the temperature tint or freshness chip you see on the phone. Pin taps update the split-view selection on the right, and the map stays mounted across toggles so your camera position is preserved.
- Drag-to-resize sidebar. Grab the edge of the sidebar and pull it wider or narrower. The labels and pill layout adapt as you go.
- Expanded map. Tap a button in the toolbar (or the new portrait toolbar action) and the saved-station map fills the canvas. The same pills, the same recenter and refresh controls, more room to breathe.
- Add Station, layered over your saved map. Starting a search on iPad no longer hides everything you already had on screen. The discovery results appear as their own layer over your saved-station map, so you can see candidate stations in context with the places you’ve already saved.
- Solar context on the expanded map card. Sunrise/sunset and dawn/dusk are surfaced on the expanded card, with the timing card adapting to where you are in the day.
- Pointer hover preview. With a Magic Keyboard or trackpad, hovering a pin lifts the label and shows a glass tooltip with the place name, current temperature, station ID, and freshness (“Updated 3 min ago”). Brief drifts off the pin don’t flicker the tooltip away.
- Keyboard shortcuts. A first round of iPad shortcuts:
← / → — step through saved stations in your saved order (wraps).
↑ / ↓ — step through saved stations ordered by distance from the visible map center.
⌘M — toggle map/list mode in the sidebar.
⌘F — enter Add Station and focus the search field.
⌘, — open Settings.
Esc — dismiss Add Station, or collapse the expanded map.
Space — recenter the map.
- Configurable initial map radius. A new Settings row lets you choose how zoomed-in your saved-station map opens. Defaults match what you had before — 250 mi in imperial, 400 km in metric — and the value sticks to the unit you set it in (no surprise auto-conversion).
- Polish for narrow widths. Metric chips on iPad shrink so the 2×2 grid fits cleanly in narrow split-view columns, and the expanded map card is now noticeably more readable against bright weather backgrounds.
iPhone behavior is unchanged.
Talk to your stations
A new Alexa skill
StationCast now has an Alexa skill. Link your StationCast account to Alexa once, then ask your Echo about a saved station the same way you’d ask Siri on your phone — current conditions, summarized in plain English, from the backend you already trust. Account linking is OAuth-style, observability is wired up end-to-end, and the skill is gated on the backend so we can roll it out carefully through Amazon’s certification process. (Publishing is still in progress; expect a separate announcement when it goes live in the Alexa Skill Store.)
More Siri intents
Siri picks up a much wider vocabulary of per-metric questions:
- “Hey Siri, is it raining in StationCast?”
- “Hey Siri, what’s the wind at <station>?”
- “Hey Siri, what’s the humidity in StationCast?”
- “Hey Siri, what’s the pressure in StationCast?”
- “Hey Siri, what’s the UV index?”
- “Hey Siri, when is sunrise in StationCast?”
- “Hey Siri, when is sunset?”
A new optional station parameter lets you ask about a specific saved station from Shortcuts instead of always falling back to “home.” Sunrise/sunset phrasing was refined so close events sound natural (“in 40 minutes”) and far-off ones use a plain time (“at 6:12 AM”). Metric replies now include freshness, so a stale reading doesn’t sound like the current one.
Sharing and deep links
- Universal links. Shared station links now use
https://stationcast.app/station/<id>. Devices with the app open right to that station; devices without the app land on a friendly page on the website. Old stationcast:// custom-scheme links keep working — the widget, previously shared links, and QR codes all still resolve.
- QR codes on share images. The share-station image can now include a scannable QR code (and the station ID) so someone in the room can capture the link with a camera. The QR code is configurable in Settings and defaults to off so existing share images stay unchanged unless you opt in.
stationcast:// for unsaved stations. External openers (other apps, the upcoming QR flow, a friend’s text) can now deep-link to a station you haven’t saved yet, and the app handles the transition cleanly.
Settings, reorganized
The Settings screen had grown into a long single scroll. It’s now broken into focused sub-screens:
- Map — initial radius, label configuration, and other map-presentation choices in one place.
- Charts & Sensors — what data shows on the detail view and how the charts behave.
- Formatting — units, decimal preferences (°F decimals and °C decimals are now individually toggleable full-width rows instead of a cramped chip pair), distance, and other display formatting.
- Launch & Sharing — what the app does when you open it, plus the new share-image QR-code toggle.
The top-level Settings screen now focuses on Manage Stations, Units, navigation into the sub-screens, About, and a low-emphasis Reset Preferences action at the bottom. The About card no longer copies on tap (which was easy to trigger by accident); there’s an explicit copy button on the header instead.
Map labels and saved-station polish
- Map labels follow your saved-map configuration on discovery, too. The label recipe you set up for your saved-stations map (which fields to show, how many lines) is now also applied to the discovery map when you’re adding stations, so the two views feel like one product.
- Line-count picker is reversible. The map-labels line-count picker now lets you decrease the line count again after increasing it.
- Weather-driven gradients on Manage Stations and Map Labels. Both screens now adopt the same temperature/condition-tinted background you see elsewhere in the app, so they feel like part of the product rather than utility screens grafted on.
- Manage Stations row temperatures stop collapsing. Long temperature values like “100°F” no longer wrap to one glyph per line on narrow rows.
Discovery
- Discovery returns more stations. When you search nearby, the results list now goes up to 15 stations instead of 10, so you have a better chance of finding the right sensor in dense neighborhoods.
- No more near-duplicates in results. A backend tweak removes near-duplicate station IDs from the nearby search before the list is sliced, so you don’t lose useful results to duplicates near the edge of the result window.
- Implausible sensor values no longer drop the whole station. Previously, a single broken sensor on the provider side could remove a station from your results entirely. Implausible values are now dropped at the field level — you still get the station, just without the bad reading.
Reliability and backend
The backend got a substantial round of observability and operational improvements: end-to-end Prometheus metrics for the user-facing flows, dedicated Alexa metrics, structured logs with ISO 8601 timestamps and a configurable timezone, signed-endpoint plumbing for the Alexa integration, and a number of small reliability fixes around the Alexa account-linking and skill dispatch paths. These are mostly invisible from the app side, but they’re the reason we can ship Alexa with confidence.
Under the hood
- A shared map foundation now backs both the saved-station map and the discovery map, so visual changes to one propagate naturally to the other.
- The iPad layout work added compact label width classes, a sidebar preference store, distance-based navigation helpers, and a small keyboard-shortcut dispatch layer — none of which you’ll see directly, all of which let the iPad app keep growing without becoming brittle.
- Documentation was refreshed across the repo and the wiki to match the current shape of the project.
Thanks for testing. Please file feedback via TestFlight or on GitHub.