State of my Apps, hot summer 2023 edition

September 6, 2023

When it comes to the summer period that is coming to an end, the work I was able to put into my apps was much less than I would have hoped for after WWDC wrapped up. The experience Riccardo Mori eloquently described in the first part of a recent blog post reflects mine as was as painful to read as it was to live: it’s been so excruciatingly hot in Northern Italy that I have been able to tackle much less than I usually do during the summer, instead devoting most on my energy to long, fun and very instagrammable walks with Milla early in the morning, before the sun took away my drive to do stuff.

On a professional level, the limited progress I feel I made is kind of a bummer, with the feeling of having misused many potential hours of work. Taking stock of the progress of all my projects is something that therefore makes sense for me to do right now, to hopefully have a more productive sprint before Christmas, which if we’re honest is just around the corner. If you’re interested in any of my apps, or curious about the indie experience’s ups and downs (consider this a down), this post might be of some interest to you as well.

Version 4.1 of my IP camera viewer GlanceCam is coming along and will be ready for Sonoma on day one; what matters the most to me is that the most used app I work on is already 100% compatible and reliable on the upcoming version of macOS (I’ve been running the betas on my main machine all summer to be sure there were no hiccups), but the feature-set of the next update will not be vast: a few bug fixes, additional AppleScript commands, customisable double-click behavior for GlanceGrids (send the whole grid full-screen, or just the selected camera, or again spin up a separate window for the selection) and 90/180/270° rotation support.
My hope for August was to also make progress on ONVIF support, but I haven’t been able to touch this extensive and challenging protocol.
I also had a wild dream to devote the hot months to GlanceCam for visionOS and did submit a request for a developer kit, but I haven’t heard back and that’s a sign I’m willing to accept that my focus should be devoted to more commercially viable projects in the near future.

Link HUB, my URL dashboard with widgets app, is also in a reasonably good place: I’ve been testing the app, widgets, and lock-screen widgets on iOS 17, iPadOS 17 and Sonoma and everything looks good, without the need of a compatibility update: there are scenarios, like with the Desktop widgets on macOS, where the default contrast might not be perfect depending on the wallpaper, but all widgets already offer a High contrast option that is sufficient to address those scenarios.
I’ve also thought about interactive widgets – clearly, the new shiny things this autumn – but honestly Link HUB is first and foremost a launcher, so I don’t really see a use case for them. Yet.

Thorough iOS 17 and iPadOS 17 testing also confirmed that both PhotosUpload, my niche app for uploading photos to FTP servers, and my iPhone pedometer Walk More are working fine without needing specific updates for the new OSes.

MousHero, the Safari extension to trigger URLs from the browser that I shipped just a few months ago works well on Sonoma and isn’t demanding much attention right now (or ever again? It’s basically done, which is not something I’m used to with my other projects), but I still have a challenging bug to investigate as soon as I will find the time: sometimes the contextual menu item is not displayed until the MousHero icon in the Safari menu bar is activated once, which is something I’ve never seen Safari extensions require and that doesn’t really make sense to me, happening in such random fashion.

Before discussing what’s next for my other apps, I would like to address another major hindrance to my productivity (and spirit), and something I’ve meant to write about in the hope of providing some help to fellow developers googling for a similar obscure issue: in early August I started experiencing a code-signing issue when trying to submit a minor update to one of my Mac apps (TameTime), which quickly turned into a major roadblock to shipping updates for 3 of my desktop projects, including GlanceCam!
What happened: when submitting any update from Xcode (14.3.0…15b8), the binaries successfully uploaded, but a few minutes later I systematically received an ITMS-90238: Invalid Signature + ITMS-90296: App sandbox not enabled rejection email that explicitly referred to the embedded helper app I’ve been using for years to provide a Launch at login functionality, and that obviously has always been sandboxed and signed.
I am sure this rejection is caused by server-side changes on Apple’s analysis of the binaries after submission because reverting to previously approved versions of those apps and submitting them with older versions of Xcode (i.e. 14.3.0) is still to this day causing the same delayed rejection.
This issue has been pretty scary (again, I wasn’t able to submit any updates to my apps) and demotivating, but it was also too hot to fight against a black box, so I kept circling around it hoping for a breakthrough, mostly focusing on a blog post from John Brayton that referred to a strikingly similar situation (same ITMS error codes emailed after successful uploads), even though in the end it proved to be a different problem from his.
Luckily, in the last couple of days (thanks to lower temperatures and renewed energy) I have been able to work around that rejected binaries issue: I still don’t know what changed in Apple’s SPI review process, but I figured that taking out my embedded helper app from the binaries and replacing my (established and so far perfectly fine) manual approach with a well respected and widely used library from Sindre Sorhus could help, and as a matter of fact it does; clearly the LaunchAtLogin library handles the procedure better, in a more compliant way than my previously fine – but likely borderline – approach.

This lateral success finally unlocked a couple of small updates to my other Mac apps that I had put together during my August holiday and that have been successfully approved by Apple today:

  • ClipBar 1.6 allows Users to manually reset the menu bar’s pasteboard preview (the utility’s purpose is to display what you last copied in the upper right corner of your screen, with some additional bells and whistles) by right-clicking on the app in the menu bar and selecting Clear ClipBar; this does not erase the content of your Mac’s pasteboard but removes the preview from the menu bar, which in some cases can be useful for privacy reasons. Special thanks to connectionfailure’s App Store review for suggesting the feature!

  • TameTime 1.5 also includes two new features, both recommended by Kenneth, whom I thank for helping me improve my utility to fight RSI and remember to move around: it’s now possible to manually reset the timer by clicking on TameTime in the menu bar and selecting Reset timer; most importantly, Users can now set custom and independent flash-screen messages for the Minor and Major alerts, or omit them completely and only have the 3-seconds dark screen as visual clue to take a break.

It’s a secret I cannot mention in their release notes, but both these apps also work great on Sonoma.
Sadly, though, there’s also a catch to the updates above (and most likely it will be an annoying reality that will also apply to GlanceCam 4.1): due to the fact that I needed to replace the Launch at login mechanism, Users who previously set those apps to open automatically when their Mac started will need to manually re-enable that behavior. I don’t love this, and I mention it in their release notes in the hope of causing limited disruption, but at least I was able to move past that super-worrying submission block and now these apps are “in the right section” of macOS Settings, which is more professional and therefore a welcome bonus at the end of this ordeal.

Finally, there should be another project on this list: early this summer I started working on Quee, an app that has been on my mind for years and a possible playground for improving my SwiftUI experience and especially testing out SwiftData; the idea behind Quee remains interesting to me, especially with the upcoming Journaling APIs, but I must admit development quickly stalled (the fact that SwiftData surprisingly doesn’t support inheritance didn’t help) and I have so much going on already that’s impossible to also devote time to a new project in the immediate future. Maybe if it had not been so hot…

Ventura updates for GlanceCam, Link HUB, ClipBar and TameTime, plus an iOS 16 update for PhotosUpload

October 23, 2022

I’m happy to announce that all my Mac apps have just been updated for macOS 13 Ventura, which launches tomorrow:

  • GlanceCam 3.6 works great on macOS 13 Ventura and is amazing in combination with Stage Manager, behaving exactly as you’d expect: with Always on Top enabled, your cameras remain visible in all Stages, just like they did (and do) with Spaces; if you don’t use Always on Top in combination with Stage Manager, GlanceCam behaves like all other apps, moving to the side when you switch applications… but your camera preview remains live on the left sidebar even when it’s not on the main stage!
    This version also introduces an optional Zoom feature that’s been requested by some Users a while back (thank you both for the suggestion and patience, Gretar and Olof!); you can find out more about how Zoom mode works in GlanceCam in the release notes.

  • Link HUB 2.2.1 has been tweaked to be the best links manager and launcher on the latest version of macOS.

  • ClipBar 1.4.2 is a minor update – just to smooth things out for Ventura – to my utility for viewing the content of your Pasteboard from the status bar.

  • TameTime 1.4.2 perfects macOS 13 compatibility of my status bar utility built for reminding you of taking regular breaks, so you don’t spend too much time sitting at your computer and risk compromising your health.

And since pushing 2 GlanceCam versions in one week, plus Ventura updates for all three other Mac apps currently in my portfolio wasn’t enough, PhotosUpload 1.4.1, my FTP uploader for iPhone and iPad, has been updated for iOS and iPadOS 16 too!

ClipBar 1.3

December 2, 2020

A couple of days ago ClipBar 1.3 became available in the Mac App Store with two handy features:

  • You can now share the current content of your pasteboard (be it text or an image) to other apps with the share button in the lower left corner of ClipBar’s popover (which appears when you click on the app in the Menu Bar).
  • ClipBar popover is now more effective when you have copied a bunch of text and want to keep only part of it: when the popover is visible, select the text you want to keep and either right-click and copy, or hit CMD+C.

I can’t express how grateful I am for how ClipBar has been welcomed: the app has reached over 180 upvotes on Product Hunt, pretty cool for a nerdy utility!

ClipBar's cool week

November 29, 2020

Busy week for ClipBar: Pasteboard Viewer, my new app that allows to quickly check what’s in your Mac’s pasteboard before actually pasting:

  • The app launched 5 days ago.
  • The next day, version 1.1 added the ability to view the untruncated pasteboard text by hovering the mouse on the app in the Menu Bar, and also fixed the inevitable bug that had to creep in before shipping version 1.0.
  • Yesterday ClipBar gained unexpected attention on Product Hunt, where it currently has 98 upvotes, an astonishing number for such a nerdy and niche utility.
  • Today I submitted a more significant update to Apple for review, and I am happy to announce that version 1.2 has already been approved!

Here’s what’s new in ClipBar 1.2, that you can already download from the Mac App Store:

  • A new popover appears when clicking the app in the Menu Bar, allowing to preview images & display longer texts/paths without truncating them (with the additional benefit that you can extract part of the copied text instead of pasting everything and then deleting what you don’t need…).
  • ClipBar now tries to conceal passwords, thanks to an agreement between some software developers at NSPasteBoard.org; while this is not perfect, nor 100% reliable as explained in the onboarding of the app, it improves privacy. But - to be 100% clear - this feature does not remove the need for you to evaluate if an app that keeps your pasteboard’s content in plain text on screen is acceptable considering your working environment, your employer’s rules, and your screen-sharing activity.

I am very happy for the unexpected interest in ClipBar. I can’t say I have a thousand more features to add, but stay tuned because a couple of ideas I’m cultivating might prove to be nice features!

ClipBar's great day on Product Hunt

November 28, 2020

A few days ago, my friend Chris made me the nicest gift and hunted my new app ClipBar on Product Hunt 😸.

Today, totally out of the blue, the app gained momentum on PH and – while I’m writing this – it has reached 60 upvotes, which I consider amazing for such a niche product!

If you’re into PH, and you should because it’s a lovely community centered on building up people and ideas, please take a look, let me know what you think and consider sharing it and/or showing your support with an upvote: I’m really proud for Clipbar achieving this unexpected result after less than 4 days from its under-the-radar launch, and I am working to release version 1.3 tomorrow, which will include a popover for previewing long text and images.

I almost forgot, ClipBar is available on the Mac App Store!

A small new Mac app, ClipBar: Pasteboard Viewer

November 24, 2020

As I mentioned on Twitter a few days ago, my brain has found a creative way to sabotage the work on my main app GlanceCam: instead of being plain unproductive, 🧠 screams 🐿 in different directions, knowing that I will eventually start the chase.

So, here I am to introduce you to my latest diversion, ClipBar: Pasteboard Viewer.

ClipBar is a small macOS utility that allows to quickly check what’s in your Mac’s pasteboard before actually pasting; if you have ever wondered what was the last thing you copied, this app is for you.

ClipBar lives in the Menu Bar and shows the last item you copied: if it’s text, the corresponding string is displayed (you can set the maximum length shown and where to clip the text if it’s longer: at the beginning, in the middle or at the end); for files, it shows the full path; and, finally, it displays the size of the images you copy. All this, with optional emojis 🎉.

I’m finding the ability to quickly glance at the content of my pasteboard surprisingly useful, and I believe it’s making me both faster and more accurate in my work, from emails to writing and programming.

The app is modern, small and efficient and works natively on Intel Macs and on Apple Silicon, being a good citizen both of Big Sur and of previous versions of macOS (starting with High Sierra); it’s not a clipboard manager, but it can complement yours, if you use one (for me, it’s Alfred).

Since your pasteboard’s data might be very sensitive, ClipBar only works locally on your Mac: no sync, to 3rd party libraries or frameworks, no analytics… actually no Internet connection at all! The app is fully sandboxed and does not persistently store your pasteboard contents on disk: it only keeps the last item in RAM while the app is running. More details con be found, in plain English, in the Terms of Service and Privacy Policy.
Speaking of terms, there is one thing that you should carefully consider before starting to use the app: ClipBar displays on your screen, in plain text, the last thing you copied, and that might include passwords or other privileged informations; if you work around other people or screenshare a lot, you need to evaluate if this is the right app for you, or at least remember to quit it before having collegues look at your screen. When you launch the app the first time, you can find more informations about this, to help you make a more informed choice.

I’d love for you to try ClipBar today, and maybe tell your techy friends about it! You can already find it in the Mac App Store, where it costs very little money – with no subscriptions or in-app purchases and, again, the peace of mind of knowing that your pasteboard’s content will remain securely confined on your device while being easily glanceable!

Where am I?

In sunny Italy ☀️ 🇮🇹