Skip to main content

Immersive Payment: First Update

It has been more than 6 months now that I have had the Immersive Payments, Spark Grant. Since then I have worked on realizing the scope of the project and finally, I am here to give an update.

The project aimed to solve the following facets of distributed payment in the space of webvr.

  • Can we have micro-payment enabled for small micro assets?
  • Can we have a way for content and asset creators to define a way to have these transactions as part of a self-hosted (or managed) marketplace
The initial concept was simple. Starting with 3d assets and models which a creator normally creates for making a virtual reality or even augmented reality scenes. Instead of having to buy them, can a creator benefit from the audience having more control over having added third party assets.

Initial Prototype:

The initial prototype for the project depends on Spoke and creating scenes for mozilla hubs. We wanted to see if we can have extended portions of these scene where some characters can be Monitezied using Web monitized while others are still under free domain.
For the initial experiments we wanted to see if a wholoe web page runnig a simple aframe webVR scene can be monited or not.
As it turns out it is relatively simple to enable web monetization in a simple webvr page and host it. And it's also fairly easy to add conditional's to the page too. For example to 
  <script defer src=""></script>
  <style id="wm-stylesheet">
    .wm-if-monetized { display: none; }
    .wm-if-not-monetized { display: none; }

This enables web monitization on those elements.

Or we can have a whole scene hidden. As you can see in this demo:

As you can see the browser first tries to verify if there is already a subscription attached to the coil account and enables the WebVR scene based on that. (caveat: you will need coil extension installed and logged-in in your browser if you want to test the URL)

Our next step was to see how can we have this implemented in individual elements of the scene. If you want to know more about adding web monetization on specific elements on your website. You can read the excellent guide here.

As a next step we start by using spoke for creating the vr scenes for integrating into Mozilla Hubs. The goal here is to have monetization enabled for separate assets inside the scene. 

Progress till now:

  • We can now enable selective web monetization for specific webvr assets
  • Separate 3d assets can be monetized


  • Have a centralized place where we can allow asset creators to highlight alternate story paths associated with exclusive assets
  • Have a way of enabling alternate story paths for webvr relates stories (this is enabled by creating alternate paths for the story to end/expand. However the present challenge is to see how can the implementation be done so that it doesn't cripple the rest of the scene)

I was fortunate to get an extension of the deadline. With that in mind, we have plans to actually contribute to the underlying protocol and have a proposal for conditional interactions. Based on our recently accepted work at ICBC which can be accessed here. Under the name "On Conditional Cryptocurrency with Privacy"

This concludes the very short initial update of the project. Some personal health issue along with the present Covid surge in my home country India, where I am right now made periodic updates to the project pretty difficult. A difficulty which I plan to address in the next few weeks.

Two follow-up blogpost will follow this post detailing some of our design choices, codes, and how you, if you want right now, can test some of the features. I would love to have your feedback and directions on the same.


Popular posts from this blog

ARCore and Arkit, What is under the hood: SLAM (Part 2)

In our last blog post ( part 1 ), we took a look at how algorithms detect keypoints in camera images. These form the basis of our world tracking and environment recognition. But for Mixed Reality, that alone is not enough. We have to be able to calculate the 3d position in the real world. It is often calculated by the spatial distance between itself and multiple keypoints. This is often called Simultaneous Localization and Mapping (SLAM). And this is what is responsible for all the world tracking we see in ARCore/ARKit. What we will cover today: How ARCore and ARKit does it's SLAM/Visual Inertia Odometry Can we D.I.Y our own SLAM with reasonable accuracy to understand the process better Sensing the world: as a computer When we start any augmented reality application in mobile or elsewhere, the first thing it tries to do is to detect a plane. When you first start any MR app in ARKit, ARCore, the system doesn't know anything about the surroundings. It starts pro

ARCore and Arkit: What is under the hood : Anchors and World Mapping (Part 1)

Reading Time: 7 MIn Some of you know I have been recently experimenting a bit more with WebXR than a WebVR and when we talk about mobile Mixed Reality, ARkit and ARCore is something which plays a pivotal role to map and understand the environment inside our applications. I am planning to write a series of blog posts on how you can start developing WebXR applications now and play with them starting with the basics and then going on to using different features of it. But before that, I planned to pen down this series of how actually the "world mapping" works in arcore and arkit. So that we have a better understanding of the Mixed Reality capabilities of the devices we will be working with. Mapping: feature detection and anchors Creating apps that work seamlessly with arcore/kit requires a little bit of knowledge about the algorithms that work in the back and that involves knowing about Anchors. What are anchors: Anchors are your virtual markers in the real wo

Road to the Grant : Immersive Payment

  This is a news close to my heart. My project "Immersive Payment" has been awarded with Grant for the Web , and I will be focusing on using Web Monetization to enable Micro Payment and for Web Mixed Reality assets, as well as for 3d contents. It took me almost five months from learning about the initiative to actually getting thee Grant. It all started back when in Mozilla TechSpeaker call a fellow TechSpeaker and a friend Andrzej Mazur explained bout the program. He himself is also an early awardee . After the talk, I got really excited and interested in the potential and concept of Web Monetization, however, it wasn't until June that I really decided to apply. The application process was a bit of roller coaster ride for me. I had an idea of what I wanted to do and also explored what is possible right now. But a bit of termoil in my personal life kept me from going beyond toy implementations. Fast forward to June end and I finally had the project chalked out with init