Banano Quest: Demystifying DApp UX


Tokenized economies shape human behavior, and decentralized applications have the potential to bring about positive social impact. On a secure blockchain, we can reimagine incentive systems by using tokens to target behaviors deemed valuable to participants in the marketplace. A critical issue currently constraining the emergence of dApps is clunky, and confusing user experiences. This exists due to the complicated nature of building on top of a blockchain and extends to the general inaccessibility to cryptocurrencies for average consumers at this early stage of the technology’s existence.

The goal of Banano Quest reaches beyond providing a simple, and fun augmented reality game for iPhone users. Banano Quest showcases how simple it is for developers to build blockchain applications that:

  • Bypass third party, centralized server hosting (within limitations of the App store for this example).
  • Introduce novel game mechanics by providing non-fungible token rewards.
  • Provide new potential revenue streams with cryptocurrency entries, and exchanging.
  • Store information locally for a better experience (fewer API requests to an Ethereum node, less waiting).

Something as trivial as collecting digital fruits, or monsters may not change the world, but non-fungible token rewards boost competition and interaction within the user base. The likelihood of rewarded behaviors reoccurring increases, this syndication strengthens ties within a user base through reciprocity. The tokenized model allows peer to peer exchange: a dynamic flair that separates decentralized applications from traditional producer to consumer trade-offs.

BananoQuest shows how easy it is to use the Pocket iOS SDK in your app. The Plugin allows dApp developers to shift their focus from laborious backend activity, into streamlined creation of a fantastic user experience.

The user experience itself was crafted to illustrate to developers and gamers that all the positives of gaming on a blockchain platform, with cryptocurrency rewards, can be brought directly to the palm of the user’s hands. The process is much less intimidating than it seems when given the proper tools, and a comfortable interface.

Let’s dive into the UX decisions that the Pocket team made:

Account Creation

Creating an Account is as simple as providing a password. This generates a public key string and links the Ethereum wallet directly with the iOS device through the application.

Using the term “Account” rather than “wallet,” along with letting the user create their own password phrase, were vital parts of honing in on easing accessibility for new dApp users. Touch ID is also used, to decrease the friction of unlocking the wallet for making transactions. When the user logs in, touch ID is required for each transaction, for maximum security.

Displaying data

All data is saved locally on the device to minimize API requests to any Ethereum nodes. Infura serves over 6 billion API requests a day — Ethereum clients are not optimized for retrieving and serving certain types of data and finding ways to minimize the need for refreshing a client is essential. This also allows the application to serve up the existing data extremely quickly, reducing any loading issues when in areas with little or no service.


Quest creators must add an area including the hint to guide questers to find the banano. This area can be as big as a city or as small as a building. It’s used to let questers know whether they are on the right track, or not completing the quest.


Part of the fun of the game is to hope whether you find the BANANO when the augmented reality camera pops up. To avoid the user having to send in an Ethereum transaction to check whether they’ve won, we’re able to show the user by checking the proof that’s on the Tavern smart contract locally on the device. The device can instantly “show” whether the user is within range of the BANANO, and claim it. GPS coordinates are hidden in plain site but need to be hashed into a merkle tree, which we’ll take a deeper dive into with part 2 of this series.

Part of the fun is trying to claim and hoping the augmented reality BANANO shows up!


Coming up with a manner in which novice cryptocurrency users can Claim their Banano token prize with no stress involved has been the most difficult hurdle to cross.

Our goal is to encourage new users, not discourage them!

So how can you get enough Ether in their wallet quickly, with as little friction as possible?

We decided on three potential steps to solve this problem efficiently:

  1. The winning transaction is created and saved locally on the user’s device, so in case Ethereum fails to mine it or the user doesn’t have enough Ether in their wallet, the winning user can resend the transaction.
  2. We send a friendly popup to the user explaining they need Ether to complete the quest. This prompts the user to ask any crypto-familiar friend to send $1 worth of Ether to their wallet. It even has a pre-written text to make it even easier to share their public address with a friend via text or any messaging app.
  3. We provide a set of links to Coinbase and Changelly for fast, and secure purchase of a small amount of Ether via debit card.

When claiming the quest, we’re sure to show the user the US dollar cost of the transaction to abstract the concept of “gas” regarding Ether. Prizes are also converted directly from ETH to USD on screen.

Pocket Network

The primary goal of Banano Quest is to provide an example for developers who wish to build user-friendly applications and dramatically lower the friction for users who may be crypto novices. The Pocket team hopes that the work put into this proof of concept will attract mobile game developers and gamers towards participating in decentralized applications.

We’ve made the application completely open source with more documentation explaining how it works on Github.

Make sure to check out and drop us an email to get signed up for our Beta Release. Let’s expedite the dApp onboarding process together!

For more information, check out:

Pocket iOS SDK here.

Ethereum plugin here.

Pocket Twitter.