Skip to main content

Usability for the blockchain

To break down the barriers of first time users on the blockchain, lets summarise the actions often required actions to make a first transaction:

Setting up a Digital Wallet

Before doing anything on the blockchain, you need to set up an identity, without this you can not send or receive anything. It would be like asking somebody to transfer you money without a bank account. This usually involves something like installing a wallet client like metamask, backing up the mnemonic key phrase incase you loose the local wallet and then learning the basics of the apps interface.

External wallets like MetaMask are universal interfaces and wallet storage for blockchain interactions. They provide useful mechanisms to add additional safety to transactions. However, this adds additional interactions and complexity for new blockchain users and is often unnecessary when dealing with many low value interactions like an application like Pingify.

Wallet Addresses

Once set up with a wallet, your address will look something like this: 0x159F4a9A9608C358f47e58070bDA9F1CAbaD7E76. If you want to receive anything on the blockchain you must share this address and make sure it is included correctly in the transaction. Blockchain addresses are usually not recognisable at a glance and difficult to remember, thus increasing the likelihood of anxiety and confusion when interacting with them.

Obtaining tokens for gas fees

To make a transaction on most blockchains a user must first obtain tokens for gas fees. This involves signing up to an exchange, going through their often strict KYC processes, purchasing said token, and then transferring it out of the exchange, into your wallet. All of this effort is required just to obtain the often negligible amount of tokens required to make a transaction with the blockchain.

Interacting with the blockchain

When it comes to making a transaction, this is perhaps one of the most user friendly processes. However, by having an external wallet it usually involves triggering the transaction on your wallet application before reviewing and accepting it. This is a well needed security mechanism when transferring large valuable amounts of crypto, however, for small interactions it adds additional clicks and burdens the user unnecessarily.

To address these usability barriers, Pingify utilises a combination of familiar accessible technologies with novel features and UI flows to abstract the complexity of blockchain into a seamless experience for first time users. The resulting solution makes the onboarding process the following:

User obtains a Pingify tag User installs the Pingify app from the App Store or Google Play Store User signs in via the Google or Apple “Sign in Button” User is asked for a passcode and enters one User scans the QR code on the package of the Pingify tag User adds the tag and selects a name and icon for the tag User sets a username

This may seem like a standard traditional flow of an app, however, at this point the user has completed all of the same steps mentioned previously and interacted with the blockchain along with configuring account recoverability and username identification for their digital wallet.

The flow tackles each of these barriers with the following solutions:

Setting up a digital wallet

Instead of requiring the setup of external wallet providers, we generate the users wallet in app and store in a secure storage on their device, users have the option to sign in via third party providers as a mechanism for backing up their wallet private keys incase they loose their device or app installation. This is encrypted using a user provided passcode before backup making it visible to only them. This is a similar login mechanism to other providers like web3auth.io or magic.link but with a focus on fast access to transactions.

Wallet addresses

Once a user wallet is set up behind the scenes and they have obtained gas fees, they can set up a username linking the wallet to a unique string in the smart contract. This allows user within the Pingify ecosystem to transfer ownership and interact without requiring to know the wallet address of the recipient.

Obtaining tokens for gas fees

Once the user has logged in or created their wallet, they can scan the activation QR code on the package of their tag. This reads a temporary private key of an account holding their NFT along with a small amount of tokens for gas fees. On the click of a button the app uses the private key to transfer the content of the temporary wallet onto the users account, giving them ownership of the NFT and gas tokens.

Pingify is built on the Polygon blockchain, a blockchain that is notorious for very low gas fees. At the time of this white paper 1 POL is approximately 0.20 euros with an average transaction cost on Pingify of around 0.001 POL. This makes transactions on Polygon almost unnoticeable and makes transferring gas fees with Pingify NFTs a viable solution, reducing the burden on the user and removing future exposure from Pingify (compared to gas fee sponsorship, where gas fees are covered by a third party).

Submitting a transaction

Blockchain interactions are a vital part of safety and usability for digital interfaces. When it comes to sensitive actions like submitting a blockchain transaction, some level of protection against accidental submission is always needed. To combat this we have designed a Hold down button with haptic feedback for each time a user interacts with the blockchain. When the user presses down, interactive waves expand and slowly contracts into the centre of the button. As the user keeps the button held down the waves reach the centre and haptic feedback indicates the beginning of a transaction. This makes each transaction with the blockchain a purposeful action without requiring a user to press more than once or interact with an external wallet.