#1703: Take Control author dies, Google Find My Device raises privacy bar, Helper Helper volunteer management, AirPlay in hotels, Apple to allow used parts, undersea cable maintenance
It is with great sadness that we report the passing of Take Control of OS X Server author Charles Edge, who was a well-known member of the Mac admin community. Glenn Fleishman joins us this week to look at how Google’s Find My Device network one-ups Apple’s Find My network with several key privacy provisions. Adam Engst explores the online volunteer management system Helper Helper, which provides a centralized system for organizations coordinating numerous event volunteers. We also briefly look at how AirPlay is starting to become available in hotels, Apple’s decision to allow used parts for official repairs, and the fascinating story surrounding the maintenance of undersea cables. Notable Mac app releases this week include 1Password 8.10.30, Default Folder X 6.0.6, GraphicConverter 12.1.1, Microsoft Office for Mac 16.84, and Zoom Workplace 6.0.1.
Take Control Author Charles Edge Dies
This one is way too close to home. News started to spread this morning on the MacAdmins Slack, Rich Trouton’s Der Flounder blog, and Tom Bridge’s site about how our friend and Take Control author Charles Edge died suddenly and unexpectedly on 19 April 2024. He was in his late 40s, and yes, his standard bio picture below gives you a feel for his sense of humor and irreverence.
I met Charles at a MacTech event in New York in 2012, but I already knew that he had written a bunch of tech books and thousands of Krypted blog posts on sysadmin topics. We exchanged some email about the possibility of him writing a Take Control book then, but it wasn’t until early 2014 that we came up with the idea that turned into Take Control of OS X Server.
The amount of information in Charles’s head was astonishing, and when I was reading his drafts, I got the impression he was brain-dumping the entire thing, no research necessary. I’m sure that wasn’t entirely true, but Charles was a delight to work with, was highly responsive to queries, and was always appreciative of good editing. To share his content sooner and as one of our experiments in publishing, we streamed his entire book, chapter by chapter, for TidBITS members (see “‘Take Control of OS X Server’ Streaming in TidBITS,” 12 May 2014). In his memory, I’ve made those chapters available to everyone.
Charles was very much a Tigger, in the Winnie-the-Pooh sense, and tirelessly bounced from project to project. Toward the end of writing Take Control of OS X Server, he moved from being the Chief Technology Officer of the national Apple consultancy 318 to managing the development of Jamf Now at Jamf Software, where he stayed for several years before switching to more R&D-based roles.
He left Jamf in 2020 and was most recently working on Secret Chest, a password manager aimed at quantum-proofing Apple’s Keychain. Now I wish I could ask him about the new Apple technology I wrote about in “New iMessage PQ3 Encryption Protocol Protects Against Post-Quantum Attacks” (23 February 2024). The Secret Chest blog is full of his posts, including one about steganography from the day he died and another providing excellent coverage of the past and future of password management. Charles was also the CTO of the venture capital firm Bootstrappers.mn, a board member of the Minnesota-based community tech organization Minnestar, and an active podcaster on the Mac Admins Podcast and The History of Computing Podcast.
The history of computing was especially near and dear to Charles’s heart. He had been working on a book about it for seven years, a project that had ballooned into four volumes and more than 2000 pages. His last Facebook post from a week ago was about how he had just signed the contracts. I hope the publisher he was working with remains interested in the manuscript since I’m sure Charles would want the editor to finish so it can see the light of day. I certainly want a copy to remember Charles by.
Finally, although I was nowhere near as close with Charles as many other people in the Apple world, he always had time to talk, would help with any question if he could, and thoroughly enjoyed introducing you to other people if he couldn’t. He was kind, engaging, and always thinking of others, as you can see in this Facebook post below. His passing is a great loss for his many friends and colleagues, and for the Apple world as a whole.
Google Raises Privacy Bar with Its Crowdsourced Tracking Service
Google will raise the ante for privacy-preserving and anti-stalking features with the launch of its long-expected Find My Device network service in May 2024. Like Apple’s almost identically named Find My network, Google’s Find My Device network crowdsources device locations by relaying encrypted identity signals through supported Android phones and tablets. The search giant’s Find My Device network supports Android devices and compact trackers from companies like Chipolo and Pebblebee. Google has three distinct privacy improvements that aren’t found—yet—in Apple’s Find My network approach.
Lost Item Tracking Background
As a quick review, crowdsourced location tracking leverages network-connected devices (Android or iOS/iPadOS) that know where they are from GPS, cellular, and Wi-Fi positioning. Items without a network connection—including compact trackers like an AirTag or a temporarily offline Mac, Apple Watch, Android smartphone, etc.—broadcast an anonymized Bluetooth signal that contains an encrypted payload identified with the registered owner.
The network-connected devices relay the Bluetooth signals from transmitting gear to a central server run by Apple or Google without inspecting the data, which is encrypted. Only the registered device or item owner can use software—Find My for Apple devices and Find My Device for Android gear—that lets them query for location information from those central servers. Once retrieved by the lost item’s owner, the payload is decrypted locally on that owner’s device.
Because of the encryption, neither the Apple nor Android users whose devices are relaying location data can identify owners of lost items or even which items are broadcasting; likewise, whoever owns the devices being tracked can find out nothing about the equipment through which the signal was relayed. (Items update their Bluetooth identifiers to new, non-repeating values at intervals throughout the day to prevent someone from building a database that tracks the trackers.)
That all sounds well and good, and the approach has worked remarkably well in practice over Apple’s first three years of AirTags and the Find My network. The danger comes in how compact trackers can be used to track people without their knowledge and consent, with people abusing AirTag tracking for theft and stalking.
AirTags initially provided fewer protections than advocates for victims of domestic violence and privacy experts believed were needed. Apple gradually revised AirTag warnings and alert sounds (see “Apple Explains How It Will Address AirTag Privacy Issues,” 12 February 2022). Without getting into the historical changes, the current anti-stalking feedback comes in two ways. If an AirTag is moving with you and the owner isn’t nearby, alerts pop up on nearby iPhones and iPads. As importantly, if an AirTag is static but the owner hasn’t been near it for a randomly chosen interval between 8 to 24 hours, it will emit a noticeable sound for several seconds and repeat that at future random intervals.
These alerts have formed the basis of an industry standard co-developed by Apple and Google with participation from companies making AirTag-like trackers. (See “AirTag in the News: NYPD Recommends, Apple and Google Propose Industry Tracking Standard,” 8 May 2023.) All Find My network-compatible trackers already beep at intervals; the cross-platform device-based warnings should roll out in 2024 for Android, iOS, and iPadOS.
Google’s Privacy Additions
Google has diverged with its Find My Device network by making additional choices that block ways that stalkers or other criminals might attempt to subvert crowdsourced location tracking for their purposes.
First, Google’s Find My Device network algorithm won’t relay location information about a broadcasting item unless there are multiple nearby Android devices. The thinking is that someone in their home or other private location is unlikely to have enough Android devices nearby to trigger location reporting. Google says, “Our research found that the Find My Device network is most valuable in public settings like cafes and airports, where there are likely many devices nearby.” Because the tracking data is sent via Bluetooth, Android (and Apple) hardware can use signal strength to determine nearness. Thus, being in an apartment building full of Android phones won’t automatically cross the “aggregation threshold,” as Google calls it—the devices would also need to be near enough. (Google doesn’t say—probably intentionally—how many are required to hit the threshold.)
Second, Android devices won’t relay crowdsourced location data from broadcasts they detect if you’re at home and you have specified your home address in your Google account. While this is privacy-forward with regard to tracking, ensuring you’re not revealing your location unintentionally with your own hardware being the relay point, it also means that you have to give your home address to Google and enable location tracking. Google wants location data so desperately to serve ads and provide other lucrative targeting that the company at one point tracked users even when they had ostensibly logged out of Google apps, an action that resulted in a $392 million settlement with 40 states last year.
Apple has a different home-based protection in Find My. Apple lets you define your home address in the Me card in Contacts but doesn’t transmit that information to itself. Apple also tracks what it calls Significant Locations, which it infers from your travels, stores only on devices, and encrypts end-to-end when syncing among your devices. When you arrive with an unknown AirTag or Find My item at home or a significant location, Find My will trigger an alert even if it previously has triggered one. However, as far as I know and Apple has disclosed, Find My network crowdsourcing continues to work when you’re at home.
Third, Google’s Find My Device network employs two different throttles to prevent misuse: how often an Android device relays the location of a nearby broadcasted item and how often the owner of that item can query its location. Google says most lost items are in static locations, but I think this approach may make it harder to track items stolen or left on a moving vehicle (bus, subway, train, and so on). In those cases, though, people nearby should be notified about unwanted tracking, potentially helping to find your stuff. It’s a tradeoff, and Google makes a reasonable case for standing on this side of the fence; Apple doesn’t disclose if it has similar limits and so appears to stand on the other side.
These three elements are thought-provoking. I’m not sure each has equal importance or value, and I worry about giving Google more information about my whereabouts to safeguard my privacy. But it’s good to see competition over privacy in the marketplace, particularly where safety is concerned, and I hope to see Apple learn from Google’s example.
Helper Helper Streamlines Volunteer Management
Over the past few years, as I became more involved with the Finger Lakes Runners Club (FLRC) and directing races, one of my greatest pain points revolved around volunteer recruitment, coordination, and communication. A few of FLRC’s events are quite large, including the Skunk Cabbage Classic 10K and Half Marathon I directed earlier this month. This year, the race attracted 725 runners, and with that many people in one place—or, more aptly, gathering in one place before and after traversing 6.55 miles of local roads—I needed help from 77 volunteers.
Not everyone has organized a volunteer-run event, but I’ll bet that many of you have at one point or another. For small events with just a handful of volunteers, keeping it all in your head isn’t too hard. Once you need more than ten people, more organized coordinators start tracking everything in spreadsheets because their tabular nature makes them a natural fit for lists. That’s where I started a few years ago, with a public Google Sheets spreadsheet to which people could add themselves in particular slots (I’m a great believer in self-service systems). It worked… but not well. Free-form data entry into a spreadsheet intimidated people, and while I could add them manually, it wasn’t a huge win. People also didn’t like entering contact information into a public spreadsheet, and I still had to copy and paste whenever I wanted to email the group.
In late 2022, I embarked on a research project to find a full-fledged volunteer management system. It turned out to be a surprisingly crowded field, but I quickly eliminated options that cost thousands of dollars per year and free options (cough, SignupGenius) that splashed trashy ads across all volunteer communications. Others suffered from clumsy interfaces. Eventually, and after a call with the CEO, I settled on a cloud-based system called Helper Helper. It focuses on volunteers without providing unnecessary add-ons like donor management, background checks, and training modules. Although Helper Helper’s annual cost varies based on organization type and specific features, the amount we were quoted was within our budget for a Web service we’d use regularly. After using it for a year, we’ve become fond of Helper Helper and consider it well worth the cost.
Helper Helper Setup
Helper Helper manages four primary types of data: volunteers, teams, organizations, and opportunities, all of which warrant top-level tabs in the interface.
Volunteers
Every volunteer in Helper Helper gets their entry. Users can sign themselves up and manage metadata like name, email address, and phone number (optional, but helpful for connecting directly with a user via text or voice). Admins can also create volunteers manually, promote volunteers to admin roles, set up surveys to collect additional information like T-shirt size, and edit all this information for existing users. Helper Helper tracks each volunteer’s past and future commitments.
As you can see in the example above, it’s also possible to create placeholder volunteers for people who can’t or shouldn’t sign themselves up, such as Girl Scouts helping out at a race water stop under the supervision of an adult. An event coordinator still needs to know that enough volunteers are available and likely wants to track the time they contribute, but a placeholder enables that without storing any personal information.
Teams
You can collect volunteers into teams, which is helpful in two ways. First and most important for our situation, admins can message team members as a unit. For FLRC, I’ve created teams for each of our races, which is handy when I want to recruit people who volunteered at a race last year to do so again this year. (As Tonya emphasizes, that’s only polite, since not inviting someone to volunteer again could easily be construed as not valuing the work they did previously.) Second, admins can restrict opportunities to specific teams, which ensures that certain opportunities are available only to people with appropriate training.
One thing that’s apparently unusual about how we use teams is that volunteers can be in multiple teams—many of our volunteers work at multiple races, and all their time would be assigned to each team they’re in. Most Helper Helper sites have teams that are largely exclusive, which enables accurate reporting of team activity and comparison of teams.
Organizations
As I understand it, Helper Helper is commonly used in scenarios where, for instance, a university athletic department needs to coordinate volunteers for events that benefit outside organizations. (With respect to teams as mentioned above, you could imagine the track team and the football team competing to see who could volunteer the most.) FLRC doesn’t do much with volunteering for outside organizations, but since every opportunity must be associated with an organization, we set up a separate organization for each race.
Practically speaking, the main utility of organizations for us is in reporting because Helper Helper likes to show how many volunteer hours were associated with each organization.
Opportunities
Opportunities are the core of Helper Helper—the actual tasks people are signing up to do. Opportunities have a significant amount of metadata, including title, description, date and time, location, coordinator information, and which teams can view them.
Most importantly, opportunities can have multiple time slots. Since each time slot can have its own date, time, title, description, and maximum number of volunteers, time slots are the most effective way of defining multiple tasks within a single opportunity.
(It’s also possible to create a single opportunity for each task, but that would present a single long list of tasks to people who want to sign up rather than a hierarchical approach where tasks are subordinate to the race. Plus, the time slot approach provides a single spot for communicating with just those volunteers who have signed up.)
Setting a maximum number of volunteers is essential so that some tasks fill up and people are pushed to sign up for others. I only need one head timer for this race, but I’ll want three assistant timers. A waiting list is available for tasks you think might be popular; it lets people add themselves and automatically be moved into the task if someone who has already signed up pulls out.
Although I appreciate the flexibility of setting registration and cancellation deadlines and allowing people to sign up for portions of a time slot, they feel like more effort than they’re worth. If I don’t have enough volunteers, I’ll take people whenever they register, and if someone cancels at the last minute, all I can do is be annoyed. Also, breaking time slots into portions is fussy. If someone can’t commit to a full slot, they shouldn’t sign up because it would be even more work for me to coordinate two shifts of people for something one could do. If I want two shifts, I just create two time slots so people know what they’re getting into.
Once an opportunity has been saved, it becomes available to all the volunteers. It’s not safe to assume that people will run across it on their own, so for FLRC, we build the public signup link that each opportunity provides into our website and include it in race announcements. When a user clicks it, they see a list of tasks.
That’s a quick overview of setting things up with Helper Helper, but what about the user experience?
Signing Up for an Opportunity in Helper Helper
Helper Helper provides free iOS and Android apps and a responsive mobile site that works nearly identically in Safari on the iPhone. The app and mobile site let users find new opportunities, see their commitments, and look at their volunteering stats.
The main difference between the apps and the mobile website is support for on-device push notifications. By default, Helper Helper notifies all volunteers of upcoming commitments 2 days before and again 2 hours before. Those notifications are sent by email and push notification, but the admin can configure those channels. Although Helper Helper can notify using SMS text messaging, that’s an extra cost, and we haven’t enabled it for our account—most of our volunteers are old enough to read email reliably.
My experience with a broad set of users who volunteer at FLRC races is that many won’t download another app and thus interact only with Helper Helper through its website and email. So, although the apps are welcome, push notifications aren’t guaranteed. The mobile website works fine, so it’s not a significant loss.
Signing up for a task is as simple as hitting the Sign Up button and confirming the choice, although new users have to register an account first, and returning users may need to log in. It’s the usual Internet account dance, and only a few non-technical people have had problems logging in.
An advanced option allows a commitment to remain private so only the coordinator sees it—otherwise, clicking or tapping the little silhouettes where it says 1 of 2
would reveal who was signed up. It’s also possible to send the coordinator a message when signing up—several people have used that effectively.
That’s all most users need to do—the process is intentionally simple. Once someone has signed up, they can change their mind and delete their commitment from the app or website, immediately freeing up their spot in the opportunity for someone else. That happens occasionally, and while I never want to lose volunteers, if I’m far enough out from the event, it’s not a big deal if people come and go without me knowing.
Managing an Event in Helper Helper
As volunteers sign up for an opportunity, the Opportunity Times section at the top of the opportunity shows how full each task is, and the individual volunteers appear in the Commitments section at the bottom of the Opportunity screen.
Although I’ve had minimal support issues with volunteers logging in, I add some people manually by clicking the Add Users button and finding the desired user. For instance, I may add a photographer who’s being paid to attend the event so they receive all the pre-event communications. Similarly, I sometimes need specific people in some spots, and it’s best to add them manually right away to prevent others from signing up for those spots. By default, anyone added manually before the event receives an email notification of that fact, so it’s best to alert them beforehand. (If someone shows up to help without having signed up, they can be added after the event and won’t be notified.)
The other utility of adding people manually is that it lets the coordinator move people around. For instance, if I wanted one of my assistant timers to take over as head timer for this race, I could delete myself from the head timer slot and add them. Helper Helper allows commitments to be rejected or deleted, with the difference being that rejections are maintained in the account. So far, I have only rejected commitments when volunteers failed to show up without telling me. In either case, the coordinator can send an email to the volunteer, although most of the time when I’m deleting someone, they’ve contacted me separately to let me know, so it’s easier to close the loop in that conversation than to trigger another message.
Although Helper Helper automatically reminds volunteers of their commitments 2 days before and 2 hours before the event, those reminders are bare bones, merely reiterating the time and place. It’s best to send email to all volunteers beforehand with any notes so they feel included, and Helper Helper makes that easy with a Message Attendees button at the bottom of the Opportunity screen. That opens the Message Center, where the coordinator can compose the message. It’s only plain text email with no styles or graphics allowed, but it gets the job done.
A highly welcome pop-up menu at the top of the Message Center enables the message to be targeted to specific time slots. We don’t use that for the most part, but with our largest race, we need to send separate messages for bib pickup volunteers, aid station volunteers, and course marshals. Unfortunately, because it’s a pop-up menu, I have to send the same message 17 times to account for the course marshals at all the different locations.
Helper Helper keeps an archive of each message and when it was sent, making it easy to track which communications have gone out. Clicking the line in the Message column opens the entire message so you can review what you said or reuse it in the future.
The two other buttons at the bottom of the Opportunity screen are also worth noting:
- Download Attendees creates a formatted Excel spreadsheet of all the volunteers who have signed up. It’s handy for printing and bringing to an event as a reminder of who’s doing what or extracting contact information for sharing before the event.
- Validate All Time Slots lets the coordinator confirm en masse that everyone who said they would volunteer actually showed up. That can also be done on a per-volunteer basis, and the handful of times that someone hasn’t shown up, I’ve rejected their commitment manually and then validated everyone else. In an ideal world, volunteers would validate themselves. Helper Helper reminds them to do so after the event if they haven’t already done so, but in my experience, fewer than half bother. I don’t like to harass them, and using Validate All Time Slots takes only a minute.
Finally, Helper Helper offers detailed reporting, as shown in the Overview screen below. The other tabs allow for drilling in for statistics on teams, individual volunteers, specific opportunities, and organizations. Along with the date range, filter options can include or exclude organizations and categories (the Race and Non-Race pie chart below—other organizations might want to categorize their opportunities more specifically).
For FLRC, these reports are just numbers; I can’t see us using them other than to share a high-level overview with our membership as a way of saying, “Look what we did together!” Nevertheless, I’m sure other organizations care deeply about being able to quantify their volunteer impact.
Helper Helper Wins and Wishes
Overall, Helper Helper has been a big win for FLRC and well worth its annual fee:
- Easier volunteer recruitment: As the pandemic wound down, we found it more challenging to recruit volunteers since some people remained leery of public gatherings, even outside. By allowing us to have a Volunteer button associated with each of our races and single-click signup from messages calling for volunteers, we’ve found it easier to recruit volunteers. In a few instances, people have even been disappointed because all the slots were full by the time they got around to signing up.
- Consistent, coherent signups: Before Helper Helper, every race director and team leader had to track volunteers independently, and how coherently that was done varied widely. It was tough even getting a list of volunteers to thank afterward.
- Better volunteer communications: As a communication professional, I care more about this than most (and thus end up doing it for many races), but being able to contact all volunteers before and after races has been tremendously helpful. That has been especially true when we’ve had to cancel races due to extreme weather on race day.
- More reliable attendance: We had no way of keeping attendance statistics before, but my sense is that Helper Helper’s reminders and pre-race communication have reduced the number of volunteers who are late or absent.
- Less stress for race directors: I can’t speak for all our race directors, but I rely on Helper Helper to coordinate ten separate events, and it has been a relief to be able to see all the tasks and who has signed up for them. Even when some slots remain empty, being able to determine that at a glance is a help.
- Less work in future years: In 2023, I put in a lot of effort creating the opportunities for each of our races, which required meeting with the race directors and talking through exactly what tasks were required, when they started and finished, and how to describe them. This year, all I’ve had to do is copy all of last year’s opportunities to new dates and make small changes.
That’s not to say Helper Helper is perfect, though. The company is small, and although they’re responsive to tech support questions and bug reports, there are areas where changes or improvements would aid my usage:
- Activity notifications for coordinators: Helper Helper notifies Institution Admins (the highest level) via email when new people first sign up, but it does not notify Team Admins or Opportunity Coordinators when volunteers commit to specific tasks or remove themselves from a task. I spend a lot of time poring over the Commitments list in the weeks and days before a race, but I’d still appreciate knowing when people add or remove themselves. This feature is reportedly on the roadmap, and I look forward to it.
- Admin confusions: Accounts awarded admin-level status become eligible for additional capabilities, but the current admin options don’t quite meet our needs. At the moment, for FLRC’s race directors to do what they need to do, I must give all of them the highest level of permissions, rather than being able to restrict them to just their races, which would prevent broader inadvertent changes. Here’s how they work:
- Institution Admins can do everything, including creating and modifying opportunities and adding and removing volunteers from specific commitments within an opportunity.
- Organization Admins can create and modify opportunities but cannot add or remove volunteers. I gather that’s because most Organization Admins are associated with an outside entity. It’s also weird that Organization Admins must be defined differently than the other two types, which can be chosen from a pop-up menu while editing a volunteer. Allowing Organization Admins to add and remove volunteers would be helpful for FLRC.
- Team Admins can do everything necessary to manage an opportunity and its volunteers, but only if the opportunity is restricted to that admin’s team. Otherwise, they can add and remove volunteers on their team, but nothing else. That’s frustrating for FLRC since our race directors need to be able to modify opportunities and manage people who aren’t yet on their team.
- Time slot titles lacking in edit mode: Helper Helper added time slot titles to the Opportunity screen at my suggestion. However, the only way to identify different time slots when editing the opportunity is by a tooltip. It works, but when you have 17 course marshall positions with similar time spans, identifying a specific one can take a good bit of mousing.
- At-a-glance status colors: As you can see in the left-hand screenshot above, Helper Helper shows how full each slot is with a number:
1 of 1
,0 of 4
, and so on. For a large event with many time slots, it would be helpful if those were color-coded, with full slots in green, partially filled slots in yellow, and empty slots in red. - Styled text and images in email: Although I have a soft spot in my heart for plain-text email, HTML email would be helpful for text styles and inserting images (like a map of where a course marshal should go).
- Checkbox interface for time slot messaging: The pop-up menu that enables messaging specific time slots is helpful, but a checkbox interface for selecting multiple time slots to receive a particular message would reduce repetition when emailing similar time slots.
- Less frequent sign-in: This wish is minor, but Helper Helper requires daily sign-in. 1Password makes that fairly painless, but I use plenty of far more sensitive systems that remember sign-in status for much longer.
- Automatic team assignment: We may be unusually using Helper Helper, but I’d like it to automatically add volunteers who sign up for a specific opportunity to the associated team. As it stands, I have to go through and add each new volunteer to that team. I suspect the issue is that most Helper Helper sites have mutually exclusive teams, whereas many of our volunteers are on multiple teams. That’s because we primarily use teams for messaging, not for restricting access to opportunities.
- No notification of photos: The Helper Helper app encourages volunteers to attach photos to their commitments, but the system doesn’t notify the coordinator apart from showing them to Institution Admins on the home screen, which I seldom look at. I just discovered that volunteers submitted 42 photos in the last year. I’m now downloading those to share, but it would have been nice to have been alerted to them earlier.
Much as these items would improve our experience of using Helper Helper, they’re far from dealbreakers. Put simply, Helper Helper has been transformative for recruiting and communicating with volunteers, and if you’re involved with an organization with non-trivial volunteer management needs, I encourage you to check it out.