Why You Have To Empty Your Mac's Trash For Your Camera To Believe That Your SD Card Is No Longer Full


You drag the folder on your camera's SD card containing all of your photos to the trash to get rid of them. You eject the SD card from your computer and stick it back into your camera for a second round of shooting. Uh oh. Your camera is still saying that your SD card is full even though you just dragged all the photos on the card to the trash on your Mac.

Does that sound at all familiar? Ever wonder why that is the case?

Well, the reason lies deep within OS X's seedy underbelly. Well, not really, but it ain't so obvious either. And you should also know that OS X is rather unique in this way as well — Windows folk, to the best of my knowledge, don't have this problem (they just have a crap-ton of problems with just about everything else).

There you are, dragging a file from your USB drive (or SD card, or External HD, or whatever) to the OS X trash can. Now what you you think you've just done is moved the file from the USB drive into OS X's trash can. But what you've actually just done is more akin to only creating something of an alias to that dragged file in the OS X trash can — the real file still resides in the USB drive's own trash can.

Wait, USB drives have their own trash cans? Yup — or at least on OS X they do. You just can't see them because the OS keeps them hidden from you, or, as it is more technically known, "invisible". (You can, by the way, make invisible files visible if you'd be so inclined.) But rest unassured, all external storage keeps its own little trash can as soon as you drag something from it to OS X's trash can. When you pull your SD card out of your computer, the file you just dragged to the OS X trash actually goes along for the ride on the SD card's own trash, and disappears from OS X's trash can — until you plug the card back in again. Telling OS X to empty the trash also disposes of any trashed files that actually still live on external drives — but until you do that, the files stay in a trashed-but-not-actually-deleted state on those external drives.

The theory behind this, one would suppose, is that this way your USB drives each have their own unique "trash can" that goes with them from computer to computer. If you stick something from your USB drive in the trash on your work Mac — without emptying it — it does make some sense that it should be in the trash on your home Mac when you plug it in at said home. And indeed, that is the way that things work. After all, isn't the very idea of a USB thumb drive to be able to access the same data across multiple computers?

But then, I don't think most people actually think like that. Perhaps once within the predicament of trashing something on your work Mac and then needing it on your home Mac you might want to be able to access that thumb drive's unique trash — but how often does that actually happen? How often do you desperately need a file from a USB drive that you just threw into the trash (remember, the file isn't gone — it would just be sitting on your work Mac in the trash, waiting for your return)? Heck, most people chuck something into the trash and mentally assume that it's deleted.

At its core, this is one of those age-old questions of which scenario is better/more common. And, at least today, it seems like OS X falls on the wrong side of this one. The camera SD card scenario from above is more common than trashing something on one computer, again, without deleting it, and then needing it on another computer. I mean, just think, which would you rather? Would you rather that when you move something from an SD card to the trash, it's actually moved to trash — and thus removed entirely from the external drive waiting only in OS X's trash can for your final delete command — or would you prefer for each of your USB devices to have their own trash that follows them around? I would certainly fall in the former camp, and I would bet that you do too.

But hey, this little technical explanation is quickly turning into more of a rant. Not that there's anything inherently wrong with that. Perhaps Mavericks might change this behavior (if you're beta testing it, do let me know) but I doubt it. This seems baked pretty deep into OS X. We might have to wait a little farther into the future before this "issues" is resolved.