Making an editable Label with SwiftUI

Let’s say you’re showing the user a list of sidebar selectable categories. These categories appear on the sidebar as SwiftUI Labels and, depending on the one selected, the app will show one view or another. So far, so good… But what if the user would like to rename one of the categories? Ideally Label would have …

Iterating on MarsManaged Palette & Icon – First Round

With MarsManaged edging closer to feature-complete, today I took some time to start iterating over color palette & icon concepts.  First, lets talk about the palette: The premise of the app is that you’ll be as productive as future martian generations will be. With that in mind, when it comes to the color palette of …

Looking back at 3 years of NewsWave

With its retirement approaching, here’s some trivia about NewsWave:  ONBOARDING  – 70% of users that downloaded the app ended up creating an account. That was a huge increase from the 20% I was seeing initially. Below the new onboarding flow that premiered with 2020.1 -old icon included-. FEEDS – NewsWave continuously monitored 4,382 feeds for updates.   …

Blog migrated to new server

If you’re reading this post it means the server migration went well & this blog is now running from a California datacenter.  Also, took the opportunity to update from Debian 9 to Debian 11 so I don’t need to worry about EOL until June 2026.  Crossing fingers. Until next time,  Marc

MenuBar Items in SwiftUI

Before SwiftUI you would easily add, change or remove menuBarItems from your app Storyboard. With the transition to SwiftUI however, there’s no longer a StoryBoard file to edit… So, what now? After the initial surprise, and having spent a few hours reading documentation… It’s actually a very straightforward three step process: 1. In your @main …

Preventing edits in TextFields unless cell is selected

For the ToDo section in MarsManaged, the goal is for the user to see and quickly manage their upcoming tasks.  The user should be able to easily tweak bookmarked tasks, set target dates, complete or delete them. Now, given that each cell is composed of multiple editable TextFields, it’s important to prevent unintended editing on …