_inside@mastodon.social
_inside@mastodon.social

🧵 Since this feature got sherlocked before I even launched it, here are a few demos I captured a while back of the desktop widgets feature I've been working on for @airbuddy for over a year 😂 (I'll probably still ship this for macOS 12 and 13)

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

One of the biggest challenges was dealing with other things obstructing the widgets and vice-versa. Here’s how I handled the PiP window, AirBuddy's own Action HUD and changing the Dock position

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

Something I like about my implementation is the ability to use a pinch gesture to change the size of the widget, and the subtle jell-o effect when dragging them for rearranging. There's a satisfying haptic feedback on the Magic Trackpad/Mouse when they detach. This demo also shows the same set of widgets being mirrored between separate displays (but they can be configured to have different sets on separate displays)

|
Embed
Progress spinner
karlis@hachyderm.io
karlis@hachyderm.io

@_inside this is the first time I’ve noticed Ivory not displaying inline videos.

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

Here's how I implemented the configuration, borrowing a lot from how they worked in Notification Center

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

But definitely my favorite part about the project is my Now Playing widget, which uses subject detection in the artwork in order to create some interesting transitions and UI effects

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

And here's my Now Playing widget in the small variant, where the controls are themed according to the artwork and blend with the subject in interesting ways

|
Embed
Progress spinner
ctietze@mastodon.social
ctietze@mastodon.social

@_inside this looks very slick!

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

I started on this project because when Apple brought WidgetKit to macOS, it pretty much ruined my ability to have decent AirBuddy widgets, so the solution was to come up with my own system. Hopefully WidgetKit has improved enough in macOS 14 and I'll be able to adopt it and use my own system only for previous OS versions. We'll see…

|
Embed
Progress spinner
Edcontente@mastodon.social
Edcontente@mastodon.social

@_inside ficou bem bonita essa transição, parabéns!

|
Embed
Progress spinner
jeanetienne@mastodon.social
jeanetienne@mastodon.social

@_inside wow! That’s some next level attention to detail and dedication. I wish one day to work on something like that!

|
Embed
Progress spinner
bmpitzen@mastodon.social
bmpitzen@mastodon.social

@_inside @airbuddy this work is amazing! You definitely put a ton of thought into the little things and I hope to see your work on my computer at some point soon!

|
Embed
Progress spinner
quarterswede@noc.social
quarterswede@noc.social

@_inside That is Apple level of awesome. Excellent work!

|
Embed
Progress spinner
tomk@social.lol
tomk@social.lol

@_inside Whaaat! That transition with the subject is too cool.

|
Embed
Progress spinner
vrmchk@mastodon.design
vrmchk@mastodon.design

@_inside woah, looks sick 👌

|
Embed
Progress spinner
SamTheGeek@mastodon.social
SamTheGeek@mastodon.social

@_inside honestly that widget alone could be a product release

|
Embed
Progress spinner
samspencer@mastodon.social
samspencer@mastodon.social

@_inside That transition is amazing! How did you manage to couple subject detection with it, and do it so fluidly?

|
Embed
Progress spinner
via@myf.one
via@myf.one

@_inside that’s awesome… but more importantly are you a Twice fan???

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

@via I wouldn't call myself a fan, but I listen to a lot of K-Pop, including Twice 😅

|
Embed
Progress spinner
_inside@mastodon.social
_inside@mastodon.social

@samspencer It happens asynchronously (of course) and the widget delays showing the next track until the artwork layers are ready, which usually takes under a second. If it takes too long, the widget skips the transition altogether. Both subject detection and color cube results are also cached for each artwork it displays.

|
Embed
Progress spinner
scifi451@mastodon.social
scifi451@mastodon.social

@_inside @airbuddy love these features. Do hope you still ship them!

|
Embed
Progress spinner
jordanborth@mastodon.social
jordanborth@mastodon.social

@_inside wow this all looks really great!

|
Embed
Progress spinner