Skip to content

What iOS widgets can't do (and what to build instead)

· WidgetAI

Most widget apps sell you on what widgets can do. This post is the other half — the things they can't, and why. None of these are our shortcomings to hide. They're rules Apple sets for every widget on iOS, and knowing them up front means you build something that works instead of chasing something the platform will never allow.

We'd rather tell you where the walls are than let you find them the hard way. So here's the honest list.

The honest list

1. No buttons, text input, or scrolling

A widget isn't a little app. On iOS a widget is display-only for most purposes: you can't put a working button, a text field, or a scroll view inside it. Tapping a widget opens the app behind it — that's the interaction Apple gives you. There are a few narrow system cases where a tap can toggle something, but there's no general "interactive canvas" where you build a form or a mini game.

So if you're picturing a widget you type into or scroll through, that's not a thing on iOS — for any app. Design for a single glance instead.

2. No real-time updates

Widgets don't run live. iOS renders your widget to a snapshot and shows that image, then refreshes it on a budget the system controls. You don't get a ticking second hand or a price that updates the instant the market moves. The system decides how often your widget gets to redraw, and it's stingy with that budget to protect your battery.

This is why every weather or stocks widget on your phone can be a few minutes behind. It's not stale code — it's how the refresh schedule works. Apple documents the model in their WidgetKit docs if you want the technical version.

3. Battery percentage comes in 5% steps

If you build a battery widget, the number will move in jumps of 5 — 100, 95, 90 — not one percent at a time. That's not a bug and it's not us rounding to look tidy. On modern iOS the public battery API reports the level in 5% steps, so every app gets the same coarse number. There's no private 1% reading a widget can reach.

Every battery widget on the App Store has this limitation. Some just don't mention it, which leads people to think ours is the broken one. It isn't — theirs does exactly the same thing. We wrote up the full battery story here if you want the details.

4. No render-time logic

A widget can't think on the fly. It can't decide "if it's raining, show the umbrella, otherwise show the sun" at the moment you look at it, because it isn't running when you look at it — it's showing a snapshot that was prepared earlier. So any "decision" has to be designed in ahead of time.

The good news is that a lot of what feels like logic can be precomputed. A rule like "turn the number red when battery drops below 20%" works fine, because the color is decided when the snapshot is built, not invented in the moment. Thresholds, ranges, and value-to-color mappings are all fair game. What you can't have is open-ended, if-this-then-that reasoning happening at the instant of viewing.

5. No arbitrary sizes

You don't get to pick pixel dimensions. iOS gives every widget a fixed grid — small, medium, large, and a couple of others — and your design has to fit one of those slots. You can't make a widget that's 1.5 tiles wide or a custom rectangle.

WidgetAI supports small and medium today. Large isn't there yet — and to be clear, that one's on us, not Apple. We'd rather ship the two sizes we're genuinely happy with than a large one that feels half-finished. It's on the list.

What widgets are genuinely great at

Read that list and it might sound like widgets can't do much. The opposite is true — they're excellent at one specific job: showing you a piece of information at a glance, without opening anything. Ambient, always-there, zero-tap. Once you design for that instead of against it, the constraints stop mattering.

Things that shine on a widget:

  • Live prices — a crypto or stock ticker you check on the way past, no app to open.
  • Weather — today's high and low, a rain chance, a small icon.
  • Steps and rings — your activity read locally from HealthKit, on your Home Screen.
  • Your next meeting — the one calendar event you actually need to see right now.
  • Contribution graphs — a GitHub-style heatmap of your streak, or anything you can express as a grid.
  • Countdowns — days until a trip, a launch, a birthday.

And within the rules, there are real design tricks that make these feel alive without needing live code:

  • Data-driven colors — a rule that recolors a value by where it falls, like a temperature going warm-to-cool or a background that follows your battery level.
  • Gauges — rings, arcs, and speedometers that turn a single number into a shape you read instantly.
  • Heatmaps — a grid of cells driven by one value or a series, great for streaks and calendars.
  • Gradients — subtle depth on a foreground or a canvas background, so a tile looks designed rather than plain.

All of these are precomputed when the snapshot is built, which is exactly why they work inside Apple's rules.

FAQ

Can iPhone widgets be interactive? Only in narrow, system-defined ways. A tap on most widgets opens the app; there's no general support for buttons, typing, or scrolling inside the widget itself.

Why doesn't my widget update in real time? Because iOS shows a pre-rendered snapshot and refreshes it on a system-controlled schedule to save battery. A short delay is normal and applies to every widget, not just one app's. Here's how the refresh works.

Why does the battery widget jump by 5%? Because the iOS battery API only reports the level in 5% steps. Every app gets the same coarse number — there's no finer public reading.

Can a widget change what it shows based on conditions? Yes, as long as the condition is precomputed — threshold colors, ranges, value-to-color maps. What it can't do is decide something new at the exact moment you look at it.

Does WidgetAI support large widgets? Not yet — small and medium today. That's a limit on our side, and large is on the roadmap.

Build within the rules, honestly

The best widgets aren't the ones that fight the platform — they're the ones that fit it. WidgetAI is a chat-driven builder, so you describe the widget you want in plain language and the AI designs it within these exact rules. It won't promise you a live ticking clock or a button that isn't possible; it builds the glanceable, always-there tile that iOS is actually good at. If you're curious how that works, we wrote up how the AI builds your widget.

You get 3 widgets and 20 AI edits a month free. Pro, as an in-app purchase, lifts those limits and adds custom HTTP API connectors so you can wire a widget to your own data.

WidgetAI is made for iPhone and Mac, and it's available on the App Store. Tell it what you want to see at a glance, and let it build within the rules — honestly.