Media Library Revisited

Hi. I am a new Pro subscriber and in the process of converting my blog over to Ghost.I find the lack of a media library frustrating enough that I’m considering just using Cloudflare or a similar CDN for hosting and managing images.

On what seems to be the main thread tracking this topic, @John provides what feels like a “final say” post on this topic: Better image/file management & optimisation - #19 by John

I think his arguments against a media library have some pretty big holes and are too heavily influenced by the challenges of implementing this feature (lets separate difficulty from utility).

I’d like to restart the conversation (perhaps it has already been restarted). Here’s what I think got missed:

1. Information Loss

Most platforms scramble filenames to a hash, so no matter what you upload it ends up being rendered as /images/34khds92lk20990923klnsd.jpg - generally speaking you just don’t need to worry about it.

As the author of a media asset, I have the ability to specify it’s file name. Generally speaking, people don’t tend to name media with a randomly generated value such as “34khds92lk20990923klnsd.jpg”. Why not? It’s way easier than taking the time to think of a good name and yet we still make the effort. Names are important. Names are information.

Files are downloaded from the web and emailed around, or stored on disk or in the cloud (e.g. Dropbox) for later retrieval. A good name is easy to search for. “34khds92lk20990923klnsd” has no utility for searching. Names also let us categorize and differentiate (e.g. “wedding-photo-from-front.jpg”, “wedding-photo-from-back.jpg”). When we don’t have the ability to choose, persist, and manage file names, it leads to consequential information loss.

2. Misinformation

Scenario: I drag-and-drop “important-process-flow-diagram.png” and then I make a small tweak and drag-and-drop a file with the same name into the system. Ghost renames it to “important-process-flow-diagram-2.png”. Could the second image be interpreted as v2 of the diagram? It’s not supposed to be, it’s just a tweak after all, but the rename implies it. Anyways, I didn’t want anyone to use the first one I uploaded, but I have no control over this (see below)! This is a form of misinformation; the provided (real) information was changed.

3. Lack of Control

I uploaded some media and I want to take it down. Going forward no one should have access to this piece of media. The lack of a media library means I cannot start by deleting it from the system (which is a logical place to start). I need to delete it from all posts (which is it’s own burden - did I get them all?) and still, there are live URLs that point to the media. What’s worse is that if I’m using the exact same image, there are now multiple, live URLs pointing to the thing I want to take down.
Opening a support ticket is not a viable solution because I literally cannot see the individual file entries that need to be deleted and anyways I didn’t necessarily choose the file names!

me      : "can you delete all files 'some-image.png'"
support : "should we also delete 'some-image-2.png' and 'some-image-3.png"
me      : "Yes, no, maybe I think?  I do have multiple version of this image but then I used the same image multiple places and you guys renamed some files so I have no idea.  I guess just send me all the files and I'll look at them individually and let you know."

This kind of opaqueness is a huge barrier to control, which is a huge barrier to maintenance…

4. Maintenance Burden

Yes, storage is cheap, but time is expensive. The proliferation of media due to the lack of control means that, over time, it becomes more and more difficult to manage and reconcile published material against local sources-of-truth. In other words, what I have on my disk doesn’t match what Ghost has on it’s disk. My world is tidy; Ghosts’ world becomes more and more messy over time.

This is consequenial in times of change - when you are restructing, moving, splitting, and combining posts and pages. Creating content is easy, it’s the maintenance, improvement, and sometimes reinvention that determines a site’s lifespan. How many authors simply quit because it becomes too difficult to maintain their site? How can authors be empowered to maintain their sites if one half of the equation (content + media) is unmaintainable? I’m not being dramatic here, it is quite literally impossible to perform maintenance on media.

My Approach

I’ve built software in many different roles over the past 20 years. As I embark on porting my blog to Ghost, the lack of a media library is an immediate “smell” to me. Experience tells me that this is going to be bite me in the future and so I should just use another solution. To that end, I emailed support and asked them to delete all of my images. I would much rather have a media library and not have to maintain a second system, but there’s NO WAY I’m going to blindly just drop images into Ghost without the ability to fully manage them because I have a strong sense that I will regret it.