Bursting the Blockchain bubble – what really works for technology innovation.
Whether you’re building financial technology in-house, or have an agency working with you to produce it, it’s important to get the basics for innovation right before considering the latest buzzwords such as AI and blockchain.
For example, Blockchains are slow, expensive, and basically useless for all applications outside cryptocurrency.
If you started with a specific problem, and try to solve it with the best technology, blockchain is almost never the answer.
Blockchain is the world’s slowest distributed database. More specifically, it is a linear transactional log. You can only add, and very, very, slowly. Bitcoin peaks at a maximum of 7 transactions per second.
The hype around blockchain makes investors and startups think it’s a silver bullet, solving all the world’s ills. Many software projects have failed due to this kind of thinking.
Another problem is you can’t delete data from a blockchain. It’s there forever. Statistical analysis of the bitcoin blockchain is able to expose careless criminals. Depending on the kind of blockchain you build, you could be exposing sensitive information without realising it.
If you’re considering using blockchain you need to think hard about how the benefit of not needing a trusted third party helps your cause, if you end up hosting the entire blockchain yourself – sometimes called a private blockchain – then what’s the point?
I get it, I’m a geek, the allure of Bitcoin is undeniable. It’s an anarchist’s dream; overthrow ‘the man’, no centralised banks, but the dream for the most part is just that – a dream. But unless you’re building a Bitcoin competitor, you do not need blockchain. If you’re trying to dupe investors into investing, you’re better off doing it with actual promising early results. Using blockchain in your product is going to be a long difficult road into almost certain oblivion.
One thing it does have going for it is impeccable data resistance, which has captured the hearts and minds of geeks everywhere. It feels like this is how the internet should work; a decentralised network, no single point of failure, community driven.
Artificial Intelligence is another piece of tech bandied around at every opportunity, when most of the time you probably just need a data scientist or a well crafted SQL query. Many companies claiming to use AI don’t use AI at all.
Amazon pioneered the latest wave of “pseudo-AI” in 2005 before Amazon Web Services even existed. They released a product called Mechanical Turk, after an 18th-century chess-playing ‘machine’ of the same name. It was able to beat many human players, including Benjamin Franklin. Unbeknownst to them, there was a human operator hiding in the box controlling all movements. Much like Amazon’s product, which billed itself as ‘Artificial Intelligence’, the trick is infinitely easier to pull off with the aid of humans. This is exactly the snake oil that is being sold to early AI company investors today.
Yes, there are certain easily trainable models, but many AI-startups are employing a ‘fake it ‘til you make it’ attitude. Often hiring thousands of low paid humans to pretend to be machines pretending to be human.
Alison Darcy called it the ‘Wizard of Oz Design Technique’. This method will run out of runway if researchers and experts fail to make AI technology fit the models their business requires.
One example is Expensify’s SmartScan technology, billed as a solution for processing receipts. Swaths of personally identifiable information ended up on Amazon’s Mechanical Turk.
So, what does work then?
DevOps and Test Driven Development
One important thing to do when building a product is to always be launching and deploying. Have each and every change pushed somewhere for people to see. Get people to play with it as soon as possible. Start with the hard parts first. Whichever problem scares you the most — that’s where you need to begin. You can rush the easy stuff at the end, but you can’t rush those critical difficult parts.
To move at this pace you need automated tests. We were once launching a marketplace with a tight turnaround and despite this we managed to build out tests for the signup and login flows. Having not touched these areas of the app since the beginning and just assumed it would still work, we prepared to launch. One last minute change broke the entire signup flow right before launch, the tests caught this and we were able to launch. Disaster averted.
Your launch should be as uneventful as possible. Ideally a single small commit, or a simple database change that unveils your already deployed app to the world. No surprises.
Make sure your software team is using Continuous Integration tools such as Travis, Bamboo or Circle CI.
UX and user-centric design
The name ‘hallway usability’ testing comes from exactly what you might imagine, pulling people out the hallway to play with your product. Not your target audience? It doesn’t matter. 95% of problems will be found by these random testers.
If your stakeholders require a firmer confirmation from actual target audiences, you can use tools such as UserTesting.com to target tests to particular demographics. Their screens and voice are recorded as they talk through the different options.
What is the most significant human-factors innovation in healthcare in recent years? You may be surprised to learn it’s the humble checklist.
Pinched from the airline industry, the checklist works around issues with the human psyche.
People very quickly forget what’s important when they’re under pressure. When you’re rapidly innovating and building a product, you can quickly forget about security and other important factors. While it may not be life and death, it could mean death of the product or company.
It also gives people outside the development process the power to speak up. Are you sure you checked this? Is the live data separate? Can you show us how it is safe?
These prompts will give everyone the confidence to deliver what is needed.
Use bug tracking like Jira, Trello, FogBugz, or even just post-it notes on a wall. Sling everything you need to do on there and make sure it’s visible to everyone.
Enforce a password manager, train your staff on how to handle secrets, grade the data you’re dealing with, have entirely separate staging and production environments.
Confident people remember their successes, successful people remember their failures too.
Do a post-mortem on previous projects, and build the list of failures into your next project. Don’t throw away the learning you and your team have made on those mistakes. You’ve already paid for them once, you don’t need to pay for them again.
Make sure you look long and hard at using the latest buzzwords such as blockchain and AI in your products or supporting financial technology, and remember to get the basics for innovation right first. Efficient DevOps, user-centred design, and the humble checklist should be your key priorities.