IMA/Thales SceneGate Viewer for OpenSimulator
Lisa Laxton, Natacha Bru, Frank Rulof, Seth Nygard
Presentation Abstract: This presentation from Infinite Metaverse Alliance® (IMA) and Thales Group discusses development of a new open source viewer for the OpenSimulator community focused on improvements in usability, accessibility, and interoperability. Development is driven by inclusive “design thinking” while adding capabilities for the future to address gaps in development aimed at the needs of new users and those with different abilities that may be digitally marginalized. The SceneGate Viewer project is one of several R&D projects integrated with decentralized OpenSimulator development supporting the mission to advance virtual worlds, virtual reality, and synthetic environments. The work of IMA and Thales is in general directed toward broadening use of the Metaverse for Public, Education, Industry and Government sectors but the community as a whole benefits from open source.
Target Audience & Outcomes: Participants from the OpenSimulator Community at large will learn about enhancements, features, and improvements IMA and Thales are working on together to deliver a new open source solution that meets the needs of a broader OpenSimulator community addressing issues related to onboarding, usability, accessibility, interoperability, performance, security, and standards.
@IMATalks
I have helped more than 100 customers build new and innovative services for their customers with the help of IoT technology. With this slides, I share the lessons learned working with these customers as they start a journey into improved digitalization. My focus is on IT operations and project management.
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
You may not think of "GitOps" and "service mesh" together – but maybe you should! These two wildly different technologies are each enormously capable independently, and combined they deliver far more than the sum of their parts: a single Git commit can control workflows customized for your exact situation by taking advantage of the service mesh's ability to measure and manipulate traffic anywhere in your application's call graph, and you can rest easy knowing that Git is preserving the complete configuration for your entire application every step of the way.
See how these technologies can work together to tackle complex problems in cloud-native applications.
What you’ll get out of this:
* Understand what GitOps and service meshes can - and can't - do for you.
* Understand basic operations with GitOps and Linkerd.
* Understand the basics of continuous deployment with Weave GitOps and Linkerd.
Overcoming software development challenges by using an integrated software fr...Design World
With ever increasing Connectivity options, Security Protocols and Sophisticated Human Interfaces, Software and AP developers find themselves caught more deeply in the dichotomy of dealing with increasing complexity of designs and shrinking timelines. Resource constraints and constantly evolving software landscape provide challenges to software Integration that have to be overcome to enable designers to focus on the actual application.
Developers need a Modular Software Framework that accelerates software integration, provides flexible programming options and enables application re-use across multiple platforms. “That framework is MPLAB® Harmony.”
Join us for the webinar series where we provide a technical overview of MPLAB® Harmony, Live tool demos, Microchip and third party Middleware support and finally demonstrate how Harmony accelerates software integration and moves development focus and resources to Application Development and testing.
In this first installment of a three part webinar series attendees will learn:
-Current Software Development Challenges and how MPLAB® Harmony, Microchip’s software framework, overcomes them.
-Technical Overview of MPLAB® Harmony Framework.
-Integrating RTOS in an embedded development ecosystem.
-Graphics Application demo illustrating how MPLAB® Harmony facilitates changing system requirements.
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersOPNFV
NetIDE is a EU-funded project that is known to the OpenDaylight community, because we have contributed a component to the Beryllium release. However, the full NetIDE ecosystem is much more. It is an extended SDN controller framework that allows users to cherry-pick the best of breed both for the network facing controller and the SDN framework for applications. In addition it provides an application composition engine that allows network operators to introduce software development concepts like code reusability in their production cycle. In this talk, I will introduce the whole Network Engine as well as the NetIDE Eclipse plugin that allows us to create SDN applications, test them and run them on the NetIDE engine and reflect on why we contributed what we contributed to OpenDaylight.
How to Choose an Integration Platform Vendor for Your BusinessWSO2
Learn about the key aspects that need to be considered when selecting an integration platform for your business regardless of the business domain you are in.
I have helped more than 100 customers build new and innovative services for their customers with the help of IoT technology. With this slides, I share the lessons learned working with these customers as they start a journey into improved digitalization. My focus is on IT operations and project management.
Intro to GitOps with Weave GitOps, Flagger and LinkerdWeaveworks
You may not think of "GitOps" and "service mesh" together – but maybe you should! These two wildly different technologies are each enormously capable independently, and combined they deliver far more than the sum of their parts: a single Git commit can control workflows customized for your exact situation by taking advantage of the service mesh's ability to measure and manipulate traffic anywhere in your application's call graph, and you can rest easy knowing that Git is preserving the complete configuration for your entire application every step of the way.
See how these technologies can work together to tackle complex problems in cloud-native applications.
What you’ll get out of this:
* Understand what GitOps and service meshes can - and can't - do for you.
* Understand basic operations with GitOps and Linkerd.
* Understand the basics of continuous deployment with Weave GitOps and Linkerd.
Overcoming software development challenges by using an integrated software fr...Design World
With ever increasing Connectivity options, Security Protocols and Sophisticated Human Interfaces, Software and AP developers find themselves caught more deeply in the dichotomy of dealing with increasing complexity of designs and shrinking timelines. Resource constraints and constantly evolving software landscape provide challenges to software Integration that have to be overcome to enable designers to focus on the actual application.
Developers need a Modular Software Framework that accelerates software integration, provides flexible programming options and enables application re-use across multiple platforms. “That framework is MPLAB® Harmony.”
Join us for the webinar series where we provide a technical overview of MPLAB® Harmony, Live tool demos, Microchip and third party Middleware support and finally demonstrate how Harmony accelerates software integration and moves development focus and resources to Application Development and testing.
In this first installment of a three part webinar series attendees will learn:
-Current Software Development Challenges and how MPLAB® Harmony, Microchip’s software framework, overcomes them.
-Technical Overview of MPLAB® Harmony Framework.
-Integrating RTOS in an embedded development ecosystem.
-Graphics Application demo illustrating how MPLAB® Harmony facilitates changing system requirements.
Summit 16: NetIDE: Integrating and Orchestrating SDN ControllersOPNFV
NetIDE is a EU-funded project that is known to the OpenDaylight community, because we have contributed a component to the Beryllium release. However, the full NetIDE ecosystem is much more. It is an extended SDN controller framework that allows users to cherry-pick the best of breed both for the network facing controller and the SDN framework for applications. In addition it provides an application composition engine that allows network operators to introduce software development concepts like code reusability in their production cycle. In this talk, I will introduce the whole Network Engine as well as the NetIDE Eclipse plugin that allows us to create SDN applications, test them and run them on the NetIDE engine and reflect on why we contributed what we contributed to OpenDaylight.
How to Choose an Integration Platform Vendor for Your BusinessWSO2
Learn about the key aspects that need to be considered when selecting an integration platform for your business regardless of the business domain you are in.
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettParam Singh
Emergent Open Source IoT Ecosystem
There is a vibrant open source ecosystem developing around all layers of the IoT software stack. These technologies, when woven together, have the potential of propelling the Internet of things forward exponentially. Open source provides a trusted space where device vendors and software companies can reliably share components essential to interconnect the currently splintered IoT ecosystem.
Come see what is happening and how you can leverage open source IoT software right now.
Ian Skerrett, VP of Marketing, Eclipse Foundation
Param Singh, CEO, iotracks; IoT Advisor, City of San Francisco
https://iotworldevent.com/iot-open-source-summit/
This work is licensed under a Creative Commons Attribution 4.0 International License.
Cloud Native Engineering with SRE and GitOpsWeaveworks
Site reliability engineering (SRE), a model championed by Google, is a software engineering approach to IT operations. For companies striving to become cloud native and adopting modern tools such as Kubernetes, SRE best practices are crucial for success.
In this webinar, Brice, one of our seasoned Customer Reliability Engineers will show how to design a fail-proof Kubernetes platform using tried and tested SRE and GitOps methods.
He will share best practices on:
Increasing performance and ensuring scalability
Managing incident responses through disaster recovery
Designing for High Availability in Kubernetes
Achieving 360 visibility and alerts for your platform
SLTS kernel and base-layer development in the Civil Infrastructure PlatformYoshitake Kobayashi
The Civil Infrastructure Platform (CIP) is creating a super long-term supported (SLTS) open source "base layer" for industrial grade software. We have been working on security fixes and some backported features since the moment we decided that Linux kernel v4.4 would be the first SLTS version. In this talk, we will describe the current development status of the SLTS kernel and testing environment. First, we'll explain our kernel development policy. Then, we'll describe the functionality that has been backported. Second, we'll talk about testing before using our base-layer on real products. We have been developing a test framework to collect and share test results. To build it, we don't want to duplicate existing work such as KernelCI, Fuego and others. For that reason, we are trying to collaborate and contribute to such projects. And finally, we'll discuss the future roadmap.
Platform Security IRL: Busting Buzzwords & Building BetterEqual Experts
Practical tips and heroic war stories on how to secure a large, modern, fast software delivery platform. From building a team to building cool stuff, dealing with organisational setups to dealing with security incidents.
Zero Buzzwords Guaranteed.
Chris Rutter has spent the last few years obsessed with making security, engineering and the business work together. Starting his career as an engineer, he uses a deep understanding of Agile, Devops, and product delivery to solve security problems in a way that enables teams, rather than hitting them with bricks.
How to Operate Kubernetes CI/CD Pipelines at ScaleDevOps.com
In a recent survey of 500 attendees at Kubecon, Barcelona 76.7% responses identified CI/CD automation as the #1 use case for deploying Kubernetes. DevOps teams productivity and effectiveness depend on their ability to automate, operate, and manage CI/CD pipelines at scale. However, provisioning and managing many of the CI/CD components and the underlying Kubernetes clusters remains a largely manual process slowing down the team’s ability to deliver software faster. Furthermore, due to the lack of skills and operational complexity, managing the day 2 operations and lifecycle management of the end-to-end stack continues to be a daunting challenge.
Join Kamesh Pemmaraju, Head of Product Marketing at Platform9, Eric Bannon, Senior Product Manager at Platform9, and Mark Galpin, Senior Product Manager at JFrog to hear about how DevOps teams can
Configure, deploy, and run Kubenetes without the pain of managing it on any infrastructure of choice using the Platform9 Managed Kubernetes-as-a-Service
Deliver applications end-to-end using JFrog Pipelines for CI/CD automation, JFrog Artifactory for securely managing Docker images and other artifacts, and JFrog Xray for security and image scanning.
Conduct blue-green or canary production deployments
Deploy and configure Platform9 Managed Prometheus to monitor application performance as you roll out new features on a continuous basis.
We will have a live demo to show the above capabilities using a sample end-to-end application deployment.
Following topics will be addressed into presentation:
Motivation and goals of splitting monolith application
Criteria and markers to start splitting process. Is it necessary at all?
Optimal order of extracting microservices
How organize the whole process in closed iterative steps?
What can be done with common libraries and shared code?
Options for technology and deployment of target microservices
How organize and motivate the teams and convince management?
Speaker Bio
Andrei is a Software Architect in VMWare Tanzu Labs. The areas of his interest are REST API design, Microservices, Cloud, resilient distributed systems, security and agile development. Andrei is PMC and committer of Apache CXF and committer of Syncope projects.
Anti key logging and real-time encrypting software | keystrokes encrypting so...Mike Taylor
Anti-Key logging and Real-time Encrypting Software using Windows Framework to protect against malware using cryptography methodology providing real time encryption
QCon SF 2017 - Microservices: Service-Oriented DevelopmentAmbassador Labs
Conventional wisdom is that microservices is an architecture that is the spiritual successor to service-oriented architecture. While true, this myopic view of microservices ignores some of the profound workflow shifts in today’s microservices organizations.
The reality is that microservices is an architecture _and_ workflow. In this talk, we’ll introduce the workflow of service-oriented development. Rafael will talk about how the real goal of microservices is to break up a monolithic development workflow. We’ll show you how, by breaking up your workflow, you can build software that lets you move fast and make things.
Advanced technologies and techniques for debugging HPC applicationsRogue Wave Software
Presented at Supercomputing 18. Debugging and analyzing today's HPC applications requires a tool with capabilities and features to support the demands of today’s complex HPC applications. Debugging tools must be able to handle the extensive use of C++ templates and the STL, use of many shared libraries, optimized code, code leveraging GPU accelerators and applications constructed with multiple languages.
This presentation walks through the different advanced technologies provided by the debugger, TotalView for HPC, and shows how they can be used to easily understand complex code and quickly solve difficult problems. Showcasing TotalView’s new user interface, you will learn how to leverage the amazing technology of reverse debugging to replay how your program ran. You will also see how TotalView provides a unified view across applications that utilize Python and C++, debug CUDA applications, find memory leaks in your HPC codes and other powerful techniques for improving the quality of your code.
The twelve-factor app is designed for continuous deployment by keeping the gap between development and production small. For example, make the time gap small, make the personnel gap small & make the tools gap small. Learn more about how a Cloud vendor must provide a platform for 12-factor / Cloud Native development and deployment with identified anti-patterns.
IoTWorld 2016 OSS Keynote Param Singh, Ian SkerrettParam Singh
Emergent Open Source IoT Ecosystem
There is a vibrant open source ecosystem developing around all layers of the IoT software stack. These technologies, when woven together, have the potential of propelling the Internet of things forward exponentially. Open source provides a trusted space where device vendors and software companies can reliably share components essential to interconnect the currently splintered IoT ecosystem.
Come see what is happening and how you can leverage open source IoT software right now.
Ian Skerrett, VP of Marketing, Eclipse Foundation
Param Singh, CEO, iotracks; IoT Advisor, City of San Francisco
https://iotworldevent.com/iot-open-source-summit/
This work is licensed under a Creative Commons Attribution 4.0 International License.
Cloud Native Engineering with SRE and GitOpsWeaveworks
Site reliability engineering (SRE), a model championed by Google, is a software engineering approach to IT operations. For companies striving to become cloud native and adopting modern tools such as Kubernetes, SRE best practices are crucial for success.
In this webinar, Brice, one of our seasoned Customer Reliability Engineers will show how to design a fail-proof Kubernetes platform using tried and tested SRE and GitOps methods.
He will share best practices on:
Increasing performance and ensuring scalability
Managing incident responses through disaster recovery
Designing for High Availability in Kubernetes
Achieving 360 visibility and alerts for your platform
SLTS kernel and base-layer development in the Civil Infrastructure PlatformYoshitake Kobayashi
The Civil Infrastructure Platform (CIP) is creating a super long-term supported (SLTS) open source "base layer" for industrial grade software. We have been working on security fixes and some backported features since the moment we decided that Linux kernel v4.4 would be the first SLTS version. In this talk, we will describe the current development status of the SLTS kernel and testing environment. First, we'll explain our kernel development policy. Then, we'll describe the functionality that has been backported. Second, we'll talk about testing before using our base-layer on real products. We have been developing a test framework to collect and share test results. To build it, we don't want to duplicate existing work such as KernelCI, Fuego and others. For that reason, we are trying to collaborate and contribute to such projects. And finally, we'll discuss the future roadmap.
Platform Security IRL: Busting Buzzwords & Building BetterEqual Experts
Practical tips and heroic war stories on how to secure a large, modern, fast software delivery platform. From building a team to building cool stuff, dealing with organisational setups to dealing with security incidents.
Zero Buzzwords Guaranteed.
Chris Rutter has spent the last few years obsessed with making security, engineering and the business work together. Starting his career as an engineer, he uses a deep understanding of Agile, Devops, and product delivery to solve security problems in a way that enables teams, rather than hitting them with bricks.
How to Operate Kubernetes CI/CD Pipelines at ScaleDevOps.com
In a recent survey of 500 attendees at Kubecon, Barcelona 76.7% responses identified CI/CD automation as the #1 use case for deploying Kubernetes. DevOps teams productivity and effectiveness depend on their ability to automate, operate, and manage CI/CD pipelines at scale. However, provisioning and managing many of the CI/CD components and the underlying Kubernetes clusters remains a largely manual process slowing down the team’s ability to deliver software faster. Furthermore, due to the lack of skills and operational complexity, managing the day 2 operations and lifecycle management of the end-to-end stack continues to be a daunting challenge.
Join Kamesh Pemmaraju, Head of Product Marketing at Platform9, Eric Bannon, Senior Product Manager at Platform9, and Mark Galpin, Senior Product Manager at JFrog to hear about how DevOps teams can
Configure, deploy, and run Kubenetes without the pain of managing it on any infrastructure of choice using the Platform9 Managed Kubernetes-as-a-Service
Deliver applications end-to-end using JFrog Pipelines for CI/CD automation, JFrog Artifactory for securely managing Docker images and other artifacts, and JFrog Xray for security and image scanning.
Conduct blue-green or canary production deployments
Deploy and configure Platform9 Managed Prometheus to monitor application performance as you roll out new features on a continuous basis.
We will have a live demo to show the above capabilities using a sample end-to-end application deployment.
Following topics will be addressed into presentation:
Motivation and goals of splitting monolith application
Criteria and markers to start splitting process. Is it necessary at all?
Optimal order of extracting microservices
How organize the whole process in closed iterative steps?
What can be done with common libraries and shared code?
Options for technology and deployment of target microservices
How organize and motivate the teams and convince management?
Speaker Bio
Andrei is a Software Architect in VMWare Tanzu Labs. The areas of his interest are REST API design, Microservices, Cloud, resilient distributed systems, security and agile development. Andrei is PMC and committer of Apache CXF and committer of Syncope projects.
Anti key logging and real-time encrypting software | keystrokes encrypting so...Mike Taylor
Anti-Key logging and Real-time Encrypting Software using Windows Framework to protect against malware using cryptography methodology providing real time encryption
QCon SF 2017 - Microservices: Service-Oriented DevelopmentAmbassador Labs
Conventional wisdom is that microservices is an architecture that is the spiritual successor to service-oriented architecture. While true, this myopic view of microservices ignores some of the profound workflow shifts in today’s microservices organizations.
The reality is that microservices is an architecture _and_ workflow. In this talk, we’ll introduce the workflow of service-oriented development. Rafael will talk about how the real goal of microservices is to break up a monolithic development workflow. We’ll show you how, by breaking up your workflow, you can build software that lets you move fast and make things.
Advanced technologies and techniques for debugging HPC applicationsRogue Wave Software
Presented at Supercomputing 18. Debugging and analyzing today's HPC applications requires a tool with capabilities and features to support the demands of today’s complex HPC applications. Debugging tools must be able to handle the extensive use of C++ templates and the STL, use of many shared libraries, optimized code, code leveraging GPU accelerators and applications constructed with multiple languages.
This presentation walks through the different advanced technologies provided by the debugger, TotalView for HPC, and shows how they can be used to easily understand complex code and quickly solve difficult problems. Showcasing TotalView’s new user interface, you will learn how to leverage the amazing technology of reverse debugging to replay how your program ran. You will also see how TotalView provides a unified view across applications that utilize Python and C++, debug CUDA applications, find memory leaks in your HPC codes and other powerful techniques for improving the quality of your code.
The twelve-factor app is designed for continuous deployment by keeping the gap between development and production small. For example, make the time gap small, make the personnel gap small & make the tools gap small. Learn more about how a Cloud vendor must provide a platform for 12-factor / Cloud Native development and deployment with identified anti-patterns.
Forklift Classes Overview by Intella PartsIntella Parts
Discover the different forklift classes and their specific applications. Learn how to choose the right forklift for your needs to ensure safety, efficiency, and compliance in your operations.
For more technical information, visit our website https://intellaparts.com
Cosmetic shop management system project report.pdfKamal Acharya
Buying new cosmetic products is difficult. It can even be scary for those who have sensitive skin and are prone to skin trouble. The information needed to alleviate this problem is on the back of each product, but it's thought to interpret those ingredient lists unless you have a background in chemistry.
Instead of buying and hoping for the best, we can use data science to help us predict which products may be good fits for us. It includes various function programs to do the above mentioned tasks.
Data file handling has been effectively used in the program.
The automated cosmetic shop management system should deal with the automation of general workflow and administration process of the shop. The main processes of the system focus on customer's request where the system is able to search the most appropriate products and deliver it to the customers. It should help the employees to quickly identify the list of cosmetic product that have reached the minimum quantity and also keep a track of expired date for each cosmetic product. It should help the employees to find the rack number in which the product is placed.It is also Faster and more efficient way.
HEAP SORT ILLUSTRATED WITH HEAPIFY, BUILD HEAP FOR DYNAMIC ARRAYS.
Heap sort is a comparison-based sorting technique based on Binary Heap data structure. It is similar to the selection sort where we first find the minimum element and place the minimum element at the beginning. Repeat the same process for the remaining elements.
Sachpazis:Terzaghi Bearing Capacity Estimation in simple terms with Calculati...Dr.Costas Sachpazis
Terzaghi's soil bearing capacity theory, developed by Karl Terzaghi, is a fundamental principle in geotechnical engineering used to determine the bearing capacity of shallow foundations. This theory provides a method to calculate the ultimate bearing capacity of soil, which is the maximum load per unit area that the soil can support without undergoing shear failure. The Calculation HTML Code included.
Harnessing WebAssembly for Real-time Stateless Streaming PipelinesChristina Lin
Traditionally, dealing with real-time data pipelines has involved significant overhead, even for straightforward tasks like data transformation or masking. However, in this talk, we’ll venture into the dynamic realm of WebAssembly (WASM) and discover how it can revolutionize the creation of stateless streaming pipelines within a Kafka (Redpanda) broker. These pipelines are adept at managing low-latency, high-data-volume scenarios.
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)MdTanvirMahtab2
This presentation is about the working procedure of Shahjalal Fertilizer Company Limited (SFCL). A Govt. owned Company of Bangladesh Chemical Industries Corporation under Ministry of Industries.
2. 2
Do we need a new viewer for OpenSimulator?
▌ Development Gaps
Use Cases: Accessibility by design is needed to combat digital marginalization
- Hearing Impaired
- Mobility Impaired
- Vision Impaired
- Cognition Impaired
Use Cases: Onboarding remains a challenge for new users
- Classes and Training Sessions
- Meetings and Conferences
- Interactive Environments
6. 6
Solution
▌ Alchemy Viewer codebase selected for Project SceneGate
▌ Current Development Focus
Accessibility
Onboarding
Performance
Usability
▌ Future Development Focus
EchoVoice Integration
Renderer decoupling
Standards
Security
Documentation
Advanced Mode
The SceneGate Viewer provides the user with a
gate to a 3D scene in a virtual world.
7. 7
Project Roadmap
▌ 2018 Research
Surveys
Analyses and feedback
Extensive testing
Proof of concept
Codebase selection
▌ 2019 Development
Alpha Development
Closed Alpha Testing
Beta Development
Closed Beta Testing
Open Beta Testing
8. 8
Who’s Involved
▌ Participation
Hypergrid users
Development team members
Industry interns (students)
▌ Design
Collaborative approach
HCI / Usability reviews
Industry and usability standards
9. 9
What’s New: Accessibility Improvements
▌ New feature related to Hearing, Cognition, and Mobility Issues
Listen from All Positions
10. 10
What’s New: Accessibility Improvements
▌ New feature related to Vision and Cognition Issues
Default Custom Colors and Contrast Options
11. 11
What’s New: Onboarding Improvements
▌ New modes take a bulldozer to the learning curve
Simplified mode presents fewer menu options
12. 12
What’s New: Onboarding Improvements
▌ New user interface layout per mode
Minimal toolbar buttons in simplified mode
13. 13
What’s New: Onboarding Improvements
▌ New preferences option to change modes
Extended mode for experienced users
14. 14
What’s New: Onboarding Improvements
▌ New standard avatar camera views
Navigation is eased within virtual structures
15. 15
What’s New: Usability Improvements
▌ New code for grid manager error checking and management
Users get immediate feedback
16. 16
What’s New: Usability Improvements
▌ New button group layout related to human computer interaction design
Toolbar button groups for both modes
17. 17
What’s New: Performance Improvements
▌ Improved graphics handling
Bug fix
Resolves issue caused by Win 10 1903 update
▌ Dynamic texture loading time reduced
Beneficial for presentation screens in-world
Faster rendering of a full textured scene
19. 19
Future Viewer
▌ Modern Look and Feel
Use gaming engines & modern UI packages, split rendering from data handling part
viewer (mainly the loop over the server)
- Viewer Render Application -> render engine that’s desired for a specific use
- Object store <- input to the renderer
- Render Interface -> to integrate the renderer with the other parts of the viewer
▌ Customizable & simplified UI (HMI)
Design a new UI that allows users to customize for their needs in a simple way.
Components include:
- VoIP plugins(s) different VoIP services to be connected to the viewer
- User Interface Plugins customize the User Interface for the viewer
- Other plugins that can be defined in the future
20. 20
Future Viewer
▌ Maintainability
Create a clear and structured documented design
Refactor the SceneGate code if needed
Create a package (OpenSim Interface) to handle the interface with OpenSim
- Separate the internals from the OpenSim interface
Design using state of the art libraries and packages to optimize security
▌ Current development State
Splitting the renderer &
data handling parts of
the viewer
2 Student interns are
working on this
21. 21
Directly Related Projects
▌ Project Echo
Future EchoVoice Integration
Future Text to Speech and Speech to Text R&D
▌ Project DreamGate (Firestorm fork)
Future accessibility improvements
Future usability improvements
▌ Project Helios
Metaverse Depot R&D Grid (ADA or 508 compliance)
OpenSimulator R&D
22. 22
Where IMA does R&D
▌ IMA Metaverse Depot R&D Grid grid.metaversedepot.com:8002
IMA Projects in Decentralized Virtual Worlds
23. 23
Why is security important ?
▌ Security is a matter of TRUST
> Preserve users trust by granting the safety of their data
> Security is important for every user
Military
Civilians
▌ Currently the viewer is not secure
▌ How to improve security ?
24. 24
Login
▌ Credentials are sensible information
> The viewer sends username and MD5 hash of the password to the server
▌ MD5 should not be used
- Cryptographic collisions
- Brute force attacks
- Rainbow tables attacks
▌ How to improve security ?
- SHA256 or SHA512
- Salt hashes
- implement TLS
25. 25
Exchanges with the server
▌ Sensible data can be exchanged
> The viewer exchanges different information with the server
▌ Currently there is no data encryption
- User information
- Avatar information
- Video/media links
- Code
- Chat messages (base 64 encoded zip file)
- etc.
▌ How to improve security ?
- Use Transport Layer Security (TLS)
- Encrypt sensible data
⚠ Server-side modifications
26. 26
Third-party libraries
▌ Usage of third-party libraries is needed
> Gain of time
> Better tools for development
▌ But it increases the attack surface
- A lot of lines of code
- libraries calling other libraries
- known vulnerabilities
- outdated libraries
- no longer supported libraries
▌How to improve security ?
28. 28
Third-party libraries
▌ Usage of third-party libraries is needed
> Gain of time
> Better tools for development
▌ But it increases the attack surface
- A lot of lines of code
- libraries calling other libraries
- known vulnerabilities
- outdated libraries
- no longer supported libraries
▌ How to improve security ?
- Update libraries
- Watch for new vulnerabilities
- Stay up to date
29. 29
Conclusion
▌ Changes must be done on server side and client side
> No implementation of TLS = no security
> Be careful of how data are sent
▌ Security is an everyday challenge
> Need to watch for new vulnerabilities
> Need regular updates
▌Thank you for your attention
30. 30
Expanding Development
▌ We need your help with Wiki, Testing, Contributing, and Developing
Join Project SceneGate!
Code repository opening soon
31. 31
Panel Q&A
Thank you for your attention
Panel Discussion
Lisa Laxton – lisa@infinitemetaverse.com
Natacha Bru – natacha.bru12@gmail.com
Frank Rulof – frank.rulof@hotmail.com
Good Morning! Thank you for allowing us to present our work on the new SceneGate Viewer for OpenSimulator.
Since the open beta launch, there have been quite a few questions. We hope to have time for Q&A with our panel after the slide presentation.
Infinite Metaverse Alliance (IMA) and its strategic partner Thales share a common mission to focus on inclusive "design thinking" to advance virtual worlds, virtual reality, and synthetic environments.
Project SceneGate is one of several integrated projects supporting this mission.
The SceneGate Viewer provides the user with a gate to a 3D scene in a virtual world.
We asked the research question from a use case perspective: Do we need a new viewer for OpenSimulator?
The answer is yes. As a result of the research, development gaps were revealed and use cases defined.
Accessibility by design is needed to combat digital marginalization. This occurs when the needs of users with disabilities are not met.
Hearing impaired users may be unable to communicate effectively using the listen from avatar position option.
Mobility impaired users may be unable to communicate effectively when frequently changing the avatar camera position.
Visually impaired users may have an immediate need for variations in color and contrast.
Cognition impaired users may face immediate challenges related to hearing, mobility, or vision stressors.
Onboarding remains a challenge due to steep learning curves and orientation time. Specific virtual world user cases include:
Classes with users who are students and educators;
Meetings with users who are attendees and speakers; and
Interactive Environments with users who are new users or trainees.
Usability improvements are needed to put the power into the hands of the users and to accommodate these needs.
During our analysis, non-trivial challenges in development were found.
The original Linden Lab source code project developers have priorities related to its business focus.
OpenSimulator stakeholders are not a consideration for original source developers.
Existing third-party viewer project developer priorities are divergent.
The lack of standards compliance impacts interoperability with other applications.
Documentation is non-existent or not up-to-date.
It’s time to stop “doing it this way”.
It became clear open source software forks were needed after extensive discussion and investigation into existing project roadmaps and priorities.
So we began forming a new development team to meet immediate needs identified and consider “users as developers”.
Surveys were conducted and software analyzed to identify and involve stakeholders.
Through strategic collaboration, IMA and Thales are implementing systems engineering approaches to support future viewer development.
The viewer design scope defines requirements and stakeholders. Requirements defined include:
Open Source and distributable;
Reliably run on Windows, Mac, and Linux systems;
Support all active versions or derivatives of OpenSimulator;
Based on an adaptable modern codebase;
Be customizable by users and organizations; and
Be standards compliant where possible.
The primary stakeholders are:
New users or those attending classes and meetings;
Disabled users of all skill levels;
Grid owners focused on user needs;
Creators of interactive environments and objects;
Educators using virtual worlds; and
Collaborators using virtual worlds.
The Alchemy Viewer codebase was selected for the SceneGate Viewer.
Our current development focus is on immediate improvements related to accessibility, onboarding, performance, and usability.
Our future development focus includes EchoVoice Integration, renderer decoupling, standards compliance, improved security, better documentation, and development of an advanced mode.
Viewer efforts for IMA began with research in 2018. This involved:
previous community and viewer user surveys;
survey analyses and community feedback;
extensive testing of multiple viewers by multiple stakeholders;
proof of concept called Project EduGate; and
available codebase feature analyses.
Systems engineering milestones were established for the development timeline and project roadmap. Specific milestones included:
Alpha Development, Closed Alpha Testing, Beta Development, Closed Beta Testing, and Open Beta Testing which is active now.
Project SceneGate has various areas of participation in its design approach.
Users from multiple grids with different OpenSimulator versions are involved in testing.
Experienced development team members are active in OpenSimulator communities.
Industry interns (students) are also part of the development team.
IMA meeting attendees voted on most default preference changes.
HCI / Usability design reviews drove initial User Interface changes.
Industry standards and usability design drove default avatar camera changes.
The most frequently asked question has been: What’s New? So let’s see some screeshots!
The ability to hear voice equally or listen from all positions was added and established as a default.
This feature helps users who may have hearing, cognitive, or mobility issues communicate in voice immediately.
Without this capability, users only had the option to hear from avatar position or camera position creating a hostile environment for people with disabilities - also known as digital marginalization.
While this is equally important for new users in simplified mode, it exists for users in extended mode as well.
The default user interface skin for SceneGate provides users the ability to customize the color and contrast with far greater choices than other skins to meet their needs immediately.
The improvement provides greater accessibility by design to specifically improve the user experience for those with visual or cognitive issues.
This user interface skin is the default for both simplified and extended modes.
To reduce cognitive overload caused by too many menu items and buttons on a new user's screen, a simplified mode was developed and made the default mode.
In this mode, a limited number of user menu options effectively taking a bulldozer to the steep learning curve.
Toolbar button defaults presented to new users are also limited to only those needed to learn to use virtual worlds.
This further reduces onboarding time for new users.
When new users are ready to learn more, they do not need to download and learn how to use another viewer.
Extended mode is available in preferences with a few clicks. In this mode, the user is presented with more menu items and toolbar buttons.
Their user experience is "extended" rather than changed.
The default avatar camera settings were adjusted to provide a more natural, contemporary or modern sense of virtual presence in third person view.
This change improves ease of navigation inside virtual structures and applies to all modes.
Advanced users can change their camera settings temporarily or permanently.
Grid Manager error checking was added to prevent a user adding a grid that is not available or that has a typo in the entry.
Users get immediate feedback when this occurs aiding grid list management.
Users can also load the short default grid list when needed - the usability mantra is "Don't Make Me Think".
This feature is available in both simplified and extended modes.
Default toolbar button locations were grouped by function categories based on human computer interaction design review.
For simplified mode, the left-side button group presents two tools associated with the user's account.
The right-side button group presents two tools associated with places the avatar can go and how to get there.
The center-bottom button group presents commonly used buttons to communicate, navigate, and find people.
Extended mode can maintain the grouping but present more toolbar buttons in each group.
Users with specific disability needs or preferences can customize the toolbar button layout if needed.
With any software project, we will always need to fix bugs and improve performance.
Shortly after our fork, Windows released an update that caused the viewer to crash on exit. This was our first bug to fix.
Dynamic texture loading times was our first performance improvement reducing loading times and was noticed by new users.
Research is underway for a future version of the SceneGate Viewer for existing and new use case applications.
The initial activity involves splitting the renderer & data handling parts of the viewer.
Development goals include a modern look and feel by using gaming and modern UI packages as the code is developed.
If the R&D is successful, gaming, VR, and web render engines can be used with the viewer.
We also want to provide users with new user UI options to support new features designed as plugins.
One of the primary considerations involves maintainability. This includes establishing a clear, structured, and documented design.
This will likely involve some refactoring of the existing SceneGate codebase.
A new package seen in the diagram as OpenSim Interface is needed to begin decoupling the renderer.
Design goals also include the use of modern libraries and packages to optimize security.
Two student interns at Thales are actively working on this R&D.
IMA has seven primary project areas with most having some relation or integration to at least one other. Three of these are directly related to Project SceneGate.
Project Echo includes EchoVoice source code which will integrate with the SceneGate Viewer to provide seamless configuration of different voice solutions.
A future roadmap item common to viewer and voice projects, includes text to speech and speech to text capabilities to address accessibility and provide live transcription by design.
Project DreamGate is a Firestorm Viewer fork for OpenSimulator.
Improvements are needed so those with disabilities who prefer the Firestorm user interface do not experience digital marginalization.
Project Helios encompasses OpenSimulator R&D and support for all IMA projects on the Metaverse Depot Grid.
Grid work directly related to Project SceneGate includes bringing the DIVA WiFi user pages into standards compliance with the Americans with Disabilities Act.
The IMA Metaverse Depot Grid extends Research and Development championed by the former MOSES team.
MOSES In A Box used a single virtual machine image of a grid to deliver a platform agnostic “plug and play” solution.
The research question we asked was: Can multiple virtual machines be used to decentralize virtual worlds on an OpenSimulator grid and what will the benefits be?
The research answer is yes with tradeoffs. OpenSimulator related development has evolved from this research.
Some benefits include segregation, ease of installation, ease of administration, and ease of remote machine connections.
Tradeoffs include increased vCPU and RAM resources, but the approach will deliver a platform agnostic “plug and play” solution called IMABox.
Work continues with a focus on further easing grid administration, security of remote machine connections, and security of SceneGate Viewer connections.
On that note, please welcome Natacha who will discuss her research around security issues.
Security is important because it is a matter of TRUST.
We should preserve users trust by granting the safety of their data.
Security is important for every user: both military and civilian.
Unfortunately, currently the viewer is not secure.
Credentials are sensible information. The viewer sends username and MD5 hash of the password to the server.
MD5 should not be used due to risk of cryptographic collisions, brute force attacks, and rainbow tables attacks.
Security can be improved with SHA256 or SHA512, salt hashes, and the implementation of TLS.
Sensible data can be exchanged with the server.
Currently there is no data encryption of user information, avatar information, links, code, or chat.
Server-side modifications are needed to implement TLS and encrypt sensible data.
Usage of third-party libraries is needed for a gain in time and better tools for development.
But this can increase the attack surface with more lines of code, libraries calling others, known vulnerabilities, and outdated or unsupported libraries.
79% of libraries are old while 15% are up-to-date. This leaves 6% with unknown status.
There are risks that can be classified by severity: 1% low, 40% medium, 38% high, and 21% critical.
There are steps that can be taken to minimize risks associated with third-party libraries.
Update the libraries, watch for new vulnerabilities, and stay up-to-date.
In conclusion, changes must be done on the server side and the client side to improve security.
No implementation of TLS equals no security. We must be careful how data is sent.
Security is an everyday challenge because we need to watch for new vulnerabilities and do regular updates.
The repository wiki structure is built but we need help to finish and maintain it.
Items to finish include tutorials and frequently asked questions. Build instructions for Mac are pending.
Anyone can participate in testing and bug reporting or even contribute bug fixes.
We plan to expand the development team as work progresses. If you are interested, contact me!
Thank you for joining our session today! We have some time for discussion. Are there any questions for the panel?