My plan, and what is not in it
Where I want LightPhotos to go. Your photos stay on your drive. Any AI runs on your own computer. Only the basic features must work on every platform.
No. Your photos stay as files on your drive. I will not keep a library for you.
Until now, I decided the direction one feature at a time. That is how a small tool slowly becomes a large tool. A written list kept the first version small: the seven-item list in the first post. This list is for the next year.
Your photos stay yours
There is no account, no upload, and no library that I keep for you. Your photos are files on your drive, and LightPhotos opens the folder that already contains them.
I learned this when I lost years of photos, because only one app could read their library format. That still controls most of these decisions.
I also want LightPhotos to reach drives that are not plugged into your computer, starting with Google Drive. The problem is speed. A photo tool that stalls every time you press the arrow key for the next photo is not good enough to ship. So I will only do this if the performance is good enough, and I do not know yet if it will be.
I am not cloning Lightroom
Lightroom has many very good features, and I will not try to match them. Its AI features are the strongest part, and almost all of them send your photo to servers that a different company controls. I will never do that.
Instead, I want to try ComfyUI, which runs AI image models on your own computer, next to your photos. I did not build any of this yet, so it is an idea, not a promise.
Not every feature on every platform
If every feature had to work the same way on all four platforms, I would ship fewer features, and plainer versions of them. So I use two groups with different rules. The basic features already run everywhere, and similar features that I build next join them.
Beyond the basics, I want to find out how much Apple's own frameworks can do for me. Object Capture, for example, makes 3D models from photos. I know the cost from porting away from Image I/O: these frameworks do a lot of work for free, but you cannot take it to other platforms. So these features will probably stay Mac-only, possibly permanently. I would rather have a feature on the Mac than not at all.
Getting your photos out
LightPhotos is not your photo library, so it must be easy to send your photos to one. I plan to support Immich, a photo library that you can host yourself, and export to cloud storage in general. Export must work the same for a server on your home network and one on the internet, not as two features with one half complete.
Everything from the keyboard
I want every feature, not only the common ones, to work without the mouse. I wanted shortcuts from a photo tool from the start, and they are why Luminar did not fit how I work. Also, when I chose to build everything in Rust, I gave up the accessibility that browsers give you for free. Keyboard support is the part of that problem that I can correct myself.
Shortcuts you can change
What I hate most about photo apps is that each one uses different keys. Luminar AI, RawTherapee and Darktable each want you to learn their own keys, and that is a large part of why I do not use them. So every shortcut in LightPhotos will be customizable. If you already know a set of keys from another app, you can use those keys here.
Open source, all of it
I plan to open source the full app. I do not mean a core library without the interesting parts held back, or an old version released later. I ask you to trust that your photos stay on your drive and that nothing gets uploaded. You should be able to check that yourself.
The next app works the same way
I want to build other Rust apps the same way. First, a native Mac app, because I use a Mac and know that user well. Then I take the basic features to the browser with WebAssembly, and from there to the other platforms that people use.
Three methods came from this codebase, and I expect to use them again without changes:
- Share the basic features across all platforms, but let the other features be different.
- Keep the core editing code in a module that is separate from the interface.
- Weigh the cost of a platform's frameworks before I depend on them.
What the list is actually for
This plan has no dates. I work on LightPhotos at irregular times, so quarterly deadlines would only be guesses. The list gives me a reason to say no. The first version shipped because I wrote down seven things and left everything else out. This list uses the same idea, but it is larger.
Please argue with it. If something is wrong or missing, tell me in the issue tracker. I will read it.
The current builds are on the downloads page. To try LightPhotos without an installation, use the browser version at the web app.