Thanks to either my opinionated nature or the fact that I have voiced my opinions on various podcasts for years, people often ask me to recommend products. Which Mac should I buy? What’s the best microwave oven? What kind of car should I get for a family of four?
Now, I’m no Wirecutter or Consumer Reports. I’m just one person. With a few exceptions, I don’t have personal experience with more than a handful of individual products in a given category. But I know a good product when I see it (and use it).
This page lists some products that I consider “good.” This may sound like a low bar, but sometimes “good” is as good as it gets for a certain type of product. Even with this lenient standard, the list is not long. As with my Great Games list, I will add products to this page over time. I may also remove or replace products if something better comes along.
If you buy something after following a product link on this page, I may receive money through the seller’s affiliate program. (Not all retailers have affiliate programs, and not all products are eligible for affiliate payments.)
I love toaster ovens, and I’ve personally tested many of them over the years. Casey Liss, my friend and ATP co-host, tells the tale of the strange confluence of events that led me to try so many toaster ovens, and provides links to listen to my (audio) reviews of each one, if you want all the gory details. If you just want my recommendation, it’s (still) the Breville 650 XL.
There are two caveats about this toaster oven. First, it’s bigger than you might expect: 16.5 inches wide, 13 inches deep, and 9.5 inches high. Measure your counter space before purchasing this beast. Second, the knob-feel is terrible: loose, imprecise, unsatisfying.
As a product, this is a good toaster oven. But if you can get past its user-interface foibles, it does a great job actually toasting (or cooking) things. I’ve had mine for a decade and I’ve still not found anything better.
If you have too little counter space for the Breville and want a toaster oven that can toast bread both well and quickly, consider the Panasonic FlashXpress. I think its user interface is subpar—confusing, poorly arranged buttons clustered below the door—but it’s a speed demon when it comes to making toast.
Breville also makes a smaller 450 XL model that is not quite as powerful as its big sister, and not quite as fast as the Panasonic, but is a good choice if you like the Breville’s proportions and UI.
(And, no, I don’t have any recommendations for slot toasters. Toaster ovens forever.)
Ice Cream Scoop
The OXO Good Grips Solid Stainless Steel Ice Cream Scoop is (probably) the world’s greatest ice cream scoop. I know it looks like just the ones you’ve used before that can’t make a dent in hard-frozen ice cream and end up forming ugly, rusty pits in the well of the scoop, but I can assure you that this is a different class of product entirely.
As the name suggests, it’s made of solid stainless steel. It’s strong, uniform throughout (no coating to chip away), and pleasingly hefty. The pointed tip can defeat even the hardest ice cream. Soak it in warm water and the thermal mass of this heavy instrument will keep doing work, scoop after scoop, for as long as you need it. The handle is typical Oxo: soft, grippy rubber.
As I am writing this, I am ordering myself a backup scoop just in case Oxo ever stops making this product. (The only thing I can imagine damaging the one I already have is a trip into the garbage disposal…but that is a thing that has been known to happen in my house, so better safe than sorry.)
The Victorinox Fibrox Pro Knife, 8-Inch is the best inexpensive chef’s knife I have ever used. There are better knives for (much) more money, but none in this price range come close. I own knives that cost twice as much and are not even half as good.
The grip is not quite up to Oxo‘s standards in terms of materials, but it follows the same philosophy: grippy and comfortable, with no concern for how it looks. The blade is shaped perfectly and stays sharp for much longer than you would expect. And it’s easy to clean and sharpen: no weird seams or chamfers.
Like the ice cream scoop, this is a product I love so much that I’ve purchased backup copies just in case it’s ever discontinued. I still routinely purchase more-expensive chef’s knives (I love kitchen tools), but so far, none has displaced this $35 wonder for all-around utility.
The Breville BWM640XL Smart 4-Slice Waffle Maker is $350. This is a ridiculous amount of money to spend on a waffle maker. It’s huge and heavy. And I personally prefer thinner waffles with more, smaller squares. (The Breville makes four waffles that are over an inch thick, each with 25 squares.)
All of that said, it does a pretty amazing job. The waffles are evenly cooked and release easily from the non-stick surface. The gutter around the edge, meant to catch excess batter, does actually work. The controls and the LCD screen are surely overkill for what boils down to a fancy way to set the cooking time, but they work well and are easy to understand.
You might think the lack of removable heating surfaces would make it hard to clean, but cooked waffles leave almost nothing behind after they’re removed. Wiping the surfaces with a damp paper towel is usually all the cleaning that’s necessary. The permanently attached heating surfaces make the whole device feel sturdy, and they help prevent any batter from getting inside the machine.
I resisted buying this over-priced monstrosity for a long time. I purchased and returned several waffle makers that were just terrible. I could not find a reasonably priced model that was competent and consistent. I finally bit the bullet and bought the Breville. This price is (still) galling, and I (still) wish the waffles were thinner and had more, smaller squares. But within the size constraints inherent in its design, this damned thing makes perfectly cooked waffles every single time. It’s infuriating, really.
Ever since the story broke, I’ve had one overriding thought about the Hey.com App Store rejection controversy. It’s a point I’ve already tried to make on a recent episode of ATP and on Twitter. Before WWDC arrives with its own wave of Apple-related news, I’d like to take one more run at it. Here goes.
Everyone wants apps that are feature-rich, easy-to-use, secure, and have good customer support. Apple, developers, and customers all agree on this. Incentives diverge slightly from here. Both Apple and developers want to make money. Customers want app prices to be low, but also want apps that are well-supported and maintained.
Apple, through its control of the App Store, dictates the terms that developers must agree to in order to distribute iOS apps to customers. Apple’s rules determine how the interests of all parties are balanced.
For many years now, Apple has been aiming for an ambitious goal state: an App Store filled with feature-rich, easy-to-use, secure apps, sold at prices customers find attractive, and monetized in a way that keeps developers happy and profitable while also giving Apple a significant percentage of all app-related revenue: 30% for most things, 15% after the first year of subscriptions, and some other, usually non-public number that’s less than 30% if you happen to be a fellow tech giant like Netflix or Amazon.
The App Store rules are the most powerful tool Apple can use to achieve its goal. To this end, the rules have been adjusted many times over the years. But throughout all these changes, Apple has never given up on its dream of an App Store filled with great apps that make everyone happy and make lots of money for both Apple and developers.
Today, Apple’s stance seems to be that if they just hold the line on a few key provisions of the App Store rules, companies will build their business models around Apple’s revenue cut in the same way companies built their business models around the costs of brick-and-mortar retail in the pre-Internet days. Apple seems to firmly believe that its ambitious goal state can be achieved with something close to the current set of App Store rules.
This belief is not supported by the evidence. Years of history has shown that Apple is getting further away from its goal, not closer. Witness Netflix abandoning in-app purchase, Apple having to strike a special deal with Amazon, and all the apps skirting the existing rules as best they can, to the detriment of the user experience and both Apple’s and developers’ revenue. And this is before even considering the customer support situation, which has always been dire, or the existence of businesses like ebook sales that will never have an extra 30% handy to give to Apple.
Apple’s App Store rules need to change not (just) because developers don’t like them. They need to change because time and experience have shown that there is no viable path to Apple’s goal state given the existing rules. The details of any particular App Store controversy can often distract from this larger reality. A hardline stance will not sway hearts and minds, and it has proven unable to change developers’ business models without sacrificing the user experience. Apple needs to decide if it wants to be “right,” or if it wants to be happy.
When DragThing was finally left behind—after 24 years of service—by macOS Catalina’s lack of support for 32-bit apps, I knew I’d miss many of its features. I missed its (optional) modification of the Mac’s window-layering policy so much that I made my first Mac app, Front and Center, to replace it. My second Mac app, SwitchGlass, also replaces a feature I miss from DragThing. (Thank you, James Thomson, for unwittingly kickstarting my Mac development efforts.)
SwitchGlass adds a dedicated application switcher to your Mac. You can customize its appearance, size, and position on each attached display, including hiding it on selected displays. It pairs perfectly with Front and Center, supporting both click and Shift-click actions on app icons in the floating app switcher. SwitchGlass is available for $4.99 on the Mac App Store. To learn more, please read the FAQ.
I wrote SwitchGlass and Front and Center to satisfy my own needs. I run both apps all day, every day on my Mac. I’ve been a professional programmer for almost 25 years, but until this year, I’d never written anything for my favorite platform. It’s immensely satisfying to be able to scratch my own itch. And it’s even more satisfying to learn that there are other people out there who also appreciate my strange little apps.
Thanks to everyone who has purchased one of my apps. And special thanks to Brad Ellis for creating the beautiful SwitchGlass icon.
P.S. - I may not be the only one who misses DragThing’s application switcher. The phenomenally powerful Mac automation app Keyboard Maestro recently added a similar feature. In fact, SwitchGlass’s default appearance is inspired by Keyboard Maestro’s app switcher. If you want a hugely capable Mac automation tool that just happens to have an (optional) app switcher palette built in, check out Keyboard Maestro. I highly recommend it.
For a few years now, I’ve tracked the TV shows I’m watching using the iOS app Couchy, which integrates with the Trakt.tv service. Sadly, Couchy ceased development last year. I’ve kept using it since then, but in the past few weeks it’s finally started to fail.
I looked at (and purchased) many, many alternative apps back when Couchy’s demise was announced, but I could never find one that I liked as much. In particular, I haven’t found a match for the information density of Couchy’s main screen combined with its “smart” sort order.
Couchy’s main screen shows a scrollable grid of portrait-orientation poster images for each TV show, three to a row on my iPhone, each with text below it showing the show name, how many episodes behind I am, the season, the episode number, and title of the next episode. (I’d include a screenshot here, but poster images are no longer loading for me in Couchy, so it wouldn’t be much to look at.)
The sort order determines how the shows are placed in the grid. Within the app, Couchy describes its smart sort as follows:
Shows will be sorted in the following order:
- Episodes airing today
- Missing episodes
- Awaiting episode
- Ended shows
As I’ve tweeted about my search for a Couchy-replacement app, I’ve found it difficult to explain what I’m looking for in terms of sorting. And even Couchy’s sorting is sometimes not quite what I want. So I’d like to explain here instead, free from Twitter’s character limits.
What I Want
I use an app like Couchy because I’m usually in the middle of watching many different TV shows. When I have some time to watch TV, I launch Couchy to remind myself what I’m currently watching, how far behind I am, and which shows have new episodes waiting for me. This is my most important use case: choosing a show to watch.
I have so many TV shows in my trakt.tv collection that sorting is essential to helping me select a show. I don’t want to scroll through dozens of shows to make a selection. I want to look at the top one or two screenfuls of shows on my phone and be sure that I’m seeing all the shows I’m most interested in watching now.
Most simple sort orders don’t work for my purposes. For example, consider sorting by the date of the latest episode. There are many shows in my collection that I’m not actively watching. Maybe I’ll get to them in the future, but for now, the unwatched episodes are just piling up. If those shows jump to the top of the sort order every time a new episode is released, it’s just noise to me. They’re obscuring the shows I actually want to watch.
Sorting by the number of unwatched episodes has similar problems. Sorting by the date I last watched an episode of a show might seem like it’d work, but I might really want to know about a newly released episode of a show that I’m caught up on but that hasn’t released an episode in a while.
If I had an actual, concrete algorithm in mind, I wouldn’t be writing all this. I could have explained it in a tweet. But I haven’t thought it through enough to nail it down at that level. What I can do instead is describe the desirable features of such an algorithm.
If I’m not actively watching a show, it should be pushed down in the list. Deciding what “actively watching” means will surely involve some thresholds (e.g., “has watched an episode in the last N days”), and it would be nice if those were configurable.
Shows that I’m actively watching should jump to the front of the list when a new episode is released.
Shows that I really like but that are on a break (e.g., between seasons) should jump to the front of the list when a new episode or season is released. Again, determining which shows I “really like” is tricky. An easy out here is to just have me choose by marking them as favorites. A ranked list of favorites would be even better and would help with sorting decisions near the top of the list.
When sorting shows that I’m actively watching (or really like) that just had a new episode or season released, favor shows with the smallest backlog—except in cases where a whole new season just dropped for a favorite show. For example, let’s say I’m one episode behind on Homeland, two episodes behind on Fargo, and caught up on The Expanse, which is a favorite show. If Homeland and Fargo both release new episodes and The Expanse releases a whole new season, all on the same day, the sort order should be: The Expanse first (even though it has the largest backlog), Homeland second (because it has a shorter backlog than Fargo), and Fargo next.
I could go on, but I think I’m getting into the weeds. The four points above capture most of it. I’m sure other people have their own preferred sorting orders, but this one is mine. I’ve seriously considered writing a trakt.tv client app for iOS just to scratch my own itch, but I don’t think I’m ready to tackle a task that large quite yet.
In the meantime, if you’re an author of one of the many trakt.tv client apps in the App Store, please consider implementing something like what I’ve described here. I’ve probably already purchased your app, but I’ll be extremely grateful on top of that.
By the time Mac OS X was first released in 2001, I had been using what would eventually be known as “classic” Mac OS for seventeen years. These were seventeen formative years for me, from the ages of 9 to 26. The user interface of classic Mac OS was as ingrained in me as Star Wars or any other cultural institution.
My love for classic Mac OS is why I started researching and reviewing Mac OS X. Big changes were coming to the Mac, and I was going to feel them more than most. I needed to know what I was in for.
To deal with some of the changes in Mac OS X, I ran apps and system extensions that restored some behaviors from classic Mac OS. Over the years, I weaned myself off most of these, but a few stuck. In particular, I found I did not want to live without the window layering policy from classic Mac OS.
In classic, when you click on a window that belongs to an application that’s not currently active, all the windows that belong to that application come to the front. In Mac OS X (and macOS), only the window that you click comes to the front.
My particular style of window management leans heavily on the classic behavior. I also appreciate the Mac OS X behavior in certain circumstances, so I was delighted to find apps that enable both behaviors, using Shift-click to override the default.
Sadly, macOS Catalina’s lack of support for 32-bit apps finally killed the last of the apps that implemented this feature. I was alone in a cold, barren world where I had to click on a Dock icon to switch to an app and bring all its windows to the front.
I tried to get used to it, but I could not. Next, I tried to persuade a few of my developer friends to create a tiny Mac app that implements just this one feature. My friend Lee, a longtime Mac developer and user, eventually took up the challenge and created a simple app to do it.
It was missing a few features I wanted (the Shift-click override, the ability to hide the Dock icon, a menu bar icon, etc.), but Lee shared the source code with me and I dove in and tried to help. I added the Shift-click feature and a mode-switch preference. I drew an app icon and a menu bar icon. The app was just about done. It even had a name: Front and Center.
The app was written in Objective-C. I’d always wanted to do a real project in Swift, so I started a new project in Xcode and rewrote the entire (tiny) app in Swift. I’ve also always wanted to get some experience with the App Store, so Lee and I agreed that I would release it under my developer account (though we are sharing the profits).
Front and Center is a trivial app—so trivial that I was afraid it would be rejected for its limited functionality. But when running, it is used literally hundreds of times a day. And I obviously found it so essential that I was willing to help bring it into existence myself. I also wanted to get some experience with the financial side of the App Store.
All of this contributed to the decision to make Front and Center a (cheap) paid app. It’s $4.99 on the Mac App Store. I don’t expect to make any significant money from sales, but I’ve already gained a huge amount of experience just going through the process of development and distribution.
I also view the price as a kind of deterrent. The increase in downloads it would receive as a free app would just be an unwanted support burden. The (few) people who actually want this app know who they are, and I’m betting they are not just willing but happy to pay for it.
Are you a classic Mac diehard who still misses some of the old ways? Or maybe you just want to try it to see what it’s like? Even if you don’t want the classic behavior to be the default, you can switch to “modern” mode and use Shift-click to trigger the “classic” behavior. It beats mousing down to a Dock icon, right?
I’m just glad this app exists. I had a ton of fun working on it. Thanks to Lee for being a kindred spirit when it comes to classic Mac OS, and to all my other Mac-nerd friends who offered advice and code during development—especially Gus Mueller, maker of many fine Mac apps, who provided a surprising performance enhancement for our tiny app. I’m excited to finally be able to use this badge on my website.