- Productivity Software
- Notes and Documents
- Utilities
- Software Development
- CAD
- Graphic Design
- Video Production
- Presenting and Streaming
- Screenshot Capture and Recording
- Cleanshot
- ScreenFloat
- Xnip
Productivity Software
Mimestream native mail client.
Calendar
Fantastical – alternative to Apple Calendar. It has natural-language event entry, calendar sets, multiple-time event proposals, and conference call detection. It can hide events and ignore notifications from shared calendars.
Task Management
Things – to do manager. I dump everything into this.
Web browsers
Safari as go-to browser. Main features: performance, battery life, tab-sharing with iPad and iPhone.
Arc for workspaces and ad hoc scrapbooks / dashboards (via Easels feature).
Google Chrome for when I need multiple personae. (Maybe I will switch to Arc now that it supports this.)
Search Engines: Duck Duck Go, Wikipedia, Wikiwand.
Communications: Slack, Zoom, WeChat, Signal.
Notes and Documents
Apple Notes for quick synchronized notes.
Roam Research for (initially) unstructured notes.
Muse app nested spatial notes, syncs with iPad.
Notion for instructional material, drafts of other mixed-media documents, and web sites. Super.so for publishing Notion to the web.
AirTable for end-user databases (tables that include linked and calculated columns).
Google Drive, Docs, and Sheets
Apple Numbers. Killer feature: being able to include multiple tables and charts as separate entities on a single sheet, instead of mashing them all onto the same grid (or putting them on separate pages).
Bookmarking: Pinboard, Zotero. Previously: Delicio.us.
Reading: Apple Books, Liquid Text, and Preview.
Utilities
1Password password manager.
Bartender hides menu bar items.
Daisy Disk file size visualizer.
Magnet tiling window manager.
SetApp is a software subscription service that provides many of the apps listed here, as well as others. It has the UI and UX that one wishes Apple's App Store did.
Yoink provides a temporary system-wide drop well for dragging between apps and screens. I'm not sure how one is supposed to use a Mac without this. (I've been using Macs since 1984.)
TextSoap performs simple text transformations on the clipboard.
Macros and Shortcuts
Apple Shortcuts
Raycast Spotlight (and Alfred, and Quicksilver) replacement.
Better Touch Tool can distinguish some keys that Raycast can’t. It is also the best tool for adding items and displays to the Touch Bar. (It does a lot more than this, but that’s all I use it for.) See Shortcuts.
Keyboard Maestro. All my app launch shortcuts, plus a few more complicated macros to manage Sidecar and my VPN. See Shortcuts.
StreamDeck: out on loan.
Utilities: ForkLift, PDF Squeezer.
Software Development
Code Editors
Visual Studio Code (VSCode). Previously: vi, emacs (for decades), Sublime Text (years) and Atom (ditto).
Typora is a markdown editor with code and WYSIWYG modes. Visual Studio Code with markdown extensions keeps improving but I still occasionally use Typora. I went ahead and paid for Typora because I got so many years of use out of it while it was in free beta, but I now use VSCode for editing Markdown since VSCode has caught up in so many ways and I’ve generally got it open when I’m editing Markdown anyway.
Version Control
Git and Github. (Previously: Perforce, Subversion.)
GitHub Desktop. I prefer this to the command line now that I don't use git every day, and for quick visual review of changes (although VSCode is catching up in this regard).
Kaleidoscope is a folder and file comparison app. It also does conflict resolution (only for files, not people).
Terminal
iTerm2. Terminal.app is fine but iTerm is better.
More recently, I’m evaluating Warp.
References and Documentation
Dash documentation browser. (I've contributed a couple of shortcut Cheat Sheets to this.)
Duck Duck Go’s Bang shortcuts. I use Raycast (and formerly Keyboard Maestro) to create key bindings for these.
Code Exploration
Octotree browser extension for exploring code in GitHub online.
Cloud Editors: Google Colab, OpenProcessing.org, Observables.hq
Browsers: Chrome and Edge
Languages: Python, Node.js, JavaScript, shell (daily drivers); Ruby (previous daily driver), C, C++ (embedded and physical computing); Go (some command-line tools I’ve written). Previously: C#, Common Lisp, Haskell, Pascal, Smalltalk-80, assembly (Z-80, 6502, 68000).
Tools: Previously Base, Postico, Sequel Pro, Paw.
CAD
Fusion 360 for parametric modeling.
Shapr3D for direct modeling. (I mostly use this on the iPad, but occasionally on macOS too.)
Graphic Design
Photo Editors
Pixelmator Pro for quick and easy photo editing, retouching, and compositions.
Affinity Photo (Adobe Photoshop alternative) for more involved photo projects. It is slower to launch; many things that can be done in either Pixelmator or Affinity can be done more easily in Pixelmator; but Affinity is more capable when Pixelmator hits the wall.
Illustration
Affinity Designer (Adobe Illustrator alternative).
OmniGraffle for diagrams. Magnets and movable arrows diagramming simpler and more flexible in OmniGraffle than any workflow I’ve yet found for Affinity Designer, Adobe Illustrator, or Sketch.
Sketch for vector graphics. Most of my work is straight-up diagraming or illustration, not UI design, so I’ve mostly switched to Affinity Designer for what I used to use Sketch for.
Design utilities
Video Production
Non-Linear Editors
Final Cut Pro is my general-purpose go-to video editor. I prefer the Magnetic timeline, and of course its performance and crash-free experience, to Adobe Premier.
DaVinci Resolve. I am learning this; I may switch to it from Final Cut Pro.
Screenflow for editing screencasts. It's simpler than Final Cut Pro / Resolve, and has built-in support for adding keyboard and mouse annotations in post-production (so that you don't have to burn them in at recording time).
Transcoding and Playback
Permute for quickly transcoding media files.
QuickTime Player for video playback, and for quick video editing (trimming and extracting clips) when it's not worth creating a Final Cut project.
Elmedia Player is an alternative to QuickTime Player, with better support for playhead positioning and subtitles.
Downie for downloading videos from web sites – generally to use as B roll or as backup during presentations.
Motion graphics and effects: Apple Motion; Blender. I am learning DaVinci Fusion, and may switch to this.
Presenting and Streaming
Keycastr is an open-source keystroke visualizer.
Presentify – adds a menu bar (confusingly, called Annotate instead of Presentify) that lets you mark up the screen. This is similar to Zoom’s whiteboard mode.
Zoom, of course. Hangouts, Microsoft Teams, and Webex when talking to employees of Google, Microsoft, and law firms.
OBS for compositing multiple video sources more flexibly (although with lower-quality virtual greenscreening) than Zoom is capable of. Plug-ins: Background Remover, Effects, Move.
Visual Studio Code – see Visual Studio Code for Presentations for how to run with a special profile just for presenting, and the Screencast settings.
Screenshot Capture and Recording
I use a ridiculous number of screenshot apps (I’ve winnowed this down as Cleanshot becomes more capable), but they each have different strengths. These are useful for preparing instructional material and other documentation; also, the occasional bug report.
Cleanshot
- Screenshot or movie of a window or area.
- Supports scrolling capture
- Timer
- Optionally hides desktop icons, replaces by solid color or wallpaper.
- Supports annotation, but the UI is heavier-weight than Xnip.
- Has a cloud feature that I don't use.
- Its strengths for me are recordings: include audio and webcam, show mouse and keystroke, hide notifictions, save as movie or gif.
- Includes a “pin to screen” feature. TODO: Evaluate this compared to the same feature of ScreenFloat.
ScreenFloat
- Leaves shots pinned to the the screen. This is useful for making a snapshot of one window or tab to use as a static reference while working in another window or tab. I also use it for working with multiple “sheet tabs” of a Google Sheet, as a lightweight alternative to placing two windows side by side.
- Screenshots are shown with a file proxy icon that can be dragged anywhere that expects a file, including the File Open dialog or a the upload drop zone of a web page. This is the screenshot utility that makes it easiest to move a screenshot into a web app or desktop application that doesn't accept pasted graphics.
- Includes a shots browser that I don't use.
- From the author of Yoink.
Xnip
Adjust the borders of the shot after capture.Annotations, including pixelate and step-by-step callouts.Scrolling capture.Capture window or area. Capture windows with or without shading.
Gifox – encode a GIF of a selected window or area. Can also encode other files. TODO: Evaluate whether I still need this alongside Cleanshot.
TextSniper – OCRs the selected screen area into the clipboard. This is a quick way to grab text from an image or PDF.
Screenflow records the screen, webcam, and audio into its own file format that can be used with its built-in editor during post-production (see below). It records keys and mouse movement and clicks. It’s a competitor to Camtasia; Screenshot is good enough, and has a decent enough pace of development, that I’ve never evaluated Camtasia.