---
layout: learn
permalink: /:collection/:path.html
---
# 2 - Discover how DApps are different
{:.no_toc}
**Zero to DApp, 2 of 4**
This page explains how DApp user interactions differ from interactions on web
applications. If you don't have one, you'll also create a Blockstack ID.
Finally, you'll also learn what industry experts say are fertile grounds for
DApp development. This page has the following topics:
* TOC
{:toc}
Can you skip this page?
If you already have a good understanding of how DApps change user
interactions, have a Blockstack ID, and have a good idea of the DApp you want to develop, skip
this page and move onto 3 of 4 immediately.
## Get the user perspective on DApps

This old proverb is all about how our environment shapes our thinking. As a
user, you have lived in the centralized application environment for a
long time. To develop a DApp, you have to shift your thinking to new
interaction paradigms. You must discover what you don’t know and reimagine
application interactions.
For example, traditional applications allow users to “safely” forget their
application passwords because they can recover the password and their data
access from the a central authority. This isn’t true for a DApp. Users must be
responsible for keeping their own identity access and managing their own data.
How do you convey this to users?
### How Dapp onboarding differs
{:.no_toc}
Currently, users can create a Blockstack ID for free or buy their own ID. Dapps
that are submitted for app mining must include Blockstack authentication. This
authentication includes onboarding flow for users delivered through the
Blockstack Browser. The language and concepts presented by the flow are
important for you to understand before writing your own DApp.
If you haven't already created your own Blockstack ID, do this now. As you
create an ID, consider what interactions are familiar to you and which are not.
If you already have a Blockstack ID, launch the browser and try resetting it. Or
trying logging on from a device or browser software you haven't used before.
{% include create_id.md %}
Once in the browser, investigate the account and locate the storage settings.
Consider the interaction as both a user and an app designer. Are these settings
what you expected or would you change them?
### Take a user perspective
{:.no_toc}
If you want to solve for an existing, traditional space, you must take time to
really consider what problems a DApp replacement would solve. But make sure you
also take the time to consider what challenges your new application has in
shifting user experiences.
- What identity or data ownership features make my application unique or powerful?
- What typical expectations will users have that must be adjusted?
- How can my interaction design convey these new features to users so users can succeed?
As a developer, your understanding of applications is vastly different from a
standard application user. Prototyping (paper or wireframes) and user testing
can help you determine if your approach is correct before you begin coding.
1. Choose an application from the Blockstack Browser homepage or from the
- Are there multiple parties in this ecosystem?
Blockchains are fundamentally multiparty collaboration systems.
- Is establishing trust between all parties an issue?
Blockchains improve trust between participants by having multiple points of verification.
- Is it critical to have a detailed transactional record of activity?
If everyone agreed on everything, you wouldn't need a blockchain to verify who did what and when it was done.
- Are we securing the ownership or management of a finite source?
Core logic in the blockchain system is designed to prevent double-counting of assets and to record ownership and transfers.
- Does the network of partners benefit from increased transparency across the ecosystem? Blockchains are transparent by design.
From Maslova, Natalia. "BLOCKCHAIN: DISRUPTION AND OPPORTUNITY." Strategic Finance, July 2018
The EY test is a general test about the domains that blockchain applications can disrupt. You can also consider more specific behaviors a DApp should meet. Blockstack defines three principles that Blockstack applications should meet:
* Users own their own data
* Users own their identities
* Users have free choice of clients
If you haven't read it, read the full article