Does Aspect meet my needs for a NAS based workflow?

Hi!

I’m about to install Aspect to see if it is the photo management tool I’m looking for. But before I try how it “feels” and fit my workflow, there are some questions I hope I could get answered.

As background: I’m considering a switch from Mylio, which I’ve been using for a long time to manage 20+ years of photos—approximately 85k assets totaling 1,4 TB of data. The reason I’m exploring alternatives is that I recently set up a home server running Unraid and want to use a share on that as the primary storage for my photos. However, the only way to use it with Mylio is as an S3 storage provider, which I don’t want to do.

With the server as my primary storage for photos, it’s important that they’re stored in a normal file system rather than as S3 blobs. Being able to access my photos independently of any software is a requirement, particularly from a backup perspective. My plan is to create off-site backups from the server to cloud storage, and having the ability to restore photos from that backup independently of both Mylio and my Unraid server is essential.

With that, I wonder what on my wish list Aspect tick off:

  1. Allow me to store my photos on my server, directly on the standard file system so they’re accessible with any tool from either my MacBook or the server itself.
  2. Support for RAW files from Fujifilm X-trans cameras and common video formats.
  3. Replicate the file system structure in-app, enabling me to move photos in either Finder or the application.
  4. Store thumbnails and metadata locally on my notebook so I can organize photos even when disconnected from the share containing the originals, including moving photos between folders and perhaps even libraries.
  5. Temporarily store some originals on my notebook for faster access. It would be beneficial to keep recent photos on my computer while maintaining a long-term archive on the server. (Based on forum discussions, this might be achievable using two libraries—one local and one on the server. Could both be open in Aspect simultaneously, and would drag-and-drop between them work?)
  6. Write metadata to XMP files stored alongside the originals to avoid vendor lock-in.
  7. Provide AI for object and face recognition that operates locally, without sending anything to cloud servers.
  8. No other data transmitted to your servers or third-party services.

I understand that there is a headless Linux server in development. Would it be possible to run it as a container on Unraid? What are the benefits of using the server compared to just using a server/NAS for storage?

As long as you support XMP exports, the risk of you going out of business is not a long-term problem. Yet, I would prefer to invest time and money in something that hopefully will be around for years. I understand that this might be a question you don’t want to answer, but I’ll give it a shot: What do your plans for the future look like? I’m fully aware that you haven’t released version 1.0 yet! :slight_smile:

My plan is to try Aspect, so one final and more practical question: My photos have not yet been moved from their current drive to my server. Would it make more sense to first move my photos and then point Aspect to that library, or should I use Aspect to create a new empty library on my server and import photos in batches through Aspect?

Hi! I think most of this should fit and work well, with a few caveats. I’ll try to first answer the easy points first:

  1. Support for RAW files from Fujifilm X-trans cameras and common video formats.

Both of these should generally work fine. With our current RAW decoder X-trans RAWs tend to be rather slow when decoding in 100% resolution, but depending on the workflow that may not even be necessary. Video format support is a bit different depending on the operating system, but the most common formats work on all of them.

  1. Write metadata to XMP files stored alongside the originals to avoid vendor lock-in.

Check

  1. Provide AI for object and face recognition that operates locally, without sending anything to cloud servers.

We don’t have face recognition implemented right now, but AI based image analysis will soon be available and it will rely on a local Ollama installation that is available somewhere on the network. Following our privacy focused view on this, we currently also don’t have plans to support cloud based services.

  1. No other data transmitted to your servers or third-party services.

Check

  1. Allow me to store my photos on my server, directly on the standard file system so they’re accessible with any tool from either my MacBook or the server itself.
  1. Replicate the file system structure in-app, enabling me to move photos in either Finder or the application.
    (…)

I understand that there is a headless Linux server in development. Would it be possible to run it as a container on Unraid? What are the benefits of using the server compared to just using a server/NAS for storage?

I can’t say for sure, but the chances should be good that the server version is working on Unraid, since all direct dependencies are included. It may be necessary to unpack the AppImage in case libfuse is not available in the right version. An Ubuntu Minimal based container should also work fine.

In both setups, the library folder will be a plain folder with the images being directly accessible by other applications.

  1. Using the server version of Aspect
    • :white_check_mark: Allows multiple devices to synchronize with the server backed library at the same time
    • :white_check_mark: Depending on the size of the library, may require more RAM than a basic NAS machine may have
    • :prohibited: Since the web UI is limited, it has a simplified way of handling external changes in the file system. Where the desktop version would ask for confirmation in certain cases (e.g. when files have been deleted directly from the file system), the server version will just assume the least destructive default choice (keeping those files in the library catalog in that example), which may not always be desirable.
  2. Using a network share to directly expose the library folder
    • :white_check_mark: Does not require any special setup on the server side
    • :white_check_mark: Behaves better in cases where a different software is also used to organize the library folder
    • :prohibited: Only a single device can open the library at a time

Aspect for the most part abstracts away the concept of a folder as an “event” and the possibilities to work on a plain folder level are currently very limited. We plan to eventually make (sub) folders directly visible in the navigation bar on the left of the main window, though, as well as allowing drag and drop within the “File Browser” panel and the folder browser views to make plain folders more of a “first-class citizen.”

  1. Store thumbnails and metadata locally on my notebook so I can organize photos even when disconnected from the share containing the originals, including moving photos between folders and perhaps even libraries.
  2. Temporarily store some originals on my notebook for faster access. It would be beneficial to keep recent photos on my computer while maintaining a long-term archive on the server. (Based on forum discussions, this might be achievable using two libraries—one local and one on the server. Could both be open in Aspect simultaneously, and would drag-and-drop between them work?)

Both setups would allow to create a synchronized instance* of the library on the notebook, with the storage rule set to something like “Last 6 months”. Both instances of the library will be kept in sync automatically and will contain the same set of files, collections etc., except that the storage rule allows to restrict which photos/events will be physically available. You can also right-click an event and mark it as “Keep Event Available Locally” to keep it available on the notebook, regardless of its age.

The idea with the synchronization system is to allow all kinds of organization, regardless of whether the affected files are available physically or not, but there are some limitations:

  • Only physically available files can be moved between different libraries.
  • Currently only physically available files can be moved within the library, but this is just a limitation of the UI and is considered a bug that we’ll fix eventually.
  • Editing files only works in events or individual photo folders that are physically available. This might be made more flexible in the future, but there are a lot of possible issues with external software potentially expecting other files apart from the edited file being present, or creating such files, so this needs to be considered carefully.

What do your plans for the future look like? I’m fully aware that you haven’t released version 1.0 yet!

Off the top of my head, these are the main areas that we plan to expand post 1.0:

  • AI based image analysis (search and keywords), face detection and geo tagging
  • Add basic built-in non-destructive editing, starting with crop/rotate
  • Enable synchronization of libraries over the internet and add ways to “share” photos with others
  • Implement a new GPU accelerated RAW decoding engine that enables faster and higher quality RAW development

Apart from these, we are always looking at feedback and adjust our priorities accordingly - the organization workflows of different people are incredibly diverse, so that it’s generally really hard to predict which features or improvements will have the overall most positive impact.

* Each library instance has its own library folder, but all instances are conceptually the same library. Changes are synchronized between them continuously, so that no manual moving or copying of files is necessary.

1 Like

Hi Sönke! Thanks for taking the time to answers in such a detailed way, much appreciated! Will install and try Aspect as soon as I have my server installed!

For an instance of my library that’s stored on my notebook’s hard drive, is it possible to create rules based on labels, ratings, etc as well? Or is it just time-based rules?

For the server version, can you expand on the memory needs vs library size?

How far away is exposing sub-folders in the left pane?

Upon installing Aspect, I realised that there is one fundamental question I could help some assistance with: What is the recommended way to start using Aspect with an existing folder structure with photos, videos, and XMP files? As a scanned folder, or would it be better to create an empty library and importing there in steps? Are existing folders treated as Events or Individual Photos?

My folders structure is currently mostly YYYY/MM/DD but also some YYYY/Event or YYYY/MM/Event mixed in.

Right now, the path pattern used for events only works based on the name of the event, as well as the combined date of the contained images. Individual photo folders will use the individual dates of the photos, but are also restricted to dates.

We are thinking about how to best approach an automatic organization on a finer level (sub folders within an event or within an individual photo folder), but the details still need to be worked out. I’m seeing this as something to be tackled together with showing folders in the navigation panel and expect this to be solved within the same time frame.

Some related topics:

For the server version, can you expand on the memory needs vs library size?

For a server process that has loaded three libraries with a total of around 200,000 files, I’m getting around 1.2 GB of memory usage while base memory usage with no library loaded is around 220 MB. This doesn’t always behave linearly and there may be some spikes during various activities, but as a minimum, having 1GB plus 1 GB per 200k photos available should be okay.

How far away is exposing sub-folders in the left pane?

It’s one of the features that is prioritized to fall roughly within the first 12 months after the 1.0.0 release.

As a scanned folder, or would it be better to create an empty library and importing there in steps?

I would definitely recommend starting with a scanned folder and then using the “event selector” (“Library” → “Mark Folders as Events…” in the menu bar) to determine which folders should be treated as events. With this approach, the events will stay in place for the time being (indicated by a little shortcut arrow icon) and the process is faster and more incremental.

We used to have a semi-automatic version of this as an import feature, but it turned out that the organization schemes different people use are just too diverse for that to work reliable enough.

I think you misunderstood my question. I was wondering about settings for which photos to keep as high resolution images on my computer’s hard drive. And when I’ve now installed Aspect, I have found out that you can configure the sync to be for manual selected events only, in addition to based on time etc.

Have you considered adding e.g. rating (keep local copies of all photos with 4 or 5 stars), specific color labels, etc?

Your suggestion is that I use the File Browser at the bottom of the left pane to open the NAS folder with my current folder collection by selecting Add folder “photos” to the library, right?

That would include them in my library without moving them, i.e. adding them as a Scanned folder making them accessible inside Aspect immediately. When that’s done, I can start the process of going through them, slowly importing them into the library (actually moving them into to folder structure Aspect manages)?

But I’m clearly doing something the wrong way, 'cause trying this gives me this error message:

The folder is stored on a drive that’s already added as a library device, but on the same folder level as the Aspect library:

What am I missing? :slight_smile:

I just realised that this option also allows for adding external drives as library devices as a way to do backups? What benefits/downsides would I get from not only using my NAS as a library device (which is backed up to the cloud) but also a external drive?