Sketch Missing Font Finder

I’ve opened a few Sketch documents lately that specify fonts I didn’t have installed. Something like the TypeKit integration in Adobe’s Creative Cloud apps could smooth the process of acquiring missing fonts.

Sketch find and install missing fonts dialog mockup

  1. I think it’s helpful to show the document name in the dialog because you can’t actually see the document open in Sketch yet. Maybe you opened a couple documents at once and aren’t sure which one has missing fonts.
  2. The Search Web for Font button would only appear if the specified font cannot be found on Google Fonts. Clicking it would open a search engine query (using the default engine in the user’s default web browser) with a string along the lines of “FontName-Weight+font”.
  3. Alternatively, a menu allowing the user to either search a generic search engine or a font site like FontSquirrel could appear.
  4. The dialog should be wide enough to accomodate most PostScript font names. Extremely lengthy font names should be truncated in the middle so the user can see the first bit of the family name and the weight. The whole name can be displayed on hover.
  5. Some variation of this interface should also appear in the Missing Fonts sheet.

Speech and Gesture Input

I would really like to be able to interact with applications in a simultaneous multi-modal fashion, taking advantage of pointing device, keyboard, voice, and gestures. In some cases, I'd like to direct speech commands to a background app while pointer and keyboard focus remains in the front app. Sometimes you need information from an app, not necessarily to use it.

Say I’m chatting with a friend to schedule dinner next week, but I don’t remember my schedule. Calendar is open and visible in another region of the screen, but it’s showing the current week. Assuming the Mac is always listening for the Siri invocation command, I just say “Hey, Siri, go to next week in Calendar” rather than switching to Calendar, navigating to next week, then switching back to the chat. This scenario is depicted in the video below.

SiriKit for macOS Flowchart
A flowchart for Siri interactions with background apps on macOS.

Speedy interpretation of speech commands is crucial to these interactions feeling fluid and natural. Incorporation of a speech co-processor (as with the iMac Pro) allows Macs to always listen for the “Hey, Siri” prompt rather than having to invoke Siri through the menubar item or keyboard shortcut.

If Apple builds a display (still hoping for a 40-inch 8K) to pair with the forthcoming Mac Pro, they should include the dot field hardware that enables Face Unlock on the iPhone X. Provide that on the Mac, but go further by using it to recognize hand gestures made in the space between the user and the display. It could also potentially be useful for those with motor impairments as a way to use blink patterns to execute commands. Maybe it could even be used as a way to translate sign languages to text, without having to wear a special glove.


  1. Hold up a thumbs up or down, or one or more fingers to star rate the playing song
  2. Raise or lower your hand to control audio or video volume
  3. Make a pinch in or out gesture in mid-air to zoom in mapping or graphics apps; not everyone has a trackpad
  4. Make a “holding a camera, pressing the shutter button” gesture to take a screenshot

I wrote years ago about visual gesture interpretation, for which there now seems to be capable hardware. More recent thoughts on gestural interaction from David Rose and IDEO.

Tools and Resources

Smartphone Absorption

The moment I realized I needed to break up with my phone came just over two years ago. I had recently had a baby and was feeding her in a darkened room as she cuddled on my lap. It was an intimate, tender moment — except for one detail. She was gazing at me … and I was on eBay, scrolling through listings for Victorian-era doorknobs.

Catherine Price: How to Break Up With Your Phone

Merging the Mergers in Affinity Photo

Say you drag a few images into one of Affinity Photo’s merging tools, only to realize you opened the wrong one. The commands are grouped in the menu, two have keyboard shortcuts right next to one another, and the tools have similar layouts, making this a fairly easy mistake to make.

Rather than having to hit Cancel, open the intended merge tool, then relocate the images you want to merge, what if you could just switch to it, with the images you added still in place?


  1. The functionality of the Batch tool seems different enough to warrant it remaining separate.
  2. To keep the various merging options visible to the user, it might be best to keep their individual items in the File menu. Each would just open the unified interface to the appropriate tool.
  3. It would be great to be able to drag-and-drop directly to the Images pane rather than having to open the file picker, then drop to it, then click OK.
  4. The visual styling of the window widgets is a bit confusing; the brighter widgets are disabled. This is contrary to most GUI conventions, including how the OK button is disabled in the tools themselves.
  5. If the Panorama tool isn’t resizable because the panorama previews would have to be re-rendered (a processor-intensive task), just fix the width of the preview pane while allowing the Images pane to expand.
  6. There is some ambiguity in the Panorama tool when you have stitched multiple panoramas together. If you don't explicitly select all of them in the preview pane before you hit OK, only the last selected one will build. A different button label or counter tallying how many panoramas will be rendered (Render 2 Panoramas) might be sufficient.
  7. NTH: a way to tell which images constitute which panorama after the panorama preview is generated. This could look something like the mockup below. Ideally, the number displays next to the panorama preview would handle discontiguous stitches nicely, so if you used three of 4 images out of sequence, something like “1 – 2, 4” would appear next to the thumbnail.
  8. NTH: the “Who you gonna call? Ghostbusters!” portion of the movie theme should play when you check the “Automatically remove ghosts” option in the HDR merge tool.

I'm looking forward to Affinity Publisher! Also, I do this professionally. If you know of anyone who needs a designer, please let me know! My email is my first name at thisdomain.

A Sunday at MoMA

Planet Strawberry

Who pursues their goals with monomaniacal focus, oblivious to the possibility of negative consequences? Who adopts a scorched-earth approach to increasing market share? This hypothetical strawberry-picking AI does what every tech startup wishes it could do — grows at an exponential rate and destroys its competitors until it’s achieved an absolute monopoly. The idea of superintelligence is such a poorly defined notion that one could envision it taking almost any form with equal justification: a benevolent genie that solves all the world’s problems, or a mathematician that spends all its time proving theorems so abstract that humans can’t even understand them. But when Silicon Valley tries to imagine superintelligence, what it comes up with is no-holds-barred capitalism.

Ted Chiang: Silicon Valley Is Turning Into Its Own Worst Fear