The currently drafted Web Monetization Spec is certainly a good first step into the right direction. However, if we want to use it as a viable addition to the Micrio business model some changes need to be made to fit our vision of the product. We like to share our thoughts & ideas with you. Hopefully sharing this helps to strengthen the spec.
The current Coil implementation features a fixed payment stream that can not be influenced by the user of a website. While this might be a secure implementation (the stream can not be tampered with), it also has some implications.
First it implies that every type of content has the same value. It doesn’t matter if it’s a video, a game or a large research blogpost. Although the costs for the content creator might differ a lot, they receive the same amount of money. We think that this is not a healthy situation for the content creator.
Second, the Web Monetization API can be used worldwide. A content creator in the USA will have the same stream rate compared to a content creator in for example Cambodia. Although the same rate will give you way more purchasing power in Cambodia. So globally seen, we think this is not sustainable.
We feel like that the API should have more options to customize the payment behavior, like setting an amount per time-unit, the currency and maybe a maximum amount. By adding more tags, the customization of payment options would be possible and the API is suited for more scenarios.
In the process of making up suggestions for the API, we looked as much to the underlying Interledger protocol as possible.
<meta name="monetization:asset:amount" content="125" />
amount tag defines the price per minute in the currency calculated by the
scale tag. This replaces the fixed rate set in the current implementation.
<meta name="monetization:asset:scale" content="4" />
scale tag defines the scale of the payment. The scale divides the
max_amount by 10 to the power of the value (e.g.
amount / 10 ^ scale).
<meta name="monetization:asset:code" content="EUR" />
code tag defines the currency following the ISO 4217 spec in which the payment should be done.
<meta name="monetization:asset:max_amount" content="250" />
One of the most important changes would be to add an extra
monetization:asset:max_amount or "price" meta-tag that hooks into the
monetizationprogress event. The value of the
content attribute should be a numeric value which corresponds with the price of that web-page. When that specific value is reached, the monetization stream should stop automatically.
By unlocking the payment stream, we also expose the user to more risk. What if someone is asking 100 dollars per minute, without users’ explicit consent? Regardless of whether this is possible within the concept / regulations of ‘micro payments’. Therefore we suggest a feature in the browser where you can set a rate limit for the maximum amount per minute without consent. If the user navigates to a website where the asked rate is above the threshold, you will first have to give your consent for a one-time exception for the rate limit.
We are curious about what you think of our suggestions and hope this (and the discussion) will strengthen Web Monetization as a concept.
In the next post is serie you can see it in action and play with it yourself.