No products in the cart!
Please make your choice.View all catalog
If you want to build an app for your business, you face a dilemma.
Should you opt for a traditional centralized app, or turn to a decentralized platform? More importantly, what is the difference between the two and why does it mean for your business?
There’s no straightforward answer to this question; it really depends on your goals and what you need the app to do.
I’ll walk you through the differences between both app types so you can decide how to move forward with your marketing and development goals.
Centralized apps are operated and owned by a single company, and they run off a single server, or cluster of servers.
How it works is simple: Someone downloads a copy of the app, and the app works by sending and receiving information from this server.
In other words, the app won’t work unless it’s in contact with this server. If the centralized server crashes, the app stops working across user devices until the problem is fixed.
Examples of centralized apps include:
A decentralized app, or “dApp,” runs on a blockchain network. Rather than downloading an app, the user pays the developer a certain amount of cryptocurrency to download a “smart contract,” or source code.
The code generates a whole new copy of the app on the user’s device, which creates a new “block” in the chain.
Here are some examples of decentralized apps:
Centralized apps have a few distinct advantages over dApps. As the developer, you retain full control over the app and how it’s used. Centralized apps can generally handle higher traffic volumes.
What’s more, it’s much easier to update a centralized app since the update is sent automatically to the user’s device.
All that said, there are some downsides. If there’s a system error, no one can use the app until the problem is resolved, which might inconvenience your customers. Additionally, you might incur higher cybersecurity costs because you need to protect the main server.
Decentralized apps definitely have their advantages, depending on what you need from your app.
First, as there’s no single server, users won’t lose access to the app if your server goes down. Second, since there’s no centralized storage, user data won’t be compromised if there’s a data breach or hacking attempt.
From a marketing perspective, this could incentivize people to choose dApps over centralized apps.
Still, dApps come with a few drawbacks.
Your target audience is smaller, since cryptocurrency and blockchain aren’t “mainstream” technologies yet. What’s more, as dApp transactions are often slower and more expensive than centralized transactions, so you might find it hard to draw people to your dApp in the short term.
Finally, since there’s no centralized rollout, it’s much harder to fix bugs or update the software across user devices.
Only you can answer this question. However, there are two points to consider when weighing your options.
Don’t rush the decision. Spend time thinking through your options and what your company and customers need in the short and long term. If you need some extra help with your decision-making, check out my consulting services.
There’s a ton of great information out there around how to build a centralized app, but it’s hard to know which ones actually work. Here are my five top app building resources to get you started:
Ready to dive into building your first decentralized app? Read these resources before you get started.
If you’ve settled on a centralized app for your business, here’s a rundown of the basic steps to create your own.
First, decide if you’re building an app for Android or iOS. The process is similar for both, but you need to settle on a platform at the outset. Remember, you can always expand later.
A wireframe mockup is just a sketch or skeleton outline of your app. You can use tools like Adobe XD to help with wireframe design. Here’s an example of what it looks like if you’re building a wireframe on Adobe XD:
Once you’ve got a mockup, do some user mapping. All you’re doing is mapping what different actions users will take on the app, such as creating an account, making payment, etc. and what screens they’ll pass through to get there.
Next, get some user feedback on your wireframe and proposed mapping. Is your mockup clunky and disorganized, or is it user-friendly with a clear flow from one screen to the next? Do the colors and text stand out, or is it boring and unengaging?
Reflect on feedback and make changes where appropriate.
If you use Adobe XD for the wireframe, you can import it straight into Justinmind:
You can also include A/B testing as part of your prototyping, if this works for you.
Now it’s time to actually build your app. If you don’t know how to code, either hire a freelance app designer, consult an agency, or download your own mobile app building tool.
Before you go live, share your app with your marketing team, colleagues, and even friends and family. Does it work as it should, or have you identified a few bugs? By running final tests, you can make tweaks before the app launches in the real world.
Create an account on your chosen app store. Complete your app listing using the details you figured out earlier, add some screen captures to show how your app works, and go live.
For those new to dApp development, the easiest way to get started is by building on Ethereum, so that’s what we’ll work through.
First, you need to install what’s called a Node Package Manager. This will allow you to create the open-source codes and files you need to set up a dApp.
You’ll also need Git, which helps you save and track changes you make to your dApp.
The stack is essentially the Ethereum framework you’ll use to build your dApp. There are a few to choose from, depending on your experience level and development needs. The easiest stack, or development framework, to start with is Truffle.
Next, we need to install Truffle. Open your Node Package Manager and type “npm install truffle -g” to do this:
Once you’ve installed and launched Truffle, it’s time to start writing your smart contracts, or the codes containing your various dApp commands. On Ethereum, the easiest tool to use for this is Ganache, which is part of the Truffle suite.
Whenever you create a new code, you need to pay a certain amount of “gas,” or cryptocurrency, to the “miners” who process blockchain transactions. The more complex your coding, the more you pay, so keep codes simple where possible. Ethereum has tutorials to help with this.
Don’t launch your dApp until it’s tested. Once you launch your codes, you can’t change them, so use the Truffle suite to run some preliminary tests first. The simplest command to run is “$ truffle test,” but just be sure you’re running the right testing environment first.
Chances are, you made an Initial Coin Offering (IPO) to get your dApp off the ground, so there’s already some buzz generated around your project before it’s ready to launch. However, you still need to dedicate resources to marketing if you want to draw new users, so consider putting a strategy in place before you launch.
Blockchain powers decentralized apps. Blockchain takes the control away from a centralized system and gives more power to users to innovate and enjoy the content.
An app that resides on a single server or group of servers. To work, the app must be connected to the server. Twitter is an example of a centralized network.
dApps, or decentralized apps, run on distributed networks rather than central servers. They have their own currency, so if users want to access premium features, they need to use cryptocurrency.
You can run a token launch, include a subscription element, offer a premium membership tier, or include in-app advertisements. The strategies are similar to how you monetize centralized apps.
Decentralized or centralized apps: which is better? In reality, neither! It all depends on how much control you want over your app in the long term, the size of your intended audience, and, to some extent, how you wish to market your mobile app.
Now that you understand the pros and cons of each, you should be ready to make a decision and start building your app.
Have you opted for a centralized or a decentralized app? How is it working for you so far? Is there anything you wish you’d known before getting started?