OmniDrop: I reset everything (and it was the right call)
The problem I did not want to see
In March I told you about OmniDrop: local transfer, remote transfer, encrypted messaging, OMNI-ID identity, contacts, anti-spam. On paper, everything was there.
When I reopened the code in October, the verdict was simple: sending files could not work. The send screen still called the old engine, whose receiver was no longer started. I had stacked features on a foundation that had never been tested on two real devices.
That is the classic trap of building solo with AI: you can write a lot of code very fast. Writing code is not the problem. Checking it is.
The market moved too
In those seven months, the world did not wait:
- AirDrop now talks to Quick Share on recent Android phones. Sending a file from an iPhone to an Android phone next to it is no longer a problem.
- LocalSend 1.18 can now receive from a plain browser, no app needed.
- Blip does transfer over the internet and charges professionals for it.
Conclusion: a local "AirDrop for everyone" no longer sells. What is still open is a clipboard shared across every operating system and sending files outside your Wi-Fi without an account or a cloud.
The decision: do not rewrite it a second time
I already had a plan in March: rebuild the core on the open LocalSend protocol, in 7 steps. It had stopped at step 1. The temptation was to start over. I did not. The plan was good; it needed to be finished.
The first three steps make the reliable V1:
- Discovery of devices on the network, LocalSend-compatible
- Sending files, with a simple bar: 10 out of 10, three file sizes, Mac to iPhone and Mac to Android
- Receiving, and the share sheet
What testing found
I tested against the real LocalSend, used as a reference device. Three bugs showed up right away:
- Protocol types: OmniDrop sent the port and a flag as text instead of a number and a true/false. LocalSend simply ignored OmniDrop.
- The client certificate: since version 1.18, LocalSend requires a certificate on both sides.
- The system proxy was getting in the middle of local connections.
None of these bugs show up when you read the code. They jump out the moment you test against reality.
What goes on hold
Chat, the OMNI-ID identity, contacts, the HarmonyOS and WeChat versions, the "enterprise" strategy. Not abandoned, just shelved. And the daily transfer limit on the free version is gone: next to AirDrop and LocalSend, free and unlimited, it made no sense.
What is next
First the test on two real devices. Then the clipboard, then remote transfer, which will justify a small subscription because it costs money every month. And an idea I really like: a public page, something like omnidrop.app/@you, where anyone can drop you an encrypted file.
An app that does one thing perfectly beats an app that does ten things halfway.