Features delivery: Example

I described a features delivery in the previous article. Features delivery enables to extend dApps and apps with new features. Let’s see an example today.

Vlad
Unframework
2 min readOct 16, 2018

--

Imagine someone submits a following message to the chatting app. The message can be extracted from a data field of an Ethereum transaction or can exist as an off-chain message.

{
"message": "Hi, we were able to accept your application! Please pay 1 ETH for the ticket to confirm your attendance!",
"amount_to_pay": 1,
"currency": "ETH",
"to": "x0dh…",
"due_date": "11-03-2018"
}

The message can be interpreted as a standard chat message.

But the message has also attributes of an invoice like an amount, currency and others. It would be nice to be able to pay the invoice directly from the chat! But it is costly and impossible for developers to implement every possible feature for any type of message.

This is where a features delivery network helps. Developers of the dApp do not need to implement any extra internal functions to enable the payment service. Instead, the dApp just relays the message to an external Unframework microservice.

The microservice extends the message with additional data like actions and possible interpretations. These actions are referencing to another microservices that everyone it the world can create.

{
"message": "Hi, we were able to accept your registration! Please pay 1 ETH for the ticket to confirm your attendance!",
"amount_to_pay": 1,
"currency": "ETH",
"to": "x0dh…",
"due_date": "11-03-2018",
"actions": [
{
"action": "pay",
"service": ...
},
{
"action": "cancel attendance",
"service": ...
},
],
"interpretations": [
{
"action": "formal",
"service": ...
},
{
"action": "sweet",
"service": ...
},
{
"action": "orange emoji",
"service": ...
},
]

}

As a result, the dApp can render the available actions to a user. Once a user taps an action or interpretation, correspondent microservices proceed the current message. For instance they enable user to create a new Ethereum transaction to pay the invoice.

There are various approaches how to preserve a user privacy. Microservices can run locally on a user’s device or they can proceed only a structure and not a sensitive content of messages.

Web: http://ufw.yiedl.io

Twitter: https://twitter.com/unfwk

Telegram: https://t.me/joinchat/FzZn_RDFMoSuvj83DKxsmA

Mail: vlad@kahoun.info

--

--