Clock 9 MINUTES

How SelfKey uses Gherkin language and Blockchain to tackle identity management

I’m very excited to bring you the first (of many) SelfKey team member interviews.

16 Dec
2018
SelfKey
Identity Wallet
Gherkin Language
key-icon

I’m very excited to bring you the first (of many) SelfKey team member interviews. These interviews are designed to increase transparency and clue you in on all the recent developments in the SelfKey ecosystem. Beyond that, I have structured the interview to cover interesting new topics, meaning that those of you interested in concepts like Gherkin, blockchain or identity management don’t come out empty-handed.

Today’s interview is with SelfKey Product Lead Terry Lin. Terry is one of our team veterans, playing a crucial role in both executing on our roadmap as well as implementing innovative processes to keep us moving forward. You might already know him from our monthly Product Updates as well as his excellent Twitter feed. Make sure to follow both SelfKey and Terry on Twitter 😉

The SelfKey Identity Wallet is a free identity solution for Windows, Linux and Mac. Get yours today!

Thank you very much for taking the time to give this interview. Could you start off by giving us a brief overview of yourself and your role at SelfKey?

As a product manager, I’m responsible for making sure our products solve the right problems for the right people. This also includes some product marketing tasks that involves communications, messaging, and explaining technical features in more layman’s terms which is something very important with blockchain technology.

A lot of it is very difficult to understand and for wider adoption we need to simplify the user experience, messaging, and overall tone of the words we use. On a high level, our long-term vision is self-sovereign identity where you are in full control of your personal information — but there are critical infrastructure systems and adoption that is not quite there yet. In the meantime, we are simplifying and making the KYC process easier.

My background is a mix of finance and product management. My early years out of college was spent working in the political fundraising field before moving into finance at UBS where I was part of the institutional equity sales team in Taipei, Taiwan. Eventually, I moved on to greener pastures in the startup world and ended up as a product manager for an e-commerce software tool made for Amazon merchants. From there, I transitioned to SelfKey as I had already known Edmund for a few years prior to that.

Could you give an explanation of what SelfKey is to those who might be unfamiliar with it?

Before understanding what SelfKey does, I always spend a few minutes explaining how identity currently works. We all have different attributes that compose our identity such as your name, email, birthday, Xbox Live username, website, fingerprints, or even your Instagram handle.

You probably have different accounts and usernames at Facebook, Google, LinkedIn, Reddit, Quora, AirBnB, and more. But you don’t truly own your data because it is stored on their servers, and they can sell your information to advertisers. This is how you get targeted with specific campaigns during your usage of their products. However every month or so, we hear of large data breaches at big companies that have poor safeguards to protect their information and servers.

Self-sovereign identity is a concept of a world where you own your own personal data and can consent who gets to see specific amounts of information. The concept of this is possible with blockchain technology, where you can have verified claims from a third-party without reproducing additional copies of documents such as a passport.

Without going into the technical details, all of this is protected by the cryptography of a blockchain and decentralized because there is no central authority that controls the information ultimately making it safer. That’s not to say its entirely perfect, because there are tradeoffs to convenience and usability that blockchains still haven’t solved for yet at an infrastructure level.

As a marketing team member, I am very aware of how the product team always strives to innovate. One example is using Gherkin language in the development process. Could you explain how this works?

At the core of developing features, there is a concept called the “user story”. This is used to describe a problem that somebody is trying to solve in a human-friendly way. For example, one of the features in our wallet is the ability to monitor your ERC-20 token balance and prices. The user story could be: “As a user, I want to monitor my ERC-20 balances so that I can stay updated on my portfolio balance.”

Anyone across product, development, and design is able to understand what this feature is trying to achieve. But if we dig deeper, it is missing a few elements that must be defined. How many tokens should be displayed? How often should it be refreshed? Should there be a limit? How will we present the data in a pie chart?

Gherkin language essentially takes this user story format and adds additional layers that clearly define the situation. The benefits of being clearer upfront means that the development team spends less time on the backend working out edge cases and bugs. Here is what they look like side by side:

Gherkin language does take more time to write out the feature, background, and scenarios but it is easier to do than figuring out the details during the development process because the interruption can slow thing down significantly. One benefit to using Gherkin language is that you have also defined the test case scenarios for the QA team and they know what to test for going in, making it easier to ship once everything passes testing.

Looking at the blockchain industry, what do you think are the most common product related mistakes platforms make? What are the things that most get right?

Poor usability, technical jargon, and assuming everyone is a power user. Most people don’t know or care how a public/private key pair works. Ask what HTTP is and it will also fly over most people’s heads. With new technologies, there are early adopters that have to be the pioneers in improving the usability before the general public will have widespread adoption.

If we look at mobile phones, thirty years ago we needed to use a dialup modem to get connected online. Now you take it for granted. I believe this will have to be the same with blockchain technology where a lot of the technical details become “invisible” like how HTTP requests are done today on your phone. You know it works, but don’t need to actually see the browser console unless you actually want to.

What the industry gets right is open sourcing a lot of projects. I think this will speed up development across the board as the best around the world can now contribute to each other and fill in the knowledge gaps much faster compared to when the internet was still developing in the 1990s.

There was no such thing as Stack Overflow, Github, or even project management tools like Asana, Github, or Trello that help make development velocity much faster now.

After launching a successful ICO, startups face the pressure of delivering on their promises. Could you explain how that pressure impacts your work at SelfKey?

One challenge with creating products on blockchain technology is that the infrastructure is still being developed like the internet in the 1980s. At this point in time, Ethereum is still testing out Proof of Stake (PoS) and further changes will be coming down the road. This is also what makes it exciting versus working at a large bank or company.

When it comes to delivering on promises, the other side of that coin is to have open dialogue with members of your community on what’s going on. When it comes to price fluctuations, we don’t have any control over the trading markets. What we can control as a team on a daily basis is our focus and executing against that in our vision for the long-term.

Could you explain how the values of SelfKey affect your work?

SelfKey is a remote team that is spread out across Asia, Europe, and South America. With different timezones, it requires some more coordination for meetings, calls, and scheduling time off. Choosing the right tools for communications in a remote team is also quite important.

For example, technical discussions on APIs with multiple team members are best done in a Google Doc or white-boarding software, versus a video call and having someone take notes. Other times, a simple chat within a specific channel can do the job. We also have a very flat organization with no “chief” in anyone’s titles.

People regularly reach out to me on Social Media to ask what we are working on and what new features they can expect. Could you tell the readers about what’s on the roadmap?

Right now we are working hard on the SelfKey Marketplace. It’s been a bit more challenging to build than we initially thought, but we have made a lot of progress during the team meetup in December. Currently, the first two marketplaces being developed are Exchanges and Incorporations.

The exchange marketplace will allow you to create new accounts at our partner sites and complete the KYC process instantly with your SelfKey ID. Afterwards, you can also have the option to login to their website using our Chrome plugin, SelfKey Extension.

The incorporations marketplace will allow you to research, compare, and create a new legal entity in over 13 offshore jurisdictions.

I always think it’s fascinating to hear which tools product managers use, and what they can’t live without. Do you have any tools you use every day? Any you’d like to use more?

Most of the day to day lives within GithubGoogle DocsZoom, and Confluence. Github is used for project management and coordinating issues between teams. When a new feature gets built, it typically goes through a prototype phase, user testing, design, and a final handoff to development to actually code.

There are a lot of moving parts in this process, and every company does it differently based on their how their team is setup. We also use an addon for Github called Zenhub that helps with better organization and performance metrics of development sprints.

The second tool I can’t live without is Zoom. As a remote team choosing the right communication tool is critical and when it comes to calls Zoom is the best out there with very robust features. It also has the ability to screen share, record, and give remote control so that we can conduct user testing sessions.

The third tool is Asana. This is where we track our tasks across the team that provides visibility into ownership and how they are progressing. Because every department has their own tool-set to carry out the specific functions, you also need to work hard to keep information not siloed and shared across the team at the minimum once a week so everyone can stay updated on what is going on as a whole.

As a final remark, what would you like to share with readers looking to become product managers or enter the blockchain space?

It’s a mix of being an entrepreneur and artist at the same time. You need to identify the right problems to solve which takes a lot of entrepreneurial skillsets, but building the right solution that nails the user experience, market timing, interface, and many other factors is a form of art that nobody can teach you or find the answer in a book.

You have to keep talking to users and get yourself out of the building. And that’s part of why working with blockchain technology is so exciting.