The Hardest-Working Logo in Crypto

The Accept.io Logo is Like a Digital Stamp for Smart Contracts

Philip O'Shaughnessy
Accept.io
6 min readJul 27, 2018

--

Most people don’t know how to buy and sell cryptocurrency. It’s getting easier for sure — exchanges, for example, have made big improvements in user experience — but there are still significant usability barriers for the average user. It’s not yet as simple as using a bank or PayPal account.

One of the common criticisms levelled at smart contracts is that they’re nearly impossible to understand for people without coding experience.

That’s why it’s always been one of our goals at Accept.io to translate plain-English contractual terms to code automatically for our users. We don’t want to limit our user base to people with computer science degrees. We want everyone to be able to use the Accept Marketplace.

Signing Smart Contracts

In the development of our smart contract interface, we faced an interesting challenge in designing the contract ‘signing’ process. In the real (non-crypto) world, contracts are signed by two or more parties by hand, using simple pen and paper. But when it comes to smart (crypto) contracts, ‘signing’ is a bit of an abstract term. What’s actually happening is the contract is being ‘deployed’, which means a corresponding transaction is created and ‘mined’ in a block on the Accept blockchain. All other blockchain nodes can then verify the block.

Still, there needs to be a user-led action to deploy the contract. In a perfect world, it would be just as easy as signing with pen and paper. But we found early on that forcing users to create a custom digital signature would hurt the user experience. We know many of our users aren’t using a touchscreen and may or may not have a trackpad they can use to ‘write’ their signature by hand. So we decided to try something different.

Our approach isn’t new, but its application to smart contracts may be. We use a technique similar to CAPTCHA to verify that a real human is processing the contract. But while CAPTCHAs take on average 10 seconds to complete, our process takes only a second or two.

How our Signing Process Works

I’ll go through the creation of a simple smart contract using our Alpha site (marketplace.accept.io).

First I need to find a product to buy. I spot these sweet Air Max 97 shoes and decide to make an offer by clicking the ‘Exchange’ button.

The interface prompts me to choose between offering a good or a service. I don’t have any physical goods I want to trade but I do have two services to offer: diving lessons and blockchain development. So I click ‘Select Service’.

Since the person offering the shoes seems like the sporty type, I’m going to offer up diving lessons. So I choose ‘Diving instruction’ and hit ‘Next’.

Here’s where things get interesting. When I click diving instruction, the interface gives me several options. Now I’m actually creating a smart contract (without writing any code).

The first thing to do is choose the number of diving instruction hours I want to offer. Basically, I need to offer enough to cover the cost of the shoes. Since my hourly rate is 100 Fulcrum (FULC) and the shoes cost 869 FULC, I need to offer at least 9 hours. I’m not available to teach on weekdays so I’ll choose the weekend and any time except at night (it’s hard to learn to dive in the dark!).

Now when I click ‘Next’ I see a summary of the contract terms I just created.

Michelle, the person offering the shoes, will also see these details when considering my offer. I review the details and everything looks good, so I hit ‘Send Offer’. But we’re not done yet (this is the best part).

Users to trace the pattern of the Accept.io logo (basically a zigzag) to ‘sign’ the offer. This simple manual verification technique takes only a second.

I’m asked to complete one final step — to sign the contract. I click on the leftmost point of the logo and move my cursor along the entire zigzag. Watch the video below to see for yourself.

https://youtu.be/a7B6mwBCm3U?t=35s

Voila! My offer has been signed, sealed, and delivered to Michelle for her consideration. If she likes the offer, she’ll be asked to sign and ‘Accept’. If she does, the contract will begin, funds will be escrowed, and Michelle and I can start talking about scheduling our first diving lesson.

Why Not Use a Simple Button?

Many Ethereum projects (Metamask for example) use a “send” button to send tokens to contract. It’s an easy way to get users to confirm a transaction. But there are good reasons why we decided to do things a little differently.

First of all, we wanted to add some real-world context to the process of signing a smart contract. We decided we could do this by getting our users to associate the act of tracing our logo with signing a physical document.

Second, the cryptocurrency world is a still very much misunderstood. The average online marketplace user doesn’t understand the ins and outs of blockchain and how to use ETH addresses to transfer funds. There’s clearly a UX problem to solve. Our contract signing feature is just one way we’re trying to bring our cryptocurrency application to the masses.

Third, we actually used a simple send button to initiate contracts in Test. But we received better feedback from usability testing with the logo signing mechanism. Our testers decided a more intentional action was better. There’s something about tracing with your finger, even if it’s just a simple logo, that’s more comforting than hitting a button. Our users also noted that it’s a useful way to prevent people from accidentally committing an action to our blockchain. It’s all too easy for desktop or laptop users to click send or hit enter by accident. And it’s even easier for tablet and smartphone users to accidentally hit a button on their touchscreen.

Fourth, there’s the security aspect. We of course want to deter hackers or bots from interacting with other marketplace users. It’s easy to write code to click a button. It’s much harder to get a bot to trace the outline of a logo. Humans are better at that kind of task. So the logo tracing is one way we ensure smart contracts are being deployed by real people.

One takeaway from this experience is this: the best solution isn’t always the simplest. When it comes to improving UX, it helps to add human touches to your interface. That’s been our experience, at least.

Have you come up with any unique UX solutions for your cryptocurrency project? Let me know in the comments!

The Accept.io Marketplace is currently in Alpha and our token sale will begin in Q3 2018. Join us now to trade on your own terms.

--

--