2021-10-11

It's been 15 years of Project VRM: Here's a collection of use cases and requirements identified over the years

Johannes Ernst

https://reb00ted.org/tech/20211011-vrm-use-cases/

Today’s Project VRM meeting marks the project’s 15 years anniversary. A good opportunity to list the uses cases that have emerged over the years. To make them more manageable, I categorize them by the stage of the relationship between customer and vendor:

Category 1: Establishing the relationship

What happens when a Customer or a Vendor wishes to initiate a relationship, or wishes to modify the terms of the relationship.

1.1 Customer initiates a new relationship with a Vendor

“As a Customer, I want to offer initiating a new relationship with a Vendor.”

Description:

  • The Customer encounters the Vendor’s electronic presence (e.g. their website)
  • The Customer performs a gesture on the Vendor’s site that indicates their interest of establishing a relationship
  • As part of the gesture, the Customer’s proposed terms are conveyed to the Vendor
  • In response, the Vendor provides acceptance of the proposed relationship and offered terms, or offers alternate terms in return.
  • If the offered terms are different from the proposed terms, the Customer has the opportunity to propose alternate terms; this continues until both parties agree on the terms or abort the initiation.
  • Once the terms have been agreed on, both sides record their agreement.

Notes:

  • To make this “consumer-grade”, much of the complexity of such concepts as “proposed terms” needs to be hidden behind reasonable defaults.

1.2 Vendor initiates a new relationship with a Customer

“As a Vendor, I want to offer initiating a new relationship with a Customer.”

Similar as for “Customer initiates a new relationship with a Vendor”, but with reversed roles.

1.3 Customer and Vendor agree on a closer relationship

“The Customer and the Vendor agree on a closer relationship.”

Description:

  • The Customer and the Vendor have been in a relationship governed by certain terms for some time.
  • Now, either the Customer or the Vendor propose new terms to the other party, and the other party accepts.
  • The new terms permit all activities permitted by the old terms, plus some additional ones.

Example:

  • The Customer has agreed with the Vendor that the Vendor may send the Customer product updates once a month. For that purpose, the Customer has provided Vendor an e-mail address (but no physical address).
  • Now, the Customer has decided to purchase a product from Vendor. To ship it, the Vendor needs to have the Customer’s shipping address. New terms that also include the shipping address are being negotiated.

1.4 A Customer wants a more distant relationship

“As a Customer, I want to limit the Vendor to more restrictive terms.”

Description:

  • The Customer and the Vendor have been in a relationship governed by certain terms for some time.
  • Now, the Customer wishes to disallow certain activities previously allowed by the terms, without terminating the relationship.
  • The Customer offers new terms, which the Vendor may or may not accept. The Vendor may offer alternate terms in turn. This negotiation continues until either mutually acceptable terms are found, or the relationship terminates.

Examples:

  • The Customer has agreed with the Vendor that the Vendor may send the Customer product updates. Now the Customer decides that they do not wish to receive product updates more frequently than once a quarter.
  • The Customer has agreed to behavioral profiling when visiting Vendor’s website. Now, while the Customer still wishes to use the website, they do no longer consent to the behavioral profiling.

2. Category: Ongoing relationship

What happens during a relationship after it has been established and while no party has the intention of either modifying the strength of, or even leaving the relationship.

2.1 Intentcasting

“As a Customer, I want to publish, to a selection of Vendors that I trust, that I wish to purchase a product with description X”

Benefits:

  • Convenience for Customer
  • Potential for a non-standard deal (e.g. I am a well-known influencer, and the seller makes Customer a special deal)

Features:

  • It’s basically a shopping list
    • free-form text
    • plus “terms” (FIXME: open issue)
  • Retailers can populate product alternatives for each item in the list
    • might simply be a search at the retailer site
    • but terms need to be computable

Issues:

  • what if a retailer lies and spams with unrelated products, or unavailable products?

2.2 Automated intentcasting on my behalf

“As a Customer, I want an ‘AI’ running on my behalf to issue Intentcasts when it is in my interest”

Description:

  • This is similar to functionality deployed by some retailers today: “We noticed you have not bought diapers in the last 30 days. Aren’t you about to run low? Here are some offers”. But this functionality runs on my behalf, and takes data from all sorts of places into account.

Benefits:

  • Convenience, time savings

2.3 Contextual product reviews and ratings

“As a Customer, I want to see reviews and ratings of the product and seller alternatives for any of my shopping list items.”

Benefits:

  • Same as product reviews in silos, but without the silos: have access to more reviews and ratings by more people
  • Seller alternatives give Customer more choice

2.4 Filter offers by interest

“As a Customer, I want to receive offers that match my implicitly declared interest”

Description:

  • In Intentcasting, I actively publish my intent to meet a need I know I have by purchasing a product
  • This is about offers in response to needs, or benefits, that I have not explicitly declared but that can be inferred. Example: if I have purchased a laser printer 6 months ago, and I have not purchased replacement toner cartridges nor have I declared an intent to purchase some, I would appreciate offers for such toner cartridges (but not of inkjet cartridges)

Benefits:

  • Convenience for Customer
  • Better response rate for Vendor

2.5 Full contact record

“As a Customer, I want a full record of all interactions between Customer and each Vendor accessible in a single place.”

Benefits:

  • Simplicity & Convenience
  • Trackability
  • Similar to CRM

Notes:

  • This should cover all modes of communication, from e-mail to trouble tickets, voice calls and home visits.

2.6 Manage trusted Vendor’s in a single place

“As a Customer, I want to see and manage my list of trusted Vendors in a single place”

Benefits:

  • Simplicity
  • Transparency (to Customer)

Notes:

  • Probably should also have a non-trusted Vendor’s: so my banned vendors are maintained in the same place — which subset is being displayed is just a filter function
  • Probably should have a list of all Vendor’s ever interacted with

2.7 Notify of changes about products I’m interested in

“As a Customer, I want be notified of important changes (e.g. price) in products that I’m interested in.”

Benefits:

  • can use my shopping cart as a “price watch list” and purchase when I think the price is right

Notes:

  • This should apply to items in my shopping cart, but also items in product lists that I might have created (“save for later” lists)

2.8 Personal wallet

“As a Customer, I want my own wallet that I can use with any Vendor”

Benefits:

  • Simplicity & Convenience
  • Unified billing

Notes:

  • Unified ceremony
  • Should be able to delegate to the payment network of my choice

2.9 Preventative maintenance

“As a Customer, I would like to be notified of my options when a product I own needs maintenance”

Description:

  • If I have a water heater, and it is about to fail, I would like to be notified that it is about to fail, with offers for what to do about it. It’s a kind of intentcasting but the intent is inferred from the fact that I own the product, the product is about to fail, that I don’t want it to fail and I am willing to entertain offers from the vendor I bought it from and others.

Benefits:

  • Convenience for Customer
  • No service interruption

2.10 Product clouds

“Each product instance has its own cloud”

Benefits:

  • Collects information over the lifetime of the product instance
  • Product instance-specific
  • Can change ownership with the product
  • Does not disappear with the vendor

Example:

  • My water heater has its own cloud. It knows usage, and maintenance events. It continues to work even if the vendor of the water heater goes out of business.

2.11 Product info in context

“As a Customer, I want to access product documentation, available instruction manuals etc in the context of the purchase that I made”

Benefits:

  • Simplicity & Convenience
  • Updated documentation, new materials etc show up automatically

2.12 Set and monitor terms for relationships

“As a Customer, I want to set terms for my relationship with a Vendor in a single place”

Benefits:

  • Simplicity & Convenience
  • Privacy & Agency

Notes:

  • Originally this was only about terms for provided personal data, but it appears this is a broader issue: I also want to set terms for, say, dispute resolution (“I never consent to arbitration”) or customer support (“must agree to never let Customer wait on the phone for more than 30min”)

2.13 Update information in a single place only

“As a Customer, I (only) want to update my personal contact information in one place that I control”

Benefits:

  • for Customer: convenience
  • for Vendor: more accurate information

Issues:

  • Should that be a copy and update-copy process (push), or a copy and update-on-need process (pull with copy) or a fetch-and-discard process (pull without copy)?

Notes:

  • Originally phrased as only about contact info (name, married name, shipping address, phone number etc) this probably applies to other types of information was well, such as, say, credit card numbers, loyalty club memberships, even dietary preferences or interests (“I gave up stamp collecting”)

2.14 Single shopping cart

“As a Customer, I want to use a single shopping cart for all e-commerce sites on the web.”

Benefits:

  • I don’t need to create accounts on many websites, or login into many websites
  • I decide when the collection of items in the cart expires and I don’t lose work
  • It makes it easier for Customer to shop at more sites, and I can more easily buy from the long tail of sites

Features:

  • It shows product and seller
  • It may show alternate sellers and difference in terms (e.g. price, shipping, speed)
  • We may also want to have product lists that aren’t a shopping cart (“save for later” lists)

2.15 Unified communications/notifications preferences

“As a Customer, I want to manage my communication/notification preferences with all Vendors in a single place”

Notes:

  • In a single place, and in a single manner. I should not have to do things differently to unsubscribe from the product newsletter of vendors X and Y.

Benefits:

  • Simplicity & Convenience

2.16 Unified product feedback

“As a Customer, I want a uniform way to submit (positive and negative) product feedback (and receive responses) with any Vendor”

Benefits:

  • Simplicity & Convenience
  • Trackability
  • Similar to CRM

Notes:

  • Should be easy to do this either privately or publicly

2.17 Unified purchase history

“As a Customer, I want to have a record of all my product purchases in a single place”

Benefits:

  • Simplicity & Convenience
  • If I wish to re-order a product I purchased before, I can easily find it and the vendor that I got it from

2.18 Unified subscriptions management

“As a Customer, I want to manage all my ongoing product subscriptions in a single place”

Benefits:

  • Simplicity & Convenience
  • Expense management

Note:

  • This is implied by the source, not explicitly mentioned.

Future:

  • Opens up possibilities for subscription bundle business models

2.19 Unified support experience

Benefits:

  • Simplicity & Convenience
  • Trackability
  • Similar to CRM

Notes:

  • Should be multi-modal: trouble tickets, chat, e-mail, voice etc

3. Category: Beyond binary relationships

Use cases that involve more than one Customer, or more than one Vendor, or both.

3.1 Proven capabilities

“As a Vendor, I want to give another party (Customer or Vendor) the capabilities to perform certain operations”

Description:

  • This is SSI Object Capabilities
  • Example: I want to give my customer the ability to open a locker
  • The scenario should be robust with respect to confidentiality and accuracy.

3.2 Silo-free product reviews

“As a Customer, I want to publish my reviews and ratings about products I own so they can be used by any other Customer at any point of purchase”

Benefits:

  • Same as product reviews in silos, but without the silos: broader distribution of my review for more benefit by more people

Notes:

  • Rephrased from “express genuine loyalty”

3.3 Monitoring of terms violation

“As a Customer, I want to be notified if other Customer’s interacting with a Vendor report a violation of their terms”

Description:

  • I have a relationship with a Vendor, and we have agreed to certain terms. If the Vendor breaks those terms, and other Customer’s in a similar relationship with the Vendor notice that, I want to be notified.

Benefits:

  • Trust, security, safety

Notes:

  • This can of course be abused through fake reports, so suitable measures must be taken.

3.4 Unified health and wellness records

“As a Customer, I want my health and wellness records from all sources to be aggregated in a place that I control.”

Benefits:

  • Survives disappearance of the vendor
  • Privacy
  • Allows cross-data-source personal analytics and insights
  • Integration across healthcare (regulated industry) and wellness (consumer)

3.5 Verified credentials

“As a Customer, I want to be able to tell Vendor 1 that Vendor 2 makes a claim about Customer.”

Description:

  • This is the SSI verified credential use case
  • Example: I want to tell a potential employer that I have earned a certain degress from a certain institution
  • The scenario should be robust with respect to confidentiality and accuracy.

4. Category: Ending the relationship

What happens when one of the parties wishes to end the relationship.

4.1 Banning the vendor

“As a Customer, I want to permanently ban a Vendor from doing business with Customer ever again.”

Description:

  • This form of ending the relationship means that I don’t want to be told of offers or responses to Intentcasts etc. by this vendor ever again.

4.2 Disassociating from the vendor

“As a Customer, I want to stop interacting with a vendor at this time but I am open to future interactions.”

Description:

  • This probably means that data sharing and other interaction reset to the level of how it was before the relationship was established. However, the Customer and the Vendor do not need to go through the technical introduction ceremony again when the relationship is revived.

4.3 Firing the customer

“As a Vendor, I want to stop interacting with a particular Customer.”

Description:

  • For customers (or non-customers) that the Vendor does not wish to serve (e.g. because of excessive support requests), the VendorVendor may unilaterally terminate the relationship with the Customer.