 Hello, everyone, and welcome to the 10 a.m. session in the content and community track. As a reminder to our in-world and web audience, you can view the full conference schedule at conference.opensimulator.org and tweet your questions or comments at opensimcc with the hashtag OSCC14, exclamation mark, because it's very exciting. This hour, we are happy to introduce a terrific session called Resmila, virtual training scenario authoring to maximize return on investments in virtual learning environments. Our speaker today is Ramesh Sharma Ramlo. Ramesh has been developing immersive virtual learning environments for diverse user groups during the past seven years on platforms that include Second Life and OpenSim. He is currently the CEO, CTO of Deep SEMA4 LLC, which is an e-learning and simulation solutions company. Welcome all, and let's begin the session. Yes, very much, Alexis. So today I'm going to talk about Resmila, which is a product that I've been working on for the past one and a half years, and I'll describe my approach of trying to increase return on investment in virtual learning environments. The reason why I was interested in this is because whenever when clients would come and meet me, they would always be ready to invest in creating a virtual learning environment, but they also wanted some guarantees on whether they would be able to modify it to meet their future needs and how it could be done easily, for example. So in order to address these situations, these particular concerns from our clients, I was thinking how I would design in OpenSim so that I would always try to make something that's easily customizable by the users of the virtual environment. And that got me thinking more generally about customization, so how we actually dissect a whole into reusable parts and how we can actually connect these parts in new ways, in new configurations to meet other needs. And it turns out that it's not so straightforward, there is no science to it, and it's kind of an art at this stage. So how does customization impact return on investment? Basically when you buy something, you want to be able to use it not only for the things that you already thought you would be using it for, but also for emerging needs. So you want to be able to reuse, you want to be able to adapt it to new goals, and so that's what I actually started addressing when I started working on Resmela. Is this a new goal? No, it's not. There's been other people who have been trying to address this solution. There are some similarities between our approach and others, but I think there's a big chunk of our approach that is quite new. So let me move on to the next slide and slowly bring you into the main gist of the talk. So if you look at how customization is done in other domains, how people actually build things, I was looking at, for example, the construction set approach that we are all familiar with because as children we were all exposed to construction sets, such as Lego, Mechano, Kenex. Mechano is probably more of a European thing, maybe it's rebranded in the U.S., I don't know what it's called here, but basically you've got parts that you've got to assemble and build things. And what got me thinking was how those basic parts were created. It seems that there was a lot of thought that went into designing those basic elements. And it's not as simple as you would actually imagine at first glance. It seems that there has been a lot of iteration before they settled on the basic elements. So if you move on to the realm of the virtual, you find that again you have the same construction set approach where you want to help people assemble parts, little things together in order to get useful stuff. Minecraft is kind of a Lego-type environment where the unit is the block, and you either subtract block, that's the mining thing, or you can assemble together and build stuff. Second life, we have the notion of primes. It's slightly more complicated because you also have the possibility to script it. Minecraft also provides facilities for adding behaviors through programming. But second life is the medium I actually got introduced to this kind of things. So I'm more of a second life user. And that's where I actually got exposed the first time to this kind of environment. I also came across the Kerbal Space program, which is another software that I find to be quite interesting. You get to put together different components of a rocket, and then you fire it up, et cetera, and then you see how it behaves. I think what you see here is that there seems to be a way for creating end products very fast, but when you do this, you lose diversity of end products. It's kind of when you design the sub parts, if you can actually make it at the atomic level, you can actually build a vast variety of end products. But if you decide to draw the boundaries somewhere else, you might be able to end up with a smaller set of end products, but then it has advantages such as you can actually build things quicker. For example, if you were to build maybe the Kerbal Space type of rockets, it would probably take more time if you were to repeat the same exercise in second life than just go into the Kerbal Space program and build it from there. So the next slide, I'm going to talk a bit about how I got inspired to work on Resmila. It's not a digression. It's just to tell the story of how it happened. The idea started when I came across the pantograph since I was a kid, but it came to my mind when I was designing Resmila, I mean at the beginning, fairly recently, when I saw that it's possible with a really simple setup of links and joints, you could actually use this simple setup to magnify what you want to do. By this I mean, for example, if you want to draw a big circle, and the only thing you can do is to draw a little circle, you can use that contraption to draw the little circle but at the same time to magnify it somewhere else. So it's like you've got this piece of technology that extends your reach in doing things. If you want to make something bigger, you can actually put your pen at the point P in this diagram and make the circle, and then if you have another pen at the point Q, you'll have a bigger circle. And if you want to do the reverse, if you want to do something very precise and tiny and you're not very, maybe you are more articulate doing larger things, you can draw the big circle and you'll end up with a more precise smaller circle. Just keep this in mind and then you'll see how this simple idea extends into the basic idea that powers Resmila. The same basic mechanism of the pentagraph is used in probably more things than you can imagine. It's been used, for example, in elaborate hoaxes, for example the mechanical turk is one of the most famous hoaxes that uses the pentagraph. And here what you have is you have somebody that's hidden inside a box and that has access to one tip of the pentagraph and it actually drives the hand of this turk automaton who is playing chess with a real human being. There are lots of ideas here that this simple situation has encapsulated. In one sense, the person has the impression that they are dealing with an intelligent automaton when actually there is somebody interacting with an intelligent machine when in fact there is someone inside the box through a pentagraph moving the hands of the mechanical turk. I'm just trying to segue slowly into the Resmila idea. So here we have the Resmila board. So what that is, just imagine you are on a virtual region in open sim and then you have an in-world map. And that map is just like a small prem, a smallish prem. It's just two meters by two meters. And anything you put on that prem will appear at the right proportions and at the right positions in the larger region. The larger region in this case is 256 meters by 256 meters. So if you were to put little objects on that in-world map, you would actually see all these larger scale objects appearing in the larger environment. And you have a fairly big magnification even in this simple example. The other thing that you can use this mini-map for is, well, it's a map. It has map functionalities. And the reason why I started working through this is that in parallel, I was working on developing a tabletop exercise for emergency preparedness folks. And what happens is when these people wanted to do their tabletop exercise, they would have like models of a town, of a road network, and they would be role-playing around the table with little cars, little assets that they would deploy, and then they would speak about the, they would collaboratively discuss about the situation and interact with each other. So there you have the idea of a diorama kind of thing, you know, on a table. And here we have the idea of a map that allows you to magnify whatever you put on this table. So I said, OK, let's fuse the two. If you fuse those two ideas, you have a map that can function as a diorama for people who want to collaborate around the desk. But at the same time, you have a virtual environment that arises in, you know, the larger space that you can visit, you know, as of, you know, and use. So let's move on to the next slide just to give, you know, more weight to what's going on here. So the thing that I wanted to mention is that with the Resbilum board, it's not just like putting objects on a 2D surface and then the object appearing on somewhere on in the wider region of there appearing on that 2D plane. It works in 3D. So if I have a mountain and then I'm putting a tree on top of the mountain, you know, of course the tree is going to appear on top of the mountain in the larger region in the wide open-seam region. So in actual fact, it's a 3D pantograph, really. Anything that you do in this 3D space happens in the outer larger scale. So that's just, you know, to stress the 3D functionality. The next slide is about what happens when you really magnify the size of the region. You keep the size of the map the same, of course, but you're actually scaling up. And you'll see in the forthcoming slides how I actually demonstrate how that as the size increases, as the size of the environment increases, the power of that approach actually increases as well. And you'll see why. Okay, so in this case, we just have a 2x2 board that people can stand around and put objects on and collaborate on. And at the same time, as they do this, they can see a whole environment emerging on a very large scale. Okay, so this slide was about the scalability of the approach. The next slide shows, you know, I remember when I first started doing this work, somebody asked me, why don't you just drop content from your viewer, I mean, from your inventory? Okay, so I said, okay, let's do an experiment. Okay, so we used the NASA task load index, which allows one to measure the subjective workload that somebody would experience when they are actually building something, you know, in an open scene region. And what we found was that, again, my intuition was that, you know, as the area is going to increase, the area of the region is going to increase, the method we propose would actually, the advantages that our approach brings forth is going to become more and more prominent. And that turns out to be exactly what we found. Basically, there's one factor here that we found to be very relevant. And I define it as the travel distance for content deployment. That's the distance that you have to travel when you're taking, you know, content from your inventory and you want to place it somewhere, you know, in that region, okay? And then with Resmila, it's, you know, selecting the object from the visual, visually, well, from the visual browser, select that item and click on the board, okay? So that's basically the two different types. In the larger region, the travel distance encompasses, you know, coming around, walking, flying. I'm not here taking into consideration, you know, this is like really an underestimate of, you know, the difficulties that people will experience because, for example, if you are looking at the inventory, there are other factors and you have like hundreds of objects in the inventory, it's not easy to know visually which object is, if, you know, a particular object is really what you need. Whereas now a case, we have a browseable library of objects that you can shuffle through and you can have, you know, a visual icon that describes the object, okay? So that's one factor that might have explained why it's easier to build using our approach. But I think the main factor is the travel distance for content deployment. The other thing is there are other tasks that's involved. You've got to align objects, you've got to rotate them appropriately, et cetera. But there's already a lot of intelligence with our approach that's built into the system so that when you put, you know, buildings on a road network or you put objects close together, there's enough intelligence in the systems where they will actually align things properly so that things don't appear to be out of place. Okay? So in summary, if you look at the graph, you can see that here. So in summary, if you look at the graph here, if you look at the content deployment area, which is basically the size of the world, you find that as the size of the world increases, the temporal demand on people actually creating content will resume. It's almost a plateau because they're only dealing with a small fixed area. Whereas, you know, if you're building for a very large environment, you know, it's going to increase linearly because you have to travel more and you've got to use your camera and you also lose, you know, the overview because while working in the details, you might actually lose, you know, an overview of what you're doing. And let's move on to the next slide. So this is an example of, you know, I'm just using a board to deploy like some content on a mega region, which is, I think if this one was 512 by 512. And now with VAR region is going to be more fun as well. You know, and I will keep on trying with much larger and larger regions. But here what I've done is I've just placed a road network and I've started planting trees around and throwing some mountains and some vehicles and buildings just to show, you know, just to demonstrate just by interacting with this board here, you can just see the whole environment just unfolding in real time. So this took me about seven, eight minutes just to deploy and then you save the whole environment as a file that you can, you know, load any other time you want. Okay. Next slide. Yes, that's half of the story, though. The thing, you know, as we progressed, that's, I think that's going to really, you know, put us in a different category as far as virtual environments creation is constant. The previous approach where you have a board where you put things and 3D content emerges, there are some people who have done it, you know, through a website. You go to a website, you have a drawing board, you start dropping things on that board on the website and then your environment arises or emerges in the virtual. The disadvantage with that approach, which is like, you know, you go on a browser and on an image on a 2D surface and do this is one is that you don't have access to 3D, you know, elevation stuff that I've just been describing that, for example, if you have like, you're building a skyscraper and you want to pick and choose which floor and what type of objects would go into it, then it kind of, it becomes difficult. Without, without, without approach, you can actually choose and layer objects one on top of the other. You can have a tree on top of the mountain or you can have, you know, basically what I'm saying is like it's 3D. The other advantage is that our interface is in-world and therefore directly accessible to an HND display, to a head-mounted display. And you don't need to do anything extra, you know, to allow in-world 3D content deployment. Okay. So here for the thing that I wanted to talk about is our interface not only allows the user to create content or to control content. For example, if I have an icon on my board that represents a group of people, I can select that icon and move it somewhere else and move the crowd of people to the other location that I want to. So it's kind of a control interface. So that's simple and well explained in my previous examples. The other thing is you have a feedback loop. So whatever happens in the world object, about those objects produces a change in the icons. Like there's like now Resmila has evolved into an information visualization application. So you have the same interface, you can control what's happening in the world and have the same interface, you can see what's happening inside the environment. So if you send your students out or your trainees or people working in that environment and changing objects over there, we expect your feedback to be fed into the icons so that somebody can have like an intelligent view of events or an in-context view of events happening in the real world. So Resmila does not only provide a rapid content deployment approach, it is also a virtual world control and real-time information visualization application. Alright, so next slide I'm going to give you just an example. So let's say that on your board here, which is the in-world map, you've got of course a modern entry and a group of NPC characters and there's like a forest and then there is a storm and you have two views here. What I'm saying by this is that you have two concurrent maps. So the way this is working is that suddenly you have one in-world map but you have two of them and you can have multiple of them and all of them are synced but you are dividing the control among many different people. So let's say you have somebody who is dedicated to controlling climate. So that person in the view on the left would be moving the clouds and the lightning and in the other view, somebody is actually moving the population so they would be actually moving the non-player characters and try to move them far away from the storm. So here you have concurrent views, more than one view talking to objects in the real world and then they are synced. So one is changing, one is controlling one aspect of the world and the other one is controlling the other aspect. So this is the control example using multiple concurrent views. Now we come to the reverse situation where you are actually visualizing what's happening. So what's happening in the reverse direction is that you can see the clouds and the lightning has reached the population of NPC characters and in the second view, you can also see that there are two NPC characters who've been victims of the storm. They've been struck by lightning and those icons are changing in order to represent that. So that's just an example of having two concurrent views interacting with objects in the 3D world and then getting feedback through those very same views. Next example. This is the very first embodiment of the Resmila board when I started implementing it. So if you look at figure A, that's like a top view of... It's like a rectangle, but it's actually like a square, right? I just had to fit in the text in that small space. So you have two different regions. You have two different areas of one region. You have a theory space, which is basically where the board is and where aftars are able to look at. They sit around the board and talk about things happening on the board. And then you have the practice space. That's where the actual environment emerges. So in figure B, you can see how the board looks like and it's got a browser of the various components that is contained in the Resmila library. So you can actually browse through various categories. I'll give more examples of that in... I'm just checking my time here. All right. So let's move on to the next slide because I think there's not much here. You can see that there's a theory space, a practice space. In the theory space, you have the board. In the practice space, that's where the world emerges. And the students can actually shift from theory to practice and back to theory and discuss various things with the instructor. All right. Next. That's an example list of objects that we have been using to assemble various scenarios that was needed in a specific context. We are planning to increase this library of objects in order, of course, to increase the diversity of our virtual learning environments that can be produced. Like I was saying in the beginning, just to tie up what I'm saying with what I introduced in the very first slides, when you're trying to design these little... these library objects, there's a lot of decisions that come in. Whether you want to have an object that's going to represent a single tree or whether it's going to represent a forest or a park, how often are those objects going to be used? If, for example, you have the particular objects that are not used very often, then you want to turn that straight away into a library object so that the person can pick that object in a single click and just put it wherever they want in the world through the board. The same thing with buildings. You can have objects which are at the level of floors or you can have a full building. You can have vehicles, different types of vehicles, air fighter, helicopter, etc., different types of equipment, different kinds of people, and, of course, you have the weather. There are other categories that we've been... that we've implemented. That's not an exhaustive list, but just to show that, you know, how we build the library. Okay. And there is one aspect that I think is new is that one important element of our design is what we call the malleable link set. What that is, it's a group of objects that's linked together that can be directly manipulated by a user, either through touch or clicks in order to change its shape, function, or behavior. And an m-link set is a dynamic link set. It can grow, it can shrink. You know, you can actually just show off subparts or keep adding subparts into the same link set so that it still maintains its integrity as a single object that can be, you know, moved about and modified through the board. An example will make this clear. For example, in the picture A, you can see me standing in front of a number of road block items, and then there's a road. So these block items and the road are actually part of the same link set. Okay. And my task here was actually to deploy a set of road blocks on the road. And I did that by clicking on these objects on the side of the road which are actually acting as menu buttons of a link set. And it generates, it allows me to generate the various, the number of cones I need. And every time a cone is generated, it's linked automatically to the existing link set. So the whole thing remains as one object. So if I want to delete that whole object in one click, one go, boom, everything goes. And if I want to add things to it, you know, I can keep on doing that. So it's kind of, you know, that's how we have little functionalities injected into the library of objects themselves. In figure C, I just wanted to demonstrate, you know, you can have deeper functionalities attached to the library objects themselves. So in this case, I just have, you know, clicking the two consecutive cones, for example, will allow you to deploy a tape with a specific, you know, visual marking that has specific meanings, at least for emergency preparedness folks. So as you can see, you can have really advanced behavior with the Resmilla, with objects from the Resmilla library. And here, let me see here, just more examples of linked objects. For example, in figure A, the whole table with the card games and everything that's on it, the dice, et cetera. That's one Resmilla object. So you have, if I were to design a game room, I would be able to select one item as a game element and just drop it into the environment and have, you know, the whole game environment deployed with everything working because each and every one is independent, but they are all linked, although they don't appear to be. You know, even the cards that are produced in real time and that are removed extra, it's really like a link set that's growing and shrinking. And I want to thank Chris here for making some changes in the Opus and Sim code where I didn't have to ask permission, you know, for adding an object and linking it automatically. So you have forced link commands, for example, that you can use. Example B shows a simulation of Minecraft, at least just at the, you know, construction level. You know, same idea. That's a linked object creating those little cubes and adding them up. You can have a classroom, which is, you know, a Resmilla object. You can have a, like, figure D shows like a fully furnished hospital room environment. And you have a house and it's, and F is basically you can use the same approach to build applications as Resmilla objects. In this case, that particular application allows you to build molecules and, you know, in your class. Just examples, okay. Next, we have vehicles. And again, you have the same principle. I mean, as an object that can be driven, you can carry non-player characters, you know, like this bus is full of non-player characters that you're driving around. We are using ODE on Kitely. We had about five, six of these vehicles running at the same time without any delays, which is quite impressive when I am open-seam environment and see that's just a snapshot of a war scenario. I just deployed some assets on the board. And, you know, and you can have, you know, this environment. All right. So I was thinking when you, if you were to put all these things together, okay, this reminds me of the Wizard of Oz movie. It seems that, okay, the instructor could be like the Wizard of Oz behind the board, the Resmilla board and control everything that's happening in that work. Okay. You can have one board. You can have multiple board, multiple teachers, all kinds of collaborations happening, dividing and conquering the teaching tasks and creating a very interesting environment for the students. You can evolve the teaching paradigm so that you now have the teacher play with the students. You know, there would not be opponents, but they can actually create challenges for each other. So you have a situation where the teacher now plays with the students and the students are in the virtual world, you know, on the other side of the curtain as it were and doing this stuff, while the teachers, you know, create challenges for them. Okay. Next slide. Well, the Wizard of Oz experiment is actually a well-known, you know, terminology in computer science. And that's, you know, it's an experiment where subjects interact with a computer system that subjects believe to be autonomous, but which is actually being operated or partially operated by an unseen human being. And this slide ties up with what I introduced earlier with the Mechanical Turk. There was a person inside the box controlling the automaton, you remember. That's a very old idea. Of course, we have, you know, the Turing tests and things like that have came afterwards, but you can see those are really old ideas. And this is the expected evolution of the Resmila board operating intervention. What I mean by this is that as we evolve, we are going to add more and more autonomous behaviors in the Resmila objects. Right now, for example, the teacher will have to do a lot of tasks. If, for example, there is a fire that started in a forest, the teacher might be involved in adding, you know, the source of the fires and control how the fire is actually spreading in the forest. But you could imagine adding intelligence into the forest and the fire so that, you know, it becomes an autonomous process. So you can see that a lot of things that are mediated through the teacher, through the instructor, through the person behind the board can be pushed outside his or her control and automated, you know, in the environment so that they have less things to do but more time to create more advanced scenarios. Okay, so that's the graph. Okay, the percentage of situations that require board operator interventions, that's the yellow line, that's going to decrease over time and the percentage of world objects with pre-programmed autonomous responses that's going to increase over time. All right, so that's, you know, in terms of how things will evolve in terms of, you know, the separation of powers between the operator and what's actually happening in the environment. Right, the summary and conclusion, how does Resmila directly increase return on investment in virtual learning environments? First, we want to maximize reuse of sub-parts as much as possible. We want to make it easy for people to assemble them. The process is real-time and it's user-driven. We are really trying to evolve into a zero-scripting customizable environment. Okay, it's kind of contrary, but I think it's possible. Resmila enables, you know, the high assembly of virtual learning environments through point and click. Basically, I'm a big fan of direct manipulation. I want to hold things, click things, drag, stretch things. I'm not too much a fan of, you know, sitting and typing in code. All right, so the nature of the core Resmila interface is such that it makes it immediately available in a fully immersive 3D setting through 3D headsets. I said that before. Okay, and lastly, Resmila reduces the gap between theory instruction and the practicing of learned concepts. So we really have, you know, squeezed the gap between theory and practice because you can navigate from the theory to the practice space very rapidly. The reason I call this the theory space where you have the board, because if you look at my design originally, I mean, if you have a chance to visit Earth and I can show you the demo, we also have the other tools like the slide shows, et cetera, that happens on the board itself. Okay, so I think I've just finished exactly on time. So let me hear your questions. Okay, well, thank you, Ramesh, for a terrific presentation. As a reminder to our audience, you can see what's coming up on the conference schedule at conference.opensimulator.org. Following this session at 11 a.m., we have a break in the schedule for lunch or dinner, whoever you may be in the physical world. We also encourage you to visit the Story Wheel exhibit in the Education 2 region to view a tool created in the 16th century called the Books Wheel, which can be thought of as a precursor of the modern website. In addition, if you are a crowd funder at the exclusive access level or above, you are invited to a VIP Q&A session with today's keynote speakers in the Staff Zone Auditorium at 11 a.m. Finally, we'll return after the lunch break in the keynote regions for an exciting keynote address from Philip Rosdale of High Fidelity. Who will attempt to answer the question, What Is?