Date

So Facebook has been caught red-handed capturing way too much data about you and then being careless with it. I know what you're thinking. Why haven't we reinvented both online advertising and the social network by applying the idea of Pilot Waves (from physics) to a new type of Internet protocol? OK, fine, that's what I've been thinking. Still, it's clear that the online situation is in a poor state and we can do much better.

Pilot Wave theory, very roughly, claims that reality is composed of both particles and waves, with a wave acting as a guide (or pilot) for each particle. So when you know the wave, you are able to predict the path of the particle. When you know the particle(s), there's a wave in there somewhere. Now we're going to apply this principle to people.

The Pilot Wave Transport Protocol (Roughly)

With this Pilot Wave Transport Protocol (PWTP), each person on the network voluntarily transmits one or more wave-function packets to a service which uses the wave packets to make connections with a counterparty. One PWTP-aware service might work similarly to how brokers send orders into the stock market. Another service might work similarly to how we talk to our family and friends.

Like this:

Sending the packet

At some point, we expect a response. When we send our packet to a social network service (perhaps paying for the privilege), we expect high-quality social connections to be made. When we send it to an advertising network (perhaps for a price), we expect a connection with a product or service that precisely matches our needs and limits.

Each packet is as simple as a timestamp, a sine wave, a wave period, and optionally a phase, with no upper complexity limit. Further, each packet is linked to a specific activity that the person does on a regular basis.

The packet might be structured like this:

{
    PersonID: 1234,
    ActivityID: 4321,
    Timestamp: 1522349778,
    Functions: [
        {
            Function: "sin(x)",
            Period: 86400,
            Phase: 0
        }
    ]
}

The activity can be literally anything: drink a beer, initiate a hostile takeover, eat out for lunch, run a marathon, and so on. From as minuscule an activity as you can imagine all the way up to nation-shaking tweets (or bigger yet). The frequency of each activity could be from once a minute to once a decade, and anything between, which means that the times you did an activity become the basis for its wave function.

Each wave function is probabilistic, not deterministic, as we are modelling the future not defining it. The wave looks like this when it also has an amplitude decay:

Decaying sine wave

The peaks of the wave represent the highest probability of the activity occurring at that time while the troughs represent the lowest probability. Each wave function should be re-transmitted when the underlying activity recurs so that it remains relevant.

Once again, I know what you're thinking. Does this mean that anyone who receives my wave function and knows that it represents "mountain biking" is able to predict with surprising accuracy when I'm going to go mountain biking next? Why, yes! Or when I'll be depressed next, or horny next? Yes again! Or maybe when I'm going to buy a bag of Doritos next, or when I'm about to head to the pub for a beer, or go grocery shopping, or change the oil on my car? Yes, yes, yes! But only for the activities whose wave packets you've decided to share, of course.

So that's the essence of the Pilot Wave Transport Protocol. Once you have enough particles (timestamped activities) you can generate a wave function and share it as you please. When you possess the wave, you'll be able to probabilistically predict the particle—the approximate time of the future action.

Fixing the Facebook problem

By now you might be wondering how exactly this protocol fixes the Facebook problem.

Everyone hates intrusive, abusive, poorly timed, and poorly targeted ads. Unfortunately, almost all ads are like that, including what Google and Facebook serve, so it's easy to conclude that we simply hate ads. Yet we all appreciate when someone anticipates our needs and offers us, say, a cold beer or glass of red wine precisely when we crave one. Not an hour early, not an hour late, but at the right time. It's an emotional event when that happens. For both sides!

So a general application of this protocol is to make spookily-timed connections between one person's unstated need and another person's interest in fulfilling that need. This may be in public and for a price (replacing online ads), in private between friends (replacing social networks), or anything between (new types of services). Compared to the intrusive ad models of Facebook and Google, we'd quickly make the online experience a much happier place.

Because each person decides which wave packets they construct and transmit (and to whom they allow access), any connection made will be close to what they want. And because each person controls their own data and the publication of their wave packets, and not the Facebooks and Googles of the world, we'd no longer need to put up with our personal information being secretly hoovered up and squirreled away for disagreeable purposes.

I'm sure you noticed that I left several important questions unanswered:

  • Why waves?
  • What about privacy?
  • What about information security?
  • How do I generate wave packets?
  • Where can I send my wave packets?
  • How do the services use the wave packets to make high-quality connections?
  • How does this protocol lead to a better online situation than what we have now?

Even though several of those questions fall outside the scope of PWTP proper, I'll cover them all in future articles. Until then, try to answer them yourself!