<?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-8692218</id><updated>2011-04-21T18:49:59.644-07:00</updated><title type='text'>Croquet &amp; CITRIS</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://crnci.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8692218.post-111592078850892082</id><published>2005-05-12T10:59:00.000-07:00</published><updated>2005-05-12T10:59:48.573-07:00</updated><title type='text'>CroqueTweak: Connecting fields</title><content type='html'>Bert explains the proper tweak way to wire up two fields.  Very useful.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://croquetweak.blogspot.com/2005/05/connecting-fields.html"&gt;CroqueTweak: Connecting fields&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111592078850892082?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111592078850892082'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111592078850892082'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/05/croquetweak-connecting-fields.html' title='CroqueTweak: Connecting fields'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111533624264455692</id><published>2005-05-05T16:19:00.000-07:00</published><updated>2005-05-05T16:37:22.683-07:00</updated><title type='text'>Tweak gotcha..</title><content type='html'>This one took hour or two to down. I wonder if I am abusing an idiom.&lt;br /&gt;&lt;br /&gt; I wanted to create a dialog with custom behaviors so I did the following.&lt;br /&gt;&lt;br /&gt; d := CFileSaveDialog new.&lt;br /&gt; d costume: CCFileSaveDialogCostumeCITRIS new.&lt;br /&gt; d openLabel: 'Test Custom Dialog'.&lt;br /&gt;&lt;br /&gt; then in CCFileSaveDialogCostumeCITRIS&gt;&gt;initialize I added changed around parameters:&lt;br /&gt;&lt;br /&gt;directoryList costume: CTreeWidgetCostumeCitris new. "works"&lt;br /&gt;player sorter primarySort: #compareType:with:.  "does NOT work"&lt;br /&gt;&lt;br /&gt;The problem is the timing.  initialize gets called at the end of the new, and before the costume: call, so player in initialize has not been set to d.  Instead CPlayer has silently stuck in a default CFileDialog that gets modified and then immediately discarded.&lt;br /&gt;&lt;br /&gt;If I move the player modifying line into onPlayerChanged, it is all good.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111533624264455692?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111533624264455692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111533624264455692'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/05/tweak-gotcha.html' title='Tweak gotcha..'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111480137306159552</id><published>2005-04-29T12:02:00.000-07:00</published><updated>2005-04-29T12:02:53.063-07:00</updated><title type='text'>Tweak values &amp; players</title><content type='html'>Ok, I think I am getting a hang of the tweak way of thinking.&lt;br /&gt;Lets say I have a CColorPicker &amp; I want to use it in a dialog &amp;amp; do something with it. There are a couple of ways of doing this.&lt;br /&gt;The color selected by the user updates the colorPicker's value.  So I can:&lt;br /&gt;&lt;ol&gt; &lt;li&gt;In the dialog's initialize, call &lt;span style="font-weight: bold;"&gt;self startScript: #doSomething when: { colorPicker. #valueChanged}&lt;/span&gt;&lt;/li&gt;&lt;li&gt;in the doSomething method (which should prob be called onColorChanged), put &lt;span style="font-weight: bold;"&gt;&lt;on: valuechanged="" in="" colorpicker=""&gt;. &lt;/on:&gt;&lt;/span&gt;I think that just tells tweak to magically add the line above to the init for me.&lt;/li&gt;&lt;li&gt;I can call &lt;span style="font-weight: bold;"&gt;colorPicker player: ( self fieldNamed: #someField ) &lt;/span&gt;which puts a CFieldReference into the colorPicker as it's value. So the field in the dialog is updated in sync with the colorPicker's value. This has something to do with Tweak's virtual field mechanism, which I don't fully understand, but it seems very cool.&lt;br /&gt;&lt;/li&gt; &lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111480137306159552?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111480137306159552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111480137306159552'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/tweak-values-players.html' title='Tweak values &amp; players'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111454005488446044</id><published>2005-04-26T11:07:00.000-07:00</published><updated>2005-04-26T11:27:34.886-07:00</updated><title type='text'>Tweak - good first impressions</title><content type='html'>I have been converting our morphic popup menu's over to Tweak.  Our needs have all been simple so far, so not a deep test, but so far so good.  The code has been pretty clean and does what I would expect it to do.  And I have been enjoying the "do something wrong, get an error message, fix it and keep going" experience that I have been told is the really excitement about squeak, but has never really worked for me in Croquet, where it has been more like "do something wrong, restart the image, search the recent changes log to recover your code, make a small change &amp; repeat". But I am now seeing the fun.&lt;br /&gt;&lt;br /&gt;We are working with Tweak 1.0, in the Jasmine image, which, I think,  puts us two versions behind. The mailing list says they are now working on 1.2 for Squeak 3.8.  Hopefully we will see grand unification sometime this summer, with a 3.8 version of Croquet bringing us into the Tweak mainstream.&lt;br /&gt;&lt;br /&gt;Other big news around the office here is that I set up the Mantis bug tracker on our server for the digital gallery project.  It's much easier to use that the wiki arrangement we were using before.  And best of all, it makes Orion happy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111454005488446044?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111454005488446044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111454005488446044'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/tweak-good-first-impressions.html' title='Tweak - good first impressions'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111393872914948602</id><published>2005-04-19T12:25:00.000-07:00</published><updated>2005-04-19T12:26:18.393-07:00</updated><title type='text'>Citris Gallery Builder in the News</title><content type='html'>http://www.uchri.org/newsletter/HASTAC/Issue1/VirtualMuseum.html&lt;br /&gt;&lt;br /&gt;(If only they were not using a screen shot from the obsolete Torque based version)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111393872914948602?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111393872914948602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111393872914948602'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/citris-gallery-builder-in-news.html' title='Citris Gallery Builder in the News'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111361104869194424</id><published>2005-04-15T17:02:00.000-07:00</published><updated>2005-04-19T13:37:59.120-07:00</updated><title type='text'>Tweak to the rescue?</title><content type='html'>Our basic problem is that our target user base is people who are not excited about computers. So we need an interface that is not just usable, but is actively seductive. And Morphic is not it. So what about Tweak?&lt;br /&gt;Andreas says he thinks they are close to being stable enough for "outside consumption". And pointed me at their &lt;a href="http://tweak.impara.de/"&gt;brand new documentation project.&lt;/a&gt; Honestly, I am probably getting to old to be a programmer, as the thought of a bleeding edge UI toolkit just fills me with dread. But, DAS says it is the future, so effort put into trying to get nice Morphic behaviors would just be wasted. And I just had a good talk with Howard Stearns (in Julian's group at U of Wisc) about their interface work. (Note to self: keep up with his &lt;a href="http://www.wetmachine.com/index.php?query=Inventing+the+Future&amp;blogid=1"&gt;blog.&lt;/a&gt; Too bad I can't get a clean RSS stream for it). Seems they have been having pretty good luck getting tweak to do what they want, although only by attaching it to the Morph. They haven't gotten it into the world yet. Fortunately, that is all we need.&lt;br /&gt;Unfortunately, Andreas does not have Windows look &amp;amp; feel on the todo list. So if we want if, we'll have to do it ourselves...At least for the moment.&lt;br /&gt;Well, enough gathering external information, nothing for it but to jump into the whirring blades of death &amp; see what I find.&lt;br /&gt;&lt;br /&gt;Update: the tweak tutorial does not work with the version in Croquet.  Drat.&lt;br /&gt;&lt;a href="http://www.wetmachine.com/index.php?query=Inventing+the+Future&amp;amp;blogid=1"&gt; &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111361104869194424?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111361104869194424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111361104869194424'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/tweak-to-rescue.html' title='Tweak to the rescue?'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111352920899076288</id><published>2005-04-14T17:46:00.001-07:00</published><updated>2005-04-15T12:10:25.256-07:00</updated><title type='text'>Meeting with Croqueteer</title><content type='html'>Orion &amp; I had a great meeting with David A Smith this afternoon. Croquet always seems so much more real when David is in the room.&lt;br /&gt;&lt;br /&gt;Big Stuff Coming&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;David Reed has extracted TeaTime from Croquet core. He will continue to work on TeaTime and David Smith will be responsible for integrating it in to Croquet as a discrete module. Supposedly TeaTime is working inside it's test environment. I cannot wait for this! It is so painful learning about meta &amp;amp; all its subtleties knowing that it is soon to be replaced.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;New Interface approach. DAS is moving all the nutty pointer &amp; event code out of the camera &amp;amp; render loop and putting it into special interface portals, called Filters. This could make the UI work much simpler. He gave us his prototype to poke around in. Very exciting. Especially nice is the idea that the filters can be in the world, or attached to your screen. There is something really sexy about UI's &amp; custom views that you can tear off and drop into the world. And David demo'd ghosts, objects that appear to be in the world but really belong to the filter &amp;amp; can only be seen through it. Could be great for annotations.&lt;/li&gt;   &lt;li&gt;Tweak - don't know that much more about tweek than before David came, but it is definitely going to replace Morphic as Croquet's 2D UI &amp; scripting language. We are not so interested in scripting, but we desperately need a 2D UI toolkit that can impersonate windows. Our target users don't want a double click to be exactly what they expect it to be, or they are prepared to walk away. Unfortunately Tweak is not stable yet &amp;amp; David cannot recommend us jumping on it yet. Much pain here. He recommend talking to Andreas about Tweak in general (good luck to us) and Julian &amp; Marc b/c they also have users who need to not be surprised. David thinks a Window's mimicking toolkit is fine, as long as he doesn't have to use it (which is to say, Croquet must be flexable enough to work with other toolkits). This is going to continue to cause us trouble, I think. A clean UI toolkit is an entire project in itself.  I wonder if this is something we could through a couple of undergraduates at?&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;Farther out &amp; very interesting is moving Croquet to a JIT backend. Squeak becomes just one of the platforms that Croquet speaks, including C &amp;amp; Python and maybe more. Huge potential speed increases, which we would love, especially loading big/complex 3D objects.&lt;/li&gt;   &lt;li&gt;Nearer term - Croquet will move to Squeak 3.8 (or just possibly 3.7). So it looks like David is going to wrap #1, #2 &amp; #5 up into a new release - Croquet 0.2? Ah but when, that is the question!&lt;/li&gt; &lt;/ol&gt; Smaller stuff&lt;br /&gt;&lt;ol&gt;   &lt;li&gt;Probably the best thing we found out in the conversation is that DAS is using feedback from us to help guide Croquet's evolution.  Sometimes we feel like we are shouting into the void here.  It is very good for morale to know that the void is listening.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Avatar switching - it has worked at some point. FOLLOW UP&lt;/li&gt;    &lt;li&gt;WorldBase &amp; file streaming - he has no idea where this is, but thinks we could probably weld on the file streaming without too much trouble if we need it sooner that the whole WorldBase package.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;High Res Object - we are having trouble with 10K vertex objects. DAS said to up the depth of the bounding spheres &amp;amp; check out the buffer limit in openGL.&lt;/li&gt;   &lt;li&gt;Level of Detail on high-res meshes - DAS has great C++ code to do this, based on paper by Hughes &amp; Hoppe - and would be just tickled if we wanted to take it on.&lt;br /&gt;&lt;/li&gt;   &lt;li&gt;Lot's o' Text - ditto for dynamic texture management. Maybe once the JIT is in place, he will just be able to use all his old C code?&lt;/li&gt; &lt;/ol&gt; Lots of info for a short meeting. The really fun thing with DAS - Orion &amp;amp; I are constantly saying to each other "why in the world does it do that?" and then just shrugging. David knows.&lt;br /&gt;&lt;br /&gt;Also, David will not be at the May 18th Croquet Consortium, but thinks we should be, if only to get to know the other players.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111352920899076288?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111352920899076288'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111352920899076288'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/meeting-with-croqueteer_14.html' title='Meeting with Croqueteer'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111298182753536340</id><published>2005-04-08T10:22:00.000-07:00</published><updated>2005-04-08T10:37:07.536-07:00</updated><title type='text'>We're got competition!</title><content type='html'>http://www.arco-web.org/TextVersion/Description/Description1.html&lt;br /&gt;&lt;br /&gt;ARCO - Augmented Representation of Cultural Objects.  &lt;br /&gt;"ARCO is a research project, funded by the European Union, aimed at developing technology for museums to create 3D Virtual Exhibitions on the Web."&lt;br /&gt;&lt;br /&gt;Lot's of documents, especially on XML based object representations.&lt;br /&gt;Nothing since 2003. Probably another dead project.&lt;br /&gt;&lt;br /&gt;Links to a spin-off http://www.arco-web.org/vmesite/index.htm&lt;br /&gt;VME - Virtual Museums Exhibition; put that site barely exists.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111298182753536340?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111298182753536340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111298182753536340'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/were-got-competition.html' title='We&apos;re got competition!'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111265260402416304</id><published>2005-04-04T15:01:00.000-07:00</published><updated>2005-04-04T15:10:04.026-07:00</updated><title type='text'>Portals Good, Crashing Bad</title><content type='html'>The portal generation all turned out to be very easy to work with. I ended up sticking with morphic for UI.  Couple of fun brain twisters once we go collaborative.  Got to remember that my currentSpace might not be that same as yours.  Any meta'ed calls that effect the currentSpace need to have that space handed into them.&lt;br /&gt;&lt;br /&gt;On the downside, Croquet continues to be massively unreliable.  We had a public demo today &amp; that damn VM crash is like a plague.  We narrowed down our features to only the most reliable &amp; it still crashed twice durning the demo.  And we had to abort showing even the basic collabortation at the last minute.  It all worked fine friday, but this morning, with the exact same set up, no go.  One image or the other froze up on connection every time. Ugh.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111265260402416304?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111265260402416304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111265260402416304'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/04/portals-good-crashing-bad.html' title='Portals Good, Crashing Bad'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-111170214468850282</id><published>2005-03-24T13:25:00.000-08:00</published><updated>2005-03-24T14:09:04.690-08:00</updated><title type='text'>Creating Portals to new galleries &amp; Croquet UI</title><content type='html'>Ok, I am back working on the gallery builder (after an extended detour back to the java web apps I was working on last year).&lt;br /&gt;First feature on the todo list is adding an interface to create portals to link gallery with different themes.  The immediate question is what kind of GUI tools to use.  There is morphic (the current squeak toolkit, which is nice, but we've been warned that it will be unsupported has Croquet moves forward), tweak (maybe the next generation, still in active development with little docs or examples), or building something out of TObjects. Also there is David Smith's intriguing declaration of a completely new UI &amp; huge changeset coming down the pike.  Prob the best bet is to use Morphic until I can't &amp; see what has baked up by then.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-111170214468850282?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111170214468850282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/111170214468850282'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/03/creating-portals-to-new-galleries.html' title='Creating Portals to new galleries &amp; Croquet UI'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110737853278463472</id><published>2005-02-02T13:03:00.000-08:00</published><updated>2005-02-02T13:08:52.783-08:00</updated><title type='text'>CITRIS Digital Gallery Builder Summary</title><content type='html'>The CITRIS Digital Gallery Builder is a collaborative virtual gallery system for the humanities.&lt;br /&gt;The main idea is that it allows users to easily build 3-dimensional virtual galleries which contain various types of media, and which can then be viewed and modified collaboratively by multiple people at once over the internet. This allows both for the creation of group curated spaces and for the viewers to actively engage the source material.&lt;br /&gt;&lt;br /&gt;"Digital Galleries" are fairly simple structures emulating real-life exhibitions and collections. Visitors find themselves in a virtual space composed of various rooms, with 2-dimensional and 3-dimensional artifacts presented in the space. The user is represented by an avatar which they can navigate through the 3D space.&lt;br /&gt;&lt;br /&gt;The CITRIS software is built on top of the Croquet system, which allows for group collaboration and interaction within the space. That is, several people may have avatars present in the space at one time, can interact with each other, and further can interact with the gallery itself. Examples of interaction include discussion, annotation of artifacts, adding hyperlinks to artifacts, as well as introducing new items into the gallery and modifying the layout of the gallery and contents.&lt;br /&gt;&lt;br /&gt;Currently supported media types are:&lt;br /&gt;Images     (JPG, PNG, BMP)&lt;br /&gt;Video      (MPG)&lt;br /&gt;Audio      (MP3)&lt;br /&gt;3D Objects (ASE)&lt;br /&gt;&lt;br /&gt;Support for additional media types, especially 3D file formats, is planned. &lt;br /&gt;&lt;br /&gt;While the alpha version is not yet publicly available for download, CITRIS is looking&lt;br /&gt;for interested users who may want to provide feedback on the initial prototype.&lt;br /&gt;&lt;br /&gt;Documentation and screenshots are at &lt;a href="http://www.citris-uc.org/hosted/projects/ith/gallery"&gt;http://www.citris-uc.org/hosted/projects/ith/gallery&lt;/a&gt;,&lt;br /&gt;and links to the user group, Croquet, etc are at &lt;a href="http://www.citris-uc.org/hosted/projects/ith/gallery/#Feedback"&gt;http://www.citris-uc.org/hosted/projects/ith/gallery/#Feedback&lt;/a&gt;. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110737853278463472?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110737853278463472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110737853278463472'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/02/citris-digital-gallery-builder-summary.html' title='CITRIS Digital Gallery Builder Summary'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110635498446067103</id><published>2005-01-21T13:56:00.000-08:00</published><updated>2005-01-21T16:49:44.460-08:00</updated><title type='text'>Picking in overlays now working.</title><content type='html'>David Smith just made my life my easier by modifying TSpace &amp; TUserCamera so picking in an overlay just falls out naturally from building an overlay with a TUserCamera.  It's a little frustration that David can solve a problem that has been plaguing me for weeks with a couple of deep tweeks...and now pretty much any mistake with an overlay results in the image freezing...but such is life on the cutting edge.&lt;br /&gt;&lt;br /&gt;Having a working top-down overlay in the corner of the screen makes me want to be able to toggle the two views: have the top-down view be the dominant image and the front facing view be in the corner. This could get confusing - there is one TUserCamera that managers the other TUserCameras as overlays. It seems like TUserCamera was originally a kind of catch all for all the things they didn't want to put into the TeapotMorph &amp; I bet it was intented to be a singleton. The main TUserCamera (activeCamera of the TeapotMorph) is resistant to tampering, but what about creating an additional overlay with the front view in it?&lt;br /&gt;&lt;br /&gt;Yay, that works.  I wonder if David would consider killing the main Camera render and just render it as an overlay.  very flexable.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110635498446067103?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110635498446067103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110635498446067103'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/01/picking-in-overlays-now-working.html' title='Picking in overlays now working.'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110573966086404159</id><published>2005-01-14T13:31:00.000-08:00</published><updated>2005-01-14T13:54:20.863-08:00</updated><title type='text'>Pointer Enter &amp; Poiner Leave</title><content type='html'>More event passways.  The last entry discribed how a pointerDown event makes it to a componant that the mouse is over. This path is the same for pointerUp and pointerMove, but pointerEnter &amp; pointerLeave have their own thing going on.&lt;br /&gt;&lt;br /&gt;Those events are generated in TRay &gt;&gt; resetSelected, which is called for the activeCamera's pointer in TUserCamera preRender. Remeber that any TRay in a scene will select an object that it is pointing at in the render loop. resetSelected examins the ray's current selectedObject and it's lastSelection object to generated appropriate calls to pointerEnter, pointerLeave &amp; oh yeah, pointerOver (which is called continuously on the selected object for as long as the TRay points at it).&lt;br /&gt;&lt;br /&gt;Notes: &lt;br /&gt;1) The TRay only generates the pointerX events if it's doSelect is true, so the camera's downRay does not trigger events.&lt;br /&gt;2) The TRay is handed to the componant with the event, so you could have an object that responds differently to being selected by different pointers.&lt;br /&gt;3) I wondered why these events were render based &amp; not based on mouse event until Orion reminded me that objects in the scene can move themselves in front of the pointer.  The render bases select can succesfully select those moving obejcts.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110573966086404159?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110573966086404159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110573966086404159'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/01/pointer-enter-poiner-leave.html' title='Pointer Enter &amp; Poiner Leave'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110514135839774759</id><published>2005-01-07T13:15:00.000-08:00</published><updated>2005-01-07T15:42:38.396-08:00</updated><title type='text'>More Event Processing</title><content type='html'>I am still working to get a complete mental image of the event flow.  Lets follow a left mouse down event from Morph to TObject in the world.&lt;br /&gt;&lt;br /&gt;TeapotMorph &gt;&gt; handlesMouseDown is true, so TeapotMorph &gt;&gt; mouseDown is called, which calls activeCamera mouseDown. &lt;br /&gt;TUserCamera &gt;&gt; mouseDown determines that it is a left (red) button, and calls &lt;br /&gt;avatar selection: pointer selection pointerDown: evt.&lt;br /&gt;&lt;br /&gt;"pointer selection" returns the TObject picked by the activeCamera's TPointer the last time the TPointer was rendered, which is happening constantly, whenever the TSpace is rendered.&lt;br /&gt;&lt;br /&gt;TAvatar &gt;&gt; selection:pointerDown is where it gets fuzzy for me.  The TAvatar belonging to the activeCamera has it's own distinct TCamera and TPointer. The class comments say that the TPointer is a replicated copy of the pointer in the activeCamera, but the only replication I have found refers to positioning the avatar's TLaser. It is also unclear what purpose the avatar's camera serves - the comments refer to it as a pseudo-camera.&lt;br /&gt;&lt;br /&gt;Anyway, TAvatar &gt;&gt; selection:pointerDown first sets the avatar's camera's localtransform to that of the selected TObject, then sets the avatar's pointer's selected TObject, and then calls pointerDown on the &lt;b&gt;avatar's&lt;/b&gt; pointer.  Note: TAvatar has a selection:x: message for each possible event and they all do the same thing.&lt;br /&gt;&lt;br /&gt;TPointer &gt;&gt; pointerDown then examines the pointer's selected TObject, and if it returns true for isComponant and handlesPointerDown, it's handlePointer message is sent. Thus the mouse click has made it from the morph to the TObject.&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110514135839774759?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110514135839774759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110514135839774759'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2005/01/more-event-processing.html' title='More Event Processing'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110272730376226021</id><published>2004-12-10T17:04:00.000-08:00</published><updated>2004-12-10T17:08:23.763-08:00</updated><title type='text'>More TPointer</title><content type='html'>More important things about TPointers.&lt;br /&gt;&lt;br /&gt;* They operate automatically (as do all TRays). Put one in the scene graph and it picks every render cycle.&lt;br /&gt;&lt;br /&gt;* Once TPointer has selected an object, it will not test any other items unless they are closer that the currently selected object.&lt;br /&gt;&lt;br /&gt;* There is something special about the TPointer attached to the TAvatar that allows it to actually interact with objects in the scene.  This has to do with replicated vs non-replicated picking....need to know more about this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110272730376226021?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110272730376226021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110272730376226021'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/12/more-tpointer.html' title='More TPointer'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110270672659525648</id><published>2004-12-10T09:55:00.000-08:00</published><updated>2005-01-07T13:15:05.416-08:00</updated><title type='text'>TPointer &amp; Event Processing...</title><content type='html'>I have been learning about the Croquet event processing loop, in my attempt to get a pickable overhead view. &lt;br /&gt;&lt;br /&gt;1) It all starts with Squeak and Morphic. The TeapotMorph is just another morph as far as Squeak is concerned. By default it registers itself for the full compliment of mouse  and keyboard events. &lt;br /&gt;&lt;br /&gt;2) I haven't fully groked Squeaks focus handling.  Sometimes it uses mouse-over, sometimes it is click-to-focus. Unfortunately, click-to-focus does not seem to work on the TeaportMorph and keystrokes continue to go to the last selected morph. You can force it by putting this in a mouse event:&lt;br /&gt;ActiveHand keyboardFocus: teaportMorph.&lt;br /&gt;&lt;br /&gt;3) The TeapotMorph's default behavior is to route all it's events to it's activeCamera, which is a TUserCamera. The interesting call for me is camera &gt;&gt; pointerXY: evt position.  This takes the viewpoint coordinates of the mouse and updates the TPointer that is attached to the userCamera.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110270672659525648?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110270672659525648'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110270672659525648'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/12/tpointer-event-processing.html' title='TPointer &amp; Event Processing...'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110244551271148315</id><published>2004-12-07T10:19:00.000-08:00</published><updated>2004-12-07T10:51:52.710-08:00</updated><title type='text'>TMPEGDisplay</title><content type='html'>We now have a working simple MPEG movie player in our Croquet Gallery. It would have been very easy to just embed one of the the two morphic players in a TMorphMonitor, but we have decided to go 100% Moph-free wheneven possible. The winning stratagy was to have the player be a subclass of TRectangle with a texture, and the MPEGFile object's videoReadFrameInto on that texture's form.&lt;br /&gt;&lt;br /&gt;Interesting/Weird Stuff:&lt;br /&gt;1) The default TMaterial causes my player to be completely invisible.  Setting the material's ambiant alpha to 1.0 is a must.&lt;br /&gt;&lt;br /&gt;2) The MPEGDisplayMorph has code that looks like it is sync'ing the video with the soundtrack, but it is not. It's just making an estimate based on when the soundtrack started playing &amp; how much time has passed, which is why it does not handle pause. I keep my own starttime &amp; reset it on pause.&lt;br /&gt;&lt;br /&gt;3) Squeaks mpeg player seems to choke on some of our mpegs.  Chopping them up into smaller segments makes it happier.  But chopping involved re-encoding, so who knows.&lt;br /&gt;&lt;br /&gt;4) I experimented with rendering the video on render vs step.  Putting it in render does get more video frames on the screen (on my computer I average every 3rd frame in step and every 2nd frame in render), but the video is very jittery when done in render, which surprises me.  Why would one render cycle take a different amount of time than the next?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110244551271148315?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110244551271148315'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110244551271148315'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/12/tmpegdisplay.html' title='TMPEGDisplay'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-110183865321148178</id><published>2004-11-30T10:02:00.000-08:00</published><updated>2004-11-30T10:17:33.210-08:00</updated><title type='text'>Unsafe at any speed?</title><content type='html'>Things have been puttering along at CITRIS world headquarters, as our Croquet-only gallery builder demo nears completion, things continue up and down.  Up, because crafting using interactions &amp; UI elements is so much easier in Croquet that it was in Torque; Down, because Croquet remains amazingly unstable. Not a day of development goes by without a couple of VM crashes or image freezes, and some days get well into the double digits, especially with my recent venture into Video. The really frustrating bit is that most of the VM crashes seem to be either unreproducible, or reproducible only in one particular saved image.&lt;br /&gt;My current hunch is that our system is particularly vunerable because it is a hybrid of 2D Morphic and 3D Croquet &amp; that this combinantion has not been tested much.  So our current plan is to phase out the Morphic code as soon as we can &amp; keep our fingers crossed.   &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-110183865321148178?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110183865321148178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/110183865321148178'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/11/unsafe-at-any-speed.html' title='Unsafe at any speed?'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109849062541713051</id><published>2004-10-22T17:08:00.000-07:00</published><updated>2004-10-22T17:17:05.416-07:00</updated><title type='text'>Onward</title><content type='html'>I managed to force Scott's Gallery Builder into the Jasmine image.  It's a little bit crippled by my pattented "hack off any code that generates an error" approach, but it is still functional. Yay! Now to get it talking to Croquet.  I had this working back in August, with Solar, so it should go pretty quick...but not probably not quick enough for our Citris Corporate Sponsors Day presentation on Tuesday.  Ah well, one last chance to show off the cute Citris Alien from the Torque engine. &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109849062541713051?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109849062541713051'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109849062541713051'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/onward.html' title='Onward'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109847832133014437</id><published>2004-10-22T13:32:00.000-07:00</published><updated>2004-10-22T13:52:01.330-07:00</updated><title type='text'>Squeak Change Sets</title><content type='html'>Scott has explaned to me why his change set could not be filed-out and then filed back in.  Turns out there are timing issues with his change set &amp; he had to hand edit his .cs file before it could be filed-in. I guess B1llG must be right about my naivette, because I find this new bit of information horrifying.&lt;br /&gt;&lt;br /&gt;Scott also gave me an overview of the steps that would be needed to get Jasmine working in the 3.7 image, and it is pretty hairy, and not even possible unless I get currently unpublished bits from the Croquet dev team.  So it looks like I need to continue hacking pieces out of the Gallery Builder until it will work under 3.6. Scott gave me another clue there too: the 3.7 image automatically calls initialize on objects when they are new'd...which Morphs do in 3.6, but non-Morphs do not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109847832133014437?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109847832133014437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109847832133014437'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/squeak-change-sets.html' title='Squeak Change Sets'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109840808919481475</id><published>2004-10-21T17:59:00.000-07:00</published><updated>2004-10-21T18:21:29.193-07:00</updated><title type='text'>Merging headaches</title><content type='html'>Looks like I was asking the wrong question last week when I asked about running Jasmine under the 3.7 VM.  As everyone said, that is no problem, the Jasmine image runs just fine with the 3.7 VM.  But Scott's code relies on infrastructure in the 3.7 &lt;b&gt;image&lt;/b&gt;, not the VM.  Infrastructure which does not exist in the Jasmine image.  Oops.  So, I spent today alternating between:&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Failing to get Scott's code running in the Jasmine image.  I was able to chop out most of the references to horizontal scrollbars, but ran into an unknown message that I cannot track down. &lt;br /&gt;&lt;li&gt;Failing to get Jasmine to run in Scott's 3.7 image.  I thought doing a file out on all the Croquet catagories might work, but the Croquet image has changed some of the basic Squeak syntax rules to allow calls like gl glVertex(0.0, 0.0, 0.0), and I don't know how to get those changes into the 3.7 image.  So I just get lots and lots of syntax errors.&lt;br /&gt;&lt;li&gt;Being really really surprised when I did the following: file-in one of Scott's .cs files, immediately file-out it, then close Squeak w/out saving, reopen Squeak, file-in my new .cs file and presto - a stream of errors.  I don't know if this is a bug in Squeak, something really weird with Scott's change set, or, more likely, my mental model of how change sets work is completely wrong.&lt;br /&gt;&lt;/ol&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109840808919481475?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109840808919481475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109840808919481475'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/merging-headaches.html' title='Merging headaches'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109820916219295056</id><published>2004-10-19T10:46:00.000-07:00</published><updated>2004-10-19T11:06:02.193-07:00</updated><title type='text'>We're going for it</title><content type='html'>Not yet fully blessed by the powers-that-be, but it looks like we are going to push ahead with using Croquet as the technology behind our IT &amp; Humanities project.  It's been a tough choice (and one I know I still might live to regret), but Croquet wins out by: being open sources; having a vision that is closely aligned with ours; and seeming to be on the road to developing a vibrant user community. Fingers crossed.&lt;br /&gt;&lt;br /&gt;First step is to get Orion up to speed on Squeak. The cursing you hear in the background is him learing the new keyboard combinations. Not that I am much farther along the learing curve than he is.  Scott spent the summer teaching me to become one with Squeak, but my instincts are still java/perl/c++ based.  Right now I am tweaking Scott's UI on the Gallery Builder to suit my more Window's flavored preferences.&lt;br /&gt;&lt;br /&gt;The goal is to replace Torque in our demo by the end of the month, in time for our next meeting with the Stanford Humanity Labs folk.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Interesting things to try:&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;File-out'ing the Jasmine code and running it in the 3.7 image, with the Gallery Builder.&lt;br /&gt;&lt;li&gt;Putting the Gallery Builder into a project and openning it inside of Jasmine.  This will be amazingly cool if it works.&lt;br /&gt;&lt;li&gt; Writing some SUnit tests.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Community Developements&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://jlombardi.blogspot.com/"&gt;Julian has a blog&lt;/a&gt;.  Yay!&lt;br /&gt;&lt;li&gt;The Squeak guys at Georgia Tech have set up a &lt;a href="http://minnow.cc.gatech.edu/croquet"&gt;Croquet wiki&lt;/a&gt;. I suspect this will become the defacto offical one.&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109820916219295056?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109820916219295056'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109820916219295056'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/were-going-for-it.html' title='We&apos;re going for it'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109774269326403239</id><published>2004-10-14T01:19:00.000-07:00</published><updated>2004-10-14T01:31:33.266-07:00</updated><title type='text'>Reminders &amp; torrent</title><content type='html'>Need to remember to talk to David S about his blog post: &lt;a href="http://croqueteer.blogspot.com/2004/09/walkthrough-in-croquet.html"&gt; Walkthrough in Croquet &lt;/a&gt; - this seems very closely related to what we are trying to do with our Gallery Builder.&lt;br /&gt;&lt;br /&gt;Also, need to figure out how to persist changes to a world.  SolarCroquet could save images with a running Croquet window, TeaTime could not...according to the wiki, Jasmine is like TeaTime in this regard, but I need to confirm for myself.  Also examine the export &amp; import functions...I believe they are used for caching models, but maybe that can also save an entire space.&lt;br /&gt;&lt;br /&gt;People are definately interested in Croquet.  In 48 hours my torrent has uploaded 35 copies worth of data to other downloaders.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109774269326403239?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109774269326403239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109774269326403239'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/reminders-torrent.html' title='Reminders &amp; torrent'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109772969274023167</id><published>2004-10-13T21:28:00.000-07:00</published><updated>2004-10-13T21:54:52.740-07:00</updated><title type='text'>Blogs</title><content type='html'>My last post mentioned Takashi Yamamiya's blog &lt;a href="http://propella.blogspot.com/"&gt;Squeak Everyday&lt;/a&gt;, which served as the final bit of motivation to get me to start blogging my Croquet experiences (which I wish I had been doing over the summer - I think if I had been expressing my problems a bit more publicly we would have resolved the communication issues much faster).  Anyway, more important than inspiring me, Takashi's blog also inspired David Smith, Croquet's project lead, to start his blog &lt;a href="http://croqueteer.blogspot.com/"&gt;Croqueteer&lt;/a&gt;.  I think this is great way to communicate. It helps build up a sense of community, and I know that it is a real comfort to those of us building projects on top of Croquet, to have an idea of what the dev team is thinking about.&lt;br /&gt;&lt;br /&gt;I found out about David's Blog on the page of Croquet links Julian Lombardi (U of Wisc) is putting together &lt;a href="http://opencroquet.org/links.html"&gt;here&lt;/a&gt;.  I have asked him to put a link to this blog up there too...which makes me nervous, but I figure if I expose my ignorance to the world I will learn the truth faster.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109772969274023167?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109772969274023167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109772969274023167'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/blogs.html' title='Blogs'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109772812862745972</id><published>2004-10-13T20:01:00.000-07:00</published><updated>2004-10-13T21:28:48.626-07:00</updated><title type='text'>Day2</title><content type='html'>Well, my day two impressions are mixed.  Jasmine has lots &amp; lots of bugs.  Seems like I cannot go for more than minute without doing something that pops up one of those cute debug dialogs. But, they are doing an amazing job of responding to bug reports and fixing things ("They" being David Smith, Andreas Raab &amp; Mark McCahill).  They fixed one of my bug reports within 12 hours.  This is exactly why it was so important to me (and them too, I am sure), that they get out a public release. A small group just keeps repeating the same tests.&lt;br /&gt;&lt;br /&gt;They could use some automated tests to help avoid regression thou.  Takashi Yamamiya mentions in his &lt;a href="http://propella.blogspot.com/2004/09/croquet-unit-test.html"&gt;blog entry&lt;/a&gt; that he got a Croquet Unit Test runner working with TeaTime (which then changed breaking his code) and that he has started porting all his work over to Jasmine.  Very exciting.  &lt;br /&gt;&lt;br /&gt;I am told that Takashi (a core squeak developer) is working on a Croquet game project, Chain Reaction, with Yoshiki Ohshima (ditto re: squeak, out of U of Kyoto) &amp; 3DSolve (a North Carolina simulation and learning software company).  I should find out more about this project.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109772812862745972?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109772812862745972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109772812862745972'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/day2.html' title='Day2'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109761495960117623</id><published>2004-10-12T13:54:00.000-07:00</published><updated>2004-10-12T15:00:43.283-07:00</updated><title type='text'>Jasmine under Squeak 3.7</title><content type='html'>Good news from the mailing list.  Jasmine should work under Squeak 3.7.  That is good for my project, because over the summer we had a squeak contractor (Scott Wallace, one of the original Squeak developers, and all-around good guy) build a great 2D gallery construction tool, which uses some 3.7 specific tools.&lt;br /&gt;&lt;br /&gt;This is potentially doubly good, since the reported lack of upward-compatability has been a concern of mine about squeak in general. I suspect I have not fully grokked the relationship between an particular VM and a particular image.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109761495960117623?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109761495960117623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109761495960117623'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/jasmine-under-squeak-37.html' title='Jasmine under Squeak 3.7'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry><entry><id>tag:blogger.com,1999:blog-8692218.post-109760751842513397</id><published>2004-10-12T11:26:00.000-07:00</published><updated>2004-10-12T14:57:16.836-07:00</updated><title type='text'>Jasmine: First Look</title><content type='html'>This blog will be about my experiences evaluating the Jasmine release of OpenCroquet (ie: The Croquet Project) for the &lt;a href="http://www.citris-uc.org/"&gt;CITRIS&lt;/a&gt; &lt;a href="http://www.citris-uc.org/hosted/projects/ith/"&gt;IT &amp; Humanities Project&lt;/a&gt;. I am just relating my impressions &amp;amp; observations, in no way to I speak for the Croquet development team.&lt;br /&gt;&lt;br /&gt;I first attempted to evaluate a pre-release version of TeaTime 4 or 5 months ago &amp; found it unacceptably fragile. I then spent some time with SolarCroquet, which had been used for creating all the demos that the Croquet team has been showing for the last year. I found solar a little rough, but basically stable, and a joy to use compared to TeaTime. Unfortunately work on Solar had stopped in preference to TeaTime, so the odds of ever getting the bugs that were in Solar fixed seemed slim. I decided to evaluate other approaches.&lt;br /&gt;&lt;br /&gt;Fast Forward to now. The Croquet team has wisely decided to split their efforts: TeaTime has become MadHatter, and continues as a research branch; SolarCroquet has been brought back from the dead, gotten all the TeaTime advances that can be safely backported to it, polished considerably and just released to the public yesterday as Croquet0.1 aka Jasmine. Very exciting. The plan seems to be to ripen the advanced networking features in MadHatter, and move them into Jasmine once they are stable, while attempting to maintain upwards-compatibility.&lt;br /&gt;&lt;br /&gt;Honestly, the most exciting change I have seen so far is that a week ago the dev team started using a &lt;a href="http://bugs.impara.de/main_page.php"&gt;bug tracking system&lt;/a&gt;. This shows that they are serious and it is a great way for the rest of us to see what they are working on, their rate of progress, etc. The U of Wisc guys have also set up a &lt;a href="http://atswindev.doit.wisc.edu:8888/croquet"&gt;Croquet wiki (croquet/any0ne to access (0=zero))&lt;/a&gt;, which is a great idea, but so far no one is using it.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8692218-109760751842513397?l=crnci.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109760751842513397'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8692218/posts/default/109760751842513397'/><link rel='alternate' type='text/html' href='http://crnci.blogspot.com/2004/10/jasmine-first-look.html' title='Jasmine: First Look'/><author><name>tao</name><uri>http://www.blogger.com/profile/09460252633757102595</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></entry></feed>
