Under the hood


The architecture of fotoARRAY was created for You - it should enable you to browse your images with fun, no matter how many pictures they are. The work you put in tagging the images should also not be lost, even if fotoARRAY stops to work.

The catalog is owned by a small server process that starts with fotoARRAY and sits in the tray. The main program, the File Browser and fotoARRAYRAW are clients of that process. They ask it for pictures and send it changes, they never write to the database themselves. This has three consequences.

Stability

If a client crashes, the catalog is not affected. The server keeps running, the last change is committed, and the next client that connects sees a consistent catalog. During the import, RAW files are decoded in yet another process with memory and time limits, so a damaged file cannot stop an import. The developer decodes the picture you open inside its own program; if a file crashes it, the catalog is still not affected.

Integrity

Because all changes go through one process, they are serialised and journaled. Two programs can work on the same catalog at the same time without stepping on each other. Every change can be undone, also after a restart.

Flexibility

Any program that speaks the protocol of the server can use the catalog. Today these are the three programs of the package. The protocol is documented and simple, and it is the way we add functions without touching the core.

Small download, small catalog

fotoARRAY is a download of a few dozen megabytes. Every function was weighed against the size it adds, and functions that would have made the download large were left out or put into the optional PRO package. There is no framework, no runtime and no bundled browser inside.

The catalog is a single SQLite file plus a folder with packed previews. It stores the metadata, the recipes, the albums, the keywords, the history and the previews in three sizes, including a preview in HD quality that is good enough for the single view and for a slideshow. About 400,000 pictures with small previews take roughly 60 GB of real disk space.
The preview store is compacted on request, and the catalog can be maintained and checked from the menu.

The program runs without installation. Unpack it, start it, open or create a catalog. It writes its settings to the registry and nothing else to the system. To move to a new computer, copy the program folder and the catalog.

Backup, export and synchronisation

Backup

The backup function writes a consistent copy of the catalog while the program is running. Since the catalog is a file, any backup program can save it as well. Backup and maintenance are never behind the paywall.
During backup we also write one ZIP file with XMP version of the tags you added to your pictures in subfolders which match the location of the original files.

Export an album as a stand alone catalog PRO

An album can be exported into a new catalog with its pictures, previews and metadata. Give that catalog to somebody who does not have your pictures, and they can browse the selection with the Free Edition, on any Windows computer, without the originals and without the limit of 100 pictures per view, because the exported catalog carries a mark that lifts it. This is our answer to the question of how to hand over a photo legacy: a folder with the program and a catalog file, no account, no service.

Planned: Synchronise two computers PRO

Changes to the catalog are journaled. The journal can be packed into a file and applied to a copy of the catalog on another computer, or pulled directly over the local network. Stars, colours, keywords, albums, recipes and new pictures travel; the younger change wins; deletions arrive as suggestions in a review album. A travel mode sets a copy to read only so nothing on the notebook conflicts with the home computer.

Catalogs from the previous version

Catalogs from fotoARRAY 2 are imported with their pictures, thumbnails, stars, colours, keywords and albums. The import runs once and leaves the old catalog untouched.

The License is Yours!

fotoARRAY can check whether a newer version exists and sends the version number for that. 
The license activation sends the code, an anonymous machine id and the IP address to a server in Germany.
You can re-activate fotoARRAY with the license codes you receive 60 days after the purchase - no need for an activation server after that date!
There is no cloud storage, no account. The catalog and the pictures stay on your disks.