This is the last in a four part blog series. Here are direct links to the other parts:
Part 1: UNspecified + Blockchain: http://www.unspecified.life/blog/unspecified-blockchain
Part 2: UNspecified's First Partner: Coval: http://www.unspecified.life/blog/unspecified-s-first-partner-coval
Part 3: UNspecified Interviews Coval: http://www.unspecified.life/blog/unspecified-interviews-coval
Shannon: So Dawn, What types of services do you provide for Coval?
Dawn: UNspecified was started with a couple of core values. Our founders have decades of experience in helping teams evolve into high-performing teams, leading and coaching both the technical side and the softer skills like team dynamics and process. We chose the emphasis on “unspecified” because we didn’t want to be boxed in to one thing: we have testing expertise, devops expertise, healthcare industry expertise, etc.
For our team, ways that we could support and harden the Coval codebase were clear and well within our expertise. We have started with what was the most obvious from our testing-centric background: we are taking the existing test suite and expanding it. We are looking at the set of tests that are written by the Coval team, and then we do two things: we define and implement new tests, and we recommend improvements to the production code that will increase robustness.
For that, we are looking at the principles most clearly defined in Bob Martin’s books, Clean Code and Clean Architecture. We are advising on how the code can be structured and written to be more testable, more maintainable, and more secure.
We're helping to design and implement a continuous delivery pipeline for the Coval product. We've implemented continuous integration with Travis, and have incorporated best practices and the latest tooling to make the pipeline stable and scalable. We've done some fun things with Docker to normalize environments and really lock down stability requirements. All together, this pipeline is preparing Coval to explode into the market.
Shannon: Can you tell me about some of the difficulties you have encountered that working with a blockchain application?
Dawn: How long do we have? ;) This could be an entire blog post of its own!
The Coval project brings us a combination of interesting things to work on.
First, we have had to shotgun some of the technologies. We have been deep diving on topics such as Dat, Multichain, decentralization in general, algorithms like Diffie Hellman and Shamir, etc etc. Our onboarding learning list is really long!
This project is giving us the opportunity to apply our existing knowledge to these new technologies. For example, we are currently working on testing the Dat integration. On one hand, it can be seen as just another external service that our software under test is interfacing with. On the other, we do have to have a deep understanding of both how Dat works, how its interface works, and how it is being applied by the Coval team. There is a test that was failing intermittently, and then passing all of the time, and now is failing all of the time. We are deep diving into Dat in order to understand their exact workflow once we make a call out to their API.
We are also cognizant of the fact that many blockchain applications lack a smooth user experience, and we are keen to push for the application being designed in a way that will be usable across many different levels of users, instead of just the most technically advanced people.
Another big factor in blockchain-based applications is security. We are focusing on security here very early, keeping in mind the high security needed when it comes to anyone’s assets, just like the financial sector in general. We have our finger on the pulse of known vulnerabilities that impact cryptocurrency and blockchain technologies, and over web based applications in general.
Shannon: What do you envision being the highest risk aspect of Emblem?
Dawn: People losing access to their assets. You hear stories of this with respect to bitcoin all over the place: a phone gets dropped in a toilet, and suddenly 50 BTC are inaccessible because dude didn’t back up his mnemonic phrase. I have seen that many client apps warn the user all over the place, but users will still be users, and postpone all but the minimal amount of security in the name of getting something done quickly. The fact that this is known makes it difficult to convince people to try out the decentralized model.
In all actuality, I believe that this team has really put together a beautiful balance of technologies that will minimize the possibility of someone being able to really lose access altogether, specifically with the ‘m of n shares’ model.
Shannon: Are UNspecified and Coval married to each other?
Dawn: Ha! I see what you did there. In case someone doesn’t know, you, the head of Coval, and me, co-founder of UNspecified, are married in real life ;)
But the companies … nope, they are in an open relationship. Each is a separate entity, and each free to work with other companies, whether it is outside the scope of the other, in collaboration with the other, or in replacement of the other, if the situation would work best that way. UNspecified is not at capacity with Coval and is actively seeking other contracts as well.
One thing that is progressive about the contract between the two companies is that we have approached the contract in the spirit of “Agile”- in this context, what I mean is that our contract is renewed month-to-month, and at the beginning of each month, we agree to a new SOW and kickoff planning for what work will be done in the coming month.
One of the things that we like about working this way is that our contracts are designed to foster collaborative relationships rather than litigating terms and penalties up front. This lets us get to work on the things that matter. We manage project risk by limiting the project funding to short intervals, instead of commitment for the entire project. We believe in the quality of our work strongly enough that we feel confident that our clients will be happy with us for as long as they need our services.
What’s in it for UNspecified? By doing business this way, we are also not stuck in a contract with a client that we don’t enjoy working for. Fundamentally, we believe that if a contract is not working for either party, then it is in our best interest to be able to sever the relationship professionally and efficiently.
by Dawn Code