<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>The Interledger Community 🌱: Joep Meindertsma</title>
    <description>The latest articles on The Interledger Community 🌱 by Joep Meindertsma (@joepio).</description>
    <link>https://community.interledger.org/joepio</link>
    <image>
      <url>https://community.interledger.org/images/kt04hoH3NnRvqiUcNu21gzO3otqdWUCrqAKBDUpKn6M/rs:fill:90:90/g:sm/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL3VzZXIv/cHJvZmlsZV9pbWFn/ZS8xOTMvMjAzMDlm/ZDctYTZjZS00M2Jm/LWEyOGEtMWFmYmJm/YWRhMDJhLkpQRw</url>
      <title>The Interledger Community 🌱: Joep Meindertsma</title>
      <link>https://community.interledger.org/joepio</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://community.interledger.org/feed/joepio"/>
    <language>en</language>
    <item>
      <title>Solid based Data Spaces — Grant Report #2</title>
      <dc:creator>Joep Meindertsma</dc:creator>
      <pubDate>Thu, 30 Dec 2021 13:54:30 +0000</pubDate>
      <link>https://community.interledger.org/joepio/solid-based-data-spaces-grant-report-2-50ii</link>
      <guid>https://community.interledger.org/joepio/solid-based-data-spaces-grant-report-2-50ii</guid>
      <description>&lt;p&gt;Most of the people reading this will be at least a little interested in decentralizing the web. At Dexes, we're building software that help to achieve this. We write tools that give people more control over their data, and promote interoperability. One of our core objectives, is to make it easier to monetize data without losing control. Thanks to the Grant for the Web, we were able to add webmonetization to two open source data servers: &lt;a href="https://crates.io/crates/atomic-server"&gt;Atomic Server&lt;/a&gt; and the &lt;a href="https://gitlab.com/ontola/dexpod/"&gt;DexPod&lt;/a&gt; (a Solid server).&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;In our &lt;a href="https://community.webmonetization.org/wbsbds/web-monetization-for-solid-based-data-spaces-grant-report-1-4fal"&gt;previous report&lt;/a&gt;, we shared a bit of our struggle. When we saw the Grant for the Web for the first time, we had the idea of using Interledger to facilitate transactions for data. We wanted users to be able to set a price for any arbitrary digital resource, and use payment pointers to handle the transaction. We basically learned that the things that we wanted to do with Interledger were not yet possible using the existing wallet implementations, since these focused on &lt;em&gt;streaming&lt;/em&gt; payments, and not &lt;em&gt;one-off&lt;/em&gt; payments. First, we tried solving this usecase by diving quite deep in the Interledger protocol, but we didn't manage to get our usecase working. We got in touch with the developers of Interledger, and learned that a new library was being made that will enable one-off transactions: &lt;a href="https://github.com/interledger/rafiki"&gt;Rafiki&lt;/a&gt;. We reached out to the Interledger Foundation and asked if we could perhaps pause our project and wait a bit longer, until december 1st 2021, to let Rafiki mature a bit. We regularly checked in to see if Rafiki could be used for our case, but we came to the conclusion that it's still a bit too early. We discussed an alternative approach to reach our goal of enabling payments, which is probably far more similar to how most other projects implemented Interledger: through Webmonezitation! We implemented this for two of our open source servers, the DexPod and Atomic Server.&lt;/p&gt;

&lt;h2&gt;
  
  
  Atomic Server: open source graph database for personal data, now with Web Monetization
&lt;/h2&gt;

&lt;p&gt;For the past two years, we've been working on building a new open source database: Atomic Server. It's written in Rust, which helped make it a very performant, small, yet flexible application. It's a personal server that has been designed to run on low-end hardware, such as on a Raspberry Pi. This allows you to host your own Personal Online Datastore at a low cost. We've built the server and wrote the specification to help make the web more interoperable, and enhance data ownership.&lt;/p&gt;

&lt;p&gt;We've implemented WebMonetization for Atomic Server. This means that you can Monetize &lt;em&gt;any&lt;/em&gt; type of content, such as documents, webpages, videos or anything else straight from your Atomic Server. All you have to do, is add your &lt;a href="https://atomicdata.dev/property/paymentPointer"&gt;&lt;code&gt;payment-pointer&lt;/code&gt;&lt;/a&gt; property to a resource, and the client (&lt;a href="https://github.com/joepio/atomic-data-browser"&gt;Atomic-Data-Browser&lt;/a&gt;) will take care of the rest.&lt;/p&gt;

&lt;p&gt;If you want to do this, follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set up an Atomic Server. The easiest is probably to run the docker one liner `or by runningcargo install atomic-server&lt;/li&gt;
&lt;li&gt;Create some resource, or upload a file, and open the Edit panel.&lt;/li&gt;
&lt;li&gt;Click add another property, and enter &lt;a href="https://atomicdata.dev/property/paymentPointer"&gt;https://atomicdata.dev/property/paymentPointer&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Now, enter your payment pointer in the new field.&lt;/li&gt;
&lt;li&gt;Press 'save'&lt;/li&gt;
&lt;li&gt;That's it! You can now share your premium content URL, and it will only be shown if the client has Coil installed.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://atomicdata.dev/document/fx253sg7nzl"&gt;Open my example &lt;code&gt;Premium Document&lt;/code&gt; here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/uDo4q4dHy220gHPIZEnzyygUL3b5dLfKJDaiT-hgx4c/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2Y5YTVnNzVz/OXA4NW1tN2Qzazd1/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/uDo4q4dHy220gHPIZEnzyygUL3b5dLfKJDaiT-hgx4c/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2Y5YTVnNzVz/OXA4NW1tN2Qzazd1/LnBuZw" alt="Image description" width="880" height="506"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Check out the video below to see some of the other features in Atomic Server:&lt;/p&gt;

&lt;p&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  DexPod: open source Solid Pod implementation
&lt;/h2&gt;

&lt;p&gt;The Solid project is an initiative by the inventor of the World Wide Web, sir Tim Berners-Lee. It's goal is to re-decentralize the internet, and give users more control over their data. We're building an implementation for this new Solid specification, called the &lt;a href="https://gitlab.com/ontola/dexpod/"&gt;DexPod&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;We've added WebMonetization to this application, too. In the DexPod, users can upload files, and optionally add a PaymentPointer to them if they want to monetize that content. Similar to how this works in Atomic-Server, access is only given when a payment is succesful, and otherwise users will be shown instructions on how to get a wallet installed.&lt;/p&gt;

&lt;p&gt;You can create a monetized resource by creating a DexPod on dexes.eu, then going to your pod (press menu -&amp;gt; go to pod), uploading a file, and adding your payment pointer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://community.interledger.org/images/UBt4lYgC2D3z4MSZM7HpMLbEqHdt4TUly93oJtrMnk8/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2dqMzVnNTY4/OGVsZnVxaGRxZG83/LnBuZw" class="article-body-image-wrapper"&gt;&lt;img src="https://community.interledger.org/images/UBt4lYgC2D3z4MSZM7HpMLbEqHdt4TUly93oJtrMnk8/w:880/mb:500000/ar:1/aHR0cHM6Ly9jb21t/dW5pdHkuaW50ZXJs/ZWRnZXIub3JnL3Jl/bW90ZWltYWdlcy91/cGxvYWRzL2FydGlj/bGVzL2dqMzVnNTY4/OGVsZnVxaGRxZG83/LnBuZw" alt="Two screens showing the DexPod with an instruction, and one showing an image" width="880" height="614"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;Dexes has been in various media outlets &lt;a href="https://amsterdameconomicboard.com/en/news/research-organisations-and-commercial-parties-start-developing-the-new-amsterdam-data-exchange"&gt;1&lt;/a&gt;, &lt;a href="https://www.computable.nl/artikel/nieuws/infrastructuur/7166679/250449/bouw-amsterdam-data-exchange-komt-van-de-grond.html"&gt;2&lt;/a&gt;, &lt;a href="https://www.rtlnieuws.nl/tech/artikel/5225297/amsterdam-krijgt-databeurs-voor-delen-gegevens"&gt;3&lt;/a&gt;, and I've given a &lt;a href="https://www.bnr.nl/podcast/bnr-slimme-koppen/10427512/hoe-komen-we-tot-een-beter-en-kleiner-internet"&gt;radio interview&lt;/a&gt; on Atomic Data.&lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;For one, we'll keep investing in Atomic Server and DexPod.&lt;/p&gt;

&lt;p&gt;For the DexPod, one of the next steps is to further integrate with our Broker service. This will enable data owners to create custom machine readable &lt;em&gt;agreements&lt;/em&gt; for sharing data. For example, a data owner may require that a data user is of a certain age, has a valid e-mail, and has made a succeful payment. We're collaborating with the Amsterdam Economic Board to find usecases for conditional data sharing. Payments are one of the most important conditions for us.&lt;/p&gt;

&lt;p&gt;For Atomic Server, we've just released a desktop-build, and plan to release more libraries, tutorials and tools for developers to make apps for this ecosystem.&lt;/p&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;We'd still like to implement one-off payments for data. The UX that we'd like to achieve, is one that is similar to conventional online payments - the user explicitly agrees to paying some amount of money, and is shown the content after the payment is transferred.&lt;/p&gt;

&lt;h2&gt;
  
  
  Additional comments
&lt;/h2&gt;

&lt;p&gt;Thanks to the Interledger foundation for investing in the future of the web, and thank you to the GftW team for enabling all of this!&lt;/p&gt;

&lt;h2&gt;
  
  
  Relevant links/resources  (optional)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://atomicdata.dev/document/fx253sg7nzl"&gt;Example Webmonetzized document in Atomic Server&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/joepio/atomic-data-rust"&gt;Atomic Server source code on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://gitlab.com/ontola/dexpod/"&gt;DexPod source code on GitLab&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>grantreports</category>
    </item>
    <item>
      <title>Web Monetization for Solid based Data Spaces — Grant Report #1</title>
      <dc:creator>Joep Meindertsma</dc:creator>
      <pubDate>Fri, 30 Apr 2021 12:21:53 +0000</pubDate>
      <link>https://community.interledger.org/wbsbds/web-monetization-for-solid-based-data-spaces-grant-report-1-4fal</link>
      <guid>https://community.interledger.org/wbsbds/web-monetization-for-solid-based-data-spaces-grant-report-1-4fal</guid>
      <description>&lt;p&gt;Grantee FAQ - Web Monetization Community&lt;br&gt;
Uphold payment API does not support interledger payments&lt;br&gt;
Web Monetization for Solid based Data Spaces — Grant Report #1&lt;/p&gt;

&lt;h2&gt;
  
  
  Project Update
&lt;/h2&gt;

&lt;p&gt;A lot of data is not being shared because there are technical or legal barriers to do so. At deXes we want to make sharing data easier while having respect for data ownership and privacy. &lt;/p&gt;

&lt;p&gt;We are working on providing data marketplaces to groups of users that want to share data. One of the marketplaces we are working on is the Amsterdam Data Exchange (AmdEX). We’re building services to help people share data &lt;em&gt;conditionally&lt;/em&gt;. This means that a data owner can set various requirements before someone gets access to and can use the data. For example, the data owner might require a valid email address, or an age check, a &lt;a href="https://www.w3.org/TR/vc-data-model/"&gt;verifiable credential&lt;/a&gt; or some payment (we’ll get to that soon enough). &lt;/p&gt;

&lt;p&gt;Facilitating a data marketplace means providing a couple of services: a secure place to  store data, a way to make conditions and agreements transparent and the findability of the data.&lt;/p&gt;

&lt;p&gt;First, data storage. One of the core values that we have is data ownership. Those who own data should retain control, and service providers (including us) should not manage or even have access to the data that individuals or organizations own. In order to accomplish such a decentralized level of data ownership, we need a high level of standardization. This is why we’ve decided to implement the Solid specification, and build a Personal Online Datastore (POD). We call this the deXPod, and we’ve &lt;a href="https://gitlab.com/ontola/dexpod/"&gt;open sourced&lt;/a&gt; it just a couple of weeks ago. The goals of this Pod is to manage data and provide identification services.&lt;/p&gt;

&lt;p&gt;The second service that we’ll provide is service to be transparent on conditions and store agreements in data deals. A Data Deal is a legal agreement between two (or more) actors about some virtual resource. Generally, a data deal describes who gets to access which resource, under what conditions. Before an Offer turns into an Agreement, the various conditions have to be met. This is where a new service comes into play: the TrustBroker. The TrustBroker is an API that validates and manages Offers and Agreements, and checks conditions and signatures. It is a trusted third party, similar to a notary.&lt;/p&gt;

&lt;p&gt;It is our goal to describe these Offers and Agreements in a standardized, interoperable and open manner. We are conforming to the &lt;a href="https://www.w3.org/TR/odrl-model/"&gt;W3C ODRL specification&lt;/a&gt;, a spec that makes legal policies machine-readable. One of the Conditions that will be described, are payments - and this is where Payment Pointers will come into play. Describing these payment requirements means specifying the shape of these Payment Requirement Conditions in RDF and JSON-LD. The protocol of how these payments will be verified will need to be compatible with the Solid ecosystem, which means compatibility with HTTP. Although &lt;a href="https://interledger.org/rfcs/0035-ilp-over-http/"&gt;ILP over HTTP&lt;/a&gt; does exist, it does not specify how requirements regarding payment resources should be described. &lt;/p&gt;

&lt;h2&gt;
  
  
  Progress on objectives for Grant for the Web
&lt;/h2&gt;

&lt;p&gt;We’re not the only ones working on integrating webmonetization with the Solid ecosystem. We’ve spoken to the other individuals and organizations working on this topic, have had meetings and discussed issues in a &lt;a href="https://github.com/solid/webmonetization"&gt;new repository&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;We’ve built and open sourced our Solid Pod server implementation, called the &lt;a href="https://gitlab.com/ontola/dexpod/"&gt;deXPod&lt;/a&gt;. This provides WebID-OIDC authentication, RDF content-type negotiation, and data management tools similar to Dropbox / Google drive.&lt;/p&gt;

&lt;p&gt;A first draft of the DataDeal spec has also &lt;a href="https://gitlab.com/dexes.eu/datadeal"&gt;been created&lt;/a&gt;, but we’re currently aiming to replace this with the already existing ODRL specification. &lt;/p&gt;

&lt;p&gt;The actual implementation of Interledger / Web monetization is where things are getting a bit more complicated. We initially aimed to use the Uphold API for transactions, since Uphold is one of the primary Wallet providers that have a powerful API and Interledger / Payment Pointer support. Unfortunately, getting the SDK to work failed, and when we ultimately got the API working, we noticed that payment pointers are not yet supported there. We got in touch with Uphold and luckily, the Uphold developers and support employees have been very helpful. Turns out there is in fact an API for interledger payments, but it wasn’t documented yet.&lt;/p&gt;

&lt;h2&gt;
  
  
  Key activities
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Spec design, research, collaboration&lt;/li&gt;
&lt;li&gt;Solid deXPod implementation&lt;/li&gt;
&lt;li&gt;Uphold API / SKD / Interledger setup&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Communications and marketing
&lt;/h2&gt;

&lt;p&gt;We’re focussing our marketing efforts primarily on the Netherlands. We’re proud to have been featured on BNR (business news radio), and a couple of newspapers. This is partly due to our collaboration with the Amsterdam Economic Board and University of Amsterdam. &lt;/p&gt;

&lt;h2&gt;
  
  
  What’s next?
&lt;/h2&gt;

&lt;p&gt;In the coming months, we’ll describe Interledger / WebMonetization transaction requirements using the aforementioned ODRL specification. We will also implement this in the aforementioned broker. We’ll also add the PaymentPointer handle form to our deXPod, using the newly created &lt;a href="https://github.com/michielbdejong/paymentpointers.org/blob/namespace-for-rdf/7-ns.md"&gt;Payment Pointer namespace&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What community support would benefit your project?
&lt;/h2&gt;

&lt;p&gt;We think one of the major hurdles in adoption of webmonetization is the wallet set-up if you want to have a payment pointer. There’s a limited number of options - and setting up one takes quite a bit of time. Setting up an Uphold account means verifying my phone number, taking pictures of my drivers license and filling in a bunch of forms. I understand that these are necessary due to regulations on banking, and Uphold has done a great job at complying to these regulations with a nice UX, but still it feels like this is a bit of a sore spot. I don’t have an answer on how to improve upon the current situation, though. &lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
