Constellate
What we fixed
Software honest enough to show its work. Every release, newest first: what was wrong, and what it does now, in plain English.
A quick follow-up
A small update on the heels of 3.1, tidying the what's-new card and the tour's very first frame.
A short follow-up to the 3.1 polish release.
The what's-new card knows its place
The in-app what's-new card tried to carry the history of every version at once, which grew long and unwieldy.
It shows the newest version in full and links the older ones out to this page, so the whole history has one home.
The tour lines up from the very first moment
A tour tip could appear a touch out of line with the thing it pointed at for the first instant, before settling into place.
Each tip is aligned the moment it is drawn, so it sits on its target from the very first frame.
The polish release
Once the bug track was clean, we made the everyday path clearer, calmer and more honest. Here is what changed, in plain English.
With the bug track finally clean, 3.1 is the release where Constellate stopped fixing and started polishing. The rail that tells you where you are, the tour that sits still, the settings that explain themselves, the preview that says what it is about to do.
There are still real fixes in here, the last of the batch, but the theme of 3.1 is plainer: making the everyday path calm, clear and honest.
You always know where you are
The workspace had a rail of steps down the side, but it did not always show which one you were on. On a long job it was easy to lose your place and wonder what you were looking at.
The rail marks where you are at every step, the whole way through. You always know what is on screen and what comes next.
A welcome tour that stays put
The guided tour dimmed the app to point things out, but the title bar could stay bright and a tip could drift out of line with the thing it was describing.
The tour dims the whole window evenly, title bar included, and every tip holds its place on the thing it points to.
Settings that explain themselves
Settings was a wall of switches with short labels. It was not always clear what a setting did, or whether it was safe to change.
Every setting is written to help first, in plain words that say what it does and what will change if you turn it on. Nothing is left to a guess.
The preview says what it is doing
The preview showed where your photos would go, but it did not always explain its shelves, show clearly which date a photo was filed under, or warn you that a photo was about to be renamed.
Each shelf explains itself, the date a photo lands under is shown plainly, thumbnails are cropped to their centre so you can actually see them, and any rename is spelled out before it happens.
A folder's name can date the photos inside it
Scanned photos with no date of their own went to Needs Review even when the folder they came from plainly named the year, like a box marked "Florida 1982".
When a photo has no date but its folder names a year, Constellate reads the year from the folder and files the photo there. A box of old undated scans no longer has to be sorted by hand.
Needs Review shows the whole pile
The Needs Review folder listed the photos a run was about to place there, but not the ones already resting in it from before, so it looked emptier than it really was.
It lists every photo resting there, the ones already present and the ones just added, so you see the whole pile in one place.
The iCloud push no longer stops at the first snag
Sending photos up to iCloud could stop dead on the first name clash or hiccup, leaving the rest unsent and unaccounted for. It could even report success for a folder that no cloud service was actually watching.
A file that clashes is set aside and named, the rest carry on, and the push only confirms an upload for a folder a cloud service really manages.
One clear voice, and honest progress on big libraries
Different modes described the same scan in different words, a very large library could sit on the fingerprinting step with no sign of progress, and Move mode did not make clear it would move rather than copy.
Every mode narrates the scan the same calm way, the fingerprinting step shows its progress on big libraries, and Move mode announces itself in colour so you always know copies stay put unless you chose otherwise.
And the rest of the batch
- The after-run check now counts a copy as arrived only when your bytes are really there, never when a leftover or half-written file happens to sit at the destination.
- The fingerprinting step can no longer hang on a single stuck file. It gives up on that one after a moment and carries on.
- A one-off trip name you type for a single import no longer becomes the standing rule that every later import follows.
- The filter screen's photo scan now stops the instant you press Stop, on every path, not just the usual one.
- A file the app cannot read is now reported plainly, and it stays untouched in place, instead of quietly disappearing unless verbose logging was on.
- The preview always draws from the same plan the sort will run, so what you see is exactly what happens, and renamed special folders no longer leak onto your main collection.
- A second undo in a row now counts only what it actually undid, instead of reporting the first undo's photos all over again.
- The Live Photos count now counts pairs rather than files, so a photo and its little clip count as one.
- The "so many of so many photos" count on the filter screen now counts photos on both sides, instead of measuring photos against companion files.
Every fix here has a written record of the code before and after, and a regression test so it cannot quietly come back.
What we fixed in the 3.0 series
The 3.0 builds are our bug-hunt series. Here is what was wrong, and what it does now, in plain English.
Constellate makes one promise above everything: your originals are never put at risk. So before 3.1 ships, we did nothing but hunt our own bugs for a stretch - reading the engine line by line and trying to break it before you ever could.
This page is the honest tally. No issue numbers, no jargon. What was wrong, and what it does now.
The counts now tell the truth
A preview could promise photos the run would then skip, and a perfectly clean run could end with a warning that something was missing when nothing was.
Every number on screen matches what actually happens. Photos already in your library are counted as left in place and named one by one, and if you change a filter, the old numbers say so instead of pretending.
Nothing quits halfway
One locked file, one folder the app was not allowed into, or a moment of disk trouble could stop a whole sort, undo or clean-up and take everything else down with it.
The one troublemaker is set aside and reported, everything else finishes, and a correction you typed is kept instead of thrown away when a write fails.
Your cloud stays in the cloud
Several places would quietly download a full-size copy of an online-only iCloud or OneDrive photo just to look at it, and tidying a cloud folder could delete the copies every other device relies on.
All of them work from the photo's stored details instead, and any job that would move files out of a cloud folder stops and asks first. Nothing downloads behind your back.
Companion files stay with their photos
The small companion files that carry a photo's edits and labels could be stranded: moved away while their photo stayed put, left behind while their photo moved on, or two of them silently overwriting each other.
A companion file follows its photo everywhere, stays put when its photo stays put, and no two can ever land on the same name.
Dates land on the right day
A Google export taken near midnight, a photo edited long after it was shot, or a neighbouring photo's stray details could each file a photo under the wrong day, sometimes the wrong year.
The moment a photo was actually taken wins every time, worked out in the time zone of the place where it was taken.
Cancel means cancel
Cancelling an undo, a repair or a reorganise did nothing, the job simply ran to the end, and one mistyped word could turn a dry run into the real thing.
Every long job stops when you say stop and tells you exactly how far it got, and anything billed as a preview is guaranteed to touch nothing.
A move can never lose a photo
A move between drives, an undo between drives, or a power cut at the wrong moment could each leave a photo in limbo, existing nowhere you could trust.
Every move copies first, checks the copy really and fully arrived, and only then removes the original, with the whole run written down so even a power cut can be undone.
Everything you point it at gets counted
Hidden folders were silently skipped, the new half of a photo-and-video pair could be left behind because its other half was already imported, and a cancelled scan quietly weakened duplicate detection.
Hidden photos are found, every member of a pair is checked on its own merits, and duplicates are caught even after a scan was interrupted.
And the small ones you would notice
The menu icon drew as three uneven lines, saved profiles forgot a few of your settings, and screen readers never announced the keyboard shortcuts.
Three clean, even lines, every setting remembered, every shortcut spoken.
Every fix here has a written record of the code before and after, and a regression test so it cannot quietly come back.
What we fixed launching on the Store
The redesign, the Microsoft Store submission, and a heavy batch of sorting-safety fixes. Here is what was wrong, and what it does now.
This is the stretch where Constellate became the app it is now: the redesign that starts with a single question, the Microsoft Store submission, and a heavy round of making the sort itself safe.
Most of the work here sits close to your originals, which is exactly where it should be. What was wrong, and what it does now.
Photos kept in the cloud
If your photos lived in OneDrive or iCloud, the app looked at the folder and found nothing at all.
It finds every photo saved on your device and honestly tells you how many are online-only and still waiting to be downloaded.
The real photo was treated as the copy
When two identical photos were found, the app could keep the one named "copy" and quietly file your true original away in the duplicates pile.
The clean, original photo is always the one that stays in your collection.
One problem file could stop everything
A single locked file, or one photo already sitting in the destination, could halt the whole sort halfway through with a wall of error text.
The sort keeps going, works around the file it cannot touch, and tells you in one plain sentence what it skipped.
Moving photos between drives
Moving photos to a different drive or an external disk did not double-check the copy had arrived before the original was removed.
When moving across drives the app copies the photo, proves every part of it landed safely, and only then removes the original, and it checks there is enough room before it starts.
Undo went too far
Pressing undo could unwind more than you meant to, reaching back past the sort you actually wanted to reverse.
Each undo peels back exactly one sort at a time, the most recent first, so you can step back carefully.
Keeping your originals safe by default
The app's starting setting could move your original photos rather than copy them, which did not match the promise that your originals stay put.
The app copies by default, so your originals stay exactly where they are and only tidy, renamed copies go into the sorted collection.
Videos filed under the wrong day
Some videos were stamped in world time rather than local time, so an evening clip could land on the wrong day and drift away from its matching photo.
The app works out the true local time from the video's location and files it on the right day, next to its photo.
A calmer, guided way in
The app opened as a busy wall of options that could overwhelm someone just trying to tidy twenty years of photos.
It starts with one simple question, then walks you through looking, choosing where things go, and previewing the plan before anything moves.
And the rest of the batch
- Stop now takes effect straight away wherever your photos live, and a search you stopped can no longer quietly report its results as if it had finished.
- The welcome now plays once however you close it, and changing a setting like the theme no longer brings it back.
- The app now matches your Windows light or dark setting from the very first screen, with a clear choice of Follow Windows, Light or Dark when you want to decide yourself.
- Starting an import now shows the same calm step-by-step progress as sorting, with a reminder that only new photos are touched and a way to stop.
- Photos taken later on the final day of a chosen date range were being quietly left out, and now they are all included.
- A photo with no date and an unreadable name now keeps its original filename, so you still have that one clue about what it was.
- You can now review the actual folders your photos will be filed into, right on the preview page, and sort from there if it looks right.
- Choosing a destination on a drive that is unplugged or missing now gives one friendly sentence instead of a crash.
- The metadata repair page now clearly explains why it is locked instead of looking broken.
- Buttons and menus now show a clear outline when you move through the app with the keyboard, and no longer flash a black box on a mouse click.
- Video files now show a real preview frame in the review screens instead of a blank tile.
- A photo that is genuinely one of a kind now gets a simple numbered name and never borrows the word "copy" that belongs to real duplicates.
This is where the redesign landed and the sorting engine was hardened for the Store. The fixes a nervous person cares about, the ones near your originals, come first.
What we fixed in the 2.8 series
The stretch of focused polish before launch. Here is what was wrong, and what it does now, in plain English.
Before Constellate went to the Microsoft Store, it spent a stretch doing nothing but getting the everyday path right: the calm first screen, the plain words, the big collection that no longer looks frozen.
This page is the honest tally of that stretch. No jargon, no version numbers to memorise. What was wrong, and what it does now.
A calm screen for people who just want it done
The simplest way to sort your photos was still a busy form full of options and words most people would not know.
A calm single screen shows where your photos are and where they are going, walks you through it once with a friendly welcome, and quietly promises it only ever copies, leaving your originals exactly as they are.
Nothing gets left behind on a huge collection
On very large collections, a single unreadable photo could make thousands of good ones around it silently vanish from the sort.
The good photos around a bad one are rescued, slow network drives are retried patiently, and no batch is ever dropped, so nothing goes missing without being reported.
A trip across several countries stays one memory
A single holiday that crossed several countries got scattered into separate piles instead of being kept together.
A multi-country trip is filed as one journey, with each country in the order you visited it and each day where it belongs, even when some photos have no location.
Photos with a broken date no longer get misfiled
A photo from a camera that had lost its clock could be confidently filed under the year 1970.
These impossible dates are spotted, photos saved from chat apps are recognised, and anything doubtful is set aside for you to check instead of being put in the wrong year.
Plain, warm words instead of technical ones
The app spoke in technical terms and labelled photos with raw camera model codes.
It talks plainly, calls your photos a collection, says it is planning rather than doing a dry run, and names cameras the way you would recognise them, such as Sony Alpha 6000 rather than a string of letters and numbers.
Big collections feel instant, not frozen
Opening the review, needs-review or places screens re-read every photo from disk, so a large collection looked frozen for a long time.
Those screens read from the app's own memory of your photos instantly, and show a gentle reading-your-photos card only the one time a fresh scan is needed.
Stop means stop
Pressing Cancel could leave the app quietly grinding away in the background for up to two hours on a big collection.
Cancel is a hard brake that stops every part of the work promptly.
Everything in one window
Some tools opened in separate pop-out windows that felt disconnected from the rest of the app.
Every tool lives inside the main window, so you never lose your place, and the app follows your theme and stays crisp while it works.
And the rest of the batch
- Buttons no longer look clipped at their edges, and card text and headings that used to come out slightly blurry are now sharp everywhere.
- The filter screen swapped its robotic calendar for a modern one that speaks in plain dates like "from this day" and "up to this day".
- A new "send us the logs" button in Settings gathers everything needed for a bug report and opens a ready-to-send email, so getting help is one step.
- When an import skips photos you already have, the app now shows exactly where each one already lives and can open that spot for you.
- Live Photos can now be filed alongside the rest of your photos under your own folder names, instead of always going into a separate folder.
- Progress now speaks in one friendly voice with a clear step count, replacing the plain bar and the repeated "working on it".
- The filter screen reflows to fit your window, shows a live count of how many photos match your picks, adds filtering by city, and lets you start the sort right there.
- The places screen now leads with a real headline number and shows the actual places your photos were taken, instead of a wall of text.
- A startup problem that could stop the app opening on some machines was caught and fixed before it reached anyone.
- The app now presents itself as Constellate throughout, including in Task Manager.
- Undated photos are now shelved by year in a plainly named "please check me" folder, never more than two clicks from the top.
- Re-running on an already-sorted collection now reassures you that every photo was checked, instead of coldly reporting zero.
This was the run-up to launch, so the work here is mostly making the everyday path calm, clear and hard to get wrong.