Alan.app – Add a Border to macOS Active Window

(tyler.io)

87 points | by donatj 8 hours ago ago

54 comments

  • smcleod 5 hours ago

    This has been a serious problem since macOS Tahoe. Whoever signed off on the UI for Tahoe needs a serious schooling in UI/UX design principles - it's incredibly hostile to users. Not only does it make it impossible to distinguish between overlapping windows as this tool seeks to mitigate, there's many confusing UI elements and lack of contrast not to mention why it has so much padding on everything - you're left with far less usable space.

    • gyomu 3 hours ago

      > Whoever signed off on the UI for Tahoe needs a serious schooling in UI/UX design principles

      Their background is in marketing/packaging/retail design, and they were at Kate Spade before Apple.

      https://a-g-i.org/user/alaindye/

      It’s not too much of a stretch to imagine why someone from that world would prioritize things looking good in promotional photos/videos, and not care too much about human factors and fundamentals of interaction design.

      • varenc an hour ago

        Notably, their name is Alan (or sometimes Alain), which might be where this app gets its name?

    • itopaloglu83 2 hours ago

      Similarly, when you switch to another app via command+tab, the keyboard events are being sent to the previous app for a couple of hundred milliseconds.

      I cannot remember the number of times I quit the wrong app because of this or pasted something to the wrong window. I genuinely have to wait a second on every app switch.

    • charles_f 3 hours ago

      Apple has favoured looks over function for quite a while now.

      • linguae 2 hours ago

        Indeed. Here’s an article from Don Norman, author of The Design of Everyday Things and former Apple employee, that talks about Apple’s decline in usability back in 2015:

        https://www.linkedin.com/pulse/why-apples-products-so-confus...

        Apple had usability experts like Bill Atkinson (RIP), Larry Tesler (RIP), Bruce Tognazzini, and Don Norman. At one point, what differentiated Apple products from competitors was Apple’s focus on usability and consistency. However, it seems that sometime during Apple’s revival under Steve Jobs, there became a big focus on appealing design. Beige desktops and black laptops gave way to colorful desktops and metallic laptops, and the Platinum interface was replaced with Aqua. Nothing was wrong with this; in fact, this was peak Apple, IMO, with usability and visual appeal. But somewhere along the line, Apple lost the plot. Apple became less about usability and more about visual appeal, but with usability taking a hit.

        To be fair, Apple makes world-class hardware, and I still prefer macOS to its competitors. The problem is that I prefer 2000s Mac OS X and even the 1990s classic Mac OS (from a UI perspective, not necessarily a UX perspective due to stability issues) to modern macOS.

      • ori_b an hour ago

        They stopped favoring looks recently.

      • smcleod 3 hours ago

        That'd be true but it doesn't even look good!

    • venturecruelty an hour ago

      Software isn't written for users anymore, unfortunately. Users are merely an annoying side effect that attempts to impede the line going up.

    • swyx 5 hours ago

      i cannot wait for OpenAIPhone and then OpenAIMac to come out and make Apple wake the fuck up

  • who-shot-jr 5 hours ago

    There is also https://github.com/FelixKratz/JankyBorders

    Bizarre that this has not been fixed by Apple, it has been an annoyance well before Tahoe. Relying on the three dots in the top left corner to see which window is on top gets frustrating.

    • phantasmish 5 hours ago

      Oh damn, this has been causing me trouble when working in half-and-half and quartered windows as recently as this week. I’ll be installing the one you linked, or the one the thread-link points to. Thanks, didn’t occur to me this would be a thing but of course it is.

  • treetalker 5 hours ago

    A similar app I really like is HazeOver, which is a configurable dimmer for everything on the screen except the front window.

    https://hazeover.com/

    • zaius 4 hours ago

      That is an A+ demo video - dimming the background of the page in sync with the effects in the video is very clever.

      • jandy 3 hours ago

        That was surprisingly awesome.

    • c-hendricks an hour ago

      Been using it ever since trying out the similar effect in KDE.

    • lanewinfield 4 hours ago

      I love how the site reflects the darkness of the screen in the youtube video. nice touch!

    • CharlesW 4 hours ago

      HazeOver is great, even when configured to be very subtle.

  • hibajiri 21 minutes ago

    I’m using this app: BorderMe – Where’s My Window? https://apps.apple.com/app/borderme-wheres-my-window/id67450...

    Different apps on macOS use different corner radii, so I’m wondering whether the apps can use any API to get the exact window bounds in order to draw the correct corner radius.

  • bsnnkv 4 hours ago

    Took a look at this and it feels like it is implemented using public macOS frameworks so it shouldn't break between macOS updates

    My guess is that kAXWindowMovedNotification, kAXWindowResizedNotification, kAXMainWindowChangedNotification etc. are being listened to on the currently focused window using the Accessibility framework, and there is a callback which gets the latest position of the tracked window whenever it is fired, and uses that position as a reference to update the border position

    The border window itself is most likely an NSWindow, which is why the tracking of the border with the target window feels quite sluggish

    • tylerhall 4 hours ago

      Developer of the app here. You’re correct. Accessibility APIs + timer + transparent top-level NSWindow that ignores input and draws a border.

      • bsnnkv 4 hours ago

        Fwiw I think this is the right approach. The trade-off between stability across OS updates vs tracking performance is a no-brainer for me - the absolute last thing that I would want is a deluge of bug reports with no other information than "it stopped working" when Apple pushes out an update

        • hyperhello 3 hours ago

          As a developer I would interpret that as "try it in the new OS and you will immediately see what is wrong so there is no reason for me to write a tedious and unnecessary message to you".

      • Angostura 3 hours ago

        Very nice idea, thank you for developing it. With an M1 iMac, though the window border lags the position of the window quite a lot if you drag it around, so probably not usable for me.

        • OGEnthusiast 26 minutes ago

          Some lag is probably going to be unavoidable with a third-party app. The only way to have perfect synchronization of window dragging/resizing and the border is for macOS to implement this as a first-party feature.

        • AshamedCaptain 2 hours ago

          I really ponder what is the usecase here that requires dragging windows "quite a lot" and also makes a lagging window border "not usable".

          • Angostura 2 hours ago

            You seldom resize, or drag windows?

      • inatreecrown2 3 hours ago

        I thought I take a look at the code, but I can only find readme and license?

  • tylerflick 4 hours ago

    PopOS's Cosmic DE has this baked in. I was unsure about the feature at first, but it has proved itself useful. I wonder if this will eventually be Shirlocked into macOS.

  • Atreiden 5 hours ago

    Always glad to see more software in the window management space, especially for MacOS.

    Any reason to use this over JankyBorders? I'm using it alongside Aerospace right now and forget sometimes it isn't built-in. Kind of weird to me that after all this time this is such a sparsely implemented feature. But the combo with Aerospace works well. Only thing missing is support in Aerospace for a toggle to have a window expand to the size of it's container. Really liked that feature in Yabai, made working with multiple tiled terminals really nice

  • jbverschoor 3 hours ago

    Insane that we need this because some people who don’t actually use macOS make decisions and implement things at Apple.

    It’s probably the highest crime within Apple to state some things are not useable

  • satvikpendem 2 hours ago

    I want the opposite, I want to remove that annoying drop shadow from the active window, something that does not exist in other OS UIs like Windows. It's simply distracting to me.

    • placatedmayhem an hour ago

      Does the Reduce Transparency option in Accessibility remove the drop shadow? If it does, I'd expect it to be all windows, but might satisfy your desire here.

      • satvikpendem an hour ago

        It does not, unfortunately. It's baked into macOS and is extremely difficult to remove, requiring all sorts of hacks which break at each OS release.

    • c-hendricks an hour ago

      Hm? Windows has a drop shadow, GNOME has a drop shadow, KDE has a drop shadow.

      • satvikpendem an hour ago

        You can disable it there, but not so in macOS.

  • charles_f 3 hours ago

    I also created a hammerspoon script to do that. Especially when you're using a tiling window manager like aerospace, it's quite useful.

    https://gist.github.com/cfe84/901411ee43450e7ee0e50e88cf029f...

  • phren0logy 4 hours ago

    The recent direction of MacOS has been a good excuse to try out a few new linux distros. As someone who was away from linux for a while, the degree of UI customization continues to be both amazing and a little overwhelming, but it feels more polished than before. Taking a look at Niri and hyperland, it's hard to feel satisfied with the UI of MacOS.

  • evaneykelen 5 hours ago

    I’m surprised this feature isn’t part of the built-in Accessibility Settings. Neat little app!

  • ivanjermakov 3 hours ago

    Ugh, the delay between the window and border moving is crazy. About as crazy as not having this as an accessibility option.

  • jaffa2 2 hours ago

    Excellent. Can you do something about the 5px wide scroll bar?

  • throw-the-towel 5 hours ago

    Somehow it's so cute that the name of the app is, well, a name.

  • hxorr 2 hours ago

    It seems we have come full circle back to Win 95 days...

  • mandrade2 an hour ago

    need this for my tmux panes!

  • Jeremy1026 4 hours ago

    This is great, but do wish the border followed the radius of the native window's corners.

  • l5870uoo9y 4 hours ago

    Am I the only one who can't see what the problem is in that screencast? Click on the window you want to use or tab through until you find the right one.