Metaverse Web Showcase is a fully immersive Metaverse world that can be embedded interoperably in any 2D website to dramatically enhance site experiences, improve engagement and increase sales.
TL;DR
- Access your unique Web Showcase via this link.
- Keep reading to learn more about Web Showcase and how to customize it.
Introduction
Your site, your content, your world.
Welcome to the Croquet Metaverse Web Showcase.
It's a 3D world you can populate with your own images, documents and videos - extending your web experience in a dramatic new way. Your website becomes a place to share and discuss your business live with your customers - even enabling them to invite their colleagues to dynamically join the conversation in your world.
Croquet Metaverse Web Showcase includes high-quality Dolby® spatial voice audio enabling remarkably clear and life-like conversations.
This guide will teach you how to quickly create and populate a Web Showcase world and then embed it directly into your own website with almost no programming.
After reading this document, if you need help setting up your Web Showcase, connect with us at [email protected] and we will be happy to step you through the process.
Building Your Web Showcase
Estimated Time to Completion: 15 minutes
Create an Account
- Visit the Web Showcase landing page on Croquet.io.
- Submit your name and email address.
- Check your email account for a unique link to your Developer Portal, which contains your personalized Web Showcase HTML template code.
A Croquet developer account is required to create a Web Showcase. Croquet will never share your personal information or send you unsolicited email. Usage of your personal data is governed by the Croquet Privacy Policy.
Download Your Web Showcase
- On the Croquet Developer Portal's "Web Showcase" tab, click the "Download" button.
This Web Showcase HTML file already contains your public Croquet API key.
If you wanted to, you could host this webshowcase.html
file directly on your Web server and view it that way.
Customize Your Showcase
Within your Showcase, you can place your images, videos, and documents by modifying webshowcase.html
.
-
Open
webshowcase.html
in your favorite text editor. -
Modify the
cards: []
array with links to your own content.
Showcase supports three content types:
- Images, which can include links to other pages:
{place: 1, type: "image", path: "./CallToAction.png", urlLink: "https://yoursite.com"},
- PDF documents, whose scroll state is synchronized among all session participants:
{place: 2, type: "pdf", path: "./CompanyDeck.pdf"},
- Large PDF files may impact performance on some devices.
- Videos with the
.mov
or.mp4
extension. Video playback state and position are synchronized among all session participants:{place: 3, type: "video", path: "./CustomerVideo.mov",
- Large, high-resolution video files may impact performance on some devices.
- Large, high-resolution video files may impact performance on some devices.
Important!
1. Avoid large video and PDF documents. Web Showcase loads these into memory when it is started. Larger files can both take much longer to load and will use significantly more memory in your application. A simple rule of thumb is to keep videos at less than 30 seconds and use a resolution of 640 or 720 pixels wide. PDFs should be less than ten slides. Larger images can also take a long time to load. We suggest resolutions of 1024 wide.
2. The web uses security measures that rely upon the concept of
origin
, which just means where a file is loaded from. "Cross origin resource sharing" (CORS), is the situation where a web page loaded from the origin site requests resources from another site. This is typically carefully guarded and only allowed when the other site allows it. This applies to the Web Showcase. There should be no problems if the content you are adding to thepath:
property is co-located on the same site as the webshowcase.html file. Otherwise, CORS needs to be enabled for those files on the site they are accessed from.
Embed Your Showcase on Your Site
After you upload webshowcase.html
to your Web server, you and your customers can access your Showcase via a link to that document directly.
You can also embed your Showcase within existing pages on your site using an <iframe>
with the src
parameter set to webshowcase.html
. For example:
<iframe width="640" height="360" src="webshowcase.html"></iframe>
Done
Welcome to the Metaverse. You can invite customers to your Showcase using the invite menu item.
If you'd like to learn more about Croquet, or how to further customize your Showcase, continue reading.
Customizing Web Showcase
The Metaverse Web Showcase is a free low code, configurable Metaverse world you can customize with presentations, video testimonials, customer logos, calls to action and more.
If you wish to expand beyond your free Showcase world, further customize it or add and create new features you can do so with Croquet Microverse World Builder.
Microverse is an open source development environment available now on GitHub at github.com/croquet/microverse. It enables developers to freely customize and extend any Metaverse project. Accounts using World Builder are subject to Croquet OS licensing and usage fees, which include 10,000 free user minutes per month.
Welcome to the Metaverse.
A Deeper Dive
The template you download from croquet.io/keys should look like this:
<!DOCTYPE html>
<html>
<head><meta charset="utf-8"></head>
<body>
<script type="module">
import {load} from "https://croquet.io/webshowcase/v1.js";
load({
title: "My Web Showcase",
showcase: "gallery",
cards: [
// each item in cards array has a 'place' to specify the location in the art gallery
// 'type' is either "image", "pdf", or "video"
// 'path' specifies the location of the asset,
// either as full URL or as path relative to this html file
{place: 1, type: "image", path: "https://croquet.io/webshowcase/site/CompanyLogo.jpg"},
{place: 2, type: "pdf", path: "https://croquet.io/webshowcase/site/CompanyDeck.pdf"},
{place: 3, type: "video",
path: "https://croquet.io/webshowcase/site/CustomerVideo.mp4", muted: false},
{place: 4, type: "image", path: "https://croquet.io/webshowcase/site/CustomerLogos.png"},
{place: 5, type: "image",
path: "https://croquet.io/webshowcase/site/CallToAction.png",
urlLink: "https://croquet.io/webshowcase"},
{place: 6, type: "image", path: "https://croquet.io/webshowcase/site/sunset-tree-on-hill-1.jpg"},
{place: 7, type: "image", path: "https://croquet.io/webshowcase/site/sunset-tree-on-hill-2.jpg"},
{place: 8, type: "image", path: "https://croquet.io/webshowcase/site/zen-garden-1.jpg"},
{place: 9, type: "image", path: "https://croquet.io/webshowcase/site/zen-garden-2.jpg"},
],
voiceChat: true,
appId: "com.yourdomain.youremailname.webshowcase",
apiKey: "123456789abcdefg",
});
</script>
</body>
</html>
The actual work is done by the load
function with the single argument of an object defining the properties required to construct your world. The properties are listed below:
showcase:string
This field specifies which showcase world to be used. Currently only "gallery" is supported. The gallery model looks like an art gallery shown below.
cards:Array
The cards
property is an array of object references and modifiers to specify your own content.
The place
property specifies the predefined location in the showcase. The type
property defines the kind of content, either image
, pdf
or video
. The path
property specifies where in the web to find the asset. The location can be a relative path from webshowcase.html
or a full URL starting with "http" or "https". There are also additional modifiers that may be used.
Images
{place:number, type:"image", path:string, urlLink?:string}
When the "urlLink" property is provided, clicking on the image in the showcase opens a new browser window with the specified URL.
{place:number, type:"pdf", path:string}
This will create a shared, scrollable PDF viewer. Any user can scroll the document and it is synchronized for everyone in that session.
Video
{place:number, type:"video", path:string, videoWidth?:number, videoHeight?:number, muted?:boolean, loop?:boolean}
This creates a shared synchronized video. Any user can start and pause playback. Due to the browser's privacy restrictions, a user has to click somewhere in the Showcase window to start to play.
You may optionally provide the videoWidth
and videoHeight
properties to specify the CSS pixel resolution of the video. A video with non-standard dimension may be displayed incorrectly. It is best to provide videoWidth and videoHeight as a multiple of 16 and close to the original dimensions.
If you would like to have a video play audio, set muted: false
. If you wish to loop the video set loop: true
.
apiKey:string
This is your Croquet API key. The value is filled in automatically when you create this file.
appId:string
This is the appId of your showcase. The value is filled in with a string generated from the key's name and your email. Feel free to change it as long as it conforms the "dot-separated words with hyphens" rule.
title:string
This field is currently for information only. A future version of Metaverse it may be used to set the title element of the HTML header.
privacy:string
By default, Web Showcase sessions are invite-only (equivalent to privacy: "invite"
).
That means every visitor to your site will get their own session, and they can use the "invite" menu item to invite others.
If you specify privacy: "public"
then all visitors to your site will be put into the same session and see each other.
voiceChat:boolean
If true, the spatial voice chat is enabled and the voice chat widget is added. Clicking on the green phone icon will turn on the audio device.
Error Messages
There are sensible error messages displayed in the browser's console. Typical error messages are as follows.
"Error verifying Croquet API key: Invalid API Key"
"Error verifying Croquet API key: API Key not valid for domain"
Make sure that your key can be used for the domain where your webshowcase.html is located.
"place 1 is already occupied"
The place property has to be all different from each other in the cards array.
"Required property named "path" is missing from ..."
A required property, such as path
in this image, or type
or place
is missing from the Spec.
"Access to fetch at ... has been blocked by CORS policy"