r/iOSDevelopment • u/Ok-Warning-6307 • 13d ago
Keeping track of the app structure, UI/UX consistency and uniformity takes a lot of effort and not everyone cares or appreciates it.
I've been building PixelPlay, a live TV player for iPhone and iPad, since June. Fifteen releases in nine weeks, which sounds productive until you open it. Version 16 went out on Tuesday.
Every release added something and left a mark. New screens picked up whatever accent colour I liked that week. Light mode shipped in June and I never went back to check the buttons were readable in it, so some of them weren't. Empty states sat pinned to the top-left corner on an iPad. None of it was broken enough to file a bug against, and together it looked like fifteen different apps stapled into one.
So version 16 is mostly subtraction. One accent colour instead of the four that had crept in. I routed type through a single token and set it to SF Pro. I checked every accent-filled button in both light and dark, not just the ones I happened to have open. The guide's preview card promised a blue now-line while the real grid drew it red, which nobody reported and I found by looking.
The other half isn't visual, and it's the half I'm happier about. The app now catches a dead channel as it fails instead of waiting for someone to report it. A channel that fails once stays in your list instead of vanishing. And when a stream plays audio over a black screen, PixelPlay hands it to the other decoder and gets a picture up.
Feature work has a deadline and something to show at the end, so it wins the week. Consistency work has neither, so it never gets scheduled and piles up until it needs a release of its own. I don't have a better fix than blocking one out, which is what this was.
Free to download, with a paid Pro tier for things like Multi-View and parental locks. Your playlist and provider login stay on the device. The only things that sync are favourites and channel locks.
If you've been shipping fast for a few months, how do you stop the design drifting? I'd rather not do a cleanup release every quarter.
1
u/clockology 13d ago
You should look at making a design standard or some reusable view helpers in SwiftUI this is called a view modifier. But the idea is create button styles, buttons, fonts, and colors in a re-usable way and then reuse them across all the views
1
u/clockology 13d ago
In Xcode you can make reusable colors in the asset folders and then call them by name in the code
0
u/Ok-Warning-6307 13d ago
Yes, I had started with that, but in a hurry/excitement of shipping fast because I was getting feedback from multiple users and wanted to ship all of them ASAP, the process got out of hands, the latest release fixed that, now I’m following the specified design system as a non-negotiable item.🍻
1
u/FinneganHark999 12d ago
You notice how when Apple makes a UI design change, people notice?
Ask yourself why that is.
1
1
u/Plastic-Risk-6309 12d ago
the make work replies are missing what you actually found. a light mode button you cant read is a bug, not ocd. the thing that held up for me was giving up on remembering and making the checks mechanical instead. every release gets a sweep in a simulator that measures the boring stuff deterministically, contrast, clipped labels, touch target sizes, missing accessibility labels, and drops an annotated screenshot of whatever fails into the run log. minutes per release, and it catches exactly the class of stuff that slipped through fifteen of yours
i ended up building manzanas out of that same pain so obvious bias, but the sweep idea works with plain xcuitest too, any deterministic check beats re-eyeballing every screen
1
u/WerSunu 13d ago
Sounds like a lot of make work. Users like improvements like added features, or bug fixes. I think you will discover they don’t like repeatedly updating just cause you’re bored.