Open Wonderland

Last updated

Open Wonderland
Original author(s) Open Wonderland Foundation, Sun Microsystems
Preview release
0.5 User Preview 4 (2010-0_5_A4) / May 2010;13 years ago (2010-05)
Written in Java
Operating system Cross-platform
Platform Java
Type Virtual world, 3D computer graphics, Collaboration
License GPL v2 with the "Classpath" exception [1]
Website openwonderland.org

Open Wonderland (originally Project 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.

Contents

The vision for Open Wonderland is to provide an environment that is robust enough in terms of security, scalability, reliability, and functionality that organizations can rely on it as a place to conduct real business. Organizations should be able to use Open Wonderland to create a virtual presence to better communicate with customers, partners, and employees. Individuals should be able to do their real work within a virtual world, eliminating the need for a separate collaboration tool when they wish to work together with others. Individuals should also be able to tailor portions of the world to adapt to their work needs and to express their personal style. The types of collaborations that can happen within the space include audio communication, live desktop applications of all kinds, and eventually collaborative creation of world content (both graphical and procedural).

Project Wonderland had been funded by Sun Microsystems since its early development. On January 27, 2010, Sun Microsystems was acquired by Oracle [2] who decided to cease funding. [3] Project Wonderland continued as an independent community-supported open-source project named "Open Wonderland". [4]

Technical overview

The Open Wonderland toolkit's client/server architecture supports the creation of a wide range of interactive, dynamic virtual worlds. This is made possible by a flexible module system. This scheme allows developers to extend not only the Wonderland client and server, but also to package up artwork and complete worlds as easy-to-install modules. Modules can also be written to connect Wonderland with an unlimited number of external services.

Security and federation are two other key features provided by the Wonderland toolkit. Open Wonderland worlds can be secured behind a corporate firewall if desired, and they can integrate with an enterprise's existing authentication and identity management infrastructure. By default, a module is provided to connect to LDAP authentication systems. For fine-grained security, any object within an Open Wonderland world can be associated with an access control list to govern which users can see, interact with, or edit the object. These access controls are hierarchical, so access can be applied to a single object in a space or to all objects within a room, building or other enclosing 3D structure. Security is a server-side function. This means that objects are never sent to a client that does not have permission to view the object, making it more difficult to defeat the security system.

Federation enables users of Open Wonderland worlds to navigate from one world to another through a number of different user interface mechanisms. These worlds can be dramatically different from one another in terms of content, code, and the organization that runs the server. For example, a user might start in a corporation's virtual lecture hall and walk through a portal to a university's submarine simulation. The lecture hall might have modules installed for virtual microphones, slide show presentations, and business intelligence analysis, while the submarine simulation may include a fluid dynamics module, a working submarine console, and integration with telemetry data from a real submarine. While much of the code to run the Open Wonderland worlds is shared, the specialized 2D and 3D programs that run in these worlds are not shared. Wonderland's federation scheme, which takes full advantage of the Java Programming Language's ability to dynamically load code, means that when a user moves from one world to another, the necessary missing code is downloaded on an as-needed basis. Additionally, users' avatar information is stored on their local system so that their avatar goes with them from one world to the next.

Immersive audio and telephony

Open Wonderland features tight integration of immersive, high-fidelity stereo audio. Using the open source voice bridge, 'jVoiceBridge', not only do you hear recorded audio in stereo at CD-quality, but you also can hear other live people at this quality. jVoiceBridge adapts to allow remote users with lower bandwidth connections to use lower audio fidelities, including telephone-quality.

If you are having a conversation, the high-fidelity audio allows you to hear people's voices coming from the appropriate directions, as you would in the real world. Since voices or other sounds become softer as you move away from them, Open Wonderland easily supports multiple, simultaneous conversations within the same virtual space.

A wide range of audio-related modules can be created using jVoiceBridge. For example, an in-world virtual telephone allows users without access to a computer to dial in to meeting in an Open Wonderland world. Virtual microphones, audio recorders, and a cone-of-silence for private voice chat are other examples of audio-related modules. In addition, recorded audio can be associated with objects in the world, including simulated characters. This allows virtual world developers to create a rich audio experience for visitors.

Shared applications

Wonderland supports three types of shared applications. The first is direct support for 2D X applications (just about any application that will run natively on a Linux system). With this type of shared application, one user can take control and edit a document in the world while others in proximity can watch. It is easy to pass control from one user to another. These applications, which were designed for single users, are handy for troubleshooting together in a terminal window, or working together on standard desktop applications like Open Office, or collaborative web browsing.

The second type of shared applications are multi-user 2D Java applications. Wonderland provides a framework for creating these applications to help developers build true collaboration-aware tools - ones designed from the outset with multiple users in mind. One example of a collaboration-aware application is the slide show viewer in which every person gets a copy of the slides. Users can then either synchronize with the presenter or navigate through the slides independently. Another example is the shared whiteboard. This allows multiple users to draw on the board at the same time. These applications not only have the advantage of being multi-user, but they also perform better because the code for each application runs on the client computer and only minimal amounts of data are shared through the server to synchronize the state.

With most types of 2D applications, developers can enable drag-and-drop of content from the user's desktop into the Open Wonderland window. For example, users can drop any .png or .jpg image into Wonderland and see it displayed with an image viewer application. Users can also drag-and-drop web pages into the world and continue browsing in a multi-user context. Any .svg documents dropped into the world will automatically instantiate an in-world whiteboard for collaborative editing of the document. After editing, the whiteboard documents can be dragged back out onto the desktop for e-mailing to others or for editing with a different application.

The last type of shared applications are multi-user 3D Java applications. Packaged as modules, these applications can contain any combination of artwork and code. An example is the audio recorder mentioned above. This small application includes code for capturing, storing, and playing back audio. It also includes artwork for the recorder, complete with reels that spin when the recorder is on, and 3D buttons for Record, Play, and Stop. Applications can be as small as the audio recorder, as large as a whole world, or somewhere in between. For example, the 'Glasshouse world' from Green Phosphor includes dynamically generated, interactive 3D graphs created from data stored in external corporate data warehouses, databases, or spreadsheets. While collaborating, users can highlight rows, columns or cells, and they can drill down into the data by generating sub-graphs.

The ability to mix and match these three types of applications within a Wonderland world enables developers to create rich, interactive collaborative experiences for distributed groups of users.

See also

Related Research Articles

<span class="mw-page-title-main">Microsoft Access</span> Database manager part of the Microsoft 365 package

Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Access Database Engine (ACE) with a graphical user interface and software-development tools. It is a member of the Microsoft 365 suite of applications, included in the Professional and higher editions or sold separately.

<span class="mw-page-title-main">X Window System</span> Windowing system for bitmap displays on UNIX-like systems

The X Window System is a windowing system for bitmap displays, common on Unix-like operating systems.

ScriptBasic is a scripting language variant of BASIC. The source of the interpreter is available as a C program under the LGPL license.

freedesktop.org (fd.o), formerly X Desktop Group (XDG), is a project to work on interoperability and shared base technology for free-software desktop environments for the X Window System (X11) and Wayland on Linux and other Unix-like operating systems. Although freedesktop.org produces specifications for interoperability, it is not a formal standards body.

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.

NX technology, commonly known as NX or NoMachine, is a remote access and remote control computer software, allowing remote desktop access and maintenance of computers. It is developed by the Luxembourg-based company NoMachine S.à r.l.. NoMachine is proprietary software and is free-of-charge for non-commercial use.

The Croquet Project is a software project that was intended to promote the continued development of the Croquet open-source software development kit to create and deliver collaborative multi-user online applications. Croquet is implemented in Squeak Smalltalk.

<span class="mw-page-title-main">Web conferencing</span> Forms of online many-to-many communication

Web conferencing is used as an umbrella term for various types of online conferencing and collaborative services including webinars, webcasts, and web meetings. Sometimes it may be used also in the more narrow sense of the peer-level web meeting context, in an attempt to disambiguate it from the other types known as collaborative sessions. The terminology related to these technologies is exact and agreed relying on the standards for web conferencing but specific organizations practices in usage exist to provide also term usage reference.

Windows Presentation Foundation (WPF) is a free and open-source graphical subsystem originally developed by Microsoft for rendering user interfaces in Windows-based applications. WPF, previously known as "Avalon", was initially released as part of .NET Framework 3.0 in 2006. WPF uses DirectX and attempts to provide a consistent programming model for building applications. It separates the user interface from business logic, and resembles similar XML-oriented object models, such as those implemented in XUL and SVG.

<span class="mw-page-title-main">Microsoft NetMeeting</span> Discontinued videoconferencing software

Microsoft NetMeeting is a discontinued VoIP and multi-point videoconferencing program offered by Microsoft. NetMeeting allows multiple clients to host and join a call that includes video and audio, text chat, application and desktop sharing, and file sharing. It was originally bundled with Internet Explorer 3 and then with Windows versions from Windows 95 to Windows Server 2003.

<span class="mw-page-title-main">Virtual desktop</span> User interfaces describe ways in which virtual space of a computers desktop is expanded

In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical limits of the screen's display area through the use of software. This compensates limits of the desktop area and is helpful in reducing clutter of running graphical applications.

The Speech Application Programming Interface or SAPI is an API developed by Microsoft to allow the use of speech recognition and speech synthesis within Windows applications. To date, a number of versions of the API have been released, which have shipped either as part of a Speech SDK or as part of the Windows OS itself. Applications that use SAPI include Microsoft Office, Microsoft Agent and Microsoft Speech Server.

VirtualGL is an open-source software package that redirects the 3D rendering commands from Unix and Linux OpenGL applications to 3D accelerator hardware in a dedicated server and sends the rendered output to a (thin) client located elsewhere on the network. On the server side, VirtualGL consists of a library that handles the redirection and a wrapper program that instructs applications to use this library. Clients can connect to the server either using a remote X11 connection or using an X11 proxy such as a VNC server. In case of an X11 connection some client-side VirtualGL software is also needed to receive the rendered graphics output separately from the X11 stream. In case of a VNC connection no specific client-side software is needed other than the VNC client itself.

In computing, the term remote desktop refers to a software- or operating system feature that allows a personal computer's desktop environment to be run remotely from one system, while being displayed on a separate client device. Remote desktop applications have varying features. Some allow attaching to an existing user's session and "remote controlling", either displaying the remote control session or blanking the screen. Taking over a desktop remotely is a form of remote administration.

<span class="mw-page-title-main">ThinLinc</span>

ThinLinc is a cross-platform remote desktop server developed by Cendio AB. The server software and the users' main desktops run on Linux. Clients are available for Linux, Windows, macOS, and a number of thin clients. A browser client using HTML5 technologies is also available.

Remote Desktop Services (RDS), known as Terminal Services in Windows Server 2008 and earlier, is one of the components of Microsoft Windows that allow a user to initiate and control an interactive session on a remote computer or virtual machine over a network connection. RDS was first released in 1998 as Terminal Server in Windows NT 4.0 Terminal Server Edition, a stand-alone edition of Windows NT 4.0 Server that allowed users to log in remotely. Starting with Windows 2000, it was integrated under the name of Terminal Services as an optional component in the server editions of the Windows NT family of operating systems, receiving updates and improvements with each version of Windows. Terminal Services were then renamed to Remote Desktop Services with Windows Server 2008 R2 in 2009.

<span class="mw-page-title-main">Open Cobalt</span> Software for creating virtual worlds

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.

OnlyOffice, stylized as ONLYOFFICE, is a free software office suite and ecosystem of collaborative applications. It features online editors for text documents, spreadsheets, presentations, forms and PDFs, and the room-based collaborative platform.

The following outline is provided as an overview of and topical guide to the Perl programming language:

InSoft Inc. was an American developer of network-based communications software and multimedia software founded in 1992 in Mechanicsburg, Pennsylvania. The company’s applications included Communique, which is used for desktop collaboration and videoconferencing.

References

  1. "FAQ - Licensing". Open Wonderland Website. Retrieved April 17, 2011.
  2. "Oracle Completes Acquisition of Sun". Oracle.com. January 27, 2010. Retrieved August 20, 2010.
  3. "Good News and Bad News : Wonderblog". Blogs.sun.com. Archived from the original on February 3, 2010. Retrieved August 20, 2010.
  4. "Laid off Wonderland developers to continue project – Hypergrid Business". Hypergridbusiness.com. February 4, 2010. Retrieved August 20, 2010.