Portable IMML – Host a virtual world like a PDF

As part of the v1.3 release the Portable IMML (PIMML) format was updated to include some new features (encryption, URI impersonation, additional assets, DRM).

An update was also made to the Creator to expose this new functionality and make packaging up a PIMML file a simpler experience.

Here’s a quick step-by-step guide to create a PIMML file using the Creator (v1.3 required!)

Begin by loading your IMML up into the Creator. For this example I’ll use hello-world-hills.imml. Navigate to the Publish menu and select File.

The first step is to decide how the PIMML file will be used. If you have designed it to be a multi-user environment, choose Offline Use. The difference between Online Use and Offline Use is quite simple; online means that the PIMML can use URI Impersonation to connect to a VastServer whereas offline cannot.

For this example I’ll pretend this file will be used online – in reality the IMML for hello-world.hills hasn’t been designed for online use, so don’t expect anything multi-userish to magically happen if you are following along at home 🙂

Next, we need to instruct the PIMML file where the VastServer that will manage the multi-user data is located. In this case I’m using the fictitious example.org as my address.

The benefit of this is that the PIMML file can be shared via email, served via Apache/IIS/VastServer/other, handed out on a USB stick, etc and still have the ability to be multi user. This is known as URI Impersonation.

By default, the Creator will only PIMML assets that are statically referenced in the original IMML.

In our example IMML the only element that really qualifies for packaging is the model called Mountain Terrain.

Often scripting will dynamically source content, so you may wish to add additional assets into the PIMML file. A good example of this is an animation resource as shown in the below example:

URI: The remote URI to map acquisition requests from
File path: The file to resolve the requests for that URI to

The final step is to check the document name is correct (it gets displayed at the bottom left of the Player UI) and choose an encryption level for the package.

I’ve choosen to encrypt in this example using a really thirst quenching password.

That’s all there is to it, hit Next and the Creator will do the rest:

The summary screen tells you where the PIMML was output to (defaults to Documents\VastPark\Creator\PortableIMML), the file can now be opened in the Player and interacted with as per usual:

Note: The title for this post was inspired by http://twitter.com/jokay/status/20869967909 🙂


4 Responses to “Portable IMML – Host a virtual world like a PDF”

  1. Dean Groom on August 11th, 2010 10:17 pm

    I am not sure you took the tweet in context. Hosting a virtual work, involves understanding and facilitating an experience, not the simplistic didactic of import and export of a file. Was that Vista you’re using … btw.

  2. craigomatic on August 12th, 2010 8:56 am

    Hi Dean,

    Perhaps 🙂

    I agree that there is certainly much more involved in the steps prior to hosting a virtual world, such as deciding what it will look like – that is a given, just like there is much more work involved in creating a PDF before it goes online.

    Once you’ve created the experience though (the look/the feel/how users will *use* it), all that’s really left is a decision on how to deploy it no?

    As an aside, this is a post I’ve been meaning to write for a little while; Jo’s tweet happened to be a good reminder.

    I’m using Windows 7 and it’s very handy snipping tool for the screenshots

  3. Joshua Hayes on January 13th, 2011 12:40 pm

    Looks good Craig. Is this still supported in Creator v1.5? I haven’t had a chance to have a play around with it yet.

    In regards to the snipping tool….you know you can just press alt+print screen button to only capture the active window/dialog? 🙂

  4. craigomatic on January 14th, 2011 9:18 am

    Yes, it’s supported in 1.5, it was actually back ported to 1.3

    Snipping tool was one of my favourite additions to windows 🙂