WICG / proposals

A home for well-formed proposed incubations for the web platform. All proposals welcome.
https://wicg.io/
Other
233 stars 16 forks source link

User (Fashion) Shopping Preferences #115

Open Crissov opened 1 year ago

Crissov commented 1 year ago

Introduction

There are many shops on the Web that are trying to sell goods to customers where they need to choose a specific variant that will suit their needs best. Shops are offering a number of tools on product listing pages and product detail pages to help with this, these include filters, search, configuration options and recommendations. Many of these are similar across shops. Many of them are primarily describing the solution and do not ask for the actual need or do so only indirectly.

For the sake of simplicity, this proposal is focused on and limited to shopping for fashion products, i.e. clothing.

The motivation is similar to Web Payments: DRY for customers, but for the steps before checkout.

Use Cases

Fashion shopping

A user almost always knows how tall they are and how much they weigh (in the unit system they are accustomed to). They may also know some other dimensions of their body or could measure them, which can be a bit tedious. Some of this data will change over time. They also often know which clothing sizes they are usually wearing at least for some of their apparel or their preferred brands. However, most of this is considered sensitive private information which many users do not want to share publicly.

Manufacturers use data from mass surveys and local or international standards to design and produce clothes in a limited set of sizes to cover the needs of their target groups. They label them with size designation according to at least one of a number of national standards for product dimensions, but may not always comply exactly to all of them. They may also use internal conventions to assign sizes, especially vague ones without an absolute definition like S/M/L. Distributors then either use the labelling provided by the manufacturers and brands they sell or they impose their own system to harmonise different systems used by their suppliers. They frequently publish size guides and charts to aide their customers in selecting the best fitting variant.

In fashion shopping, the intermediary between body dimensions known to the customer and product dimensions known to the manufacturer are clothing sizes for which there are many slightly different standards. Virtually no company adheres to more than one sizing standard perfectly and nobody knows their theoretical ideal size in more than one system precisely. The resulting mispurchases and precautious double orders of neighbouring sizes leads to a lot of merchandise returns in online fashion shopping, which is essentially a waste of resources and also lowers customer satisfaction.

As a shopper, I want to only get presented with results that will (soon) fit myself, and also perhaps get pieces I may like highlighted, so I will effectively and efficiently find what I want to buy.

As a wearer, I want to enter the necessary data once into a trusted and safe location and I am the only one who will keep it updated. I prefer to keep this data stored locally or end-to-end encrypted within a cloud service I already use.

Fashion shopping for family members

As a family shopper, I want to choose whom in my household I’m looking to buy clothes for and this can be multiple people at once. Otherwise, the experience should be like when shopping for myself, except that everyone may update their own data as well.

Fashion shopping as a gift

As a friendly shopper, I want to buy a well-fitting piece of clothing as a gift for someone outside my household, therefore without them knowing about the purchase (or at least the details) in advance. I neither need to know their body dimensions or clothing sizes nor do I want to update their data.

Body data provider

A fitness or health tracking app, for instance, may have collected some data in an accessible location that could be used to update some previously stored User Shopping Preference data. For the sake of accuracy, it would be helpful if this could be pulled semi-automatically.

Goals

Non-goals

Proposed Solution

Without being too prescriptive, articulate a specific way (procedurally, algorithmically, declaratively) that a new or current web technology solves an existing problem or challenge.

Examples

(pseudo code)

Declarative / Passive API

<label for="size-select">Shirt size:</label>
<select name="size" id="size-select" user-shopping-preference="90cm < body.bust < 114cm">
  <option value="46" user-shopping-preference="body.bust < 94cm">XS</option>
  <option value="48" user-shopping-preference="94cm < body.bust < 98cm">S</option>
  <option value="50" user-shopping-preference="98cm < body.bust < 102cm">M</option>
  <option value="52" user-shopping-preference="102cm < body.bust < 106cm">L</option>
  <option value="54" user-shopping-preference="106cm < body.bust < 110cm">XL</option>
  <option value="56" user-shopping-preference="110cm < body.bust">XXL</option>
</select>

Active API

<label for="size-select">Shirt size:</label>
<select name="size" id="size-select" 
  onload="value = Math.ceil(browser.getUserShoppingPreference(body.bust.cm) / 4) * 2">
  <option value="46">XS</option>
  …
  <option value="56">XXL</option>
</select>

Alternate Approaches

Privacy & Security Considerations

Let’s Discuss

brennanyoung commented 1 year ago

seems to me that, as a minimum viable product, this effort might begin with preferred units (e.g. US/European/Asian sizing), which BTW has an obvious additional use case in the presentation of recipes. (Very few people outside USA knows how much a "cup" is).

This might permit progress (and security testing) with minimal risk, since if I indicate that I prefer EU sizing, I am not revealing how big or small I am.