One of the questions that came up at the Ocean AMA last November was around how protocols like Ocean can become applicable to regular consumers so that they can benefit from the use of blockchain technology. We’re big believers in the potential of blockchain and wanted to create a solution to help consumers benefit from sharing their data while also solving the problem of data researchers needing relevant data.
We built a marketplace which connects mobile app consumers with mobile app developers or marketers. As app developers ourselves, one of the challenges we face is trying to understand our mobile app users more thoroughly. What are their interests, what do they do in their spare time and what drives them? One of the ways we’ve found to tease out this information is to look at what other apps a user might have installed. This helps to build a more thorough psychographic profile of a user and for us to understand how to build features that truly serve our user’s needs. We did this manually through surveys and user interviews but thought - what if there was a way for us to access this data through a marketplace? That was the genesis of Ocean Rewards.
What it does
As we’ve built a marketplace, there is a demand side and a supply side. The demand side is the app developer or marketer and the supply side is the consumer.
The consumer side
The consumer downloads our mobile app where they fill out a profile with some demographic information and the app obtains some system data from the user so that the app developer or marketer has a richer profile beyond just apps. We then collect information about all the apps which they have downloaded on their mobile device. We create a JSON file that we send via email to the user, which they can check to ensure that we are only sharing the data that they’ve agreed to share.
After they check the data, they copy the uploaded private link and go to our site (http://www.myoceanrewards.com) and upload their data (the data file). They connect their OCEAN wallet to our site via Metamask then sign the upload transaction to connect the file with their wallet. This ensures that when their data is purchased, they will be credited with the tokens. Users also have the option of setting their own price for their data or to have us set a price.
The marketer side
For an app developer or app marketer looking for data, they visit our marketplace site (http://www.myoceanrewards.com) and type in the app bundle of the mobile app that they are looking for data on (most likely their own or a competitor’s). The app bundle uniquely identifies an app on the Google Play / App App store. They will see a list of results that appear for any user that has that app installed on their mobile device. Each result is one data set. They can choose to add multiple data sets to their cart to review later for purchase. Each data set shows the type and amount of data available in that data set as well as the price of purchasing that data set.
Once the app developer or marketer is ready to make a purchase, they click on their cart and choose which data set they’d like to purchase. They connect their wallet via Metamask and hit “get file” to process the transaction. Once the transaction is complete, they are able to download the JSON file to get the user’s profile as well as a list of apps which they have downloaded on their mobile device. The OCEAN tokens will be transferred out of their wallet and into the consumer’s wallet that they purchased the data from. All transactions can be verified and tracked on the block explorer.
How we built it
On the consumer side, to ensure security, we restrict the upload URL to our own Ocean Rewards data repository (S3 for now, IFPS in the future) to prevent people from modifying the app data list and its contents. That way, we know that the file being uploaded has already verified data.
We used the commons marketplace as a starting point for our marketplace, and we added a few features to it, such as searching uniquely for an app (given a bundle id) and also the ability for app marketers to add multiple data sets to a cart they wish to check out for later.
When the marketer is ready to check out, we direct them right back to the asset page. On the mobile app side, we had to communicate with the Android system APIs to fetch the list of the installed apps. In order to achieve full transparency, we made sure we allow the user to see the data that we email them.
Challenges we ran into
To complete the purchase, currently we are directing the marketer to the commons site. The reason for this is when we tried to connect with our marketplace app, it failed on decrypting the document. We hope that we will get some support and some resources to fix this after the hackathon as we want to get this project polished and released, as we originally built it to solve our own problem and we think that it will also help out other mobile marketers (and allows consumers to earn OCEAN tokens).
There was also a weekend where the Pacific mainnet was down, but the devs were able to fix it and we were able to finish the final testing.
Accomplishments that we're proud of
There were a lot of technical documents that OCEAN provided and it took a little bit of time to read through it all, but in the end it made a lot of sense why things are laid out the way they are. We are also proud of building a real use case that provides a valuable service on the blockchain in a trustless way.
What we learned
Looking at the tech docs, blockchain tech is not an easy thing -- there are different layers and each layer has its own complex subsystems. We’re excited to see what OCEAN will accomplish in 2020 and especially how to handle not just data production and consumption but also pipelines and data transformation (which adds another level of complexity to the mix).
What's next for Ocean Rewards
- Purchase of multiple data sets (liaison with the OCEAN devs to see how to create a contract that can do this)
- More comprehensive user profile in the data sets (ie. location data)
- Smart search that will suggest other types of data sets that could be of interest based on specific searches (e.g. searching for a specific mobile game, we could suggest other data sets that may not have that specific app but has other relevant apps)
Because we are providing a valuable service, solving a real need, we can eventually charge a transaction fee for any transactions that occur on our marketplace. We can also collate data sets together that provide richer details and also use purchase data to determine what kind of data sets make sense together and then sell that data accordingly as well.
We know from our experience developing a crypto app that people all over the world, regardless of whether they live in a developed country or not, are seeking ways to improve their financial lives. There are many sites dedicated to micro tasks and micro work and we know these are great starting points to fund the supply side. Based on Google searches, there’s nothing that exists like this for marketers and we can own the space pretty easily through SEO, outreach and developer circles - there is a lot of pent up demand but little to no supply currently.
Because this is a marketplace, it’s self-sustaining as long as there is both supply and demand. We know that there is always a need for data (that’s how companies like Facebook and Google have been so successful because they are data companies) and we’re now enabling new economies and opportunities by providing a place where people can share and benefit from their data, which wasn’t available before.
The most important part of this is that we are staying true to the philosophy and ethos of blockchain - decentralized and democratized access - so anyone, anywhere can use and benefit from our marketplace, no matter if they are a farmer in Nepal, a techie in San Francisco, a stay at home dad in Finland or an unemployed laborer in Cambodia. We are creating a new system and new financial opportunities for global inclusiveness because data is valuable and it’s time to transfer that value from corporations to everyday people.