Hi everyone,
It’s Sunday evening here, and I’m finishing what has been a very long and difficult week. MetaGrid Pro 1.7.2 is currently in Apple review — so this feels like the right moment to sit down and write something I’ve been meaning to write for this week.
I want to talk about connectivity — and give you an honest account of what happened after 1.7 shipped.
Version 1.7 included a major rewrite of the connectivity engine. Not a polish pass. A fundamental rethink of how MetaGrid Pro discovers computers, maintains connections, and recovers from everything that can go wrong in between — sleep, wake, USB hiccups, backgrounding, network changes, and all the strange situations that happen in real-world use.
On our systems it worked very well. In some cases, better than anything we had before.
Then it went live, and within days some of you started running into instability. Crashes. Connections that wouldn’t hold. Situations that were bad enough to actually interrupt your work.
That is not okay, and I want to be direct about it.
The issue wasn’t a broken idea at the foundation. The connectivity architecture in 1.7 is genuinely better than what came before. The problem is that connectivity is by far the most complex part of MetaGrid Pro — and no matter how thorough your test environment is, there is a hard limit to how many real-world configurations you can cover before shipping.
Our decisions weren’t wrong. They were incomplete.
The logic was built on solid ground — our own systems, our beta testers, years of accumulated knowledge. What 1.7 gave us, for the first time, was data from hundreds of environments we had never seen before. Specific sleep/wake sequences, particular iPad and USB combinations, timing conditions that only surface under very specific operating-system states.
That kind of coverage is simply not possible before a public release — and the reports many of you sent made it visible.
Think about everything that sits between your iPad and your computer. Not just one computer, but thousands of Macs and PCs running different operating systems, drivers, network hardware, USB controllers, and power-management systems.
Different iPad generations. Different iPadOS versions. Different macOS and Windows versions. Different routers. Different USB chipsets. Different hubs. Different cables. Different security software. Different sleep settings. Different DAWs running in the background.
We’ve even seen cases where a cable charges reliably but behaves differently under sustained data transfer — through a hub, through a dock, or through an older USB controller.
And then there’s the logic on top of all that hardware.
Connectivity in MetaGrid Pro isn’t just “connect, send, reconnect.”
What makes this particularly challenging is that controller software lives at the boundary between devices. A DAW runs on one machine. A plug-in runs inside one process. MetaGrid Pro has to keep an iPad, MetaServer, the operating system, the network stack, USB transport, and often a professional application like Cubase, Logic Pro, Studio One, Ableton Live, or another creative tool all agreeing on the current state at the same time.
It has to know whether the Mac is actually ready after waking from sleep or just pretending to be. It has to know whether a missing USB device is gone for good or coming back in a moment. It has to know whether the server restarted, whether the network changed underneath it, whether iPadOS temporarily suspended communication, and whether the computer is awake but still locked.
It has to make dozens of decisions per session that you should never have to think about.
That’s where the complexity lives.
And some of those decisions, it turned out, needed more information than we had.
What gave us that information — and I mean this — were your logs.
The crash reports, the diagnostics, the detailed descriptions of what you were seeing. Many of you sent them, and they allowed us to observe situations that simply don’t exist in a lab.
It’s also worth saying that the logging and diagnostics work we invested in throughout the 1.6.x cycle did exactly what it was supposed to do. Both MetaGrid Pro and MetaServer captured the right information at the right moments, which allowed us to understand what was actually happening much faster than would otherwise have been possible.
We could not have found many of these edge cases without you.
Version 1.7.2 is the result of that process.
It’s not just a collection of fixes. It’s the connectivity engine with real-world knowledge it didn’t have before 1.7 shipped.
The work since release has improved USB recovery, sleep and wake handling, background restoration, connection validation, host identity tracking, and several edge cases that only became visible once the update reached a much larger audience.
Connectivity will probably always be the hardest part of this product.
It’s the place where iPadOS, macOS, Windows, USB hardware, networking, power management, MetaServer, and professional creative software all meet at once. Any of those layers can pause, delay, recreate, or lose state without warning.
The goal is that you never have to think about any of it.
Every report we received made the system better, and the connectivity engine in 1.7.2 is considerably more resilient than anything we have shipped before.
Thank you for the patience, and especially for the reports. They made 1.7.2 possible.
Now I’m pressing the Sleep my Mac button and heading out for dinner with my loved ones.
Have a great Sunday.
— Przemek