Distributed Apple Intelligence
April 3, 2025
Next »
On a recent trip the airline told me that they weren't sure where my luggage was.
"Oh," I said, "I do. It's still in Frankfurt." I showed them the Find-My app on my phone and showed them exactly where my luggage was. A few minutes later they confirmed it and said it would be in Cleveland the following evening.
Air Tags are pretty amazing. They use Apple devices around them to send its location to iCloud and the Find-My network passes that information on to me.
I'm sure that my phone has helped other people locate their Air-Tagged items and other people's phones have helped me find mine.
Actually, a primitive version of this sort of idea goes way back to the first iPhone. The original iPhone didn't have GPS but it could figure out where it was by triangulating on nearby cell towers.
This was improved the following year when the iPhone could use nearby wifi networks to help better locate the phone.
The phone wasn't connecting to those wifi networks. It's not like I was able to steal someone else's network. No, the solution was pretty clever. If I could see a wifi network then I must be pretty close to it. A bunch of these devices had their location known precisely in a data base. So the location of the iPhone could be more accurately determined by the known wifi endpoints that it could see.
Before I come back to the present day, I want to talk about one other thing that I was interested in the early days of the iPhone.
I was a Java developer and I loved the promise of distributed computing and was quite excited by JINI, JavaSpaces, and JXTA. All three were very powerful ways of combining the power of your computer with other nearby computers.
Most of the applications were for big networks solving big problems. A travel company used it to speed up searches for the best options for flights for you. A large bank used it for load balancing at the end of each day.
A computer with too much work to do would basically look for trusted computers who were available to do specific types of work.
"Hey," the computer might say, "anyone have a spare minute to perform this specific type of costly calculation and return the result?"
"I can," another computer would say and the work was handed over.
There were all sorts of things that made this safe. The communications were handled securely using protocols. There were assumptions that something could go wrong and either the other computer would fail to complete the work or the network might fail and so there were appropriate failsafes.
Anyway, years later I saw a demo of Rendezvous, the Apple technology later known as Bonjour.
This was the demo where Steve was on stage at WWDC and shared his music with Phil using Rendezvous in iTunes. I was taken with it and reached out to Stuart Cheshire who created the technology and we co-wrote a book on it.
He was amazingly smart and practical and I learned so much from him.
But it also occurred to me that Apple was positioned to do things that Sun hadn't been able to do with JINI, JavaSpaces, and JXTA using the ideas from the technologies.
Unlike systems that had come before it, JINI depended on the devices all using the same programming language and type system. Given that, it could share mobile code.
As I look around me today, not only do I have a ton of devices that all use the same programming language and type system, they are all Apple devices that have compatible operating systems.
My Mac, watch, phone, and television set all know how to communicate with each other.
And then there are the other devices that aren't Apple devices but do work with Home Kit.
More than that, these devices spend most of the day not really doing anything. They all have time to spend helping each other to solve bigger problems.
Maybe there's a question that is too much for my mini Home Pod to answer. Instead of telling me to open my phone and search for the answer myself, perhaps it could say, "hang on a minute" and ask my Phone to find the answer for it.
Lately, Apple has taken a hit for how much their AI abilities has lagged behind their competitors and missed deadlines that they set themselves.
I don't want the rush to lead them to decisions like Amazon's which just killed the "Do not send Voice Recordings" feature for the Echo. Amazon assures us that it will be better for us, but I still remember when recordings from people's bedrooms were accidentally sent to random people in your contacts. Not that I'm doing anything I'm ashamed of, but privacy matters.
I would love for Apple to introduce a robust distributed computing framework like a JavaSpaces that could take advantage of nearby devices in a safe way.
The system would lead to a better more robust implementation of Apple Intelligence that wouldn't need the internet if it found what it needed on your local network. We could decide if we want to let our machines help out nearby machines or just ones that we whitelist. Similarly, we could decide if we want our machines to use the help of nearby machines or just the ones we approve of.
The system would have to account for whether or not the devices can spare the battery bandwidth and whether or not and how the device is connected to the internet.
For power users, we could have a dedicated machine in our homes or office that is a custom Mac Mini or Apple TV that has a model installed on it and the processors needed to provide the work that Apple Intelligence needs to really shine. Rather than throwing away or recycling an old Mac, we might repurpose it as our Apple Intelligence machine.
Maybe coffee shops and work spaces would have a shared dedicated machine in the same way that they might provide internet or printing. I can choose whether or not I trust a public device and they can choose whether or not and how much to charge for access.
There are so many ways in which distributed computing can solve problems for us and once we start using it, new use cases will suggest themselves. There is a rich history of experiments, speculation, and shipping software. I'm suggesting that Apple is one of the companies in a unique position to put all of this together in ways that benefit those of us who have one or more of their devices on our desk, in a bag over our shoulder, in our pocket, on our wrist, over our eyes, in our ears, or nearby at various times of the day.
I'd love for Apple to take steps in the direction of distributed computing for Apple Intelligence, for third party developers, and for beefing up Home Kit as a platform.