This article contains text that is written in a promotional tone .(January 2024) |
This article needs additional citations for verification .(January 2024) |
The virtual world framework (VWF) is a means to connect robust 3D, immersive, entities with other entities, virtual worlds, content and users via web browsers. It provides the ability for client-server programs to be delivered in a lightweight manner via web browsers, and provides synchronization for multiple users to interact with common objects and environments. For example, using VWF, a developer can take video lesson plans, component objects and avatars and successfully insert them into an existing virtual or created landscape (such as EDGE [1] or Open Sim), interacting with the native objects and users via a VWF interface. [2]
VWF further opens the door to interface different training content, simulations, objects, users and locations; which will extend and expand the scope of training and education. (Imagine running a tank simulation with aviation assets, provided by two different simulations suites, but executed together and passing imagery and sensor data between them, working over a common landscape and feeding a constructive mapping simulation run on a third platform, all seamlessly and transparent to remote users via their browsers). The VWF is meant as a useful tool to interact with differing types of entities (objects, avatars, simulations, spaces). As an open-source tool protected under the Apache II license, VWF is free and accessible to any number of developers who can create content and expand its scope and functionality. The VWF delivers its interactivity using the web, creating an opportunity to align mismatched objects or environments. VWF is under development to work with Massively Multiplayer Online Role Playing Games (MMORPG) such as EDGE, and ideally will be developed to interface with the latest object encodings (such as Unity and MP4), environments (such as OpenSim MOSES) and other simulations platforms in order to create a truly agnostic interfacing tool.
Even though it has a suggestive name, the VWF is not a virtual world. Nor is it a virtual world generation tool. Can the VWF produce a virtual space and content to fill it? Yes, it can, and it absolutely can be used to provide additional objects and interactions to augment/interact with entities to which it connects. VWF is not a simulator. The VWF is meant to extend the use of active client-server simulations in order that they can be accessed via a web browser. It is also meant to add extra dimensions to existing simulations or to create simulation content to add to an existing virtual space (such as MOSES) or a spontaneously generated space. The VWF has the capability to create fully functional simulations but is not meant to be a complete simulator on its own.
VWF is not an avatar, nor does it require an avatar to run. The VWF does not require a virtual space in order to work; it can be used to generate a virtual space within the web browser or locally on the host machine. The VWF does not need an avatar to function, and does not necessarily generate avatars for use with virtual worlds, but can be used to produce or interact with avatars.
The United States Department of Defense (DoD) cannot continue to do business as usual. In FY05, the DoD spent $9.1B in Modeling and Simulation related activities. Approximately 40% of that budget was used for simulators, war gaming, and modeling. [3] The vision of the VWF is to reduce the funding used to support M&S activities in direct support of pressure to reduce spending and increase efficacy of existing / emerging technology. [4]
The DoD needs a tool to tie together its myriad, stove-piped, specialty simulations solutions. It needs a tool to extend and expand its ability to train an increasing number of personnel across ever-widening distances. DoD stresses a need to reduce and reuse technology and to find more cost-efficient means to provide the most advanced technological and pedagogical systems of training. It is not just about training DoD personnel however.
We are surrounded by immersive, personalized social media and technology (such as Smart Phones, Facebook, Twitter, Pandora Radio, Project Glass and augmented reality sites such as Layar). Traditional education systems do not allow for the pace of information sharing and immersion that media, games and the internet provide to youth on a regular basis and modernization/customization of education is becoming absolutely essential to its effectiveness. [5] The intersection of technologies and the speed/volume of data delivery create a perfect storm of possibility for this system to provide the most good at the best cost.
The VWF is for developers of simulations, education systems, training content, games, information sharing, private individuals, really anyone with an interest in sharing information with multiple users in a lightweight fashion using a web browser as a delivery mechanism. The VWF is for users to be able to access information, training, or content no matter where they are or what their hardware or bandwidth restrictions may be, as long as they have a secure link to the training server through the internet. The VWF is to provide rapidly available content to those who need it most, when they need it, in a fashion which is accessible and low-overhead.
VWF means a massive savings in preventing redundancy, in linking different systems and in building economies of scale and scope. It means access to unprecedented complexity of training content and a huge flexibility in its delivery. It means faster and more thoroughly trained personnel. It means platform-independent computing solutions for passing any type of data quickly and efficiently. It means highly adaptive, rapid prototypes independent of the platforms which created them. It means staying at the forefront of the computing trends in information sharing. [6] It means a rapid means of generating customized training solutions. It means spontaneous meeting spaces and a method for delivering increased complexity and speed of intelligence to those who need it.
The DoD owns the rights to the source code of the VWF; however, as it is licensed using Apache II, it is freely usable by any and all as long as original attribution is given to the creators. [7] [ permanent dead link ]
The framework is licensed under the Apache II license, which essentially states that the user of the software is granted a royalty-free license to use, modify, and sell derivative works of, the software as long as the original license and attribution file(s) are included in the distribution of any and all subsequent works. The original work is licensed "as is" and contains no warranties of any kind.
Content rights are managed via the provisions contained in the Apache 2 license. The current content version control is affected by the primary engineers through GitHub, with the latest stable builds published under unique serial numbers.
The designers are David A. Smith (computer scientist) (Lockheed Martin Chief Innovation Officer – project oversight, design, architecture), David Easter (LM Engineer - Development/Architecture), Richard Boyd (Lockheed Martin Virtual world Labs Chief Architect - governance and ecosystem design), Allison Corey (LM Engineer – development), Scott R. Haynes (LM Engineer - Development), Michael J. Vacirca (LM Engineer - Development), Steven D. Carr (LM Engineer - Development), Cynthia L. Moore (contractor, OSD(P&R) TRS – design, future specs, governance), Carlton Rosengrant OSD(P&R) TRS – overall Program Manager, Frank C. DiGiovanni (Director, OSD(P&R)TRS), [8] Coles/RDECOM (Edge interfacing), Robert Chadwick (ADL – code efficiency and applications), and emerging partners as new functions and libraries are proposed.
VWF is posted on GitHub, [9] and is open to any and all developers who wish to contribute forks, projects, suggestions or build-outs for the framework. The original creators especially seek major platform developers who wish to add interfacing to their platform for use with VWF, such as MMOs, simulations designers, terrain mapping providers, 3D modeling, virtual landscapes, etc. The paper "A Virtual World Ecosystem Framework", presented at the IITSEc conference in 2012, explains the philosophy of contribution to the system. [10]
The VWF is managed via GitHub and developer inputs through a loose consortium of the original creators. In time, the community will stand up a non-profit governing organization, in order to conduct full-time partnerships and version control of the software. Through the use of the latest codecs, interfacing partnerships with major content, object and texture providers, and a persistent location, it is additionally the goal of the creators that VWF will evolve into the standard for interfacing content with users on the web.
The VWF is available for use in web applications, and there are a few minor applications/demonstrations already constructed as proofs of concept. [9] As the community extends the robustness of the VWF, increases the libraries and finalizes the toolkits, these applications will gain in complexity as well. Developers are welcome to construct web applications with the existing code and examples. There is nothing special required to run completed applications outside of having access to a compatible browser with WebGL and potentially web sockets capability depending on the location of the source objects and interactions.
There are many applications available which advertise themselves as Thin Clients or web interfaces. There are no open source development tools in widespread use that interface different entities in a persistent, secure manner using a thin client through web-browsers. [11] ^
While there are many tools available, many of them are highly specialized and require proprietary software installed on both the client and server side. There are still other tools which produce virtual environments, avatars, and content, but none of the ones known tie them together, spontaneously create interfaces among them or provide seamless communications to all of the entities regardless of their timing and without a heavy burden in bandwidth or processing power for the client. VWF does this and will do more as it continues its evolution. VWF utilizes web sockets and WebGL, directly providing a content link between entities and build 3D objects in the quickest, most efficient manner possible. Other virtual interfacing programs utilize Flash which also provides direct content, but does so in a less efficient manner.
VWF information is available on two sites: Virtual World Framework Homepage (mirrored on vwf mirror site) and github (search virtual-world-framework).
VWF can be applied to content to train on most tasks which do not require solely live training. Specifically: Curriculum facilitated through simulations, classroom training, augmented reality, mixed media training, and games are the ideal candidates for VWF. Augmented reality content delivered to classrooms, or augmented additions to mobile devices such as this one Also simulations which combine live training with simulated content are good candidates for VWF. The complexity of the training and the number of trainees largely dictates the date by which this VWF capability will be delivered. For delivery of classroom-type training the VWF is capable of being used to develop content. For simulations-type training, following the persistence and synchronization elements of the VWF being developed in the next 6 months (by fall 2012), this capability of the VWF should be possible. For augmented reality and truly immersive gaming, VWF will be under development with critical partners and hopes to have this capability in the coming 24 months, depending on current technologies and partnerships.
Ideally, VWF will be used in live, virtual, and constructive simulation (LVC) exercises as a primary or secondary delivery mechanism. LVC is ideal for VWF delivery due to its large virtual/digital component and its need to be delivered to myriad audiences in a variety of locations/platforms.
Live objects such as aircraft, weapons and vehicles will pass data to the simulator through sensors (read off of the radar/weapons/sensors on the live equipment directly into the simulation and then the input/output data passed through VWF to the myriad participants), data streaming through interfacing servers (in the case of personnel/equipment trackers such as Blue Force Tracking) and through information injection through constructive simulations (such as placing live units on a map and manually tracking their status/positions).
Simulations do not take place "in" the Virtual World Framework. The VWF is a tool to help interface different entities. [2] constructive simulations, in which simulated people operate simulated systems, are stimulated using human inputs. Ostensibly the VWF would provide the interface (via the web) for some or all of these humans who would be inputting data into the system, then would receive the simulation results from the program executing on the server machine/cloud/locally-determined-host, and would display the results in some fashion via web interface.
Developers use the VWF to build simulations using JavaScript and functionality provided through the VWF. The VWF generates the appropriate display and manipulation files at the time of compilation. As the VWF develops a construction environment will be developed in order to allow users to drag and drop content and manipulate it, greatly reducing production time/complexity. This environment is under construction, and is anticipated to be completed at the end of 2012.
The web is agnostic to content. The VWF is not secure or unsecure. The use of secure socket layer encryption (SSL), virtual private networks (VPN), public key encryption (PKI), proprietary encryption, hardware secured network systems, etc. provides the security needed to secure any simulations produced and interfaced using the VWF. With the use of IPv6, bit-wise security protocols are available that were previously not available to data transport. A potential additional security method is to add a security bit header to the data transported via VWF in order to provide an additional layer of security. This measure has not yet been added to the current build.
The problem with opening a continuous connection between two computers via a web browser using Web sockets is that it potentially opens up the link to something called cache poisoning, in which someone can directly introduce viruses or other malware to the link, compromising the system. [12] Here is a summary of other weaknesses: Security tool for Web Sockets). Originally, potential security issues led Mozilla and Opera to discontinue support for Web Sockets until the Internet Engineering Task Force (IETF) could produce a standardized Web Sockets protocol as part of HTML5. A work around based on Connect based handshakes (as opposed to upgrade- based handshakes) proved to be secure. The semantics of the handshake as coded into VWF will take this into account. Since late 2011 this has been largely addressed with latest builds and standards, and many web platforms do support Web Sockets.
WebGL (web graphics library) is a JavaScript Application Programming Interface (API) for rendering interactive 3D graphics within any compatible web browser without using plug-ins. WebGL programs include control code (written in JavaScript) and shader code which is executed on the graphics processing unit on the video card (GPU). WebGL is designed and maintained by the non-profit Khronos Group.
Mozilla Firefox 6.0 onward, Opera 11 onward, Google Chrome 9 onward (native support), Safari 5.1 onward. So far, Internet Explorer does not support WebGL and has not announced any plans to support WebGL. Chrome Frame and IEWebGL plug-ins support WebGL for IE 6.0 onward.
The WebGL standard is affected by the Khronos Group, Mozilla, Apple and Google along with influence from United States Computer Emergency Readiness Team which raises security concerns to which the WebGL consortium (headed by the Khronos Group) react.
Most PCs, laptops, and tablets support WebGL capable browsers. Mobile support for WebGL is nascent. Expectations are that current mobile bindings for JavaScript and WebGL are not good enough [13] but there is an Android version of Firefox with WebGL (only about 10% of potential users access content via mobile device requiring WebGL support). Opera also supports WebGL on Android platforms. iPhone does not support WebGL yet.
Microsoft does not have plans to support WebGL due to security concerns over handshake vulnerabilities. [14] There are two plug-ins for Internet Explorer which support WebGL interfaces: Chrome Frame and IEWebGL. It is true that native support tends to run better than plug-in support, and not all security organizations will support the installation of additional plug-ins to web browsers.
JavaScript is a prototype-based scripting language that is dynamic, weakly typed, general purpose and supports object oriented, imperative, and functional programming styles. This means that JavaScript enables the programmer to build a series of prototypes and interact with them using a mostly literal syntax based on C. Due to its ease of use and widespread appeal, JavaScript quickly became one of the most popular programming languages for web applications.
JavaScript runs locally in the browsers, does not require additional plug ins or environments (like the Java runtime environment) to run, and does not require compilation or .exe files to be run on the client machine in order to work. It is faster, more efficient, and simpler to build and execute than both Java and C#.
HTML 5.0, ECMAScript5, WebGL, Web Sockets, Collada (or other later file formats), and others as the tool matures.
Developers can download the latest build of VWF from GitHub and submit their recommendations, code and applications directly on the site. GitHub allows users to create their own forks, submit pull requests, and leave questions, comments and support related items in the issue tracker.
VWF is available freely and openly on GitHub to any and all persons, regardless of origin. VWF content specifically designed for operations will be negotiated on a case-by-case basis depending on the content, training objectives, and coalition goals being exercised. There is no standing reason why VWF cannot be shared and there are no security restrictions on the original code.
Can commercial entities build services or games with the VWF? Absolutely. The VWF is meant to interface content via the web, but it also contains construction pieces enabling the creation of games or communications services wholly executable within the web browser. VWF is licensed using Apache II, but this allows for a commercial repackaging of the open-source portions as part of a larger work. These games and services would capitalize on the direct link between entities facilitated by the VWF, while the company would determine where the resources were located. For example: A game company might use VWF to create an online game using their proprietary graphics, and store both the graphics and the program files on their own servers while delivering that content through the web; a teleconference company might more efficiently create an e-classroom with the VWF to take their own streaming media codec and pass their video through the web to a digital classroom environment created wholly with the VWF, complete with avatars and interactive objects.
There is a multitude of partners and advisors for the VWF project. There are the creators (mentioned earlier), as well as partnerships with Mark P. McCahill from Duke University, Advanced Distributed Learning (ADL), Doug Maxwell (for MOSES) and Cole Corporation (for the Edge military MMO). All of these personnel provide advisory support to the VWF. The creators encourage additional partnerships meant to expand the scope and scale of VWF.
Java applets were small applications written in the Java programming language, or another programming language that compiles to Java bytecode, and delivered to users in the form of Java bytecode. The user launched the Java applet from a web page, and the applet was then executed within a Java virtual machine (JVM) in a process separate from the web browser itself. A Java applet could appear in a frame of the web page, a new application window, a program from Sun called appletviewer, or a stand-alone tool for testing applets.
GNUstep is a free software implementation of the Cocoa Objective-C frameworks, widget toolkit, and application development tools for Unix-like operating systems and Microsoft Windows. It is part of the GNU Project.
In computing, cross-platform software is computer software that is designed to work in several computing platforms. Some cross-platform software requires a separate build for each platform, but some can be directly run on any platform without special preparation, being written in an interpreted language or compiled to portable bytecode for which the interpreters or run-time packages are common or standard components of all supported platforms.
Web development is the work involved in developing a website for the Internet or an intranet. Web development can range from developing a simple single static page of plain text to complex web applications, electronic businesses, and social network services. A more comprehensive list of tasks to which Web development commonly refers, may include Web engineering, Web design, Web content development, client liaison, client-side/server-side scripting, Web server and network security configuration, and e-commerce development.
Google Web Toolkit, or GWT Web Toolkit, is an open-source set of tools that allows web developers to create and maintain JavaScript front-end applications in Java. It is licensed under Apache License 2.0.
The Yahoo! User Interface Library (YUI) is a discontinued open-source JavaScript library for building richly interactive web applications using techniques such as Ajax, DHTML, and DOM scripting. YUI includes several core CSS resources. It is available under a BSD License. Development on YUI began in 2005 and Yahoo! properties such as My Yahoo! and the Yahoo! front page began using YUI in the summer of that year. YUI was released for public use in February 2006. It was actively developed by a core team of Yahoo! engineers.
Open Wonderland is an open-source toolkit written in Java for creating collaborative 3D virtual worlds. Within those worlds, users can communicate with high-fidelity, immersive audio, share live desktop applications and documents and conduct real business. Open Wonderland is completely extensible; developers and graphic artists can extend its functionality to create entirely new worlds including adding new features to existing worlds.
Web development tools allow web developers to test and debug their source code. They are different from website builders and integrated development environments (IDEs) in that they do not assist in the direct creation of a webpage, rather they are tools used for testing the user interface of a website or web application.
A single-page application (SPA) is a web application or website that interacts with the user by dynamically rewriting the current web page with new data from the web server, instead of the default method of a web browser loading entire new pages. The goal is faster transitions that make the website feel more like a native app.
Open Cobalt is a free and open-source software platform for constructing, accessing, and sharing virtual worlds both on local area networks or across the Internet, with no need for centralized servers.
Vaadin is an open-source web application development platform for Java. Vaadin includes a set of Web Components, a Java web framework, and a set of tools that enable developers to implement modern web graphical user interfaces (GUI) using the Java programming language only, TypeScript only, or a combination of both.
WebGL is a JavaScript API for rendering interactive 2D and 3D graphics within any compatible web browser without the use of plug-ins. WebGL is fully integrated with other web standards, allowing GPU-accelerated usage of physics, image processing, and effects in the HTML canvas. WebGL elements can be mixed with other HTML elements and composited with other parts of the page or page background.
The DiSTI Corporation is a company that provides software tools for the development of GUI software and 3D virtual training for simulators and embedded systems.
Socket.IO is an event-driven library for real-time web applications. It enables real-time, bi-directional communication between web clients and servers. It consists of two components: a client, and a server. Both components have a nearly identical API.
WebAR, previously known as the Augmented Web, is a web technology that allows for augmented reality functionality within a web browser. It is a combination of HTML5, Web Audio, WebGL, and WebRTC. From 2020s more known as web-based Augmented Reality or WebAR, which is about the use of augmented reality elements in browsers.
Front-end web development is the development of the graphical user interface of a website, through the use of HTML, CSS, and JavaScript, so that users can view and interact with that website.
PlayCanvas is an open-source 3D game engine/interactive 3D application engine alongside a proprietary cloud-hosted creation platform that allows for simultaneous editing from multiple computers via a browser-based interface. It runs in modern browsers that support WebGL, including Mozilla Firefox and Google Chrome. The engine is capable of rigid-body physics simulation, handling three-dimensional audio and 3D animations.
Blend4Web is a free and open source framework for creating and displaying interactive 3D computer graphics in web browsers.
Phaser is a 2D game framework used for making HTML5 games for desktop and mobile. It is free software developed by Photon Storm.
{{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: unfit URL (link){{cite web}}
: CS1 maint: unfit URL (link)