Web Monetization Community

Rabimba Karanjai
Rabimba Karanjai

Posted on

Immersive Web — Grant Report #2

Project Update

This project was a roller coaster of struggles to get things done on time and keeping in line with the goal.

First an update to what we have achieved:

  • Enabling Integration and First Prototype: The first experiment ensures that VR assets can be run in a WebVR environment. 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="cdn.coil.com/monetized-classes.js"></script>
<style id="wm-stylesheet">
.wm-if-monetized { display: none; }
.wm-if-not-monetized { display: none; }
Enter fullscreen mode Exit fullscreen mode

This enables web monetization on those elements.

Or we can have a whole scene hidden. As you can see in this demo: https://webm-roomscale.glitch.me/
Enabling it in a WebAR environment: Using the same concept this can be enabled in an Augmented Reality Environment. The same glitch code detects when it is in an Augmented Reality environment instead of a VR environment and can enable monetization for those elements.

This concept is dependent on the coil extension. And for mobile devices even though Firefox is there and has add-on support. It still doesn't support all add-ons, notably, it doesn't support Coil. So any content that is made available part of Augmented Reality will be locked down in mobile devices. Unless we specifically determine the device and unlock that content. Doing that client-side opens up the concept for attacks on desktop devices to unlock content too.

  • How to use it for different contents: Due to the nature of how web pages are built this works on different parts of the elements of a webpage. To enable differential web monetization, the tags should be enabled on those elements. It works for VR assets as well as AR assets.

A detailed overview is available at: https://blog.rabimba.com/2022/01/immersive-payment-second-update.html

Progress on objectives

The original objective of the project has been to see if we can have a way to have web monetization in webxr contents and how can that be evolved into a marketplace.

We have explored that and see it can be enabled and used as a effective way to monetize mixed reality assets. Albeit with limitations (which are detailed in the blog).

However while exploring them, we had additional questions like can the transactions be anonymous. Can this same concept be applied for event based transactions.
For example can the following scenario somehow be supported by design:

  • In a VR scene some items are monetized
  • Based on certain interaction, these will be unlocked. Can these interactions itself trigger different kind of unlock mechanism?

In short can there be even based transaction?
Also can these be anonymized?
Some of these were explored as open research questions seperately.

Key activities

When I started this project, I was situated in India, and getting a hardware to actually run this was the first huge task. It was incredibly hard to get a good graphics card and a machine setup in India for this. Partially due to the unreasonable GPU demand in the market and the availability (or the lack of it).

Later covid ensured a lot of timeline struggles.

Communications and marketing

This was a very low-key work till now, mostly because of the highly delayed first prototype and how developers can actually use the application.
This has however been tried and tested by the following groups

  • Invention & Innovation in Computing for Sustainable Development (I2C) lab at University Houston. Also for the prospect of web monetization and event driven aspect of the transactions
  • Rice CS (Rice University CS Club) members.

There also is a proposed upcoming talk for the following in GDG Dehi.

What’s next?

We strongly feel there can be a lot more work that can be done, specially in monetization model as well as exploring if NFT can play a role into the marketplace model. So this project eventually aims to explore that.

What community support would benefit your project?

This project will benefit immensely from developers and users testing the project as well as giving feedback and ideas on how to make this more useful to the community.
This I think is the pivotal piece missing from the project.

Discussion (0)