jump to navigation

The Parallel Selves Message Bridge February 4, 2009

Posted by justincc in opensim, opensim-applications, opensim-modules, psmb, secondlife.
trackback

Introduction

Late on Monday evening (GMT) I published my first external OpenSimulator region module (i.e. one that is not bundled as a core OpenSim component).  This module is the Parallel Selves Message Bridge, and it’s available in binary and BSD licensed source code form at the OpenSimulator forgeShenlei has already written about it from a user’s point of view – this post is to give some more background and technical information as to exactly what it is.  I’ll also write again soon about my experiences in creating the module itself and where I think OpenSim’s region module system needs to improve.

The Basics

The Parallel Selves Message Bridge (PSMB) can be used in a standalone OpenSimulator instance to exchange instant messages with people in another Second Life compatible target system.  The target system can be another OpenSim standalone, an OpenSim grid or even the Linden Labs Second Life grid.  The bridge works by relaying messages through an avatar account that you already have on the target system (hence the name Parallel Selves).

For instance, suppose that I have an avatar called Fenn Meredith on the Linden Labs grid.  Fenn has a very good friend called Lulworth Beaumont on that grid whom she would like to keep Instant Messaging throughout the day.  However, Fenn also wants to do some building work on a local standalone OpenSim instance and doesn’t have a powerful enough machine to keep two Second Life clients open at once.

How can Fenn keep chatting to Lulworth?  One way is to use a text only client to remain connected to the Linden Labs grid, such as Katherine Berry’s AjaxLife or Linden Lab’s own forthcoming SLim client.  But in this case Fenn really wants to be immersed in the building work that she is doing – he doesn’t want to have to flip between applications every time a new IM comes in.

This is where the Message Bridge comes in.  Once the module is installed (which involves copying a dll to OpenSim’s bin/ directory and making a few configuration changes), Fenn logs in to her local OpenSim.  She then types

/bridge co mySLPassword

into the client’s chat area (this chat is intercepted by the PSMB module – it doesn’t get spoken in world).  The module uses the password to login the existing Fenn Meredith account on the Linden Labs grid using libsecondlife.

psmblogin

Once that avatar is logged in, the friends list from the Linden Labs grid is imported into the local OpenSim instance, creating an entry for Lulworth Beaumont in the client’s Contacts window.  Fenn can then work in her OpenSim standalone but still send and receive instant messages from Lulworth using the normal Second Life client IM interface.

psmb-from-os

psmb-from-sl

Limitations

We’ve had this module running internally with Black Dress Technology for a few weeks now and it has been working pretty well.  However, it does have quite a few limitations, some minor that could be overcome with a bit more coding, some much more major.

Among the minor issues is the requirement that both the target the source system avatars have the same name.  The module also only allows one target system to be specified rather than multiple.  Problems like these can be overcome with a little bit more coding.

The more major issues stem from the fact that the module requires you to connect parallel avatars in order to relay Instant Messages.  This is a kludge – a much better way to transfer Instant Messages would be through a proper gateway that didn’t require a user account on each individual system.  As far as I recall the Linden Lab sponsored Architecture Working Group was looking into this, though it could be some time before we see any results.

The parallel avatar requirement makes it difficult to get this approach to work from an OpenSim grid (rather than from just an OpenSim standalone).  Quite a lot of extra coding could get it to work from a single region server on a grid.  A lot, lot more coding again could probably get it to work for an entire grid.  However, there are major trust concerns in getting this to work on a grid – region servers either end up with your target avatar password or have access to the connection you establish.  On a completely private grid this might be okay (presuming that you trust the grid operators completely or you run the grid yourself).  On a commercial closed grid or an open grid where third parties are operating region servers the trust issue is probably insurmountable.

The future

The PSMB module has proven useful already, and with a bit more work it could become useful to more people.  Even where it isn’t useful, there’s always a chance that it might add a tiny bit more impetus towards the eventual goal of a proper IM exchange system between virtual environments.

In the mean time, patches and feedback on the PSMB project page are most welcome.  I would consider the code to be at an alpha level right, so any information about bugs would be appreciated.

I can’t guarantee how much additional work I’ll be able to put in for features unless there’s something that I really need, but I always find that constructive user feedback and requests provide a great motivation for doing additional work.

Comments»

1. Dale Innis - February 5, 2009

Good stuff! There’s been alot of talk about inter-Grid messaging in the AWG, with different proposals coming and going. But having a real live working region module that actually does something 🙂 is a wonderful thing. Rough consensus and working code beats lots of talking any day…

2. Message Bridge - IMs between grids - SLUniverse Forums - February 5, 2009

[…] […]

3. JenniverQ - February 6, 2009

Just a minor concern perhaps, but when “The module uses the password to login the existing Fenn Meredith account on the Linden Labs grid” does that mean Fenn is standing, bot-like, somewhere in SL… deaf to the local chat?

4. Kwame Oh - February 6, 2009

will do my modification on my client and have a go at this, sounds fantastic to me, and I feel one more step in what the ultimate goal as I see it is, communication vie any Platform/hardware to and from Organic and Virtual, any time any place.

Well done you pioneer you “grin”

5. Kommunkation zwischen OpenSim und Linden Lab Grid per Instant Message » Palloo Petrov - February 6, 2009

[…] einem Modul von Justin Clark-Casey ist es möglich zwischen Second Life-Kompatiblen Welten zu kommunizieren. Es nennt […]

6. justincc - February 6, 2009

@Dale – Thanks. Even though this isn’t the approach anyone would ultimately want to take for proper inter-virtual environment IM transfer, I think it’s quite good for showing how things could be like in the future (as well as being useful for some people right now).

@JenniverQ – You’re right. In fact, Fenn is a both deaf to local chat and is a cloud of gas, since I’ve not got libsecondlife/libomv to send back a baked appearance.

The cloud of gas issue might be resolvable – I think a lot of the bot programs using libsecondlife have a normal appearance, but I haven’t really done much programming with it before, so I don’t know how that’s done yet.

I also think that it should be possible to route local chat through to the OpenSim standalone (though I don’t know that for sure yet). However, even if it is then other issues start to crop up, such as not knowing who is around hearing your chat on the target system end, etc. This makes things awkward.

@Kwame – just to be clear, this is an OpenSim server plugin rather than a client-side modification (unless you are talking about changing code in the client, in which case perhaps even more interesting things could be done).

Nice to learn about http://www.sllondon.com/ – I’m about an hour away from London so I might be able to pop along to one of the meetups one day 🙂

7. Parallel Selves Message Bridge - IMs between grids - SLUniverse Forums - February 6, 2009

[…] […]

8. PT-CODE » Destaque » OpenSim:”Instant Messages” para Second Life… - February 6, 2009

[…] projecto OpenSim  conta agora com uma nova funcionalidade para a interoperabilidade.  O developer Justin Clark-Casey largou o sistema “Parallel Selves Message Bridge” através do qual os utilizadores de […]

9. Makers of Universes. A Directory of Immersive Things » Blog Archive » Parallel Selves and cross-world interactions - February 8, 2009

[…] Parallel Selves Message Bridge is a new addition to the code forge of OpenSimulator, the “Apache for virtual worlds” […]

10. Prokofy Neva - February 16, 2009

Um…so wait. I have to give you my SL password? Why would I do such a destructive thing so you can get at my money and content? Are you daft?

I’m also interested to know, if I happen to be chatting with another avatar who opts to use your bridge and chats to it, whether my speech and profile data and such is scraped and put into the maw of your chatbridge even though I haven’t opted to use your chatbridge. You know, within 96 meters.

11. justincc - February 16, 2009

Hi Prokofy. The PSMB module does indeed require the target system’s password in order to log in the parallel avatar. Therefore, it’s really of most use from source OpenSimulator systems which you run yourself or completely and utterly trust the person who is running it (which is probably a pretty rare situation).

At this point, the PSMB module only transfers instant messages, not general chat. However, even if it were to carry chat, then its access to this information is no different to that of any of the other clients (such as graphical and text only ones) that are allowed to connect to the target Second Life compatible system.

12. the palace of memory » opensim resources - February 21, 2009

[…] Parralel Selves Message Bridge: https://justincc.wordpress.com/2009/02/04/the-parallel-selves-message-bridge/ (makes it possible to be working in your opensim and communicate via IM with people logged in the […]

13. Reflections on Writing an OpenSim Region Module « justincc’s opensim blog - February 27, 2009

[…] of weeks ago I mentioned that I planned to post something about my experiences in writing the Parallel Selves Message Bridge module.  This is that post, albeit a little bit later than planned   It isn’t a region module […]

14. EnjoyMedia - March 17, 2009

Nice post.

15. The Openspace fiasco: six months later « Zonja Capalini - April 30, 2009

[…] Clark-Casey wrote the Parallel Selves Message Bridge, an Opensim module that allows you to IM your Second Life (or OSGrid, etc.) friends while in your […]

16. WhiteStar - May 6, 2009

Hey Justin, Another wonderful enhancement for OS Systems. While OSG is doing the update, I’m catching up on things and decided to implement this, so that I can stay in touch with some friends in another grid.

But it raised a question as I went through the ReadMe for it. Because under [Chat] & [Messaging] (shown below) have to be changed, does this effectively cancel our internal working IM system ? Is there some method by which we can have Both the IM’s from our Actual Grid & have the bridge operational ? Sorry, but I cannot test right now as the OSGrid is in the DB Rebuild Mode and down @ this time.

[Chat]
enabled = false;
[Messaging]
; InstantMessageModule = InstantMessageModule
; — NEXT LINE to use Parallel Selves Message Bridge —
InstantMessageModule = PSInstantMessageModule

17. justincc - May 7, 2009

Hi Whitestar. Because of limitations in our current module system, the PSMB had to replace the chat and IM modules. However, the ones that PSMB supplies are almost identical with the ones bundled with OpenSim, and so normal IM and chat should continue to work.

If for some reason this isn’t the case, then a bug report at

http://forge.opensimulator.org/gf/project/psimb/

would be appreciated.

18. WhiteStar - May 8, 2009

As of this date, with testing, this module seems to be no longer operational. I am filing the info at the forge. This is under OpenSim Server 0.6.4.9395

19. bwild Parx - May 9, 2009

Um hi!

In Second Life DJ’s bring in their voices all the time using the DJ setup info at http://wiki.secondlife.com/wiki/Disc_Jockey#Other_Settings Why not just fireup some pipes from a local icecast stream run run thru a speech-to-text app or text-to-speech like festival, or speex.

20. Rethinking the OSGrid « The Morris Vig Experience - May 21, 2009

[…] the experience she had makes me think it’s worth another serious look, especially as the Parallel Selves Message Grid plugin appears to bridge the gap between SL and the […]

21. The grid is running now the official Opensim 0.6.3 Windows binary and the Parallel Selves Message Bridge! « Condensation Land - November 11, 2009

[…] 0.6.3 Windows binary and the Parallel Selves Message Bridge! By Zonja Capalini You can type “/bridge co yourSLpassword”> and you will be able to IM your SL friends (this only works is your name in Condensation is the […]

22. Now running Opensim 0.6.6.10108 WITHOUT the Parallel Selves Bridge « Condensation Land - November 11, 2009

[…] cause teleport problems to our grid from other grids that are using older releases *sighs*). The Parallel Selves Message Bridge does NOT work with this release — please refrain from using […]

23. Serendipity Seraph - February 19, 2010

Forgive me if I have too much ignorance of the internals. But it seems to me that a better solution might bypass normal SL compatible IM altogether. Why not instead route message through Jabber to any two or more avatars wearing some item that had a viable web connection to a jabber transfer client of some kind. It seem that much of the complication of what you describe comes from needing to persuade the remote systems of your in world presence. This shouldn’t be necessary for just good communication. Also the traffic to/from the webservice could be SSL encrypted. Is there something that would make this not viable?

24. justincc - February 19, 2010

@Serendipity – To bridge with SL, a Jabber solution would still need the ‘parallel’ avatar on the Linden Lab grid to be logged in, so I don’t see how this would change anything.

25. Johne713 - August 1, 2014

nasa, , harold hill fdkcbeakfeag


Leave a comment