Archive for the ‘Development’ Category

App Tamer 2.8b1: I’m looking for people to test “Don’t slow when sound is playing”

Wednesday, August 9th, 2023

I’ve come up with a solution to an annoying issue in App Tamer. When you throttle the CPU usage of apps, their attempts to play audio can result in the sound stuttering or cutting out if they’re getting too few CPU cycles. In some cases, this can even affect the sound played by other apps.

Version 2.8 of App Tamer adds a new checkbox to an app’s settings: “Don’t stop or slow when sound is playing”. App Tamer detects when there’s audio playing and runs those apps at full speed until the audio stops. This lets you throttle a web browser to 2% CPU when it’s in the background, but if you’re playing a YouTube video and put it in the background, the video will continue playing normally instead of (possibly) slowing down and stuttering.

So far this works very well – at the expense of letting those apps use more CPU while sound is playing, of course – but I’d like to get more feedback before officially releasing it.

The biggest issue is that there seems to be a bug in Monterey, Ventura and Sonoma that prevents apps from determining whether sound is playing when playback is going through AirPods or other Bluetooth devices. I’ve worked around the problem so it correctly handles all the devices I have here, but I’d really like to have more testing done with other system configurations and devices.

So – it’d be really helpful if you would:

  1. Download the beta build of App Tamer and launch it.
  2. Check the settings for the web browser you’re using – the “when sound is playing” checkbox should be turned on by default.
  3. Play some audio. You’ll see a little speaker next to the app in the process list (see the image over there → ).
  4. Make sure this works with a number of different audio output devices. Use your Mac’s speakers, your AirPods, AirPlay devices, Bluetooth speakers – whatever you’ve got.
  5. Shoot me an email at AppTamer@stclairsoft.com and let me know what version of macOS you’re using and what works and what doesn’t. Hopefully there aren’t any reports in the latter category 🙂

Thank you!

Default Folder X 6.0a3 improves Quick Search and iCloud Sync

Wednesday, May 17th, 2023

A new build of Default Folder X 6 is available for testing. If you’re just getting on board, this is a preview release of the next version of Default Folder X, which includes a number of major new features. There’s a full description of the new features here, including instructions for configuring and using them (one of the things still coming is the on-boarding when you run it for the first time).

Version 6.0a3 brings a host of refinements to the new Quick Search feature, including support for non-roman languages and non-English-speaking locales. Searching is also more responsive, user interaction is much smoother – it just works better all around. Please give Quick Search a try and let me know what you think!

I’ve also addressed issues with the synchronization of Default Folder X’s settings between multiple Macs over iCloud. There’s still testing to be done here – mostly in terms of detecting and diagnosing iCloud configuration problems. I’d welcome more people who have an identical (or similar) file and folder structure on two different Macs and want to have your recent and favorite items up-to-date and available on both machines.

6.0a3 also brings bug fixes and support for the beta version of ForkLift 4, and support for older versions of macOS (I’ve tested as far back as Mojave so far, but it should work fine on High Sierra too). A full list of changes is on the Default Folder X Testing page, and you can download it directly here.

Default Folder X 6.0d24 previews new drag-and-drop and quick search features

Monday, February 27th, 2023

I’m pretty excited about this preview release of Default Folder X 6 – it includes two new features that have really boosted productivity for me personally.

First, you can now drag and drop files and folders onto Default Folder X’s icon in your menu bar to copy or move them anywhere. Default Folder X pops up its main menu so you can show it where the dropped items should go. Select a folder from your Favorites, Recent Folders, or anywhere in the filesystem by navigating with DFX’s hierarchical menus. Once you choose a folder, the item is moved or copied, and the destination folder is opened to show you the item’s new location.

Dragging a Read Me file to Default Folder X’s icon, then using its menu to move it to the Sample Files folder.

Second, Default Folder X’s new keyboard-driven mode has gotten smarter. To review a bit, there’s a “quick search” window that pops up with a keyboard shortcut. You type in a few letters, and it shows you all your recently-used folders, files and apps that match what you typed. For me, this gets me to 90% of the items I want with a couple of keypresses.

Now, however, the list of results shows a “>” button next to folders. Clicking on that or hitting the Right Arrow key on the keyboard “drills down” into that folder to show its contents, and then typing a few more letters matches items within the folder.

As before, hitting the Return key opens whatever is selected, but now you can also Control-click a result to get a contextual menu so you can Open, Reveal or Copy the item’s path. If it’s a folder, the contextual menu also includes a Contents submenu that lets you more rapidly descend into subfolders using Default Folder X’s hierarchical menus.

Honestly, the best way to understand it is just to try it for yourself. Download the latest build and launch it. The accompanying Read Me file contains more details on setting up and using the new features, though they pretty much just work. Hit Command+Option+Spacebar to invoke the quick search window – that’s all you really need to know.

Default Folder X 6.0d19 : Better drag-and-drop in the Finder

Thursday, December 29th, 2022

A new pre-release build of Default Folder X version 6 is available! Click here to download it. If you haven’t been following along, previous posts have covered new features like the wider filename edit box in Save dialogs, new Quick Entry window, and post-save actions.

In this build I’ve rewritten the drawer that Default Folder X (optionally) attaches to Finder windows. It now properly supports dragging to reorder items, selection and multi-selection of items in the drawer, dragging items into folders that you’ve added to the drawer, and more.

This makes the drawer much more helpful as a temporary “shelf” when moving items between folders, as well as a handy place to organize files and folders while you’re working with them. They’re easy to get to, even if they’re actually located in multiple different folders.

One of the challenges with the drawer was finding a way to make it scale as you add more items to it. It shrinks the icons as more are added, then as you mouse through them, spreads them apart so you can read their filenames.

I’ve been experimenting with this for quite a while, and I’d appreciate feedback on how it works for you in practice. Suggestions are more than welcome!

Default Folder X 6 progress

Monday, October 17th, 2022

After making intermittent progress on version 6 of Default Folder X for months, I’m hoping to get things moving faster so I can get the new features out to a wider audience soon. The new capabilities make Open and Save dialogs even faster and easier to use, as well as speeding access to recently used files and folders in the Finder.

Among the features I find most useful are a wider edit field in Save dialogs, so you can actually see and edit long filenames:

and a “quick entry” pop-up where you can type a few letters in the name of a folder or file you want to access:

I outlined the details of these features in a previous post.

In addition, the latest build synchronizes your preferences and history between multiple Macs, so you’ll have access to your favorite and recently used files and folders regardless of which Mac you’re using. The caveat here is that synced Macs must have their files and folders synchronized so that Default Folder X can find the items on both machines – if it can’t, those items will be grayed out in its menus.

DFX 6 also offers “post-save” actions that you can use to automatically handle files after saving them. Built-in actions include immediately opening a saved file, attaching it to an email, or running an AppleScript or Automator workflow on it.

If you’d like to give the new features a spin, you can download the latest development build here. While it’s not feature-complete, the features above are working well and are stable. Please see the Read Me file for details on enabling the new features, and if you’ve got suggestions, feedback or bug reports, send them to DefaultFolderX@stclairsoft.com

Default Folder X 5.7 public beta 2 gets in sync with Ventura

Wednesday, July 27th, 2022

Among other things, the second public beta of Default Folder X 5.7, otherwise known as version 5.7b2, adopts Ventura‘s use of the term “Settings” rather than “Preferences.” Seems like that wouldn’t be a big deal, right? It turns out that those terms occur more frequently than you’d think in various dialogs and error messages, and have to be substituted on the fly to match the version of macOS you’re running. So I spent a couple of days bringing all that into conformance, then testing and localizing, and now it DFX fits in properly on Ventura.

Version 5.7b2 also adds a couple more interesting things, like support for Thomas Tempelmann’s Find Any File application. When you’re in an Open or Save dialog, you can now search with Find Any File from Default Folder X’s utility menu.

Find Any File can be helpful because it performs an exhaustive search based on a file’s name, modification date, and other filesystem properties. While Spotlight indexes these same properties as well as the contents of documents, it won’t always find all files – Spotlight omits the contents of some folders, as well as files contained within application packages and other special locations.

Default Folder X 5.7b2 also fixes a problem with its Recent File and Recent Folder tracking on Microsoft OneDrive that could result in files or folders being listed twice when they’re updated on OneDrive.

If you’re already running an earlier beta of Default Folder X 5.7, just choose “Check for Update” from its menu in your menu bar. If you’re not, head over to the Default Folder X Testing page to download a copy!

It’s that time of year again! Default Folder X 5.7d3

Friday, June 10th, 2022

It’s June, and you know what that means! Well, maybe you don’t… Apple’s World Wide Developer Conference (WWDC) is held at the beginning of June every year, and Apple traditionally uses the conference to introduce the next version of all of its operating systems. This year is no different, so developers world-wide (see what I did there?) are downloading and running the first early test version of macOS 13 “Ventura”.

And because Default Folder X works so closely with the operating system, it needs to be updated to support each new version. So there’s now a public pre-release build of Default Folder X 5.7 that’s available for folks who are running Ventura. For those of you who are accustomed to Default Folder X’s quick navigation and file management, this will keep you from getting frustrated while testing or developing on Ventura 😁

A download link, release notes and a list of known problems are on the Default Folder X Testing page. I’ve also rolled in a few fixes for other issues that affect both Ventura and past versions of macOS, so check the release notes for details about those, too.

App Tamer 2.7b2 fine tunes support for Apple Silicon

Thursday, February 24th, 2022

Version 2.7b2, the second public beta release of App Tamer 2.7, is available on the App Tamer Beta Testing page. If you’ve recently downloaded beta 1, just choose “Check for Update” from its utility menu or in the Options tab of App Tamer’s Preferences window to get the new version.

The changes in beta 2 are relatively small, correcting interactions between the new capability of running apps on the M1 processor’s efficiency cores and several existing App Tamer options. In addition, App Tamer’s online help has been brought up to date, and a bug affecting the CPU usage graphs in beta 1 has been fixed. Details and download links are available on the beta testing page.

If you have any feedback or bugs to report on the 2.7 beta releases, please share them in the comments here or by emailing AppTamer@stclairsoft.com. Version 2.7 is on track for release soon, barring any further bug reports or changes.

App Tamer 2.7b1: Advanced support for Apple Silicon processors

Thursday, February 17th, 2022

There’s now a public beta version of App Tamer 2.7 available for download. The big deal in this iteration is support for the Performance and Efficiency cores (or “P and E cores” for short) in Apple’s M-series processors.

P and E core usage statistics

As you can see in the image on the left, App Tamer now displays graphs of P and E core usage as well as overall CPU usage. You’ll get these automatically if you’re running App Tamer on an M1-powered Mac.

Note that P and E stats are shown as a proportion of total CPU power available, so on an M1 Pro processor (8 P cores and 2 E cores), the E core number will max out at 20% (2 cores out of the 10 available), while the P core number will max out at 80%. This may be a little counter-intuitive at first, but it was even more confusing to represent them as a percentage of each core type. In that scenario, “CPU Used by All Apps” could show 50%, with E core usage at 100% and P core usage at 38% – which doesn’t make sense to most normal humans.

Running background apps on E cores

This is the really cool part. When you click on an app in the process list to change its settings, there’s an additional “Run this app on the CPU’s efficiency cores” checkbox, as you can see in the screenshot below.

I explained the basics of this feature in a previous post. It works like App Tamer’s other CPU-saving capabilities in that it’s applied to an app anytime that app is not frontmost. If you turn on the checkbox for Safari, any time that you leave Safari running in the background while you’re using another app, Safari will be switched to the processor’s E cores. This saves power and leaves the P cores free to handle higher priority tasks.

Note that the effects of this feature are similar to App Tamer’s existing “CPU throttling” capability, which is what you get when you turn on the “Slow down this app if it uses more than X%” checkbox. However, there are a couple of advantages:

  • The E cores actually consume less power by design
  • There’s no overhead when running an app on E cores, whereas throttling an app’s CPU usage requires App Tamer to actively manage the app’s execution

So, basically, running an app on the processor’s E cores saves more power than throttling it.

Of course, the two aren’t mutually exclusive – you can run an app on the CPU’s E cores and throttle it while it’s there if it’s still using too much processing power. App Tamer will let you turn on both checkboxes to do this.

What about Intel-powered Macs?

If you’re not using a fancy new M1 or M2 (soon?) powered Mac, you won’t get this new feature. However, that checkbox does still do something. It’s named “Run this app as a low-priority process” on Intel Macs, and it will use the macOS system scheduler to reduce the priority of the app, both in terms of CPU usage and disk and network I/O. This will reduce its impact on other apps and cut its energy usage somewhat, but not nearly as much as it does on M-series Macs.

OK already! Where do I download it?

Go to the App Tamer beta testing page. And if you have suggestions, find a bug, or want to argue with me about how E and P core usage is displayed, send email to AppTamer@stclairsoft.com.

App Tamer experimentation: Running apps on M1 efficiency cores

Friday, January 21st, 2022

So I was reading Howard Oakley’s Eclectic Light Company blog, as I often do (and you should too), and he mentioned the taskpolicy command line app, which I wasn’t aware of before. taskpolicy allows you to demote a process to “background priority,” making it run more slowly by giving it a lower priority for its disk and network access and – key point here – on M1-powered Macs, also runs the process on the M1’s efficiency cores instead of on the performance cores.

That got me thinking… if there’s a command line tool to do this, there must be a system API to make this happen, too. And lo and behold, the setpriority( ) system call will actually perform this neat trick, even though the man page lies and says it won’t.

I made some changes to App Tamer yesterday to add this, and App Tamer now has a new checkbox:

Turn the checkbox on, and whenever an app isn’t frontmost, App Tamer will give that app background priority, reducing its disk and network priority and switching it over to run on an M1 efficiency core. Running a few apps that consume quite a bit of CPU looks like this in Activity Monitor:

In my initial testing, the feature seems to work quite nicely. App Tamer automatically moves apps between the performance and efficiency cores as you switch between apps. So far, I haven’t found any downsides to this – but then again, I just added the feature yesterday and have only done limited testing. It’d be great to actually quantify whether this delivers additional battery life.

If you’d like to give it a try, you can download App Tamer 2.7d1 here. Just unzip it and run it, then click on a cpu-hungry app in App Tamer’s process list and turn on “Run this app on an M1 efficiency core” – that’s it. App Tamer will automatically lower the app’s priority when it isn’t frontmost.

Update: There’s now a beta version of App Tamer 2.7 that includes an almost-finished version of this feature.

Note for users of Intel-based Macs: On your machine, the checkbox is named “Run this app as a low-priority process” because your Mac doesn’t have separate efficiency and performance cores 😢. The app will be demoted to background priority so it uses fewer CPU and I/O resources, but I’m afraid there’s no fancy cpu-juggling involved.