We've all been there: you're standing by the washing machine, about to start a load, and you realize you're out of laundry detergent. Or you're getting ready for bed and you realize you've forgotten to buy more mouthwash. Less often, you find yourself wondering how to fly to a particular destination cheaply, or needing a good deal on a new car.
You don't want to deal with a single vendor for each of these things, but you also don't want to spend ages doing price comparisons. What would be great is if you had a personal shopper that would find the best version of these things and automatically get them for you.
For regular, low ticket value essentials - laundry soap, mouthwash, diapers - wouldn't it be nice if you could get these products in a vendor-agnostic way by pushing a single button?
Here's how it works.
What you'll need
A website running on your own domain, with the ability to accept webmentions. Hey, Known does this! So do a variety of other projects!
The request
First, you need to publish a request on your own site. To you, it's a simple statement: something like, "I need some more laundry soap". (The button could make this statement for you.)
On the back-end, the statement is marked up using microformats, and a note is made to a PubSubHubbub hub that there's new content.
A product request aggregator is subscribed to your request, and is notified immediately via PubSubHubbbub. Your request is pushed to an aggregated feed of requests from all over the web. Vendors can subscribe to the requests, or filter them by location, or other profile characteristics that you have published on your own website. Again, these profile fields are just published as HTML, using microformats; there's nothing fancy or proprietary here.
Over time, as vendors build relationships with individual consumers, they can subscribe to their feed of requests directly. There's no requirement for a middle-man.
Making an offer
Vendors can then respond with an offer.
Offers are written as HTML statements too: product details, the quantity, and the price. For example, a statement could include a box of Tide at a particular price.
This statement is published as a reply to your original request using webmentions. In other words, your request to buy something - an item on your personal URL - is answered by a corresponding offer, which is an item on the vendor's personal URL.
Accepting an offer
You can peruse all the offers that have been made on your request. But you could also tell the platform that runs your URL to automatically accept offers within a certain range (for example, if you're offered Tide at a reasonable price, or airfare from SFO to LHR under $800).
To accept an offer, another statement is made, again written as HTML marked up with microformats. This just says something to the effect of, "yes please". Using webmentions, it is attached as a response both to the vendor's offer, and to your original request. That means that any vendor can see that you have accepted an offer, and the vendor can see that their offer has been accepted.
All of this happens behind the scenes, and although the formats involved are very simple, the user gets to use their phone, their browser, or another familiar interface. Again, it could all be done with a simple button.
And then the connection is made. If you have no prior arrangement with the vendor, they get in touch with you (via contact methods published on your URL) to arrange payment and delivery. Otherwise, if the arrangement is already set up, you're good to go.
Finally, another webmention is sent when the product has been shipped - or if the order had to be canceled or changed for any reason.
Why does this make the world better?
This model for commerce - commonly referred to as Vendor Relationship Management, or VRM - turns traditional advertising on its head, and removes the need for complicated targeting technology. Customers readily identify themselves, creating more valuable sales channels where guesswork is all but eliminated.
Additionally, the use of indieweb technologies like webmention and microformats here removes the need for complex or proprietary identity technology. The customer can use the platform of their choice, without the risk of a single vendor locking stakeholders into a single service and impeding commerce and innovation over time.
The customer says they need to buy something; vendors respond with their best offer; money is made, products are sold, and everyone walks away happy, with almost no friction.