Just a quick note that since the betas (!) of macOS Ventura 13.0, configuration of 3rd-party widgets is broken, which, of course, means that Yoink’s widget’s configuration does currently not work, and I cannot do anything about it. Let’s hope Apple fixes it soon, macOS 13.0.1 didn’t bring any improvement in this regard.
Here’s a quick video of what I mean:
Again, in my testing, this not only was the case for Yoink’s widget, but a widespread issue over all sorts of 3rd-party widgets, although I do believe that dynamically app-supplied values work. It might only be static values that are affected by this.
At some point in iPadOS 16’s beta, this same bug occurred, but that was fixed before release. I guess the fix didn’t make it into macOS. Maybe it’s time for another “Back to the Mac” event.
UPDATE (Dec 14th, 2022)
This is still an issue on macOS 13.1 (22C65). Quite embarrassing for Apple.
UPDATE (Jan 24th, 2023)
macOS 13.2 (22D49) seems to have finally fixed the issue – although it *did* take an initial
killall Notification\ Centre
to kickstart the widgets after adding and configuring them. But after that, it seems to work reliably.
I’m happy to announce a new app today: Citator for iPhone and iPad. The brain-child of Clemens Bauer, Citator is a currently free app that lets you store, cherish and share memorable quotes.
Earlier this year, Clemens – whom I’ve known from the time we worked together on a local Apple Retailer’s customer loyalty app – approached me with an idea for an app to safe-keep quotes in. Previous apps he had used for this appeared to become abandoned, and he desired a fresh, modern approach.
A beautiful list you can filter or search to quickly find quotes you’ve stored before
Save Quotes from the app, or from any app using the Share- or Action sheet
In addition to the quote itself, you can specify the author of a quote, where and when it originated, and where you found it
Author’s images are automatically loaded from Wikipedia if available
Display a static quote you select on your Home- or Lock Screen (requires iOS 16) with a widget
Display a random quote (which can change in an interval of your choosing) on your Home- or Lock Screen (requires iOS 16) with a widget
Share quotes as text, or as beautifully rendered images
Pricing and Availability
Citator is currently free, available for iPhone and iPad on the App Store. The app requires iOS 15 or newer and is currently localized in English and German.
TidBits and Fun Facts about the App and its Development
The app is 100% SwiftUI, which, apart from a few SwiftUI widgets here and there for my other apps, marks my first fully-featured SwiftUI app. I’ve always said that learning something new is always easiest on-the-go. That’s how I learned Objective-C many years back, it’s how I learned Swift, and now, it’s how I’m learning SwiftUI. But It’s been a struggle for sure, and I don’t know yet what to think of it. I do like parts of it. Yet I passionately hate that sometimes the simplest of things require workarounds upon workarounds. I’m not saying I know a lot about SwiftUI (I do not!), but as “the future of developing for Apple platforms” (paraphrasing here), it’s nowhere where it should be, in my opinion. You want different code-paths for different iOS versions in your @ViewBuilder? You’re entering a world of pain. You want to show a simple share sheet pre-iOS 16? Not available natively. You want to show a popover for a specific row in a list? Yeah, right, virtually impossible. There are a lot more like these, and it can be very frustrating. And I admit, I don’t quite understand the premise of SwiftUI. Years and years were spent on creating graphical user interfaces, to the point where, in Xcode, for example, one could drag user interface elements for the app you’re working on where you want them to be and have an options interface to configure them to look the way you desire. Now, the supposed future is going back to command-line-like interface programming for GUIs? Isn’t that a step back? For now, I’d choose Xcode’s storyboards and auto-layout over SwiftUI any time.
List Row Backgrounds
The background of a quote in Citator is a blurred, darkened (or lightened, in light mode) version of the author’s image. However, sometimes, there is no author specified for a quote, or an image cannot be found, which would render that quote’s background solid black or white, making it stand out in an out-of-place fashion. Luckily, I found an – in my opinion – elegant solution. I thought it would be neat to have a background image created from the quote text itself. I don’t know why, but the concept of the quote text itself creating its own, unique background felt fitting to me, especially for this app.
Colors can be represented as hexadecimal values (i.e., #FF0000 for red, #00FF00 for green, or #0000FF for blue). All I needed was to turn the quote text into a hexadecimal representation. The hashing algorithm MD5 takes data and creates a hash value of it, which consists of characters from A-F and from 0-9, which is the same hex color values consist of. So when no author image is available, Citator creates an MD5 hash of the quote text and a bit of “salt” for added randomness (the author and the date), splits it up into individual, 6-character/digit strings and uses those to create a blurred, darkened/lightened gradient background image.
I love how the widgets turned out. You can have static ones, where a quote you select will be displayed until you change it, and you can have dynamic/random ones, where the quote changes in an interval you define, with rules you set up.
I also adore the new Lock Screen widgets. Clemens in particular was very happy that widgets can now be displayed on the Lock Screen in iOS 16, and they are a perfect fit for Citator.
The quotes used in App Store promotional material
At first, I thought I’d use quotes from movies (like in the short video above, with quotes from the fictional characters Dr. Ellie Sattler, Dr. Ian Malcolm and Indiana Jones). But then I got worried about copyright issues and scrapped the idea. After a while of thinking about it, my mind wandered to Apple’s Think Different campaign, and that’s when I had the solution to my problem. All quotes featured in the App Store promotional screenshots are by personalities featured in Apple’s Think Different campaign, like Amelia Earheart, Orson Welles, Alfred Hitchcock, Joan Baez, Martha Graham and John Lennon.
Clemens and I hope you enjoy Citator. There’s more cool stuff yet to come!
When I revamped my setup early this year, I struggled with getting a lamp for it. For one, the desk is rather large, and I wanted something that could illuminate it all pretty well, without having to get two lamps, which would have been overkill. Secondly, I wasn’t sure I really needed any additional light in the first place. With a glassy double-door, the office gets a lot of natural light, and in the evenings, I do have the “normal” lights I can turn on. I even looked into some options and was close to purchasing the BenQ ScreenBar, but decided not to in the end – just because I wasn’t sure I really needed it. But now that I’ve been using the BenQ ScreenBar for more than a week and a half, I do know better.
The packaging is pretty simple and instructive. There’s three parts: the ScreenBar (the light source), the clip (which holds it up on your monitor), and the USB cable. Each item is annotated with useful information, so there’s really no need for a manual – which, if you still need it, you can get via the printed-on QR code.
Setting it up
My external monitor is an LG 27UN880-B, which I’m able to pivot, rotate, tilt and elevate. I was a little worried that the monitor’s ergonomic arm wouldn’t be able to handle the additional weight (the ScreenBar’s specifications say it’s just shy of 1 kg total (bar and clip), but I worried for naught.
You really just have to place the ScreenBar on top of your monitor, plug in the USB cable and you’re done. Speaking of which, that is one long USB cable for something you probably plug into the monitor it sits on top of (1,5 meters).
I decided to use the thing the cable came wrapped up in to tie a bit of it up, because I don’t like loose cables hanging behind my screen – problem solved. The good thing about the length of it is that I don’t *have* to plug it in to my monitor’s USB port. I could also plug it in to my Thunderbolt hub, and leave the monitor’s plug free for quick access when I need it. I prefer a cable that’s too long over one that’s too short, anyway.
Using the ScreenBar
I’ve been using the ScreenBar mostly with the Auto Dimmer running. It automatically adjusts the brightness and color temperature using its light sensor. And here’s the only minor “issue” (if you can call it that) I discovered using it: the automatic adjustment doesn’t happen smoothly, but changes to the new temperature and brightness right away, which can be a bit jarring. On a cloudy day, where the light outside changes all the time, it becomes especially noticeable. But there’s a solution for those cases: turn off the automatic adjustment – which is done with a single tap.
With the buttons on top, I can quickly adjust the brightness and color temperature myself, which disables the Auto Dimmer.
The ScreenBar, according to the documents, was designed to avoid screen glare, and it does that very well. What I find particularly nice is that you can “roll” the ScreenBar further to or farther from your screen:
And even though I have it turned all the way towards me, it doesn’t blind me. I’d have to lean in pretty far and down to be able to see the LEDs.
To give you an impression of the “power” of the ScreenBar, here are four stages of lighting in my office (during daytime, with the blinds closed):
Even with the room lights on, the ScreenBar very noticeably illuminates my work area.
Again, I received the ScreenBar for free from BenQ, in “exchange” for my honest opinion about it. I seriously doubt I’d like it any less if I had had to pay for it – which, now, I wish I purchased it earlier.
It’s a great addition to my setup. It rests on top of my screen without taking up unnecessary desk space (my desk is crammed as it is, even though it’s huge) and gives me light exactly where I need it – and beyond – when I need it. The very minor, nit-picky “gripe” with the jumpy automatic brightness/temperature adjustment aside, I really couldn’t ask for more. It’s exactly what I want in a desk lamp.
I’m particularly looking forward to using this in the winter. It’s summer when I’m reviewing this, so, as I said, there’s lots of natural light, all the way into the evening, but come winter time, this thing will really shine. It’s already proven a fine companion during late-night coding sessions.
Be sure to check it out (see the links below), I do find it very useful.
I usually don’t leave comments open for my posts on my blog in fear of spam & co, but for this, I’m making an exception, in case you’d like to ask any questions about it. You can also ping me on twitter, or by mail.