My Safari setup

Why make this post?

As an avid macOS user and Cocoa developer, one of the staples in my workflow is browsing the Internet using Safari. I use the browser regularly, and have tested lots of different extension and shortcuts. As such, I have developed a smooth workflow with the browser across work and personal use that I'd like to capture for posterity.

How do I use Safari? 🤔

The main purposes for using Safari are listed below:

At work

  1. Browsing MDN/Google documentation for Android, Web, and Flutter development. I use the Dash Mac app for Apple-related docs because I enjoy faster lookup and their crowd sourced cheatsheets.
  2. Reading blog articles. I mainly read programming articles using Safari when at work because I find Safari's reader mode has the best UX (even better than Reeder). I have RSS feeds for my favourite blogs FiveStars, Martin Fowler and Joel on Software with Reeder, and manage my reading list using Reeder. Reeder has a Safari extension too, and is a best-in-class RSS manager for Apple platforms.
  3. I copy-paste code from SO using Safari. I have a content blocker on Safari for SO because I've found that I use SO a bit too heavily sometimes. This can be a jarring experience, but it trains me to use Dash instead of Safari, and I use the docs more heavily with a Dash-based workflow.

Outside work

  1. Reading the Swift forums. Swift Forums are really a treasure trove of knowledge nuggets. I learn so much more from reading a forum thread than my day job!
  2. Browsing LinkedIn + Twitter. I don't do this a lot but I do do it. This is a waste of time, so I have these websites blocked by about:blank.
  3. Investment management. Not much to see here either.
  4. Watching YouTube videos 😄. I have a YouTube Ads auto-skipper that works well for this, but I don't usually watch a lot of videos on Mac. I plan to limit phone usage by finding pleasure in working on my M1 Mac mini.
  5. Updating my blog. I use the Digital Colour Meter app for customising CSS styles, but other than that I don't need many browser features inc. the Dev Tools.
  6. Doing side projects. If the project is an app then I'd focus on building the app using a Work-style workflow mentioned above.

NOTE: I am improving my learning rate by following the Swift forums, iOS Developer Slack groups, doing side projects and active learning rather than Tutorial / Blog Article Hell.

Main use cases

  1. Reading documentation.
  2. Reading blog articles. I plan on limiting this to only as needed to stop Analysis Paralysis.
  3. Copy-pasting code.

My workflow as such is developer-oriented and is geared towards best browsing experience for lots of reading and coding.

I am a heavy-user, which means I need a power-user workflow. 30 minutes saved daily on Safari could easily add up to 100s of hours yearly.

My philosophy: Create good processes to create good work.

General thoughts on Safari

Safari has more platform features in general because it's integrated into the Apple ecosystem. My favourite feature is iCloud Tabs ☁️. These are just magic, and I love how these seamlessly integrate with Handoff.

I would get an iPad Pro and try Sidecar, but I don't have enough money or willpower to stop procrastinating.

Safari has been redesigned on iOS with a Smart Search bar on the bottom. macOS Monterey has also greatly improved the UX imo. I love using Safari, and thus only use Brave for Google Meet calls when I really need to.

I use Safari because I am an iOS developer and as such am bought into the Apple ecosystem. I don't think Safari is the best browser for all developers, but it may work well for you as an app developer on a Mac and especially if you're an iOS developer.

Safari has a lot of great features including Reader Mode, bookmark management and reading lists, alongside highly complex Developer Tools. I do NOT recommend using Safari for web developers because the Developer Tools are less intuitive than Chrome or Brave (Chromium).

Keyboard Shortcuts

One of the key features of my workflow is Safari Keyboard Shortcuts. Here are the ones I use regularly:

CMD + L = Jump to URL / Smart Search bar

Esc = (while focused in the smart search bar) Restore Smart Search bar to original URL

CMD + alt + ← = Jump to left neighbour tab

CMD + alt + → = Jump to right neighbour tab

CMD + [ = Go back

CMD + ] = Go forward

CMD + w = Close tab

SPACE = Scroll down a page

SHIFT + SPACE = Scroll up a page

alt + ↑ = Move up

alt + ↓ = Move down

SHIFT + SPACE = Scroll up a page

CMD + P = Print page

CMD + Click = Open in new tab

CMD + Shift = Show tab overview

I've taken these from Apple's official Safari docs. The last one in particular is really powerful for visualising a flow, especially when coupled with Tab Groups.

Tab Groups

I have tab groups for Imperial, Health and Coding. These groups help me organise my thoughts. I currently manage Personal or Admin tabs without a dedicated tab group because I only want to compartmentalise Work, Study and Health. I don't browse for other things, so I haven't overcomplicated my groups.

TIP: Focus on doing the essentials well.

Safari Toolbar

I also have heavily customised my Safari toolbar. Like I said, I'm a power-user who reads articles a lot, and needs to cut out distractions. All these extensions have helped me become more productive.

  1. iCloud Tabs ❤️ - This works like magic across my phone, desktop and laptop. Highly recommended!!
  2. About:Blank - Content blocker 😄 for distracting websites.
  3. 1Password Password Manager - Manage passwords with security and confidence across platforms (inc. non-Apple).
  4. Dark Reader Pro - Turbocharge dark mode with a dark mode website experience.
  5. YouTube Ads Auto-Skipper - Speaks for itself really. Well worth it if you are a heavy YouTube user at only 99p.
  6. Duck Duck Go Privacy Dashboard - Evaluate privacy policies for visited websites with a simple rating.
  7. Adblock Plus - ⛔️ Free ad blocker.
  8. Raindrop.io - Multi device bookmark manager (across Android, iOS, Windows, Mac and more).
  9. Notion Web Clipper - Handy for organising / planning notes. Notion is a great notetaking tool that also works well with distributed teams.
  10. Subscribe to site w/ Reeder - 🗞 RSS feed manager.
  11. StopTheMadness - Get character limit alerts when interacting with web forms + more.
  12. Octotree - Navigate GitHub repos from the sidebar.
  13. Open in Apollo - For Reddit.
  14. Zoom Segmented Control - Easy one tap to zoom in and out.

Summary

As a developer, I would recommend you invest heavily in improving your processes to become more productive at work. Technology is a powerful tool, so make sure to yield it correctly for best results.

TIP: It takes discipline to stop distractions. Tools won't help you unless you use them properly.

Reflecting on my past year as a developer, I have many things I could improve going forward. However, we can only tackle big problems chunk by chunk. One of the most important areas was my Safari usage, and I am a lot happier about my workflow now.

Thanks for reading, and I hope these tips may help you become a Safari power-user too.

Resources

  1. How I escaped tutorial hell
  2. Dash documentation
  3. Reeder
  4. Apple Safari Keyboard Shortcuts