Skip to main content

Immersive Payment: Second Update


This is the second update to the Immersive Payment project update under the Grant For Web Fellowship.

You can read the last report here: https://blog.rabimba.com/2021/05/immersive-payment-first-update.html

Background

Technically, WebXR is a device API that makes it possible to distribute VR/AR experiences over a web browser. It is broadly used to describe web based VR/AR experiences.

The web is the biggest platform, able to reach almost every device and balance the power with app stores through permissionless innovation. However, there’s a major issue holding the ecosystem back from growing: monetization.

There’s a reason why 99% of WebXR apps look like prototypes, it’s because indie creators struggle with finding ways to capture value.

More polished experiences like Mozilla Hubs and Frame usually have the backing of a large entity, so they can survive.

While many of the apps on the front page of Oculus Store net millions in sales, apps on the startpage for Oculus browser (#1 app) can barely hit $100 a month in ad rev.

How can other developers and studios justify spending more resources into this open ecosystem like this and make it more than just a hobby?

What Immersive Payment is trying to do

With immersive payment, you are now able to monetize part of the content of a VR scene or asset using Coil. 

Updates:

  • 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; }
    </style>

    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. 
    • Limitation:
      • 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.

Open Research Questions Explored:

  1. Can we make the transactions anonymous: This can be achieved by introducing confidential coin concept in the mix. If we want to look at a architectural diagram about how this can be done. This may look like following

Figure 1 provides an example of association between event definitions, event outcome announcements, and event based UTXO notes. It shows nine UTXO notes (named cc1 to cc9) and four transactions (named tx1 to tx4). For each transaction, input notes and output notes are enclosed in a colored bounding box. The coins in front of the arrows are input coins and the coins that the arrows point to are output coins. Each type of data has its own logical chain and the corresponding Merkle hash tree. All the event definitions and event outcome announcements are in public.
They are validated before appended to the ledger. In this work, we assume that event outcomes are declared by the same parties who register the events to the ledger (verified through a secure
digital signature scheme). Verification of the event outcome itself (e.g., status of a tracked shipment) is a separate concern, which could be supported through various established approaches such as
oracle service providers, event validators or zero-knowledge proof based claim verification scheme. We assume that event outcomes are verified as part of the event processing before they
are appended to the shared ledger.
All privacy coins in the system are conditional coins. In the example, one can observe that all the coins (cc1 to cc9) are paired with an event definition. A privacy coin without a real condition is configured to use one of the default constant events as its condition, for instance cc1. This way, all the transactions involving the conditional coins in the system (payments using the conditional coins or transferring of the conditional coins) follow identical validation steps in zero-knowledge protocol when deciding whether the transactions should be accepted by the participating distributed ledger nodes.

This is detailed here: https://dl.acm.org/doi/abs/10.1145/3464298.3493401

Questions

  • How do people pay for WebXR content currently?
  • What is actually being paid for in the present?
    • Access
    • Login / Bot handles ticket ownership
    • Parcels (NFTs)
    • Content (ex : stereo video streaming services)
    • XXX
  • In what ways can we make that process easier and more frictionless?
  • What monetization strategies have yet to be explored?
  • How can artists get paid?
    • Commissions + Projects
    • Patreon
    • Github sponsors
    • Grants
    • VC investment
    • Event tickets
  • Is there a multimodal solution that would work best for in VR payment?
  • Thoughts about non-payment based monetization strategies such as advertising?

Methods:

  • Patreon
    • Many VR creators and sometimes platforms (NeoSVR) are using this
  • Github Sponsors
    • Avaer
  • VC Investment
  • Event Tickets
    • Really unexplored still
  • Discord community with paid roles
    • FIVARS / VRTO did some
    • WHALE / Metafactory using collab.land
  • Virtual market stalls
    • Currently in-progress via Vket5
  • Avatar store
    • Need some sort of VRMchat for people to buy this for webxr
  • Tailors
    • When people buy avatar weawrables they’ll want it custom fit their avatar
  • Virtual land parcels
    • Minting webxr worlds
    • Cryptovoxels
  • Twitch streaming with bits
    • Avaer and Sorskoot are streaming webxr development
  • Engine licensing
    • wonderland
  • App store
    • Construct Arcade
    • FIVARS made a token system for watching movies / games, can be repurposed
  • In-world advertising
    • Elijah from Vhite Rabbit / Construct arcade was exploring with Wonderleap
    • Admix
    • Google Ads work in WebXR
    • No official or unofficial link in how to do that
  • Make it easier to integrate with paypal / crypto / discord
    • Discord path seems easiest
    • FIVARS did a lot of manual work here, could be outsourced?
  • Virtual actors
    • voice actors
    • full body actors
      • performers
    • capturing / minting mocap libraries
      • Train AI npcs
    • Storytelling
      • The Scarecrow: Raindance film festival
      • Live actors in neosvr live performance
  • WebXR can be used for immersive playback

A report of the grant is also available at: https://community.webmonetization.org/rabimba/immersive-web-grant-report-2-28nm

Comments

Popular posts from this blog

FirefoxOS, A keyboard and prediction: Story of my first contribution

Returning to my cubical holding a hot cup of coffee and with a head loaded with frustration and panic over a system codebase that I managed to break with no sufficient time to fix it before the next morning.  This was at IBM, New York where I was interning and working on the TJ Watson project. I returned back to my desk, turned on my dual monitors, started reading some blogs and engaging on Mozilla IRC (a new found and pretty short lived hobby). Just a few days before that, FirefoxOS was launched in India in the form of an Intex phone with a $35 price tag. It was making waves all around, because of its hefty price and poor performance . The OS struggle was showing up in the super low cost hardware. I was personally furious about some of the shortcomings, primarily the keyboard which at that time didn’t support prediction in any language other than English and also did not learn new words. Coincidentally, I came upon Dietrich Ayala in the FirefoxOS IRC channel, who...

April Fool and Google Part 2: A Round Up of ALL of Google’s April Fools Jokes

Ok....this post I think will contain all of the pranks I could find  for today. After my last post here http://rkrants.blogspot.com/2012/04/april-fool-and-google-my-favorite.html Last Time I reported Only a handful of the pranks.. Understandable, as it was only the morning. After that I stumbled upon more of them Which I am gonna round up here. Now staring with the list. The very first one is obviously our favourite Google Maps Quest The above is their official video. In a post in Google Plus they say about it as follows  Today  + Google Maps  announced Google Maps 8-bit for NES. With #8bitmaps , you can do everything you'd normally do in Maps—search for famous landmarks and sites around the world, get directions and even use Street View. Just in time for April Fool's Day, Google has introduced Google Maps Quest, a retro 8-bit version of its mapping tool that is... totally awesome. In a characteristically whimsical video, availabl...

Curious case of Cisco AnyConnect and WSL2

One thing Covid has taught me is the importance of VPN. Also one other thing COVID has taught me while I work from home  is that your Windows Machine can be brilliant  as long as you have WSL2 configured in it. So imagine my dismay when I realized I cannot access my University resources while being inside the University provided VPN client. Both of the institutions I have affiliation with, requires me to use VPN software which messes up WSL2 configuration (which of course I realized at 1:30 AM). Don't get me wrong, I have faced this multiple times last two years (when I was stuck in India), and mostly I have been lazy and bypassed the actual problem by side-stepping with my not-so-noble  alternatives, which mostly include one of the following: Connect to a physical machine exposed to the internet and do an ssh tunnel from there (not so reliable since this is my actual box sitting at lab desk, also not secure enough) Create a poor man's socks proxy in that same box to have...