 to 11 a.m. session of the 2020 Open Simulator Community Conference. In this session we are happy to introduce a presentation called Facilitating Content Production and Consumption in 3D Virtual Worlds Lessons Learned. Our panel host is Ramey Sharma Ramlal and he's joined by fellow panelists John Mela, Sue Kaxton, Andrew Heller-Shanks, Ann Noak, and Ludwik Lotowa. Ramesh is currently the CEO of CTO of Deep Semaphore LSE, an e-learning and simulation solutions company. John Mela, John Mela, software lead, programming lead, module design, module design, quality control, hand documentation, Andrew Heller-Shanks, Andrew Heller-Shanks, Guru Bekin, and Noak Education Specialist and Ludwik Lotowa, app designer and lead 3D modeling artist. Please check out the website found at conference.opensimulator.org for speaker bios, details of sessions, and the full schedule of events. The session is being live-streamed and recorded so if you have questions or comments during the session you may send tweets to at opensim.cc with the hashtag OSCC20. So welcome again and let's start the session. Over to you Ramesh. Hello everyone. Thanks, Olive Tree. The name pronunciations were perfect. I love it. Thank you. All right. So for today's talk, yeah, so we're going to talk about facilitating content production and consumption in 3D virtual worlds. I will share a few of the lessons that we learned and then hopefully we'll have interesting questions that we will try to address. Okay, so Olive Tree did a good introduction of everyone on the team and I just need to highlight the main roles. John is our main developer and Sue is always there to keep an eye on us so that we don't do too many crazy things and keep us in check. And Andrew is the god of the backend stuff. So actually we have our own grade but we are currently deploying a lot of our stuff on Kitely. We need because you know for operation and marketing reasons. Then we have Annabel who is a subject matter expert and we learn a lot from you know from what the subject matter experts need and she keep us aligned to these goals that teachers face on the ground again so that we don't you know just fly off and build things on our own. And then Lido is our star 3D modeller and texture artist and you know when we want something to be made in any objects we just ask for his help and he will just go and do the design. So I will ask John to do the next leg. We thought that he would show a brief video clip just to set the scene because we need like a background that you know just to anchor the presentation. And John you can launch the what we will I think the best way for us to do it is to type the the I will type I will do this. So let me find the URL of the video and I'm going to paste it in chat so that you get to watch the clip. Okay. And once you are done watching it is a very small clip. We can actually you know proceed and continue with the presentation. And John will take over after the video clip. Hello John Mella here. Today I'm going to look at the square rooms app from Rasmella. Behind me you can see a building made using square rooms. It's assembled from modules each module being a room or other building section. Here are some examples of modules. Now let's look at creating a building. This is what the app looks like when you drop it onto the ground. A blue box and a small square of concrete. Click the blue box and the Rasmella HUD will load. This gives you five buttons File, Create, Clear, Settings and Finish. We're going to click Create. You can see now that it's given us a list of categories of objects it has in its library. We're interested in the layout tools category so we click that. Now we see a list of layout objects that we can use to get started. Let's click on the 32 meter grid. The HUD changes to show the 32 meter grid's details. Now we can place the grid by clicking on the concrete square and straight away a grid appears where we clicked. This will form the base for our building. Now let's create our first room. To do this we want to back out of the 32 meter grid. We can do by clicking the back arrow here. This takes us back to the layout tools category. If we click the back arrow again we can see the top level categories of objects. We're going to add a square room to our scene so we click the square rooms category. This gives us four subcategories lower, upper, connectors and garden. The lower category has rooms that are suitable for the ground floor of buildings so that's what we want here. Now we can see seven different types of room. Some have balconies, some have stairs and there are different numbers of exits or doorways. We're going to use the stairs to exits room so let's click that. We now get a larger picture of this room. We're ready to create one. To do that we click anywhere on the grid and the room appears centered on the clicked point. This is a good time to point out that you can only place objects on either the concrete base as we did when we placed the grid or another objects in the app as we've done with the room on the grid. In this picture we can place objects on the grid or on the room but not on the snow, trees, etc. Those are from another Resmalla app which at the time of making this video is not yet available for sale. Another thing that's useful to know is what happens when you sign out of the app. You can do that either by clicking the blue button or by selecting finish from the main menu. Also if you log out or teleport to another region you'll be signed out of the app automatically. I'll click finish here. What happens? The HUD goes away apart from a small button we'll look at in another video. Also the grid disappears since we're no longer making changes to the app and have no use for it. If I sign in again by clicking the blue box on the app base the grid reappears and so does the HUD. We're ready to make some more changes. Now let's add an upper story room on top of the existing room. We go back into the create menu, select square rooms, then upper for rooms that are suitable for upper stories. Let's add stairs stairwell to exits. As you can see from the picture there's a rectangular hole in the floor of this room which can connect with the stairway of the ground floor room. Now we could just click anywhere on top of the room we have already and that will place the second room on top. But remember rooms are placed centered on the point you click. To help us line this room up precisely there is a small target in the middle of the room for the first room. Let's zoom closer. If we click on the center of the target the new room will appear there and here it is precisely positioned. However as you can probably see it needs to be rotated 90 degrees so that the stairs line up between the two rooms. To do this first we need to select the room that we want to rotate. To select an object on a Resmaller app you need to long click it that is press and hold the left mouse button for a second or two. The room will glow slightly when it's selected and the menu on the HUD will change to the selected object menu. On that menu are various things you can do with the room. In this case we want to rotate it so we select the rotate option. Now we're given the choice of the rotation we want to apply. To rotate it 90 degrees clockwise we can select plus 90 degrees. The stairs now line up precisely. To deselect the room and return to the previous menus we can use the back arrow on the HUD or simply click the room. Next let's add a room to the left of the room downstairs where there's a side door. Again we want this room to line up accurately and up with that there's a small target so we select another room from the lower category. No stairs to exits and place it on the target and we rotate it minus 90 degrees so the doorways line up. Now let's go to the garden category and select gazebo one exit. Clicking the target to place it. Finally let's add four sided railings from the same category to finish off our building. All we need now is some furniture. For this we don't need to worry about targets or precision. Just select the object from the HUD and click to place. Rotate if necessary. You can remove unwanted objects by selecting them and selecting remove. And you can move them around using the various options in the nudge menu. I hope this has been a useful introduction to square rooms. Please see the description below for more information. And now goodbye from me and the team at Resmela and happy building. Yes so after the slide presentation you know I think John can continue to talk about the other slides. Yeah I'd just like to touch on the inner workings of the system and we've seen the square rooms out and in the coming months we'll be seeing more and more diverse apps coming out that use features that we've not seen here. It's a pretty complex system and naturally when you get something of this complexity, especially when like this is written in LSL with the benefits and drawbacks that has, it's necessary to divide it into sections and I just want to briefly touch on that to give people an idea of what they're actually getting and how it works. So this diagram shows on the right there is the part that we saw on the screen. They actually use a HUD that pops up on their viewer and that communicates with a controller script inside the application itself. And the HUD is actually a very basic thing. All it does is take textures, as you can see there the buttons file create and so on, draw on the texture. It takes that, puts it on a print and then does a lot of caching to make sure that you don't see textures loading. So the HUD controller actually decides what's going to go on the HUD and that is independent of the Resmar application itself. So we could hook the HUD up to other applications if that was necessary at some point in the future. And then the application itself on the left is what is the basic engine of the whole thing, the sort of the meat of the system and that communicates with the control to say what the user says but it does all the resin and everything in itself. And so if we get the next slide, let's see what makes up the application. And yes, Phil, we really have found ourselves up against some limits of opens in here, especially regarding performance and high volumes of data. It's been an interesting journey. And Selb is right, you can add objects. I mean, here we see the parts of the system. These are all linked together. These are all part of the same objects and at the top we see something that we didn't see in the video, which is the modules. And these are objects that contain the different objects that are resting in worlds. So for example, there's one there for the square rooms, holding the rooms themselves. There's another for the furniture and one for the text tools I said there and various other things. And these are actually independence. These could be linked and unlinked and swapped between different apps. And in fact, the two apps that we have on sale at the moment, which is square rooms and the Melo Blocks app, share one. They both have the layout tools. And the idea is that going forward, anybody can create these modules. If you're, for example, a furniture manufacturer and you want your furniture to be available to Resmela users, you can put it into a module, a bit of configuration and then release it as a product and you can link it in. And you can share it. You can have whatever distribution rights you like on it. And it's completely independent in the sense of being a repository of objects. And the bottom left there is the list of the scripts involved, which is these all work together to make everything happen. One of the problems we have is there is an awful lot of code involved here. And then the main engine at the top there itself is 4,600 lines of code and we have separated out as much as we can into different scripts. And I won't go into detail for each of those. And all of this is used. I mean, we see there, for example, the environment handler, which deals with things like day night cycles and water levels and things like that, which we haven't used in any app that we've released yet. And that gives you an idea of what's inside the thing that you've just seen. And I'll hand you back to Ramesh now. Thank you for listening. Thanks, John. That was just fantastic. A very good summary of everything that goes into the system. Yeah, what we showed you is just really the tip of the iceberg, really, because we have built into the system a lot of functionalities that take you not only of facilitating production, but also consumption side, where, you know, many of these objects can be viewed, navigated easily or can be viewed from specific angles through the herd itself. So you could teleport into any building anytime you want without having to spend, you know, a lot of time finding it, etc. But we have to keep things simple. So I will move to the next slide and come to a very simple example that shows some metrics that would help pin down things very concretely. Okay, so in this example, just imagine that you have a subject matter expert, a teacher, who wants to set up a museum display, you know, about the recent human endeavor to reach Mars. You know, all of us know there's a lot of activity going in that space, and especially kids are very much interested in that topic. So as a teacher, you say, hey, let me look at my schedule. Okay, I've got only 10 hours I can spend on this. Okay, this is like a big constraint, whatever you do. So you have the choice of spending, you know, a lot of time on creating the museum and all the stuff that needs to go in it. And out of the 10 hours, let's say you can spend nine hours doing that. And the rest of the time, that's all the time left that you have to find all these different pictures and text and information that you want to add to your, you know, to your virtual museum. So one thing to keep in mind, the time available to teachers is very, very constrained. Okay, so our job was to try to make sure that we spend more time on create on subject matter content, rather than spending time on creating the virtual learning spaces. So in this example, that we will get a few snapshots, you know, I created, for example, 40 images. That's the number of displays that I had, I had around 50 text blobs and titles. I have to say that the quality of these, of these images and text is far better than what we are seeing normally in OpenSim, because we did a lot of work to make sure that the resolution is really good. The second thing is the number of buildings that I would need. I said, okay, well, all my class, I need only two floors, you know, and then I had a separate app that took care of the landscape around. And, you know, and I just used the same app, we call these apps, just to put the seating arrangements. Okay, so if we look at the table, just to summarize what I just said, okay. So you have the first two columns, you have the time to create the environment, that is the environment that you want to, that's going to contain the subject matter content, and the seven columns are the time to gather, organize, and import information, and how many hours normally that take. So without our tools, you would take any estimated nine hours to create the environment, and an estimated one hour to left to call up all your pictures, tags, etc. that are housed in a way that you want. But with the tools, you know, within one hour, even that is an overestimate. Okay, I'm just trying to be as generous like, you create the environment, and then you're left with nine hours to find your pictures on the web, and enter the text. Remember, in our case, you don't need to do all the texturing, plotting, and posting, we have a workflow that I'm going to blog about and write about, so that you find that it's very, it's very quick. You just see a picture, capture it, put the URL in, and then you have your display and your images and everything. Okay. And then we thought that we can further, we can further make things still faster, and that's the last rule. And how do we make that happen? If as a teacher, you create like a little museum in a way, and you organize the furniture, the displays, the stream, in a certain way, you can save this as a template. Okay. And this template is just a note card, another teacher with the same app, they will just take the template and use it. So now, even the one hour that you need to create the environment is gone, you don't, now you just need to find your pictures and add it to your space. So this is like just a few snapshots of that environment and showing you inside. So all the trees outside on the mountain that was created by a landscape app, and all these different apps I'm mentioning, have this follow the same, you know, principle that John just explained. It's just one application, but each app has a different set of modules and, you know, with both static and interactive content. So I'll just go through the sides, through those different slides here. In this picture, where you can see the white grids all over the place, all these have snap to grid functionality. So if you want to align your pictures properly, precisely on a screen, it's very easy. You can just, you know, click your objects and not be very careful about where you click. And it's going to position everything automatically very precisely. So that's the one thing. And the same thing holds for furniture and things like that. All these furniture is restricted, of course, you don't need to fiddle with any scripting. The board at the background is just like a web browser, but it's fully functional. It's got, you can collect all the bookmarks that you collect actually can appear as objects, like the little books in the rock and the left, that you can place and organize, just to give like an overview of these different facilities. So one thing I've noticed that when you take the approach of looking at the world and breaking it down into smaller parts, and then hoping that you can use these smaller parts to reassemble them in order to create more creative things, you might actually see on the right picture here on the slide that there is a little coffee table. But if someone with a keen eye will find out that all these little, this coffee table is actually made up of other furniture tables that I just shrunk and put it here, you know, it took me like maybe 30 seconds to make that furniture table. It's just that how creative you can be in reusing those parts is up to you. And it's just think about what are we offering. It's like we are creating, you know, if you had WordPress, for example, for creating websites and you have people creating, you know, lots of example templates for websites that they can reuse, but it's similar. I mean, it's similar. We have first, facilitated content production. Secondly, made it easier to navigate and see these objects. We didn't have time today to talk about snap to view, snap to, or jump to place, et cetera, that we presented last year. But you can see how we addressed, you know, both ends of the spectrum production and consumption. And this is just to give you an example of the wide range of buildings that you can create. So someone, anyone using our application, they can create their own scenes and they are free to put it on the market and sell it, you know, and any other person will just buy these notecards and reuse it. Okay. So for the video clips that the one that John showed, if you look at the channel, there are many other cases, many other descriptions, many use cases that we describe. I personally use, for example, the Mela blocks applications to make my main presentations. In fact, for my talk tomorrow, that video is already up there and I'm going to talk about the more philosophical underpinnings of what we are doing here right now. So I think I will, what I'll do here, I'll leave, I'll take a pause here and we'll feedback and questions, any questions that you have, we'll try to answer them. So while you gather your questions, I can describe a little bit about the various kind of modules that we have. We have one modules, for example, for NPCs. We have a module for another, you know, types of buildings that that is even faster than what you just saw with what John just presented. We have a lot of, you know, more advanced nap to grid that you can, you know, it's very easy. So if anyone wants to create like a big, a really large museum, they wouldn't even need to look and have high camera skills to find out how to adjust things. And it's practically snap to objects. So basically just imagine, you know, you have these huge Lego blocks that you can assemble very quickly together without having to bother with a lot of the US tools. I'm going to read the questions in the chat as they appear. So was there anything that you want me to explain in terms of productivity gains when you know the for subject matter experts? I imagine there might be a lot of teachers in this space. So I think I see John is addressing a lot of the questions already. So there are a lot of, you know, we have our trajectory really very, very clear to us. And there's a lot of work to be done, especially for creating and adding more modules. And these, these tasks don't necessarily involve a lot of, they practically, practically don't involve any coding at that level. We just need, you know, people who want to maybe sell their objects to us so that we can use them to create new modules. We are very much interested in, in high quality non player characters because we have modules that could, you know, that could use them as well. So that somebody could have an app that would allow them to pop out non player characters. And these can be moved and placed on on the base, you know, furniture, you can use that for machine email, you can use that for storytelling. So it's pretty much, you know, a wide range of applications. In fact, for my presentation tomorrow, you'll actually find in practice how I use one of our apps to support my talk. And really the challenge here for us is to really try to make a space that has, that balances both productivity and social functions. I keep saying that because if there is no reason for people to come in a 3D world to do more than just watching a screen and watching text chat, they won't come. And I think that this is an issue that a lot of designers have faced. And it's a very crucial one. Okay. So there are many reasons why, you know, you have alternative technologies from videoconferencing. And, you know, even other domains which are not really 3D are really thriving in this space, as far as connecting humans. But for some reason, you know, for, for virtual worlds, it's still, it's still not there. And I believe that it's important that we spend a lot more time, you know, creating opportunities for people to find a reason to go to 3D worlds. And there are only two ways for doing it. One is by providing a space where they can actually do a job better in 3D, in the 3D environment than outside. And the second one is, you know, it's, it's the social aspects. And even for that one, I guess it's kind of hard because even if you go down the higher fidelity route that many have tried and failed, it seems that it's very hard to beat the, the cheapest solutions regarding emotional connections through simple videoconferencing. Okay. So I'm still, I'm still having like a parallel shot here. And I see that there are a lot of, how we connect the virtual world aspects of actually developing applications for the virtual world and, and the Dave team of OpenSim. You know, the one thing that we hope will happen is that these increased conversations between application builders and Dave builders, because there's a lot of times where, where we, you know, if we want, if you have a number of things, you know, when we develop full bloat applications at that level, inevitably, we always hit the, the nitty-gritty parts of the underlying OpenSim systems. And, and I think that, you know, the, the, what we need at the higher levels, if there's, you know, an easier way for those needs to put it down so that the developers can help us more, I think that, that will really help. Because we are very, very close to the, we have the opportunity to be close to the users and also close to the developers. So we are building that middle layer that we think is missing. If you're, I will, I will post right now, because I think I, I'm going to go for two lines. And if you have any questions for, for the others, please feel free to to ask them. So one thing that, that you should realize about designing and implementing productivity tools, it's always about speed. And it's always about how much time saving happens. Okay. So, so that's, that's all our, you know, what we aim for. And, and let me tell you, I am a super builder. And I prefer to use my tools only because I save a vast amount of time. You know, tomorrow I had my talk for, for, for, you know, talking a little bit at the end about why we are doing what we are doing. And I, the first thing I went to, I went to the Mila Blocks app, because that was the, the app that I find as the easiest way for me to capture like a stream of consciousness and build like a new way of presentation. And it's only because of speed. So if, if I were to use my building skills for the viewer, I can tell you, I will have spent 10 more times. I mean, instead of spending, let's see what I would have spent a lot more time just to create the same thing. So, so yes, so that's pretty much, I guess, what I, what I had to, to tell you guys for, for this session. So please reach out to us if you have the skills or the time or the resources. And, you know, and people who have collaborated with us always end up happy. All right. Okay, so I'll go quiet for now. I think I probably, you know, run out of gas. So, thank you very much. Thank you very much, Ramesh, and to the panelists for a terrific session. All right. As a reminder to our audience, you can see what's coming up on the conference schedule at conference.opensimulator.org. Following this session, the next session will begin at 11 a.m. in this keynote region and is entitled State of the Open Simulator Community. Also, we encourage you to visit the OSCC20 Poster Expo in the OSCC Expo 3 region to find accompanying information on presentations and explore the hypergrade tool resources in OSCC Expo 2 region, along with sponsor and crowd funder booths located throughout of the OSCC Expo regions. So thank you again to our speakers and the audience.