<?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-1047940669222698024</id><updated>2011-12-30T15:01:22.725-08:00</updated><category term='use case'/><category term='OpenCroquet'/><category term='Croquet'/><category term='Croquet Documentation'/><category term='Croquet Tutorial'/><category term='virtual environments'/><category term='isocial'/><category term='free textures'/><category term='Wii Remote'/><category term='Croquet how-to'/><category term='Croquet content'/><category term='autism'/><title type='text'>xaverse</title><subtitle type='html'>Open Metaverse Platforms: &lt;br&gt;
Exploration, Design and Meanderings</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-553201369238839314</id><published>2008-11-03T13:44:00.000-08:00</published><updated>2008-11-03T13:49:26.451-08:00</updated><title type='text'>iSocial Guest Blog at the Wonderblog</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/SQ9xuikhIxI/AAAAAAAADFk/v-Khy4KEaEM/s1600-h/isocial.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 227px; height: 320px;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/SQ9xuikhIxI/AAAAAAAADFk/v-Khy4KEaEM/s320/isocial.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5264551533787292434" /&gt;&lt;/a&gt;&lt;br /&gt;On behalf of the iSocial project team, I was approached to write a guest blog entry for Project Wonderland's Wonderblog. The team at Sun Microsystems recently published the iSocial entry.&lt;br /&gt;&lt;br /&gt;You can read it by clicking the following link:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blogs.sun.com/wonderland/date/20081103"&gt;Wonderblog&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-553201369238839314?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/553201369238839314/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=553201369238839314&amp;isPopup=true' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/553201369238839314'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/553201369238839314'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/11/isocial-guest-blog-at-wonderblog.html' title='iSocial Guest Blog at the Wonderblog'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/SQ9xuikhIxI/AAAAAAAADFk/v-Khy4KEaEM/s72-c/isocial.jpg' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-401453636897407730</id><published>2008-09-23T13:00:00.000-07:00</published><updated>2008-09-23T13:02:41.685-07:00</updated><title type='text'>iSocial Prototype Walkthrough</title><content type='html'>I took a few minutes today to put together a brief introductory video of our prototype iSocial learning environment. We will be conducting trials with this learning environment beginning this Friday. This represents three months of hard work, and we're proud of what we have to show!&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;br /&gt;&lt;object height="344" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/oCfihhiLS0M&amp;amp;hl=en&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/oCfihhiLS0M&amp;amp;hl=en&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" height="344" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-401453636897407730?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/401453636897407730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=401453636897407730&amp;isPopup=true' title='7 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/401453636897407730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/401453636897407730'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/09/isocial-prototype-walkthrough.html' title='iSocial Prototype Walkthrough'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-3295023558474065421</id><published>2008-06-23T18:25:00.000-07:00</published><updated>2008-11-13T07:59:05.166-08:00</updated><title type='text'>Wonderland's World Builder</title><content type='html'>How did I go from this&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/SGBNUiyZTtI/AAAAAAAACMo/4TVasBHiUOU/s1600-h/Screenshot-Project+Wonderland+World+Builder+-+Mozilla+Firefox.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/SGBNUiyZTtI/AAAAAAAACMo/4TVasBHiUOU/s320/Screenshot-Project+Wonderland+World+Builder+-+Mozilla+Firefox.png" alt="" id="BLOGGER_PHOTO_ID_5215253383825936082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;to this?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/SGBNzbDASTI/AAAAAAAACMw/xH4-29QlHwA/s1600-h/Screenshot-Project+Wonderland-1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/SGBNzbDASTI/AAAAAAAACMw/xH4-29QlHwA/s320/Screenshot-Project+Wonderland-1.png" alt="" id="BLOGGER_PHOTO_ID_5215253914324060466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;With the &lt;a href="http://wiki.java.net/bin/view/Javadesktop/ProjectWonderlandWorldBuilder"&gt;Wonderland World Builder&lt;/a&gt; of course.&lt;br /&gt;&lt;br /&gt;The world builder is a simple browser-based application that makes it possible to create Wonderland worlds. Using a simple drag-and-drop interface, one simply drags tiles onto a 2D grid and positions them. After saving the world, it can be easily accessed from the Wonderland client.&lt;br /&gt;&lt;br /&gt;The software itself comes with a set of very functional tiles. It is also possible to create tiles using Blender and the Gimp.&lt;br /&gt;&lt;br /&gt;The world builder has been discussed at the &lt;a href="http://blogs.sun.com/wonderland/entry/my_first_world_builder_world"&gt;Wonderblog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;It would be disingenuous to say that it was easy to set everything up on my development machine. However, the &lt;a href="http://forums.java.net/jive/forum.jspa?forumID=112"&gt;Wonderland Community&lt;/a&gt; is refreshingly fast at providing solutions when one gets stuck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-3295023558474065421?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/3295023558474065421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=3295023558474065421&amp;isPopup=true' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/3295023558474065421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/3295023558474065421'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/06/wonderlands-world-builder.html' title='Wonderland&apos;s World Builder'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/SGBNUiyZTtI/AAAAAAAACMo/4TVasBHiUOU/s72-c/Screenshot-Project+Wonderland+World+Builder+-+Mozilla+Firefox.png' height='72' width='72'/><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-8287530350498692369</id><published>2008-06-18T05:37:00.000-07:00</published><updated>2008-06-18T05:52:32.760-07:00</updated><title type='text'>Initial Forays into Sun's Wonderland</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://lh5.ggpht.com/matthew.schmidt/SFkEgfrOsAI/AAAAAAAACL4/ja_kQ5jQbQE/s400/Screenshot.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Due to a number of technical problems that our team has experienced with the Cobalt build of OpenCroquet, it became apparent to us that it may be in our best interests to investigate an alternative software platform for building the iSocial prototype. Although Cobalt would appear to have a more elegant design, we are unfortunately bound by time constraints, limited manpower and deadlines. Cobalt just isn't mature enough at this point for us to continue building on top of it. Sigh.&lt;br /&gt;&lt;br /&gt;We have to consider that our project will be used to teach individuals with Autism social skills. A buggy platform that is overly prone to crashing is not facilitative of this goal - especially with our user population.&lt;br /&gt;&lt;br /&gt;The only alternative was obvious - &lt;a href="https://lg3d-wonderland.dev.java.net/"&gt;Sun's Wonderland. &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I began to look into it last week. I began working with it and setting up a development environment this week. I have to admit that I am impressed. Extremely impressed. I was able to get the client and server software running on multiple platforms (WinXP and Ubuntu 8.04)  in no time at all. I was able to install and configure a development environment on Ubuntu in an evening and completely build the source myself by midnight.&lt;br /&gt;&lt;br /&gt;The developer community appears to be bigger and more active than with the Cobalt/Croquet project. My questions got answered sometimes in a matter of minutes, sometimes in a few hours. But it never took months like some issues I've posted to the Cobalt/Croquet mailing list. And, gasp, Wonderland actually has forums. It's incomprehensible to me that Cobalt/Croquet still relies on a mailing list.&lt;br /&gt;&lt;br /&gt;So after building the source from the latest code contributions that I pulled from CVS, I took the software for a spin and was extremely pleased with what I found. Here's a video:&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="350"&gt; &lt;param name="movie" value="http://www.youtube.com/v/-p2BnCdFwfU"&gt;  &lt;embed src="http://www.youtube.com/v/-p2BnCdFwfU" type="application/x-shockwave-flash" width="425" height="350"&gt;&lt;/embed&gt;  &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-8287530350498692369?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/8287530350498692369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=8287530350498692369&amp;isPopup=true' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8287530350498692369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8287530350498692369'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/06/initial-forays-into-suns-wonderland.html' title='Initial Forays into Sun&apos;s Wonderland'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/matthew.schmidt/SFkEgfrOsAI/AAAAAAAACL4/ja_kQ5jQbQE/s72-c/Screenshot.png' height='72' width='72'/><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-9066874320149140357</id><published>2008-06-03T12:45:00.001-07:00</published><updated>2008-11-13T07:59:05.540-08:00</updated><title type='text'>Update: iSocial Funded!</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/SEWhgRsj7FI/AAAAAAAACLU/Z2aN6ZuxS6k/s1600-h/Splash.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/SEWhgRsj7FI/AAAAAAAACLU/Z2aN6ZuxS6k/s320/Splash.jpg" alt="" id="BLOGGER_PHOTO_ID_5207746120002038866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I haven't posted in quite a while - basically since the Cobalt build was released.&lt;br /&gt;&lt;br /&gt;I just wanted to assure everyone that I am indeed very much alive and still working with Croquet/Cobalt. I've just been very busy writing my dissertation proposal (which I defended May 9 and have had accepted - hooray!) and ramping up for full-on development of the &lt;a href="http://isocial.missouri.edu/"&gt;iSocial&lt;/a&gt; project.&lt;br /&gt;&lt;br /&gt;The major news is that iSocial has received a small amount of start-up funds to design and develop a functional prototype. This week is the first week of me working in my official position as project manager for this endeavor. First steps are to create a "generic" Cobalt world that supports all of the functional requirements of the iSocial system and to build a visual design that supports the social skills curriculum we are using. This is an exciting time for us, as things are finally starting to move forward.&lt;br /&gt;&lt;br /&gt;We are 100% committed to Open Source. Although our project may not be able to contribute code to the project, &lt;span style="font-weight: bold;"&gt;we will contribute experience and provide assistance&lt;/span&gt;. Our developer will be helping out on the IRC channel, and I'll be putting together the occasional how-to. We are looking in to &lt;span style="font-weight: bold;"&gt;donating our models and avatars to the project&lt;/span&gt;. Stay tuned, as more details are certain to follow.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-9066874320149140357?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/9066874320149140357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=9066874320149140357&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/9066874320149140357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/9066874320149140357'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/06/update-isocial-funded.html' title='Update: iSocial Funded!'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/SEWhgRsj7FI/AAAAAAAACLU/Z2aN6ZuxS6k/s72-c/Splash.jpg' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-6378865814477572204</id><published>2008-03-07T06:25:00.000-08:00</published><updated>2008-11-13T07:59:05.867-08:00</updated><title type='text'>Two Croquet-Specific Blender Tutorials</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/R9FSeJ-j2QI/AAAAAAAAB3A/mGGltzHeNo8/s1600-h/croquet-blender.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/R9FSeJ-j2QI/AAAAAAAAB3A/mGGltzHeNo8/s320/croquet-blender.png" alt="" id="BLOGGER_PHOTO_ID_5175008124853278978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Croqueteer Waufrepi has created two tutorials to complement the DMU guides. These are focused on Blender, but are specific to Croquet and will show you how to set up your Croquet exporter in Blender and how to export a Blender 3D model in a format that is compatible with Croquet. Cool!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/user/waufrepi"&gt;http://www.youtube.com/user/waufrepi&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-6378865814477572204?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/6378865814477572204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=6378865814477572204&amp;isPopup=true' title='11 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/6378865814477572204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/6378865814477572204'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/03/two-croquet-specific-blender-tutorials.html' title='Two Croquet-Specific Blender Tutorials'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/R9FSeJ-j2QI/AAAAAAAAB3A/mGGltzHeNo8/s72-c/croquet-blender.png' height='72' width='72'/><thr:total>11</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-1611109101111908233</id><published>2008-03-04T13:28:00.000-08:00</published><updated>2008-03-04T13:35:03.033-08:00</updated><title type='text'>Cobalt released!</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;img src="http://www.opencroquet.org/images/7/70/Cobalt_256.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;For those of you who have been drooling over this release, it is finally available for download. Be aware that this is a very early build, so you can expect some buggy-funkyness.&lt;br /&gt;&lt;br /&gt;Information on Cobalt can be found here: &lt;a href="http://www.opencroquet.org/index.php/Cobalt"&gt;http://www.opencroquet.org/index.php/Cobalt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A direct link to the image is here: &lt;a href="http://croquet-src-01.oit.duke.edu/cobalt-base-current-build.zip"&gt;http://croquet-src-01.oit.duke.edu/cobalt-base-current-build.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;For the purists, the Monticello repository is here:  &lt;a href="http://croquet-src-01.oit.duke.edu:8886/" class="external free" title="http://croquet-src-01.oit.duke.edu:8886/" rel="nofollow"&gt;http://croquet-src-01.oit.duke.edu:8886/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And the bug tracker (you'll need it!): &lt;a href="http://croquet-src-01.oit.duke.edu/mantis/login_page.php"&gt;http://croquet-src-01.oit.duke.edu/mantis/login_page.php&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-1611109101111908233?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/1611109101111908233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=1611109101111908233&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/1611109101111908233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/1611109101111908233'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/03/cobalt-released.html' title='Cobalt released!'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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-1047940669222698024.post-6420683842131512029</id><published>2008-03-03T06:21:00.001-08:00</published><updated>2008-11-13T07:59:06.076-08:00</updated><title type='text'>Tutorial for Building a Simple Croquet World, Part 1: Setting Up a Croquet World</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/R8wKNBiq2sI/AAAAAAAAB1M/eW-hb8T3Lmg/s1600-h/croquet_tutorials.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/R8wKNBiq2sI/AAAAAAAAB1M/eW-hb8T3Lmg/s320/croquet_tutorials.jpg" alt="" id="BLOGGER_PHOTO_ID_5173521290810284738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I am working on putting together a tutorial on how to build your own Croquet world. The entire tutorial will consist of 1.) setting up a Croquet world 2.) customizing a Croquet world and 3.) connecting to other Croquet worlds.&lt;br /&gt;&lt;br /&gt;I have finished the first installment of the tutorial series, which will instruct you on how to set up your own Croquet world. Because of the volume of the tutorial, it made sense to make it available as a PDF.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bengal.missouri.edu/%7Eschmidtma/croquet/BuildYourOwnCroquetWorld.pdf"&gt;You can download the PDF here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;As always, your feedback and suggestions for improvement are welcome and encouraged.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-6420683842131512029?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/6420683842131512029/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=6420683842131512029&amp;isPopup=true' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/6420683842131512029'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/6420683842131512029'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/03/tutorial-for-building-simple-croquet.html' title='Tutorial for Building a Simple Croquet World, Part 1: Setting Up a Croquet World'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/R8wKNBiq2sI/AAAAAAAAB1M/eW-hb8T3Lmg/s72-c/croquet_tutorials.jpg' height='72' width='72'/><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-843230282739176064</id><published>2008-01-23T16:48:00.000-08:00</published><updated>2008-11-13T07:59:08.642-08:00</updated><title type='text'>How To Set Up VNC in a Croquet World</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;I have witnessed quite a few folks asking how they can get VNC running within a Croquet world. Thanks to the excellent KCroquetParticipant subclass, getting VNC up and running within a Croquet world is a fairly easy task. However, to date, nobody has provided a reasonable explanation for non-technical users to perform this task. This tutorial will instruct you on how to do just this.&lt;br /&gt;&lt;br /&gt;An explanation of what VNC is and why it is useful is beyond the scope of this tutorial. For more information on VNC, a good starting point is at the &lt;a href="http://en.wikipedia.org/wiki/Vnc"&gt;Wikipedia entry for VNC&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning Outcomes&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Upon completion of this tutorial, you will be able to run a VNC server on a host computer, and connect to that VNC server from within a Croquet world.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prerequisites&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In order to complete this tutorial, you will need the following software:&lt;br /&gt;&lt;br /&gt;1. &lt;span style="font-style: italic;"&gt;REQUIRED&lt;/span&gt;: A VNC server. Below are some options that are free of cost:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Vine VNC Server (Mac): &lt;a href="http://sourceforge.net/projects/osxvnc/"&gt;http://sourceforge.net/projects/osxvnc/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;TightVNC (Windows): &lt;a href="http://www.tightvnc.com/"&gt;http://www.tightvnc.com/&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Real VNC (Windows):&lt;a href="http://www.realvnc.com/products/free/4.1/index.html"&gt; http://www.realvnc.com/products/free/4.1/index.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;For Linux, many distributions provide their own package of "vncserver." Check your particular distribution's documentation and man pages for information on installation and configuration.&lt;/li&gt;&lt;/ul&gt;2. &lt;span style="font-style: italic;"&gt;REQUIRED&lt;/span&gt;: A second computer on which to run the VNC server. Although it is possible to run a VNC server and client on the same machine, the technical details involved in such a task are beyond the scope of this tutorial.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-style: italic;"&gt;&lt;/span&gt; &lt;span style="font-style: italic;"&gt;RECOMMENDED&lt;/span&gt;: The latest build of the Croquet SDK, available &lt;a href="http://croquetproject.org/index.php/Downloads"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step by Step Guide&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Mac OS X was used to create this tutorial. Much of the information herein should be readily transferable to other operating environments; however, your results may vary.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Part 1: Steps for VNC server computer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;1.&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Open your VNC server software and configure it (in this case, we are using Vine Server).&lt;br /&gt;&lt;blockquote&gt;The important values to note are:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;IP Address&lt;/li&gt;&lt;li&gt;Display Number&lt;/li&gt;&lt;li&gt;Port&lt;/li&gt;&lt;li&gt;Password&lt;/li&gt;&lt;/ul&gt;Write these values down so that you can reference them later.&lt;/blockquote&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/R5fvzANIGyI/AAAAAAAABtg/pPWtIA_pczg/s1600-h/vnc_setup.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/R5fvzANIGyI/AAAAAAAABtg/pPWtIA_pczg/s320/vnc_setup.jpg" alt="" id="BLOGGER_PHOTO_ID_5158855557683616546" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Note the values outlined in red, as&lt;br /&gt;you will need them when you are&lt;br /&gt;configuring the VNC client in Croquet.&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;2. Start the VNC server software&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/R5fwmANIG0I/AAAAAAAABtw/HS3nrT8Ym4c/s1600-h/start_server.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/R5fwmANIG0I/AAAAAAAABtw/HS3nrT8Ym4c/s320/start_server.jpg" alt="" id="BLOGGER_PHOTO_ID_5158856433856944962" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Select "Start Server" in Vine Server's connection&lt;br /&gt;dialogue to start the server&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;You should be provided with some system feedback indicating that the server is running.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/R5fxQgNIG2I/AAAAAAAABuA/XRrDjUGXjC0/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/R5fxQgNIG2I/AAAAAAAABuA/XRrDjUGXjC0/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5158857164001385314" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;The Server Running message indicates that the VNC server&lt;br /&gt;is indeed running.&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;The VNC server computer is now hosting a VNC session. We will connect to this VNC session from within Croquet in the next section.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Part 2: Steps for Croquet Computer&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Launch Croquet and open the KAT Demo (this is the KCroquetParticipant subclass)&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f2swNIG3I/AAAAAAAABuI/OciZSHrcPPs/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f2swNIG3I/AAAAAAAABuI/OciZSHrcPPs/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5158863146890828658" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;font-size:85%;" &gt;Locate the KAT Demo in the Objects browser.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f3_QNIG5I/AAAAAAAABuY/09FxIkgvAJQ/s1600-h/start_KAT.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f3_QNIG5I/AAAAAAAABuY/09FxIkgvAJQ/s320/start_KAT.jpg" alt="" id="BLOGGER_PHOTO_ID_5158864564230036370" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;Drag the KAT Demo icon from the Objects browser into the Squeak&lt;br /&gt;project space (click image to enlarge).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f4fgNIG6I/AAAAAAAABug/Td4iIwKrYM0/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f4fgNIG6I/AAAAAAAABug/Td4iIwKrYM0/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5158865118280817570" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;You are presented with the above dialogue. Select "Cancel."&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f5JgNIG7I/AAAAAAAABuo/_4ulsPA0eU0/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f5JgNIG7I/AAAAAAAABuo/_4ulsPA0eU0/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5158865839835323314" border="0" /&gt;&lt;/a&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-size:85%;"&gt;After a few moments of loading, you are presented with&lt;br /&gt;the above Croquet world (click to enlarge).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div style="text-align: left;"&gt;2. Configure and start VNC from within the Croquet world.&lt;br /&gt;&lt;br /&gt;2.1 From the menu, select "Admin--&gt;New raw RFB"&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f7pwNIG8I/AAAAAAAABuw/9KEkmmgw9Og/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f7pwNIG8I/AAAAAAAABuw/9KEkmmgw9Og/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5158868592909360066" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;2.2. Enter the IP address of your VNC server, followed by a colon, followed by the port number that the VNC server is running on. Then select "OK.&lt;br /&gt;"&lt;br /&gt;&lt;div style="text-align: center;"&gt; &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f7pwNIG9I/AAAAAAAABu4/CmCzAM36G20/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/R5f7pwNIG9I/AAAAAAAABu4/CmCzAM36G20/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5158868592909360082" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;The structure of the VNC server's address&lt;/span&gt; &lt;span style="font-style: italic;"&gt;should be the server's IP, followed by the server port.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;2.3. Enter the VNC display number; then select "OK."&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f7qQNIHAI/AAAAAAAABvQ/zQhwkJs08wE/s1600-h/Picture+8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f7qQNIHAI/AAAAAAAABvQ/zQhwkJs08wE/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5158868601499294722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.4. Enter the password; then select "OK."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f9JgNIHCI/AAAAAAAABvg/vxyGiWvkizw/s1600-h/Picture+9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/R5f9JgNIHCI/AAAAAAAABvg/vxyGiWvkizw/s320/Picture+9.png" alt="" id="BLOGGER_PHOTO_ID_5158870237881834530" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2.5. You should be presented with a Croquet window showing the desktop of the computer on which you are running a VNC server.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/R5f9KANIHDI/AAAAAAAABvo/haqMSX8zH6Q/s1600-h/Picture+10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/R5f9KANIHDI/AAAAAAAABvo/haqMSX8zH6Q/s320/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5158870246471769138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You may want to spend some time playing with Croquet's VNC implementation, as it does have some quirks.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f9KQNIHEI/AAAAAAAABvw/g0PIRd4q9a0/s1600-h/Picture+11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/R5f9KQNIHEI/AAAAAAAABvw/g0PIRd4q9a0/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5158870250766736450" border="0" /&gt;&lt;/a&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-style: italic;"&gt;Congratulations! You've gotten VNC to work in a Croquet world.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Demo&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Here is a video demonstrating VNC being used in a Croquet world.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;br /&gt;&lt;param name="movie" value="http://www.youtube.com/v/YSEEw52CanE"&gt; &lt;br /&gt;&lt;embed src="http://www.youtube.com/v/YSEEw52CanE" type="application/x-shockwave-flash" height="350" width="425"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this tutorial, you learned how to start and configure a VNC server on one computer, and how to access that VNC server from within a Croquet world that is running on a separate computer.&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&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/1047940669222698024-843230282739176064?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/843230282739176064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=843230282739176064&amp;isPopup=true' title='20 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/843230282739176064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/843230282739176064'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/01/how-to-set-up-vnc-in-croquet-world.html' title='How To Set Up VNC in a Croquet World'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/R5fvzANIGyI/AAAAAAAABtg/pPWtIA_pczg/s72-c/vnc_setup.jpg' height='72' width='72'/><thr:total>20</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-5127874081390524447</id><published>2008-01-22T12:29:00.001-08:00</published><updated>2008-01-22T12:35:21.225-08:00</updated><title type='text'>New Croquet Builds Available</title><content type='html'>In case you haven't been following the developers' list-serv, Mark McCahill has put together a current build of the Croquet SDK.&lt;br /&gt;&lt;br /&gt;Here's his post:&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;I added a link on this page&lt;br /&gt;&lt;br /&gt;   &lt;a href="http://croquetproject.org/index.php/Downloads" target="_blank"&gt;http://croquetproject.org&lt;wbr&gt;/index.php/Downloads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;to a current build of the SDK - I think we are at the point where&lt;br /&gt;enough people&lt;br /&gt;want to kick the tires without going through the patch experience&lt;br /&gt;that it makes sense&lt;br /&gt;to maintain a current build, so I'll do that going forward.&lt;br /&gt;&lt;br /&gt;Everyone is still more than welcome to apply the changesets&lt;br /&gt;themselves, of course ;-)&lt;/blockquote&gt;In addition to the new(er) build of Croquet, there are some interesting older builds there. Check out the Secondary Software Package Distributions section, where it looks like there is a Brie demo (w00t).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-5127874081390524447?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/5127874081390524447/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=5127874081390524447&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5127874081390524447'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5127874081390524447'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2008/01/new-croquet-builds-available.html' title='New Croquet Builds Available'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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-1047940669222698024.post-1383145921843579997</id><published>2007-11-05T14:45:00.000-08:00</published><updated>2007-11-05T14:46:47.352-08:00</updated><title type='text'>Croquet Crashing When Connecting to Other Worlds? Here's a Fix.</title><content type='html'>Tim Wang has &lt;a href="http://blog.loaz.com/timwang/index.php/2007/10/01/croquet_keeps_crashing_when_connect_to_a"&gt;posted a how-to&lt;/a&gt; for updating your Croquet image and fixing a bug that can cause a crash when connecting to other worlds. Thanks Tim!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-1383145921843579997?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/1383145921843579997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=1383145921843579997&amp;isPopup=true' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/1383145921843579997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/1383145921843579997'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/11/croquet-crashing-when-connecting-to.html' title='Croquet Crashing When Connecting to Other Worlds? Here&apos;s a Fix.'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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-1047940669222698024.post-4964193568731445977</id><published>2007-11-05T09:10:00.000-08:00</published><updated>2007-11-05T09:11:23.197-08:00</updated><title type='text'>Lombardi lays it down: How Croquet is different</title><content type='html'>Julian Lombardi answers a question that I have been asked a number of times in a&lt;a href="http://jlombardi.blogspot.com/2007/11/how-croquet-is-different.html#links"&gt; &lt;/a&gt;&lt;a href="http://jlombardi.blogspot.com/2007/11/how-croquet-is-different.html#links"&gt;very concise and somewhat-easy-for-non-techies-to-digest form.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How is Croquet different from Second Life?&lt;br /&gt;&lt;blockquote&gt;"Croquet makes it possible to develop any number of interlinked metaverses that can be deployed independently of a commercial authority or the constraints imposed by server-imposed resource limitations."&lt;/blockquote&gt;In other words, it's all about freedom.&lt;br /&gt;&lt;br /&gt;It's about decentralization vs. centralization. It's about control of information vs. flow of information. It's about DIY (d0-it-yourself) vs. BIFM (build-it-for-me).&lt;br /&gt;&lt;br /&gt;Doug Holton responded with this:&lt;br /&gt;&lt;blockquote&gt;[As regards Second Life] They open sourced the client and will be open sourcing the server. They include a programming/scripting interface, that can be extended (once open sourced) to just about any language (if they are still using mono).&lt;/blockquote&gt;What first struck me about this post was the repeated use of the word "they," connoting that someone else is in control. When I speak of Croquet and Croquet development, I speak of "we." A community. In this example, Doug appears to be waiting for someone to grant him rights, to increase his freedom. With Croquet, there is nothing limiting me from doing what I want other than my own abilities and resourcefulness.&lt;br /&gt;&lt;br /&gt;I also have the sense that there is a great deal of wishful thinking going on here. I will believe that Linden Labs is open sourcing their server when I have the source downloading to my machine. Further, it remains to be seen just how "open" their notion of open source will be. Take Apple as an example here. Apple used open source components to build their version of Unix--OS X. And they encouraged an open source community to contribute to their Unix derivative. But over time, the process of acquiring, modifying, and compiling code became so restrictive that the community around Darwin nearly died. There is no guarantee that this will not happen with SL server. Yes, I'm skeptical.&lt;br /&gt;&lt;br /&gt;But why not the same skepticism over Croquet? Because I'm much more trusting a product released under an open license from the beginning. From the initial pre-release until now with the 1.0 SDK, Croquet has been completely developed in the open--and not always to the benefit of the project (recall that it's not an app).&lt;br /&gt;&lt;br /&gt;(I understand that Linden Labs is working hard at "getting"--or perhaps more apt "groking"--open source. But they are struggling. And mistakes have been made. And they cannot seem to get away from the notion of a central authority. But that's not what this blog is about.)&lt;br /&gt;&lt;br /&gt;In the end, I understand why people have the need to compare Croquet and SL. They share significant surface similarities. But when you look at the vision for the two products, it appears to be an apples-and-oranges type of comparison. Croquet is a framework for deep, meaningful collaboration at a distance. And SL? Well, just look at what the most purchased piece of avatar anatomy is in SL and you may start to get the sense that it is not necessarily a collaboration tool.&lt;br /&gt;&lt;br /&gt;Perhaps the question would be more readily answered if one were to ask, "How is Croquet similar to Second Life?"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-4964193568731445977?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/4964193568731445977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=4964193568731445977&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/4964193568731445977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/4964193568731445977'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/11/lombardi-lays-it-down-how-croquet-is_05.html' title='Lombardi lays it down: How Croquet is different'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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-1047940669222698024.post-5930714994972698524</id><published>2007-11-01T18:41:00.000-07:00</published><updated>2008-11-13T07:59:08.999-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='virtual environments'/><category scheme='http://www.blogger.com/atom/ns#' term='use case'/><category scheme='http://www.blogger.com/atom/ns#' term='isocial'/><category scheme='http://www.blogger.com/atom/ns#' term='autism'/><title type='text'>iSocial: Virtually a social space for youth with autism</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://isocial.missouri.edu/video.html"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RyqAxEZ_RVI/AAAAAAAABgc/Qz-f5RVtKtU/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5128052706199422290" border="0" /&gt;&lt;/a&gt;For the past few months, I've been working on a dissertation proposal that will investigate the use of a 3D Virtual Learning Environment for the treatment of &lt;a href="http://en.wikipedia.org/wiki/Autism"&gt;autism spectrum disorders&lt;/a&gt;. In the process of putting together funding proposals to various granting and gifting entities, I put together a &lt;a href="http://isocial.missouri.edu/video.html"&gt;hypothetical use case&lt;/a&gt; and a &lt;a href="http://isocial.missouri.edu/"&gt;website&lt;/a&gt; that outlines the project in broad terms. Since we've decided to use &lt;a href="http://squeak.org/"&gt;Squeak&lt;/a&gt; and &lt;a href="http://www.opencroquet.org/index.php/Main_Page"&gt;OpenCroquet&lt;/a&gt; as the development platform for this application, it seemed appropriate to post the use case here.&lt;br /&gt;&lt;br /&gt;From the iSocial website:&lt;br /&gt;&lt;blockquote&gt;The iSocial project proposes to develop a three-dimensional virtual learning environment (3D VLE)      for students who have been identified with Autism Spectrum Disorders (ASD). Participation in iSocial      will enable social interaction and support the development of social competence for participation in both      virtual and natural settings. The envisioned system integrates (1) a social space attuned to the capabilities      and needs of students identified with ASD, (2) a curriculum of activities and scaffolding for developing      social competence, and (3) a networked community for students, parents and teachers to motivate, support      and sustain social interaction and progress toward social competence.&lt;br /&gt;&lt;/blockquote&gt;&lt;blockquote&gt;As illustrated in &lt;a href="http://isocial.missouri.edu/video.html"&gt;the video&lt;/a&gt;, youth will experience a 3D VLE customized to      support social interaction and learning for the ASD population and adapted to the needs of the individual.      The customization and adaptivity of features (e.g., representation, orthotics, and notification) and the      study of the impact of that customization and adaptivity on presence, co-presence, behavior management      and learning social competence guide the design and development of the system. By customization we mean      being attuned to the needs and preferences of youth with ASD. For example the conversation console is a      feature of iSocial customized to the needs of youth with ASD to have a mechanism for regulating some      aspects of conversation, such as turn taking. By adaptivity we mean that the interface adjusts to how      the social deficit or learning objective is manifest for this individual and to changes and development      of the individual over time. For example, once a youth learns “turn taking” and is ready to practice this      skill in conversation, the console can reduce the control it exerts or remove that feature. Similarly if      a youth does not adopt the turn taking controls in the console, other forms of control can be substituted      such as removing other members from view until it is the youth’s turn to speak.&lt;/blockquote&gt;I am interested in feedback from anyone from the Squeak and Croquet communities.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-5930714994972698524?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/5930714994972698524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=5930714994972698524&amp;isPopup=true' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5930714994972698524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5930714994972698524'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/11/isocial-virtually-social-space-for.html' title='iSocial: Virtually a social space for youth with autism'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/RyqAxEZ_RVI/AAAAAAAABgc/Qz-f5RVtKtU/s72-c/Picture+1.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-128039330105057355</id><published>2007-10-17T09:26:00.000-07:00</published><updated>2008-03-03T06:21:06.547-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='free textures'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet content'/><title type='text'>Croquet Floor Textures</title><content type='html'>In the course of creating the next tutorial,&lt;a href="http://bengal.missouri.edu/%7Eschmidtma/croquetTextures/croquetTextures.zip"&gt;&lt;/a&gt;&lt;a href="http://bengal.missouri.edu/%7Eschmidtma/croquet/croquetTextures.zip"&gt; I've put together some textures for your Croquet worlds' floors.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These are released under the DWTFYW license. Use as you will.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-128039330105057355?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/128039330105057355/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=128039330105057355&amp;isPopup=true' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/128039330105057355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/128039330105057355'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/croquet-floor-textures.html' title='Croquet Floor Textures'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-5018154411572276035</id><published>2007-10-14T16:42:00.001-07:00</published><updated>2008-11-13T07:59:12.305-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Croquet how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet Tutorial'/><title type='text'>Quick and Dirty Guide Part III: Adding a script to a button</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In the first two parts of this quick and dirty series, you learned how to write a script to run a Croquet world, and how to execute that script within the Squeak environment. But selecting your code, doing an "accept" and "do it" every time you want to start a world can become tedious. Wouldn't it be great if you could just click a button to start your world?&lt;br /&gt;&lt;br /&gt;That is precisely what we are going to learn how to do in this tutorial.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning Outcomes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Upon completion of this lesson, the learner will be able to assign a script to a button in Squeak and change the name of the button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step by Step Guide:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Launch Squeak and open a new project.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RxKyiWS81GI/AAAAAAAABbU/rjGuFZgunkE/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RxKyiWS81GI/AAAAAAAABbU/rjGuFZgunkE/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5121352029444035682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxKyy2S81HI/AAAAAAAABbc/y0_M6rOakjM/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxKyy2S81HI/AAAAAAAABbc/y0_M6rOakjM/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5121352312911877234" border="0" /&gt;&lt;/a&gt;2. Open up an "Objects" window.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxKyy2S81II/AAAAAAAABbk/82RguN1N-28/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxKyy2S81II/AAAAAAAABbk/82RguN1N-28/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5121352312911877250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. Select "Basic" from the "Objects" window.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxKyzGS81JI/AAAAAAAABbs/BESFIw8Wya4/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxKyzGS81JI/AAAAAAAABbs/BESFIw8Wya4/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5121352317206844562" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. Click and drag the "button" icon from the "Objects" window into your workspace.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK0-GS81KI/AAAAAAAABb0/l1OaP2t3654/s1600-h/drag_press_me.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK0-GS81KI/AAAAAAAABb0/l1OaP2t3654/s320/drag_press_me.jpg" alt="" id="BLOGGER_PHOTO_ID_5121354705208661154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;5. Command-click (or right-click) the button you just dragged into the workspace. You are presented with a halo.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK1aGS81LI/AAAAAAAABb8/kfr6Hv0gApw/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK1aGS81LI/AAAAAAAABb8/kfr6Hv0gApw/s320/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5121355186244998322" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6. Select the green button towards the bottom-right of the halo. You are presented with a tile pane.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/RxK2ImS81NI/AAAAAAAABcM/UtIgBmsbzZk/s1600-h/Picture+8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/RxK2ImS81NI/AAAAAAAABcM/UtIgBmsbzZk/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5121355985108915410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK2I2S81OI/AAAAAAAABcU/BsOD7xl-dko/s1600-h/Picture+9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK2I2S81OI/AAAAAAAABcU/BsOD7xl-dko/s320/Picture+9.png" alt="" id="BLOGGER_PHOTO_ID_5121355989403882722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;7. Click on the "world" section of the tile pane. You are presented with a contextual menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK29WS81QI/AAAAAAAABck/5BrKO8MuRgI/s1600-h/world_button.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK29WS81QI/AAAAAAAABck/5BrKO8MuRgI/s320/world_button.jpg" alt="" id="BLOGGER_PHOTO_ID_5121356891347014914" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;8. Select "show code textually" from the contextual menu. An editing space will appear.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK2d2S81PI/AAAAAAAABcc/JP4SMr46Hjs/s1600-h/Picture+11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK2d2S81PI/AAAAAAAABcc/JP4SMr46Hjs/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5121356350181135602" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;9. Delete all text in the editing space &lt;span style="font-weight: bold; font-style: italic;"&gt;except&lt;/span&gt; for the word "button".&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3N2S81RI/AAAAAAAABcs/5XT5NxrnyEE/s1600-h/Picture+19.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3N2S81RI/AAAAAAAABcs/5XT5NxrnyEE/s320/Picture+19.png" alt="" id="BLOGGER_PHOTO_ID_5121357174814856466" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;10. Copy and paste the following code into the editing space &lt;span style="font-weight: bold; font-style: italic;"&gt;below&lt;/span&gt; the word "button":&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;| myVariable |&lt;br /&gt;myVariable := CroquetMaster new.&lt;br /&gt;myVariable  position: 100@100.&lt;br /&gt;myVariable extent: 640@480.&lt;br /&gt;^myVariable openInWorld.&lt;/blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3m2S81SI/AAAAAAAABc0/0Aj-mFJtXvQ/s1600-h/Picture+20.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3m2S81SI/AAAAAAAABc0/0Aj-mFJtXvQ/s320/Picture+20.png" alt="" id="BLOGGER_PHOTO_ID_5121357604311586082" border="0" /&gt;&lt;/a&gt;11. Select all of the text &lt;span style="font-weight: bold; font-style: italic;"&gt;except&lt;/span&gt; for the word button, alt-click, and select "accept" from the contextual menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK3nWS81TI/AAAAAAAABc8/bPTHGjCcRAA/s1600-h/Picture+21.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK3nWS81TI/AAAAAAAABc8/bPTHGjCcRAA/s320/Picture+21.png" alt="" id="BLOGGER_PHOTO_ID_5121357612901520690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;12. Select the "O" button (second from the left) at the top of the tile pane. This will close the tile pane.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK4LGS81XI/AAAAAAAABdc/biUdPXXSMZc/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK4LGS81XI/AAAAAAAABdc/biUdPXXSMZc/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5121358227081844082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;13. Since the title on the button ("press me") is not very descriptive, let's change the title. Command click (right-click) the button. You are presented with a halo. Select the "Menu" button. You are presented with a contextual menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3n2S81VI/AAAAAAAABdM/1sRwgtdUhb0/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RxK3n2S81VI/AAAAAAAABdM/1sRwgtdUhb0/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5121357621491455314" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;14. Select "change label" from the contextual menu. You are presented with a dialogue to add a new label to your button.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK4xWS81YI/AAAAAAAABdk/rYCO__oDoP0/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK4xWS81YI/AAAAAAAABdk/rYCO__oDoP0/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5121358884211840386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;15. Provide a name for your button and select "Accept." I have chosen to name the button "My Croquet World."&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK4xWS81ZI/AAAAAAAABds/XJdAhJ7VL14/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RxK4xWS81ZI/AAAAAAAABds/XJdAhJ7VL14/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5121358884211840402" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;16. Success! You can now click on the button to run your script. You will be presented with a world based on the CroquetMaster subclass.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK5GGS81aI/AAAAAAAABd0/Bxz-pCTfZ9w/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK5GGS81aI/AAAAAAAABd0/Bxz-pCTfZ9w/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5121359240694125986" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Advanced users:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Experiment with the various options using the halo and its contextual menus to create a more attractive button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Chall&lt;/span&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;enge:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Can you create a button that looks like the following?&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK8QGS81bI/AAAAAAAABd8/czzl_b_A9aE/s1600-h/Picture+24.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK8QGS81bI/AAAAAAAABd8/czzl_b_A9aE/s320/Picture+24.png" alt="" id="BLOGGER_PHOTO_ID_5121362711027701170" border="0" /&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK8QGS81bI/AAAAAAAABd8/czzl_b_A9aE/s1600-h/Picture+24.png"&gt;&lt;/a&gt;&lt;/blockquote&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RxK8QGS81bI/AAAAAAAABd8/czzl_b_A9aE/s1600-h/Picture+24.png"&gt;&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;In this lesson, the learner learned to assign a script to a button in Squeak and how to change the name of that button.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This concludes the quick and dirty series on getting a Croquet world running. In this series, the learner acquired the following abilities regarding the core concepts of the Croquet SDK:&lt;br /&gt;&lt;br /&gt;1. How to create a new Squeak project.&lt;br /&gt;&lt;br /&gt;2. How to open and use a workspace.&lt;br /&gt;&lt;br /&gt;3. How to open and use a class browser in a fundamental manner.&lt;br /&gt;&lt;br /&gt;4. How to execute scripts in the Squeak environment ("accept" and "do it")&lt;br /&gt;&lt;br /&gt;5. How to understand basic scripting syntax in Squeak, from a fundamental and conceptual perspective.&lt;br /&gt;&lt;br /&gt;6. How to work with the halo in a fundamental manner.&lt;br /&gt;&lt;br /&gt;7. How to assign a script to a button.&lt;br /&gt;&lt;br /&gt;I hope that you have enjoyed the Quick and Dirty tutorial series, and I also hope that you have been able to become more familiar with the Croquet SDK.&lt;br /&gt;&lt;br /&gt;If you have feedback, questions or comments, please leave a comment in the comments section of this blog. I will do my best to answer your questions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-5018154411572276035?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/5018154411572276035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=5018154411572276035&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5018154411572276035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/5018154411572276035'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/quick-and-dirty-guide-part-iii-adding.html' title='Quick and Dirty Guide Part III: Adding a script to a button'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/RxKyiWS81GI/AAAAAAAABbU/rjGuFZgunkE/s72-c/Picture+1.png' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-8196195243055940764</id><published>2007-10-11T21:07:00.000-07:00</published><updated>2008-11-13T07:59:13.379-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Croquet how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet Tutorial'/><title type='text'>Quick and Dirty Guide Part II: Squeak/Smalltalk Syntax</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Introduction:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm no Smalltalk guru. Anyone who reads the Croquet-Dev list can assure you of this. But when you start small with Smalltalk/Squeak's syntax (no pun intended), it's not too difficult to grasp. So, without further ado, here is the second installment in my set of Croquet tutorials.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning outcomes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Upon completion of this lesson, the learner will be able to identify basic elements of a Squeak script and will be able to make minor changes to provided code examples.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Note:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The following tutorial will use the below screenshot throughout. It is recommended to open this screenshot in another window or tab in your web browser in order to reference it during the tutorial.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/Rw70VmS81BI/AAAAAAAABas/VJJpev3cF2w/s1600-h/lesson2-numbered_workspace_code.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/Rw70VmS81BI/AAAAAAAABas/VJJpev3cF2w/s320/lesson2-numbered_workspace_code.jpg" alt="" id="BLOGGER_PHOTO_ID_5120298478261294098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You will notice that the above screenshot is annotated with numbers one through ten. Please refer to these numbers while working through the tutorial.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Tutorial:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The above screenshot provides you with two scripts. You will recognize the script in the workspace on the left from the previous lesson. The script on the right is new. We will use these two scripts to compare and contrast the various elements within them in order to gain a better understanding of what is going on with the syntax.&lt;br /&gt;&lt;br /&gt;1. This is how you declare a variable in Squeak/Smalltalk (referred to as Squeak from now on). You can name your variable in a number of ways. Just make sure that you don't name your variable something that is reserved by the system (e.g., "win"). Note that the line ends with a period.&lt;br /&gt;&lt;br /&gt;5. Notice that in the new script I have named my variable differently.&lt;br /&gt;&lt;br /&gt;2. Here, I call the KCroquetParticipant subclass and assign it to the variable "w". You may find that it is easier for a beginner to read Squeak code from right to left. In this manner, you can interpret this code to mean, "Create a new instance of the KCroquetParticipant subclass and assign it to the variable 'w'."&lt;br /&gt;&lt;br /&gt;7. Notice that in the new script I am calling a different subclass, CroquetMaster. The syntax is the same. Calling CroquetMaster will initialize a different world than KCroquetParticipant. But don't worry, we'll get to that at the end of the lesson.&lt;br /&gt;&lt;br /&gt;3. Here, I assign a base position in the Squeak project space for where the world should launch.  The number to the left of the "@" sign is the horizontal offset, in pixels. The number to the right of the "@" sign is the vertical offset. As you can see, when this script is executed, the world will launch 110 pixels below the top of the Squeak project space. Of particular note is the use of the "@" sign. You may be familiar with other programming languages that use "x" (e.g., 640x480). This is not the case with Squeak. Make a mental note of this.&lt;br /&gt;&lt;br /&gt;8. Notice in the new script that I have changed things up a bit. When this script is executed, the world will launch 100 pixels from the left-hand side of the Squeak project space, and 100 pixels below the top.&lt;br /&gt;&lt;br /&gt;4. Here, I assign a size for the Croquet world. This is a bit fancy, and is a nice way to show off some features of  Squeak. The section "w extent: World extent" can be translated into plain English to mean, "make the size of the Croquet world just as big as the Squeak project space." So, if this line ended here, the Croquet world would take up the whole space available in the window. However, there is more to this line. The section "- w position" tells the Croquet world to subtract the position from line 3. In plain English, this code says, "make the size of the Croquet world as big as the Squeak project space, but subtract 110 pixels from the top."&lt;br /&gt;&lt;br /&gt;9. Notice in the new script that things are a lot easier. Here, I have assigned a simple value of 640 by 480 pixels for the size of the Croquet world. You may want to start building your worlds using simple syntax like this and build up to the fancier stuff over time.&lt;br /&gt;&lt;br /&gt;5. This last line ties everything together. You may be wondering, "What's that arrow, and where is it on my keyboard?" The up arrow is actually a caret symbol (^), which you can type in by selecting the shift key and pressing 6 on most U.S. mapped keyboards. It is displayed in Squeak as an up arrow symbol. The caret symbol is used to return a value. In this example, the variable "w" is returned and opened in the Squeak project space.&lt;br /&gt;&lt;br /&gt;10. Notice in the new script that everything is exactly the same except for the variable name.&lt;br /&gt;&lt;br /&gt;Now that you have spent some time investigating Squeak syntax, let's get another world running.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step-by-Step Guide&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;1. Select all of the text in the workspace.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/Rw78aGS81CI/AAAAAAAABa0/yiMpw4QcSgc/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/Rw78aGS81CI/AAAAAAAABa0/yiMpw4QcSgc/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5120307351663727650" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;2. Alt+click and select "accept" from the contextual menu.&lt;br /&gt;&lt;shift 6=""&gt;&lt;br /&gt;&lt;/shift&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/Rw78aGS81DI/AAAAAAAABa8/IZQaBFvKThQ/s1600-h/Picture+3.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/Rw78aGS81DI/AAAAAAAABa8/IZQaBFvKThQ/s320/Picture+3.png" alt="" id="BLOGGER_PHOTO_ID_5120307351663727666" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. Alt+click again and select "do it" from the contextual menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/Rw78aWS81EI/AAAAAAAABbE/zgM-3OFvaK8/s1600-h/Picture+4.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/Rw78aWS81EI/AAAAAAAABbE/zgM-3OFvaK8/s320/Picture+4.png" alt="" id="BLOGGER_PHOTO_ID_5120307355958694978" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. You are presented with a world running the CroquetMaster subclass. Notice the offset of the world (100 pixels from the left and 100 pixels from the top), and notice the size of the world (640 pixels wide by 480 pixels high).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/Rw78amS81FI/AAAAAAAABbM/XudNEYfk5Ls/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/Rw78amS81FI/AAAAAAAABbM/XudNEYfk5Ls/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5120307360253662290" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this lesson, the learner compared and contrasted two similar Squeak scripts and was introduced to some of the basic programmatic and syntactical elements of Squeak scripting. In addition, the learner launched a new world, based on the "CroquetMaster" subclass.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-8196195243055940764?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/8196195243055940764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=8196195243055940764&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8196195243055940764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8196195243055940764'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/quick-and-dirty-guide-part-ii.html' title='Quick and Dirty Guide Part II: Squeak/Smalltalk Syntax'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/Rw70VmS81BI/AAAAAAAABas/VJJpev3cF2w/s72-c/lesson2-numbered_workspace_code.jpg' height='72' width='72'/><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-2812377201107409209</id><published>2007-10-10T06:49:00.001-07:00</published><updated>2007-10-18T14:38:30.254-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Wii Remote'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet'/><title type='text'>Controlling Croquet with a Wii Remote on Big Displays</title><content type='html'>My colleague, Sean Goggins, and I put together the following video on controlling Croquet using a Wii remote.&lt;br /&gt;&lt;br /&gt;For fun, we decided to use the projector on my deck (great for evening movies in the summer!) as our display. When we started getting eaten alive by the Missouri mosquitoes, we took the experiment to my basement wide screen flat panel display.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/uLbR65B4VKE"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/uLbR65B4VKE" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-2812377201107409209?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/2812377201107409209/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=2812377201107409209&amp;isPopup=true' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/2812377201107409209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/2812377201107409209'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/controlling-croquet-with-wii-remote-on.html' title='Controlling Croquet with a Wii Remote on Big Displays'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-8037808758466882012</id><published>2007-10-10T05:53:00.000-07:00</published><updated>2008-11-13T07:59:15.531-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Croquet how-to'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet Tutorial'/><title type='text'>Quick and Dirty Guide to Launching a Croquet World</title><content type='html'>OK, as promised, here is the first installment of how to get a simple world running in Croquet.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Learning outcomes:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Upon completion of this lesson, the learner will be able to successfully initiate the KCroquetParticipant subclass from within Squeak.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Step by Step Guide&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note&lt;/span&gt;: This guide was made under OSX. If you are running Croquet under Windows or Linux, your results may vary.&lt;br /&gt;&lt;br /&gt;1. Launch the Croquet image&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzMZmS80bI/AAAAAAAABVc/NvyQxf_fvv4/s1600-h/Picture+1.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzMZmS80bI/AAAAAAAABVc/NvyQxf_fvv4/s320/Picture+1.png" alt="" id="BLOGGER_PHOTO_ID_5119691616562237874" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;2. Click on the "Scratch" project. You will be presented with a new desktop. For simplicity's sake, close all windows on this project "page."&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/RwzNPGS80cI/AAAAAAAABVk/sRnCSOMhyvw/s1600-h/Picture+2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/RwzNPGS80cI/AAAAAAAABVk/sRnCSOMhyvw/s320/Picture+2.png" alt="" id="BLOGGER_PHOTO_ID_5119692535685239234" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;3. Open up a workspace. Advanced users may also want to open a class browser.&lt;br /&gt;&lt;br /&gt;3.1. To open a workspace, left click on the Squeak desktop, select "open..."--&gt;"workspace."&lt;br /&gt;&lt;br /&gt;Alternately, Alternately, left click on the Squeak desktop, and select "objects." You are presented with a green "Objects" window. In the "Objects" window, select "Tools" (if you receive an error to the effect of "The map on disk is more than 10 days old. Update it from the Internet?" or something similar, go ahead and select "yes"). Left click and drag the "Workspace" button from the "Tools" section of the "Objects" window onto your Squeak desktop.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RwzVzWS80eI/AAAAAAAABV0/_zv0XyUlX8Y/s1600-h/workspace.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RwzVzWS80eI/AAAAAAAABV0/_zv0XyUlX8Y/s320/workspace.jpg" alt="" id="BLOGGER_PHOTO_ID_5119701954548519394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3.2. &lt;span style="font-weight: bold;"&gt;Advanced users&lt;/span&gt;: to open a package browser, left click on the Squeak desktop and select "open..."--&gt;"class browser" from the menu.&lt;br /&gt;&lt;br /&gt;Alternately, from the "Tools" section of the "Objects" window, left click and drag the button labeled "Browser" onto your Squeak desktop.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVymS80dI/AAAAAAAABVs/TXnD2xEvZ34/s1600-h/system_browser.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVymS80dI/AAAAAAAABVs/TXnD2xEvZ34/s320/system_browser.jpg" alt="" id="BLOGGER_PHOTO_ID_5119701941663617490" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;4. Copy the below text and paste it into your workspace window. Don't worry about the particulars of the following script. The goal of this lesson is just to get a simple world to load.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;| w |&lt;br /&gt;w := KCroquetParticipant new.&lt;br /&gt;w  position: 50@50.&lt;br /&gt;w extent: World extent - w position.&lt;br /&gt;^w openInWorld &lt;/blockquote&gt;5. Now it is time to initiate the world. First, select all of the text that you just copied into your workspace.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_4iskP_xs9eE/RwzVzWS80fI/AAAAAAAABV8/3Y858zhW58w/s1600-h/Picture+5.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_4iskP_xs9eE/RwzVzWS80fI/AAAAAAAABV8/3Y858zhW58w/s320/Picture+5.png" alt="" id="BLOGGER_PHOTO_ID_5119701954548519410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now alt-click the selected text. You are presented with a contextual menu. Select "accept" from this menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVzmS80gI/AAAAAAAABWE/8-miPXy2Ulw/s1600-h/Picture+6.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVzmS80gI/AAAAAAAABWE/8-miPXy2Ulw/s320/Picture+6.png" alt="" id="BLOGGER_PHOTO_ID_5119701958843486722" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now alt-click the selected text again. You are again presented with a contextual menu. Select "do it" from this menu.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVzmS80hI/AAAAAAAABWM/2cCmH6wlukk/s1600-h/Picture+7.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzVzmS80hI/AAAAAAAABWM/2cCmH6wlukk/s320/Picture+7.png" alt="" id="BLOGGER_PHOTO_ID_5119701958843486738" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You should be presented with a dialogue stating "Enter interactivity server address, or leave blank to run your own locally." Delete the text in the dialogue's text box and select "Accept."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_4iskP_xs9eE/RwzWFGS80iI/AAAAAAAABWU/qsjDx5fX1T0/s1600-h/Picture+8.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_4iskP_xs9eE/RwzWFGS80iI/AAAAAAAABWU/qsjDx5fX1T0/s320/Picture+8.png" alt="" id="BLOGGER_PHOTO_ID_5119702259491197474" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;In a few moments, you should be presented with the below Croquet world.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzWFmS80jI/AAAAAAAABWc/T7ZuLStJcS0/s1600-h/Picture+9.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzWFmS80jI/AAAAAAAABWc/T7ZuLStJcS0/s320/Picture+9.png" alt="" id="BLOGGER_PHOTO_ID_5119702268081132082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;6. &lt;span style="font-weight: bold;"&gt;Advanced users&lt;/span&gt;: You  may want to investigate the code for the world that you just initiated. To do this, return to the "System Browser" window. Alt-click in the left-most pane of the window. You are presented with a contextual menu. From this menu, select "find class."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzWFmS80kI/AAAAAAAABWk/Osod1FD6io0/s1600-h/Picture+10.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://1.bp.blogspot.com/_4iskP_xs9eE/RwzWFmS80kI/AAAAAAAABWk/Osod1FD6io0/s320/Picture+10.png" alt="" id="BLOGGER_PHOTO_ID_5119702268081132098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Enter "KCroquetParticipant" into the search field and select "Accept."&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RwzWF2S80lI/AAAAAAAABWs/ZRgBHJa2px0/s1600-h/Picture+11.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RwzWF2S80lI/AAAAAAAABWs/ZRgBHJa2px0/s320/Picture+11.png" alt="" id="BLOGGER_PHOTO_ID_5119702272376099410" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;You are presented with the subclass "KCroquetParticipant." Discussion of this subclass is beyond the scope of the current lesson. A deeper investigation of the underlying structure of the objects, classes, subclasses, instances, and methods of the Croquet system will be presented in a future lesson.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_4iskP_xs9eE/RwzWF2S80mI/AAAAAAAABW0/1UjHHSEg_Sc/s1600-h/Picture+12.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_4iskP_xs9eE/RwzWF2S80mI/AAAAAAAABW0/1UjHHSEg_Sc/s320/Picture+12.png" alt="" id="BLOGGER_PHOTO_ID_5119702272376099426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Summary&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;In this lesson, the learner interfaced with the Squeak system in order to execute a script which is used to launch a simple Croquet world, based on the University of Wisconsin's "KCroquetParticipant" subclass.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-8037808758466882012?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/8037808758466882012/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=8037808758466882012&amp;isPopup=true' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8037808758466882012'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/8037808758466882012'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/quick-and-dirty-guide-to-launching.html' title='Quick and Dirty Guide to Launching a Croquet World'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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/_4iskP_xs9eE/RwzMZmS80bI/AAAAAAAABVc/NvyQxf_fvv4/s72-c/Picture+1.png' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1047940669222698024.post-2791723026178709785</id><published>2007-10-03T13:39:00.000-07:00</published><updated>2007-10-18T14:38:54.611-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='OpenCroquet'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet Documentation'/><category scheme='http://www.blogger.com/atom/ns#' term='Croquet'/><title type='text'>Croquet documentation sucks</title><content type='html'>My name's Matt and welcome to Xaverse.&lt;br /&gt;&lt;br /&gt;OK, so maybe I'm being overly critical, but where's a decent how-to?&lt;br /&gt;&lt;br /&gt;I mean a how-to for building your own world.&lt;br /&gt;&lt;br /&gt;Common folks need a decent how-to. I don't need to be told RTFM after I've read it twice.&lt;br /&gt;&lt;br /&gt;That's what this blog is for. Stay tuned. I'll be posting my experiences and lessons as I continue to explore, design, and develop with this exciting software.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1047940669222698024-2791723026178709785?l=xaverse.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://xaverse.blogspot.com/feeds/2791723026178709785/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1047940669222698024&amp;postID=2791723026178709785&amp;isPopup=true' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/2791723026178709785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1047940669222698024/posts/default/2791723026178709785'/><link rel='alternate' type='text/html' href='http://xaverse.blogspot.com/2007/10/croquet-documentation-sucks.html' title='Croquet documentation sucks'/><author><name>Matt Schmidt</name><uri>http://www.blogger.com/profile/14541607594323303058</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>4</thr:total></entry></feed>
