QuickLook is without doubt beguiling. The ability to scroll through a document, or view a movie, without so much as opening it is too good to be true. And that’s the problem: when QuickLook runs out of magic, what we get often isn’t at all helpful. This article goes back to basics and considers what should happen, in my humble opinion.
QuickLook thumbnails are substitutes for the icons which remain one of the four fundamentals of a graphical user interface: windows + icons + menus + pointer = WIMP. Icons both convey information and have decorative value. Although they could contain other information such as being sized according to file size, their reading is generally hierarchical and describes the type of object which they represent.
First, they help us distinguish nouns from verbs, documents (and other files) from apps (and other executables). Long-established convention holds that documents are usually represented by some form of rectangular object in portrait orientation, whereas apps can be almost anything else. Where an app chooses to use a document-like rectangle, it is traditionally canted for distinction.
Other apps opt for round or irregularly-shaped icons, which are easily distinguished.
There are some minor issues here, in documents which are also executable, such as shell scripts. They could be given icons of either class, but are most generally shown as being documents at heart.
Within the top-level class of documents, icons are specialised to give a better idea of what type a document is, to distinguish message from movie, track from text. This is particularly complex when it comes to graphics, as making fine distinctions between different vector and ‘bitmap’ formats is often crucial for what we do with them.
Only then, when we know what species of beast we are dealing with, do we come to content and QuickLook thumbnails. Of course the tiny preview we can get in a thumbnail may give us valuable clues as to what type of document we are seeing, but can equally be thoroughly misleading. What we need to know is whether that document is MyLastHoliday.jpeg, MyLastHoliday.pdf, or MyLastHoliday.mov. Whilst QuickLook superimposes a Play icon on the latter, which will tell us that is a movie, the first two could present with identical thumbnails.
Neither does QuickLook know what we are seeing. Some first pages of PDFs and other files may look very pretty, but be of limited value in revealing just which of a dozen similar-looking documents they might be. When a thumbnail isn’t readily readable, and could be of any of several different types of document, the effort used in generating it has been wasted.
To distinguish between different types of document, we also need a file type recognition system. How this is achieved is always contentious, but any system is prone to error. Coping with such errors and remaining informative to the user is essential, and in this respect, macOS currently falls short.
One potential solution is simply to display a generic document icon. That provides the least possible information to the user, telling them only which top-level class of object they are looking at.
For some types of document, macOS gets a bit more specific, and shows an icon generic for that particular type, here a QuickTime movie. The experienced user will recognise that as a sign of trouble, as they know that a movie thumbnail should appear if everything is in order with that file. However, there’s nothing intrinsic to this icon which spells trouble, and it’s easy to place your faith in that file being a movie, when maybe all that happened was its extension inadvertently got changed from .mob, something trampled over its OSType, or the server returned the wrong MIME type.
For other document types, such as JPEG images, this is the current answer from the built-in QuickLook generator: it just sits and spins forever. This is too vague. The user doesn’t know whether macOS couldn’t find the right thumbnail generator, whether this is a macOS error, a faulty file, or a bug.
Even in the less cossetted environment of the command line, we expect that commands which encounter an error of any sort will return a code or message to inform us why our desire can’t on this occasion be satisfied. The current ‘solution’ in QuickLook is like the infuriating friend who, when asked a question, simply doesn’t respond. If they don’t know the answer to your question, then that is the answer to the question, not spinning for eternity.
When QuickLook thinks that it can’t provide an appropriate thumbnail for a document, all it has to do is substitute a generic document icon defaced with a question mark to indicate its puzzlement. That contains more valuable meaning that just thinking about what to say, but never saying anything. This is basic semiotics.