Self-taught iOS Developer | Documenting my journey from Business Administrator to iOS dev #100DaysOfSwiftUI | Building UI components and automation tools.
@168888888888888 I really like the 'trend' concept with a sparkline! However, since this is a purely time-based focus timer (e.g. 'Study 60 mins'), time flows linearly. There’s no pace to track here. The % and progress bar just give you the satisfaction of completing your focused time block.
Designing a popover for a macOS menu bar app is tricky. You want it clean, but full of data.
I’m building a stopwatch where clicking it reveals this UI to track your actual goal completion %
Devs & designers: how does this UI feel to you?
#SwiftUI#macOSDev#BuildInPublic
@buildwithsubhan "Small surfaces punish clutter fast." Going straight into my design notes. I'm reworking the first view so it's just the timer and goal progress, with the laps one tap away. Thanks for the advice, Subhan
@AdFlow_ps That 'one number at a glance' rule makes perfect sense for menu bar apps. It's so easy to cram too much data into the popover. I'm going to redesign it so the goal % takes center stage and the rest collapses. Really helpful, thanks.
@FaithfulGodwinC Appreciate the feedback! I've been building these neumorphic components from scratch. Contrast and font weights are definitely the next thing on my list to polish. Glad the overall flow works for you!
@iamvishal16_ios Such a solid point! If the Goal % is the only thing shouting, would you hide the lap times behind a simple toggle icon, or just make the whole section tappable to expand? 🤔
I was looking for a small animation to make my macOS timer feel less boring.
Then I thought: “Wait… I already have an advanced metallic T-Rex”
So Rexy is getting a new job.
3 states ready. Figuring out how to bring him to life up in the menu bar!
#indiedev#macOS#SwiftUI
Building a menu bar timer in SwiftUI? Watch out.
MenuBarExtra ignores .frame(). Fast updating text constantly resizes, pushing all your other menu icons around.
The fix? Drop down to AppKit and use NSStatusItem(withLength:)
#macOSdev#SwiftUI#buildinpublic
Before vs After 👇
If you want to implement this, you have to ditch MenuBarExtra and set up a classic AppDelegate.
Here is the snippet reserving that strict 75px block using AppKit so the macOS system respects the layout. No more bouncy icons.
#macOS#indiedev
@leejihoondd I'm updating it every 0.1s right now. I'm using a monospaced font for the time, so I haven't noticed the width jumping. I actually didn't know that was a common clock UI problem 😅 I might switch to .monospacedDigit() though.
Tried a bunch of App Store apps, but none fit my "methodical study pace".
So I started building my own macOS stopwatch!
The idea: keep elapsed time visible in the menu bar so I don't lose focus.
Still a work in progress. ⏱️
#buildinpublic#SwiftUI#macOSdev#indiedev#macOS
@Altawesomeee Glad I could save you from that subscription! The native tools are surprisingly powerful once you dig into them. Let me know how the .atlas approach works out for your next UI pass!
No third-party tools needed for sprite animations. I almost paid for Texture Packer, but Xcode handles this natively for free. Drop your image frames into an `.atlas` folder and SpriteKit does the rest.
A quick look at his annoyed motion! 👇
#buildinpublic#iosdev#macdev#swift
Here's how it's structured under the hood.
Organizing states into native .atlas folders kept it clean. Combining that with a custom DialogueEngine & breaking behaviors into extensions (RexScene+Behaviors) was a game changer for readability.
@Altawesomeee Honestly, as a beginner, it took me a solid 3-4 hours just to dial in the rotation math! 😅 Then I spent another 2 hours on the UI polish. It was definitely a lot of trial and error with the parameters until it finally felt smooth and not janky.
Trigonometry in UI design is so satisfying.
I’m building this app in #SwiftUI using sin/cos for the circular motion. Removing image backgrounds ( macOS native tools!) made the whole thing feel 10x more premium. Getting closer to a "vendible" app
#buildinpublic#iosdev#uidesign