Wednesday, April 22, 2009

Thinking about annotation: LabelMaker and SLateIt


No comics, honest guv. This is one of the LabelMaker implementations (7 prims) based on Torrid Luna's very nice pfText. Basically you have 25 characters to play with. Text is entered in the description field using alternating space and hash characters to pad words so lines wrap tidily. You then chat /3update and the yellow pfText appears.

An image can be dragged onto the larger rectangular area (use a transparent texture otherwise) and a notecard is given if you touch the circular Touch for Info area. Needs a bit of polish really but might be of use to someone as-is. Let me know.

One though that struck me with Murku is that it would be nice to have the captions rez inworld as labels. An alternative might be to use HUD-based text that appears to move to the object but is, in fact, just moving across the HUD (of course, you already get description field text appearing as a mouse tooltip).

The HUD here is the open source version of SLateIt by Babbage Linden (slurl). It allows avatars to score objects, ratings (in this case a green 0 on the third character) being displayed using the HUD. Data are stored on a server. You can't see it here but the HUD rating flits between all the objects in the near proximity.

Thinks...

Tuesday, April 21, 2009

Not even funny (Famous for 0.5 seconds)

Well, "famous" might be a major exaggeration but whatever it was that surfaced from JK's slide on the (work-in-progress) metabolic browser at today's JISC conference, it seemed suitably fickle and transitory.

On the basis that one has to practice not being funny, I have resorted to Murku again. It comes with a behavior palette that makes it easy to emote to order though I couldn't figure out a way of getting the avatar onto the displayboard area without obscuring the text.

Of course, one should never, ever poke fun at the possible discomfort of others so this is most definitely Not Even Funny. Anyway, thanks to John, Kate, Kath and many others for their twittering at the conference. John, of course, does a fantastic job for Eduserv in tracking UK VW efforts, not least via his reports and podcasts.

There is such a lot going on in virtual worlds at the moment and I'm sure much of it was captured at the JISC conference. I should, however, record that:
  • I finally made it into Metaplace (of which more anon),
  • ExitReality is apparently being hooked up to BlackBoard and Moodle (interesting given the focus on web integration; via VWN),
  • John Fillwalk from the IDIAA at Ball State University is getting an award for his SL work which includes coupling it to BlackBoard (they're actually one island along from us though we have yet to meet),
  • Qwaq Forums has been upgraded (via VWN),
  • Google hasn't given up on 3D entirely as per their browser-based but presently avatarless O3D demo (via Rich White),
  • SLOODLE (Second Life/Moodle) is now freely available via Free Hostia.

Saturday, April 18, 2009

Not even funny (Murku The HUD)


In this case I'm not highlighting the image so much as the captioned text. I've mentioned previously an interest in using builds as subjects for cartoons (not a novel concept, I know). Now Deep Semaphore has brought this inworld with the Murku HUD. Currently free, this provides a window (see image below) that can be used to overlay the camera view or, via a displayboard, snapshots (from web pages if you are saving money) so you can create and position chat bubbles, etc. It takes a little getting used to (I nearly had to read the instructions) but your perseverance pays off in the end. There is currently a competition underway (ends in 7 days).


Compared to standalone software, it is doubtless a little crude but the "do it (almost) all in one place" approach is quite appealing and, I suspect, the eventual cost highly affordable. The HUD itself testament to the difference made by touchpos functions in LSL. I'm wishing someone would make a HUD developer kit.

As for the cartoon, it attempts to reference the legendary/mythical radio game called Mornington Crescent in which players attempt to be the first to get to the eponymous London Tube station, allegedly following various arcane rules. Of course, if you have to explain your joke, it is most definitely Not Even Funny. Still, not entirely a bad fit for the metabolic map browser shown in the background.

Thursday, April 16, 2009

Sculpted megaprim macrophage


I decided to try sculpted megaprims for yet another version of the macrophage. I hadn't appreciated that the recent upgrade to the physics engine had meant that sculpties of all sizes were a little more amenable than hitherto and thus candidates for the build. The image shows a megaprim version on the ground and the "conceptual" version floating above it. You will have to imagine the slowly rotating texture on the megaprim version.

I hadn't appreciated, for example, that sculpties can now be reshaped and hollowed through the standard user interface and they no longer impose the bounding box of the parent prim so making them phantom is optional (though inside out sculpties strangely seem to be phantom on the inside but not the outside, at least in my hands).

However, you still can't reliably resize most sculpties without their shrinking to a 10 x 10 x 10 m (though Ctrl-Z works for me on Windows to undo single prim resize disasters).

The resizing issue is mitigated somewhat by the availability of various megaprim packs but for convenience there is little to beat the freebie SALT HUD. This allows you to chat requests for prims of a specific size and you are either sent the prim or it shows a list of those available that are a close match. I'm not sure whether it tries the various size permutations automagically but I suspect either it does or its repository is especially well-stocked.

Finding a suitable texture is proving a little harder, not least because I would like to animate it and the rotation script doesn't play nicely with modifying the number of repeats. In my hands at least, textures also seem to apply to only one face, the other being transparent. This isn't too much of a problem as you can nest one prim within the other and set the inner one to inside out. If you set the inner one to semi-transparent, you can then see out, even if the outer one has an opaque outer surface. On my home PC with a mid-range graphics card, setting a value for bumpiness had a profound and interesting effect on some of the textures and may be worth experimenting with further. Low end graphics cards seem unaffected.

One thing I have wanted to do is to simulate the crowding effect in cytoplasm (as shown in David Goodsell's marvellous illustrations) and I tried this originally with sculpties. It was a good way to crash a sim (or was it the client? I prefer to forget) but otherwise largely unsuccessful. Although in many ways only quasi-immersive, particles are still worth exploring in this regard. The image below is of the interior of the macrophage with a cloud of ribosome particles rezzed at this stage mainly for fun rather than any scientific intent.


Finally, neither the Allosphere nor the Interactorium will come as a surprise to anyone working on metaversal dataviz; marvellous aesthetics in both cases.

Wednesday, April 15, 2009

Taking bacteria to the sculpty macrophage


The idea is that your avatar should be able to carry a bacterium (represented as a coloured rod) through the sculpty macrophage and different things will happen to the rod and the build depending on which species the avatar carries.

While it is easy enough to "wear" a rod representing the bacterium, I wanted the avatar to hold it in front so it was readily visible. Eloise helpfully suggested I use the handgun animation for this as it is widely employed for carrying drinks etc as well as guns. However, the BotWalker (from the Guided Tour Company) didn't seem to reference it which might have been due to its looking for a specific file in the poseball/vehicle (as it does for standard walking, for example). As the handgun animation/pose is a builtin, there is no corresponding file in the inventory Library but you can download all the animations in a zip file from the Linden Lab (LL) wiki. However, for some reason, I then couldn't get the handgun animation to play nicely with the walk animation. This might be due to the priority settings I chose during upload but I suspect the BotWalker may only be able to deploy one animation at a time.

Accordingly I downloaded the Qavimator program and created my own animation as a modified version of the default LL walk. This was a little tedious but the trick overall seemed to be to orient the avatar starting with the collarbone, then the shoulder, forearm and finally the hand. Then save the file with the .bvh extension or the LL client couldn't see it to upload. I removed the easing in/out timings during upload as these seemed as though they might complicate matters and I then set the animation to loop. This worked OK after a little trial-and-error taking/replacing BotWalker poseballs with the updated animation as well as doing the standard edit cycle for the poseball script. The bad news was that the bacterial attachment was still in the wrong orientation, i.e. horizontal rather than vertical.

The idea was that the bacterium (rod)-shaped prim should be obtained from a rezzer adjacent to the macrophage entrance. The (not quite) final step then was to script the rod so that it requested permission to attach when touched and then rotated into position so it didn't intersect with the avatar. This used LSL wiki code from here and here, the latter code being placed in an attach event. Getting rid of the attachment presently involves rightclicking and selecting Detach.

I still need to script the interaction between the attachment and the build but otherwise we are nearly there. Whether this survives in the long run is debatable. It is a lot of work for the avatar for relatively little return. For me, it has been an opportunity to learn a little about avatar animation and attachments. I'm sure that will come in useful at some stage.

Tuesday, April 14, 2009

Sculpty macrophage walkthrough, v. 0.1




First caveats: this is very much a first attempt with the technology -- it's incomplete and I'm not happy with the user experience or the science. I'm sharing as others might want to use the same approach or, indeed, avoid it.

The walkthrough was created using BotWalker II from the Grand Touring Company. I have something of a love-hate relationship with this tool based, I suspect, on incomplete documentation. As with the tandem bicycle on the genome, it allows you to create a path that subsequent avatars will follow. In the case of the BotWalker, the vehicle is hidden and the avatar can be animated so that it appears to walk. Pauses can be introduced and the vehicle can issue commands via chat so interaction with other parts of the build is possible (this can also be done using sensors). The process of editing the path is straightforward if a little tedious.

Problems encountered include a tendency to return to the start when the next poseball is rezzed. I managed to circumvent this by specifying a longer delay in the base station. Attempts to edit the default parameters, notably the speed, for the poseball have been less successful. Orienting the avatar at the start has also proven problematic and I haven't figured out a way to automate dismounting from the poseball at the end.

It doesn't show especially well in the movie but the phagocyte extends a little in the direction of the avatar before opening. The phagosome (orange) has a simple follow script (from the LSL wiki) so tends to lag a little behind the avatar. It turns transparent on encountering the blue lysosome with which the phagosome "fuses" by default. There is then a little chat-activated, time-limited particle lightshow to signify activation of killing functions before the avatar quits the cell.

In science terms I haven't checked issues of mode of entry, scale or, for example, the number of lysosomes likely to fuse with the phagosome and, indeed, how phagosome and lysosome encounter one another. While some will be hard to model, they are all interesting questions that are easy to ignore in textbook illustrations and PowerPoint slides.

The metaphor of a walkthrough is useful in so far as it allows avatars to ignore the poseball and just follow the red walkway but the notion that there is a tunnel through the cell is probably unhelpful and most of the build presently reacts only to the BotWalker. Having some additional organelles present would also be a plus.

For reference, the video was made using Play Claw on the half-frame setting, compressed using the AVS Editor (YouTube setting) and then uploaded to Vimeo. That's at least one compression step too many. The avatar was wearing a followcam rather than using the default camera.

Monday, April 13, 2009

The sculpty macrophage

The macrophage has historically had pride of place in the study of the persistence of Mycobacterium tuberculosis, most notably in the ability of the bacterium to prevent the fusion of phagosome and lysosome.

I am somewhat at a loss when it comes to custom designed organic-shaped entities. This one is built out of sculpties from three of Cel Edman's packs (including the freebie one; slurl). It doesn't change shape per se but the animated texture gives an impression of surface movement. It isn't presently a close facsimile of the real thing; if anything, it derives its inspiration from the slime mould Dictyostelium.

None of the mechanics are worked out yet but one idea is that the avatar carries a bacterium into the macrophage as an attachment and the outcome for the bacterium will vary depending on the species. I think this is a topic I will return to many times and in the first instance I'm not aiming for a lot of depth and I suspect it will have to be one-person-at-a-time going through.

Saturday, April 11, 2009

Alveolus: watch this space...


So you take the Pipe down from Cityscape to Cellscape and you find yourself in a big geodesic dome that represents a lung alveolus.

There isn't much to see at present, just a light-green sphere representing an alveolar macrophage at roughly the same scale and (barely visible here) some red bacilli of Mycobacterium tuberculosis, again at the same scale. While the build may seem a little trite, it is actually rather rare to see models to scale like this and already it has me wondering roughly how many macrophages are present in an alveolus, how fast they move, etc.

The pathway out to the right will eventually lead to a simple model of the macrophage. For the moment it serves mainly as an escape route for the unwary noob avatar who might otherwise be trapped!

Wednesday, April 08, 2009

Playing on the Porgan

I suspect the macrophage build will have more than its fair share of particle effects, at least until I tire of them. My present enthusiasm is based on yesterday's purchase of Jopsy Pendragon's Porgan (Particle Organ). Jopsy is famed as the mastermind behind the Particle Lab on Teal. I have been there a couple of times to marvel at the effects and grab a few scripts. I find, however, that unless you know precisely what you want, it is hard to know where to start and hitherto I have largely subsisted by hacking scripts from the LSL wiki.

I won't claim to have mastered the Porgan in the short time I've had it. However, I do like the way it has brought many of the topics covered at Teal into a single console. The help is good enough to get you started (but lacks much by way of labelled images) and thereafter it is largely a matter of playing with the settings, in many cases using nice draggable or touchpos user interface widgets. The Porgan comes with a number of presets (I wish there were a few more) and working from these is probably best for the novice.

I wanted an effect whereby calcium ions would appear to zoom into a space.

I used the Blackhole preset (accessed via the Book under Misc) in which white particles appear to get sucked into a black cloud. The presets are rezzed on an adjacent pyramidal stand and an important point to note is that they may comprise more than one particle effect. Effects can be switched off selectively and I did this to remove the black cloud so I was left with the white particles appearing to move inward.

I wanted to replace the particles with a partially transparent texture. Not having Photoshop or Paintshop, I used Paint.NET to create a 256x256 image with a transparent background to which I added a layer with the desired text. I then saved that in png format and uploaded it to SL.

The workflow thereafter runs from left to right. I Ctrl-dragged the texture onto the labelled space on the console and magically my texture replaced the white blobs.

I played around with the other settings so that the images shrank and faded as they moved in before ultimately disappearing.

Moving onto the centre console, I adjusted other parameters such as age, rate and burst radius. Doing this interactively (the display changes almost immediately) is so much easier for the beginner.

The righthand console controls aspects such as targetting the particles and the shape of the path.

The final step is to touch the Copy option. This should really be labelled Chord as it rezzes a link set of three prims called a chord, each of which has one of the effects from the version on the stand (it appears to only copy those that are active which is usually what you want). You take the chord into inventory and then deploy it. You can unlink the chord (which is largely modifiable) but you then lose the useful property of being able to reload the effect back into the Porgan (another Ctrl-drag operation). There is also the option to generate conventional scripts via the web.

Where you want the particles to target another prim, you need to go and grab a script from Teal to go into that prim (there is a gallery devoted to targetting just off the sandbox). This is currently a weak link for novice users; the Porgan should be doing this in my opinion.

Overall though, I am very satisfied with the Porgan which seems to be an excellent tool for getting the intermediate user engaged with the dark arts of the particle.

Tuesday, April 07, 2009

First thoughts on the macrophage

The build above represents my first thoughts on the macrophage in the context of TB. At one level the story here is quite simple. Mycobacterium tuberculosis avoids destruction by blocking fusion of the phagosome with the lysosome wherein are located killing mechanisms for bacteria. The host raises its game by activating the macrophages but in some cases a proportion at least of the bacteria survive and the host walls them off in granulomas. So long as host immunity remains strong, the containment continues though there is always the possibility that reactivation may occur. With HIV infection, that probability is a high as 10% annually.

What isn't fully understood is the detailed mechanism of the fusion block and the range of survival strategies used by the bacterium to persist in the macrophage. Accordingly, I decided to make the build more conceptual than representational and put it in the data-oriented Bioscape rather than Cellscape (though I need something there too).

I've opted initially for a more immersive style, if only to add variety. The image shows, for example, multiple entry pathways into the macrophage depending on the surface receptor used. The pathway used is not without consequence in terms of triggering defence mechanisms. The eventual build is likely to be much larger and visitors should note that it will probably be a while before anything worth exploring is available.

While moving into the build is intended to reflect the spatio-temporal progression of the bacterium within the macrophage, I'm undecided as to how to use the vertical walls. Those blocking the avatar path might represent compartments and/or macrophage defence mechanisms that the pathogen must subvert while the lateral ones could either be more informational and/or represent other contextual features beyond the macrophage such as T-cells. Either way, the walls are likely to be dynamic.

At present there are two levels. I'm wondering whether I should use this to reflect the state of the host and pathogen or different states of the macrophage, e.g. post-activation. I can't rule out using the z-axis to represent alternatives later in the build so I am presently a little ambivalent on this.

The avatar rides a two-seater hover platform (the "HoverBug") modified from the examples accompanying Jeff Heaton's book and available inworld from Encogia (slurl). The particle jets were generated using Jopsy Pendragon's rather splendid Porgan 1800. I am rubbish at particles and the Porgan, while not cheap in SL terms and with some limitations, makes their production significantly faster.

At present the bug's inventory can be loaded via avatar inventory with prims rezzed from the giant genome and elsewhere. The idea is that these represent virulence factors (VFs) that interact in some fashion with the build. VFs are selected using a dialog with the one currently chosen shown as temporary hovertext on the bug. Eventually I'd like the bug to reflect its current state and host interactions in a little more detail but this will have to do for starters.

How might this be used with students? Well, they could use the build as a maze, deploying VFs to negotiate the vertical walls. I wonder if this approach will be too 'clunky'/boring? Adding a game element (a health status for the bug maybe) might be worth considering. The VFs are, I guess, the equivalent of weapons though my gaming expertise is very limited and dated.

An alternative might be to leave the platform/bug in a particular state/location and ask students for their interpretation of events past and present; a distant analogy here is to the impressive Kristallnacht build (slurl).

Bugs could also be preloaded and/or carry the products of mutated genes. The macrophage might likewise be customised or augmented. Given the capacity for personalization, there would be merit in bringing the students together for debriefing.

I think it worth persevering with this a little as the movement of pathogens within cells, be they bacteria or viruses, is a significant topic. Having said that, hitting the right balance between complexity and intelligibility without overinterpreting current knowledge is a major challenge.

Ultimately it would be good to see student-generated builds of this type. I've just registered for a trial hosted PIVOTE account with Daden and it may well be that this will play a significant (*cough* pivotal?) role in future developments. We shall see...

Monday, April 06, 2009

Castaway?

With a little help from friends, I managed to setup an extension to our island. Avatar Tobias Novi from Mycenae has developed a range of islands that are basically linked prim sets that can be pushed over the sim boundary provided one invisible prim stays inworld. This is the least expensive model to which I have added the fire and seating. The mini-islands are copy/mod and you have to manually add any additional items to the linked set.

The landscaping is done using a sculpty and the trees on the island are similarly low prim but very nicely done. There is an optional soundtrack to add to the ambiance.

However, it is worth noting that you can only reach the island by sitting on the furniture from a distance and standing up subsequently tends to pop you into adjacent water if your sim is surrounded by sea. I put a platform under the water and a couple of rocks to mark the spot.

We initially also had problems with chat. It turns out that this only works up to 20 m from the edge of the normal sim so you need to adjust seating accordingly. Placing the mini-island at the furthest extreme on one corner of the sim led to its being returned when I relogged.

Judging by the steady stream of avatars on Mycenae while I was there, this is potentially quite popular. I haven't quite decided on whether this is a useful addition or not. I like the idea that there is some visual cue for the edge of the sim (that helps people in boats) but it is a little non-intuitive if you can't get there by normal flight.

Friday, April 03, 2009

Don't teleport, use "The Pipe"

Cityscape and Cellscape are only 100 m apart vertically so it was straightforward using Pipemaker to construct a tube to connect the two. The result is not especially pretty and there is no pretence at being anatomically accurate. However, the analogy is clearly to passage of the TB bacterium into the lungs and I may in due course add detail on issues such as the mucociliary escalator. While the descent is steep (as shown in the image from inside the pipe), various kinks mean that it is not for the most part freefall so there are opportunities for pausing on the way down.

The Pipe will deliver avatars to the phagocytic cells that defend the alveolae. Modelling the interactions and alternative outcomes is going to be challenging in the time available.

A second pipe impelling the avatar/bacterium upwards out of the lungs and back to the Cityscape is also a possibility.

In addition to the teleporter, there is also a commercial-quality, three-person lift/elevator. This also seems a little underexploited so I may add some platforms and posters in due course, possibly on the theme of microscopy which seems to tie in well with the transition between levels of detail.

While the representation of phenomena may not always be accurate (as with many textbook diagrams), we can use this as an opportunity to encourage students to be critical and raise questions while hopefully at the same time engaging and intriguing them.

Blog Archive

Please note...

Second Life, Linden, inSL, SL, and SLurl are trademarks of Linden Research, Inc. As you might have suspected, this blog is in no way affiliated with that company. Moreover, the thoughts imparted here are, naturally, my own unless otherwise indicated and do not necessarily reflect those of my employer. Finally, I wish to assure readers that few if any unicorns were even mildly discomfitted in the production of this blog. Your mileage may, of course, vary.