<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7062553257516816788</id><updated>2012-01-23T06:03:34.774+01:00</updated><category term='items'/><category term='technology'/><category term='operating'/><category term='vision'/><category term='client'/><category term='opinion'/><category term='design'/><category term='community'/><category term='team'/><category term='showcase'/><category term='developer'/><category term='legal'/><category term='code'/><category term='meeting'/><category term='release'/><category term='architecture'/><category term='general'/><category term='progress'/><category term='donations'/><category term='roadmap'/><title type='text'>Open Virtual World</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>63</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-6819021050534931508</id><published>2011-12-14T17:59:00.000+01:00</published><updated>2011-12-14T17:59:37.604+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><title type='text'>Support Infrastructure</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/-hoOd3sx_0RM/TujG9qPdwUI/AAAAAAAAA58/aGUjmDo8cIE/s1600/service-infrastructure.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="320" src="http://2.bp.blogspot.com/-hoOd3sx_0RM/TujG9qPdwUI/AAAAAAAAA58/aGUjmDo8cIE/s400/service-infrastructure.png" width="400" /&gt;&lt;/a&gt;Last month was the month of the item server. This month I am working on the support infrastructure.&lt;br /&gt;&lt;br /&gt;The client is supposed to paint avatars and objects on Web pages. To do this, it needs a fair amount of support.&lt;br /&gt;&lt;br /&gt;The client needs:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;a user account on the server. The user account will be created when the client starts for the first time.&lt;/li&gt;&lt;li&gt;an XMPP account to connect to the XMPP server. The XMPP account is created automatically so, that users do not have to care,&lt;/li&gt;&lt;li&gt;avatar images and a way to select avatars,&lt;/li&gt;&lt;li&gt;an item inventory contains all the stuff you find, trade, or make,&lt;/li&gt;&lt;li&gt;an identity service which provides avatars and items to the client.&lt;/li&gt;&lt;li&gt;all this data wants to be stored&amp;nbsp;persistently&amp;nbsp;in several databases.&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;These are the services I am currently building.&lt;br /&gt;&lt;br /&gt;The goal is to make using the Open Virtual World client very easy. Just install and go.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-6819021050534931508?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/6819021050534931508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/12/support-infrastructure.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6819021050534931508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6819021050534931508'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/12/support-infrastructure.html' title='Support Infrastructure'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-hoOd3sx_0RM/TujG9qPdwUI/AAAAAAAAA58/aGUjmDo8cIE/s72-c/service-infrastructure.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5580978246324159449</id><published>2011-11-20T14:52:00.001+01:00</published><updated>2011-11-21T01:54:13.135+01:00</updated><title type='text'>Hello Item Server</title><content type='html'>About a month after the architecture definition, the first draft version of an item server is ready. It shows objects as bots in chat rooms.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://3.bp.blogspot.com/-w7EV52Cj6xQ/Tsl0QdgOK6I/AAAAAAAAA5E/rDd87_jkbqc/s1600/asgard.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/-w7EV52Cj6xQ/Tsl0QdgOK6I/AAAAAAAAA5E/rDd87_jkbqc/s1600/asgard.png" /&gt;&lt;/a&gt;Key features:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;distributed architecture&lt;/li&gt;&lt;li&gt;transactions&lt;/li&gt;&lt;li&gt;item management&lt;/li&gt;&lt;li&gt;item bots&lt;/li&gt;&lt;li&gt;room-inventory management&lt;/li&gt;&lt;li&gt;separate database backend as webservice&lt;/li&gt;&lt;li&gt;identity updates&lt;/li&gt;&lt;li&gt;identity storage as webservice&lt;/li&gt;&lt;li&gt;admin GUI&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;I will now turn back to the client to add displaying of objects and interaction with objects.&lt;br /&gt;&lt;br /&gt;[Why is there an Asgard Mothership? The item server was called "Odin". The backend project "&lt;a href="http://en.wikipedia.org/wiki/M%C3%ADmir"&gt;Mirmir&lt;/a&gt;" and the complete framework, which for sure will get more components: "Asgard"]&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5580978246324159449?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5580978246324159449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/11/hello-item-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5580978246324159449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5580978246324159449'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/11/hello-item-server.html' title='Hello Item Server'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-w7EV52Cj6xQ/Tsl0QdgOK6I/AAAAAAAAA5E/rDd87_jkbqc/s72-c/asgard.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7760635604169475052</id><published>2011-10-06T22:12:00.004+02:00</published><updated>2011-10-07T16:28:31.330+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='architecture'/><category scheme='http://www.blogger.com/atom/ns#' term='items'/><title type='text'>Object Layer Architecture</title><content type='html'>&lt;div&gt;Some time ago we started discussing the architecture of virtual objects on Web pages. In this posting I will try to explain some key questions and considerations in building an infrastructure for virtual objects which appear on web pages. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First I will quickly write about our goals:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We will put objects on Web pages in addition to avatars.&amp;nbsp;&lt;/li&gt;&lt;li&gt;People will have inventories as known from many other games.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Objects can be installed on Web pages by dragging them from the inventory to the page.&lt;/li&gt;&lt;li&gt;People can use objects on Web pages in various ways including crafting.&lt;/li&gt;&lt;li&gt;Objects can interact on Web pages.&lt;/li&gt;&lt;li&gt;Objects encourage communication.&lt;/li&gt;&lt;li&gt;Objects are used for gaming in casual and highly engaged variants.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Here is an impression of many different kinds of objects (in practice you won't discover all of them on the same page):&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-vdQgvW-uJ7k/To3ZAzg249I/AAAAAAAAAsc/P2aWaAF_CsY/s1600/objects-on-web-pages.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="147" src="http://1.bp.blogspot.com/-vdQgvW-uJ7k/To3ZAzg249I/AAAAAAAAAsc/P2aWaAF_CsY/s400/objects-on-web-pages.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;Issues to take into consideration while discussing the software architecture:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1. One World&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;There is only one Web. All users can see each other and chat everywhere. All objects should be visible to all users. There should not be separated servers as in many Online RPG (called &lt;a href="http://us.battle.net/wow/en/status"&gt;realm in World of Warcraft&lt;/a&gt; and shard in Ultima Online).&amp;nbsp;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;2. It's Big&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;We expect many users and many objects. The amount of data and processing required is more than fits onto one physical server. Clearly the system must to be distributed. It needs multiple servers. Each server manages a part of all objects. Preferably the &lt;a href="http://en.wikipedia.org/wiki/Shared_nothing_architecture"&gt;architecture is a shared nothing&lt;/a&gt; system which organizes itself without a management layer.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3. Interaction&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;Objects belong to users. They are in a user's inventory, but at the same time, objects interact with other users and other user's objects on Web pages. A distributed system where objects interact with other objects on remote servers is very difficult. So, we try to make interactions local on a single server. This means, that only objects in the same room can interact. This sounds reasonable.&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4. Open World Assumption&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;The object layer on Web pages should be open to other object systems. This project will create software to put objects on Web pages where avatars already are. Other projects or companies should be able to create their own object system and send their objects into the same chat rooms on the same Web pages. All users should see all objects of all object systems. They might not be able to use all objects, but everyone has the same view to the world.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;5. Chat and Messaging&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;We are living in a world of chat systems. Avatars on Web pages are created through chat rooms and chat protocols. Objects on Web pages should use the same or similar protocols. Objects should fit into the existing world.&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;Architecture design decisions:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;All objects belong to users.&amp;nbsp;&lt;/li&gt;&lt;li&gt;An object server manages user inventories which in turn contain objects.&amp;nbsp;&lt;/li&gt;&lt;li&gt;A chat room on a Web page is like an inventory.&lt;/li&gt;&lt;li&gt;An object is in only one inventory or room at a time.&lt;/li&gt;&lt;li&gt;Objects can migrate between inventories.&lt;/li&gt;&lt;li&gt;Object servers host complete inventories.&lt;/li&gt;&lt;li&gt;Interactions happen only between objects in the same inventory hosted by the same server.&lt;/li&gt;&lt;li&gt;If an object is moved from user inventory to a Web page, then it migrates to the object server which hosts the chat room of the page.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Users trade objects via&amp;nbsp;temporary&amp;nbsp;trade rooms .&lt;/li&gt;&lt;li&gt;Rooms, inventories, trades are identified by utf-8 strings.&lt;/li&gt;&lt;li&gt;Objects are identified by&amp;nbsp;(large)&amp;nbsp;numbers. The numbering is globally unique across all inventories.&amp;nbsp;&lt;/li&gt;&lt;li&gt;Object servers create chat bots to put objects into chat rooms.&lt;/li&gt;&lt;li&gt;We are planning for 100 k concurrent users (10 Mio. registered)&lt;/li&gt;&lt;li&gt;We are planning for 100 objects per user inventory by average. Stacks of identical objects count as one. An inventory may contain 1 Mio. objects, though this needs hierarchical organisation, aka folders.&lt;/li&gt;&lt;/ul&gt;Here is an architecture diagram:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-A5sbYr3NGyY/To4PdlCXOcI/AAAAAAAAAsk/GmD17n8X9s4/s1600/object-system-architecture.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" class="noborder" height="457" src="http://1.bp.blogspot.com/-A5sbYr3NGyY/To4PdlCXOcI/AAAAAAAAAsk/GmD17n8X9s4/s640/object-system-architecture.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Now we can start programming.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7760635604169475052?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7760635604169475052/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/10/object-layer-architecture.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7760635604169475052'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7760635604169475052'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/10/object-layer-architecture.html' title='Object Layer Architecture'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-vdQgvW-uJ7k/To3ZAzg249I/AAAAAAAAAsc/P2aWaAF_CsY/s72-c/objects-on-web-pages.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-4611504665199149382</id><published>2011-09-30T15:58:00.007+02:00</published><updated>2011-10-03T17:43:13.526+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>OVW Meeting 6</title><content type='html'>&lt;div&gt;&lt;div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-uugS3u53j5U/TojKj910T9I/AAAAAAAAAsU/4Nq42VNfwYI/s1600/meeting.png" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="177" src="http://4.bp.blogspot.com/-uugS3u53j5U/TojKj910T9I/AAAAAAAAAsU/4Nq42VNfwYI/s200/meeting.png" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;I am happy to announce the 6th Open Virtual World meeting. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Topics:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Current developments&lt;/li&gt;&lt;li&gt;Roadmap&lt;/li&gt;&lt;li&gt;Items on web pages&lt;/li&gt;&lt;li&gt;Item server architecture&lt;/li&gt;&lt;li&gt;Item protocol&lt;/li&gt;&lt;li&gt;Q&amp;amp;A&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Date: Monday, October 3rd, 2011, 18:00 h GMT+2&lt;/div&gt;&lt;div&gt;Place: &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=Haus+73,+Schulterblatt,+Hamburg,+Germany&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=38.41771,95.449219&amp;amp;ie=UTF8&amp;amp;z=16&amp;amp;iwloc=A"&gt;Haus 73, Schulterblatt, Hamburg, Germany&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Come join us. The meeting is open to everyone, devs, users, supporters...&lt;br /&gt;&lt;br /&gt;UPDATE:&lt;br /&gt;Live:&amp;nbsp;&lt;a href="https://plus.google.com/hangouts/extras/talk.google.com/openvirtualworld-meeting-6"&gt;https://plus.google.com/hangouts/extras/talk.google.com/openvirtualworld-meeting-6&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-4611504665199149382?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/4611504665199149382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/09/ovw-meeting-6.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4611504665199149382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4611504665199149382'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/09/ovw-meeting-6.html' title='OVW Meeting 6'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-uugS3u53j5U/TojKj910T9I/AAAAAAAAAsU/4Nq42VNfwYI/s72-c/meeting.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8983870022454865319</id><published>2011-08-14T15:13:00.008+02:00</published><updated>2011-08-14T22:40:53.603+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='developer'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Web Avatar Ready for Developers</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-vyk-4uDqR0A/TkfJ7dAqbUI/AAAAAAAAAqw/Q3g-ZnGrMUg/s1600/logo128.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 128px; height: 128px;" src="http://1.bp.blogspot.com/-vyk-4uDqR0A/TkfJ7dAqbUI/AAAAAAAAAqw/Q3g-ZnGrMUg/s400/logo128.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5640699081541709122" /&gt;&lt;/a&gt;Just in time for GDC Europe 2011: the Open Virtual World client is now "Ready for Developers" who want to build their apps on the Web Avatar platform.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Open Virtual World client is &lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;a Web Avatar platform. &lt;/li&gt;&lt;li&gt;a Concurrent Casual Gaming platform&lt;/li&gt;&lt;li&gt;a platform where you can build your casual game&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The Open Virtual World client has&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;an avatar on every web page&lt;/li&gt;&lt;li&gt;a WebKit based rendering engine&lt;/li&gt;&lt;li&gt;modules and APIs&lt;/li&gt;&lt;li&gt;everything a client app needs: protocols, logging, configuration&lt;/li&gt;&lt;li&gt;open source&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;"Ready for Developers" means:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;it is working&lt;/li&gt;&lt;li&gt;it can be used by developers&lt;/li&gt;&lt;li&gt;it is not ready for end users&lt;/li&gt;&lt;li&gt;it needs customization and packaging&lt;/li&gt;&lt;li&gt;it needs gaming extensions and a game server if you want your users to do gaming&lt;/li&gt;&lt;li&gt;it needs an item shop and inventory if you want to sell virtual goods&lt;/li&gt;&lt;li&gt;it needs integration with your user profiles if you want to make the Web Avatar as a feature for existing games&lt;/li&gt;&lt;li&gt;it is not a product yet&lt;/li&gt;&lt;li&gt;but: it is a working platform for you to make a product&lt;/li&gt;&lt;li&gt;and: it is free and open source&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;The Open Virtual World project will soon publish a complete client which users can download. Until then, developers get early access to the platform.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Need help? mail to &lt;a href="mailto:openvirtualworld@gmail.com"&gt;openvirtualworld@gmail.com&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8983870022454865319?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8983870022454865319/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/08/web-avatar-now-ready-for-developers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8983870022454865319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8983870022454865319'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/08/web-avatar-now-ready-for-developers.html' title='Web Avatar Ready for Developers'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-vyk-4uDqR0A/TkfJ7dAqbUI/AAAAAAAAAqw/Q3g-ZnGrMUg/s72-c/logo128.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5733252121609691771</id><published>2011-08-12T11:50:00.005+02:00</published><updated>2011-08-12T14:38:27.004+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Three Musketeers</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/-XhwFkOQ4yAQ/TkT3lWUlwiI/AAAAAAAAAqo/fMZ2RjVMuM4/s1600/3browsers.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://1.bp.blogspot.com/-XhwFkOQ4yAQ/TkT3lWUlwiI/AAAAAAAAAqo/fMZ2RjVMuM4/s320/3browsers.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5639904854393864738" /&gt;&lt;/a&gt;Chrome support arrived.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We now have extensions for all 3 major browsers: Chrome, Firefox, Internet Explorer. See the image where I am on this blog page with my avatar and 3 different browsers at the same time. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If my avatar moves in one browser, then it moves in all browsers. If I chat in one browser, I chat in all at the same time. The client logs in to the chat room only once. But the avatar is shown on all browsers.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This is very different from weblin where you could only be on a page with on browser. Other browsers of the same page/domain had no avatars at all.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Initially I wanted to defer Chrome support until after the release. But it is much better to have Chrome support, because I Chrome is my main browser. The client needs lots of day to day testing. Now it is being tested all the time while I am doing my normal web browsing.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;By the way: a weblin just private chatted to me, but there is no private chat yet. I just saw it in the logfile, but I could not reply. Do we need private chat early?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5733252121609691771?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5733252121609691771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/08/three-musketeers.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5733252121609691771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5733252121609691771'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/08/three-musketeers.html' title='Three Musketeers'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-XhwFkOQ4yAQ/TkT3lWUlwiI/AAAAAAAAAqo/fMZ2RjVMuM4/s72-c/3browsers.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1846682370664305366</id><published>2011-07-26T23:39:00.003+02:00</published><updated>2011-07-26T23:56:01.938+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><title type='text'>Roadmap Update</title><content type='html'>&lt;div&gt;The core software of the client is ready to be released. I am already using the client day to day. I wish there were a Google Chrome extension. But it has only Firefox and IE currently. So I am using more Firefox than usual. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The biggest remaining problem: although the software is ready, it needs configuration. If you have a web server which hosts an &lt;a href="http://blog.wolfspelz.de/2009/10/how-to-reactivate-weblin-with-2-xml.html"&gt;avatar description&lt;/a&gt; and if you have an XMPP account and if you are prepared to &lt;a href="http://code.google.com/p/ovw/source/browse/trunk/Apollo/bin/Win32/Debug/_config.local.txt"&gt;add both to the config file like I did for my tests&lt;/a&gt;, then the software works for you. This is probably not the case for most of you. Therefore, I have to add a bit of auto-configuration before I can release the software (is this correct?). I can release now, but would you want it with so much work on your side? Tell me what you think.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, I updated the roadmap and I will keep it up to date from now. Here is the task list: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;&lt;iframe id="iCal" style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" height="600" src="http://spreadsheets.google.com/pub?key=r7I_L9A3XaUo3P44gCngi-w&amp;amp;single=true&amp;amp;gid=0&amp;amp;output=html" frameborder="0" width="100%" scrolling="auto"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1846682370664305366?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1846682370664305366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/07/roadmap-update.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1846682370664305366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1846682370664305366'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/07/roadmap-update.html' title='Roadmap Update'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-306456881185338454</id><published>2011-07-16T01:03:00.004+02:00</published><updated>2011-07-22T13:53:38.070+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>IE Plugin, Installer, Setup, VS10, Support Software</title><content type='html'>Just a short notice what's currently happening: I am working on&lt;div&gt;&lt;ul&gt;&lt;li&gt;some issues with the IE support. Stability is very good, but avatars were "behind" the browser window&lt;/li&gt;&lt;li&gt;installer for the IE extension&lt;/li&gt;&lt;li&gt;simple setup process which starts after downloading/installing, where you can select install browser extensions, select a nickname/avatar.&lt;/li&gt;&lt;li&gt;I upgraded to MS Visual Studio 2010. There are some migration issues to be solved. But I feel, that it is better to migrate now than during the beta phase.&lt;/li&gt;&lt;li&gt;There is now a separate code repository for the &lt;a href="http://code.google.com/p/ovw-webkit/source/browse/trunk/ApolloWebKitSDK#ApolloWebKitSDK%2FWin32%2FDebug"&gt;WebKit SDK&lt;/a&gt;. It has 1.5 GB headers, libraries and DLLs, which are needed to build and run the WebView module. Surprisingly the result is not larger than 10 MB.  &lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;Still next on the list:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Finishing Setup and browser extension installers&lt;/li&gt;&lt;li&gt;Simple Web site&lt;/li&gt;&lt;li&gt;Installer packaging and final testing&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-306456881185338454?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/306456881185338454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/07/ie-plugin-installer-setup-vs10-support.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/306456881185338454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/306456881185338454'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/07/ie-plugin-installer-setup-vs10-support.html' title='IE Plugin, Installer, Setup, VS10, Support Software'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5841409642854871320</id><published>2011-07-06T23:31:00.011+02:00</published><updated>2011-08-12T20:40:42.736+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Asynchronous and Messaging</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-DxT1UB3ymgI/ThTdKCeZ7TI/AAAAAAAAAqM/fqR31TZOd5U/s1600/events.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img class="noborder" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 209px;" src="http://4.bp.blogspot.com/-DxT1UB3ymgI/ThTdKCeZ7TI/AAAAAAAAAqM/fqR31TZOd5U/s320/events.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5626364999025421618" /&gt;&lt;/a&gt;&lt;div&gt;Our extensive unit test suite discovered, that&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;if two WebKit instances are loaded simultaneously, which use the same JS file from the local disk, then initializing one of the JS engines sometimes fails.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;The average WebKit &lt;/span&gt;programmer &lt;span class="Apple-style-span"&gt;will never experience this. The average WebKit programmer uses WebKit to make a web browser. And web browsers do not create many instances simultaneously. You press CTRL-T to open a new tab. Then another. Not two at the same time. Especially not from the local file system. Maybe that's the reason why nobody discovered the "feature" before.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Anyway, this means, that creation of WebKits &lt;a href="http://code.google.com/p/ovw/source/browse/trunk/Apollo/src/WebView/View.cpp#13"&gt;must be serialized&lt;/a&gt;. This in turn, introduces all kinds of asynchronous behavior, which must be handled properly in many places. Asynchronous programming is always more challenging than spaghetti coding. Fortunately the client is message based. The image shows events which wait for other things to complete, before they are forwarded. In other words: the display must be loaded before it can show something. As simple as that. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;This kept me busy several evenings and made a &lt;a href="http://code.google.com/p/ovw/source/detail?r=326"&gt;huge commit&lt;/a&gt;. Now I can continue with the setup/install process.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5841409642854871320?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5841409642854871320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/07/asynchronous-and-messaging.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5841409642854871320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5841409642854871320'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/07/asynchronous-and-messaging.html' title='Asynchronous and Messaging'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-DxT1UB3ymgI/ThTdKCeZ7TI/AAAAAAAAAqM/fqR31TZOd5U/s72-c/events.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8521780157382031388</id><published>2011-06-30T02:28:00.004+02:00</published><updated>2011-06-30T02:46:37.060+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Internet Explorer Plugin, Autostart and System Tray</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-p1GeBf5Tlvk/TgvHF48mQ2I/AAAAAAAAApw/g-kFrIdAqGg/s1600/trayicon.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 215px; height: 148px;" src="http://3.bp.blogspot.com/-p1GeBf5Tlvk/TgvHF48mQ2I/AAAAAAAAApw/g-kFrIdAqGg/s400/trayicon.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5623807463702020962" /&gt;&lt;/a&gt;Three of the remaining six tasks are done: &lt;div&gt;&lt;ul&gt;&lt;li&gt;IE Support: I implemented an IE browser helper which connects to the client and tells about opening and closing of tabs, about URL navigation and tab switches.&lt;/li&gt;&lt;li&gt;System Tray Icon: a small fun project. Since the client has no window, we need something else to control it. I created a small system tray icon which can start and stop the client.  &lt;/li&gt;&lt;li&gt;Autostart: this was the easiest task. Just a registry setting, configured by the system tray icon menu.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Now remaining:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Settings dialog (do we really need this, we could start with config files and add a settings dialog later)&lt;/li&gt;&lt;li&gt;Simple Web site&lt;/li&gt;&lt;li&gt;Installer packaging and final testing&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Next is the Web site. We need some place to download the installer and a simple way to configure the avatar, e.g. change animations and nickname. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally, we have to bundle all files and create an installer for Firefox and IE extensions. Not a simple task, especially the IE installer. And finally, finally there is much testing required because we want the installer to do it's job smoothly.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8521780157382031388?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8521780157382031388/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/06/internet-explorer-plugin-autostart-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8521780157382031388'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8521780157382031388'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/06/internet-explorer-plugin-autostart-and.html' title='Internet Explorer Plugin, Autostart and System Tray'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-p1GeBf5Tlvk/TgvHF48mQ2I/AAAAAAAAApw/g-kFrIdAqGg/s72-c/trayicon.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5866122153059715880</id><published>2011-06-18T15:31:00.011+02:00</published><updated>2011-06-24T15:21:45.198+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Translations and Release Packaging</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-oX4uIAhF5Vc/TfzKdEG9AZI/AAAAAAAAApg/7lCVmCMr-jY/s1600/i18n.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img class="noborder" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 215px; height: 215px;" src="http://4.bp.blogspot.com/-oX4uIAhF5Vc/TfzKdEG9AZI/AAAAAAAAApg/7lCVmCMr-jY/s400/i18n.jpg" border="0" alt="" id="BLOGGER_PHOTO_ID_5619589035719459218" /&gt;&lt;/a&gt;&lt;div&gt;In the last blog post I mentioned a list of remaining tasks:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Translations&lt;/li&gt;&lt;li&gt;Release packaging&lt;/li&gt;&lt;li&gt;Installer testing&lt;/li&gt;&lt;li&gt;Auto start&lt;/li&gt;&lt;li&gt;Tray icon&lt;/li&gt;&lt;li&gt;Settings dialog&lt;/li&gt;&lt;li&gt;Browser compatibility&lt;/li&gt;&lt;li&gt;Web portal&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;I just ticked off 2 tasks: &lt;a href="http://code.google.com/p/ovw/source/browse/?r=271#svn%2Ftrunk%2FApollo%2Fi18n"&gt;Translations&lt;/a&gt; and &lt;a href="http://code.google.com/p/ovw/source/browse/?r=271#svn%2Ftrunk%2FApollo%2Fdist"&gt;Release packaging&lt;/a&gt;. This is the remaining list in the most likely work order:&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;IE Support&lt;/li&gt;&lt;li&gt;Auto start&lt;/li&gt;&lt;li&gt;Tray icon&lt;/li&gt;&lt;li&gt;Settings dialog&lt;/li&gt;&lt;li&gt;Simple Web site&lt;/li&gt;&lt;li&gt;Installer testing&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Most of these tasks are of medium size. We might defer Google Chrome support until after the first beta release. Maybe someone from the community wants to take this task. We hope to complete these tasks until August 2011.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are more tasks which should and will be done after the beta release:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Google Chrome support&lt;/li&gt;&lt;li&gt;Personal inventory of virtual items&lt;/li&gt;&lt;li&gt;Virtual Items on Web pages&lt;/li&gt;&lt;li&gt;Real Web portal with item shop and (avatar) trading&lt;/li&gt;&lt;li&gt;Facebook, Twitter, OpenID authentication&lt;/li&gt;&lt;li&gt;More social interactions (wuscheln and more)&lt;/li&gt;&lt;li&gt;Porting to MacOS&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Some of these tasks are big chunks of work. But most will be done until the end of this year. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5866122153059715880?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5866122153059715880/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/06/translations-and-release-packaging.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5866122153059715880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5866122153059715880'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/06/translations-and-release-packaging.html' title='Translations and Release Packaging'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-oX4uIAhF5Vc/TfzKdEG9AZI/AAAAAAAAApg/7lCVmCMr-jY/s72-c/i18n.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2592321598586611268</id><published>2011-06-14T23:01:00.006+02:00</published><updated>2011-06-15T13:13:27.514+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Chat Window</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-FkuF1aZgXMA/Tfh1KajE4MI/AAAAAAAAApQ/p_yciEwTTBk/s1600/chat-window.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 238px;" src="http://4.bp.blogspot.com/-FkuF1aZgXMA/Tfh1KajE4MI/AAAAAAAAApQ/p_yciEwTTBk/s400/chat-window.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5618369356930277570" /&gt;&lt;/a&gt;This is the brand new chat window.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It is a normal chat window as you would expect. But there are few facts worth mentioning:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1.&lt;/div&gt;&lt;div&gt;It is a module. Actually, it is a display module. This means, that while you are in the chat, you will stay in the room, even if the browser is closed. This is a feature which many weblin power&lt;/div&gt;&lt;div&gt; users wanted.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2.&lt;/div&gt;&lt;div&gt;It is HTML based. See the bold user names: a single line CSS style. See the resize bars between chat-out panel, chat-in panel, and participants panel: just a few lines of HTML with the help of &lt;a href="http://plugins.jquery.com/project/Layout"&gt;jQuery UI Layout&lt;/a&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://4.bp.blogspot.com/-twYYYekRhxA/Tfh9FuBfEKI/AAAAAAAAApY/n_BZcyfnptA/s400/implemented-modules-chat.png" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 258px; height: 317px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5618378072351772834" /&gt;&lt;div&gt;Do you remember a blog post one year ago about "&lt;a href="http://openvirtualworld.blogspot.com/2010/04/starting-avatar-display-development.html"&gt;Starting Avatar Display Development&lt;/a&gt;"? This was after the client core and protocol was implemented, but before you could see avatars. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"&gt;Now the chat is implemented and I can paint a new picture with a blue box around the finished chat module (there is also a grey cross over the IRC protocol. We do not need it now. &lt;/span&gt;IRC &lt;span class="Apple-style-span"&gt;is just a future option).&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;All this means, that the client is basically complete. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are only small things missing, like:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Translations: there is a translation module, but not all visible texts are translated, &lt;/li&gt;&lt;li&gt;Installer: there is an installer, but the client must be packaged and tested before release, &lt;/li&gt;&lt;li&gt;Auto start with windows: currently you have to start as any other program by double clicking the icon, &lt;/li&gt;&lt;li&gt;Tray icon: would be nice &lt;/li&gt;&lt;/ul&gt;&lt;div&gt;... and some bigger parts:&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Settings and configuration dialog: there are config files and a config database, but no dialog yet, &lt;/li&gt;&lt;li&gt;Browser compatibility: currently only Firefox works, but we want IE and Chrome as well, &lt;/li&gt;&lt;li&gt;Web portal: a portal like &lt;a href="http://weblin.com/"&gt;weblin.com&lt;/a&gt; would be nice where you can change avatar images.&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;There is still much to do. It is not configured for normal users. It is for people who know what they are doing. It has still less features than weblin. It is an alpha version. But it's cool and it's on the way. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;More technical detail: &lt;a href="http://blog.wolfspelz.de/2011/06/html-based-chat-window-with-webkit.html"&gt;http://blog.wolfspelz.de/2011/06/html-based-chat-window-with-webkit.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2592321598586611268?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2592321598586611268/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/06/chat-window.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2592321598586611268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2592321598586611268'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/06/chat-window.html' title='Chat Window'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-FkuF1aZgXMA/Tfh1KajE4MI/AAAAAAAAApQ/p_yciEwTTBk/s72-c/chat-window.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-3550917819270426539</id><published>2011-06-07T21:22:00.008+02:00</published><updated>2011-06-08T11:38:16.769+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Tabs and Windows</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/-HLaq0K_LoLc/Te5-5tYpp_I/AAAAAAAAAoY/FThSCcZ0xsQ/s1600/tabs.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 136px;" src="http://4.bp.blogspot.com/-HLaq0K_LoLc/Te5-5tYpp_I/AAAAAAAAAoY/FThSCcZ0xsQ/s200/tabs.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5615565315278219250" /&gt;&lt;/a&gt;I am working on support for multiple browser tabs. Good old &lt;a href="http://www.weblin.com/"&gt;weblin&lt;/a&gt; had only one room per browser window. If you changed the tab, then you changed the room. If you switched between tabs very often, then you switched between rooms all the time.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For the OVW client we will support multiple tabs in the same browser window. Each tab will join a chat room. If you change the tab, then you stay in the room. The client will always show the avatars of the visible tab. If the tab is changed, then the next set of avatars will be shown and avatars of the hidden tab will be made invisible.&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-hkQPoGpXKWU/Te5-zgh0DaI/AAAAAAAAAoQ/CrId9OniudI/s200/windows.png" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 138px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5615565208747773346" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;With &lt;a href="http://www.weblin.com/"&gt;weblin&lt;/a&gt; there was only one avatar display for each room. If you opened the same page twice in two different browser windows, then you saw avatars only on one of them. The other browser had no avatars. This was sometimes confusing. Now, there will be avatars on all browser windows, even if they show the same page. You can chat in one browser and see the chat also in the other window. You move your avatar in one browser and it magically also moves in the other browser. This is made possible by a real &lt;a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"&gt;MVC&lt;/a&gt; implementation. The avatars will be duplicated. They are just a view of the scene model.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We currently have a Firefox plugin. But of course, we also need IE and Chrome. These plugins are much more complex, than the simple windows message hook of &lt;a href="http://www.weblin.com/"&gt;weblin&lt;/a&gt;. In other words: they are more work. But they will provide much richer features in the future and ... tabs.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here is more: &lt;a href="http://blog.wolfspelz.de/2011/06/more-ovw-progress.html"&gt;http://blog.wolfspelz.de/2011/06/more-ovw-progress.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-3550917819270426539?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/3550917819270426539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/06/firefox-tabs-and-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3550917819270426539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3550917819270426539'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/06/firefox-tabs-and-windows.html' title='Tabs and Windows'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-HLaq0K_LoLc/Te5-5tYpp_I/AAAAAAAAAoY/FThSCcZ0xsQ/s72-c/tabs.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1854683826613100925</id><published>2011-05-25T01:15:00.008+02:00</published><updated>2011-06-05T01:31:04.051+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Avatar Display</title><content type='html'>&lt;a href="http://3.bp.blogspot.com/-pFs0BC-fG9I/Teq_xVZJO6I/AAAAAAAAAno/fhjZGO189BM/s1600/avatar-display.png" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"&gt;&lt;img style="cursor:pointer; cursor:hand;width: 620px; " src="http://3.bp.blogspot.com/-pFs0BC-fG9I/Teq_xVZJO6I/AAAAAAAAAno/fhjZGO189BM/s1600/avatar-display.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5611044269756798786" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Do you see the difference?&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;On the left is the new OVW client. On the right is a Weblin display. The OVW client still lacks the points below the nickname. But it has a green glow around the nickname instead. Otherwise, they look almost identical. That's the point. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is now an avatar display in the new OVW client. It is programmed in HTML and JavaScript with support from the C++ core.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There are still features missing. For example, avatars do not walk yet, they slide. But there has been significant progress. Because of the HTML/JavaScript environment, we can use jQuery for effects and event handlers. This makes programming very quick - and fun.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Just as an example, here is how the nickname is changed. It is a piece of JavaScript code:&lt;/div&gt;&lt;div&gt;&lt;pre class="code"&gt;  ...&lt;br /&gt; SetAvatarNickname: function (hParticipant, sNickname)&lt;br /&gt; {&lt;br /&gt;   $('#' + hParticipant + ' .cNickname').html(EscapeHTML(sNickname));&lt;br /&gt; },&lt;br /&gt; ...&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div&gt;Pure JavaScript with jQuery. Very simple. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1854683826613100925?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1854683826613100925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/05/avatar-display.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1854683826613100925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1854683826613100925'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/05/avatar-display.html' title='Avatar Display'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-pFs0BC-fG9I/Teq_xVZJO6I/AAAAAAAAAno/fhjZGO189BM/s72-c/avatar-display.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1833771870957562183</id><published>2011-05-14T15:23:00.015+02:00</published><updated>2011-05-28T18:31:08.809+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Windows and Dialogs</title><content type='html'>Based on Brent's WebKit transparency feature I created 2 modules:&lt;div&gt;&lt;ol&gt;&lt;li&gt;a WebView module, which manages transparent browsers of any kind&lt;/li&gt;&lt;li&gt;a Dialog module, which shows a dialog frame and the real content inside&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;1. WebView Module&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The WebView module is used for all user interface elements. For a settings dialogs, for a chat window, for avatars on Web pages, for toast windows. Everythng you can see on the screen.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The display of WebView windows is completely created by HTML. Dialogs are designed with HTML, images, CSS, Javascript. The main reason for using WebKit as a user interface engine is portability. Modules and dialogs created with HTML will run on all platforms. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WebKit makes the user interface platform independent. Besides, it is really fun to program the user interface in HTML/Javascript. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Dialog Module&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Dialog module configures window border and window controls. The outside is identical for all dialogs. The window content is managed by whatever HTML page is put inside, be it a local page from the file system or a remote Web page.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Examples: an inventory window and the current test dialog.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-Zgovxr1HRaM/Td5gf0wzkHI/AAAAAAAAAmE/JS4Ykk8zQMc/s320/dialog-inventory.png" class="noborder" style="cursor:pointer; cursor:hand;width: 300px; height:220px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5611028285605777522" /&gt;&lt;img src="http://3.bp.blogspot.com/-2ctNBvSWzhA/Td5ggBuqsUI/AAAAAAAAAmM/1iRjjSqGYOs/s320/dialog-test.png" class="noborder" style="cursor:pointer; cursor:hand;width: 300px; height:220px; " border="0" alt="" id="BLOGGER_PHOTO_ID_5611028289086468418" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The window can be styled with CSS. We have themes. I present the beloved - and sometimes passionately hated - wood theme:&lt;/div&gt;&lt;div&gt;&lt;img src="http://3.bp.blogspot.com/-8Mbky719xjk/Td-B2leXlCI/AAAAAAAAAm0/EUdnu3oZcVM/s320/dialog-wood.png" class="noborder" style="cursor:pointer; cursor:hand;width: 320px; height: 213px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5611346435499332642" /&gt;&lt;/div&gt;&lt;div&gt;Do you prefer the Mac theme?&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-kdUx11lbPsM/TeEi3IcUaBI/AAAAAAAAAm8/PblWgTi9mtQ/s320/dialog-mac.png" class="noborder" style="cursor:pointer; cursor:hand;width: 320px; height: 228px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5611804941234759698" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Remember: it's all HTML. You can tell, that it is HTML from the small (reload) button on the window border. This button is for testing only. It will disappear later.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Next is the avatar display.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1833771870957562183?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1833771870957562183/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/05/windows-and-dialogs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1833771870957562183'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1833771870957562183'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/05/windows-and-dialogs.html' title='Windows and Dialogs'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-Zgovxr1HRaM/Td5gf0wzkHI/AAAAAAAAAmE/JS4Ykk8zQMc/s72-c/dialog-inventory.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8310473372526535734</id><published>2011-05-02T18:37:00.004+02:00</published><updated>2011-05-24T17:32:21.065+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Transparent Browser Bounty Awarded</title><content type='html'>&lt;div&gt;&lt;a href="http://whtconstruct.blogspot.com/"&gt;We have the construction!&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://whtconstruct.blogspot.com/"&gt;Brent&lt;/a&gt;'s changes to the WebKit code have been added to the trunk (&lt;a href="http://trac.webkit.org/changeset/84990"&gt;http://trac.webkit.org/changeset/84990&lt;/a&gt;). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;WebKit can now be used as a transparent browser. Brent also made a sample for how to do Javascript calls between the browser engine and C++.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We now have an HTML renderer at our disposal to create a UI with web technologies. Expect UI development soon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The Open Virtual World project awards the bounty to Brent for step 1 and step 2. We agreed to redefine steps 3 and 4 for more advanced features later. We thank Brent for his contribution to the project. This was really fun. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(We also thank &lt;a href="http://www.lupuslabs.de/"&gt;Lupus Labs&lt;/a&gt; for sponsoring the OVW project, which made sponsoring of a WebKit feature possible.)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8310473372526535734?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8310473372526535734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/05/transparent-browser-bounty-awarded.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8310473372526535734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8310473372526535734'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/05/transparent-browser-bounty-awarded.html' title='Transparent Browser Bounty Awarded'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7241260455405413208</id><published>2011-04-18T20:15:00.009+02:00</published><updated>2011-04-18T23:00:22.293+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>OVW Transparent Browser Bounty About to be Claimed</title><content type='html'>&lt;div&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 322px; height: 348px;" src="http://2.bp.blogspot.com/-fjANlKKvHKY/TayF5J1L2MI/AAAAAAAAAl8/ajtvQx42oL4/s400/TransWebKit-1.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5596995653852715202" /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://4.bp.blogspot.com/-7OAKyXRk6jo/TayFsi_LmYI/AAAAAAAAAl0/82AjHzbZVlc/s320/TransWebKit-2.png" style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 218px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5596995437267229058" /&gt;&lt;/div&gt;Brent Fulgham is currently working on the transparency feature for &lt;a href="http://www.webkit.org/"&gt;WebKit&lt;/a&gt;. Brent is the developer of the &lt;a href="http://whtconstruct.blogspot.com/"&gt;WebKit-Cairo port&lt;/a&gt;. It looks like the bounty will be claimed soon. Here are first impressions of the test.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What does this mean for the project? We will soon be able to start working on the GUI. The GUI is the last missing part of the new OVW avatar client. Thanks to Brent, the GUI will be purely HTML based. That's the future folks: Web technologies, CSS, HTML, SVG, Canvas, WebGL. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Later we might also incorporate the multi-process rendering and WebGL developments of WebKit. This means, that rendering will be even faster in the future and we can support real 3D avatars. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Also, thanks to &lt;a href="http://www.lupuslabs.de/"&gt;Lupus Labs&lt;/a&gt; for sponsoring this open source bounty.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7241260455405413208?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7241260455405413208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/04/ovw-transparent-browser-bounty-about-to.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7241260455405413208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7241260455405413208'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/04/ovw-transparent-browser-bounty-about-to.html' title='OVW Transparent Browser Bounty About to be Claimed'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-fjANlKKvHKY/TayF5J1L2MI/AAAAAAAAAl8/ajtvQx42oL4/s72-c/TransWebKit-1.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-4048442118338452033</id><published>2011-04-01T10:51:00.004+02:00</published><updated>2011-04-18T12:02:11.364+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>OVW Transparent Browser Bounty</title><content type='html'>The OVW project needs a transparent browser as GUI platform. Transparent browser means, that if I set CSS transparency of the HTML-body to 0.5, then I want to see the desktop partially. All graphics and dialogs of the OVW client will be displayed by this browser. There will be no other native windows or GUI components. There are so many other things to do in the OVW project. We would like to outsource this task to people who have browser library know how. We would like to sponsor your open source work, and work on other OVW parts in the meantime.&lt;br /&gt;&lt;br /&gt;The transparent browser will be used by a OVW client plugin module. We will wrap the OVW specific module around the transparent browser library. What we need is a transparent browser DLL, which our GUI module DLL can use. To be able to integrate the transparent browser into our project, we need a MS VisualStudio project which compiles all required components, links them into one or more DLLs and has a driver program which teaches us how to use the transparent browser. We would like to add features later, hence the need for a compileable project, not just a release DLL. Yes, we know that we can build WebKit from SVN, but it's not simple and there is so much else to do.&lt;br /&gt;&lt;br /&gt;Key properties of the project:&lt;br /&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;transparent browser, no default window background&lt;/li&gt;&lt;li&gt;in other words: window alpha channel controlled by CSS only&lt;/li&gt;&lt;li&gt;only libraries which can be distributed with a BSD like license&lt;/li&gt;&lt;li&gt;Cairo or Skia does not matter, but not CoreGraphics&lt;/li&gt;&lt;li&gt;Synchronous calls into and out of the browser's Javascript&lt;/li&gt;&lt;li&gt;normal performance, meaning no bad hacks, which make transparency, but harm performance&lt;/li&gt;&lt;li&gt;Keyboard input and mouse move, click, scroll&lt;/li&gt;&lt;li&gt;IFRAME-Support&lt;/li&gt;&lt;li&gt;max. 20 MB for everything needed before compression&lt;/li&gt;&lt;li&gt;better no app installation required, no registry prep, just plain DLLs&lt;/li&gt;&lt;li&gt;preferably as MS Visual Studio 2005 Project, 2008 possible&lt;/li&gt;&lt;li&gt;Release + Debug builds&lt;/li&gt;&lt;li&gt;Unicode and CJK-script support, right-to-left script is nice to have&lt;/li&gt;&lt;li&gt;BSD license&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;Chromium comes to mind as a base technology because this is where the buzz currently is. There are also Chromium derivatives like Awesomium and Berkelium which could be a starting point. Pure WebKit is also an option. We might migrate to speedy Javascript, out-of-process rendering, and WebGL later. Gecko is also possible.&lt;br /&gt;&lt;br /&gt;The bounty is max. 4.000 € in 4 steps:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;1 k € for a DLL which paints a web page on a transparent window incl. a sample driver program (which has a URL input). We can compile it.&lt;/li&gt;&lt;li&gt;1 k € for keyboard/mouse input, IFRAME support, and max 20 MB. &lt;/li&gt;&lt;li&gt;1 k € for synchronous calls with arguments between the driver program and the Javascript engine. Int and String type arguments should be enough, Dictionary arguments would be cool. BeforeNavigate, DocumentComplete notifications similar to the MSIE component.&lt;/li&gt;&lt;li&gt;1 k € for additional cool stuff to be defined later, e.g. MSVC 2005 because it lets us omit recent C runtime libs making the package smaller, helping us actively to use the thing, shrinking to 10 MB including all support DLLs (beware of the ICU data DLL), WebGL support, DOM API support, helping us to channel HTTP over the OVW client's HTTP component, etc.&lt;/li&gt;&lt;/ul&gt;More about the Open Virtual World project: &lt;a href="http://www.openvirtualworld.com/"&gt;http://www.OpenVirtualWorld.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The bounty is generously provided by Lupus Labs. &lt;a href="http://www.lupuslabs.de/"&gt;http://www.lupuslabs.de&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-4048442118338452033?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/4048442118338452033/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2011/04/ovw-transparent-browser-bounty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4048442118338452033'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4048442118338452033'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2011/04/ovw-transparent-browser-bounty.html' title='OVW Transparent Browser Bounty'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7793019056573884005</id><published>2010-10-25T12:30:00.004+02:00</published><updated>2010-10-31T19:04:49.024+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>First Avatar</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/TMqioyVOlZI/AAAAAAAAAgU/mLuIqrUF-dM/s1600/FirstAvatar..png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 249px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/TMqioyVOlZI/AAAAAAAAAgU/mLuIqrUF-dM/s400/FirstAvatar..png" border="0" alt="" id="BLOGGER_PHOTO_ID_5533413913767351698" /&gt;&lt;/a&gt;I started programming the avatar display. The image shows my test avatar on a test scene.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The test scene uses the &lt;a href="http://openvirtualworld.blogspot.com/2010/10/scene-graph.html"&gt;scene graph&lt;/a&gt; module.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The avatar is already animated. An &lt;a href="http://openvirtualworld.blogspot.com/2010/05/animating-avatars.html"&gt;animation module&lt;/a&gt; decodes the old animation format and the &lt;a href="http://openvirtualworld.blogspot.com/2010/08/transparent-gif-animation-decoding.html"&gt;animated GIF files&lt;/a&gt; and feeds images to the avatar display. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;There is no web browser in the background, yet (the background is my Visual Studio). The avatar does not enter a real chat room. This is still a test. The overlay is created by a test function. The test function creates the avatar, assigns an animation, etc. The reason is, that I can develop the display quicker, more reliable, and without network connection. I do not have to open a browser and enter a chat room. The test just pretends that there is a browser and an avatar. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Later, when the avatar display works, then it will be connected to a browser and operated by a real chat room. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7793019056573884005?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7793019056573884005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/10/first-avatar.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7793019056573884005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7793019056573884005'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/10/first-avatar.html' title='First Avatar'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/TMqioyVOlZI/AAAAAAAAAgU/mLuIqrUF-dM/s72-c/FirstAvatar..png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7644438822672269031</id><published>2010-10-19T21:32:00.005+02:00</published><updated>2010-10-19T23:01:47.390+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Scene Graph</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IeJHb-2CVGM/TL38GWfjdcI/AAAAAAAAAf0/rt0CWqUJqW8/s1600/SceneGraph.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 400px; height: 292px;" src="http://4.bp.blogspot.com/_IeJHb-2CVGM/TL38GWfjdcI/AAAAAAAAAf0/rt0CWqUJqW8/s400/SceneGraph.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5529853103528179138" /&gt;&lt;/a&gt;I have been working on a 2D Scene Graph module. The scene graph will be used to show all graphics of avatar and virtual items on top of the web page.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The image to the right shows a test screen with all graphical elements.  &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What is the scene graph good for? There are 2 different ways to paint graphics and text: one is the old style of painting when the operating system asks the progam to re-paint a part of the screen. In the more modern style, the program defines how the graphics looks like and the scene graph paints it automatically. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We know this modern painting model from HTML, where we define what a web page contains and then the web browser paints it. If we change the HTML DOM, then the browser adapts the display to the new DOM automatically. The same model is used in 3D, where programs define a scene with lots of triangles and then let the graphics card display it. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Our scene graph has an additional feature. It can be scripted by other modules. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;As you know, in the Open Virtual World client, everything is s module DLL. Third party developers can add modules easily without changing the core program. Developers can modify how the program works and what it does. Messages from and to the OVW scene graph can be intercepted by other modules. The modules can change messages, add messages and delete parts. They can manipulate the graphics of the avatar display They can add and change elements. They can paint new objects and change the style of text before it is painted on the screen. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;OVW graphics is open to scripting by third party modules. This enables add-ons like WoW add-ons, which add all sorts of functionality. At the beginning, this is not a big thing for end users. But when module developers use the feature, then users can choose from a great variety of additional functions. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The scene graph has a minimal set of functions. But it has enough to display avatars on web pages. Previously, I implemented the avatar animation module. Now, everything is ready for the final piece: &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I am about to start programming the avatar display. &lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7644438822672269031?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7644438822672269031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/10/scene-graph.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7644438822672269031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7644438822672269031'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/10/scene-graph.html' title='Scene Graph'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IeJHb-2CVGM/TL38GWfjdcI/AAAAAAAAAf0/rt0CWqUJqW8/s72-c/SceneGraph.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-3621889999412029421</id><published>2010-08-24T23:48:00.005+02:00</published><updated>2010-08-25T00:04:52.390+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Transparent GIF Animation Decoding</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh4.ggpht.com/_IeJHb-2CVGM/THRBjwAokyI/AAAAAAAAAeo/T1VtjWmTgfc/s128/wave.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 100px; height: 100px;" src="http://lh4.ggpht.com/_IeJHb-2CVGM/THRBjwAokyI/AAAAAAAAAeo/T1VtjWmTgfc/s128/wave.gif" border="0" alt="" id="BLOGGER_PHOTO_ID_5509098589299940994" /&gt;&lt;/a&gt;This was a long time. I had very much to do in my job and 3 weeks vacation. I also was kind of stuck with a problem while decoding animated GIFs with alpha transparency. The decoder did not want to return proper alpha values. So, I stepped deep inside the GIF decoder and prepared myself to add the missing function. But tonight I discovered the method"CxImage::AlphaFromTransparency", which did the job. Yes, the project takes much longer, than expected because of day time work. But it is still alive.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-3621889999412029421?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/3621889999412029421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/08/transparent-gif-animation-decoding.html#comment-form' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3621889999412029421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3621889999412029421'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/08/transparent-gif-animation-decoding.html' title='Transparent GIF Animation Decoding'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_IeJHb-2CVGM/THRBjwAokyI/AAAAAAAAAeo/T1VtjWmTgfc/s72-c/wave.gif' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5220888386232301948</id><published>2010-05-16T12:48:00.008+02:00</published><updated>2010-05-17T18:27:24.962+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Animating Avatars</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S_A7SLDjJhI/AAAAAAAAAbg/0GSxRqi8Tfc/s1600/tassadar-walk-l.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 100px;" src="http://lh5.ggpht.com/_IeJHb-2CVGM/S_A7qK2ItEI/AAAAAAAAAbo/new6MVAIUEs/tassadar-walk-l.gif" alt="" id="BLOGGER_PHOTO_ID_5471938730646513170" border="0" /&gt;&lt;/a&gt;We are still building the avatar display. The most important part of the avatar display are the avatars. There are also chat balloons, nicknames, menus and more GUI stuff, but avatars are the most important part. And we want ths avatars to be animated.&lt;br /&gt;&lt;br /&gt;What do we need for animated avatars?&lt;br /&gt;&lt;ol&gt;&lt;li&gt;a renderer which puts pixels on the screen&lt;/li&gt;&lt;li&gt;an animated avatar in whatever format&lt;/li&gt;&lt;li&gt;a decoder, that decodes the avatar data&lt;/li&gt;&lt;/ol&gt;In the &lt;a href="http://openvirtualworld.blogspot.com/2010/04/cairo-test.html"&gt;previous posting&lt;/a&gt; I discussed &lt;a href="http://cairographics.org/"&gt;cairo&lt;/a&gt; as the renderer of choice. That's point 1. We now have to decide on point 2, the animation format and choose (or make) a decoder for that format. Of course, the decoder is strongly related to the animation format.&lt;br /&gt;&lt;br /&gt;What is an animation format? An avatar can perform multiple actions. It can stand, walk, wave, etc. Therefore, we need not just one, but a set of animations for a single avatar. An animator component will then decode one animation sequence of the set and display frame after frame. If the avatar is supposed to wave, then the decoder will play the "wave" animation. Usually it will just play the "stand" animation. And when the avatar moves, then it should play a "walk" animation. So, the avatar format must provide multiple animations.&lt;br /&gt;&lt;br /&gt;Lets review our options for an animation format&lt;br /&gt;&lt;ul&gt;&lt;li&gt;3D animation formats, e.g. &lt;a href="http://en.wikipedia.org/wiki/COLLADA"&gt;Collada&lt;/a&gt;, &lt;a href="http://tfc.duke.free.fr/coding/md5-specs-en.html"&gt;Doom 3&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/MD3_%28file_format%29"&gt;Quake&lt;/a&gt;, blender (?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Custom formats like &lt;a href="http://blog.wolfspelz.de/2009/10/how-to-reactivate-weblin-with-2-xml.html"&gt;config.xml&lt;/a&gt; with animated GIFs or PNGs&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;This list is very incomplete. Proposals are welcome.&lt;br /&gt;&lt;br /&gt;Real 3D models would be cool, but I am not really a 3D expert. So, we will start by investigating the "&lt;a href="http://blog.wolfspelz.de/2009/10/how-to-reactivate-weblin-with-2-xml.html"&gt;config.xml&lt;/a&gt;" option.&lt;br /&gt;&lt;br /&gt;This means: we need an XML parser (already in the Apollo framework) and a GIF decoder, which is capable of animations. Typical graphics libraries are candidates for the job. We are currently checking which library is capable of loading animated GIFs from memory and from file and be integrated into the project. Getting to know a code library takes some time. So, this will take a while. We are checking:&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://opencv.willowgarage.com/wiki/"&gt;OpenCV&lt;/a&gt; (no GIF?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://cimg.sourceforge.net/"&gt;CImg&lt;/a&gt; (no GIF?)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.graphicsmagick.org/"&gt;GraphicsMagick&lt;/a&gt; (very complex, GIF loader not found)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://openil.sourceforge.net/"&gt;DevIL&lt;/a&gt; (GIF only from file, but we need decoding also from memory)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://opensource.adobe.com/wiki/display/gil/Generic+Image+Library"&gt;GIL&lt;/a&gt; (GIL from Adobe does not support GIF)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.xdp.it/cximage.htm"&gt;CxImage&lt;/a&gt; (GIF works)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://docs.enlightenment.org/api/imlib2/html/"&gt;Imlib2&lt;/a&gt; (could not find a Windows MSVC build)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;...others?&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;The high profile image libraries seem to ignore GIF. This sounds weird, but is logical. GIF has only indexed color with max. 256 colors. It is not suited for real image processing applications.&lt;br /&gt;&lt;br /&gt;Only &lt;a href="http://www.xdp.it/cximage.htm"&gt;CxImage&lt;/a&gt; survived the test. This is not an optimal solution, because CxImage is Windows based. It must be replaced for a Mac/Linux port. Replacing &lt;a href="http://www.xdp.it/cximage.htm"&gt;CxImage&lt;/a&gt; should not be too difficult, because there are only few lines of code in the application code. Basically loading an image file and iterating through the frames.&lt;br /&gt;&lt;br /&gt;We do not want to spend too much time on this. So, we will now continue with the latest &lt;a href="http://www.xdp.it/cximage.htm"&gt;CxImage&lt;/a&gt; version.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5220888386232301948?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5220888386232301948/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/05/animating-avatars.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5220888386232301948'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5220888386232301948'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/05/animating-avatars.html' title='Animating Avatars'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_IeJHb-2CVGM/S_A7qK2ItEI/AAAAAAAAAbo/new6MVAIUEs/s72-c/tassadar-walk-l.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7760362531712177419</id><published>2010-04-20T23:50:00.009+02:00</published><updated>2010-04-25T21:27:14.725+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Cairo Test</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S84hrvEK-BI/AAAAAAAAAaM/yEG7NP4gjBI/s1600/first-fake-avatar.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 400px; height: 400px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S84hrvEK-BI/AAAAAAAAAaM/yEG7NP4gjBI/s400/first-fake-avatar.png" alt="" id="BLOGGER_PHOTO_ID_5462340433299044370" border="0" /&gt;&lt;/a&gt;I am testing the &lt;a href="http://cairographics.org/"&gt;cairo&lt;/a&gt; drawing library. I modified the transparency test program from my last blog post so, that it paints an avatar image with nickname instead of the pattern from the last blog.&lt;br /&gt;&lt;br /&gt;I can move the avatar around and positioned it on top of a browser window. The result looks like there is an avatar standing on the browser - looks like everything is ready. But it's just a fake avatar. It is static, not animated, not from a chat room. It is just an image painted on a transparent window with the cairo drawing library. But as a cairo test, it is quite successful.&lt;br /&gt;&lt;br /&gt;Painting graphics with cairo feels really backwards for us web programmers. We are used to markup: HTML, SVG, and XAML. Programming with "hard coded" functions like &lt;a class="link" href="http://cairographics.org/manual/cairo-paths.html#cairo-move-to" title="cairo_move_to ()"&gt;cairo_move_to&lt;/a&gt;, &lt;a class="link" href="http://cairographics.org/manual/cairo-context.html#cairo-set-line-width" title="cairo_set_line_width ()"&gt;cairo_set_line_width&lt;/a&gt;&lt;span style="font-family:Georgia,serif;"&gt; &lt;/span&gt;and&lt;span style="text-decoration: underline;"&gt; &lt;/span&gt;&lt;a class="link" href="http://cairographics.org/manual/cairo-context.html#cairo-fill" title="cairo_fill ()"&gt;cairo_fill&lt;/a&gt; feels odd. No CSS, no div, no img-tag. Just good old C++ code with function calls.&lt;br /&gt;&lt;br /&gt;I discovered another argument for cairo compared to WebKit. In a blog post (which I do not find anymore) a Google Chrome developer discusses the choice of skia. Skia is not hardware accelerated, which makes skia look like a bad choice. But, the Chrome developer argues, that most of the time the browser spends in HTML code, arranging DOM elements and applying hierarchies of CSS styles. Once the rendering code knows where to paint something, then only a small fraction of the time is spent for the actual drawing. This is a hint, that using WebKit is much worse performance-wise than using plain cairo. When we use cairo directly, then we get rid of all the time that WebKit spends dealing with HTML features. The trade off is, that there is no CSS, no JavaScript, and no iframe in the avatar display. CSS makes applying different styles easy. Styles and themes need much more effort in plain cairo drawing code. But it is should be much faster. And speed counts, because we do not want to slow down your PC.&lt;br /&gt;&lt;br /&gt;OK, so, cairo works. The image above is only a fake. It is still a long way to go, but we are on the way.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7760362531712177419?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7760362531712177419/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/04/cairo-test.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7760362531712177419'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7760362531712177419'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/04/cairo-test.html' title='Cairo Test'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IeJHb-2CVGM/S84hrvEK-BI/AAAAAAAAAaM/yEG7NP4gjBI/s72-c/first-fake-avatar.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8903390923336739899</id><published>2010-04-17T18:59:00.007+02:00</published><updated>2010-04-18T00:58:27.967+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='client'/><title type='text'>Starting Avatar Display Development</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S8ntPAa6kTI/AAAAAAAAAZ8/UibGRQav-3I/s1600/implemented-modules.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 258px; height: 317px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S8ntPAa6kTI/AAAAAAAAAZ8/UibGRQav-3I/s320/implemented-modules.jpg" alt="" id="BLOGGER_PHOTO_ID_5461156865230147890" border="0" /&gt;&lt;/a&gt;The client has currently much backend code. It has all the protocol handling, user data, and chat functions we need. But there are no avatars yet. The "green" region is (almost) ready. The "red" region is still missing.&lt;br /&gt;&lt;br /&gt;(Another part that is missing is a chat window. But when avatars are done, then the chat is a simple, trust me.)&lt;br /&gt;&lt;br /&gt;(The IRC module will not be necessary for chat with avatars on web pages. Supporting the IRC chat protocol in addition to XMPP/Jabber is an option for later.)&lt;br /&gt;&lt;br /&gt;So, now it is all about the "red" circle: animated avatars on a transparent layer over the web page.&lt;br /&gt;&lt;br /&gt;The data is available, graphics is available, is just has to be painted. This sounds simple. But, it is not that simple. We are programming software that should be portable to different platforms, specifically to MacOS and Linux although the original development (and first release) is on Windows. Painting on different platforms is not as simple as it sounds, because it is not possible to use the painting functions of the operating system. These functions (called drawing API) are not available on other operating systems. And because drawing code is heavy and takes much time to write, it is not good to adapt it for each operating system.&lt;br /&gt;&lt;br /&gt;What we need is a cross platform drawing API. Many of us use Firefox or Chrome on Windows, Linux, and Mac. These programs have the same problem. And they solved it by using cross platform drawing APIs. Firefox pains everything you see on the screen using a library called &lt;a href="http://cairographics.org/"&gt;cairo&lt;/a&gt;. Chrome uses &lt;a href="http://code.google.com/p/skia/"&gt;skia&lt;/a&gt;. These libraries are ways to abstract drawing, so that the display can be ported to other platforms with reasonable effort.&lt;br /&gt;&lt;br /&gt;There are other ways to paint stuff in a platform independent way. One possibility is to use a HTML-renderer, such as &lt;a href="http://webkit.org/"&gt;WebKit&lt;/a&gt;. We could integrate WebKit and paint avatars and chat balloons with HTML and JavaScript. Actually, this is a good solution, because we intend to integrate WebKit anyway for program windows and dialogs. The only drawback is, that it is not much fun to write lots of drawing code in JavaScript. Also, performance might be a problem, because the drawing code would be interpreted by the JavaScript runtime and every visible element would be in HTML with CSS. This is how web browsers work and it is OK for them. But when you surf the Web and your animated avatar is painted all the time, then you don't want your avatar to take much CPU. A web browser can take much CPU while it paints a page, but after that it is silent. Avatars, however are animated and paint again and again. Very much like a Flash banner on newspaper page, that always draws CPU and slows your PC. We do not want to slow your PC.&lt;br /&gt;&lt;br /&gt;On the other hand painting is much easier with WebKit than with graphics libraries like skia and cairo. Speed speaks for skia and cairo. The JavaScript programming issue speaks against WebKit. No easy decision. Do you have any ideas?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8nym1wWF4I/AAAAAAAAAaE/LL-Q6tKQTsM/s1600/transparent-demo.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 166px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8nym1wWF4I/AAAAAAAAAaE/LL-Q6tKQTsM/s200/transparent-demo.gif" alt="" id="BLOGGER_PHOTO_ID_5461162772242241410" border="0" /&gt;&lt;/a&gt;I the meantime, I made a simple program that just paints patterns transparently on the background. It is a demo to check how that works on Windows. All we have to do is to use skia, cairo, or WebKit or someting else to paint avatars on such a transparent layer. We will decide soon which library we will use.&lt;br /&gt;&lt;br /&gt;If you have comments, let us know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8903390923336739899?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8903390923336739899/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/04/starting-avatar-display-development.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8903390923336739899'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8903390923336739899'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/04/starting-avatar-display-development.html' title='Starting Avatar Display Development'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/S8ntPAa6kTI/AAAAAAAAAZ8/UibGRQav-3I/s72-c/implemented-modules.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-3793231277970289659</id><published>2010-04-12T00:31:00.009+02:00</published><updated>2010-04-30T15:14:12.140+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><title type='text'>Hammer vs. Coffee Machine</title><content type='html'>I implemented a simple "competition" feature. Competition means, that some items can damage other items. This is another check of the item server design.&lt;br /&gt;&lt;br /&gt;Competition is a bit more advanced and demanding, than the crafting. During implementation I learned, that we need floating point values in addition to integer values. I could map all crafting actions onto integers. But competition needs finer grained computations. So I had to change the database. I also added time values to implement a cool down period and had to change the database structure again. Effectively, the cool down implements a hit-rate limitation, which leads - in combination with damage values and modifications - to the usual DPS (damage per second) statistics.&lt;br /&gt;&lt;br /&gt;Before I started coding, I modeled the behavior in Excel:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JRLal_BcI/AAAAAAAAAZM/p4x1EKfX73k/s1600/calc.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 177px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JRLal_BcI/AAAAAAAAAZM/p4x1EKfX73k/s320/calc.gif" alt="" id="BLOGGER_PHOTO_ID_5459014954885514690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here is what we can see at on the inventory web pages. This is the inventory with a hammer and a coffee machine. I used the coffee machine to make coffee, but the hammer can also damaged it:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTPbk_HMI/AAAAAAAAAZU/IInTn2L8_Wo/s1600/hit1.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 284px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTPbk_HMI/AAAAAAAAAZU/IInTn2L8_Wo/s320/hit1.gif" alt="" id="BLOGGER_PHOTO_ID_5459017222892494018" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This is the coffee machine. It is in perfect shape (Condition: 100%, Hitpoints: 1000). Obviously, the coffee machine is susceptible to shock damage and piercing damage. But shock damage is more dangerous. Piercing damage can be absorbed more easily.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IeJHb-2CVGM/S8JTflh5suI/AAAAAAAAAZc/EFromNdTBLE/s1600/hit2.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 284px;" src="http://4.bp.blogspot.com/_IeJHb-2CVGM/S8JTflh5suI/AAAAAAAAAZc/EFromNdTBLE/s320/hit2.gif" alt="" id="BLOGGER_PHOTO_ID_5459017500441817826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The hammer. It can be used once per second (Attack cooldown). The hammer is a shock device. It smashes into something. It does no piercing damage. A knife would be different. The hammer makes 100 points shock damage. But the victim will absorb some of the damage.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTl4VBE4I/AAAAAAAAAZk/YQjcvHGKGq8/s1600/hit3.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 284px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTl4VBE4I/AAAAAAAAAZk/YQjcvHGKGq8/s320/hit3.gif" alt="" id="BLOGGER_PHOTO_ID_5459017608567264130" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Now I can hit the coffee machine one with my hammer with this command:&lt;br /&gt;&lt;blockquote&gt;http://localhost:3277/Portal/Inventory/DroidAction/61/Hit/47&lt;/blockquote&gt;After the "hit", the coffee machine is in worse condition than before. It lost a bit of its "Condition" value (Condition: 93.0 %):&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S8JTmMgJuVI/AAAAAAAAAZs/dmUpmFWkN-s/s1600/hit4.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 284px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S8JTmMgJuVI/AAAAAAAAAZs/dmUpmFWkN-s/s320/hit4.gif" alt="" id="BLOGGER_PHOTO_ID_5459017613982677330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The hammer lost also a bit of its condition. Much less than the coffee machine. It is just a bit worn down (Condition: 99.9 %). The hammer will have to be repaired after some time in order to project the full damage.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTmQ4X8HI/AAAAAAAAAZ0/uJ9Pl_8GnLU/s1600/hit5.gif"&gt;&lt;img style="cursor: pointer; width: 320px; height: 284px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JTmQ4X8HI/AAAAAAAAAZ0/uJ9Pl_8GnLU/s320/hit5.gif" alt="" id="BLOGGER_PHOTO_ID_5459017615158014066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Very simple, isn't it? But there are powerful mechanisms implemented which we will use later. The design of the item server has been verified and completed with workflows of different areas. The item server:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;caches items, &lt;/li&gt;&lt;li&gt;loads items from a database&lt;/li&gt;&lt;li&gt;returns item properties on request&lt;/li&gt;&lt;li&gt;has user actions&lt;/li&gt;&lt;li&gt;has interactions between items, and&lt;/li&gt;&lt;li&gt;saves changes to the database&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;I will now leave the item server and return to work on the client. The client has lots of back-end and protocol code. But it does not really show avatars. We want to see animated avatars chatting on web pages. The client also needs a user interface. It needs windows, dialogs, a settings dialog, a buddy list, etc. But most important are avatars. That's the next step. Not a small one. I'll keep you updated.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-3793231277970289659?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/3793231277970289659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/04/hammner-vs-coffee-machine.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3793231277970289659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3793231277970289659'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/04/hammner-vs-coffee-machine.html' title='Hammer vs. Coffee Machine'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IeJHb-2CVGM/S8JRLal_BcI/AAAAAAAAAZM/p4x1EKfX73k/s72-c/calc.gif' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1724894404107500318</id><published>2010-04-02T23:12:00.007+02:00</published><updated>2010-04-03T10:43:06.018+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='items'/><title type='text'>Coffee and Cola Sample Implementations</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeD395v-I/AAAAAAAAAYk/twmC-Bm5nXM/s1600/cola1.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; float: right; width: 320px; height: 234px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeD395v-I/AAAAAAAAAYk/twmC-Bm5nXM/s320/cola1.gif" alt="" id="BLOGGER_PHOTO_ID_5455651419262140386" border="0" /&gt;&lt;/a&gt;I implemented a crafting process in the item server and the portal.&lt;br /&gt;&lt;br /&gt;I am using two examples to check if the details make sense: coffee machine and cola dispenser with their respective ingredients and products.&lt;br /&gt;&lt;br /&gt;The image shows all items which are currently defined. Most of them are for testing various functions.&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IeJHb-2CVGM/S7ZeEHFa-7I/AAAAAAAAAYs/nyN9B8tSLSU/s1600/cola2.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; float: right; width: 320px; height: 234px;" src="http://3.bp.blogspot.com/_IeJHb-2CVGM/S7ZeEHFa-7I/AAAAAAAAAYs/nyN9B8tSLSU/s320/cola2.gif" alt="" id="BLOGGER_PHOTO_ID_5455651423320210354" border="0" /&gt;&lt;/a&gt;This is a view of my visible inventory. One of them is a cola dispenser, a cola machine which makes a noname cola from water and syrup. It also needs energy. If I click the cola machine, then ...&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeEuyu1pI/AAAAAAAAAY0/dtF3QPpT-Pc/s1600/cola3.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; float: right; width: 320px; height: 234px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeEuyu1pI/AAAAAAAAAY0/dtF3QPpT-Pc/s320/cola3.gif" alt="" id="BLOGGER_PHOTO_ID_5455651433979238034" border="0" /&gt;&lt;/a&gt;... I see details of the cola machine. The machine is already equipped with water, syrup and batteries. It has a button to produce cola. When I press the button ...&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeE6Y9ySI/AAAAAAAAAY8/fm2j7-cfUpw/s1600/cola4.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; float: right; width: 320px; height: 234px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeE6Y9ySI/AAAAAAAAAY8/fm2j7-cfUpw/s320/cola4.gif" alt="" id="BLOGGER_PHOTO_ID_5455651437092391202" border="0" /&gt;&lt;/a&gt;... then I get an additional item, a small can of cola. Actually, a noname cola. Not very fancy, but still.&lt;br /&gt;&lt;br /&gt;(For game designers: all item interactions are modeled with items. We took some days to replace a property driven model by an item driven model. It might be a bit less realistic, but manipulating items is more fun than manipulating item statistics.)&lt;br /&gt;&lt;br /&gt;I can click on the cola can and see the datails ...&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S7ZeFfUsrtI/AAAAAAAAAZE/9IZNoseGVek/s1600/cola5.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer; float: right; width: 320px; height: 234px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S7ZeFfUsrtI/AAAAAAAAAZE/9IZNoseGVek/s320/cola5.gif" alt="" id="BLOGGER_PHOTO_ID_5455651447006605010" border="0" /&gt;&lt;/a&gt;... including a button which lets me drink the can. Usually I won't drink it myself. I would offer it to visitors of my web site. If someone else drinks it, then we both get social points.&lt;br /&gt;&lt;br /&gt;This is all just in aplain white design, actually not really a design. Only the bare minimum to check HTML/CSS structure and classes.&lt;br /&gt;&lt;br /&gt;There will be a real design later. What about the green we were used to? or facebook blue? What do you think?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="clear: both;"&gt;&lt;/div&gt;For developers: the item server has now 63 unit tests, the portal is still at 69. There are 74 different types of properties, which manage all item interactions.&lt;br /&gt;&lt;br /&gt;Next steps: we will implement a little bit more item interaction, including damaging some stuff. After that we will turn back to the client and add a cool avatar display.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1724894404107500318?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1724894404107500318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/04/coffee-and-cola-sample-implementations.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1724894404107500318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1724894404107500318'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/04/coffee-and-cola-sample-implementations.html' title='Coffee and Cola Sample Implementations'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_IeJHb-2CVGM/S7ZeD395v-I/AAAAAAAAAYk/twmC-Bm5nXM/s72-c/cola1.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-6412165693963616953</id><published>2010-03-16T23:22:00.009+01:00</published><updated>2010-03-17T00:18:27.748+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><title type='text'>Virtual Goods Update</title><content type='html'>Neptun is growing. After the basic functions are complete, we started implementing an experimental version of virtual item interactions. Interactions enable simple work flows. Later we will extend these work flows, add more complex work flows and graphics for objects on web pages.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6AIuMgTBKI/AAAAAAAAAYA/aAZ-_wzTDAM/s1600-h/icon32.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 32px; height: 32px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6AIuMgTBKI/AAAAAAAAAYA/aAZ-_wzTDAM/s400/icon32.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5449365138841994402" /&gt;&lt;/a&gt;This sounds very theoretic. Lets make an example: you can have a coffee machine. You put the coffee machine from your inventory down to your web site. You can add stuff to the coffee machine, say coffee beans, water and a power source. Then you can tell the coffee machine to make coffee for your friends. &lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6AI5nLBGCI/AAAAAAAAAYI/iwwT2Zl6da4/s1600-h/icon32.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 32px; height: 32px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6AI5nLBGCI/AAAAAAAAAYI/iwwT2Zl6da4/s400/icon32.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5449365334979057698" /&gt;&lt;/a&gt;Your visitors can use a cup to take coffee from the machine, which results in ... (I will tell later). You will get the water somewhere on the web from a fountain. The water can also be used to grow plants on your web site. Plants need seeds. Some plants can be harvested for wood. This is just an example.  &lt;br /&gt;&lt;br /&gt;Virtual goods on the Web will work like in other games. But now they can be everywhere. Not just inside a facebook game. They can be on your homepage, on your community page, your forum, anywhere you go. We will take care, that plants will not overgrow web pages. Hopefully you will help us. And plants are not the end. All you can do INSIDE of games will be possible OUTSIDE on the Web. Not inside an artificial world, but on the real Internet. &lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6ALs0KUVXI/AAAAAAAAAYQ/EqCvD37Icwo/s1600-h/Pflanze.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 100px; height: 98px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/S6ALs0KUVXI/AAAAAAAAAYQ/EqCvD37Icwo/s400/Pflanze.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5449368413662369138" /&gt;&lt;/a&gt;And yes: we feel a little bit guilty for programming virtual goods now, before you have avatars. But I admit, that virtual goods are so much fun and we want to research this segment a bit further before we go back to the client and the avatar. Please be patient. In the meantime: the community version of weblin is still running. You can grow the community by offering the download on your Web site.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_IeJHb-2CVGM/S6APihzgd5I/AAAAAAAAAYY/qNv7yCZFUoM/s1600-h/neptun.gif"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 200px; height: 122px;" src="http://1.bp.blogspot.com/_IeJHb-2CVGM/S6APihzgd5I/AAAAAAAAAYY/qNv7yCZFUoM/s200/neptun.gif" border="0" alt=""id="BLOGGER_PHOTO_ID_5449372634982676370" /&gt;&lt;/a&gt;For programmers: This is how Neptun looks like in Firefox. It is just a list of controls for programmers. Neptun has now 40 test functions (the portal has 69). The large blue text shows links for these tests. Each link execute a single test. The "All Test" link executes all at once. At the top is a link ("Items") to the item list as before and a way to stop the server ("Quit").&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-6412165693963616953?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/6412165693963616953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/03/virtual-goods-update.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6412165693963616953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6412165693963616953'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/03/virtual-goods-update.html' title='Virtual Goods Update'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/S6AIuMgTBKI/AAAAAAAAAYA/aAZ-_wzTDAM/s72-c/icon32.gif' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-6513843342790848405</id><published>2010-03-03T18:29:00.009+01:00</published><updated>2010-03-03T19:18:26.320+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='items'/><title type='text'>Neptun: Virtual Items Server</title><content type='html'>Avatars will have an inventory of virtual items. They will be able to buy, sell, build, trade and loot virtual items. A server manages all these items and everything you do with items. Over the last 3 weeks we implemented such a component. This is our first version of a virtual item server. It is called "Neptun".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IeJHb-2CVGM/S46fsPVrKLI/AAAAAAAAAXw/woB0J2OxaLo/s1600-h/inventory.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 160px;" src="http://4.bp.blogspot.com/_IeJHb-2CVGM/S46fsPVrKLI/AAAAAAAAAXw/woB0J2OxaLo/s200/inventory.png" alt="" id="BLOGGER_PHOTO_ID_5444464581918009522" border="0" /&gt;&lt;/a&gt;In October and November we implemented a first version of the web portal and a simple form of an inventory. Back then, we simulated our items. Now, they are real.&lt;br /&gt;&lt;br /&gt;The inventory is now populated by the item server. In other words: items are alive inside the item server. If you see them on the web portal, then the portal fetches all it needs to display them from the item server. As usual, items are also stored in a database for safety. But in the database they are only passive. In the item server they are active and you can do something with them.&lt;br /&gt;&lt;br /&gt;What you can do comes later. For now these items have a place to be seen (the inventory of the portal) and a place to live (the item server). It is actually much better to see virtual items on a web page of the portal, than in the item server. On the portal they have translated text and images.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_IeJHb-2CVGM/S46kjVBVJsI/AAAAAAAAAX4/finYU4Oy7D8/s1600-h/itemserver.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 200px; height: 160px;" src="http://3.bp.blogspot.com/_IeJHb-2CVGM/S46kjVBVJsI/AAAAAAAAAX4/finYU4Oy7D8/s200/itemserver.png" alt="" id="BLOGGER_PHOTO_ID_5444469926382610114" border="0" /&gt;&lt;/a&gt;Developers can also see items in the item server, but this is much more bare bone. So, this is how Neptun looks like. It has a web user interface, but it shows only technical data. There is a list of item numbers and item properties. Not much for the user, but very informative for developers.&lt;br /&gt;&lt;br /&gt;For the programmers: Neptun is implemented in C#. We program, debug and test in MS Visual Studio 9. Then, we run the program on Linux with &lt;a href="http://www.mono-project.com/"&gt;mono&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-6513843342790848405?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/6513843342790848405/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/03/neptun-virtual-items-server.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6513843342790848405'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/6513843342790848405'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/03/neptun-virtual-items-server.html' title='Neptun: Virtual Items Server'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IeJHb-2CVGM/S46fsPVrKLI/AAAAAAAAAXw/woB0J2OxaLo/s72-c/inventory.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7363997270033473067</id><published>2010-02-20T17:41:00.004+01:00</published><updated>2010-02-20T18:44:57.139+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>State of the Avatar</title><content type='html'>It was quiet during the last 2 months. The main reason is, that we started working permanently in a day job. Since this project has no funding, we can not afford any longer to live without income. &lt;br /&gt;&lt;br /&gt;I continue to work in this project in the evenings and on weekends. Clearly, work progresses more slowly. We can not hold any previously announced deadline of the roadmap. &lt;br /&gt;&lt;br /&gt;There has also been a shuffle in responsibilities in the project. More about that later.&lt;br /&gt;&lt;br /&gt;I just want to tell you, that we did not abandon the project. There will be a new virtual presence system with avatars and virtual goods on all web pages. We are continuing to work. Only the mode and the speed changed, because we have to work for a living. &lt;br /&gt;&lt;br /&gt;On the other hand I will blog more in the future. I will tell more frequently what we are developing so, that you kan keep track of the project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7363997270033473067?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7363997270033473067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/02/state-of-avatar.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7363997270033473067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7363997270033473067'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/02/state-of-avatar.html' title='State of the Avatar'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8004457132779175890</id><published>2010-02-05T18:02:00.000+01:00</published><updated>2010-02-20T18:05:39.729+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><title type='text'>Browser Navigation (FF)</title><content type='html'>Browser Navigation has been implemented for Firefox. It is a substantial Firefox extension in Javascript and some C++ client code. But we are very happy, that we do not need the hook DLL like weblin. &lt;br /&gt;&lt;br /&gt;Internet Explorer has been deferred. We are an open source project, so supporting open source browsers has priotity. IE support will come later.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8004457132779175890?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8004457132779175890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/02/browser-navigation-ff.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8004457132779175890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8004457132779175890'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/02/browser-navigation-ff.html' title='Browser Navigation (FF)'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8193260828092224959</id><published>2010-01-03T19:55:00.003+01:00</published><updated>2010-01-03T20:02:27.349+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><title type='text'>Christmas and New Year</title><content type='html'>We planned to work on browser navigation for Firefox and IE over the holidays. Browser navigation means to detect browsers and tabs and feed navigated URLs to the avatar client. In addition the client needs coordinates of browser windows and always up to date visiblity information of tabs. Windows and tabs can do a lot of weird stuff, including being closed and switched at any time and being minimized. Many cases, much work.&lt;br /&gt;&lt;br /&gt;Unfortunately, the holidays were full of visiting friends, chill out, party. So, the navigation work did not progress as planned. We will continue tomorrow. Promised.&lt;br /&gt;&lt;br /&gt;Happy New Year!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8193260828092224959?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8193260828092224959/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2010/01/christmas-and-new-year.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8193260828092224959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8193260828092224959'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2010/01/christmas-and-new-year.html' title='Christmas and New Year'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1955976070314151936</id><published>2009-12-17T18:33:00.014+01:00</published><updated>2009-12-17T19:11:23.202+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>OVW Meeting 5</title><content type='html'>The next open virtual world meeting will take place next monday @ Bar Knut, Ottensen 18:00 h.&lt;br /&gt;&lt;br /&gt;Topics:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Current developments&lt;/li&gt;&lt;li&gt;Roadmap&lt;/li&gt;&lt;li&gt;License&lt;/li&gt;&lt;li&gt;Idea exchange&lt;/li&gt;&lt;/ul&gt;Place: &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=en&amp;amp;geocode=&amp;amp;q=Gro%C3%9Fe+Rainstra%C3%9Fe+21,+22765+Hamburg,+Germany+%28Cafe+Bar+Knuth+Axel+Bode+%26+Einar+M%C3%B6ller+GbR%29&amp;amp;sll=53.553117,9.931008&amp;amp;sspn=0.002543,0.004876&amp;amp;ie=UTF8&amp;amp;hq=&amp;amp;hnear=Gro%C3%9Fe+Rainstra%C3%9Fe+21,+Ottensen+22765+Hamburg,+Germany&amp;amp;ll=53.553137,9.931093&amp;amp;spn=0.002543,0.004876&amp;amp;z=18"&gt;Cafe Bar Knut, Ottensen 22765, Hamburg, Germany&lt;/a&gt;&lt;br /&gt;Date: Monday, 21.12.2009, 18:00 MET&lt;br /&gt;&lt;br /&gt;Come join us.&lt;br /&gt;It is open for everyone, devs, users, donators, press...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1955976070314151936?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1955976070314151936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/12/ovw-meeting-5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1955976070314151936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1955976070314151936'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/12/ovw-meeting-5.html' title='OVW Meeting 5'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-9104205312438962910</id><published>2009-11-23T13:41:00.005+01:00</published><updated>2009-11-25T03:55:38.909+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Thoughts on Testing</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/SwqC-R7IRvI/AAAAAAAAAVs/z9Czobvuqo8/s1600/baustelle.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 120px; height: 115px; border:none 0px #ffffff;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/SwqC-R7IRvI/AAAAAAAAAVs/z9Czobvuqo8/s320/baustelle.jpg" alt="" id="BLOGGER_PHOTO_ID_5407278309086611186" border="0" /&gt;&lt;/a&gt;While programming we write extensive tests. Tests are extra program code, which checks many functions. Basically every piece of code must be tested and be testable all the time. This is the programmers way to make sure, that a complex program works, even if things change over time.&lt;br /&gt;&lt;br /&gt;The new client has now more than 100 test functions, each checking a group of functions. The upcoming portal just reached 50. Both are growing quickly with the number of feature blocks in the code. Sometimes we spend complete days writing tests. This sounds much, but it is worth the time, because tests easily spare much time later that would be spent debugging. Writing so much test code is a part of &lt;a href="http://en.wikipedia.org/wiki/Agile_software_development"&gt;agile development&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blog.wolfspelz.de/2009/11/integration-tests-are-superior-to-unit.html"&gt;Read more about testing on my blog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-9104205312438962910?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/9104205312438962910/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/11/thoughts-on-testing.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/9104205312438962910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/9104205312438962910'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/11/thoughts-on-testing.html' title='Thoughts on Testing'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/SwqC-R7IRvI/AAAAAAAAAVs/z9Czobvuqo8/s72-c/baustelle.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5017743777241719019</id><published>2009-11-06T18:31:00.007+01:00</published><updated>2009-11-25T03:56:10.112+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>Donations Status &amp; Upcoming Release</title><content type='html'>Dear Reader, this is a quick update on the donations status and the upcoming first release we are working on heavily.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://dl.dropbox.com/u/465960/ovw/avatarChatBrowserPreview.png" style="margin: 0px 10px 10px 0px; width: 240px; float: left; border:none 0px #ffffff;" /&gt;The good news first: to the left you can see a sreenshot of the chat software we will publish soon. We are coding the last lines and have to integrate the software into the new installer. Surely some polishing has to be done but now we can see the end of the tunnel.&lt;br /&gt;&lt;br /&gt;And now the &lt;b&gt;very good news&lt;/b&gt;. You reached &lt;a href="http://openvirtualworld.blogspot.com/2000/09/donations.html"&gt;goal 1&lt;/a&gt; for this quarter! We are thankful and proud. But that does not mean the project does not need your donations anymore. Keep up the good spirit and do not forget to grab a copy of Adobe AIR, so you can use our our little program.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5017743777241719019?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5017743777241719019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/11/donations-status-upcoming-release.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5017743777241719019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5017743777241719019'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/11/donations-status-upcoming-release.html' title='Donations Status &amp; Upcoming Release'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-626376705439584966</id><published>2009-11-03T04:23:00.003+01:00</published><updated>2009-11-03T04:32:50.426+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='progress'/><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Working on an Installer</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_IeJHb-2CVGM/Su-kVoloIJI/AAAAAAAAAVM/cys-nz--v7Q/s1600-h/installer.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 131px; height: 131px;" src="http://4.bp.blogspot.com/_IeJHb-2CVGM/Su-kVoloIJI/AAAAAAAAAVM/cys-nz--v7Q/s320/installer.jpeg" alt="" id="BLOGGER_PHOTO_ID_5399715169819959442" border="0" /&gt;&lt;/a&gt;We are currently working on an installer program. We were very happy with the weblin installer, which is a small EXE and downloads a separate ZIP file. We aim for a similar design. It might not do automatic updates in the first version, but we are currently laying the foundations for it.&lt;br /&gt;&lt;br /&gt;Tell us if you have suggestions or experiences with the old installer you want to share. Now is the time to improve things.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-626376705439584966?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/626376705439584966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/11/working-on-installer.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/626376705439584966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/626376705439584966'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/11/working-on-installer.html' title='Working on an Installer'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_IeJHb-2CVGM/Su-kVoloIJI/AAAAAAAAAVM/cys-nz--v7Q/s72-c/installer.jpeg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1472545998357034768</id><published>2009-10-23T14:41:00.006+02:00</published><updated>2009-10-23T15:17:48.995+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Database Technology for the new Web Site</title><content type='html'>&lt;div style="text-align: left;"&gt;In the next months, the OVW web site will grow. When we add items, it will be an item trading platform. Later it will grow into a serious social network web site with all the "Send message", friends, feed, etc. We do not know yet how far we program our own stuff or if we use external services. After all, there are already enough social networks. Anyway there will be much traffic on the Web site.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/SuGs8iucHwI/AAAAAAAAAU8/s2aeWVJnM_E/s1600-h/images.jpeg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 125px; height: 87px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/SuGs8iucHwI/AAAAAAAAAU8/s2aeWVJnM_E/s320/images.jpeg" alt="" id="BLOGGER_PHOTO_ID_5395783984680279810" border="0" /&gt;&lt;/a&gt;From weblin we learned, that there will be millions of users. Weblin had up to 27.000 concurrent connections with more than 10.000 of them browsing the web, chatting and trading at the same time. We must make sure, that the web site works for 10.000s of concurrent users, because the weblin numbers are surely not the end.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Parallel to the client we already work on a the server/backend code. It will be just the necessary stuff to let the client run for you without much registration. But it is the foundation for all parts of the web site which will be added later.&lt;br /&gt;&lt;br /&gt;I just &lt;a href="http://blog.wolfspelz.de/2009/10/database-as-backend-web-service.html"&gt;posted an article on my blog about the database design&lt;/a&gt; for the upcoming OVW web site and item platform.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1472545998357034768?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1472545998357034768/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/10/database-technology-for-new-web-site.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1472545998357034768'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1472545998357034768'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/10/database-technology-for-new-web-site.html' title='Database Technology for the new Web Site'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/SuGs8iucHwI/AAAAAAAAAU8/s2aeWVJnM_E/s72-c/images.jpeg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-3327779897560804475</id><published>2009-10-20T15:15:00.008+02:00</published><updated>2009-10-20T15:30:40.246+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='release'/><title type='text'>Get Ready for the First Release</title><content type='html'>We are working hard to finish the first version of our "chat browser" but there is something you can do while you are waiting:&lt;br /&gt;&lt;br /&gt;Please download &lt;a href="http://www.adobe.com/go/EN_US-H-GET-AIR" title="Get Adobe AIR"&gt;Adobe AIR&lt;/a&gt; and install it. AIR will be necessary to run our software. It is widely used and perhaps you already have it installed, so do not worry that it might harm your beloved computer.&lt;br /&gt;&lt;br /&gt;I added an AIR download link to the sidebar. Just follow that link and you will get more information about AIR in your preferred language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-3327779897560804475?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/3327779897560804475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/10/get-ready-for-first-release.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3327779897560804475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3327779897560804475'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/10/get-ready-for-first-release.html' title='Get Ready for the First Release'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-4159938255814516855</id><published>2009-10-19T19:39:00.011+02:00</published><updated>2010-10-27T12:10:57.940+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>Goal-o-meter</title><content type='html'>There is now a picture from Google Docs available, which shows how much of the Donations Goal 2 is already achieved:&lt;br /&gt;&lt;br /&gt;% of Goal 2 Reached:&lt;br /&gt;&lt;script type="text/javascript" src="http://www.google.com/uds/modules/gviz/1.0/chart.js"&gt; {"chartType":"BarChart","dataSourceUrl":"//spreadsheets.google.com/tq?key=0Ar64L4Z3xh8mdHFJcy1kLTl5ZTJpVnZ0YmZzWkNsMWc&amp;range=O7%3AP8&amp;gid=2&amp;transpose=1&amp;headers=1&amp;pub=1","options":{"reverseCategories":true,"pointSize":7,"backgroundColor":"#ffffff","minValue":0,"is3D":false,"logScale":false,"lineSize":2,"wmode":"opaque","title":"","height":95,"pointSizeOther":7,"maxValue":100,"mapType":"hybrid","isStacked":true,"showTip":true,"displayAnnotations":true,"min":0,"nonGeoMapColors":["#6aa84f","#b6d7a8","#FF9900","#109618","#990099","#0099C6","#DD4477","#66AA00","#B82E2E","#316395"],"titleY":"","dataMode":"markers","titleX":"","max":100,"maxAlternation":1,"colors":["#6aa84f","#b6d7a8","#FF9900","#109618","#990099","#0099C6","#DD4477","#66AA00","#B82E2E","#316395"],"smoothLine":true,"width":290,"lineWidth":"2","labelPosition":"right","hasLabelsColumn":false,"chf":"bg,s,ffffff","legend":"none","allowCollapse":true,"reverseAxis":true},"packages":"corechart","refreshInterval":5} &lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-4159938255814516855?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/4159938255814516855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/10/goal-o-meter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4159938255814516855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/4159938255814516855'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/10/goal-o-meter.html' title='Goal-o-meter'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7434534704031813244</id><published>2009-10-16T18:36:00.001+02:00</published><updated>2009-10-19T18:25:47.542+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>Donations and Cost Explained</title><content type='html'>&lt;p&gt;I added an explanation and a graph to the &lt;a href="http://openvirtualworld.blogspot.com/2000/09/donations.html"&gt;Donation&lt;/a&gt; page. The graph shows our past costs, expected costs in the next 3 months, and the donations.&lt;/p&gt;&lt;p&gt;We defined 3 goals. We are very close to the first goal and we hope to reach the second goal. Read more on the &lt;a href="http://openvirtualworld.blogspot.com/2000/09/donations.html"&gt;Donation&lt;/a&gt; page. &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7434534704031813244?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7434534704031813244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/10/donations-and-cost-explained_16.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7434534704031813244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7434534704031813244'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/10/donations-and-cost-explained_16.html' title='Donations and Cost Explained'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7809579887262301141</id><published>2009-09-21T16:57:00.011+02:00</published><updated>2009-09-21T18:35:18.038+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='operating'/><title type='text'>Users Hit our Test Server</title><content type='html'>We installed an XMPP server on our test server some weeks ago. We use this server for internal chat testing. The test setup also includes a database and a web server.&lt;br /&gt;&lt;br /&gt;Last week suddenly a large number of clients hit our test server. Over the course of 2 days the numbers grew quickly to several thousand connections. It seems that there are many clients out there using our test server for chat on web pages.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.flickr.com/photos/jdhancock/3574716051/"&gt;&lt;img style="margin: 0px 10px 10px 0px; width: 240px; float: left; height:180px;" src="http://farm4.static.flickr.com/3555/3574716051_8d8c6c7eec_m.jpg" /&gt;&lt;/a&gt;Although this puts load on our small test server, we decided, that we would try to support these chats and let them continue. It turned out, that our test server can cope with the load. But the ongoing chats are sometimes disturbed by our internal tests. When we run tests or re-configure the server, then it happens from time to time, that the chat is offline.&lt;br /&gt;&lt;br /&gt;Most users do not know about these technical issues. They just use the chat and this is ok. Since we allow the chat to continue, we feel the obligation to provide a reliable service. We know that it is very annoying if it suddenly stops working in the middle of a chat.&lt;br /&gt;&lt;br /&gt;We consider renting an additional server exclusively for the chat. Then we can separate our test environment from the ongoing chat of real users. A full root server costs about 50 € per month. We are currently integrating a donation feature where you can help to support the chat server. We plan to spend this money anyway to make things safe and reliable, but we hope to cover some cost by donations.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7809579887262301141?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7809579887262301141/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/09/users-hit-our-test-server.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7809579887262301141'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7809579887262301141'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/09/users-hit-our-test-server.html' title='Users Hit our Test Server'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://farm4.static.flickr.com/3555/3574716051_8d8c6c7eec_t.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8802006482241923302</id><published>2009-09-18T20:00:00.004+02:00</published><updated>2009-09-21T17:26:16.253+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design'/><title type='text'>Request for Ideas: Domain Name</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/SrQCqzIwg9I/AAAAAAAAAR0/vO0Ipp_376Q/s1600-h/Pflanze.gif"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 100px; height: 98px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/SrQCqzIwg9I/AAAAAAAAAR0/vO0Ipp_376Q/s320/Pflanze.gif" alt="" id="BLOGGER_PHOTO_ID_5382930388919288786" border="0" /&gt;&lt;/a&gt;We are currently searching a name for the software and a domain name for the download. There is some discussion in the forum about a name and maybe you can help. To narrow things down a bit, I will explain our current idea.&lt;br /&gt;&lt;br /&gt;The key term is "Avatar". What we are creating is an avatar for the Web. We do not make yet another avatar system. This will be the first instance of THE avatar architecture for the Web and beyond. THIS avatar architecture is more general than the so called walled gardens of virtual worlds. All these closed avatar systems can provide their avatar as a web avatar. From the point of view of the Open Virtual World project, all virtual worlds are just very sophisticated avatar generators. Your real identity is on the Web. You live on the Web every day. Sometimes you dive down into a virtual world. But the Web covers them all. In a few years the separation between closed virtual worlds and the Web will come down. There will be just the Web (or the Net) where you walk around with an avatar and sometimes you enter a specialized world with the same avatar. Yet the outside world, the Web, will always be the largest world.&lt;br /&gt;&lt;br /&gt;You have a web browser, Internet Explorer, Firefox or another browser. You use the browser to see the Web. The software you are using is called a Web Browser. "Web browser" or short "browser" is the category name. "Firefox" is a product name. The thing that it shows is the "Web" or the "Internet". You use an "Internet Explorer" to explore the Internet. This is a product name very close to the category name. The domain http://www.internet-explorer.com/ would be a good place to download that product.&lt;br /&gt;&lt;br /&gt;What we are now searching is a category name and an associated product name and a domain name for the software download.&lt;br /&gt;&lt;br /&gt;What is the product doing? It shows avatars. It gives you an avatar. Your are surfing the Web, but you do not see anyone? Just install an "Avatar". The Open Virtual World project makes "Avatars". "Avatar" is a very general term used in many areas. It is the term of 80x80 pixel images in forums, it is your character in Second Life (and soon the name of a movie). We believe, that what we start now will be THE Avatar. There will be other products, but the category name will be "avatar", maybe "web avatar", but like "web browser" it will be shortened to "avatar".&lt;br /&gt;&lt;br /&gt;When the Web was invented, it was called the Web, because it is the World Wide Web. They did not call it any special product name, just THE Web. It is not operated by a single company. It is open and for everyone. The same is true for our project. Therefore we think, that the client software offered by the open Virtual World project will be one of the first products in the category "Avatar".&lt;br /&gt;&lt;br /&gt;We would use the domain avatar.com. This is what you will download and install: an avatar. Where do you get an avatar? of course, from avatar.com. But as you might guess, the domain is already taken. This is where you can help. Maybe you have an idea how to call the product and the domain in the general direction of "avatar".&lt;br /&gt;&lt;br /&gt;We are also still open to totally different suggestions. But "avatar" is our current direction.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8802006482241923302?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8802006482241923302/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/09/request-for-ideas-domain-name.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8802006482241923302'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8802006482241923302'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/09/request-for-ideas-domain-name.html' title='Request for Ideas: Domain Name'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/SrQCqzIwg9I/AAAAAAAAAR0/vO0Ipp_376Q/s72-c/Pflanze.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5419131138890345543</id><published>2009-08-31T13:15:00.025+02:00</published><updated>2009-08-31T20:50:22.678+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='showcase'/><title type='text'>Avatar Display Showcase 2: Heads Up Display</title><content type='html'>We did a new showcase example of the avatar display! It's more complex than the last one, but it shows some new features you might be interested in.&lt;br /&gt;&lt;br /&gt;This time it's mainly about how you interact with the interface; how to chat and how to launch other actions. You might notice that there are some differences in the way we are doing it to weblin and/or rocketon.&lt;br /&gt;&lt;br /&gt;Have fun playing with the showcase.&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid rgb(204, 204, 204); margin: 0px 10px 10px 0px; padding: 4px;"&gt;&lt;iframe style="border: medium none ; overflow: hidden; width: 100%; height: 400px;" src="http://dl.getdropbox.com/u/465960/AvatarGroup/index2.html" marginheight="0" marginwidth="0" scrolling="no" frameborder="0"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;New Features demonstrated above:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;3D Avatars (MD2, Collada will follow)&lt;/li&gt;&lt;li&gt;Vector Avatars (the teddy-bears)&lt;/li&gt;&lt;li&gt;Scaling Control (lower &lt;s&gt;left&lt;/s&gt; right corner)&lt;/li&gt;&lt;li&gt;Chat Console (we call it doormat)&lt;/li&gt;&lt;li&gt;Chat Bubbles (with different text sizes, depending on text length)&lt;/li&gt;&lt;li&gt;Folding Radial Menu (it's draggable)&lt;/li&gt;&lt;li&gt;Avatar animation (jump &amp;amp; wave implemented)&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;The trickiest part might be the new radial menu. Our version is based on the &lt;a href="http://hci.deri.ie/%7Eksamp/atom.mas"&gt;atom interface&lt;/a&gt;. If you follow the link, you can read about the advantages a radial menu has.&lt;br /&gt;&lt;br /&gt;As always: This is not the final interface and it may be buggy. We are trying to publish every single bit of development to let you be part of the process. So give us your feedback because it matters...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5419131138890345543?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5419131138890345543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/avatar-display-showcase-2-heads-up.html#comment-form' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5419131138890345543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5419131138890345543'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/avatar-display-showcase-2-heads-up.html' title='Avatar Display Showcase 2: Heads Up Display'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8150378297351317652</id><published>2009-08-26T10:39:00.004+02:00</published><updated>2009-08-26T11:03:31.849+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Open Virtual World Forum</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_u7DkqAIu2xA/SpT6VeEqGLI/AAAAAAAAABU/Ta1j2Fao-VQ/s1600-h/forum.gif"&gt;&lt;img style="MARGIN: 0px 0px 10px 10px; WIDTH: 180px; FLOAT: right; HEIGHT: 157px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5374195502116640946" border="0" alt="" src="http://2.bp.blogspot.com/_u7DkqAIu2xA/SpT6VeEqGLI/AAAAAAAAABU/Ta1j2Fao-VQ/s320/forum.gif" /&gt;&lt;/a&gt; There is now a forum at &lt;a href="http://forum.openvirtualworld.com/"&gt;http://forum.openvirtualworld.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The forum is for general discussion, proposals, and comments. The is also a developer section where you can ask (and answer) questions about module programming, the API, cross platform portability, translation, protocols and all the other dev topics.&lt;br /&gt;&lt;br /&gt;The forum is linked here on the page in the top right menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8150378297351317652?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8150378297351317652/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/open-virtual-world-forum.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8150378297351317652'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8150378297351317652'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/open-virtual-world-forum.html' title='Open Virtual World Forum'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_u7DkqAIu2xA/SpT6VeEqGLI/AAAAAAAAABU/Ta1j2Fao-VQ/s72-c/forum.gif' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1014429302638225778</id><published>2009-08-18T11:32:00.007+02:00</published><updated>2009-08-18T16:57:00.051+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><title type='text'>Roadmap Update</title><content type='html'>The &lt;a href="http://openvirtualworld.blogspot.com/2009/05/roadmap.html"&gt;roadmap&lt;/a&gt; has been updated. Dates have been shifted because we want to make some parts a bit easier for testers. We decided to provide a Jabber account. Originally we planned an "early release" which needed much more user skills. We will now run a Jabber server for you, so that the client simply starts after installation and you do not have to get an external Jabber account on your own. So we have to set up at least a bit of a server infrastructure, which includes setting up the web development earlier. That also drives us into vacation time and "costs" 10 more days.&lt;br /&gt;&lt;br /&gt;The chat release will be very "raw", i.e. it has no avatars, just a chat window. But we want to release early and often to get your feedback. Not only from users, but also from developers.&lt;br /&gt;&lt;br /&gt;Of course, we won't leave you without avatars. The display showcases show what we plan. They are also already test beds for front-end implementation while the back-end was not ready. There will be avatars (soon) and items on web pages (a bit later).&lt;br /&gt;&lt;br /&gt;Note: the &lt;a href="http://openvirtualworld.blogspot.com/2009/05/roadmap.html"&gt;roadmap&lt;/a&gt; is linked in the link list in the top right corner of this page.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1014429302638225778?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1014429302638225778/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/roadmap-update.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1014429302638225778'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1014429302638225778'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/roadmap-update.html' title='Roadmap Update'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-3193245716253809482</id><published>2009-08-14T13:06:00.005+02:00</published><updated>2009-08-14T13:40:35.330+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>Jumping right into the Code</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_IeJHb-2CVGM/SoVFhnj8MnI/AAAAAAAAARc/lZ3EhSUfmDY/s1600-h/testui-comments.png"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 320px; height: 234px;" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/SoVFhnj8MnI/AAAAAAAAARc/lZ3EhSUfmDY/s320/testui-comments.png" alt="" id="BLOGGER_PHOTO_ID_5369774574566912626" border="0" /&gt;&lt;/a&gt;For the start I created a simple HTML-based test user interface. It shows the avatar scene on a web page without any fancy stuff, just the data. Using the test interface, I can check what exactly happens between client core and display.&lt;br /&gt;&lt;br /&gt;(This is not the final display. There are other &lt;a href="http://openvirtualworld.blogspot.com/2009/07/avatar-display-showcase1-movement.html"&gt;showcases&lt;/a&gt; for the final display with all the animation, transparency and eye candy.)&lt;br /&gt;&lt;br /&gt;The client has a 2 tier architecture. There is the back-end, which has all the data structures and does the protocol processing. And there is the front-end, which does all the display, animations and user interaction.&lt;br /&gt;&lt;br /&gt;The image shows 3 columns. The left column has controls where I can enter/leave web pages by entering their URLs. It also has an input area to request data from the back-end. The center column is a very simple display of the avatar scene. It shows 3 avatars: The same avatars which are shown by weblin (in the lower part of the image). They are compatible! I can chat and move, and even put my avatar to sleep. Everything is still very raw. The right column shows the communication between back-end and front-end.&lt;br /&gt;&lt;br /&gt;All this is written in HTML. I could write it in C++ or Java, but it would take much longer. The first real display will be in Flash. This shows the flexibility of our 2 tier architecture. Anyone can write a display module like I did in a few days. Maybe someone contributes a specialized displays for power-chatters once we publish the API.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-3193245716253809482?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/3193245716253809482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/jumping-right-into-code.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3193245716253809482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/3193245716253809482'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/jumping-right-into-code.html' title='Jumping right into the Code'/><author><name>Heiner</name><uri>http://www.blogger.com/profile/09520563824611073104</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_IeJHb-2CVGM/SoVFhnj8MnI/AAAAAAAAARc/lZ3EhSUfmDY/s72-c/testui-comments.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1856563525868516458</id><published>2009-08-13T16:37:00.006+02:00</published><updated>2009-09-04T11:59:34.293+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>The Team Grows: Heiner Wolf Joins in</title><content type='html'>http://createordie.de/cod/news/Open-Virtual-World-Avatare-unterwegs-im-Web-051038.htmlThe Open Virtual Worlds Project is happy to announce a new team member: former weblin founder, CTO and Chief Scientist, Dr. Heiner Wolf.&lt;br /&gt;&lt;br /&gt;Heiner is the inventor and evangelist of Layered Virtual Worlds. Since 1996 he works on his vision to populate the web with avatars. He wants to make the web a social place where people meet, chat and play casual online games.&lt;br /&gt;&lt;br /&gt;Heiner developed the first avatars on the web in a European research project. In 2005, very early in the age of web avatars, he wrote the &lt;a href="http://www.webmobs.de/manifesto.html"&gt;Webmobs Manifesto&lt;/a&gt;. When the Web 2.0 came up, he founded Zweitgeist, the company behind weblin. Heiner developed the weblin client and portal software. Under his guidance as CTO, the weblin team created an incredibly stable and scalable system with millions of users. The Open Virtual World Project welcomes the former weblin brain.&lt;br /&gt;&lt;br /&gt;Heiner is always on, even on a one day &lt;a href="http://1.bp.blogspot.com/_u7DkqAIu2xA/SoQ1tjkw0_I/AAAAAAAAABM/ERzZFNsmPAk/s1600-h/helgoland.jpg"&gt;holiday&lt;/a&gt; trip. When roaming the web his avatar is called "Tassadar" or "Planta Velocia". Heiner likes reading science fiction literature and real science articles. He loves watching Stargate, Star Trek, Star Wars and everything that has a SciFi skin. Of course, EVE-Online is his favourite online game.&lt;br /&gt;&lt;br /&gt;Update: recent press links (hi spider)&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.firmenpresse.de/pressinfo114777.html"&gt;Weblin Gründer beteiligt sich an Casual Online Game&lt;/a&gt; (firmenpresse)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.prlog.org/10329774-weblin-founder-joins-casual-online-game.html"&gt;Weblin Founder Joins Casual Online Game&lt;/a&gt; (PRLog)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.free-press-release.com/news-weblin-founder-joins-casual-online-game-1251909343.html"&gt;Weblin Founder Joins Casual Online Game&lt;/a&gt; (Free Press Release)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.virtualworldsnews.com/2009/09/newsbrief-weblin-alum-lands-at-ovw.html"&gt;NewsBrief: Weblin Alum Lands at OVW&lt;/a&gt; (Virtual Worlds News)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.openpr.de/news/345641/Weblin-Gruender-beteiligt-sich-an-Casual-Online-Game.html"&gt;Weblin Gründer beteiligt sich an Casual Online Game&lt;/a&gt; (openPR)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.dailynet.de/InternetWeb/50676.php"&gt;Weblin Gründer beteiligt sich an Casual Online Game&lt;/a&gt; (DailyNet)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.newstin.de/tag/de/142629246"&gt;Weblin Gründer beteiligt sich an Casual Online Game&lt;/a&gt; (Newstin)&lt;/li&gt;&lt;li&gt;&lt;a href="http://createordie.de/cod/news/Open-Virtual-World-Avatare-unterwegs-im-Web-051038.html"&gt;Open Virtual World: Avatare unterwegs im Web&lt;/a&gt; (CREATE OR DIE)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1856563525868516458?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1856563525868516458/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/team-grows-heiner-wolf-joins-in.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1856563525868516458'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1856563525868516458'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/team-grows-heiner-wolf-joins-in.html' title='The Team Grows: Heiner Wolf Joins in'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-9213439759906033797</id><published>2009-08-11T19:38:00.009+02:00</published><updated>2009-08-12T13:08:45.968+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='opinion'/><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>My Weblin Post Mortem</title><content type='html'>You might not know, but I worked for/on/at weblin from 2007 until early 2009. I invested some energy, brains and creative output in that "little chat tool" that attracted about 3 million users.&lt;br /&gt;&lt;br /&gt;In my opinion (writing as the former weblin lead ui &amp; game designer) the reasons for it's "failure" are neither its clumsiness, it's far too simple interactive elements, nor it's lack of monetary prosperity. The real reason is a quite simple one: &lt;b&gt;confidence&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;We were up &amp; running. We had enough users to experiment with virtual goods and advertising to find the right way and the right balance to make it work for this target group between MMORPG players and socializers. We were working on serious game design. We were working on 3D technology and better interfaces for a layered virtual world that hasn't been explored before. We were learning.&lt;br /&gt;We were on schedule.&lt;br /&gt;&lt;br /&gt;But at one point the confidence in our success was gone. Parts of the management lost it and so the investors lost it, too. And if your investors loose confidence in you and you need them, you're out.&lt;br /&gt;&lt;br /&gt;So farewell weblin. We will try to pick up the pieces and do what has to be done.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-9213439759906033797?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/9213439759906033797/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/my-weblin-post-mortem.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/9213439759906033797'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/9213439759906033797'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/my-weblin-post-mortem.html' title='My Weblin Post Mortem'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2995585519958277506</id><published>2009-08-11T17:04:00.007+02:00</published><updated>2009-08-12T12:27:26.911+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>OVW Meeting IV</title><content type='html'>I am happy to announce that the 4th open virtual world meeting will take place this very thursday. Come join us.&lt;br /&gt;&lt;br /&gt;Topics: &lt;ul&gt;&lt;li&gt;Schedule&lt;/li&gt;&lt;li&gt;License&lt;/li&gt;&lt;li&gt;OpenID &amp;amp; registration&lt;/li&gt;&lt;li&gt;Weblin &amp;amp; stuff&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Place: &lt;a href="http://maps.google.com/maps?f=q&amp;amp;source=s_q&amp;amp;hl=de&amp;amp;geocode=&amp;amp;q=Haus+73,+Schulterblatt,+Hamburg,+Germany&amp;amp;sll=37.0625,-95.677068&amp;amp;sspn=38.41771,95.449219&amp;amp;ie=UTF8&amp;amp;z=16&amp;amp;iwloc=A"&gt;Haus 73, Schulterblatt, Hamburg, Germany&lt;/a&gt;&lt;br /&gt;Date: 13.08.2009, 19:00&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2995585519958277506?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2995585519958277506/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/ovw-meeting-iv.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2995585519958277506'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2995585519958277506'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/ovw-meeting-iv.html' title='OVW Meeting IV'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1211233622242730373</id><published>2009-08-10T15:44:00.011+02:00</published><updated>2009-08-11T20:07:29.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Weblin</title><content type='html'>&lt;img style="width: 100px; height: 100px; float:left; margin-right:10px;" src="http://1.bp.blogspot.com/_u7DkqAIu2xA/SoGyvrUnd8I/AAAAAAAAABE/oDtd2ANgD28/s320/avatar.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5368768762955134914" /&gt;Like most of you, we got the news, that weblin is about to go down. This is sad news for us. Weblin is a great system which once had millions of users and it has a very good and strong community.&lt;br /&gt;&lt;br /&gt;Actually, we are weblin users and have been for a long time. We like the concept of meeting people on web pages. So, we decided to create an open source version. We are planning to use the same open &lt;a href="http://openvirtualworld.blogspot.com/2009/06/protocol.html"&gt;protocol&lt;/a&gt; to make our client compatible with Weblin. All users of different clients should be able to chat and connect. The user should have the choice of clients and &lt;a href="http://openvirtualworld.blogspot.com/2009/06/open-source-and-competition.html"&gt;competition&lt;/a&gt; will make clients better for the benefit of the all users.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now it appears, that weblin drops the ball.&lt;br /&gt;We will pick it up.&lt;br /&gt;&lt;br /&gt;We are sad, that users of our client will not be able to meet weblin users. Anyhow, people will meet and chat and play on web pages. The time will come when there will be other clients in the biggest of all virtual worlds: the Web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1211233622242730373?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/1211233622242730373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/weblin.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1211233622242730373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1211233622242730373'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/weblin.html' title='Weblin'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u7DkqAIu2xA/SoGyvrUnd8I/AAAAAAAAABE/oDtd2ANgD28/s72-c/avatar.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5342357442906128224</id><published>2009-08-09T14:55:00.003+02:00</published><updated>2009-08-12T12:27:47.189+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>State of the Avatar</title><content type='html'>We are a bit behind schedule.&lt;br /&gt;&lt;br /&gt;Not much, but we want to make things very good and solid. We are an open source project and we create an open architecture where other developers will be able to contribute plug-ins and features. The architecture we create now will be around for a while to come. If issues come up, then we solve them thoroughly even if it is more work, than just what's necessary to continue.&lt;br /&gt;&lt;br /&gt;Next week we will hold an open meeting to discuss the schedule. The meeting date and location will be announced here soon. Anyone is invited.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5342357442906128224?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5342357442906128224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/state-of-avatar.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5342357442906128224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5342357442906128224'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/state-of-avatar.html' title='State of the Avatar'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2988077401650476953</id><published>2009-07-15T10:37:00.007+02:00</published><updated>2009-08-11T17:12:09.928+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='legal'/><title type='text'>Open Source License</title><content type='html'>&lt;a href="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Copyleft.svg/180px-Copyleft.svg.png"&gt;&lt;img src="http://upload.wikimedia.org/wikipedia/commons/thumb/8/8b/Copyleft.svg/180px-Copyleft.svg.png" style="margin: 0px 10px 10px 0px; width: 180px; float: left; height: 180px;" /&gt;&lt;/a&gt;Client and server software will be available under an Open Source License. The only question is: which one? There are various possibilities with different implications.&lt;br /&gt;&lt;br /&gt;Should it be "infected" by &lt;a href="http://www.fsf.org/licensing/licenses/gpl.html"&gt;GPL&lt;/a&gt;? Pros: changes will be publicly available and it makes the use of GPL code for the project possible. On the other hand, most desired libraries are under LGPL and can be used unmodified anyway. Cons: commercial enterprises might refuse to invest in GPL code to protect their investments. We want commercial use as much as possible. But do we really want commercial applications, which do not feed back their changes?&lt;br /&gt;&lt;br /&gt;Should it be under a "free to use" &lt;a href="http://en.wikipedia.org/wiki/BSD_licenses"&gt;BSD license&lt;/a&gt;? Pros: anyone can use it without publishing changes. Commercial applications are possible without restrictions. Cons: we might not get improvements back. This also means that the commercially operated code is not under peer review and thus might be at risk.&lt;br /&gt;&lt;br /&gt;What are the licenses of other infrastructure projects, like Apache? Is the &lt;a href="http://www.apache.org/licenses/LICENSE-2.0"&gt;Apache&lt;/a&gt; License &lt;a href="http://www.apache.org/licenses/GPL-compatibility.html"&gt;GPL-alike&lt;/a&gt; or BSD-alike? The "Derivative Works" in Apache's section 2 sounds more like BSD. Big projects seem to have no problem omitting the "infectious" part of GPLv3 section 5c. For example &lt;a href="http://hadoop.apache.org/"&gt;Hadoop&lt;/a&gt;, developed commercially by Yahoo, contributed to the Apache foundation, and used heavily by other companies is under Apache License.&lt;br /&gt;&lt;br /&gt;What is your favourite license?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2988077401650476953?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2988077401650476953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/07/open-source-license.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2988077401650476953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2988077401650476953'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/07/open-source-license.html' title='Open Source License'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5267127289750229989</id><published>2009-07-02T01:09:00.032+02:00</published><updated>2009-07-02T03:54:40.142+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='showcase'/><title type='text'>Avatar Display Showcase1: Movement</title><content type='html'>Have a look at our first little demo. What you see down there is the way we think the avatar display should work with avatar movement.&lt;br /&gt;&lt;br /&gt;The user experience is not the final one but all basic issues should be matched.&lt;br /&gt;We worked on how you move your avatar, how the display behaves when you scale the scene, what the display shows when you resize the underlying browser. To try it, download the &lt;a href="http://files.getdropbox.com/u/465960/DisplayMovement.swf"&gt;flash file&lt;/a&gt; and open it in a browser.&lt;br /&gt;&lt;br /&gt;Other fun issues (like the HeadUpDisplay, avatar interaction and lots more) will follow. But for the time being, just play around with this:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin:0px 10px 10px 0px;"&gt;&lt;a href="http://files.getdropbox.com/u/465960/DisplayMovement.swf"&gt;&lt;img src="http://files.getdropbox.com/u/465960/DisplayMovement.png" alt="Check out the flash file" height="400" width="620"/&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;To say it one more time: this is neither the final display, nor the polished version of the avatar movement / stage behaviour. We need more time and &lt;a href="http://openvirtualworld.blogspot.com/2009/07/avatar-display-showcase1-movement.html#comments"&gt;your input&lt;/a&gt; to get things done.&lt;br /&gt;&lt;br /&gt;Pre-FAQ:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;No, there won't be wallpaper on every page you visit, it's just to show the movement.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;No, we don't want to do pixel-art avatars as default.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;The wallpaper was made by &lt;a href="http://www.squidfingers.com/patterns/5/"&gt;squidfingers&lt;/a&gt;.&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5267127289750229989?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5267127289750229989/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/07/avatar-display-showcase1-movement.html#comment-form' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5267127289750229989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5267127289750229989'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/07/avatar-display-showcase1-movement.html' title='Avatar Display Showcase1: Movement'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2364039555585568690</id><published>2009-06-20T21:11:00.005+02:00</published><updated>2009-06-23T18:38:59.649+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='code'/><title type='text'>A Module Needs a Name</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_u7DkqAIu2xA/Sj0633nCNYI/AAAAAAAAAA0/pJGKYyFY_EU/s1600-h/facilitymanager2.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 200px; FLOAT: left; HEIGHT: 260px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5349496663880906114" border="0" alt="" src="http://1.bp.blogspot.com/_u7DkqAIu2xA/Sj0633nCNYI/AAAAAAAAAA0/pJGKYyFY_EU/s320/facilitymanager2.jpg" /&gt;&lt;/a&gt; We are building a modular system. Anything is a module. The configuration database, the protocols, the avatar display, the buddy list, &lt;a href="http://en.wikipedia.org/wiki/Internationalization_and_localization"&gt;i18n&lt;/a&gt;, anything.&lt;br /&gt;&lt;br /&gt;But there is one very central module. Some of us call it the "facility manager". It manages URLs, chat rooms, participants in rooms, and it builds a model of the user's presence. Display modules query the "facility manager" and enumerate the data structures of the presence model. The "facility manager" knows who is in which room, it knows what happens in rooms, and it mediates between protocol modules and display modules. The "facility manager" uses protocol modules to enter chat rooms. It gets network events, builds the presence model, and presents it to display modules.&lt;br /&gt;&lt;br /&gt;The "facility manager" is the model in &lt;a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"&gt;MVC&lt;/a&gt;. But neither "model" nor "facility manager" are cool names. The thing needs a name. A real name, a cool name. So, that we can talk about the thing. Any ideas?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2364039555585568690?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2364039555585568690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/module-needs-name.html#comment-form' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2364039555585568690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2364039555585568690'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/module-needs-name.html' title='A Module Needs a Name'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u7DkqAIu2xA/Sj0633nCNYI/AAAAAAAAAA0/pJGKYyFY_EU/s72-c/facilitymanager2.jpg' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8704677057003145564</id><published>2009-06-18T19:02:00.008+02:00</published><updated>2009-06-19T13:34:05.198+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><category scheme='http://www.blogger.com/atom/ns#' term='meeting'/><title type='text'>Open Meeting 3</title><content type='html'>&lt;p&gt;Locations and displays:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;There will be multiple displays per location. If URLs of 2 browsers point to the same location, then both browsers will have the same display. This means, that multiple "displays" can be attached to a single "location". &lt;/li&gt;&lt;li&gt;A chat window will be regarded as a "display". As a (positive) side effect, it will be possible to be in a room with only a chat window, but without a browser window.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Browser tabs:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Browser tabs will keep you entered, but you won't see people since you do not see the web page. A tab change will not leave/enter. &lt;/li&gt;&lt;li&gt;Only the status will change so, that other people know, that your tab is not active. There will be a special status for "active, but not on this page".&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Roadmap timeline:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;The &lt;a href="http://openvirtualworld.blogspot.com/2009/05/roadmap.html"&gt;roadmap&lt;/a&gt; has been updated with dates for the next milestones. Please see the &lt;a href="http://openvirtualworld.blogspot.com/2009/05/roadmap.html"&gt;roadmap&lt;/a&gt; page.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Place: Haus 73, Schulterblatt, Hamburg, Germany&lt;br /&gt;Date: 18.06.2009, 13:30&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8704677057003145564?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8704677057003145564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/open-meeting-3.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8704677057003145564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8704677057003145564'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/open-meeting-3.html' title='Open Meeting 3'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2057105687244566463</id><published>2009-06-17T12:12:00.002+02:00</published><updated>2009-06-17T12:27:07.823+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><category scheme='http://www.blogger.com/atom/ns#' term='team'/><title type='text'>Our shiny new Headquarter</title><content type='html'>&lt;img style="WIDTH: 320px; FLOAT: left; HEIGHT: 400px; MARGIN-RIGHT: 10px" src="http://files.getdropbox.com/u/465960/hq.jpg" width="320" height="400" /&gt;We moved into our new HQ this monday!&lt;br /&gt;From now on the open virtual world project will be developed right from the roof of the "Schanze", a central district of Hamburg, Germany.&lt;br /&gt;&lt;br /&gt;The office is on the top floor of an old factory building with lots of space, light and air.&lt;br /&gt;&lt;br /&gt;The photo shows the kitchen/conference table and parts of the roof-deck (on the left).&lt;br /&gt;&lt;br /&gt;Now the equipment is set up, the keys and passwords had been handed over and we continue work at a gorgeous new office.&lt;br /&gt;&lt;br /&gt;we happy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2057105687244566463?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2057105687244566463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/our-shiny-new-headquarter.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2057105687244566463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2057105687244566463'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/our-shiny-new-headquarter.html' title='Our shiny new Headquarter'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-8851910325365080998</id><published>2009-06-05T15:57:00.004+02:00</published><updated>2009-06-17T13:27:53.422+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Platforms</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjSq0HzTyI/AAAAAAAAAAc/5Slt9F-Hg1M/s1600-h/platforms.jpg"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 250px; FLOAT: left; HEIGHT: 168px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5348256190490169122" border="0" alt="" src="http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjSq0HzTyI/AAAAAAAAAAc/5Slt9F-Hg1M/s320/platforms.jpg" /&gt;&lt;/a&gt;Our Open Virtual World client will be available for Windows and Mac.&lt;br /&gt;&lt;br /&gt;The client will be programmed in a platform independent way. It can be ported to other platforms as well. The client will also be available for Linux. But we may need your help to do this as quickly as possible.&lt;br /&gt;&lt;br /&gt;Beyond that, the architecture will be documented and libraries will be available, so that anyone can create a similar and compatible program in any programming language.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-8851910325365080998?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/8851910325365080998/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/platforms_05.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8851910325365080998'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/8851910325365080998'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/platforms_05.html' title='Platforms'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjSq0HzTyI/AAAAAAAAAAc/5Slt9F-Hg1M/s72-c/platforms.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-7569672290311385503</id><published>2009-06-04T11:01:00.003+02:00</published><updated>2009-06-17T13:27:27.996+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><title type='text'>Protocol</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjQVrkYl1I/AAAAAAAAAAM/3p5P3MbR5ug/s1600-h/network.gif"&gt;&lt;img style="MARGIN: 0px 10px 10px 0px; WIDTH: 150px; FLOAT: left; HEIGHT: 250px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5348253628393625426" border="0" alt="" src="http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjQVrkYl1I/AAAAAAAAAAM/3p5P3MbR5ug/s320/network.gif" /&gt;&lt;/a&gt; We decided to use existing chat protocols for the Open Virtual World. People who meet on Web pages will actually meet in chat rooms hosted by chat servers.&lt;br /&gt;&lt;br /&gt;We will start with XMPP, because it is extensible, modern, and because it gains more and more speed. XMPP is THE open instant messaging and chat protocol.&lt;br /&gt;&lt;br /&gt;Later we will add other protocols. We are building an open architecture, that can use different protocols. XMPP ist the first. But IRC and others will follow. It is not really important which protocol people use to meet. The important point is, that they meet on the Web.&lt;br /&gt;&lt;br /&gt;Why don't we create our own protocol? We have very much experience with chat and communication systems. We know that features of chat systems map nicely on the Open Virtual World. There are already well known protocols with all the features we need. There are client and server coponents. Even more important, there are people with know how. People, who already run chat servers. People, who know how to program additional components.&lt;br /&gt;&lt;br /&gt;We need these people. We need YOU to make the Open Virtual World as rich as the Web.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-7569672290311385503?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/7569672290311385503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/protocol.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7569672290311385503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/7569672290311385503'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/protocol.html' title='Protocol'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_u7DkqAIu2xA/SjjQVrkYl1I/AAAAAAAAAAM/3p5P3MbR5ug/s72-c/network.gif' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-228041669429282912</id><published>2009-06-01T22:01:00.001+02:00</published><updated>2010-02-20T17:21:48.966+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='vision'/><title type='text'>Open Source and Competition</title><content type='html'>We are creating an open system. The software will be available with an Open Source License. We do not believe, that we can sell the client or server software. Therefore we publish everything and use the benefits of Open Source in return.&lt;br /&gt;&lt;br /&gt;Of course, later we have to earn money to operate some servers at least. We will create and offer virtual goods. You will be able to get virtual resources, to craft virtual goods, to trade, use, and sell them. We will also sell additional virtual goods, which you can use to craft even better virtual items. But you do not have to. The system will be open and free to play.&lt;br /&gt;&lt;br /&gt;We strive to create an open virtual world on the Web similar to weblin and RocketOn, but better, richer, more important, and more open for your participation. We do what weblin could have done. We think what weblin did not think of. We have more ideas than they had. We plan what weblin did not plan.&lt;br /&gt;&lt;br /&gt;The open virtual world will be THE virtual world on the Web. It will be open just like the Web with millions of clients, and servers, and many services. We will create services for you and we hope, that other people will do the same. We believe, that competition makes this virtual world as interesting and diverse as the Web itself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-228041669429282912?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/228041669429282912/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/06/open-source-and-competition.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/228041669429282912'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/228041669429282912'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/06/open-source-and-competition.html' title='Open Source and Competition'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5453097680387144384</id><published>2009-05-20T19:38:00.022+02:00</published><updated>2009-06-18T18:50:17.250+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadmap'/><title type='text'>Roadmap</title><content type='html'>We are developing a layered virtual world system with social game mechanics. We are starting with technology decisions, then we implement the base system. Finally we will add advanced features and content.&lt;br /&gt;&lt;br /&gt;&lt;iframe id="iCal" style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" height="600" src="http://spreadsheets.google.com/pub?key=r7I_L9A3XaUo3P44gCngi-w&amp;single=true&amp;gid=0&amp;output=html" frameborder="0" width="100%" scrolling="auto"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5453097680387144384?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5453097680387144384/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/05/roadmap.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5453097680387144384'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5453097680387144384'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/05/roadmap.html' title='Roadmap'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-5366357414699162556</id><published>2009-05-04T17:50:00.034+02:00</published><updated>2009-05-12T20:04:56.747+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Hello World</title><content type='html'>Welcome to the temporary home of the &lt;i&gt;“Open Virtual World”&lt;/i&gt; project.&lt;br /&gt;Our goal is to create a &lt;i&gt;virtual world client&lt;/i&gt; similar to &lt;a href="http://rocketon.com/"&gt;rocketon&lt;/a&gt; or &lt;a href="http://weblin.com/"&gt;weblin&lt;/a&gt; – but under open source licence and for all operating systems.&lt;br /&gt;&lt;br /&gt;Until the project has a real name, we will try to establish a straightforward communication channel on this blog. So from now on, you will be able to find and discuss all news and updates regarding the development of our / your software right here.&lt;br /&gt;&lt;br /&gt;Detailed information about the “greater vision” of this project, the technological approach, first previews and the repository will follow as soon as possible. But meanwhile feel free to drop us your comments and suggestions or get in touch if you want to join in.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-5366357414699162556?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/5366357414699162556/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/05/test.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5366357414699162556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/5366357414699162556'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/05/test.html' title='Hello World'/><author><name>Daniel</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-1228106280237773401</id><published>2000-09-21T15:09:00.105+02:00</published><updated>2009-11-06T18:15:54.710+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><category scheme='http://www.blogger.com/atom/ns#' term='donations'/><title type='text'>Donations</title><content type='html'>&lt;h4&gt;Donate with PayPal&lt;/h4&gt;&lt;form method="post" action="https://www.paypal.com/cgi-bin/webscr"&gt;&lt;p class="instructions"&gt;Donations will be used for server operating cost and other technical expenses.&lt;br /&gt;Even small donations can make a difference.&lt;/p&gt;&lt;input id="cmd_donation" value="_donations" name="cmd" type="hidden"&gt;&lt;br /&gt;&lt;label style="width: 140px; display: block; float: left;" id="amount_label"&gt;Amount:&lt;/label&gt; &lt;input value="donation.ovw@gmail.com" name="business" type="hidden"&gt; &lt;input value="Open Virtual World Donation" name="item_name" type="hidden"&gt; &lt;input value="PP-DonationsBF:btn_donate_LG.gif:NonHosted" name="bn" type="hidden"&gt; &lt;b&gt;&lt;input id="input_amount_0" onclick="this.form.amount.value=5" value="5" name="amountOption" type="radio"&gt; &lt;label id="amount_1" for="input_amount_0"&gt;5 € &lt;/label&gt;&lt;input id="input_amount_1" onclick="this.form.amount.value=10" value="10" name="amountOption" type="radio"&gt;&lt;label id="amount_1" for="input_amount_1"&gt;10 € &lt;/label&gt;&lt;input id="input_amount_2" onclick="this.form.amount.value=20" value="20" name="amountOption" type="radio"&gt;&lt;label id="amount_2" for="input_amount_2"&gt;20 € &lt;/label&gt;&lt;input id="input_amount_3" onclick="this.form.amount.value=50" value="50" name="amountOption" type="radio"&gt;&lt;label id="amount_3" for="input_amount_3"&gt;50 € &lt;/label&gt;&lt;/b&gt;&lt;input id="input_amount_other" value="Other" name="amountOption" type="radio"&gt;&lt;label id="amount_other"&gt;&lt;input id="amountGiven" onfocus="this.form.input_amount_other.checked=true" onchange="this.form.amount.value=this.form.amountEntered.value" name="amountEntered"&gt; &lt;span style="color: rgb(136, 136, 136);"&gt;(Other amount)&lt;/span&gt;&lt;/label&gt; &lt;!-- default is 20 --&gt;&lt;input value="20" name="amount" type="hidden"&gt;&lt;br /&gt;&lt;br /&gt;&lt;label style="width: 140px; display: block; float: left;" for="input_currency_code"&gt;Currency: &lt;/label&gt;&lt;select style="font-family: Arial; color: rgb(102, 102, 102); font-size: 14px; font-weight: bold;" id="input_currency_code" size="1" name="currency_code"&gt; &lt;option value="EUR"&gt;EUR - €&lt;/option&gt; &lt;option value=""&gt;- - -&lt;/option&gt; &lt;option value="USD"&gt;USD - $&lt;/option&gt; &lt;option value="GBP"&gt;GBP - £&lt;/option&gt; &lt;option value="EUR"&gt;EUR - €&lt;/option&gt; &lt;option value="AUD"&gt;AUD - $&lt;/option&gt; &lt;option value="CAD"&gt;CAD - $&lt;/option&gt; &lt;option value="CHF"&gt;CHF&lt;/option&gt; &lt;option value="CZK"&gt;CZK - Kc&lt;/option&gt; &lt;option value="DKK"&gt;DKK - kr&lt;/option&gt; &lt;option value="EUR"&gt;EUR - €&lt;/option&gt; &lt;option value="HKD"&gt;HKD - HK$&lt;/option&gt; &lt;option value="HUF"&gt;HUF - Ft&lt;/option&gt; &lt;option value="GBP"&gt;GBP - £&lt;/option&gt; &lt;option value="JPY"&gt;JPY - ¥&lt;/option&gt; &lt;option value="NZD"&gt;NZD - NZ$&lt;/option&gt; &lt;option value="NOK"&gt;NOK - kr&lt;/option&gt; &lt;option value="PLN"&gt;PLN - zl&lt;/option&gt; &lt;option value="SGD"&gt;SGD - S$&lt;/option&gt; &lt;option value="SEK"&gt;SEK - kr&lt;/option&gt; &lt;option value="ILS"&gt;ILS - ?&lt;/option&gt;&lt;/select&gt; &lt;input value="1" name="no_shipping" type="hidden"&gt;&lt;br /&gt;&lt;div style="color: rgb(136, 136, 136);" class="options"&gt;&lt;br /&gt;&lt;label style="width: 140px; display: block; float: left;" for="input_lc"&gt;Your Country *:&lt;/label&gt; &lt;select style="width: 220px; font-family: Arial; color: rgb(102, 102, 102); font-size: 14px;" id="input_lc" size="1" name="lc"&gt; &lt;option value=""&gt;------- Select one below -------&lt;/option&gt; &lt;option value="AF"&gt;AFGHANISTAN&lt;/option&gt; &lt;option value="AX"&gt;ÅLAND ISLANDS&lt;/option&gt; &lt;option value="AL"&gt;ALBANIA&lt;/option&gt; &lt;option value="DZ"&gt;ALGERIA&lt;/option&gt; &lt;option value="AS"&gt;AMERICAN SAMOA&lt;/option&gt; &lt;option value="AD"&gt;ANDORRA&lt;/option&gt; &lt;option value="AO"&gt;ANGOLA&lt;/option&gt; &lt;option value="AI"&gt;ANGUILLA&lt;/option&gt; &lt;option value="AQ"&gt;ANTARCTICA&lt;/option&gt; &lt;option value="AG"&gt;ANTIGUA AND BARBUDA&lt;/option&gt; &lt;option value="AR"&gt;ARGENTINA&lt;/option&gt; &lt;option value="AM"&gt;ARMENIA&lt;/option&gt; &lt;option value="AW"&gt;ARUBA&lt;/option&gt; &lt;option value="AU"&gt;AUSTRALIA&lt;/option&gt; &lt;option value="AT"&gt;AUSTRIA&lt;/option&gt; &lt;option value="AZ"&gt;AZERBAIJAN&lt;/option&gt; &lt;option value="BS"&gt;BAHAMAS&lt;/option&gt; &lt;option value="BH"&gt;BAHRAIN&lt;/option&gt; &lt;option value="BD"&gt;BANGLADESH&lt;/option&gt; &lt;option value="BB"&gt;BARBADOS&lt;/option&gt; &lt;option value="BY"&gt;BELARUS&lt;/option&gt; &lt;option value="BE"&gt;BELGIUM&lt;/option&gt; &lt;option value="BZ"&gt;BELIZE&lt;/option&gt; &lt;option value="BJ"&gt;BENIN&lt;/option&gt; &lt;option value="BM"&gt;BERMUDA&lt;/option&gt; &lt;option value="BT"&gt;BHUTAN&lt;/option&gt; &lt;option value="BO"&gt;BOLIVIA&lt;/option&gt; &lt;option value="BA"&gt;BOSNIA AND HERZEGOVINA&lt;/option&gt; &lt;option value="BW"&gt;BOTSWANA&lt;/option&gt; &lt;option value="BV"&gt;BOUVET ISLAND&lt;/option&gt; &lt;option value="BR"&gt;BRAZIL&lt;/option&gt; &lt;option value="IO"&gt;BRITISH INDIAN OCEAN TERRITORY&lt;/option&gt; &lt;option value="BN"&gt;BRUNEI DARUSSALAM&lt;/option&gt; &lt;option value="BG"&gt;BULGARIA&lt;/option&gt; &lt;option value="BF"&gt;BURKINA FASO&lt;/option&gt; &lt;option value="BI"&gt;BURUNDI&lt;/option&gt; &lt;option value="KH"&gt;CAMBODIA&lt;/option&gt; &lt;option value="CM"&gt;CAMEROON&lt;/option&gt; &lt;option value="CA"&gt;CANADA&lt;/option&gt; &lt;option value="CV"&gt;CAPE VERDE&lt;/option&gt; &lt;option value="KY"&gt;CAYMAN ISLANDS&lt;/option&gt; &lt;option value="CF"&gt;CENTRAL AFRICAN REPUBLIC&lt;/option&gt; &lt;option value="TD"&gt;CHAD&lt;/option&gt; &lt;option value="CL"&gt;CHILE&lt;/option&gt; &lt;option value="CN"&gt;CHINA&lt;/option&gt; &lt;option value="CX"&gt;CHRISTMAS ISLAND&lt;/option&gt; &lt;option value="CC"&gt;COCOS (KEELING) ISLANDS&lt;/option&gt; &lt;option value="CO"&gt;COLOMBIA&lt;/option&gt; &lt;option value="KM"&gt;COMOROS&lt;/option&gt; &lt;option value="CG"&gt;CONGO&lt;/option&gt; &lt;option value="CD"&gt;CONGO, THE DEMOCRATIC REPUBLIC OF THE&lt;/option&gt; &lt;option value="CK"&gt;COOK ISLANDS&lt;/option&gt; &lt;option value="CR"&gt;COSTA RICA&lt;/option&gt; &lt;option value="CI"&gt;CÔTE D'IVOIRE&lt;/option&gt; &lt;option value="HR"&gt;CROATIA&lt;/option&gt; &lt;option value="CU"&gt;CUBA&lt;/option&gt; &lt;option value="CY"&gt;CYPRUS&lt;/option&gt; &lt;option value="CZ"&gt;CZECH REPUBLIC&lt;/option&gt; &lt;option value="DK"&gt;DENMARK&lt;/option&gt; &lt;option value="DJ"&gt;DJIBOUTI&lt;/option&gt; &lt;option value="DM"&gt;DOMINICA&lt;/option&gt; &lt;option value="DO"&gt;DOMINICAN REPUBLIC&lt;/option&gt; &lt;option value="EC"&gt;ECUADOR&lt;/option&gt; &lt;option value="EG"&gt;EGYPT&lt;/option&gt; &lt;option value="SV"&gt;EL SALVADOR&lt;/option&gt; &lt;option value="GQ"&gt;EQUATORIAL GUINEA&lt;/option&gt; &lt;option value="ER"&gt;ERITREA&lt;/option&gt; &lt;option value="EE"&gt;ESTONIA&lt;/option&gt; &lt;option value="ET"&gt;ETHIOPIA&lt;/option&gt; &lt;option value="FK"&gt;FALKLAND ISLANDS (MALVINAS)&lt;/option&gt; &lt;option value="FO"&gt;FAROE ISLANDS&lt;/option&gt; &lt;option value="FJ"&gt;FIJI&lt;/option&gt; &lt;option value="FI"&gt;FINLAND&lt;/option&gt; &lt;option value="FR"&gt;FRANCE&lt;/option&gt; &lt;option value="GF"&gt;FRENCH GUIANA&lt;/option&gt; &lt;option value="PF"&gt;FRENCH POLYNESIA&lt;/option&gt; &lt;option value="TF"&gt;FRENCH SOUTHERN TERRITORIES&lt;/option&gt; &lt;option value="GA"&gt;GABON&lt;/option&gt; &lt;option value="GM"&gt;GAMBIA&lt;/option&gt; &lt;option value="GE"&gt;GEORGIA&lt;/option&gt; &lt;option value="DE"&gt;GERMANY&lt;/option&gt; &lt;option value="GH"&gt;GHANA&lt;/option&gt; &lt;option value="GI"&gt;GIBRALTAR&lt;/option&gt; &lt;option value="GR"&gt;GREECE&lt;/option&gt; &lt;option value="GL"&gt;GREENLAND&lt;/option&gt; &lt;option value="GD"&gt;GRENADA&lt;/option&gt; &lt;option value="GP"&gt;GUADELOUPE&lt;/option&gt; &lt;option value="GU"&gt;GUAM&lt;/option&gt; &lt;option value="GT"&gt;GUATEMALA&lt;/option&gt; &lt;option value="GG"&gt;GUERNSEY&lt;/option&gt; &lt;option value="GN"&gt;GUINEA&lt;/option&gt; &lt;option value="GW"&gt;GUINEA-BISSAU&lt;/option&gt; &lt;option value="GY"&gt;GUYANA&lt;/option&gt; &lt;option value="HT"&gt;HAITI&lt;/option&gt; &lt;option value="HM"&gt;HEARD ISLAND AND MCDONALD ISLANDS&lt;/option&gt; &lt;option value="VA"&gt;HOLY SEE (VATICAN CITY STATE)&lt;/option&gt; &lt;option value="HN"&gt;HONDURAS&lt;/option&gt; &lt;option value="HK"&gt;HONG KONG&lt;/option&gt; &lt;option value="HU"&gt;HUNGARY&lt;/option&gt; &lt;option value="IS"&gt;ICELAND&lt;/option&gt; &lt;option value="IN"&gt;INDIA&lt;/option&gt; &lt;option value="ID"&gt;INDONESIA&lt;/option&gt; &lt;option value="IR"&gt;IRAN, ISLAMIC REPUBLIC OF&lt;/option&gt; &lt;option value="IQ"&gt;IRAQ&lt;/option&gt; &lt;option value="IE"&gt;IRELAND&lt;/option&gt; &lt;option value="IM"&gt;ISLE OF MAN&lt;/option&gt; &lt;option value="IL"&gt;ISRAEL&lt;/option&gt; &lt;option value="IT"&gt;ITALY&lt;/option&gt; &lt;option value="JM"&gt;JAMAICA&lt;/option&gt; &lt;option value="JP"&gt;JAPAN&lt;/option&gt; &lt;option value="JE"&gt;JERSEY&lt;/option&gt; &lt;option value="JO"&gt;JORDAN&lt;/option&gt; &lt;option value="KZ"&gt;KAZAKHSTAN&lt;/option&gt; &lt;option value="KE"&gt;KENYA&lt;/option&gt; &lt;option value="KI"&gt;KIRIBATI&lt;/option&gt; &lt;option value="KP"&gt;KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF&lt;/option&gt; &lt;option value="KR"&gt;KOREA, REPUBLIC OF&lt;/option&gt; &lt;option value="KW"&gt;KUWAIT&lt;/option&gt; &lt;option value="KG"&gt;KYRGYZSTAN&lt;/option&gt; &lt;option value="LA"&gt;LAO PEOPLE'S DEMOCRATIC REPUBLIC&lt;/option&gt; &lt;option value="LV"&gt;LATVIA&lt;/option&gt; &lt;option value="LB"&gt;LEBANON&lt;/option&gt; &lt;option value="LS"&gt;LESOTHO&lt;/option&gt; &lt;option value="LR"&gt;LIBERIA&lt;/option&gt; &lt;option value="LY"&gt;LIBYAN ARAB JAMAHIRIYA&lt;/option&gt; &lt;option value="LI"&gt;LIECHTENSTEIN&lt;/option&gt; &lt;option value="LT"&gt;LITHUANIA&lt;/option&gt; &lt;option value="LU"&gt;LUXEMBOURG&lt;/option&gt; &lt;option value="MO"&gt;MACAO&lt;/option&gt; &lt;option value="MK"&gt;MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF&lt;/option&gt; &lt;option value="MG"&gt;MADAGASCAR&lt;/option&gt; &lt;option value="MW"&gt;MALAWI&lt;/option&gt; &lt;option value="MY"&gt;MALAYSIA&lt;/option&gt; &lt;option value="MV"&gt;MALDIVES&lt;/option&gt; &lt;option value="ML"&gt;MALI&lt;/option&gt; &lt;option value="MT"&gt;MALTA&lt;/option&gt; &lt;option value="MH"&gt;MARSHALL ISLANDS&lt;/option&gt; &lt;option value="MQ"&gt;MARTINIQUE&lt;/option&gt; &lt;option value="MR"&gt;MAURITANIA&lt;/option&gt; &lt;option value="MU"&gt;MAURITIUS&lt;/option&gt; &lt;option value="YT"&gt;MAYOTTE&lt;/option&gt; &lt;option value="MX"&gt;MEXICO&lt;/option&gt; &lt;option value="FM"&gt;MICRONESIA, FEDERATED STATES OF&lt;/option&gt; &lt;option value="MD"&gt;MOLDOVA&lt;/option&gt; &lt;option value="MC"&gt;MONACO&lt;/option&gt; &lt;option value="MN"&gt;MONGOLIA&lt;/option&gt; &lt;option value="ME"&gt;MONTENEGRO&lt;/option&gt; &lt;option value="MS"&gt;MONTSERRAT&lt;/option&gt; &lt;option value="MA"&gt;MOROCCO&lt;/option&gt; &lt;option value="MZ"&gt;MOZAMBIQUE&lt;/option&gt; &lt;option value="MM"&gt;MYANMAR&lt;/option&gt; &lt;option value="NA"&gt;NAMIBIA&lt;/option&gt; &lt;option value="NR"&gt;NAURU&lt;/option&gt; &lt;option value="NP"&gt;NEPAL&lt;/option&gt; &lt;option value="NL"&gt;NETHERLANDS&lt;/option&gt; &lt;option value="AN"&gt;NETHERLANDS ANTILLES&lt;/option&gt; &lt;option value="NC"&gt;NEW CALEDONIA&lt;/option&gt; &lt;option value="NZ"&gt;NEW ZEALAND&lt;/option&gt; &lt;option value="NI"&gt;NICARAGUA&lt;/option&gt; &lt;option value="NE"&gt;NIGER&lt;/option&gt; &lt;option value="NG"&gt;NIGERIA&lt;/option&gt; &lt;option value="NU"&gt;NIUE&lt;/option&gt; &lt;option value="NF"&gt;NORFOLK ISLAND&lt;/option&gt; &lt;option value="MP"&gt;NORTHERN MARIANA ISLANDS&lt;/option&gt; &lt;option value="NO"&gt;NORWAY&lt;/option&gt; &lt;option value="OM"&gt;OMAN&lt;/option&gt; &lt;option value="PK"&gt;PAKISTAN&lt;/option&gt; &lt;option value="PW"&gt;PALAU&lt;/option&gt; &lt;option value="PS"&gt;PALESTINIAN TERRITORY, OCCUPIED&lt;/option&gt; &lt;option value="PA"&gt;PANAMA&lt;/option&gt; &lt;option value="PG"&gt;PAPUA NEW GUINEA&lt;/option&gt; &lt;option value="PY"&gt;PARAGUAY&lt;/option&gt; &lt;option value="PE"&gt;PERU&lt;/option&gt; &lt;option value="PH"&gt;PHILIPPINES&lt;/option&gt; &lt;option value="PN"&gt;PITCAIRN&lt;/option&gt; &lt;option value="PL"&gt;POLAND&lt;/option&gt; &lt;option value="PT"&gt;PORTUGAL&lt;/option&gt; &lt;option value="PR"&gt;PUERTO RICO&lt;/option&gt; &lt;option value="QA"&gt;QATAR&lt;/option&gt; &lt;option value="RE"&gt;RÉUNION&lt;/option&gt; &lt;option value="RO"&gt;ROMANIA&lt;/option&gt; &lt;option value="RU"&gt;RUSSIAN FEDERATION&lt;/option&gt; &lt;option value="RW"&gt;RWANDA&lt;/option&gt; &lt;option value="BL"&gt;SAINT BARTHÉLEMY&lt;/option&gt; &lt;option value="SH"&gt;SAINT HELENA&lt;/option&gt; &lt;option value="KN"&gt;SAINT KITTS AND NEVIS&lt;/option&gt; &lt;option value="LC"&gt;SAINT LUCIA&lt;/option&gt; &lt;option value="MF"&gt;SAINT MARTIN&lt;/option&gt; &lt;option value="PM"&gt;SAINT PIERRE AND MIQUELON&lt;/option&gt; &lt;option value="VC"&gt;SAINT VINCENT AND THE GRENADINES&lt;/option&gt; &lt;option value="WS"&gt;SAMOA&lt;/option&gt; &lt;option value="SM"&gt;SAN MARINO&lt;/option&gt; &lt;option value="ST"&gt;SAO TOME AND PRINCIPE&lt;/option&gt; &lt;option value="SA"&gt;SAUDI ARABIA&lt;/option&gt; &lt;option value="SN"&gt;SENEGAL&lt;/option&gt; &lt;option value="RS"&gt;SERBIA&lt;/option&gt; &lt;option value="SC"&gt;SEYCHELLES&lt;/option&gt; &lt;option value="SL"&gt;SIERRA LEONE&lt;/option&gt; &lt;option value="SG"&gt;SINGAPORE&lt;/option&gt; &lt;option value="SK"&gt;SLOVAKIA&lt;/option&gt; &lt;option value="SI"&gt;SLOVENIA&lt;/option&gt; &lt;option value="SB"&gt;SOLOMON ISLANDS&lt;/option&gt; &lt;option value="SO"&gt;SOMALIA&lt;/option&gt; &lt;option value="ZA"&gt;SOUTH AFRICA&lt;/option&gt; &lt;option value="GS"&gt;SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS&lt;/option&gt; &lt;option value="ES"&gt;SPAIN&lt;/option&gt; &lt;option value="LK"&gt;SRI LANKA&lt;/option&gt; &lt;option value="SD"&gt;SUDAN&lt;/option&gt; &lt;option value="SR"&gt;SURINAME&lt;/option&gt; &lt;option value="SJ"&gt;SVALBARD AND JAN MAYEN&lt;/option&gt; &lt;option value="SZ"&gt;SWAZILAND&lt;/option&gt; &lt;option value="SE"&gt;SWEDEN&lt;/option&gt; &lt;option value="CH"&gt;SWITZERLAND&lt;/option&gt; &lt;option value="SY"&gt;SYRIAN ARAB REPUBLIC&lt;/option&gt; &lt;option value="TW"&gt;TAIWAN, PROVINCE OF CHINA&lt;/option&gt; &lt;option value="TJ"&gt;TAJIKISTAN&lt;/option&gt; &lt;option value="TZ"&gt;TANZANIA, UNITED REPUBLIC OF&lt;/option&gt; &lt;option value="TH"&gt;THAILAND&lt;/option&gt; &lt;option value="TL"&gt;TIMOR-LESTE&lt;/option&gt; &lt;option value="TG"&gt;TOGO&lt;/option&gt; &lt;option value="TK"&gt;TOKELAU&lt;/option&gt; &lt;option value="TO"&gt;TONGA&lt;/option&gt; &lt;option value="TT"&gt;TRINIDAD AND TOBAGO&lt;/option&gt; &lt;option value="TN"&gt;TUNISIA&lt;/option&gt; &lt;option value="TR"&gt;TURKEY&lt;/option&gt; &lt;option value="TM"&gt;TURKMENISTAN&lt;/option&gt; &lt;option value="TC"&gt;TURKS AND CAICOS ISLANDS&lt;/option&gt; &lt;option value="TV"&gt;TUVALU&lt;/option&gt; &lt;option value="UG"&gt;UGANDA&lt;/option&gt; &lt;option value="UA"&gt;UKRAINE&lt;/option&gt; &lt;option value="AE"&gt;UNITED ARAB EMIRATES&lt;/option&gt; &lt;option value="GB"&gt;UNITED KINGDOM&lt;/option&gt; &lt;option value="US"&gt;UNITED STATES&lt;/option&gt; &lt;option value="UM"&gt;UNITED STATES MINOR OUTLYING ISLANDS&lt;/option&gt; &lt;option value="UY"&gt;URUGUAY&lt;/option&gt; &lt;option value="UZ"&gt;UZBEKISTAN&lt;/option&gt; &lt;option value="VU"&gt;VANUATU&lt;/option&gt; &lt;option value="VE"&gt;VENEZUELA&lt;/option&gt; &lt;option value="VN"&gt;VIET NAM&lt;/option&gt; &lt;option value="VG"&gt;VIRGIN ISLANDS, BRITISH&lt;/option&gt; &lt;option value="VI"&gt;VIRGIN ISLANDS, U.S.&lt;/option&gt; &lt;option value="WF"&gt;WALLIS AND FUTUNA&lt;/option&gt; &lt;option value="EH"&gt;WESTERN SAHARA&lt;/option&gt; &lt;option value="YE"&gt;YEMEN&lt;/option&gt; &lt;option value="ZM"&gt;ZAMBIA&lt;/option&gt; &lt;option value="ZW"&gt;ZIMBABWE&lt;/option&gt;&lt;/select&gt;&lt;br /&gt;&lt;br /&gt;&lt;input value="0" name="no_note" type="hidden"&gt; &lt;input value="0" name="tax" type="hidden"&gt; &lt;label style="width: 140px; display: block; float: left;" for="os1"&gt;Send us a Message:&lt;/label&gt; &lt;input value="Message" name="on1" type="hidden"&gt; &lt;input style="width: 440px; font-family: Arial; color: rgb(102, 102, 102); font-size: 14px;" id="os1" size="45" name="os1"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p style="text-align: center;" class="submit_button"&gt;&lt;input style="width: 200px; font-family: Arial; height: 30px; font-size: 16px; font-weight: bold;" title="Send your donation now" value="Donate Now!" type="submit"&gt;&lt;/p&gt;&lt;br /&gt;&lt;/form&gt;&lt;p style="color: rgb(136, 136, 136);"&gt;* Selecting a country will help PayPal talk to you in your language, and pre-fill country information for your payment details. &lt;/p&gt;&lt;br /&gt;&lt;h4&gt;What you are Donating for...&lt;/h4&gt;&lt;p&gt;The project has costs for technical and other expenses. Some are one time fees and some are recurring. We split the cost up into several levels:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Goal 1: production server (will be ordered in November, currently 0 €, then about 50 € per month. Setup fee is 150 €)&lt;/li&gt;&lt;li&gt;Goal 2: test server + other technical cost&lt;/li&gt;&lt;li&gt;Goal 3: office rent (yes, we have an &lt;a href="http://openvirtualworld.blogspot.com/2009/06/our-shiny-new-headquarter.html"&gt;office and we pay it since June 2009&lt;/a&gt; because it makes the work more effective) and all other project related cost. Goal 3 is currently at 2000 € and not shown in the chart. &lt;/li&gt;&lt;li&gt;We are not talking about salaries and work time at all. This is only the cost we pay to run the project.&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img style="border: medium none ; width: 400px; float: left; margin-right: 20px;" src="http://spreadsheets.google.com/pub?key=tqIs-d-9ye2iVvtbfsZCl1g&amp;amp;output=image&amp;amp;oid=10" /&gt;&lt;/p&gt;&lt;p&gt;We are paying everything from our private wallet. If we get donations, then we can spare some of our private expenses. And we are thankful for that.&lt;br /&gt;&lt;br /&gt;We hope that donations cover Goal 1. We would be very happy if we can get to Goal 2 later.&lt;br /&gt;&lt;br /&gt;Be assured, that we really pay Goal 3 from our private money every month (not shown in the chart). &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-1228106280237773401?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1228106280237773401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/1228106280237773401'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2000/09/donations.html' title='Donations'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-2388278563741255834</id><published>2000-08-11T11:21:00.026+02:00</published><updated>2011-07-28T13:46:36.452+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='community'/><title type='text'>Community</title><content type='html'>Join the community in social networks and get news and updates:&lt;div&gt;&lt;br /&gt;&lt;img style="border: medium none ; width: 80px; vertical-align: middle; padding:0; margin: 0 10px 0 0;" alt="" src="http://3.bp.blogspot.com/_u7DkqAIu2xA/SoE5SzDEARI/AAAAAAAAAA8/xoEDgP6anH4/s320/facebook.jpg" border="0" /&gt; &lt;a href="http://www.facebook.com/pages/Open-Virtual-World/135034071677"&gt;Open Virtual World page&lt;/a&gt; in facebook&lt;br /&gt;&lt;br /&gt;&lt;img style="border: medium none ; width: 80px; vertical-align: middle; padding:0; margin: 0 10px 0 0;" alt="" src="http://3.bp.blogspot.com/_u7DkqAIu2xA/SoE5SzDEARI/AAAAAAAAAA8/xoEDgP6anH4/s320/facebook.jpg" border="0" /&gt;&lt;a href="http://www.facebook.com/group.php?gid=105340807826"&gt;Open Virtual World group&lt;/a&gt; in facebook&lt;br /&gt;&lt;br /&gt;&lt;script src="http://static.ak.facebook.com/js/api_lib/v0.4/FeatureLoader.js.php/en_US" type="text/javascript"&gt;&lt;/script&gt;&lt;script type="text/javascript"&gt;FB.init("864c9aa16bc0e6e83ab3efb8713f4198");&lt;/script&gt;&lt;fb:fan profile_id="135034071677" stream="" connections="10" width="300"&gt;&lt;/fb:fan&gt;&lt;div style="font-size:8px; padding-left:10px"&gt;&lt;/div&gt;&lt;img style="border: medium none ; width: 80px; vertical-align: middle; padding:0; margin-right: 10px;" alt="" src="http://2.bp.blogspot.com/_IeJHb-2CVGM/SoV-iYIh_9I/AAAAAAAAARk/EBNKXMEcL5g/s320/sVZ_Logo_policy.gif" border="0" /&gt;&lt;a href="http://www.studivz.net/Groups/Overview/c8ec2c26b32e063b"&gt;Open Virtual World group&lt;/a&gt; in &lt;a href="http://www.studivz.net/Groups/Overview/c8ec2c26b32e063b"&gt;studiVZ&lt;/a&gt; und &lt;a href="http://www.meinvz.net/Groups/Overview/c8ec2c26b32e063b"&gt;meinVZ&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-2388278563741255834?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/2388278563741255834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2000/08/community.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2388278563741255834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/2388278563741255834'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2000/08/community.html' title='Community'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_u7DkqAIu2xA/SoE5SzDEARI/AAAAAAAAAA8/xoEDgP6anH4/s72-c/facebook.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7062553257516816788.post-120841247658712149</id><published>2000-08-09T15:38:00.001+02:00</published><updated>2009-08-09T15:43:52.687+02:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='general'/><title type='text'>Proposals</title><content type='html'>Please add your proposals here in the comments section.&lt;br /&gt;(There will be a forum later)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7062553257516816788-120841247658712149?l=www.openvirtualworld.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.openvirtualworld.com/feeds/120841247658712149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.openvirtualworld.com/2009/08/proposals.html#comment-form' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/120841247658712149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7062553257516816788/posts/default/120841247658712149'/><link rel='alternate' type='text/html' href='http://www.openvirtualworld.com/2009/08/proposals.html' title='Proposals'/><author><name>Admin</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>7</thr:total></entry></feed>
