Mobile developers have created countless bitcoin apps, from bitcoin wallets to payment, investing, and even bitcoin mining. So what makes the development process for a bitcoin app different from, say, a chat app? The most important difference is security, and the second key factor is development time.
Security is Paramount
“I think it’s really important to note the distinguishing feature of bitcoin apps: Security is the absolute top priority,” says Jason Dreyzehner, who leads the design team at BitPay.
Bitpay’s Bitcoin Checkout app allows retail and mobile businesses to accept bitcoin payments directly from a mobile device. The app, available for both iOS and Android, supports 40 languages and includes multi-employee checkout, customized tipping, and tip reporting for retailers. Customers with bitcoin wallet apps can make QR code payments transfer payments from their device via NFC (near-field communication) technology.
Because bitcoin is digital cash, it’s useful in the world of international finance and reduces counterparty risk. It’s also dangerous for careless developers, since a software glitch could be disastrous.
“Bugs and security vulnerabilities are the biggest existential threat to any bitcoin app, both in terms of reputation and significant financial loss,” says Dreyzehner.
Dreyzehner’s team chose to build a hybrid app when they developed Bitcoin Checkout, which means they used one code base to deploy the app to multiple platforms.
“At BitPay, we’ve chosen to build almost exclusively hybrid, which serves an important security function: With more consumers, critical code is more stable, better code-reviewed, and more thoroughly tested,” says Dreyzehner. “This network effect improves security for all our users, particularly those of less popular platforms. I think this makes hybrid apps a no-brainer for open source, cross-platform, high-security apps.”
Consider User Experience
The BitPay development team used a mobile development framework to simplify development and style the app to fit each platform’s design standards, the goal being to maintain an exceptional user experience.
For the development team behind Keza, a mobile app that lets users invest in global markets with bitcoin, it made the most sense to iterate and refine the product on the iOS platform, then to build for Android. Keza’s iOS app allows users to choose from several expert-selected portfolios of stocks and bonds and make returns on their bitcoin.
“iOS is still the platform for developing the most immersive and intuitive mobile experiences,” says Keza cofounder Simon Burns.
For their Android app, the Keza team is using a native development framework.
“The ease and speed of development with React Native, as well as the resulting native app experience, were the convincing set of factors for us,” says Burns.
Development Time Matters, Too
Pieter Gorsira and Patrick Archambeau developed Lawnmower, an app that allows users to connect a credit card, debit card, checking account, or savings account to make purchases, and runs on iOS and Android. Lawnmower automatically rounds purchases up to the next dollar and sets aside the differential to purchase bitcoin. Users can customize how much they’re saving with the app’s spare change multiplier and monitor their investment via a stats page.
Like the BitPay Team, Gorsira and Archambeau chose to use a hybrid development framework, largely in the interest of time.
“Developing for native would take double the time, having to create a separate iOS Client and Android Client,” says Gorsira. “With only two devs, we cannot afford to waste time developing and debugging platform-specific issues, so using a framework is a huge time-saver for us.”
Gorsira notes that this would be true no matter what type of app they were building.
“The speed you can move at by using a hybrid framework is unparalleled,” he says. “With Lawnmower, most of the development time that we spend on client side is attempting to optimize our UI/UX in such a way that we make it simple for people who are confused about bitcoin to make their first purchase.”
Archambeau echoes Dreyzehner’s point about the high stakes involved in building a financial platform, as opposed to a social media app, for example.
“When building an app where users are going to be entering their banking information, we need to make sure that everything works flawlessly, and at no point does a potential user become skeptical of the process, because the moment they do, you are going to lose them,” he says. “We spend the vast majority of our time optimizing the signup flow and getting users to trust Lawnmower as a platform while they are signing up.”
Gorsira says that developers of non-financial apps have more leeway when issues pop up.
“People’s immediate reaction is not, ‘I need to get my money off of this platform right now’,” he says. “Not only are we a finance app, we are also a bitcoin app, which in the eyes of the general population is still something they do not fully understand, and they are going to be skeptical. This is not something that you would run into building a more mainstream app.”
When it comes to developing bitcoin mobile apps, security is the key differentiator in the creation process, but user experience and timing also play important roles. All three factors have an impact on the development team’s bottom line and decision-making process, but the quality of security can make or break an app–not to mention a user’s finances.