OpenSimulator : create a virtual environment similar to Second Life™

Last update : January 22, 2013

logo by Adam Frisby

OpenSimulator logo by Adam Frisby

OpenSimulator (OpenSim) is a 3D Application Server that can be used to create a virtual environment (or world) similar to Second Life™. OpenSimulator is released under a BSD License, making it both open source, and commercially friendly to embed in products. Environments, protocols and features are supported via add on modules. The available modules (alternative gridservers, plugins and region modules, etc) are hosted on OpenSim Forge. OpenSimulator is powered by the community members that devote time and energy to the effort.

OpenSim is still at an alpha code maturity stage, the current latest releases is 0.7.6  released on October 4, 2013 (git source repository). OpenSimulator requires either the .Net Framework version 3.5, or Mono 2.4.3 or newer.

The OpenSimulator website provides documentation, FAQ’s, grid lists, bug reports, wish lists, forums, configuration files, news, blogs, rss feeds, technical reference, IRC channels, links, support and other informations concerning the development of the OpenSim project.

The following 3D Viewers are known to work with OpenSim : Official Second Life ™ Viewer, Hippo Viewer, Imprudence Viewer, realXtend Viewer and Meerkat Viewer.

An up-to-date coverage of the OpenSim technology is offered in-depth by the Hypergrid Business magazine.

Some commercial providers of OpenSim virtual worlds are listed hereafter :

Google Wave : an online tool for real-time communication and collaboration

last update : 21 August 2011

In August 2010, Google announced that Wave would no longer be developed as a standalone product, but that the Wave technology would survive in other products. The following informations refer to the initial plans.

The Google Wave product is currently available as a developer preview. It’s an HTML 5 app, built on Google Web Toolkit. It includes a rich text editor and other functions like desktop drag-and-drop. Google Wave can also be considered as a platform with a rich set of open APIs that allow developers to embed waves in other web services, and to build new extensions that work inside waves.

A wave is equal parts conversation and document. A wave is shared. A wave is live.

The Google Wave protocol is the underlying format for storing and the means of sharing waves, and includes the “live” concurrency control, which allows edits to be reflected instantly across users and services. The protocol is designed for open federation, such that anyone’s Wave services can interoperate with each other and with the Google Wave service. To encourage adoption of the protocol, Google intend to open source the code behind Google Wave.

Users can request an invitation to Google Wave Preview and developers can request an Wave sandbox account.

Google Chrome OS : an open source operating system

Two days ago, Google announced on the official Google Blog the open-sourcing  of the project Chromium OS, presented in july 2009. As with the Google Chrome browser, development will be done in the open from this point on, one year before  Google Chrome OS will be ready for users. This means the code is free, accessible to anyone and open for contributions.

The release of Chromium OS includes:

  • Chromium Blog
  • Source code
  • Design docs
  • User interface experiments
  • How to build and contribute
  • Short overview video

Google Product Search & Merchant Center

Google Base is a place where users can easily submit all types of online and offline content, which will be made searchable on Google. You can describe any item you post with attributes, which will help people find it when they do related searches. Google Base is is free and is currently available with English and German interfaces. Iinformations about all types of online and offline content are submitted to Google Base via a data feed or Google Base API.

Google Merchant Center is another way to manage Product-type items.  It’s a new service that makes it easy to upload and manage the Product listings you want to appear in Google Product Search, AdWords, and other Google properties.

Compared to Google Base, the Google Merchant Center provides a better, optimized experience specifically for merchants. Google will continue adding features and improving the tools for uploading and managing product listings. Accounts using Google Base for Product listings have already been transferred to the Merchant Center.

The Google Product Search application is currently still in a beta version.

ROR : Resources of a Resource

ROR (Resources of a Resource) is an independant XML format for describing any object (products, services, reviews, discounts, images, events, schedule, podcasts, …)  in a generic fashion, so that any search engine can better understand that content. rorweb.com is the official ROR website.

ROR promotes the concept of structured feeds (which is related to the concept of structured blogging) enabling search engines to complement text search with structured information to better understand meaning. ROR information is typically stored in a ROR feed called ror.xml placed in a website’s main directory.

The specifications of ROR have been updated last in march 2005. The ROR website provides FAQ’s, sample ROR feeds, a Developer’s corner, a blog,  free tools and lists of ROR providers and terms. It seems however that there are currently no new activities going on at the ROR website.

The Apache CouchDB Project

Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution. CouchDB provides a RESTful JSON API than can be accessed from any environment that allows HTTP requests.

CouchDB is written in Erlang, a robust functional programming language ideal for building concurrent distributed systems. Erlang allows for a flexible design that is easily scalable and readily extensible.

Manage your Amazon S3 Account with Ease

Amazon S3 is a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. Several software clients are available to manage an S3 account with ease, some are listed below:

  • S3 Browser : freeware (version 1.9.7 ; 1.9.8 beta) and pro licence available from NetSDK Software
  • Cyberduck : FTP, SFTP, WebDAV, Cloud Files & Amazon S3 Browser for Mac OS X
  • BucketExplorer : different licenses starting at 49.99$ available for Windows, MAC and Linux
  • FireFox S3 : free plugin for FireFox browser
  • CloudBerry : freeware Windows client
  • CloudBuddy : CloudBuddy Personal is a free tool brought to you by CSS Lab

Same origin policy

In computing, the same origin policy is an important security concept for a number of browser-side programming languages, such as JavaScript. The policy permits scripts running on pages originating from the same site to access each other’s methods and properties with no specific restrictions, but prevents access to most methods and properties across pages on different sites.

The concept of same origin policy is often extended to define roughly compatible security boundaries for other web scripting languages, such as Adobe Flash, or for mechanisms other than direct DOM manipulation, e.g.  XMLHttpRequest (Ajax).

The most popular ways to do cross domain calls via JavaScript are :

  • proxies : the most common approache (your script calls your server, your server makes the call to the remote server and then returns the result back to the client)
  • JSON : callback (the remote server needs to accept an additional parameter: a callback function)
  • Flash : bridge (Flash can enable the capability of remote access by placing a special XML policy-file on the remote server to accept requests from other domains)

Run your web applications on Google App Engine

Google App Engine lets you run your web applications on Google’s infrastructure. App Engine applications are easy to build, easy to maintain, and easy to scale as your traffic and data storage needs grow. You can serve your app from your own domain name or from a free name on the appspot.com domain.

Google App Engine supports apps using standard Java technologies, including the JVM, Java servlets, and the Java programming language—or any other language using a JVM-based interpreter or compiler, such as JavaScript or Ruby. App Engine also features a dedicated Python runtime environment, which includes a fast Python interpreter and the Python standard library. The Java and Python runtime environments are built to ensure that your application runs quickly, securely, and without interference from other apps on the system.

App Engine costs nothing to get started. All applications can use up to 500 MB of storage and enough CPU and bandwidth to support an efficient app serving around 5 million page views a month, absolutely free. When you need more resources and enable billing for your application, your free limits are raised, and you only pay for resources you use above the free levels.  There are no set-up costs and no recurring fees. The resources your application uses, such as storage and bandwidth, are measured by the gigabyte, and billed at competitive rates. You control the maximum amounts of resources your app can consume, so it always stays within your budget.

The Java runtime environment uses Java 6, the App Engine Java SDK supports developing apps using either Java 5 or 6. The Python runtime environment uses Python version 2.5.2. Additional support for Python 3 is being considered for a future release. App Engine provides a powerful distributed data storage service that features a query engine and transactions. Just as the distributed web server grows with your traffic, the distributed datastore grows with your data. You can register up to 10 applications per developer account.

SDK’s are available for Java and Python, a plugin for Eclipse exist, Getting Started guides and other documentations are available at the Google App Engine website.

Informations about prices, billing and budgets are also available on the website. A direct access to the login page is here.

Limit my bandwith on Amazon S3

In 2006, a developer raised the question in the Amazon Discussion Forum whether there is a risk that the bandwidth cost grow beyond a level he was not willing to pay for. AWS answered that such a feature is in the work. The plan was to enable users to cap how much they are charged each month.

Three and a half year later, this is still a plan. The latest message from AWS was : later this year (2009) or early next year (2010).