Hey all, I'll use this to track and discuss the work in progress on (finally) adding a cache size limit to Aerial, and better cache management/playlist management tools. There will be some core changes to Aerial's UI including the videos tab, so that it displays more clearly what videos are available/cached/etc and handle some new issues created by the management.
For now, here's a very early screenshot of what I'm looking at right now in terms of Cache options :

So the very first pref will be the limit, I plan to default this to 5 GB for new users (what to do about current users is still in the air).
The second pref is all about how to manage the cache:

In a perfect world, rotation would probably be the ideal setting here for new users (and stop downloading for current users, I'd say).
But whatever I do, I'll get support tickets :
So 🤷
Last setting is the periodicity (which probably default to monthly to alleviate issues above).
About how all this will work :
Now what I ended up deciding is NOT stream videos to replace cache. Streaming is awfully unreliable and I really don't want to do it. While I'll probably keep a checkbox for those who really really want to stream, it will not be part of the cache rotation because that's too much of a mess.
So that's about it for right now, I'm still working on implementation and I'll update this post when I have a build to share and more details about the other changes (especially the redesigned videos tab to more clearly explain what videos are cached/etc).
Great work on explaining this so clearly! I think this is the best possible way to love forward and IK people would complain about the size but 🤷🏻♂️. They always have the option to change it.
I love the decision to not stream, it would be a mess in the code to handle that. But how do you imagine new users who don’t have any video downloaded, start using this?
If you have a daily reset of cache option, would that mean I’d have to wait for a video to download first and then I’d be able to see the screensaver? My question is what happens on the first load.
Great work on explaining this so clearly! I think this is the best possible way to love forward and IK people would complain about the size but 🤷🏻♂️. They always have the option to change it.
People will always complain yep... So it's about making a compromise to get the less complaint I guess :)
Something I've been thinking about is, on first start for new user, have some window pop when they launch the options so that they can set the cache. I'm going back and forth with the idea, it's very old fashioned in a way, and you can install Aerial and run it without ever going into the Pref Panel, so in that case it's slightly a moot point. There's really no perfect solution I guess, and the setup, while feeling very Windows 95-y, will probably barely improve as people tend to click next without reading anyway.
I love the decision to not stream, it would be a mess in the code to handle that. But how do you imagine new users who don’t have any video downloaded, start using this?
So my plan right now is, if you are a new user and you launch the screensaver with nothing cached, stream the first one (exactly like right now) while in the background grabbing a second one. And maybe more if you are done before the end of the first video, I'm not 100% sure how many I should pull in advance by background downloading. I do plan to have an (optional) download indicator just like the "A new version of Aerial is available" info to indicate a download is going on.
If you have a daily reset of cache option, would that mean I’d have to wait for a video to download first and then I’d be able to see the screensaver? My question is what happens on the first load.
Right now, only monthly and weekly, daily is way too much, I know it's available on Apple TV, but I really don't want to have Aerial hit Apple's CDN too much. Last thing I'd want would be for them to complain about the load and end up doing something about it. Least I can do is try and be a good 'citizen' about their bandwidth ;)
But regarding first launch, as I said above. Stream first if nothing is cached (really no other choice) and background download the rest.
An important point to note is that the very first launch of Aerial is (usually) the tiny preview, the first time you open System Preferences with Aerial selected (which happen after you double clicked to install). So at that point Aerial will need to stream something, since it happens before anything else (even before you get a chance to open Aerial's pref panel).
So a bit of an update, as I got some of it working now. So here's what's implemented :
Application Support will only contain the manifest files (the various tvOS.json and the TVIdleScreenStrings13.bundle), and Caches will only contain the videos. Everything used to be in Caches previously, until I changed it with Catalina because of containerization and the fact that Catalina install wiped the cache during install. Since the goal is to get a more "transient" system, I'll stick with this for now, it's easier to manage for me with the goal of the rolling cache. Application Support to Caches. This should be seamless for users (and work for both Catalina and older macOSes).
Probably some work to do on the wording, but that aside, anytime you try to download something, you'll get prompted. Accept and it goes through, deny and it's cancelled. Downloaded files go into Caches as mentioned above.
So right now, basically the "Stop downloading new videos" version of the new cache is done. If you pick the rotate option, you'll get the exact same thing as that's the part that's not implemented 😅
I'll be working next on the rotation thing but so far so good. The last step will be the videos UI as this will really need a cleanup with the rotate option.
If you want to try it, I put up an alpha here, be aware it's early though and may contain bugs : https://github.com/glouel/Aerial/releases/download/v1.9.5alpha1/Aerial.saver.zip
Thanks a lot for putting effort into this!
So I downloaded the Alpha... A few thoughts some of which I am sure you're not worried about at this time but I'll mention anyways 🤣:
Something I've been thinking about is, on first start for new user, have some window pop when they launch the options so that they can set the cache. I'm going back and forth with the idea, it's very old fashioned in a way, and you can install Aerial and run it without ever going into the Pref Panel, so in that case it's slightly a moot point. There's really no perfect solution I guess, and the setup, while feeling very Windows 95-y, will probably barely improve as people tend to click next without reading anyway.
- Default Cache is set to 5GB, so... when I downloaded the Alpha it looked like this:
What happens to the remaining 15GB of files if someone installs the Alpha (or future release) and doesn't change from the default cache size? Should the default cache size instead be set to say 1GB more than current cache instead?
Minor wording tweaks: There shouldn't be a space between the end of a word and an exclamation mark or question mark, and the wording of "Periodically replace old videos by new ones" would sound cleaner as "Periodically cycle videos with new content" or something similar. Either way the word "by" should be "with".
In 1.95alpha1 Advanced the Cache all videos setting with Download Now button ideally should be moved to the Cache section rather than the Advanced section. And if possible, it would be great for it to state the total size of the full download.
In Advanced, I'd love a clarification of what "Video versions" means.
In relation to:
In a perfect world, rotation would probably be the ideal setting here for new users (and stop downloading for current users, I'd say).
I would like to argue here that the data cap limit is likely one that fewer users are going to complain about. If someone is willing to download hundreds of megabytes of video (at the bare minimum), they likely don't have a data cap...? Unless you've experienced otherwise so far?
Additionally I would add there is a third option to consider here: Essentially a Manual Override option. Remove the cache limit, and don't download videos automatically. Just full manual override. This could be helpful for those users who don't want to use the built in videos from AppleTV as well as those who want full control over what is downloaded and cached.
Just a thought and it might be overkill but if download restrictions is such a concern, we could have something similar to what VPN apps have like a "Trusted Network".
I wouldn't care what I download when I'm on my home Wi-Fi, but if I'm at a hotel and I'm paying for internet, I need that damage to be restricted.
This could be really helpful feature for business travelers. Now I feel that I need to be careful with this when I'm out.
That last remark hit a spot. I am in a situation where I’ll often connect to corporate network, client’s network or use my phone’s shared connection.
The sandboxed context might not allow it, but it would definitely make sense for me to identify one or two "Trusted Networks".
Cordialement,
Gilles Hemard
Envoyé de mon iPhone
Le 7 juin 2020 à 05:16, Prathmesh Ranaut notifications@github.com a écrit :
Just a thought and it might be overkill but if download restrictions is such a concern, we could have something similar to what VPN apps have like a "Trusted Network".
I wouldn't care what I download when I'm on my home Wi-Fi, but if I'm at a hotel and I'm paying for internet, I need that damage to be restricted.This could be really helpful feature for business travelers. Now I feel that I need to be careful with this when I'm out.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
First, thanks all for the feedback !
So I downloaded the Alpha... A few thoughts some of which I am sure you're not worried about at this time but I'll mention anyways 🤣:
It's always helpful for me to track things as I sometimes have blind spots when I'm implementing something 😅
- Default Cache is set to 5GB, so...
I was considering what to do about current users btw. Maybe set the limit slightly above their current size to make it better ?
What happens to the remaining 15GB of files if someone installs the Alpha (or future release) and doesn't change from the default cache size? Should the default cache size instead be set to say 1GB more than current cache instead?
Maybe I'll read ahead next time 🙈 So just to clarify what happens right now : nothing. You'll get denied if you try to download a new video (the screenshot I posted earlier with the Alert), and Aerial will not try to stream new files. So kinda (but not totally) how it works today (assuming you have your cache full of what you want already). Hypothetically, with the rolling cache, it will purge them slowly to get you below that limit.
Definitely a better sensible default for current users is what you said, slightly above, with the rolling cache off. New users, I'm still a bit torn, so I'm seriously thinking again of making a (very quick) setup screen with basically the two things that generates most of the recurring support issues:
I think that would make things super clear for everyone, as I don't think I can settle on a default that would satisfy everyone. And I've been thinking that even Apple does intro splashes for worse reasons, like on pages/numbers/keynote :

So I'm strongly considering doing that again (just a first run setup, that you can bring back in advanced if you want, but would obviously only run once for new, and old users alike when 2.0 finale is out, maybe with a bit different wording for new users).
- Minor wording tweaks: There shouldn't be a space between the end of a word and an exclamation mark or question mark
That's the french in me for the punctuations, we do space before/after when a punctuation has two parts (so : ; ? and !). I always have to fight my instincts on this one !
, and the wording of "Periodically replace old videos by new ones" would sound cleaner as "Periodically cycle videos with new content" or something similar. Either way the word "by" should be "with".
Ok indeed with is better. I went with "Periodically cycle videos with new ones" for now, I'm a bit concerned that new content would imply it would only get "new" videos (like say the next Aerials are "mountains" or something, and the rolling cache grabs a sea video, I'm afraid people would not understand exactly what's going on). Maybe I'm worrying for nothing, the new videos tab UI should make it more clear what could/couldn't be downloaded so there's that.
- In 1.95alpha1 Advanced the Cache all videos setting with Download Now button ideally should be moved to the Cache section rather than the Advanced section. And if possible, it would be great for it to state the total size of the full download.
I just moved everything away for now where there was some room ;) some options may not survive the cache changes.
- In Advanced, I'd love a clarification of what "Video versions" means.
That's one of the most obscure thing and one of those that I may get rid of. So for a single video, sometimes Apple release new "cuts" with slightly tweaked colors. Aerial never deleted anything, so when that happened, you could have 4 different versions of the same Los Angeles night that were slightly shorter/longer, with tweaked colors, etc, in the same resolution. They used to do that A LOT last year (especially with the older content) but they basically stopped and I don't think I've seen one lately. Anyway, what that feature did was allow you to backup those old versions (because some people preferred them) or trash them (as they kept piling up fast). With the rolling cache it's a moot point I think and will probably go away
- In relation to:
In a perfect world, rotation would probably be the ideal setting here for new users (and stop downloading for current users, I'd say).
I would like to argue here that the data cap limit is likely one that fewer users are going to complain about. If someone is willing to download hundreds of megabytes of video (at the bare minimum), they likely don't have a data cap...? Unless you've experienced otherwise so far?
No, you're correct. The ratio of people complaining from disk space/network usage is probably 100 to 1. But then again, when done, Aerial won't continuously download new things which is what may cause issue. My thinking about current users staying on stop downloading was to not disrupt their current usage and surprise them, although if I go the first setup route, that's probably less of an issue.
Additionally I would add there is a third option to consider here: Essentially a Manual Override option. Remove the cache limit, and don't download videos automatically. Just full manual override. This could be helpful for those users who don't want to use the built in videos from AppleTV as well as those who want full control over what is downloaded and cached.
Yeah, I've been thinking about something like that with the video ui, right now I think very few people understand that a checked video in the Videos tab will get eventually streamed by Aerial, and an unchecked one won't (and everything is checked by default, which I plan to change to only tvOS13 videos next). I'm doing away with that list to replace it with a better UI that would more clearly show what's playing only (say with a rolling cache, with the ability to go grab one, and maybe say, never show me that one, etc). In that scenario a full manual mode probably make sense (my goal being to get rid of as much streaming as I can, it aligns perfectly ;)).
Just a thought and it might be overkill but if download restrictions is such a concern, we could have something similar to what VPN apps have like a "Trusted Network".
I wouldn't care what I download when I'm on my home Wi-Fi, but if I'm at a hotel and I'm paying for internet, I need that damage to be restricted.This could be really helpful feature for business travelers. Now I feel that I need to be careful with this when I'm out.
That last remark hit a spot. I am in a situation where I’ll often connect to corporate network, client’s network or use my phone’s shared connection. The sandboxed context might not allow it, but it would definitely make sense for me to identify one or two "Trusted Networks". Cordialement,
To both, I definitely agree with that one, although I don't know if sandboxing will be an issue. Let me get back to you on that one, if it's possible it would make me feel a bit better to have that feature in!
@Kikangh @prathmeshranaut
To my utter surprise, it works despite the sandboxing ! I can get the current SSID, so here's what I'm planning, an optional white list of SSID where Aerial would only download when one one of those. I think this would largely solve that issue for those moving around with their Macs.
Definitely a better sensible default for current users is what you said, slightly above, with the rolling cache off. New users, I'm still a bit torn, so I'm seriously thinking again of making a (very quick) setup screen with basically the two things that generates most of the recurring support issues:
I totally support a setup screen for first time users. I think that would be great! As for defaults, I would suggest that you target to users of a 2-year-old device at any given time. I.E. whatever will run well on a 2018 base line MacBook Pro is probably a good guess of what settings should be set to. This way it doesn't feel that the settings are too old to take advantage of newer features, but at the same time doesn't crash a machine on first run that's say... 4 years old. That said, a splash screen where a user could set this up would solve everything, I simply recommend that the "default" settings still be thought of in a similar way.
Maybe I'll read ahead next time 🙈 So just to clarify what happens right now : nothing. You'll get denied if you try to download a new video (the screenshot I posted earlier with the Alert), and Aerial will not try to stream new files. So kinda (but not totally) how it works today (assuming you have your cache full of what you want already). Hypothetically, with the rolling cache, it will purge them slowly to get you below that limit.
🤣 No worries haha! I would say that the rolling cache under these circumstances shouldn't purge under. So I think that a tweak that allows for it to be X + 500MB or 1GB is likely a better setup for existing users if possible.
I just moved everything away for now where there was some room ;) some options may not survive the cache changes.
👍
To my utter surprise, it works despite the sandboxing ! I can get the current SSID, so here's what I'm planning, an optional white list of SSID where Aerial would only download when one one of those. I think this would largely solve that issue for those moving around with their Macs.
That's a great solution to all of this!
Definitely a better sensible default for current users is what you said, slightly above, with the rolling cache off. New users, I'm still a bit torn, so I'm seriously thinking again of making a (very quick) setup screen with basically the two things that generates most of the recurring support issues:
As for defaults, I would suggest that you target to users of a 2-year-old device at any given time.
When it comes to video format, I have 99% accurate detection of what's supported/not supported so that's good. There's a bit of a grey line though (my late 2015 iMac doesn't natively decode HEVC, but I still use 4K HDR with no issues here).
🤣 No worries haha! I would say that the rolling cache under these circumstances shouldn't purge under. So I think that a tweak that allows for it to be X + 500MB or 1GB is likely a better setup for existing users if possible.
Yep I'll see about adding that.
That's a great solution to all of this!
Yep so I got it working, I made a very simple UI for it, it can defintely be improved but I went the easy way to see if I could get it to work :

So if you click the checkbox, the ui below appears. There's an indicator (red/green) telling you if network traffic is allowed or not. Below two buttons to add the current network to the allowed list and resetting the list. Below, a list of all network allowed. Here's how it look after allowing the current network :

If you have a red bubble, here's what you get when trying to download a file manually for example :

Also, just like if the cache is full, Aerial won't stream and limit itself to your local cache.
I'm very open to improving the text of the U, I went with selected/allowed, not sure what to use. Alpha 2 here if you want to test :
https://github.com/glouel/Aerial/releases/download/v1.9.5alpha2/Aerial.saver.zip
Seems like a great fix to me!
Slight wording tweak suggestions:
Consider switching this to:
You are on a restricted WiFi network
Your current settings restrict downloads when not connected to a trusted network. Do you wish to proceed?
Reminder: You can change this setting in the Cache tab.
--
Additionally under the Cache tab:

Consider switching to:
Restrict downloads to trusted WiFi networks
And consider adding an info circle with:
_Select this option if you wish to only cycle or download videos manually. This can be helpful for users with data limits. To add a network to the trusted list, connect to that network and click "Add current network". To purge the network list, click "Reset list"_
--
Also in keeping with my suggestion #981, could we add a simple mouse over accessibility support that when it is green, mouse over reads as something like "Connected to a trusted network" and when it is red it reads something like "Not connected to a trusted network. Downloads will not occur"
You are on a restricted WiFi network
Your current settings restrict downloads when not connected to a trusted network. Do you wish to proceed?
Reminder: You can change this setting in the Cache tab.Restrict downloads to trusted WiFi networks
Done for next build thanks !
And consider adding an info circle with:
_Select this option if you wish to only cycle or download videos manually. This can be helpful for users with data limits. To add a network to the trusted list, connect to that network and click "Add current network". To purge the network list, click "Reset list"_
Indeed good idea I'll see about adding that bubble.
Also in keeping with my suggestion #981, could we add a simple mouse over accessibility support that when it is green, mouse over reads as something like "Connected to a trusted network" and when it is red it reads something like "Not connected to a trusted network. Downloads will not occur"
Yep for the mouse over. But what about making it explicit like :
There's room so I can spell it out a bit better.
Thanks for the suggestions it's helpful.
Yep for the mouse over. But what about making it explicit like :Connected to trusted network : >123 / Connected to restricted network : 123
Connected to : 123 (trusted/restricted)
There's room so I can spell it out a bit better.
I totally support that!
Bit of an update, so after much thought, I've added a master switch on top of the cache tab, to enable/disable cache management. The idea is, if you want to do it yourself, you can disable everything (from limits to network), and Aerial will never do anything on its own (stream, download, delete, etc) :

In that case, I give you a button to explore your cache (I won't in the other mode, since you told Aerial to manage it, you're not messing with it :p) and how large your cache of video is.
This switch replaces 3 old settings :
In full manual mode, Aerial will never download or stream anything by itself, and in the managed mode, the goal is to stream once, and definitely cache the results, so I got rid of all of those. I think it's going to be much simpler to understand than those 3 checkboxes.
If you enable cache management (which will be the default), you'll get the screen you saw in previous betas :

The last thing missing, UI wise, from the cache tab is the ability to change cache location (pre-Catalina) / add an extra read only cache location if you want to move files around.
Because at best you can only set a path in your primary disk in Catalina, the only real use case remaining for that feature is if you have multiple users on the computer and want them to share videos (which is a very valid use case !).
While this used to be easy before (set your cache to /Library/Caches/Aerial), Catalina made it impossible as we can only write in the container and read-only outside.
Still the whole thing is convoluted (you need to download, then move the videos from the container to a folder accessible by every account somewhere on your primary disk, which limits you pretty much to something in /Users/Shared), so I'll try to make it a bit clearer.
In a perfect world, there will be a new screensaver API at WWDC and I'll forever get rid of that read-only folder mess.
No build today as the changes are minimal.
Bit of an update, so after much thought, I've added a master switch on top of the cache tab, to enable/disable cache management. The idea is, if you want to do it yourself, you can disable everything (from limits to network), and Aerial will never do anything on its own (stream, download, delete, etc) :
Ahh this is great! I love the full manual override option! That's great!
May I recommend one other option... For the Cache Size Limit, can we add an additional check there? It seems that there's no way to override that specific setting? This way each area would be fully customizable (both WiFi, Cache, and then entirety)?
May I recommend one other option... For the Cache Size Limit, can we add an additional check there? It seems that there's no way to override that specific setting? This way each area would be fully customizable (both WiFi, Cache, and then entirety)?
The easy out is to let you set a very high size so the limit don't apply, it's not super nice. I'm considering putting a slider here that would let you pick the limit size, and the position at the right end would disable the limit (and maybe hide the stuff below).
and the position at the right end would disable the limit (and maybe hide the stuff below).
This would be perfect!
@ZV00

@glouel Looks great!
Hey all
Sorry for the lack of updates the past couple of weeks, some unexpected things threw my schedule.
I had a very quick glance at Aerial on macOS Big Sur 11, and the first good news is... it seems to work ! I've noticed some glitching when exiting the screensaver, but that seems to be a Big Sur (urgh...) bug more than anything else. HDR playback somehow seems smoother on my old iMac.
In any case, it certainly... looks different :

Interestingly, the NSAlert are also pretty different too :

I had a very quick glance at Xcode 12 and the bad news is, I don't think we're allowed to make app extensions. The screensaver template is still the old (objective-c !) one from the old days.
Apple's documentation (https://developer.apple.com/documentation/screensaver) mentions, somehow, Mac Catalyst 14.0+ (?!) as supported for screensavers, which I still haven't wrapped my head around.
There's also a new section at the bottom :
Binary Compatibility
Because screen savers are plug-ins for the screen saver engine, a screen saver can only be supported if its binary contains a slice for the architecture of the running engine. As with any application, the screen saver engine normally runs using the most recent architecture supported by a given computer (assuming that the engine has a slice for that architecture).
For full compatibility, a screen saver must contain (at least) an i386 slice (compiled for the oldest OS version you wish to support) and an x86_64 slice (compiled for version 10.6 and later).
The word plugin strongly implies no appex, which may mean that we still live under the Catalina restrictions. I haven't looked at the permissions and stuff yet, I'll try to have a look tomorrow but at the very least, it "works" on the current beta !
I can confirm what @glouel said that Aerial seems to work on Big Sur (11.0). I will report that upon first launch I got the following error:
"10:48:01 PM : Location services may be disabled, Night Shift can't detect Sunrise and Sunset times without them"
I can confirm what @glouel said that Aerial seems to work on Big Sur (11.0). I will report that upon first launch I got the following error:
"10:48:01 PM : Location services may be disabled, Night Shift can't detect Sunrise and Sunset times without them"
Interesting, thanks for the info. What setting do you have in the Time panel btw ? They broke night shift detection last year, they might have done it again...
Edit : on the good news side, they unbroke internationalization, so at some point I'll be able to bring translated UIs.
Edit2 : Looks like they changed the whole night shift diagnostic tool output, it's getting shaky with random debug stuff in it. I'm not 100% sure if I should not rethink the options in the time tab, including this one. Short term I'd recommend picking the coordinates option if you want day/night video switching and I'll reassess in a beta or 2.
Interesting, thanks for the info. What setting do you have in the Time panel btw ? They broke night shift detection last year, they might have done it again...
Hey @glouel, so the error no longer shows on my second launch, without any changes to settings... But to make it fun for you, my time settings are set to "Do not adapt".
Also as I understand it, TvOS 14 also has some improvements to categorization of videos - Perhaps it's worth looking at that, and considering a similar categorization option here as well to 'match' to TvOS. That said, yours are BETTER than that, so I would not say it's worthwhile to revet to ONLY the TvOS format.
Interesting, thanks for the info. What setting do you have in the Time panel btw ? They broke night shift detection last year, they might have done it again...
Hey @glouel, so the error no longer shows on my second launch, without any changes to settings...
Classic !
But to make it fun for you, my time settings are set to "Do not adapt".
Ok, that one is... 🤔
I rebuild with Big Sur's SDK btw, you may want to try this build it may be better : https://github.com/glouel/Aerial/releases/download/v1.9.5alpha3/Aerial.saver.zip
Also as I understand it, TvOS 14 also has some improvements to categorization of videos - Perhaps it's worth looking at that, and considering a similar categorization option here as well to 'match' to TvOS.
Wow, I actually checked and yep, they added an option to tvOS 14 ! That's crazy !

That said, yours are BETTER than that, so I would not say it's worthwhile to revet to ONLY the TvOS format.
I kinda like their idea of separating city landscapes and nature landscapes though ! I may artistically steal that idea 🤣
First off... Can we just talk about how much nicer this is?

swoon
Anyways... 🤣 No issues on launch, new UI looks good and works well!

I kinda like their idea of separating city landscapes and nature landscapes though ! I may artistically steal that idea 🤣
Solid plan!
Hey sorry all for the delay, was fairly busy and then went into some major internal changes, but finally have a new build. Be aware, some things look broken and it's not been tested on anything but Big Sur ;)
There are some big internal changes into what used to be the various video manifests, and I now call sources. As I think I mentioned earlier, one thing I really wanted in 2.0 was to only enable by default the latest tvOS videos. So that's now what's happening, and there's a new button (very temporary placement) called sources that pops that window :

UI is still a bit in flux, the various download buttons don't work, and the icons are only there on Big Sur right now, but you get the idea. You can enable/disable the various sources from here, internally one large change is that each source gets downloaded in it's own folder, so your files now look like this :

There's no more of the weird renaming I used to do, you probably don't care about all the internals but it make things a lot easier for adding new sources in the future, so that's a big win ;)
Also notice a couple of things :
I also further cleaned up the Cache UI, simplifying it a lot more :

There's basically the master switch to ask Aerial to download videos for you or not, and that's it. if you say so, you can set a limit (or not) and if you have a limit set you can pick how often videos are rotated. There's a new "Never" option that replaces the weird extra popup I had there, it's much more straightforward now. The rotation is still not in this build. I also removed a lot of options that no longer make sense (the old videos feature for one).
There's a lot of extra internal changes that will make sense in the next build, there might be one last alpha and I plan to have a beta out very soon (say end of next week).
Now, one last update, if you happen to have a DTK, you probably noticed that Aerial doesn't run there. It looks like Rosetta 2 ignores plug-ins (who doesn't !) so 3rd party screensavers like Aerial are one of those rare things that absolutely need to be recompiled for Apple Silicon.
Good news is, it's easy to make a universal build, bad news is, you can't notarize them yet so I can't distribute them. So if you have a DTK and really miss Aerial (as you should !) I've made it a bit easier to get it running.
git submodule init and git submodule updateThis target is easier to build, it removes Sparkle as a dependency. It should be straightforward, if you hit an issue, just ask.
Edit : Please note that you can't run 3rd party screen savers in Big Sur Beta 3 for Apple Silicon, it will hopefully be fixed in next release.
Hey @glouel,
So I downgraded from Big Sur back to Catalina as I was having some issues, so my feedback comes from here for now. As you noted, the new icons don't appear, but it appears that neither do the "Last updated" dates:

Side note, there's two spaces in the text between "can" and "also"

I will also note that my Cache appears to have disappeared. I am not quite sure if this was something caused by the new install, or perhaps it occurred when I downgraded from Big Sur. If no one else reports it, then it's probably on my end.

One other small UI Tweak:
The Limit Cache Size should limit with a start size of 0GB rather than 1GB. Why? Because otherwise, the lines don't line up, so 15GB shows up as 14GB in the UI bar. 25GB will appear as 24GB and so on.

Hey @glouel,
So I downgraded from Big Sur back to Catalina as I was having some issues, so my feedback comes from here for now.
Awesome !
As you noted, the new icons don't appear, but it appears that neither do the "Last updated" dates:
Yep need to fix that. What it does is show when the file was last modified. For "modern" tvOS versions (12+), you have the exact date Apple last modified it here. But that only works when you have the manifests downloaded, so that's why it's empty. In that case I'll hide the field fully ;)
Side note, there's two spaces in the text between "can" and "also"
Well spotted, thanks !
I will also note that my Cache appears to have disappeared. I am not quite sure if this was something caused by the new install, or perhaps it occurred when I downgraded from Big Sur. If no one else reports it, then it's probably on my end.
You mean that you no longer have files in /Users/glouel/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Caches/Aerial ?
I haven't talked about it but (...) I'm moving files back to AppSupport in next build, going to caches was not the best idea. It's quite possible that macOS wiped your caches because it needed space during the install/rollback thing.
One other small UI Tweak:
The Limit Cache Size should limit with a start size of 0GB rather than 1GB. Why? Because otherwise, the lines don't line up, so 15GB shows up as 14GB in the UI bar. 25GB will appear as 24GB and so on.
I've been struggling with that one, do I really want to allow a 0 GB cache ? What does that mean ? I went with unlimited on the right, that seemed mathematically logical UI wise. And if I put the min at 0.1 or something (my first instinct), it's just the same mess (that's why it goes from 1 to 61 right now which was my weird compromise).
Do we have an example of such a cache in macOS to get an idea of how it's solved usually ?
Closest thing I found was this, interestingly the scale is not linear, maybe that's the way to solve this I'll have a look :

You mean that you no longer have files in /Users/glouel/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Caches/Aerial ?
That's correct. It must have wiped at some point during the install.
I've been struggling with that one, do I really want to allow a 0 GB cache ? What does that mean ? I went with unlimited on the right, that seemed mathematically logical UI wise. And if I put the min at 0.1 or something (my first instinct), it's just the same mess (that's why it goes from 1 to 61 right now which was my weird compromise).
That's a fair question... I guess really a 0GB Cache is the same as saying "never cache"? So it could work?
Closest thing I found was this, interestingly the scale is not linear, maybe that's the way to solve this I'll have a look :
Another example is Energy Saver Prefs, same thing, not linear 1min shows as 0 on the line.

Having both ends of the scale (0 and unlimited) doing the same thing is a bit inelegant, what's why I went with 1 (probably inspired by this exact slider if I recall correctly).
Apparently not super easy to go to a non linear scale with a slider, I'll have a look if it's doable without spending too much time (it's basically easy if you only allow it to set on the ticks).
No big deal if you can't, definitely not worth a lot of work for something that doesn't actually impact the end result.
It's been a while again !
I think I mentioned earlier that one of the last thing I wanted to improve for 2.0 was the video list. With 99 "official" Aerials today, it's become fairly unmanageable, with a lot of scrolling, on top of not being super intuitive to use (and a pain to maintain the code to make it look right on every macOS release). So my first idea was to take inspiration from the "Desktop" selection from System Preferences, and use a grid view instead:

While that was a bit better (thumbnails!), I wasn't super happy about it, it still induced a ton of scrolling and it was hard to find a good size compromise for the thumbnails (too little and you can't recognize them, too large and you're scrolling even more than before). So that was a dead end. Another thing is, while the UI was definitely a bit dated already, after running Big Sur here for a while, Aerial's UI looked massively out of place. So as usual with me and Aerial, one thing lead to another (and many others), and here we are today with a full UI rewrite :

If you aren't running the Big Sur beta, it can certainly look a bit jarring. The idea behind the new UI is pretty simple, it's a 3 pane view for the video list, you can filter by various criteria on the left (location, time, scene, etc), then you get a list in the middle column and a full size preview on the right. If the video is cached, the video autoplays (I'll add an option to disable it, but it looks pretty nice).
There are three icons top left, that lets you switch from the video list, the settings and an about tab with links to the faq etc. Here are the settings :

I used the new large controls in Big Sur to be ready for whenever touch Macs come around, I ended up moving a lot of things around, trying to simplify things a lot, and removed a lot of cruft that accumulated over the years. If you don't have Big Sur, it should still looks decent, with regular size controls (on Mojave here) :

I'm releasing this one today as an alpha again, I'd love to hear about how it works on various macOS versions, if you see specific UI issues, etc, so please specify which macOS version you are running.
Some notes :
/Thumbnails folder in Aerial's Application Support directory to store them (as the {id}.png)
/Cache subfolder. Your videos will be moved on startup (including if you ran the previous alphas).So that's about it for this build, let me know if you hit unmentioned issues here !
And one last thing, if you still think that the UI is too small, well:

just resize it 😱
Get it here : https://github.com/glouel/Aerial/releases/download/v2.0.0alpha1/Aerial.saver.zip
Some feedback on that latest update running on Catalina! 😊
First off, it looks great, even on Catalina! I am so glad to see this overhaul! Thank you for your hard work!!
Some thoughts:
I seem to be able to choose either option on this pane. I assume that's a glitch given the permissions warning?

I'd like a little more info on this pane... Specifically, what the difference between checkmarking a video and downloading it is. I assume that checking will rotate it given the cache settings, but this should be made clear to users who aren't as regular users.

It's very slow to start, is there any way you could make it pause and let it load when first caching those stills? That would be a better result if at all possible. Even just a popup on first launch that says "Stills are caching, please note that the app may be slow to respond for a few minutes"
On this page below, it should state "Starting with" not "Since with" and developed has just 1 "p"

WOW! Impressive, gotta love the new UI. I just chipped in to help the cause.

First off, it looks great, even on Catalina! I am so glad to see this overhaul! Thank you for your hard work!!
Thanks !
I seem to be able to choose either option on this pane. I assume that's a glitch given the permissions warning?
Indeed, fixed for next build. I still think I'm going to remove Sparkle from Aerial and put it in a separate app on the side, I'll keep the panel but with a link to install the daemon.
I'd like a little more info on this pane... Specifically, what the difference between checkmarking a video and downloading it is. I assume that checking will rotate it given the cache settings, but this should be made clear to users who aren't as regular users.
Exactly. I don't know if the checkmark is the good metaphor for a video being on rotation, maybe there's something more obvious ? I'm open to ideas from SF Symbols here (those are the icons I'm using) : https://developer.apple.com/sf-symbols/
Couple of things I'm thinking of, first one is on the right large view, add something like "On rotation" with the same icon. Second one is, maybe instead of all videos being the first option on top, having instead a "On rotation" option, it's probably more intuitive that having the whole video list thrown at you. I'll move the All videos somewhere else.
I'm also open to tinting those icons. I think the white looks awesome on dark mode, but not that hot on light mode UI. I need to test default accent color (so blue) maybe for light mode only ? Green worked great on light/dark though...
It's very slow to start, is there any way you could make it pause and let it load when first caching those stills? That would be a better result if at all possible. Even just a popup on first launch that says "Stills are caching, please note that the app may be slow to respond for a few minutes"
Right now it does it on the fly as you scroll which is really bad, so waiting doesn't even help, but yes that's the plan, basically at first startup I'll gather everything during the onboarding screen (and if not done, use the download indicator at the bottom to show progress on this). Also the downloading is done on the main UI thread which is very bad 🙈
Regarding pure start time, things should improve a lot when I remove all the remaining stuff, basically all the old UI code/resources are still there, and removing Sparkle should make it faster too.
On this page below, it should state "Starting with" not "Since with" and developed has just 1 "p"
Oops thanks!
WOW! Impressive, gotta love the new UI. I just chipped in to help the cause.
Many thanks too !
I'd like a little more info on this pane... Specifically, what the difference between checkmarking a video and downloading it is. I assume that checking will rotate it given the cache settings, but this should be made clear to users who aren't as regular users.
I keep thinking about that one, so here are my raw thoughts on this, basically with the new version there are two modes, managed cache, and manual everything:
On top of that, some idea that was on the back of my mind was the ability to favorite/block videos with the new cache rotation. The idea being, if you favorite a video, it will always stay in cache and not get rolled over by a new one. Blocking, will never get cached (and deleted from cache if there). I think you kinda still need to be able to individually download videos in that mode, so I'm gonna leave the download button only on the middle column if you are in managed cache mode. I think that will make a lot more sense, and the fav/block button (or lock/block ? Lock may be more expressive than fav, but people understand fav a lot more easily I think) will go in the rightmost pane.
Favorite/block doesn't make much sense if you cache everything, so, while I don't like having two different UI modes, I think I kinda need to ? I'll keep thinking about it, maybe this can be solved some other way with just sets (which could go in the left sidebar too, there's just the need for a separate ui then to make the sets...)
To me this starts to feel more confusing than perhaps it needs to be... Let's go back to the basics of what we want to do:
Those three areas seem to be the goals of what you have been working on. I agree that users may want to be more specific about what videos they select, but this isn't something I feel like you should be spending lots of time on as it will overwhelm most users.
So let me suggest the following:

In terms of symbols... I wish that you could use the iCloud symbols... They actually make it work great, but I know that's not allowed. But perhaps using a collection of the same symbol would be better. For example, using square.and.arrow.down and square.and.arrow.down.fillto show download requests and downloaded... And then for selected videos perhaps the bookmark and bookmark.fillfor videos to save? Alternatively checkmark.seal and checkmark.seal.fill could also work
...oh also regarding touch screen Macs... I'll just leave this here for us Apple geeks.

- Allow each video to be turned on or off, in automatic mode this will select which items are rotated.
So that's about how it worked right now. When Aerial starts, everything is checked so everything is fair play for to be rotated in and out.
Remove the manual download option on each video, and instead make it so that this all occurs in the background when a video is enabled.
This is tricky, see below
- For manual users, allow them to manually download all checked videos. This would override any cache limits.
On that point definitely yes.
- For users that want to set only specific scenes or specific types of videos, allow a way to select collections, dark/light videos, etc. as a category as a whole. For example, allow a check mark next to each category here which would enable or disable all videos in the collection:
Yeah that's an option (probably more as a right click to put that category as what should be played). Video sets kinda worked like that, you could save/reload your enabled/disabled selection.
So here's where I am right now, basically I'm considering 3 states instead of on/off:
What I like about the concept of favorites is that I can use that for the sets too, I started making a ui like this :

On rotation is the first one on the sidebar, and if selected you get this bar on top that lets you pick what Aerial should play, should it play from everything, or just your favorites. That list could get completed with the sets created by users, for easy switching (or collection from sidebar). If you pick everything, in rotation shows the currently cached videos. That lets you know what you can expect to see if you launch the screensaver, which is pretty different from what may be enabled.
I kinda liked the idea of getting rid of the checkbox but I may end up keeping it. What I liked about it was that it made things a lot simpler in a way, you really liked a video, you favorite it (and it will stay around so you don't lose it to a reroll), you don't, you block it (and never see it again), the rest, well, it gets managed automatically. With 99 videos right now and more to come, that's a lot of micromanaging to enable/disable everything.
So my thinking was, hide the checkbox from that list. If the video is not downloaded, instead of the checkbox have a button to block/unblock (so it won't get cached). And if it's downloaded, show in the box a button to favorite/unfavorite. But in that scenario I'd keep the download button, maybe not in the list, but in the right most pane so you can get it now if you want it now (which is something I think should be in Aerial even in auto mode).
Maybe all of this is too complex, I kinda think the fav/block is easier to understand if implemented this way, but I may be really off on that one !
In terms of symbols... I wish that you could use the iCloud symbols... They actually make it work great, but I know that's not allowed. But perhaps using a collection of the same symbol would be better. For example, using
square.and.arrow.downandsquare.and.arrow.down.fillto show download requests and downloaded... And then for selected videos perhaps thebookmarkandbookmark.fillfor videos to save? Alternativelycheckmark.sealandcheckmark.seal.fillcould also work
I'll have a look thanks !
...oh also regarding touch screen Macs... I'll just leave this here for us Apple geeks.
Agreed, but I have a hard time thinking it won't happen though 😅
I love this idea!
I kinda liked the idea of getting rid of the checkbox but I may end up keeping it. What I liked about it was that it made things a lot simpler in a way, you really liked a video, you favorite it (and it will stay around so you don't lose it to a reroll), you don't, you block it (and never see it again), the rest, well, it gets managed automatically. With 99 videos right now and more to come, that's a lot of micromanaging to enable/disable everything.
This was exactly what I was thinking. I think that changing this to a favorites list does this great, and I totally support that.
So my thinking was, hide the checkbox from that list. If the video is not downloaded, instead of the checkbox have a button to block/unblock (so it won't get cached). And if it's downloaded, show in the box a button to favorite/unfavorite. But in that scenario I'd keep the download button, maybe not in the list, but in the right most pane so you can get it now if you want it now (which is something I think should be in Aerial even in auto mode).
Rather than this, just have it download automatically if not cached when something is favorited, and give the user the option to manually download all favorited videos from that pane. That way you can remove the download from each item. I can't see a scenario where someone would want to stream some videos and cache others? It seems more like a one or the other type of deal to me.
Agreed, but I have a hard time thinking it won't happen though 😅
Craig says they still aren't 😉 😂
I love this idea!
I thought more about it while grabbing some groceries, I'll add the collection option in here it should make a lot of sense. Same goes for sets later on.
I kinda liked the idea of getting rid of the checkbox but I may end up keeping it. What I liked about it was that it made things a lot simpler in a way, you really liked a video, you favorite it (and it will stay around so you don't lose it to a reroll), you don't, you block it (and never see it again), the rest, well, it gets managed automatically. With 99 videos right now and more to come, that's a lot of micromanaging to enable/disable everything.
This was exactly what I was thinking. I think that changing this to a favorites list does this great, and I totally support that.
Sounds good !
So my thinking was, hide the checkbox from that list. If the video is not downloaded, instead of the checkbox have a button to block/unblock (so it won't get cached). And if it's downloaded, show in the box a button to favorite/unfavorite. But in that scenario I'd keep the download button, maybe not in the list, but in the right most pane so you can get it now if you want it now (which is something I think should be in Aerial even in auto mode).
Rather than this, just have it download automatically if not cached when something is favorited, and give the user the option to manually download all favorited videos from that pane. That way you can remove the download from each item.It seems more like a one or the other type of deal to me.
Kinda is yeah, the only point of having a download button would be you want to download but not favorite, which makes little sense. Off it goes ;)
I can't see a scenario where someone would want to stream some videos and cache others?
Well streaming is definitely dead with 2.0 in any case. But not all of your videos may be cached managed. You can have custom videos alongside your cache, they aren't in the cache (and you should still be able to favorite them, or block them, which is why I'm sticking with the block button). There's this concept of local sources that I'll be introducing at a later point, it's kinda hinted at with the drag'n drop in sources (which does not work yet). I'll talk more about that one later.
Craig says they still aren't 😉 😂
Did he say that after wwdc ?
I thought more about it while grabbing some groceries, I'll add the collection option in here it should make a lot of sense. Same goes for sets later on.
Great!
Did he say that after wwdc ?
Yeah he did a podcast with someone (I'd have to go and dig it up if you're interested) and he emphasized that the Mac and iOS/iPadOS are independent devices... 🤷♂️
Also a couple of bugs I found...


Great!
Still a WIP but finally got it to work correctly :

Yeah he did a podcast with someone (I'd have to go and dig it up if you're interested) and he emphasized that the Mac and iOS/iPadOS are independent devices... 🤷♂️
I think I might have heard that on Gruber, now that you mention it.
Also a couple of bugs I found...
- The question mark buttons in the pane don't work:
Can confirm, need to fix that thanks
- Opening up the preferences the first time, it sometimes doesn't look right on first load. Changing panes does fix the issue, but on the first load of the pane it looks like this:
Now that you mention it, I saw it once in a vm but wasn't sure if it was just the vm being slow. Will have a look but I think it's the sidebar not reloading after the manifests get downloaded the first time, thanks !
I'm nearly there with the favorites by the way, and rethought one last time the block list. Here's my new "simpler" idea I'm considering, in the right panel, an option to "hide video" instead of "block video" . So not only will it never cache/play that video (aka block aka disable from playlist/future caching), but it will also get hidden from its respective categories.
And I'll add at the very bottom a Hidden section with all the hidden videos.
I kinda think that hide is dead simple to understand, although a block list is probably not that much more complex. I think hiding the videos from the main lists makes it a bit more manageable and gives you less scrolling overall, but quite frankly I think both options are fine...
I'm 75% on the hidden wagon right now, I'll go think about it over a walk but appreciate opinions ;)
I kinda think that hide is dead simple to understand, although a block list is probably not that much more complex. I think hiding the videos from the main lists makes it a bit more manageable and gives you less scrolling overall, but quite frankly I think both options are fine...
I think that would work great. It is also in keeping with the removal of terms like whitelist and blacklist that Apple has said they are phasing out - (granted so would block list, but... I agree hiding sounds better)
Here's a new build with a lot of the things we discussed so far and others:

I haven't fixed the slowdown/startup/hidden bubbles yet but that's coming too.
https://github.com/glouel/Aerial/releases/download/v2.0.0alpha2/Aerial.saver.zip

Any chance that we could allow Command + A to select all videos in a category and then apply a Favorite or Unfavorite command to the multiple videos? (Or alternatively drag and drop to the favorites menu?)
A small thing I noticed - the videos here should be listed in alphabetical order if possible... It's a tad weird with them all over the place and with "Australia" on the bottom and "Wulingyuan" on the top

One other thought I just had, it would be cool if at the bottom of the collection they stated the total runtime of the collection. Not sure if that's possible, but I noticed you were displaying each video runtime so that could be a cool small enhancement.
This is odd, it shows that the video, Golden Gate from SF, is cached, but the thumbnail is grey and the video has the cannot/do not play icon.

- This doesn't look right in the dropdown 😂
Oh wow ! I really need to convert the icons to pdf for other macos versions, I'm using SF Symbols as placeholders, but I also use the same name for the PDFs. And since film and star are actually one of the few symbols I imported as PDF, you get them fullsized here (120px)
- Any chance that we could allow Command + A to select all videos in a category and then apply a Favorite or Unfavorite command to the multiple videos? (Or alternatively drag and drop to the favorites menu?)
So I'm planning at the very least :
Multiple selection in the middle, that's a nice to have let's say.
- A small thing I noticed - the videos here should be listed in alphabetical order if possible... It's a tad weird with them all over the place and with "Australia" on the bottom and "Wulingyuan" on the top
Agreed, I need to double check that, because I thought I sorted the list on import. Maybe I'm misremembering !
- One other thought I just had, it would be cool if at the bottom of the collection they stated the total runtime of the collection. Not sure if that's possible, but I noticed you were displaying each video runtime so that could be a cool small enhancement.
That's a good idea, maybe something finder-like, "8 videos, 25 min runtime" or something like that ?
This is odd, it shows that the video, Golden Gate from SF, is cached, but the thumbnail is grey and the video has the cannot/do not play icon.
That one is a bit weird ! Can you reproduce after closing System Preferences and reopening ? If so, would love the log !
(And thanks both of you for the incredibly quick testing ! Barely had time to make a coffee ;))
Oh wow ! I really need to convert the icons to pdf for other macos versions, I'm using SF Symbols as placeholders, but I also use the same name for the PDFs. And since film and star are actually one of the few symbols I imported as PDF, you get them fullsized here (120px)
😂
So I'm planning at the very least :
A menu when right click on the left column to fav/unfav/hide a whole category
A menu when right clicking one from the middle column
Multiple selection in the middle, that's a nice to have let's say.
That works great for me!
That's a good idea, maybe something finder-like, "8 videos, 25 min runtime" or something like that ?
That would be perfect!
@r8ders2k That video didn't load right....
I'll also put it out there, I can't reproduce that on Catalina.
Bug:
Fill the Cache, then favorite a video. You'll get this error:

However, if you then press Cancel, the video stays favorited. It also occurs if you disable and then re-enable on the same video or a different one.
Yes, it happens every time. I've got a 21 second screen recording (48 MB), but I can't upload it.
@r8ders2k no worries about the video. Can you give me the AerialLog.txt instead ?
One thing I'm thinking of, I could see maybe if you had an incomplete download (maybe at 0 bytes) for that San Francisco video, that could explain the thumbnail and video failing.
Yes, it happens every time. I've got a 21 second screen recording (48 MB), but I can't upload it.
Try hosting on https://photobucket.com or similar. ,
Bug:
However, if you then press Cancel, the video stays favorited. It also occurs if you disable and then re-enable on the same video or a different one.
Nicely spotted, thanks, fixed it for next build.
I assuming this is the correct one, as two were listed in my search (see attached screenshots).
I checked the Cache folder for the first path shown in first screenshot and there appears to be one file that doesn't play when I press the spacebar.

Thanks, if it doesn't open with quicktime then the file got corrupted, possibly when it downloaded. That's the first time I'm seeing that, so it's a bit weird.
Creation date says July 11th, could be something was wrong with one of the betas earlier, I'd simply suggest deleting the file. If you see the problem reappearing let me know.
@r8ders2k I would back up what @glouel said here, though beat me to it 😂.
It looks to me like the issue is the file, based on the size it looks like the DL may have started but not completed. Either way, delete the video and re-download and it should work (I would think).
Jumping on what @ZV00 says, I assume you are running 4K HDR @r8ders2k right ? Looks like it's about 100 MB short :

What's super weird is that Aerial only saves files when they the download is completed, not before. And even a partial file should play (that's how we used to "stream")... One thought I had, possibly Aerial only got 3 of the 4 chunks of the file, but that wouldn't fit with your file size either.
I'll put it as a CDN mishap, or maybe your disk was full but that one is super weird !
Edit : Btw, lost about half the day installing/uninstalling beta3 of Xcode, which has a bug in the macOS SDK preventing me to compile Aerial... https://developer.apple.com/forums/thread/655247?answerId=622897022
I did fix the sorting and am halfway through the "8 videos, 32 mins" thing, not sure if I'll get much else done today so not sure if I'll push a build later tonight !
@ZV00 one last thing if I may, if you are running 4K HDR on Catalina, can you let me know if the thumbnails of videos are faded, or green in the case of sea videos ? I think it's a Big Sur bug with AVAssetLoader, because I get the exact same green tinge in Finder on the sea videos :

I don't think that bug was here in Catalina but I can't check here, would love to have confirmation before filing one more radar, thanks !
@glouel FWIW, that video is fine now...
@glouel Where's the option display ℃ or ℉?

Is that something that can be done based on location? For example, ℉ in the U.S. and ℃ everywhere else with the option to change it manually.
@r8ders2k I messed up a constraint, if you are on a large screen, try maximizing the width of the window, it to the right of the icons ! If you can't find it I'll put a new build for you, let me know.
Strike that, it doesnt work. I'll put up a new build sorry about that one ;)
@r8ders2k there you go : https://github.com/glouel/Aerial/releases/download/v2.0.0alpha3/Aerial.saver.zip
Few things changed outside of the temperature:
Big caveat, I was in the middle of implementing a fix for the HDR thumbnails (looks like the bug happens with Dolby Vision HDR videos only, I managed to reproduce on Catalina so that's not cool). At startup I grab all the missing thumbnails so you may see it stall for a minute if you are missing thumbnails ! Sorry about that one. But if you want your thumbs to look ok, delete the content of Thumbnails, launch this build and be patient ;)
Seems to be unable to wake with Big Sur beta 3. have to open macbook pro to get it to wake up from screensaver as keyboard and mouse doesn't do anything. Any tips to resolve?
@nat1nat1 can you try unchecking everything in the Updates settings ? Sparkle is known to misbehave like that, that's why I'll be ripping it out soonish.
As a workaround in the meantime, press Cmd-Opt-Shift-Escinstead of closing/opening.
Thanks for the workaround. Have unchecked. Was running 1.9.1. Updated manually to 1.9.2 but release notes suggest won't make a diff. Ignore - found alpha3
First startup will be a bit rough on the preference panel, check my message above for more details on what to expect ;)
@glouel Thanks for the update. Take a bit for Alpha 3 to load. Also sometimes, when I click the Info icon, Aerial's settings disappear, as if it quits and returns me to the System Preferences' Screen Saver and the preview is black. If I click on Screen Saver Options, nothing happens. This can usually be rectified by quitting out of the System Preferences app.
@glouel Thanks for the update. Take a bit for Alpha 3 to load.
Only the first launch should be super slow, it should be fine afterwards after all your thumbnails are cached, I'll fix that tomorrow !
Also sometimes, when I click the Info icon, Aerial's settings disappear, as if it quits and returns me to the System Preferences' Screen Saver and the preview is black. If I click on Screen Saver Options, nothing happens. This can usually be rectified by quitting out of the System Preferences app.
Can confirm just reproduced that here too, when it disappear like that the panel crashes, looks like I messed up something will have a look !
Edit: found that bug, it's fixed for next build thanks again, the bug reporting really helps me a lot !
@glouel Sorry for the slow reply, was busy last night!
@ZV00 one last thing if I may, if you are running 4K HDR on Catalina, can you let me know if the thumbnails of videos are faded, or green in the case of sea videos ? I think it's a Big Sur bug with AVAssetLoader, because I get the exact same green tinge in Finder on the sea videos :
I don't use 4K HDR, just HEVC, but what I do see has no green discoloration.
@r8ders2k there you go : https://github.com/glouel/Aerial/releases/download/v2.0.0alpha3/Aerial.saver.zip
Few things changed outside of the temperature:
Videos are now sorted
There's a new label at the bottom of the list that says "8 videos, 38 minutes" for now as a placeholder
Big caveat, I was in the middle of implementing a fix for the HDR thumbnails (looks like the bug happens with Dolby Vision HDR videos only, I managed to reproduce on Catalina so that's not cool). At startup I grab all the missing thumbnails so you may see it stall for a minute if you are missing thumbnails ! Sorry about that one. But if you want your thumbs to look ok, delete the content of Thumbnails, launch this build and be patient ;)
That last build just introduced some major bugs for me on Catalina. It looks like you may have fixed the issue, but I am reporting them juuuuuust in case it helps narrow it down further:


If I then selected a category it seemed to work...
It appears the "Your Cache is full" error now occurs both when starring and un-starring a video...?



To me this feels cleaner and also fully uses the interface. The info tab with a single page feels a little small in comparison to all the sidebar items in the remainder of the app.
@glouel Sorry for the slow reply, was busy last night!
No worries !
I don't use 4K HDR, just HEVC, but what I do see has no green discoloration.
Again no worries, I checked in a VM and reproduced the issue on Catalina. There's a workaround in now for HDR.
That last build just introduced some major bugs for me on Catalina. It looks like you may have fixed the issue, but I am reporting them juuuuuust in case it helps narrow it down further:
- I installed it, I clicked on Screen Saver options and it immediately closed and then went black
I'll check that one thanks, usually that's a crash (if you have a sec, look at Console.app, look for a crash report maybe ? I'm not sure you'll get one, it's weird).
- The options button no longer worked.
- After a restart of System Prefs, it opened, but all I saw was this:
- If I then selected a category it seemed to work...
Can confirm this one, just reproduced it. Switching sidebar mode on top fixes it too.
- It appears the "Your Cache is full" error now occurs both when starring and un-starring a video...?
Woops, need to check again thanks !
- I wanted to also recommend a revision of the info page... At the moment, it doesn't feel like it's styled as well as other parts of the app, so I'd love to see the following:
- The main About page should match similarly to other Apple apps. For example:
On that page it should have the name, the version number, and any specific copyright/trademark info (based on what you have I think it's fair to say something like "Developed and maintained by Guillaume Louel. Apple TV and tvOS are trademarks of Apple Inc." - I'd then like to see the panel on the left used so there's a "Credits" tab. In the credits tab, have the translations help credits along with something like "If you can help with translations, please contact us here" - I'd also like to see an "About" tab, and in the "About" tab, there is where I would mention the history about John Coates development and how it transitioned to your open source project. - Lastly, I'd like to see the help links transitioned into a "Help" or "Support" tab that would put the info there. - Additionally, instead of the donate button on the front page (though if you want it to be the first thing that pops up, I would totally understand that), I'd recommend possibly considering a "Donate" tab where you explain what the donations go towards, and why you keep the app free. This feels a little more personal and I think may help drive donations your way.
To me this feels cleaner and also fully uses the interface. The info tab with a single page feels a little small in comparison to all the sidebar items in the remainder of the app.
Agreed on all of this, I'll put that on my list !
Right now I made a couple of slightly radical changes:
Still need to finish some stuff, but I'll post a link of the prototype soon. So far it went much better than I expected, I should probably have done this a long time ago considering I keep getting issues about Sparkle with Catalina+.
I'll check that one thanks, usually that's a crash (if you have a sec, look at Console.app, look for a crash report maybe ? I'm not sure you'll get one, it's weird).
Unless it's a SafariQuickLookPreview Crash...? I have nothing.
Agreed on all of this, I'll put that on my list !
Great!!
Right now I made a couple of slightly radical changes:
completely ripped out Sparkle
removed all the code/ressources from the old ui
nearly finished a standalone updater (at least a prototype) that will be the new way to auto update Aerial (unless you use homebrew)
This is great! I also have HomeBrew, but I would encourage you to ensure that the ReadMe on GitHub explains how. I used it previously, but it's not basic info for people who have no terminal experience.
Are we able to use that prototype yet? I saw your repo for it.
Unless it's a
SafariQuickLookPreviewCrash...? I have nothing.
Yeah it's not, usually legacyScreenSaver.appex, although they rarely are there somehow anymore for some reason I don't understand...
This is great! I also have HomeBrew, but I would encourage you to ensure that the ReadMe on GitHub explains how. I used it previously, but it's not basic info for people who have no terminal experience.
So here's the new ui (can still be improved but you get the idea) in Aerial :

The second link goes to https://github.com/JohnCoates/Aerial/blob/master/Documentation/Installation.md (which will need to be updated). The "recommended" installation method will probably go to the updater if it's successful.
The updater looks like this (again super early right now)

Are we able to use that prototype yet? I saw your repo for it.
Not testable yet but coming soon, finishing the manifest making tool right now that gives the latest versions available and their sha checksums. When that's done I'll put a link here thanks !
So my recommendation here would be as follows:
brew cask install command, add a button that copies it to clipboard for users who might otherwise mis-type it. I should also ask and we should make clear whether a user who previously installed Aerial manually can switch to using the brew cask upgrade command
So my recommendation here would be as follows:
- For the
brew cask installcommand, add a button that copies it to clipboard for users who might otherwise mis-type it.- Add a button to a readme that adds the info on how to install Homebrew. I think the easiest is something like a button that says "Learn More" and goes to: https://brew.sh
I should also ask and we should make clear whether a user who previously installed Aerial manually can switch to using the
brew cask upgradecommand
Great suggestions I'll put that on my list too, thanks !
I finally managed to get the updater to work : https://github.com/glouel/AerialUpdater/releases/download/v0.1/AerialUpdater.app.zip
Now, it's very early. Download/unzip, put in a directory somewhere (probably will make a dmg later on with a link to /Applications). Launch, you'll get the plane emoji in your status bar, click it, it should tell you which version of Aerial is installed (as long as it's for your user, if you installed for All Users, well, don't do that !).
Pick a release (alpha/beta/release), then click install. The very first time you do it, at least in Catalina, you get prompted about accessing your Downloads folder (I thought it would be a good idea to download the file here...). Just say yes, but when you do that the popover will close itself, so just wait a bit (like 30 sec), and try opening it until it says the version you picked is installed, then you can try again and get the full experience.
What it does:
Downloads)~/Library/Screen Savers/If it fails at any point, you get a message next to the spinner (will improve that obviously). Security-wise, while nothing is perfect, I think the manifest, sha-256 checks, team bundle id and team id check, on top of GateKeeper/notarization requirements is pretty solid, if not overkill.
I've tested it on Big Sur and Catalina, going back and forth between 1.9.2 and 2.0.0alpha3 and it works pretty great so far. One thing I haven't accounted for yet in the list above, is making sure your System Preferences is closed. I will do that for the next build. So make sure it's closed before installing a build.

Let me know if it works for you, it's super early, and obviously the goal is to have it do it in the background in the end, but it's more a proof of concept to test the download/verify/install sequence and it seems to work, it's even notarized (with sandboxing off obviously).
Just gave it a go... The downgrade doesn't work for me. It stays on Alpha 3... Otherwise it looks great.
Should probably add a quit function while we are testing it so it's easier to restart... 😂
What error message did you get in the popover ? Did you have System Preferences closed ?
And 🙈 about the quit function, will do lol. Just closing/reopening the popup should reload whatever is important though.
What error message did you get in the popover ? Did you have System Preferences closed ?
Nothing appears...
The very first time you do it, at least in Catalina, you get prompted about accessing your Downloads folder
And 🙈 about the quit function, will do lol. Just closing/reopening the popup should reload whatever is important though.
😂
You don't get a spinner with various messages below the Install now ? Make sure you keep the popover open and don't close it after you click install, if you close it you lose the debug messages (I know ;)).

(nice job, screenshot tool btw on that one 😱)
Edit : Here in Catalina, more readable :

I get the spinner but no pop up and no change. Here's a video clip going from Alpha to Stable to Alpha.

I went back one more time afterwards back to 1.9.2 and I see this (sorry crappy screenshot, but you'll note it's the alpha interface despite showing 1.9.2 is installed.

I get the spinner but no pop up and no change. Here's a video clip going from Alpha to Stable to Alpha.
So that works correctly, latest available won't change, but currently installed correctly changes to what you picked. When currently installed changes, it actually goes to read the bundle so the file is there.
I went back one more time afterwards back to 1.9.2 and I see this (sorry crappy screenshot, but you'll note it's the alpha interface despite showing 1.9.2 is installed.
No worries about the screenshot. You didn't happen to have Aerial installed for all users instead of just your user ? And System Preferences was closed (I mean the whole System Preferences, not Aerial's panel) ? Can you close/reopen again just to see ? System Preferences won't reload the new version unless it's restarted if it was open (but if its closed it will load the new version)
May I ask in terminal, try : defaults read "/Users/{youruser}/Library/Screen Savers/Aerial.saver/Contents/Info.plist" CFBundleShortVersionString to see what it says ? It will tell you what's there.
(pretty sure you need a full path somehow, the ~ didn't work here or I'm tired)
You didn't happen to have Aerial installed for all users instead of just your user ?
It's long enough ago I can't remember. if you can tell me how to uninstall it via terminal (or otherwise) I can start from scratch and check.
And System Preferences was closed (I mean the whole System Preferences, not Aerial's panel) ? Can you close/reopen again just to see ?
What you're seeing is after that. I quit System Prefs and re-opened the entire app
May I ask in terminal, try : defaults read "/Users/{youruser}/Library/Screen Savers/Aerial.saver/Contents/Info.plist" CFBundleShortVersionString to see what it says ? It will tell you what's there.
The terminal command does correctly match what is shown in the dropdown.
@glouel I installed Aerial Updater and it says that Aerial is not installed...

But I LIKE it!
It's long enough ago I can't remember. if you can tell me how to uninstall it via terminal (or otherwise) I can start from scratch and check.
Sure:
cd "/Library/Screen Savers"/
ls
if you see Aerial.saver here, rm -rf it !
What you're seeing is after that. I quit System Prefs and re-opened the entire app
I see...
May I ask in terminal, try : defaults read "/Users/{youruser}/Library/Screen Savers/Aerial.saver/Contents/Info.plist" CFBundleShortVersionString to see what it says ? It will tell you what's there.
The terminal command does correctly match what is shown in the dropdown.
Ok so you have the correct version installed, so probably you have two Aerial versions installed, check above ! It's likely you had two versions in System Preferences too.
@glouel I installed Aerial Updater and it says that Aerial is not installed...
@r8ders2k can you check if you installed for your user or all users ? Go check into "/Library/Screen Savers". If Aerial.saver is there, delete it ! Then install via the tool.
When I do
cd "/Library/Screen Savers"/ ls I get:
Aerial.saver
If I then either type rm -rf or alternative do cd "/Library/Screen Savers"/ rm -rf it doesn't do anything. (Sorry terminal noob here)
When I do
cd "/Library/Screen Savers"/ lsI get:
Aerial.saver
If I then either typerm -rfor alternative docd "/Library/Screen Savers"/ rm -rfit doesn't do anything. (Sorry terminal noob here)
try rm -rf Aerial.saver
Had to add a sudo, but it worked.
Only issue? I still see this:


Side note, you should consider adding a Discord channel 😂
Yep for sudo, all good then. So that's it, you had 2 versions installed ! So now you only have one, and the tool should work as intended.
@r8ders2k Go check into "/Library/Screen Savers". If Aerial.saver is there, delete it ! Then install via the tool.
Yes, it was. Deleted/moved, re-installed & selecting only me, and Aerial Updater working as expected. Thanks!
Yep for sudo, all good then. So that's it, you had 2 versions installed ! So now you only have one, and the tool should work as intended.
Confirmed. It works now! Was confused, thought it would entirely uninstall 😬.
Yes, it was. Deleted/moved, re-installed & selecting only me, and Aerial Updater working as expected. Thanks!
Awesome, thanks again for the super quick testing to you both !
Confirmed. It works now! Was confused, thought it would entirely uninstall 😬.
Pretty sure you had two on the list previously and kept opening the other one. Screen savers are not intuitive !
Side note, you should consider adding a Discord channel 😂
Done : https://discord.gg/tweDgq
I'll put a link up tomorrow, thanks again !
On macOS Big Sur, there's no icon.

Yep I’ll add one soonish thanks !
Are there any plans for an alpha channel for homebrew? I'd like to help with testing out the latest versions but I don't particularly want to have an updater running passively and would also prefer not to check github or my email to find the latest version to unzip.
Are there any plans for an alpha channel for homebrew? I'd like to help with testing out the latest versions but I don't particularly want to have an updater running passively and would also prefer not to check github or my email to find the latest version to unzip.
Hi @oddharsh
A few things:
I think you should be able to have another cask with the prerelease builds, for instance aerial-beta or aerial-canary. Admittedly I'm not too familiar with the dev side of homebrew!
also, there is no easy way to quit it.
also, there is no easy way to quit it.
New version with a fancy quit button ;) And an icon !

https://github.com/glouel/AerialUpdater/releases/download/v0.2/AerialUpdater.app.zip
It's about the same otherwise, still missing some stuff will get to it later.
I know I'm very picky, but could you make the icon round like the new macOS icons?
I know I'm very picky, but could you make the icon round like the new macOS icons?
Can you explain what you mean by this ? It's round so... ;)
Side note to Big Sur beta 3 users, Apple is doing something weird with the sandbox paths, so your old cache/settings may be ignored from Beta 2/previous macOS.
The new path is (in my case)
/Users/glouel/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64/Data/Library/Application Support/Aerial
(or)
/Users/glouel/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.arm64/Data/Library/Application Support/Aerial
instead of
/Users/glouel/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial
If you try to browse from Finder, you can only find the old path (you can reach the "new" one via Advanced > Show log in Finder). The "new" path is not browseable, it looks like they are doing some more magic aliasing but it's clearly not working as intended.
Because of this weird aliasing, your cache is still in the old place and ignored by Aerial, and so are your settings. I just saw that my preferences were reset and my cache empty. So if you are using Big Sur B3, move the content from the old path to the new (the one with x86_64) and same thing for your settings (a couple levels below in Preferences). I'm pretty sure there's a large bug in beta 3 around that new path aliasing, so just mentioning it so you're not surprised like I was !
Edit : Deleting com.apple.ScreenSaver.Engine.legacyScreenSavermakes the folders appear, but with a - instead of a . (why...) in Finder. I suggest you don't do that, just move the content from Aerial's folder to the new path !
I know I'm very picky, but could you make the icon round like the new macOS icons?
Can you explain what you mean by this ? It's round so... ;)
If you look at the Big Sur icons, they are all round squares.
It's just a suggestion.
Thanks in advance!
If you look at the Big Sur icons, they are all round squares.
It's just a suggestion.
Thanks in advance!
Ha I see, it's an icon I made a couple years ago right now, I'll see about updating it when I have a sec but I'm not a designer so this may take some time.
New updater that actually does checks in the background : https://github.com/glouel/AerialUpdater/releases/tag/0.3
New Aerial build that fixes the terrible startup time while generating thumbnails (you can delete your thumbnails directory to check), removes all of the old resources/code that were unused, removes Sparkle, and also has a few improvement/fixes (not everything as I spent most of my time finishing the updater). It's starting to get there : https://github.com/glouel/Aerial/releases/download/v2.0.0alpha4/Aerial.saver.zip

how does the background system work?
Looking great!
I would second the question from @applekillerbyjames about knowing exactly how it goes about running and checking in the background... but:



I think I mentioned this earlier, but it would be great if the command could be copied here:

I would also mention that Brew cask should likely reference aerial2 as well as mentioned in item 2
AerialLog.txt so that if someone goes looking they can find something. @glouel So, I had 1.9.2 installed on my rMBP (11,3) and thought I'd try out AerialUpdater 0.3 and selected Alpha 4 as desired and the updater said it was installed, but System Preferences showed 1.9.2. I did a Finder search for Aerial and found 3 folders. Similar to what you mentioned previously. Here's screenshots of the pathways. I also found 2 additional folders for the Aerial screen saver.





So, should I start over cleanly or just move files from the legacyScreenSaver to the x86.64 Aerial folder?
@glouel So, I had 1.9.2 installed on my rMBP (11,3) and thought I'd try out AerialUpdater 0.3 and selected Alpha 4 as desired and the updater said it was installed, but System Preferences showed 1.9.2. I did a Finder search for Aerial and found 3 folders. Similar to what you mentioned previously. Here's screenshots of the pathways. I also found 2 additional folders for the Aerial screen saver.
Aerial.saver :So this is Aerial installed for all users, please delete this one (in /Library/Screen Savers/). This is why you still saw 1.9.2 in System Preferences. I will add a detection to the updater in the next build to warn you about that should that happen, kinda forgot sorry !
This is Aerial installed in your own user directory, that's the good one, keep it (if you delete it, the updater will tell you Aerial is not installed and offer to install for you). That's the one the updater will auto update in any case.
Application Support/Aerial :So, first, this was where Aerial used to put its files before Catalina. So you can just wipe that folder (because of the sandboxing, I couldn't do it automatically, though this could be a cool feature for the updater, cleaning up your stuff !)
So that was the container folder where Aerial was running in Catalina and Big Sur Beta 1/2. You have your cache and settings in there.
And this is the new path from Big Sur Beta3. I'm not sure what they are doing at this point but this is where Aerial runs now for some reason. This may be a temporary bug but in the meantime it's as if you lose your settings and your cache (again, that's completely independent of if you are running 1.9.2 or 2.0.0).
So, should I start over cleanly or just move files from the legacyScreenSaver to the x86.64 Aerial folder?
You can do both. If you want to start over, just delete stuff from the old paths But here's what I would suggest precisely :
To move over your settings :
Move from: ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist
to:
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64/Data/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist
Then if you want to move your cache, you can safely move the content of:
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Application Support/Aerial/
to:
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64/Data/Library/Application Support/Aerial
That will bring back your settings and cache for Big Sur beta3.
I think they messed up something as depending where you look, you see the path with a -x86_64 instead of a .x86_64. See your screenshots above, in Finder you see a dash (-), but if you copy the path by right clicking the thing you circled in red (as I did above), you get a dot (.) instead !
I strongly believe they wanted to do a path aliasing of both .arm64 and .x86_64 to the "old" location, but might have messed up with the-instead of a.(or vice versa), making the aliasing not work and both path exists on the file system (you can check on your Intel Mac running Big Sur beta 3, you have this path :~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.arm64/Data/Library/Application Support` existing, which likely should not be there). Whether/how they try to fix that in beta4 or later, I have no idea ! I'll keep checking what they are doing in the future and try to adapt, I'm probably going to put a startup warning in Aerial if I detect Big Sur beta 3 so people aren't surprised about it.
I wouldn't be surprised they wipe out the content of the x86-64 folder though in next beta to resolve this.
Edit : I filed a radar about that one right now, hopefully it will get fixed soon.
how does the background system work?
So I just put a longer description on the readme, I think it answers pretty much everything, if it doesn't let me know. Check here : https://github.com/glouel/AerialUpdater
I would second the question from @applekillerbyjames about knowing exactly how it goes about running and checking in the background...
Well I didn't answer the background thing ! So right now, I'm using a "unscheduled" timer using a DispatchSourceTimer(apple doc here) to periodically check the manifest I mention above. If a new version is available, depending on your choice, you get updated or notified (by the icon change). A check also happen right at startup (which may be a bit weird in automatic mode, which I think was the default I set).
It's unscheduled so it's not running on the main thread, and not using any energy. Like most macOS things, there are MANY ways to do this, but so far it looks ok, I let it running since I released 0.3 and it doesn't register any activity/energy expanditure as expected:

Here's my logs so far :
2020-07-26 18:27:51.532 : Checking for new version...
2020-07-26 18:27:51.533 : Manifest downloaded, alpha: 2.0.0alpha4, beta: 1.9.2, release: 1.9.2
2020-07-26 18:27:51.533 : New version available !
(...)
2020-07-26 19:27:51.294 : Checking for new version...
2020-07-26 20:59:09.494 : Checking for new version...
2020-07-26 22:12:11.526 : Checking for new version...
2020-07-27 00:10:43.411 : Checking for new version...
2020-07-27 02:07:39.116 : Checking for new version...
2020-07-27 04:04:27.830 : Checking for new version...
2020-07-27 12:40:32.479 : Checking for new version...
2020-07-27 13:40:32.570 : Checking for new version...
2020-07-27 14:40:32.501 : Checking for new version...
So it starts off ok. Precisely one hour after installing alpha4, it checked again, then you can see it drifting as I was infrequently in front of the computer, waking up the system now and then. After 4am said mac went to sleep for the night and was awaken around 12 and is running since then, with update check happenning with 1hour interval as expected.
So it seems:
So, so far so good. I may end up changing the way the background check is scheduled but I think this is fine for now, we'll see if someone has an issue I guess.
- After installing the latest updated it automatically updated as expected to Alpha 4!
🎉
- Aerial seems to now be called both Aerial and Aerial2... We should keep that consistent:
I was pondering whether calling it Aerial2 or not... But I guess Aerial is pretty canonical by now.
- I think I mentioned this earlier, but it would be great if the command could be copied here:
It's on my list, will get to it.
- Fun glitch: If you do the following, you no longer have a log file... 🤦♂️
- Open Aerial
- Go to Settings > Advanced > Show Log in Finder
- Delete the Log
- Quit System Prefs
- Relaunch > Note that Show Log now goes to Finder but there's no log
- Note that the workaround is to enable Debug mode and then relaunch Aerial in System Prefs. Ideally this shouldn't be required. There should always be at least a blank
AerialLog.txtso that if someone goes looking they can find something.
Well, if you don't enable debug mode, there's no log generated at all, so in your scenario it was off right ?
Because if you have debug mode enabled, quit sysprefs, delete the log, relaunch sysprefs, you'll get a log created before you even click Screen saver options.
The tiny preview generates the log, that section starts with :
2020-07-27 15:09:19.766 : avInit .saver (0.0, 0.0, 296.0, 184.0) p: true o: true
And when you click Screen saver options, there's this very terse section added, as I didn't add much logging to the new ui yet 🙈
2020-07-27 15:11:35.553 : PWC2 init
2020-07-27 15:11:35.553 : PWC2 wdl
2020-07-27 15:11:35.555 : /PWC2 wdl
So just to confirm, you had debug mode off right ? I guess if debug mode is off, I could disable/hide the button, although it's a convenient way to access your cache folder especially with the big sur shenanigans around paths ;) I actually detect if the file is there to select the file, and if not I just open the folder in finder (I think).
So just to confirm, you had debug mode off right ? I guess if debug mode is off, I could disable/hide the button, although it's a convenient way to access your cache folder especially with the big sur shenanigans around paths ;) I actually detect if the file is there to select the file, and if not I just open the folder in finder (I think).
It was off, but I still had a file. I assume this is due to logging I did in the past. I guess in my mind, it just feels weird for a button to lead to an incorrect file. So I almost feel like when you click that button it should check whether or not a debug file exists, and if not, create a blank one just so the path exists... But maybe that's not how this stuff works normally 😂
New Glitch found:
I went back to Big Sur from Catalina. In order to do that, I had to create enough space on my Mac mini to install Big Sur. This required me deleting all the videos in the Cache folder (about 22GB).
Upon doing that the following happened on first launch of Aerial in Big Sur Beta 3:
All of these settings should have persisted despite removing the cached videos?
So that's the Big Sur Beta 3 bug with the container paths, from the previous post :
Move from: ~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver/Data/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist
to:
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64/Data/Library/Preferences/ByHost/com.JohnCoates.Aerial.{UUID}.plist
And to clarify, the path name for the second path is the one you get from terminal. If you try to find that path in finder, it's actually called legacyScreenSaver-x86_64 instead of com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64, because that would be too simple ;)
Is there currently any way to apply several filters at once to indicate the videos I'd like to have on rotation? (e.g. 4K tvOS 13, or non-4K Sea, etc.) I think that feature would be awesome.
Also, I think there should be a button in Aerial Updater to open up Aerial's preferences, if possible.
Is there currently any way to apply several filters at once to indicate the videos I'd like to have on rotation? (e.g. 4K tvOS 13, or non-4K Sea, etc.) I think that feature would be awesome.
So right now, the best way to apply multiple filters would be to play with favorites and hide.
Let's say you want everything tvOS 13 without the Sea videos, you can hide all the sea videos. Right now you have to press the hide button on each individual video you want to hide, then pick tvOS 13 for rotation.
If you want Space + Sea, your best bet would be favoriting all Space and all Sea videos, then set favorites to rotation.
I'll add some enhancement in the form of the ability to right click a category on the sidebar to easily put it in rotation, or hide, or favorite a whole category, that would make things simpler.
Adding a custom filter (making your own category, based on whatever criteria you want) is a nice idea, I'll think about it for a future version.
Also, I think there should be a button in Aerial Updater to open up Aerial's preferences, if possible.
That's a great idea ! I have no idea if that's possible though... I need to think about that one.
So, after pushing it back as far as I could, the rolling cache/new download in the background is finally here, here's how it works:

This whole process is repeated each time a video starts playing, Aerial will only download one video at a time this way. So far it works pretty well. If you switch category from the On rotation, you'll be able to fill up your cache to whatever new you picked this way.
Please note that it's possible that the very first video you see may not be from your rotation, if you have no video that satisfy the current criterias, while Aerial starts downloading one, it will display whatever is cached, then move on to the newly downloaded ones.
This version also brings icons to all macOS versions, and not just on Big Sur.
I'm releasing this one as the first beta : https://github.com/JohnCoates/Aerial/releases/download/v2.0.0beta1/Aerial.saver.zip
@glouel Not sure if this is the right place for AerialUpdater feedback, but it's not working for me. Both with 0.3 and 0.4. Both recognized that 2.0.0beta1 was available. But when I selected download, I got the spinning progress indicator and nothing seemed to happen. Odd thing with 0.4 was its menu bar icon was dimmed.
Here's a screen shot of 0.3

and here's a screen shot of 0.4

Okay, my bad, mea culpa... I didn't select Beta as the Desired Version. 0.4 installed 2.0.0beta1 as expected. But maybe need a check in there to prevent/avoid someone not selecting the appropriate download.
All setting were remembered.
Forgot to mention, 0.4's icon is now appearing normally.

@r8ders2k I'll have to check, if you had say 2.0.0alpha3 installed and had release picked, it's possible that the updater got confused... I'll double check thanks for the report!
@glouel When I missed up, I saw that 2.0.0beta1 was available when I first clicked AerialUpdater's icon, I subsequently clicked download. I did not change anything in Desired Version. When I realized me oops, I then selected Beta in Desired Version and then clicked download. I saw the status updates as it updated.
I actually did have this same issue:
@glouel Not sure if this is the right place for AerialUpdater feedback, but it's not working for me. Both with 0.3 and 0.4. Both recognized that 2.0.0beta1 was available. But when I selected download, I got the spinning progress indicator and nothing seemed to happen. Odd thing with 0.4 was its menu bar icon was dimmed.
![]()
However, similarly, when I switched from the Alpha 1 to Beta 1 it fixed the issue and downloaded.
If I then switch back too the Alpha choice it doesn't try to change versions.
So you were on alpha3 and had alpha selected as the desired type ? It should have installed the beta still...
I’ll check tomorrow and let you know !
I think the issue may be that it's displaying Alpha 1 not Alpha 3


FYI the icon gets dimmed right now during the install process, so somehow you were both stuck on that. I'll get back to you guys tomorrow thanks for the report, and if you are on the alpha track, if there's a beta more recent than an alpha, it should let you install beta1, that's how I designed the thing, same thing the day I release 2.0.0 finale, if you are on the alpha track you still get the very latest version. But I guess it doesn't work as expected right now ;)
Edit : And you need to cmd+shift 4 instead of 5 for your menu bar screenshots, there's a bug in Big Sur with menu screenshots ;)
Edit : And you need to cmd+shift 4 instead of 5 for your menu bar screenshots, there's a bug in Big Sur with menu screenshots 😉
Interestingly I did that with Command Shift 4 and got that result, so go figure 😂
Also, same issue occurred with the latest beta release of Aerial. Appears that I continue to not be able to install when it's set to Alpha channel, but it works fine set to the Beta channel.
Edit : And you need to cmd+shift 4 instead of 5 for your menu bar screenshots, there's a bug in Big Sur with menu screenshots 😉
Interestingly I did that with Command Shift 4 and got that result, so go figure 😂
Those menu bar menus are a bit of a mess right now ;)
Also, same issue occurred with the latest beta release of Aerial. Appears that I continue to not be able to install when it's set to Alpha channel, but it works fine set to the Beta channel.
Yeah, I think I mentionned it somewhere, there's a stupid bug in there that makes the updater look in the wrong repository and it gets stuck, so stick with beta track for the moment sorry about that one.
I've been working mostly on internal stuff and unfinished features but I'll put out a new beta of Aerial tomorrow, a lot of it is polishing small things and enabling some new pretty cool stuff ;)
Beta 3 with the new vibrance controls for non HDR videos. Long story short, if you run SDR videos and want to make them pop a bit, you can now use either the global slider in settings, or individual on each video (to override) to add some vibrance to videos. It looks like this :

Default vibrance

Increased vibrance
There are also a new right click menu on the sidebar, and many, many fixes : https://github.com/JohnCoates/Aerial/releases/download/v2.0.0beta3/Aerial.saver.zip
@glouel FYI, AerialUpdater 0.4 is working like a charm. Last 2 betas updated just fine.
@glouel FYI, AerialUpdater 0.4 is working like a charm. Last 2 betas updated just fine.
Great to hear ! Just pushed beta4, it's a quick fix for the weather that wasn't working in the last couple of betas !
@glouel I really, _really_, really appreciate all the work you do here. I especially appreciate your passion to make Aerial not only work on macOS, but _feel_ like a true macOS app and adopting changes and new paradigms introduced by macOS 11. I usually have to lobby hard for people to use the tools/Frameworks that Apple gives us devs to build more elegant software.
Making all those settings and available options not only work, but also look appealing within the context of the setup dialogs is no small feat either. I'm really impressed.
Just a few small things:
PS: "Thank you" for throwing the JSON files in sub folders, got to change my download script now.. 😉
@glouel I really, _really_, really appreciate all the work you do here. I especially appreciate your passion to make Aerial not only work on macOS, but _feel_ like a true macOS app and adopting changes and new paradigms introduced by macOS 11. I usually have to lobby hard for people to use the tools/Frameworks that Apple gives us devs to build more elegant software.
Thanks, I tried hard to make if fit on Big Sur, this was not particularly easy (and there are still some rough edges) but it's getting there
Making all those settings and available options not only work, but also look appealing within the context of the setup dialogs is no small feat either. I'm really impressed.
Thanks !
- In the past there were issues with Aerial installed via Homebrew Cask and sandbox paths (meaning that the screensaver was installed in a location without write permissions), is that fixed?
I can't remember having an issue opened about that. This might have been a temporary homebrew issue around a macOS release ? Basically, homebrew copies the file in ~/Library/Screen Savers/(and AerialUpdater does the same thing), that path is not sandboxed.
What is sandboxed is where Aerial lives when it runs, but that's completely independent of installation method so there are no known issue here that I'm aware of.
- Did you think about a possibility to exclude the Aerial Cache directory from Time Machine? I do this manually, but given that aerial is thrown into the legacyScreensaver package it's quite the chore to navigate there manually from TimeMachine's file browsing dialog
So right now the cache is in Application Support in the sandbox, and that's Time Machined. As far as I am aware, I can't programatically add a path to Time Machine exclusion list from Aerial, so that's a no. What I could do is put an option to have the cache in the Caches folder of the sandbox. This is something I'm going back and forth on a lot, I may add that switch in the end.
- I opted-out of testing Big Sur this year, but are there any indications as to how Aerial can overcome being a "legacyScreensaver" in Apple's parlour?
Sadly nope, all screensavers will remain behind the legacy thing for the time being.
PS: "Thank you" for throwing the JSON files in sub folders, got to change my download script now.. 😉
Are you downloading the JSONs by yourself or something ?
I did post beta5 tonight, but it's mostly tiny UI fixes (like the Vibrance label being black on light mode instead of white in the live preview), no major changes for this one.
@glouel The bug I refer to was filed a while ago and I don't think there was a "resolution" for the issue: https://github.com/JohnCoates/Aerial/issues/917
In short, the "ByHost" preferences folder was not created by the Cask-based installation and as such preferences weren't saved.
Are you downloading the JSONs by yourself or something ?
I'm downloading the actual video files, renaming them appropriately and such to use on other devices (e.g. Smart TV). It's an easy change to adapt, I just need to remind myself to do it sometime.
@glouel The bug I refer to was filed a while ago and I don't think there was a "resolution" for the issue: #917
In short, the "ByHost" preferences folder was not created by the Cask-based installation and as such preferences weren't saved.
I haven't had anyone complain again about that one so I think it was more of a temporary catalina thing. It's the OS job to create the ByHost folder so that shouldn't be an issue. So far on new Big Sur machines I've installed Aerial on, this has not been an issue.
I'm downloading the actual video files, renaming them appropriately and such to use on other devices (e.g. Smart TV). It's an easy change to adapt, I just need to remind myself to do it sometime.
All the files are now names entries.json so it's easier in a way ;)
So heads up again, after installing Big Sur Beta 4, you're going to "lose" your cache again, similar to what happen in beta3.
So your "old" path in terminal was :
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86_64/Data/Library/Application Support/Aerial
The new one is :
~/Library/Containers/com.apple.ScreenSaver.Engine.legacyScreenSaver.x86-64/Data/Library/Application Support/Aerial
yes, its gone from _64 to -64, I think someone is toying with me right now 🤣
If you browse from finder they have the exact same name (_)... so you need to move from the "oldest" to the "newest" :

I know it's a terrible experience, but this is really out of my hands, on top of being quite out of hands.
The "good" thing is, Apple Silicon users can rejoice, screen savers work in Big Sur beta4. So at least there's that !
@glouel Any issues 2.0.0Beta 4/5 not remembering settings?
@r8ders2k see my post above, it's Big Sur beta 4. You need to move your files from one location to another.
@glouel Copy that, thanks! But, what about Catalina 19G73? As the same thing happened.
Did you downgrade from Big Sur or was that another machine that was on Catalina all along ?
It's a Late 2012 Mac mini, max'ed out with Catalina.
Can you go to settings, advanced, see if you still see your videos in the cached path ? And paste that path here if you can ? I don't have a catalina machine around so I'm not sure what happened here...
@glouel I didn't see anything like that in Advanced, but here's a screen shot or two...


Here's the log
@glouel and as for moving, I just re-did the settings. If that's ok...?
Definitely fine redoing the settings.
And I meant you can click "Show log in finder" to go to where Aerial store your cache, sorry I should have explained !
I have no idea what happened to your settings, your cache still looks to be here, so your settings should have loaded... I'll try and replicate thanks for the report and sorry about that one.
@glouel No worries.
@glouel FYI, I received your e-mail about 2.0.0Beta6 this morning, but on my iMac, neither Aerial or AerialUpdater notified me of the update. I checked AU and it was set to Auto vs. Notify. But my Mac mini (Catalina) updated automatically.
@glouel FYI, I received your e-mail about 2.0.0Beta6 this morning, but on my iMac, neither Aerial or AerialUpdater notified me of the update. I checked AU and it was set to Auto vs. Notify. But my Mac mini (Catalina) updated automatically.
@r8ders2k I'll try to release the new updater later today, I changed a lot of things and fixed a lot of bugs, just need to get a couple more things in.
So on your iMac in the meantime, make sure you :
It should work then for now until the new build. It used to get stuck if it failed to download something (like if you picked alpha or some other github thing).
I'm a bit late here, but 2.0.0 is, finally out ! Check it out on the main repo page, there's a new companion installer too to make it simpler, and fix the auto update issue !
Just used AerialUpdater to install 2.0.0.
@glouel I just saw the e-mail for Aerial Companion, but I noticed that the app itself is named, "Aerial". It's that going to be a little confusing? Kinda like, "Apple TV".
@glouel I just saw the e-mail for Aerial Companion, but I noticed that the app itself is named, "Aerial". It's that going to be a little confusing? Kinda like, "Apple TV".
So I am not sure what @glouel will say regarding this, but to me this isn’t all that confusing as there’s no separate application for the actual Aerial Screen Saver, and this is in fact be the only Aerial.app that you see anywhere.
Ha sorry forgot to reply to you @r8ders2k
I'm kinda of two minds on this one. My gut instinct was to call it AerialCompanion.app. But it was pointed, I think rightly by a couple of people, that naming it Aerial.app would be much simpler to understand for non tech people.
So I'm a was a bit torn on this. But now I have to stick to it as changing the name will mess upgrades.
- Did you think about a possibility to exclude the Aerial Cache directory from Time Machine? I do this manually, but given that aerial is thrown into the legacyScreensaver package it's quite the chore to navigate there manually from TimeMachine's file browsing dialog
@PatTheMav been a while but as of 2.0.4, there's an option to do just that. What it does is move your cache to the Caches directory which is auto ignored by Time Machine.
@glouel Great news. It didn't seem to move current cache files in my case though.
I definitely need to take some time and sift through the source code to learn a thing or two about macOS UI work. 😁
Ha, sorry about that. I've tested it a few times and for some reason I couldn't figure out, once in a while it didn't move to the cache, with no error anywhere. I thought it was just me messing up something.
Sometimes sandboxes are weird... I do have another migration check that runs when the screensaver runs, that one has been a lot more reliable than moving files in the system preferences pane, I'll update it for next version to fix whatever don't get moved.
I think you figured out the path but if you didn't in the meantime let me know.
The old 1.9.X code was probably not a great learning experience about macOS ui :D 2.0, I'm certainly a lot less ashamed of my code ;))
Yeah I just deleted the old cache files after moving the folder, no worries.
Most helpful comment
So a bit of an update, as I got some of it working now. So here's what's implemented :
Application Supportwill only contain the manifest files (the various tvOS.json and the TVIdleScreenStrings13.bundle), andCacheswill only contain the videos. Everything used to be inCachespreviously, until I changed it with Catalina because of containerization and the fact that Catalina install wiped the cache during install. Since the goal is to get a more "transient" system, I'll stick with this for now, it's easier to manage for me with the goal of the rolling cache.Application SupporttoCaches. This should be seamless for users (and work for both Catalina and older macOSes).Probably some work to do on the wording, but that aside, anytime you try to download something, you'll get prompted. Accept and it goes through, deny and it's cancelled. Downloaded files go into
Cachesas mentioned above.So right now, basically the "Stop downloading new videos" version of the new cache is done. If you pick the rotate option, you'll get the exact same thing as that's the part that's not implemented 😅
I'll be working next on the rotation thing but so far so good. The last step will be the videos UI as this will really need a cleanup with the rotate option.
If you want to try it, I put up an alpha here, be aware it's early though and may contain bugs : https://github.com/glouel/Aerial/releases/download/v1.9.5alpha1/Aerial.saver.zip