Lens is a journey to shift from platforms to a new, decentralized environment where each of us maintains full ownership and control of all our personal data.
We are a group of four engineers designing and building our first decentralized application called Contact Lens. The idea is simple: you create and share a subscription--or Lens--to your virtual business card, instead of giving away your contact information permanently.
By sharing a Lens instead of giving data, you maintain your information in one single source of truth that you own. When you want to update your information, you only have to change it once; every Lens you have shared will automatically get the update, and the people you have shared it with will see your changes.
The inspiration for our first dapp is a need to have access to valid contact information for my network. The current Contact application is a mess. The information is incomplete, inaccurate, and has to routinely be updated. I also have no way to let others reliability know when my profile and contact information changes.
The Contact App represents the current problem with data proliferation, ownership and control.
In the new decentralized model, the individual owns their information and can control its use and access by subscription. This means that we no longer have to give data away, leaving a data trail, we can instead give subscription to the data we own and maintain.
What it does
The Lens dapp creates a single source of truth, starting with contact information for the customer. The information is independently verified for accuracy and ownership using code validation for email and phone number. We then independently sign the data with our badge as accurate. We also use this validation for identity verification.
Once data and identity are verified, we add the customer to our ledger, which establishes what we call a public lens. This is a global directory, sort of a whitepages, where the customer can be discovered.
The customer can also share Lenses to their contact information with others, privately and securely.. When sharing a Lens, a QR code is generated which is a vCard. When scanned, it will prompt the user to add a contact record with the customer’s first/last name and a Lens (url to the virtual business card).
The key value is that our customer never gives away their contact information, they give a subscription to the data they own. This way they know who has access to their contact data, can revoke the access and finally if their information changes, they just need to edit it in one place and everyone observes the change.
This solves the problem of data quality, accuracy and ability to update others when information changes.
How we built it
The Lens team has evaluated several different technologies since we started our journey. We began by first looking at interesting decentralized technologies such as Dat, which provides a really neat way of hosting files from a computer that another computer can discover easily. However, this technology proved to work well for sharing files with other people around the world, there were many challenges with getting the technology to work with where people are today.
After several months of building on top of Dat, we realized this was not the technology stack for the problem we were trying to solve. When we started back at the drawing board, Blockstack kept coming up. After a bit of evaluation, we realized that this technology was going to be our path forward.
Since then, Lens is now deployed as a progressive web app that runs in the browsers that are supported by Blockstack. This has made testing in Android, iOS and other platforms very easy and allows us to iterate quickly to meet business needs.
Challenges we ran into
When user’s own their data and have it secure and locked away, data migrations become quite challenging because we can’t always compensate for problems that may occur in the process. In the days of centralized databases where you could see all of your users’ data, you could simply correct the problem and move on, but that is not true for the decentralized world. If data gets corrupted or something happens in between that could mess up an upgrade, there is a good chance that you might have to walk users through a process individually. This means that anytime you writing code that changes the way user stores their data, you have to be extremely careful about what you do because you run the risk of bricking all of your customers if you don’t have a good backup plan.
Accomplishments that we are proud of
As a result of choosing to build on top of Blockstack, we have been able to reinvent our product in just over a month. We went from an iOS app that ran only on iphones, to a progressive web app that runs on a variety of hardware in just a few short weeks. We’ve also held very true our tenets of data privacy and data ownership to prove out our business model. Many companies don’t want to take the risk of switching paradigms of data ownership if the model hasn’t been fully proved out, but we’re happy to be a part of this new revolution of individuals taking back control of their data.
What we learned
We have learned that there is a steep learning curve to describe the differences between the current platform model and decentralized model.
What’s next for Lens
Our vision is that enterprises will no longer own our personal data, they will instead subscribe to it and under mutual terms and conditions.
We need to drive considerable traction and adoption for customers to own and maintain their single source of truth. We will do this by adding addition data types and connecting customers to a data marketplace where they can monetize access to their data.
Blockstack has enabled us to focus on the business model and value proposition for the customer.