Exploring Hearing Aid Integration in iOS

Exploring Hearing Aid Integration in iOS
Last year I got my first hearing devices. For some time, I had noticed that I turned up the TV much louder than my wife did, and I had problems following discussions with larger groups of people. After having my hearing tested, I got a prescription for two hearing devices, which I took to a hearing system specialist. I learned that besides normal hearing aids, there are “Made for iPhone” (MFi) hearing devices that are directly recognized and controlled by iOS. An Apple support document lists manufacturers and products that have earned the MFi label. Of course, as an Apple user, I had to get an MFi pair. After trying several different devices, I finally settled for a pair of Pure 312 3Nx by Signia. In this article, I describe my experience in setting up and using these devices.
A couple of things before I start:
You connect MFi hearing aids with your iPhone in Settings > Accessibility > Hearing > Hearing Devices. Obviously, there is a Bluetooth pairing going on here. But hearing devices don’t have a button that puts them into pairing mode; instead, you have to open and close the battery case on each device to restart them. (You pair non-MFi hearing aids in Settings > Bluetooth like any other Bluetooth-enabled devices.)
If all goes well, iOS recognizes your hearing aids and gives them a name. You see the name of my device in the next screenshot. “Hörsystem” means “Hearing Device”; I don’t know why iOS inserted an ellipsis in place of my last name, and no, I couldn’t find any way to change this name.
A hearing aid paired to iOS
Next, you’ll have to agree to a standard Bluetooth pairing request.
The status of your device then changes to Connected, and tapping it opens a new page containing controls for your device, most of which need no explanation.
Hearing aid controls
Listed under the Presets heading are the programs for different hearing situations that are present in your hearing device. (The hearing specialist configured and downloaded these to my hearing aids, and when I was annoyed by wind noises while riding my bike, she updated the programs accordingly. Work with your hearing specialist to create and modify these.) You can switch between them by tapping one. Most of the time, I use the Universal preset. The Noisy Environment preset works well for restaurant visits or meetings with larger groups of friends or colleagues. I hardly ever use the Music preset; I prefer earphones for listening to music.
Below the presets is Start Live Listen. This iOS feature, which also works with AirPods, uses the microphone on your iPhone to send audio to your hearing aids, which could be helpful in certain environments where your iPhone can be placed closer to the source of sound than your hearing aids’ microphones. That’s the theory anyway—I don’t notice any change at all when I enable it.
If you want to start over, just tap Forget This Device at the bottom.
From this point on, your iPhone knows your hearing aids. If you switch them off, your iPhone will notice and disable the hearing aid functions. When you later switch them on again, your iPhone will reconnect to them automatically, so you don’t have to repeat the pairing procedure.
Most manufacturers have their own iOS (and Android) apps that duplicate some of the above controls and add more functions. Since these apps are manufacturer-specific, I’m not covering them here.
Next, let’s look at how you perform some common tasks that involve your hearing aids.
When you make or receive phone calls, the iPhone automatically sends the incoming voice to your hearing aids. In most cases, this is what you want. If you want to route the audio to your iPhone’s speaker, a HomePod, or somewhere else, you can tap the Audio button in the call controls to bring up a sheet listing the available destinations.
Music you play is treated in a similar fashion. By default, the iPhone sends it to your hearing aids, but you can choose to send it to another destination. However, this time it is not an Audio button that shows up but an AirPlay AirPlay icon button located at the bottom of the music player.
Strictly speaking, the only AirPlay destination in this sheet is Wohnzimmer, which is our AirPlay-capable living room stereo (Wohnzimmer = living room). But it surely makes sense to group all audio outputs in one place regardless of the protocol used to reach each one.
In the car, my wife and I often use Apple Maps to guide us. (Our car is too old to provide CarPlay or even built-in GPS navigation; its tech tops out at a cassette player.) The first time we started navigation when I was wearing my new hearing devices, my wife noticed instantly that she didn’t hear any directions. As you might guess, the iPhone sends audio from Maps to the hearing aids by default.
Looking at the iPhone screen, we did not see a way to reroute the spoken directions to the iPhone speaker, since it’s helpful for the passenger to be able to hear the spoken directions too. It would be even more of a problem if my wife was driving but only I was hearing the directions. Being somewhat in a hurry at the time, however, we left it at that. Later I looked at the Apple Maps interface again, but I still couldn’t figure out how to route the audio. On my next visit to the hearing system specialist, I asked the friendly people there, but they didn’t know either. A Google search finally gave me the answer. Would you have known?
You can pull up the sheet from the bottom of the navigation screen to reveal more buttons. One of them is an Audio button that, when tapped, brings up a sheet where you can switch the voice output to the iPhone speaker.
This, in my opinion, is a bad case of hidden functions. How is the average user who doesn’t read manuals to know that he can pull this sheet up? At the very least, a hint that there is a hidden part should be present in the visible part of the sheet, perhaps a small arrow.
Another awkward situation arose when I went to the biweekly rehearsal of my small choir wearing my new hearing devices. We wanted to record one song we had rehearsed to play it back immediately as a way of checking our progress. I recorded the song with the Voice Memos app and started to play it. I heard the song, but my colleagues just looked at me expectantly. You recognize the pattern: the song played back to my hearing devices, not to the iPhone speaker. I looked at the Voice Memos interface to switch the audio output.
This time, there is no way to control where the audio is played—no Audio button, no AirPlay button, no sheet you can pull up to reveal hidden controls. The Ellipsis button presents a sheet that contains many useful functions but no way to change the audio destination. In the end, I emailed the song file to my colleagues after the end of the rehearsal. Only much later did I figure out several ways to send a voice memo to the iPhone speaker or another destination—read on!
It’s obvious by now that the default behavior of the iOS hearing aid integration is to send all audio to your hearing devices. There should be a way to change this, and there is.
Audio RoutingBack in Settings > Accessibility > Hearing > Hearing Devices, the screen where you connected your hearing aids contains more controls, one of which is labeled Audio Routing.
Tapping Audio Routing > Media Audio shows three choices. (Call Audio offers the same choices.)
The default here is Automatic. Changing it to Never Hearing Devices sends all audio to the iPhone speaker. So this would have been one (clumsy) solution to the Voice Memos problem: switch to Never Hearing Devices, play the memo, and then switch back to Automatic.
Audio Routing settings
Always Hearing Devices is, in my testing, poorly labeled; it should be Always Hearing Devices (When Present). Here’s why: If your hearing devices are connected to the iPhone, this option sends audio to them; if they are not connected, sounds play through the iPhone’s speaker. The question remains: what does Automatic do? In my testing, it’s the same as Always Hearing Devices (When Present). Apple’s support document has this to say:
Audio Routing
Choose the default device for audio playback.
Well, that’s helpful. If you know what Automatic does, please leave a comment.
There are a couple of shortcuts that help with common hearing aid functions. Control Center contains two relevant controls. The Audio “card” (as Apple calls it) in the upper right contains an AirPlay button that gives access to all available audio destinations, exactly like the AirPlay button in the music player.
Tapping the AirPlay button in the Audio card presents a second solution to the Voice Memos problem above—it displays a list of possible audio destinations. Like the first solution, this change of audio output is permanent; if you want to switch back to your hearing aids, you’ll have to do so manually.
Audio output from Control Center
Then there is the Hearing control (the one with the ear icon above). If you don’t see it in Control Center, you’ll have to activate it in Settings > Control Center > Customize Controls. It gives you access to some important functions like volume, presets, and Live Listen.
Another option is a so-called Accessibility shortcut, which can also provide quick access to the Hearing controls. On an iPhone X or later, you invoke it by triple-clicking the side button; on other iPhones, you triple-click the Home Button. You configure the Accessibility shortcut in Settings > Accessibility > Accessibility Shortcut; one choice there is MFi Hearing Devices. Triple-clicking the button then shows your Hearing controls, or, if you have configured more than one Accessibility shortcut, a list of choices. Tapping Hearing Devices then brings up the same Hearing options as before.
Finally, iOS provides one additional shortcut that helps you keep track of the battery level in your hearing aids. On the iPhone’s Lock or Home screen, swiping from left to right reveals a configurable set of widgets. The Batteries widget shows not just the battery levels of your iPhone, Apple Watch, or AirPods, but also those of your hearing aids. If it doesn’t appear, scroll to the bottom and tap Edit to activate it, much like adding the Hearing controls to Control Center.
Battery widget
Connecting hearing aids to multiple devices seems to be tricky and troublesome according to some comments in TidBITS Talk. Generally speaking, if you want to pair your hearing aids with another Bluetooth device, you have to put both devices into pairing mode; since the hearing aids lack a button for that, you have to take them out, open and close the battery cases to restart them, and then put them back in. It’s fussy and not particularly comfortable.
However, if we restrict the discussion to Apple devices, we find a relevant Apple support document that’s surprisingly clear:
If you pair your hearing devices with more than one device (both iPhone and iPad, for example), the connection for your hearing devices automatically switches from one to the other when you do something that generates audio on the other device, or when you receive a phone call on iPhone.
Changes you make to hearing device settings on one device are automatically sent to your other devices.
Audio Handoff
Furthermore, Audio Handoff must be on; enable it in Settings > Accessibility > Hearing > Hearing Devices.
I tested this with my iPhone and iPad; the results were mixed.
The goal of automatically distributing the hearing aid settings to all participating Apple devices is a good one and seems to work. However, the switch from one audio-generating device to a second one sometimes works for me and sometimes doesn’t. But my tests were far from exhaustive. Your comments are welcome!
Overall, I’m quite content with how Apple integrates support for hearing aids into iOS. Setup is straightforward, and the way all audio is sent to the hearing aids makes sense in most cases.
There are a few situations where it doesn’t, and although Apple could do a better job of making the interface more discoverable, there are ways of redirecting audio from the hearing aids to other audio destinations. A uniform symbol (like the AirPlay button) that leads to a consistently laid-out screen would be helpful, as would a Siri command to “Play audio on my hearing aids.” Only a few apps, like Voice Memos, fail to provide any in-app way of redirecting audio—we can hope Apple will address this in an update.
Although Apple has put some effort into making one set of hearing aids work with multiple iOS devices, the automatic switching works well only with phone calls. With music and other audio, the switching is haphazard at best, and there’s plenty of room for improvement there.
Klaus Wirtz is a TidBITS reader since the 1990s. He was a member of the German TidBITS translation team from 2003 to 2006. Lately, he has become a bit hard of hearing.
Every week you’ll get tech tips, in-depth reviews, and insightful news analysis for discerning Apple users. For over 31 years, we’ve published professional, member-supported tech journalism that makes you smarter.
Registration confirmation will be emailed to you.
Thanks for the tip on adding the batteries widget. I had to go back to my audiologist to be able to change the name of my Oticon OPN S aides. TS
Excellent, very helpful. Thank you Klaus Wirtz. In just this one posting is more guidance and instruction than can be found in any other single “Hearing Aid Integration in iOS” document.
(I use Oticon OPN 1 hearing aids, and an old iPhone SE on iOS 13.3.1)
I use MFi Kirkland Signature 8 hearing aids, and strangely enough, they firmly refuse to link to my iPad (6th generation, iOS 13.5) if they’re already connected to my iPhone 8 Plus (iOS 13.5). The only way to switch is to “forget” the HAs on the first device, which is fairly clumsy. Other than this quirk, work quite well, but following the recommended steps didn’t work for me, alas. This has been true through various versions of iOS over the last year.
You could try the following: “Forget” your hearing aids on both the iPad and the iPhone. Connect them to the iPhone. Do not connect them to the iPad; let iOS transfer the settings from the iPhone. Check in the iPad Settings app that this happened. Then try the switch again.
If the hearing aids do not appear on the iPad, check if both devices use the same Apple ID and the same Wireless LAN.
My hearing aids are made by Starkey (no relation to Ringo Starr, for Beatles cognoscenti). I tried pairing them with both my iPhone and iPad, and found that this confused the routing when both Apple devices were on. I unpaired them from the iPad and left them paired with the iPhone, routing phone calls through the hearing aids, which is what I want. I was also perplexed for some time by the distortion of high-pitched musical sounds (e.g., oboe), and my audiologist could not determine why. A friend who is an electrical engineer explained it to me as sampling error: a digital device must sample sound at twice the frequency of the wave in order to reproduce it clearly, so that a 10KHz sound must be sampled at 20 KHz to avoid distortion. This is why CD recordings are sampled at 44.1 KHz–they can then reproduce the full musical range. My hearing aids, like most, are made for speech reproduction, and do that very well, but unless you want to spend many thousands of dollars, you’ll have to put up with some distortion of high-pitched musical instruments.
Klaus, in the situation you describe, after forgetting the HA’s on both, after the iPhone again shows a connection to “Rexton KS 8.0” on the ‘Hearing Devices” page of the Accessibility setting, the on the same Hearing Devices page the iPad permanently shows “Searching…” under “MFI Hearing Devices”. Only if I again ‘forget’ on the iPhone and manually activate the iPad will it work there. In that situation, the iPhone will show the permanent “Searching…” in it’s “MFI Hearing Devices” field. And both really do use the same Apple ID and are logged into the same wifi LAN. So it goes!
I’ve had Costco hearing aids for about a year now, and have not been impressed by the way they connect (or not) to my iPhone. Sometimes things work, and sometimes they don’t. Sometimes when I listen to music, I get an option to connect to the hearing aids, but other times, that option simply isn’t there. Sometimes I get a phone call and its routed to my hearing aids, and other times it isn’t. The SmartDirect app from the vendor works sometimes, and doesn’t work other times. I spent some time early on trying to figure out what was happening, but finally gave up, and just go with the flow…
Great article. I too, have been wrestling with new hearing aids and trying to get the audio figured out. One thing that I can’t figure out is how to get them to work when I answer a phone call on my Apple Watch. The phone rings in my hearing aids and on the Apple Watch, but when I touch to answer on my watch, the audio goes to my hearing aids, but only the microphone on the iPhone is activated. This is not convenient when I’m on my bicycle, and the iPhone is in my backpack. I would like to be able to talk to the Apple Watch and hear the audio in the hearing aids. Any suggestions?
I still haven’t figured out the Ford Sync3/CarPlay interactions, like where the audio goes or what microphone is active.
Thanks, @kwwirtz,
that was a nice read, and I even learned a few things :slightly_smiling_face:
I’m hard of hearing in the high frequencies—actually deaf above 4 Khz, while young and healthy ears can hear between 20 Hz and 20 Khz!—, and I’ve been using MFI (“Made for iPhone”) hearing aids since December of 2018, together with an iPhone 7 Plus (to which I had to upgrade from my old iPhone 4 because the MFI hearing aids required iOS 11).
It is AWESOME to get phone calls directly to my hearing aids, and actually most (all?) audio output of the iPhone.
It feels SO natural that I sometimes walk away from my desk (where the iPhone usually rests) while talking on the phone, totally forgetting that the hearing aids do NOT act as a microphone for the phone call, and then the people on the phone tell me that they don’t hear me anymore :sweat_smile:
The iPhone app, however, “Remote Link”, is very basic IMO … I’d have wished to have a graphic equalizer in addition to the three profiles (max. 4 I think) that my audiologist uploaded to the hearing aids.
But I guess they’re afraid that 1. audiologists might earn a lot less money then, and 2. some people might spoil their ears even more by misusing such an equalizer.
Anyway, I hope that some day I’ll be able to jailbreak the hearing aids to get more options. Also, I faintly remember reading somewhere that many cheaper hearing aids are actually identical with more expensive ones but just with some options disabled :roll_eyes:
Greetings from the Lüneburg Heath in Germany,
Great Article Klaus!
I also joined the aided audio world earlier this year. My Opticon OpN 2 has a well implemented iPhone interface. The app recently updated so that I can access the Live Listen through the app. I found that feature works best in a noisy environment with a bit of distance. If my wife is in the other room talking, and the fan is on, she can hear me fine but I can barely hear her. I can put my phone in the room with her and it improves the sound. There is a bit of lag but my brain tunes it out.
I have the open type of cones so I hear what I would normally hear plus the aided audio through the HA. Speaking on the phone took getting use to as it sounds like the other person is in the room and I forget others can’t hear the conversation. Using my old Bluetooth headset it blocked surrounding noise so I felt isolated. On the other hand since I hear low frequency sound fine the HA does not add much to that part of the spectrum, so listening to music I have to plug my ears to get bass. But I can listen to music if I want it to sound like it’s in the background.
I don’t wear my HA when I ride my bike as I’m afraid to lose them. However the app also has the ability to track the Hearing Aids if you do loose them. Sort of like a Tile but for the HA. I just purchased a leash for them, so I may try riding with them in the near future.
I don’t wear my HA when I ride my bike as I’m afraid to lose them.
Don’t. They just get all sweaty and then…at least my Resounds do…sometimes quit working until I get home and dry them off. I can hear well enough to ride without them…it is conversations and the high frequencies in the orchestra performance that I have trouble with.
My Resounds pair perfectly with my iPhone…but don’t show up at all on my iPad or Mac…I need to try the unpairing and repairing trick to see if that works.
Thanks for the great article…as I would expect from TidBITS.
My wife just got hearing aids that are MFi and we have begun “exploring” them.
In using the hearing aids for phone calls, we have a question: What is the optimal arrangement for speaking? That is, with AirPods or the buds that come with an iPhone, you can speak into the mic that is included with the buds. This is a big hands-free convenience. At first, I thought the mic built into the hearing aids could serve the same function. However, it appears that is not true. According to one article I found, you have to talk into the iPhone (or have it near your mouth, like in a shirt pocket) to speak over a phone call. This is a significant negative for my wife — and would be for me as well.
As an aside, I was surprised at how difficult it was to get a clear answer to this, when I searched the web. Dozens of articles, and none of them addressed this question. Unless I missed it, I don’t think your article mentioned it either. In any case, I’d be interested in your take.
I think you are correct: receiving a phone call with the hearing aids on require you to hold the iPhone near your mouth. It’s definitely not hands-free.
No suggestion, I’m sorry. It seems to me that you cannot switch between audio inputs in iOS as you can between audio outputs. Rather, choosing an audio destination seems to determine where the audio input comes from: AirPods -> AirPods microphone, Apple Watch -> Watch microphone, iPhone speaker -> iPhone microphone, … , hearing aid -> iPhone microphone.
Maybe an app to freely combine audio inputs and outputs is needed, like the Sound control panel in macOS.
I have an update on my previous post. As I mentioned the Oticon App for the iPhone has the ability to track the HA. On a recent road trip I stopped to get gas. With rain and COVID concerns this was a bit of a challenge as I had to get on a jacket and mask. Somehow in the donning and removal process I lost the right hearing aid and didn’t notice it until I had traveled a a bit down the road. I immediately stopped and held my breath while I launched the app. It told me it was still next to me! I searched the van and found it in the hood of my jacked behind the seat. I can tell you, the peace of mind I felt as soon as I realized I didn’t have to turn around was intense.
I bought Costco’s rechargeable Resound hearing aids made by GN which are equivalent to the LiNX Quattro except Costco disables the remote access feature. The iOS software, Smart 3D, occasionally loses contact with the hearing aids. The first thing to try is to set the app in Demo mode for a few seconds and then take it off Demo. This fixes 90% of my issues including when the Apple Watch app fails to connect.
If that doesn’t reconnect, try putting the aids into the charger and removing them. If still not connecting, then this is what Resound tech support suggested after I tried everything I could think off including deleting and reinstalling the app:
I would suggest a fresh pairing to your phone. Although you are seeing a connection in the MFi menu, it is possible to have a false-positive. As the app is dependent on this connection, this would cause the app to fail. I have included these steps below.
I would also suggest that you delete and reinstall the app from the app store once you have paired the hearing aids to the phone. This will allow a completely fresh connection all the way around.
[This step is not always necessary]
New pairing
On your mobile device, go to settings – accessibility – hearing devices – tap on your name/model of hearing aids – tap “forget this device” and confirm by taping “forget” again – Open your hearing aid battery doors. If you are using rechargeable hearing aids, place them in the charger now. Turn Bluetooth off on your mobile device (from within the settings menu) and reboot the mobile device.
Once the mobile device has rebooted, turn Bluetooth back on and go back to: settings – accessibility – hearing devices – close your hearing aid battery doors. If you are using rechargeable hearing aids, remove them from the charger now – tap on your name/GN/model of hearing aids when they appear – accept all pairing requests.
I also wear Oticon OPN S 1 hearing aids. I cycle everyday and also play tennis a few times a week. They equipped with LiON batteries that are rechargeable and sealed. Oticon OPN aids have a water and dust rating of IP68. That is a pretty good rating for sweat or rain. I always wear them. When I take them off, turn them off, wipe them off and put them in my hearing aid dryer box for 30 minutes even though I cannot open the battery compartment. After drying I put them on the charger if necessary or at bedtime. The IP68 rating is one of the reasons I purchased them. Klaus you wrote a great article. Thank you.
Just stumbled across this site, which is promising an app that works like Apple’s Live Listen feature with hearing aids. In short, it uses an iPhone’s mic to capture another speaker with less background noise. The developer is the guy behind The Levelator audio leveling utility, so he has experience in the field.
HeardThat™ app works with your existing hearing aids. Turn your smartphone into a hearing assistive device. Enjoy clear conversations in noisy situations.
As the discussion slows down, I’d like to take the opportunity to thank everyone for contributing to the article!
I have one thing to add: a couple of days ago, I got an Apple Watch Series 3 that runs the current version of watchOS. In the Control Center I noticed an ear icon much like the Hearing control in iOS. Tapping the control displayed the battery status of my hearing aids. Nice!
The app on the watch also lets you switch between the programs on your hearing adis, and adjust things like speech focus or noise filter.
In the latest version of Watch OS, there is also a Control Panel feature that does the same thing as ReSound’s app.
RE: Costco disabling the Remote Assist feature:
My Canadian audiologist said Costco does that because the hearing aid techs in the USA are not all Audiologists, and are not considered to have the necessary skillset to use Remote Assist.
However, Covid-19 is changing things, again. Apparently Costco is working to introduce this feature very soon – at least in Canada.
Thanks for the tip. My Oticons tend to get dislodged easily when I combine them with glasses and a mask all fighting for limited real estate on my ear.
There is another nifty feature I didn’t see mentioned in the article. Many MFi hearing aids allow for your audiologist to log in and program the hearing aids remotely. Each works a little differently. With Signia, you can make a programming request and submit it to your audiologist through the app. Your audiologist can then make programming adjustments and upload them to your phone. You’ll then have to accept the changes through the app. There are a few other brands that allow live changes to be made through the app during a virtual visit, like a FaceTime call. It’s a great way to get adjustments that can really help in specific environments, since you can submit the request while you’re experiencing issues rather than having to remember and tell your audiologist about them at your next in-person visit. I have some information on how virtual programming works at my clinic at https://linkaudiology.com/remote-hearing-aid-service/.
Thanks – I didn’t know about this. It seems that Signia TeleCare is available in Germany too; I’ll talk to my audiologist on my next visit.
Thank you so much for sharing a wonderful information with us. It was really nice to read a article written in this kind of topic. This article is extremely helpful exceptionally fascinating subject I am looking for that.One thing that I can’t figure out is how to get them to work when I answer a phone call on my Apple Watch. The phone rings in my hearing aids and on the Apple Watch, but when I touch to answer on my watch, the audio goes to my hearing aids, but only the microphone on the iPhone is activated. This is not convenient when I’m on my bicycle, and the iPhone is in my backpack. I would like to be able to talk to the Apple Watch and hear the audio in the hearing aids.
Hi, thanks for your comments. I think we had a similar question a while ago – Exploring Hearing Aid Integration in iOS – #9 by randall.godfrey . I still don’t have a solution for this problem; my previous answer was:
“No suggestion, I’m sorry. It seems to me that you cannot switch between audio inputs in iOS as you can between audio outputs. Rather, choosing an audio destination seems to determine where the audio input comes from: AirPods → AirPods microphone, Apple Watch → Watch microphone, iPhone speaker → iPhone microphone, … , hearing aid → iPhone microphone.
Maybe an app to freely combine audio inputs and outputs is needed, like the Sound control panel in macOS.”
Yeah, me too.
I was sort of shocked, well: sobered, when I realised that my first Apple Watch (Series 6) wouldn’t work as a microphone for telephony :frowning_face_with_open_mouth:
(seems true for iOS 15 beta and watchOS 8 beta as well)
Thanks for all the information in such a structured and complete way. Having changed from Signia to Oticon a few weeks ago, I’m going to try to use both devices, my iPhone and the iPad, with a connection to my Oticons.
I was looking around for some kind of automation to switch between them, but your article gives me the impression that it should work somehow seamless. Well, I’m still trying.
Right, it should work seamlessly, but you shouldn’t expect too much. While what I wrote in the article holds true, I found that in everyday usage often random noise was sent to my hearing aids when both the iPhone and the iPad were near me. In the end I deleted the hearing aids from the iPad (which I rarely use for things involving audio).

TidBITS is copyright © 2022 TidBITS Publishing Inc. Reuse governed by Creative Commons License.