The Interledger Community 🌱

Cover image for A New Approach to Sharing Knowledge on Websites Enabled by Web Monetization — Final Grant Report #2
Benny for A New Approach to Sharing Knowledge on Websites

Posted on • Updated on

A New Approach to Sharing Knowledge on Websites Enabled by Web Monetization — Final Grant Report #2

Project Update

Alt Text

With about one month delay compared to my original project plan, I am more than happy to share the final report for my now completed Grant for the Web project, which I was working on over the past few weeks and months.

Several situations in my personal life forced me to readjust my project plan and push back a few things after receiving the Grant funding, but then especially over the past three months I was able to really focus on this project.

And I am quite satisfied with the result. 😄

Progress on Objectives

I am also more than happy to share that I was able to accomplish all the things that I wanted to achieve for this project. 🤓

The whole list of objectives that I had set out to accomplish:

  • Set up a dedicated subdomain for the course platform ✅
  • Install and set up WordPress and suitable learning management system (LMS) platform ✅
  • Outline, structure, record, edit & upload a full video course to the course platform ✅
  • Integrate Web Monetization into course platform to only allow course videos to be visible when micropayments are streamed ✅
  • Integrate "Signin with Coil" button that allows one-click & 100% private account creation and login functionality for Coil users ✅

Tech Stack

Obstacles & Learnings

While setting up a website with WordPress was nothing new to me, there were a few things that I had never done before and didn't even have any clue about before coming up and being granted funding for this project.

I had never set up a course platform before and didn't know what would be the best way to accomplish this, while using WordPress as the underlying framework.

After a while of research, I decided to go with LearnDash as my LMS and it turned out to be the right choice, as I was able to customize everything as I needed it to be and it being a great product in general.

But before I was actually able to really set up the course platform, I needed to create a course. My first video course ever. A course teaching others how to set up a WordPress blog.

You can read more about my reasoning behind choosing this course topic in my project result revelation article on my blog.

That part turned out to be a lot more work than I had initially anticipated.

Outlining a lesson structure, recording all the videos (many of them multiple times...), and then editing all of them and optimizing them to be uploaded onto the website really took a lot of time, especially since I was not used to any of this.

But for it being my first course, I think the result is not too bad. 😊

I then used the Coil WordPress plugin to make the course content for all lessons, besides the sample lessons, to be only visible once an active micropayment stream has been verified.

After that was done, the most daunting task was still waiting for me — integrating a Coil login functionality. I had no idea how to get this to work in WordPress.

Several days of Google research and studying the Coil developer documentation eventually lead me to a solution that worked out in the end, but it wasn't very straight-forward for someone who had never ever dealt with things like OAuth, OpenID, Single Sign-On solutions and other things.

Luckily, I found a suitable WordPress plugin and with the help of their support team and from Travis and Nathan from Coil, I was able to register my platform as an app with Coil, to receive my client credentials and to enable the one-click Sign in with Coil functionality.

And the best part: it is 100% private. 😍

During the authentication process absolutely no sensible user data is passed on from Coil to my platform, which is something that I really like about this solution.

The only data I get to create a new user account upon the first login is a string of characters and numbers that looks like this:

6579de42-d29f-454c-9d1e-6848661b5e4d

A monetization alternative that requires no input of payment or user data at all — I think that is a game changing argument for Web Monetization for sure!

The last step was then to make sure that everyone who created a new account by clicking the Coil login button will be immediately enrolled in the course, which I managed to accomplish with some basic code and the LearnDash group functionality.

Then it was done. 😊

I really learned a ton of new stuff while working on this project and I am really satisfied with it now, which I didn't always foresee, especially when I was hitting obstacles and got frustrated when something didn't work.

The Result

Let's take a look at this video to see how all of this looks in action:

And now feel free to explore the course platform all on your own and make sure to give the Coil login and course access a try! 😄

➡️ Learn @ Consistent Me

Launching a small Blogging Scholarship

Alt Text

In order to help to bring some awareness to my project and to see how this use case actually works in terms of usability for users and the monetization part, I have decided to launch a small Blogging Scholarship.

Through the scholarship I will equip five lucky applicants with a one-year subscription for both Coil and the WordPress Divi theme, which will allow them to access my video course and get started with setting up their own blog on WordPress with Divi.

If you are interested or happen to know someone who could benefit from this to kick-off their own blogging project, please send them over to the application form on my blog. 🙌

Outlook

I hope the results of this project will help me and the whole Web Monetization community to learn more about the actual feasibility of using Web Monetization and micropayments through Coil for this particular use case.

How is the user experience?

Is it a viable monetization alternative to share online content?

I'm looking forward to get some answers to these questions from my own results, but also from any feedback of users and all of you who are part of this great and inspiring community. 😄

A big thank you to the Grant for the Web team and everyone who makes all of this possible. This is truly something unique and valuable to happen to and for the internet.

Latest comments (8)

Collapse
 
ericahargreave profile image
Erica Hargreave

Hi Benny,

As someone with a LearnDash site, I am curious about the 'WordPress plugin' you used with the 'help of their support team and from Travis and Nathan from Coil to register my platform as an app with Coil, to receive my client credentials and to enable the one-click Sign in with Coil functionality.' What plugin did you use for this? Thinking of considering this for our LearnDash site, as I am not currently thrilled with our sign-in / sign-up options.

I am also curious about the basic code you used so that everyone who created a new account by clicking the Coil login button is immediately enrolled in the course.

Thanks Benny!

Erica

Collapse
 
consistentbenny profile image
Benny • Edited

Hi Erica!

1) As mentioned above, I am using the SSO login plugin for WordPress from miniOrange: wordpress.org/plugins/miniorange-l...

The free version of the plugin is enough to make the Coil user login flow working.

2) The plugin has a preset for Coil available, but it requires you to receive your own client ID and client secret. Follow the Coil documentation to receive those: help.coil.com/docs/dev/oauth-api

As a non-developer I used a software called Postman to do the required API call to receive these credentials: postman.com

Enter the credentials into the plugin settings once you got them.

3) As a next step, I created a group in LearnDash and defined in the settings that every user who is part of this group has access to my WordPress course.

4) Then, I added a code snippet to my WordPress theme's function.php file:

add_action( 'user_register', function ( $user_id = 0 ){
if ( !empty( $user_id ) ) {
$LD_GROUP_IDS = array( 746 );
learndash_set_users_group_ids( $user_id, $LD_GROUP_IDS );
}
});

This code snippet automatically adds every new user to my LearnDash group (it has the WordPress ID 746, as you can see in the code snippet above).

So now every new user who signs in with Coil for the first time, will automatically be added to the LearnDash group and — by being a member of the group — have access to the course.

If I add more courses in the future, I can simply give all group members access to that course as well and they will have immediate access to it too.

Hope that helps! 🤓

Collapse
 
erikad profile image
Erika

Nicely done, Benny! There's so much to dig into here. We'll be sure to share the scholarship form.

Collapse
 
consistentbenny profile image
Benny

Yes, please! :)

Thanks for the feedback Erika!

Collapse
 
jasonc profile image
Jason Chrysostomou

Nice work! Really interesting to see how the coil sign-in can be seamlessly integrated on a site. I'm just wondering, what if there was also an integration that allows a user to sign up to a coil account on your site, without the need to visit the coil website?

Collapse
 
consistentbenny profile image
Benny

That's an interesting idea, but I think it's good to send people over to Coil first, so that they can actually learn about what it is and how it works. If the registration would happen on my website, I could imagine that it will feel to users like they are paying only for my content, while actually Coil is a universal thing.

Collapse
 
palexander profile image
Pamela Alexander

Congratulations. This looks amazing. I'll take a deeper dive before I start asking a 1,000 question. And again, well done!

Collapse
 
consistentbenny profile image
Benny

Thank you Pamela! :D