I would have to be real silly to be crunching to ship @broadcastsapp for the visionOS launch, huh?
…👀
Finally going in and putting together the systems to enable Broadcasts’ switch to a subscription model. Still have a lot of UI to redesign and re-word, but successfully subscribed using my sandbox account so that's a win so far.
As a reminder, existing users won't need to switch to subscription — if you've bought the app, you've bought the app, and that purchase will last for several years to come. New users will be offered subscription pricing
Came across these screenshots from August in my screenshots folder and realized I'd completely forgotten I had a big @broadcastsapp iPad redesign underway before I got distracted with iOS 17 🤦♂️
I have a whole year of sales data for @broadcastsapp on visionOS now!
In total, six full copies of the app were purchased on the platform in the past 12 months, and it has about 400 users total there.
This is my best-performing app on Apple Vision Pro, and it took about seven months of work to create 🤡
Apple offered a pat on the head in lieu of a devkit
Complete double-take while browsing Apple's Developer site.
"…hey, wait a second, I know that app…"
Threading the needle on targeted if statements that won’t also break the app across older OS designs on Mac, iOS, and visionOS 😂
This may not be the UI layout I ship, but I’m opting in all my custom views into the new stuff to see where that gets me before I start worrying about making decisions
If I were making my living on designing app icons, I would be pretty upset with Icon Composer. Apple has gradually defined whole classes of designers out of existence throughout this era, but this is a K.O.
As a developer, though, this stuff is great!
Alternate Broadcasts layout, should all the bottom toolbar stuff stick on macOS.
When you see it all laid out like this, I'm almost surprised Apple didn't make macOS more like visionOS, and move the sidebar and the bottom bars out of the window chrome like visionOS' ornaments
I have reduced Broadcasts to its platonic ideal on iOS 26 😜
Trying to shoehorn all the new stuff into my existing view controller hierarchy was just overcomplicating things; I'm going to start over from first principles, and I think that means using the modern iPad (/mighty morphin') tab bar structure that I so hated upon its introduction last year. But I think it makes a lot more sense now, now that there's a spectrum across device sizes
If you've never really considered the complexity in updating an app for a new iOS release over the summer, welcome to my hell:
I'm currently working on two completely different versions of the UI in Broadcasts. One, using the old layout, which needs a reasonable amount of fixup. And another, using a new layout using all the newer APIs, currently very broken and is going to need a mountain of work to finish, and from my initial experimentation looks like it's unable to do all the things I want
Will I ship the ambitious rewrite that won't be as pretty but will be way more flexible for folding phones? Or will I ship the battle-tested existing UI that doesn't handle transitioning from small to large mode very well, and won't have a good solution for the 'middle' posture the platform now demands? I really don't know right now. Many of the APIs are unfinished and/or broken, so it's really up in the air. I will have to progress *both* far enough to make a decision
Speaking of rewrites, this redesign is finally going to push me to finish rebuilding my playback bar in UIKit. It now has to scale down a size class further to handle the new iPhone tab accessory mode, so it makes sense I do this here rather than in the doomed SwiftUI version.
My codebase basically has at least two versions for every view controller you see onscreen, either as new un-shipped versions, or versions I replaced a while back but never fully ripped out. I can sense a clean-out coming
So what if I sacrifice the morphing tab bar, but hide/show a tab bar when the sidebar is opened/closed instead? That way I can keep my custom sidebar logic and ornamentation, but also have a unique middle posture layout 🤔
It's an option — probably the most sensible one — but I'm undecided
There comes a moment in every major update you build where your app really starts to fork from the previous version and it becomes hard to imagine going back. I'm starting to feel that way about Broadcasts 4 now. At the time everything I did felt like tiny changes, but looking back now I'm like "wait, I did all of that since June?"
The question remains, will anybody actually like what I've done, or was I on the wrong path from the start 😅
The most important thing I need to do for Broadcasts 4 is move the monetization to a subscription model (for new users only), something I've been talking about for way too long at this point and just been too afraid to pull the trigger on.
And I think part of that is going to involve making the app iOS 26-only — if I'm going to offer subscriptions, I don't want that to tie me down to supporting older versions of the OS indefinitely, when this is very clearly a line-in-the-sand update year
There is an alternate timeline where this is what became Broadcasts 4. A timeline without crunching for six months to port to visionOS, without despair at an iPad platform vision with seemingly no future, without disgust at Apple's handling of antitrust issues, all of which combined I lost a good 18 months to
@stroughtonsmith how do you receive the detailed track metadata / cover?
I have something similar for Shortwave, would be neat to have extended metadata for tracks there as well :)