Jul 27 2009

Thinking in the overlap

Henrik Bennetsen

We have been pretty excited about our embedded browser Berkelium and it was good to see Patrick pull the trigger on it. Within our group there is an emerging sense that this technology is going to mean something and I wanted to start sharing a few thoughts-in-progress on this.

Imagine two circles where one is the web and the other represents virtual worlds/immersive environments/3D spaces (this includes the game space). These circles overlap but only very little at this point. Basically Berkelium is an attempt to push these two circles closer together. Lets put the 2D vs. 3D discussions behind us and explore the synergy that lives in the overlap.

During the course of the work on the Sirikata platform I have become increasingly interested in what happens in the webspace. HTML5 looks exciting in large number of ways as does dramatically faster javascript. Both these are central to driving the emergence of rich internet applications. These used to mainly be converted from the desktop but now a new wave (pun intended) with a web native feel is emerging. These born are born in the cloud and works in real-time.

Whether you look at the underlying technology or the resulting apps there has never been a better time to explore the overlap. With Berkelium in place we have started to build the foundation that lets us leverage advances in the webspace. The ultimate goal is to figure out the ecology that takes collaborative 3D to web-scale.

We think that lots of smart thinking is needed to move this forward. For the same reason we choose to make the open source & cross platform Berkelium available as a standalone library so that other platforms may integrate and contribute to it as well. Think smaller piece of a larger pie.

To be continued (but feel free to join in now)


Jul 25 2009

Berkelium

Patrick Horn

Over the past three months, we’ve been working on a new BSD-licensed browser engine called Berkelium. Berkelium is a library that provides off-screen browser rendering via Google’s open source Chromium and takes advantage of Chromium’s multi-process rendering engine, allowing us to safely isolate browser instances.  Best of all, it is independent of Sirikata—you can incorporate it into any project to get a simple, easy to use API for off-screen web browsers.  We’ve started using it in Sirikata to allow arbitrary 3d objects to contain browsers, and in the future, objects may be able to run a user interfaces and even entire object scripts within the sandbox of a browser window.

Berkelium should support plugins, but currently that support is limited to Flash (on all platforms). Hopefully many needs will be addressed by new features in HTML5. For those that aren’t, we believe Flash is able to fill the gap. (For the curious with some spare time, it may be possible to use a hooked HDC on Windows, and to use the X11 Composite extension to render plugins to OpenGL on Linux. However, we suspect enabling arbitrary plugins and programs in this way would take a good month of work to get right.)

And, of course, we wouldn’t leave you without a demo of the browser in action in Sirikata:


Jul 25 2009

Mixed Reality Performance: An Evening on Sirikata

Henrik Bennetsen

One of the things I have been really excited about was when I get to write about some of the interesting projects that is propelling the development of our little platform forward. This first one, a mixed reality performance, I am very involved in myself. Just got word from Matteo Bittanti that his piece Mixed Reality Performance: An Evening on Sirikata will be featured in WIRED Italy’s September issue. The article describes our upcoming performance at the MiTo International festival of Music in Milan, Italy, on September 12 and 13 2009.

From Matteo’s blog:

Mixed Reality Performance is an experiment in which physical spaces and Musicians from different continents encounter one another on-line. Promoted by MITO SettembreMusica in collaboration with the Stanford Humanities Lab and the Stanford Center for Computer Research in Music and Acoustics, this production is an experiment in on-line interaction among musicians in different locations. While a pianist plays their music is manipulated by other musicians on-line; from across the ocean other acoustic realities are manipulated and appear projected in 3-D on walls. Spectators are immersed in a recreated world of sound in an installation that marks the birth of the performance spaces on Sirikata, the most recent open source platform on the web.

In the post you can also read a bit about some of the tech that will drive this performance. All the work code and art asset work we do for for this will be made available under open licenses so if you have an interest in collaboration around music performance in Sirikata then please be in touch as we already now start the planning for future projects.


Jul 24 2009

More than a thousand you know whats

Henrik Bennetsen

Just setup a Sirikata account at Flickr for our pictures. You can also get to this from the Pictures link above. For the first image I used a recent one from one of our devs Daniel Horn who sez:

I’ve gotten some pretty neat Ogre effects into sirikata including a dynamic interior and exterior cube map.

Here is the shot:

Cube map reflections

Cube map reflections


Jul 24 2009

From there to here

Henrik Bennetsen
As of writing these words in late July 2009 our project is now about 6 months old. With an emerging public framework including this blog in place it might be good to tell a little about the background of Sirikata.
The project got started when a small group of people came together at Stanford. In the group were people from Computer Science who had spent a few years looking into how to build a better platform for collaborative 3D spaces. The work had lead to a well described architecture as well as a prototype. The other party was from the Stanford Humanities Lab who had done work on a bunch of platforms without ever feeling they found the right one. They now had some new projects emerging and a need for a better platform to build these on.
A collaboration was established around a few basic principles:
We need to grow Sirikata to be fully community run and owned open source project.
The platform technology needs to be open and neutral like the World Wide Web itself.
A major effort during these first 6 months has been to refactor the entire system. This basically meant starting from scratch but with the benefit of having built one prototype as well as reusing code from it when appropriate. We have jokingly called this our ‘walk in the desert’ phase. Nothing much to show except for a strong belief that we were working towards something that matters.
We are now starting to feel that we are getting to a place where we have something of interest. From this blog we will be starting to talk in a more public way as our continued efforts towards becoming better at the distributed thing. We should be able to share some early builds you can check out along with visuals and other signs we are moving forward. So please pop us in your reader and stay tuned!

As of writing these words in late July 2009 our project is now about 6 months old. With an emerging public framework including this blog in place it might be good to tell a little about the background of Sirikata.

The project got started when a small group of people came together at Stanford. In the group were people from Computer Science who had spent a few years looking into how to build a better platform for collaborative 3D spaces. The work had lead to a reasonably well described architecture as well as a prototype. The other party was from the Stanford Humanities Lab who had done work on a bunch of platforms without ever feeling they found the right one. They now had some new projects emerging and a need for a better platform to build these on.

A collaboration was established around a few basic principles:

  • We need to grow Sirikata to be fully community run and owned open source project.
  • The platform technology needs to be open and neutral like the World Wide Web itself.

A major effort during these first 6 months has been to refactor the entire system. This basically meant starting from scratch but with the benefit of having built one prototype as well as reusing code from it when appropriate. We have jokingly called this our ‘walk in the desert’ phase: Nothing much to show except for a strong belief that we were working towards something that matters.

We are now starting to feel that we are getting to a place where we have something of interest. From this blog we will be starting to talk in a more public way as part of our continued efforts towards becoming better at the distributed thing. We should be able to soon share some early builds for you to check out along with visuals and other signs we are moving forward. So please pop us in your reader and stay tuned!


Jul 16 2009

We got a blog!

Henrik Bennetsen

With the possible exception of Wikipedia there comes a time in every project’s life where it is time to say goodbye to having our wiki as a frontpage. That time has now come for our little Sirikata platform.

:)


Jul 13 2009

Sirikata Bug Tracker

Ewen Cheslack-Postava

bug database screenshot

Sirikata is slowly improving the infrastructure surrounding the project: we’ve had the mailing lists and a code repository since the project started, added the wiki soon after, we have an IRC channel, and most recently we added this blog.  Today, we’re making the new bug tracker public.  We’re using an instance of the excellent Trac software.  Calling it a bug tracker may be giving it too little credit: it also allows you to track milestones, versions, feature requests, commits to the source code repository, and much more.  A lot of the services we need are already provided by GitHub, so we’ve turned many of those features off and are focusing on using Trac specifically to handle bugs and feature requests, with just a little bit of milestone tracking thrown in for good measure.

We still need a bit more documentation on how to file good bug reports.  A short list of items to keep in mind:

  • The version or revision number which the bug was discovered on. Bonus points if you can track down the revision that introduced the problem.
  • The platform you are working on.
  • The features you have turned on and/or plugins you have loaded.
  • A minimal test case if applicable, or a minimal set of steps needed to reproduce the problem.
  • A backtrace if you are reporting a crash and can obtain one.

So if you’ve encountered problems compiling or running Sirikata, please take the time to file a bug report on our new system.  It does require an account to avoid spam, but anybody can register.  And if you run into any problems, email me and/or the developer list for help.


Jul 9 2009

Sirikata talk at Silicon Valley ACM SIGGRAPH

Henrik Bennetsen

The Silicon Valley ACM SIGGRAPH chapter has kindly invited Daniel Horn and myself to come talk about Sirikata. The event is open to the public so if you find yourself near Apple’s Cupertino campus on Thursday, October 15th then I hope you are able to join us.

Here is our abstract:

Sirikata (www.sirikata.com) is an BSD licensed open source platform for games and virtual worlds. We aim to provide a set of libraries and protocols which can be used to deploy a virtual world, as well as fully featured sample implementations of services for hosting and deploying these worlds. The platform has grown out of a several years of research at Stanford University and the current ambition is to expand into a fully community run open source project. In the talk we will describe the technology and its application and explore some possible roads ahead.

Full scoop and logistics


Jul 6 2009

Presentation about Collada in Sirikata

Daniel Horn

Greetings from New Orleans SIGGRAPH 2009.  I just gave a talk about using the COLLADA format in Sirikata at the COLLADA Birds of a Feather event at the Hilton.

I started with a high level description of our system architecture and then went through the rationale for choosing COLLADA as our interchange and display format.  Our reasoning is that Sirikata is essentially a 3d environment editing program and we wish to make the entire model available to users to edit and change its form in much the way as the “view source” option is available when visiting a webpage.

Clearly there are discussions to be had about whether to bake down this format to something specific to the renderer at hand, but we right now view that baking process as content-aware caching, because the original COLLADA format is the only container that will support the wide range of devices and viewers that we want to render our scenes.

Taking this further, I was chatting with Philipp Slusallek today and he reminded me that even providing pixel shader 2.0+glsl compatible shaders for a given model may be insufficient to both rasterize and raytrace it.  So some thought will need to go into using COLLADA as a multidevice, multirenderer-capable format such that users generate very compatible models that utilize the capabilities of their rendering environment.


Jul 5 2009

WebGL

Henrik Bennetsen

Back at GDC in March Mozilla and Kronos launched the initiative to create open royalty free standard for accelerated 3D on the web. Since I have been very excited about the prospect of having support for open 3D built into the web. It would be nice to put an end to seperate clients and random plugin downloads once and for all and I think this could be our best bet. Imagine just having your space just load when you click the link.

Haven’t heard much since March until yesterday when some exciting news came out of SIGGRAPH:

JavaScript Binding to OpenGL ES 2.0 for Rich 3D Web Graphics without Browser Plugins;
Wide industry Support from Major Browser Vendors including Google, Mozilla and Opera; Specification will be Available Royalty-free to all Developers

AMD, Ericsson, Google, and Opera have now joined Mozilla and I imagine that other major players can’t be far behind. The project is now called WebGL and has a target of a first public release in first half of 2010.