May 11, 2019

MyWorld Meetup – 5/11/19

Discussion:

  • Virtual – what viewers will MyWorld be compatible with?
    • MyWorld is completely separate technology from OpenSimulator and the Second Life ecosystem. As such, it has its own client – Second Life viewers will not work with MyWorld.
    • One advantage that MyWorld’s client has for users is a powerful plugin system – instead of having to install different viewers to get certain features, users just install the one MyWorld client. Anyone who wants to add features writes a “plugin” – code that extends the client and adds features. Users who want these features just install the plugin, and without even needing to restart the client (usually – it would be possible to write a plugin that needs the client to restart, but this is a limitation of the individual plugin, not the client), they can access that feature. This means that users won’t need to install separate viewers and log in/out between different viewers to access the features they want.
  • Zauberin – Will the viewer have plugin “profiles?” Minecraft and some other things like it have profiles that let you specify a specific set of custom modifications. Especially for some kinds of worlds, users will need to have some specific plugins installed.
    • MyWorld currently does not have support for profiles that specify certain sets of plugins – but there’s nothing stopping anyone from writing a plugin to provide that feature! We will, however, support some mechanism for the server to indicate to the client that it should have certain plugins installed and activated in order to experience certain add-on features in the world. We’re still working on that.
  • Zauberin – Could the client auto-download and install plugins that the server indicates?
    • No, that would be a pretty severe security flaw. Plugins run as part of the client, so they aren’t sandboxed at all – if they were auto-downloaded, there’s a potential to install malware on unsuspecting visitors. Installing plugins will always require a user to make the decision to install, and we’re investigating additional security measures to prevent plugins from being a way to distribute malware.
    • Once a user decides to install a plugin, however, it will happen very automatically and with minimal (or no) user intervention. In general, plugins will immediately be loaded without even requiring a client restart.
  • Zauberin – Will people have to log out frequently as a “fix” to certain issues? One issue that OS/SL based virtual worlds often have now is that people clear the viewer cache as a “fix” to lots of issues, even when not needed at all – clearing the cache is rarely needed and often just worsens the issues they are experiencing because of additional network load.
    • We’re building the MyWorld client to be as restart-free as possible. User experience is critical to us, and requiring a client restart is generally a poor experience. There are some circumstances where it could be necessary, but our goal is for those to be as rare as possible. Also, clearing the cache is something that should rarely (or never) happen.
  • Virtual – Any idea when the MyWorld beta will be open to the public?
    • Our goal is for alpha to be out around September of this year (2019). Alpha will be on an invitational basis – everyone in our community is welcome and will have access, and they will be able to invite friends. I anticipate a 2-3 month alpha period until beta, which will be open to the public – so that puts us at beta around November or December.
    • We’re moving towards alpha as fast as possible, but there is still a lot to do. With all software development (especially projects as large as this one), predicting development time is notoriously hard to do – there’s so much that can go wrong and cause delays. We’re working our hardest to get MyWorld out as soon as possible, but if we’re delayed (or ready sooner than planned), we’ll always be open to the community and keep you informed of what is happening.
  • FordLady – Do you have any announcements or updates?
    • Yes! The last couple weeks have been quite productive and I’ve made significant headway on a major issue. This is a little sooner than I typically announce major changes, but I believe at this point it’s safe to say that this is the direction we’ll go so I’ll announce it now.
    • User interfaces are notoriously time consuming and difficult to do well for things like MyWorld. Traditional desktop user interfaces (like Qt, GTK, and others) are notoriously difficult to get working well with hardware-accelerated applications like MyWorld (and the SL/OS viewers), which is why things like this usually have a completely custom UI system built just for them. For over a year, I’ve been working on such a custom UI system for MyWorld. However, UI systems are notoriously complex to write from scratch – individual features usually aren’t that hard to implement, but there are so many of them that building a complete UI that meets user expectations is very difficult and time consuming.
    • There’s a very well known user interface library called JavaFX that was developed by Sun/Oracle and released as part of Java. It’s incredibly powerful, and from the beginning of MyWorld’s development I’ve wanted to use it for MyWorld’s UI. When I started the UI development, it would have been possible to use JavaFX, but integration of JavaFX with things like MyWorld was in a state that had me concerned about its long term viability, so I opted for a fully custom UI system. Now, over a year later, the situation with JavaFX has changed substantially – to the point that it’s a very viable long-term option for us.
    • With a great deal more to do before our custom UI could be used, and with time until alpha being very tight, I’ve been investigating closing down development on our custom UI and using JavaFX for MyWorld’s UI. Initial results have been very promising – I’ve re-implemented some of the existing user interface in JavaFX, and I was able to complete it about 10x (or more) faster than the first time I did it. In other words, JavaFX is going to be a huge time saver if this works out. At this point I believe that it’s safe to say that we’ll go with JavaFX as the final UI solution.
    • JavaFX will also likely provide an easier and faster solution for allowing server-side scripts to interact with the client’s UI far more directly than they can now. Currently, creators must build a “prim UI” and script it to imitate a UI. Our goal is to allow scripts to define a “real” UI that the client displays, and JavaFX may very well make that easier to do than a custom UI would.
    • JavaFX also means that we’ll probably be able to support web media far sooner than initially planned.
  • Zauberin – Web media got my attention! Does this mean we’ll get media-on-a-prim type functionality?
    • Yes – that’s what we’re aiming for. JavaFX has a WebKit-based embedded browser engine – essentially the same thing that Safari and other Apple products use. I’m hoping we’ll eventually be able to allow MyWorld script code to interact with JavaScript in the embedded browser, but there’s a lot that needs to happen before something like that would be possible. Even if that doesn’t happen, we’re aiming for at least feature-parity with Second Life’s media-on-a-prim functionality.
  • Virtual – Are you planning to have MyWorld be free to join and then have paid membership options, or will this information only be presented when beta comes out?
    • MyWorld will always be free to join! We’ll likely offer paid premium memberships with some extra perks, but MyWorld will always be free to join in. Any premium memberships will always be just for extra perks, very much like Second Life and some OpenSimulator-based grids do it today.
    • Similarly, just like other virtual worlds, you’ll be able to own your own land. There will be usage fees for that (we have to pay for servers, after all!), but while we have some unique improvements that we’re working on, you can expect the monetary aspects of the virtual world to work very similarly to what you’re used to today.
  • Virtual – Will MyWorld be on the hypergrid?
    • In the sense of tying into the OpenSimulator hypergrid, no. MyWorld is a completely different technology, and it isn’t compatible with OpenSimulator at all – even the network protocols are different, so there’s no way to make them talk to each other.
    • However, MyWorld’s core technology allows running multiple separate worlds on the same server cluster, and we’re exploring even more “hypergrid”-like functionality. At the end of the day, we’re aiming for something similar to OpenSimulator’s hypergrid – you’ll be able to have one login account and visit many different virtual worlds without having multiple accounts or having to log out and back in.
  • Zauberin – In earlier Meetups, we’ve talked about MyWorld generating the world and users being able to find a nice scenic piece of land and claim it as their own. Suppose someone finds a nice woodland area and builds a cottage. What’s to stop someone from moving in right next door to them and ruining their woodland view? Could they put in a request to mark an area around their property as uninhabitable?
    • I like to call this the “nasty neighbor problem” – users want a nice place to build, but there’s nothing stopping a neighbor from moving in next door and building something ugly. This is a problem in current virtual worlds too, and we’re working on a couple different solutions.
      • (a) There will be a way to mark an area around your property so that nobody can claim something immediately next to your home. In current virtual worlds, to do this you need to either use only a small area near the middle of your region to build, or you need to purchase scenic regions to place around yours. Neither of these options are very economical for users, so we’re investigating ways to mark an area around your land that gives you some space and is economical for you too.
      • (b) We’re also looking into “HOA” (Home Owners’ Association) type solutions for large areas. We’re looking at letting a group claim a large undeveloped area at an economical price, and then only paying regular use fees for the much smaller areas where people actually build. This allows groups to form large “protected areas” where group members can build according to the group’s theming/building rules without worrying about the “nasty neighbor problem.” For example, a group could claim a large mountainous area and build an alpine village and cottages without anyone being able to build right next to their area and spoil the effect. (Similar to what themed regions do now in current virtual worlds, but on a larger scale.)
  • Virtual – Will you be offering MyWorld how-to training classes or making videos?
    • In some way, yes, absolutely. We’re not just going to “toss it in your lap” so to speak and then walk away – as soon as we reach alpha we’ll do everything we can to document features and help users get settled, learn MyWorld, and adjust. Exactly what form that takes is still up in the air – we’ll definitely have written documentation and tutorials, but we’ll also likely conduct in-person workshops and other similar activities. I generally prefer written documentation over videos because you can quickly scan and get the information you want without watching a whole video – but if there’s significant interest in how-to videos, we’re open to doing that also. We’re building MyWorld to be easy, fun, and straightforward to use and create in, but there will always be a need for assistance too. We’ll support and assist the community however we can. MyWorld is about people first!
  • Virtual – Will your viewer have built-in help tips for using the functions?
    • Yes – the client is designed to be clean, easy, and straightforward to use, and that includes built-in hover tooltips. We’re also working on designing the user interface to be straightforward and natural to use – you shouldn’t have to hunt all over the place to find that one button that you need. As you perform a task (like texturing), everything you need should be right there and quickly accessed from one place. Usability is incredibly important to us, and while I expect that users will find it easier to use than SL/OS, it will take some transitioning to get used to.
  • FordLady – I appreciate Virtual’s questions because I’ll probably need a lot of assistance myself – I come from a gaming background, not a virtual world background.
    • We want MyWorld to be simple, straightforward, and people-friendly in both a community and technical sense. We won’t just toss it out there and leave users to sort it out – we’ll be there to assist.
  • Virtual – Are you using a version of your viewer to develop and create MyWorld?
    • Mesh content will be created in Blender, Wings 3D, Google Sketchup, Maya, or whatever your tool of choice is. Regarding in-world content, such as our CSG “super prims,” terraforming, or the assembly of meshes into in-world objects, yes, we’ll be using the exact same client tools that you will be using.