proposals
proposals copied to clipboard
User (Fashion) Shopping Preferences
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
- A suggestion for which User Shopping Preference data a browser may offer to store internally, including profiles to cover multiple people.
- This may cover stuff like body dimensions for fashion shopping but also dietary preferences/restrictions for restaurant orders for instance.
- A passive API for web sites, shops in particular, to inform the browser that a form widget will filter results and how this relates to User Shopping Preferences, so the browser can replace them by native controls using the user data it has stored.
- An active API for web sites, shops in particular, to query the browser for User Shopping Preferences, so the sire can alter the filters or options available.
- Optional: An API to allow authorised sites (and apps) to update partial User Shopping Preferences stored within the browser – or to register as a data provider to be queried by the browser.
- Optional: An API to allow sites to register as a data broker where the browser may publish certain User Shopping Preferences as an encrypted read-only object shared by the user which other browsers or sites may then retrieve to aide their users to purchase something for the original user. (I have no idea how to solve the necessary access restriction.)
Non-goals
- Openly exposing private user information to interested parties.
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
- A browser extension or app (like Snap’s Fit Finder) could use user data stored internally or within a cloud service to alter filters in known web shops.
Privacy & Security Considerations
- This suggested feature has severe privacy concerns!
- Data must only be exposed to sites the user has authorised and only exactly the data that is minimal necessary to fulfil the requirements.
- Even if only a passive, declarative solution was specified, sites and even third parties like ad services and trackers could still try to use brute force to find the exact values the browser has stored about its user’s User Shopping Preferences in order to create more detailed user profiles and fingerprints (PII).
Let’s Discuss
- I’m glad to hear suggestions how to do sharing data for buying gifts could be made possible.
- Large retailers may have collected and analysed enough order data from their customers to be able to make suggestions without the user or browser actively assisting at all (although I think Amazon to name the elephant in the room doesn’t do this yet). Therefore, this proposal is also intended to help smaller shops to provide similar convenience and improved UX.
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.