Teapot: brewing-up a viewer

Teapot is a Kokua-inspired, SL 3.x-based, viewer for Second Life and OpenSim grids, compiled by Armin Weatherwax (on OS Grid, or ArminWeatherHax Resident in SL). It includes numerous TPV derived functions and capabilities (please refer to the About Teapot pop-up in the viewer itself for additional credits), but is not top-heavy in terms of additional functionality.

The version reviewed here is 0.2.5, released on July 20th.

Download and Installation

Teapot is available in three flavours: Linux 32 and 64-bit, and Windows. The Windows installer is 42.3Mb in size, and downloaded and installed on my PC without any issues.

On start-up, the viewer displays the familiar splash screen, but with a slightly different approach to grid support.

Grid list pull-down and New Grids button

Clicking the arrow next to the grid name field will display a default list of popular grids, as per most other viewers that support OpenSim. However, if the grid you wish to log-in to is not displayed in the list, you can click NEW GRIDS. This will display a more complete list of grids (some 168 with this release of the viewer) in a pop-up window, which also contains a warning that “some of these grids, especially smaller ones, might be not online all day, or at all”. Clicking on the name of a grid in the list will initiate an attempt to log-in to it.

If the grid you wish to access is not displayed in either list, you can type the uri for it directly into the grid name field. When you click the refresh button next to the field, the grid name (if found) will be added to the drop-down list and an attempt to log-in to the grid will be initiated.

User Interface

Once logged-in to a grid, Teapot reveals itself to be something of a hybrid. The overall layout is very much Viewer 3.x, but the menus combine elements of both viewer 3.x and viewer 1.x, including as they do File, Edit and View from the latter and combining them with World, Build and Help from the former (with Advanced and Develop also available).

The File, Edit and View menus (click to enlarge, if required)

Default buttons are all arranged at the bottom of the screen, and are displayed with icons only visible. They comprise (in left-to-right order): Chat, Speak, Voice Settings, Preferences, Snapshot, People, Build, Camera, Map, Mini-map, AO and Inventory.

The AO (Animation Overrider) is by Zi Ree, and is as found in Firestorm – including using the #Firestorm folder (so if you have run Firestorm with the AO set-up, Teapot will use the same settings).

Preferences

Teapot more-or-less uses the default SL viewer Preferences floater and tabs, with the addition of an OpenSim Grid Manager  tab, and the inclusion of options to enable the pie menu for those that prefer it over the V3.x context menus (enable / disable the pie menu in the Advanced tab of Preferences, set background colour and opacity via the Colors tab).

Other Functionality of Note

  • Teapot uses V1-style profiles by default (using older code from Firestorm) and includes Nicky Dasmijn’s open-source mesh upload floater
  • Objects can be temporarily derendered from your world view, however:
    • They will only be derendered while they remain in your world view, and will be rendered once more should you re-log or teleport away and back
    • The derender option is only available when using the pie menu – it is not displayed in the context menus
  • There is no RLVa support included in the viewer at present.

Performance and Feedback

Performance-wise, using my standard set-up with the viewer and on my home sim, Teapot produced the following frame-rates: ground level: 16-18fps; 370m: 29-32fps; 2875m: 40-43fps. With lighting and shadows enabled, these became 7-9fps, 14-16fps and  20-21fps respectively. These figures put Teapot roughly between my recent “tests” of Niran’s 1.46 and Firestorm 4.4.1.28744.

Overall, the viewer performed well during a 4-hour test run on Second Life, which was crash-free. There are some nips and tucks required in places – such as ensuring options included in the pie menu are also available in the context menus (inspection option, derenderer) – but overall, Teapot presents itself as workable and pleasant viewer. It may not be as feature-heavy as other viewers that are out there, but this shouldn’t be held against it. Indeed, if you’re an OpenSim user looking for a reliable, fast and well-presented V3.x-style viewer that offers core functionality and things like Media On A Prim, mesh uploads, etc, then Teapot might well be … just your cup of tea!

Some Things to Remember

  • Teapot should not be confused with the Teapot-Viewer, used for viewing OpenGL models
  • The viewer is very much a personal project Armin has put together, and his time / ability to provide support or add specific functionality is limited
  • Efforts have been made to ensure Teapot is compliant with the TPV Policy, but it is not currently listed in the TPV Directory
  • While inspired by Kokua, Teapot stands as an independent viewer, and should not be confused with the Kokua project.

Related Links

What might have been: Graphical SL on the iPhone

We’ve all dreamed about running “full” SL on mobile devices; while there are some great text-based clients available for both Android devices and the iPhone which offer a lot of functionality, it’s fair to say that SL doesn’t always feel like SL when the graphical element is removed. Whether we will eventually see SL accessible via mobile devices and tablets on a regular basis is open to debate – although with the likes of Unity, it’s hard not to believe there will be a time when graphical access to SL via such devices will be available.

In fact, where the iPhone is concerned, it wasn’t that long ago that it looked as if graphical access to SL might not be that far away, as the video below shows.

This concept demo was developed by Comverse back in 2008. It made SL on the iPhone possible by using a server sitting between SL and the iPhone to handle all the hard number-crunching, with the results being streamed to the iPhone’s web browser, with inputs from the interface being sent back to the server for processing, prior to being sent to the SL servers. The go-between server clearly has an impact on response times, but as   Tech Digest said at the time, it wasn’t bad for a proof-of-concept at the time.

Sadly, the project never seemed to go beyond this demo phase, and there is now no mention of it on the Converse website. Still, it’s interesting to contemplate where the idea might have gone, and whether it might yet simply prove to be an idea a little ahead of its time, technology-wise.

Radegast 2.2

I finally had time to sit down and play with the latest update to Radegast – version 2.2.1171. This isn’t a major update per se, but it certainly adds some very nice capabilities to what is, from a straightforward user perspective, the most flexible of “text” clients for Second Life and OpenSim.

As always, comment here are based on using the Windows version, and this article supplements my previous reviews of Radegast and Radegast 2.0.

The .EXE file comes in at around 8.3Mb, and as with previous versions, installation is very straight-forward, although I was surprised when it gave the install directory as Radegast-experimental, given this is a formal release; quick update needed there! The login / splash screen hasn’t been changed since the 2.0 release, and logging-in brings you to the familiar chat tab in the main window.

The key updates with this release are:

  • Multiple attachment support
  • View your own attachments in the object tracker & touch them
  • Temporary texture uploads
  • Change Profile Picture
  • Inventory backups can now save textures and snapshots

Multiple Attachments

This sees an ADD TO WORN option added to the menu when you right-click on an object in Inventory, allowing you to wear it at the pre-assigned attach point (body or HUD) in addition to whatever else is already worn at the point, exactly as with a graphical Viewer.

Additionally, any objects attached to your body or a HUD position are now listed in the main OBJECTS tab, as well as TOOLS -> MY ATTACHMENTS or CHAT -> [Avatar]-> ATTN. Providing you set the Objects tab to display objects by DISTANCE from you, rather than NAME, worn items will always appear at the top of the list, making them easy to locate.

Attachments now listed in OBJECTS tab

As with other scripted objects, you can access the menu for any attachment by either right-clicking on it and selecting CLICK/TOUCH from the drop-down menu, or left-click on it and then clicking on the TOUCH/CLICK button.

This now allows you to view / edit any scripts / notecards contained in an attachment (subject to permissions):

  • To view the contents of the root prim: right-click to select an attachment, then click on the CONTENTS button to the right of the Radegast window.
  • To view the contents of a specific component / prim, highlight the required prim in the panel at the bottom of the OBJECTS tab, then click on the CONTENTS button
  • In either case, a list of the prim’s contents is displayed. Click on the require script / notecard and click on OPEN.

Temporary Uploads

Image file temporary uploads option

As with a number of third-party graphic Viewers, Radegast now supports temporary texture uploads. Select FILE ->UPLOAD IMAGE. The option to upload a temporary texture is on the main selection / upload panel.

Temporary uploads follow the same rules as for graphical Viewers (no SL charge on upload, cannot be transferred, etc).

Profile and Picks Images

Radegast 2.2 includes the ability to change your Profile image, or any images associated with the Picks in your Profile.

  • Select your avatar’s name in the Chat window and click on the gear icon to open your Profile
  • Size / position the main Radegast window (or your inventory window, if you have that open separately) so you can see both it and your Profile window
  • To change your Profile picture, navigate through your inventory and select the image you wish to use for your new Profile picture. Drag and drop the image into the image area of your Profile
  • To change the image for a Pick, open the required Pick in your Profile. Navigate through your inventory and select the image you wish to use with the Pick and drag and drop it into the image box on the Pick display in your Profile.
Drag and drop images from your inventory to update your Profile and Picks
Drag and drop images from your inventory to update your Profile and Picks

Additionally, when you right-click on an image in your Profile or Picks you can now:

  • SAVE them to your inventory
  • Locate an original in your inventory using SHOW IN INVENTORY
  • Copy an image to your clipboard
  • Copy the UUID of an image to your clipboard.

Other Features and Fixes

Features

  • Francogrid (OpenSim) added to grid presets
  • Option to save images and inventory list to inventory backup
  • 3D scene viewer renders megaprims even if their center is beyond the draw distance as long as their closest edge is within
  • Auto Item accept
  • Ability to see group and group roles keys

Fixes

  • [RAD-268] – merged ‘Chat+Objects’ Tabs can’t be re-opened
  • [RAD-280] – Autoresponse triggers on System Messages
  • [RAD-282] – BVHDecoder exception
  • [RAD-294] – 3D Scene view takes over 3D Object View, and crashes upon close.
  • [RAD-295] – My avatar gets partially stripped when using Radegast
  • [RAD-301] – Chat log is not recording avatar chatting.
  • [RAD-305] – Radegast can potentially “timeout” during Image Uploads causing loss of funds
  • [RAD-306] – Saved logins only stores one login per grid
  • [RAD-309] – UI updates to -1 linden dollar if a payment fails due to insufficient funds

Related Links

Radegast: A look at version 2.0

(1.28 log-in screen)

Yesterday I mentioned Radegast 2.0 (.1130) had been released and that it has, among other things, the 3D scene renderer (now called the Scene Viewer), the ability to support avatar physics and the capability to render mesh objects.

Well, it does – and it does so exceptionally well.

Installation is as per previous versions – unsurprisingly – and when you start the application, you’re greeted with the familiar splash screen, albeit it with the login data fields nicely resized and moved to the right. The discerning user will also note that 3D Scene has been added to the menu / tab bar – a hint of what is to come.

Once logged-in, you’re presented with the chat display, which retains the same overall layout as earlier versions, but with a somewhat sharper look, with resized movement controls and extended chat bar.

Preferences Options

The File menus now includes a PREFERENCES option which, when clicked, opens the Settings floater.

Radegast Preferences

This allows you a set a range of familiar preferences within Radegast, including the popular RLV Support (this is described as “partial” support in the documentation, of which more anon) and the use of MU* style emotes (so “:” can be used in place of “/me” when typing an emote), together with the ability to turn-off the typing animation. Unlike the SL Viewer, there is no requirement to re-start Radegast after checking  / unchecking certain items (such as, again, RLV).

Preferences also gives you access to two other tabs: Auto Response and Graphics Settings. Auto Response operates in a similar manner to the Auto Response function found in popular TPV Viewers such as Firestorm and Phoenix, allowing you to send a customised message to people who IM you. You can set the response to be sent automatically under one of three conditions:

  • When you set BUSY from the World menu
  • When anyone not on your Friends list IMs you
  • Whenever anyone IMs you.

The Graphics Settings obviously apply to the 3D Scene Viewer. Here you can set a number of graphics defaults that are common to most TPVs, and adjust your draw distance to a maximum of 176 metres. There is also an option to turn-on water reflections, but this will only be accessible when the 3D Scene Viewer is running.

Graphics settings

All options selected in Preferences are applied automatically (unless a restart is explicitly asked for – as with Anti-aliasing in the Graphics Settings), so there is no APPLY button – simply close the Settings floater when done.

An important note to remember if you’re running Radegast over a mobile connection: you might was to keep the draw distance in the Scene Viewer turn down relatively low to reduce the bandwidth you’re using in downloading data & so reduce any charges you may be incurring.

The 3D Scene Viewer

The 3D Viewer itself is now fully embedded into the main Radegast window. When you start it, it simply opens up a new tab.This is a nice touch when compared with the experimental versions, especially as it includes the chat bar as well, a very practical addition over some of the early variants of the renderer.

Radegast scene rendering compared to the SL Viewer (inset) – impressive (click to enlarge)

The rendering is actually bloody impressive, and offers a very good alternative to the full Viewer – but bear in mind  that:

  • This isn’t a full-blown graphical Viewer, so things might take a little time to render, especially in “busy” environments. The results, however are well worth it, as the image above hopefully demonstrates
  • Running the Scene Viewer significantly increases the use of system resources, and so might not be the best for older systems

There are a few issues, but whether these are tied to the software or your hardware set-up is hard to say. In my case, for example, I found that some prims (such as around the flowerbeds in my garden) simply didn’t rez at all, no matter what draw distance was set or where I stood relative to them.  Similarly, not all my sculptie plants were properly rendered and some of the grass of one my lawns was rendered hovering above the surrounding grass and stonework.

Rendering issues: malformed plants, missing wall prims and floating grass (all arrowed)

However, to suggest this in any way ruined my enjoyment in having my in-world scene rendered, or my inability to interact with it, would be a lie. Certainly, when compared to a Second Life view of the same location, Radegast’s ability to render the scene so well is absolutely clear. I also think the ability to render water reflections is pretty amazing as well (below).

Water reflections

Mesh rendering is equally impressive, as the images below of two familiar vehicles from the Beta grid should demonstrate (top picture captured using the old Mesh Project Viewer, the lower image captured in Radegast 2.0).

Rendering mesh objects: “Full” Viewer (top) and Radegast

Movement in the Scene Viewer has been refined to be smoother than earlier versions, although avatar rendering isn’t entirely perfect. By default, the camera is positioned behind your avatar, a-la the SL Viewer, and you can use the LEFT and RIGHT arrow keys to turn, UP to walk forward and DOWN to walk backwards – all as one would expect. If you are using an AO, the Scene Viewer attempts to render the movement scripted by the AO, although this doesn’t always *quite* work, and occasionally your avatar might develop something of a drunken lean while walking!

Tip: if you opt to reposition the camera at any time, always tap ESCAPE to place it back behind your avatar before you attempt to move again (the camera will not automatically reposition itself should you try to move). Even if you can see your avatar, you should still reposition the camera prior to moving – direction of movement appears to be relative to the camera position, not avatar position, so if your camera is not behind your avatar, it is easy to get confused as your avatar sets off in a totally unexpected direction when you press the UP or DOWN keys!

Camera movement still take a a little getting used to. Movement is carried out through a combination of holding the left mouse button and either the ALT or CTRL keys:

  • Left-click (and hold) & press ALT to orbit around something when moving the mouse
  • Left-click (and hold) & press CTRL to pan left / right up/down when moving the mouse.

Camera movement can initially be confusing – using CTRL and the mouse to move to the left will apparently pan the camera to the right, for example. The best way to understand this is to think of all camera movement in terms of dragging the on-screen image. So if you use CTRL + left mouse-click and move the mouse to your right, you are effectively “dragging” the image to the right side of your screen – and the camera position will consequently appear to move to the left as a result. This rule applies to panning up / down (“drag” the image towards the bottom of your screen to pan up, etc.), and also to the use of the ALT key to orbit around something.

Tip: If you find the image going off-centre compared to what you are trying to achieve when panning / orbiting, try pointing the cursor at something you wish to centre-on and ALT-left click to centre the view on it; then try panning / orbiting again.

Additional Viewer Options

  • For those that prefer the Scene Viewer detached, right-click on the tab name for the Scene Viewer and select Detach. This will float the Scene Viewer in a separate window, complete with a chat bar
  • Right click anywhere within the Scene Viewer to display an additional menu:
    • Undock (/Dock): will float the Scene Viewer in its own window or re-dock it as a tab within the main Radegast window
    • Options: Displays the graphics preferences that can also be accessed through FILE -> PREFERENCES
    • Debug Panel: opens the Debug options for the Viewer, where you can RESET VIEW and move the camera back behind your avatar (i.e. the same as tapping ESCAPE on your keyboard), and adjust things like the image brightness and contrast using the top two sliders.

Objects in the Scene Viewer respond to touch as they would in the “full” SL Viewer: doors will open, menu-driven objects will display their menu, etc. Right clicking on in-world objects will display a context-sensitive series of additional option to the menu described above. For example, if you right-click on an item you own, you’ll get additional options to take, delete, touch or sit on the object. Right-clicking on an object owned by someone else may give you the options to touch it (if scripted) and / or sit on it.

RLV Support

This is an interesting addition to Radegast. While it is not a full implementation of the RLV API, it nevertheless opens options and possibilities. Among the things it can do:

  • Deny the ability to remove locked items
  • automatically accept forced teleports
  • Act upon forced animations (although not necessarily rendered in the Scene Viewer)
  • Restrict chat and IM (including forcing chat to whisper, etc.)

The broader restrictions provided by RLV aren’t replicated in Radegast, so things like blocking inventory access, restricting far touch, vision restrictions, etc., are not implemented.

Other Updates

  • The login screen now stores the details of avatars logged-in to virtual worlds using Radegast, including the actual grid the avatar logged-in to. Simply select the avatar (/grid name) from the drop-down list available from the USERNAME field. The user name, password and grid are all then set
  • Radegast now supports Viewer 2 avatar Physics Layer – so if you wear a physics layer of clothing, it will render movement correctly in other people full graphical Viewers (the movement won’t be rendered in the Radegast Scene Viewer).

Opinion

Radegast 2.0 offers some nice improvements over the previous releases, and still sits head an shoulders above other “non-graphical” clients in the most common areas of use. If you want a genuinely “light” text-based access to Second Life / OpenSim the likes of Libretto or SLiteChat might be more appealing, but if you are stuck in a situation where you simply cannot run a “full” Viewer and want to have a very flexible means of accessing your preferred VW for more direct interaction with friends and the people around you, Radegast really cannot be beaten.

Elements of the client are still described as “experimental” and as such may well still be prone to crashing. That said, I’ve sent the good portion of a day running the client on both a desktop PC and my Notebook (Intel Atom 330 w/2Gb RAM and nVidia Ion2 graphics processor) without any crashes or major issues (the Notebook did have occasional avatar rendering issues – I was hair and shoes a few times, with nothing between!) and both the PC and the Notebook seemed to have issues rendering the odd prim here and there.

All-in-all a significant and well-implemented update to Radegast which is enjoyable and intuitive (for the most part!) to use. And RLV is a nice option to have – and not just for those of us into D/s scenes *grins*.

InWorldz at Zauber Paracelsus’ magical sim

Related Links

 

Radegast 2.0 released

In July, I reviewed Radegast 1.28.872 as part of a series on text clients for Second Life / OpenSim. As a part of that article, I took a quick look at the 3D scene renderer then under development.

I followed this up in August with an update on how the renderer was progressing.

Today, Latif Khalifa has announced Radegast 2.0, with the 3D viewer is now released. Not only that, but avatar physics are included and the ability to render mesh objects! Here, in full, is the announcement:

“The Radegast Development Team is proud to announce the immediate availability of Radegast version 2.0.

“This release brings the 3D Scene Viewer that allows users to see the 3d worlds around them. Most of the object rendering features are implemented and functional, including the support for showing regular prims, sculpties and meshes, but one should keep in mind that this is still very experimental and might cause crashes. Known issues include: not entirely correct avatar rendering, no support for glow or flexible prims. If you do encounter problems please do report them in our issue tracker.

“In addition to the Scene Viewer, Radegast 2.0 comes with the support of the new avatar physics wearable type. There is also a crash reporter that will ask you to submit the crash reports should something unexptected happen. We encourage you to submit those reports as they make the future releases of Radegast better.”

I have to say that of all the “text” clients, Radegast is personally my favourite simply because of the scene rendering. so you won’t be surprised to learn I’ve already downloaded the .EXE file and will be trying it out – and reporting back – very shortly.

In the meantime, for those of you who’d like to try it, here are the links:

Those who prefer to verify download links before accepting files should use the download page link.

Congrats to Latif and the Radegast team.

The scene renderer (now referred to as the Scene Viewer) in action:

Text clients reviewed 4: SLiteChat

Note: SLiteChat was announced as “end of lifed” in July 2015.

We’re all familiar with the Second Life Viewer in one flavour or another. But what about the non-graphical “lightweight” clients that are available for accessing SL when using a “full” Viewer isn’t always an option?

Like the Viewer, these “lightweight”, or text-only clients come in a number of flavours, some of which  – Libretto, Metabolt and Radegast – I’ve previously looked at in terms of the Windows platform. SLiteChat is another such client, available for Windows, Linux and Mac, and it gets the Pey treatment here.

SLiteChat

  • Platform(s): Windows / Linux / Mac (Windows reviewed)
  • Version reviewed: 1.6.3

In terms of overall functionality, SLiteChat sits on the Libretto side of the scales – if all you need is a rapid means of logging-in to SL and conversing and carrying out some basic tasks, it is ideal. It installs smoothly from the .EXE (binaries also available), and when launched – unlike the first three clients I reviewed in this series – doesn’t present you with a log-in screen. Instead, the application window is displayed, with a prompt for you to log-in.

Buttons

  • Exit: closes the SLiteChat window and quits the application
  • Login: displays the log-in floater
  • Logout: logs you out of your chosen grid, but leaves the SLiteChat application running
  • Teleport Home: when logged in, this will tp you to any home location you have set (or to your default logging-in point if none set)
  • Preferences: displays the Preferences floater
  • Check for Updates: will poll the SLiteChat website for any available updates.

Logging-in

Clicking the Login button displays the logging-in floater.

Enter the name of the avatar you wish to use to log-in to your grid in the First Name / Last Name box (in the case of Second Life, those without a last name should enter “Resident” after their first name). When logging in, note that:

  • All names and passwords entered into the client are recorded, and can but automatically entered into the fields during future log-ins by clicking on the down arrow at the right side of the First / Last name box and selecting the required avatar name
  • Log-in names are stored by grid; so if you log-in to multiple grids, select the grid first, and this will enable a list of avatars used to date to log-into that grid when the arrow to the right of the First / Last Name field is clicked.

The Grid drop-down (shown above) contains a pre-defined list of grids, which is slightly out-of-date at present.

Once logged-in, the full set of menu options becomes available to you

  • File: Provides the Login, Preferences and Exit options prior to being logged in, and Logout, Teleport Home, Preferences, Export Saved Conversations and Exit options when logged-in
  • View: allows you to toggle the Friends and Group windows on / off individually or together (if one is turned off, the other will expand to fill the space; if both are turned off, the chat display area expands to fill the space)
  • Friend: allows you to:
    • Search for a Friend: opens a floater window, enter the name of the person you are seeking in the top and their name is display in the main window. Entering a first name will display a list of matching first names. Highlight a name in the list to either send and IM or a Friendship request
    • Remove a Friend: left-click on a name in your Friends list and use this option to remove them as a Friend.
    • IM a Friend: left-click on a name in your Friends list and use this option to IM them – a separate tab will open in the main chat and message display area.
  • Group: this menu option is currently inactive
  • Help: Displays the Help floater and checks for updates to the application whether or not you are logged-in.

Friends and Group Lists

The Friends and Group list windows each have their own buttons and options.

The options are pretty self-explanatory, with the action buttons mirroring those found in the Friend and Group menus (with the caveat the latter menu options remain greyed out in the 1.6.3 release). As noted above, closing one or other window will automatically expand the other to fill the space, while closing both will expand the chat / message display area into the space. It’s also worth nothing that friends are automatically displayed alphabetically (first name) and split between online and offline.

Preferences

The Preferences button / menu option (under File) displays a floater of personal preference options for the client.These options are all fairly self-explanatory, although not all appear to be functioning properly.

  • The Google translation option no longer runs, probably as a result of the API for that service becoming a paid-for option
  • The options to save conversations (alongside the FILE -> EXPORT SAVED CONVERSATIONS) do not appear to be functioning.

Website

The SLiteChat website provides download links and basic documentation – including how to install, for those that would prefer to download the binaries – and a very good FAQ on common issues.

Use and Opinion

SLiteChat does precisely what it says on the box, and provides a clean, quick text-based client. It equals Libretto in most respects, although some functionality doesn’t appear to be entirely there at present. In the case of Groups, and the Group menu, this isn’t a problem, as the Group window action buttons all work. Some of the Preferences options do appear to need further work – either that or I was having a bad tech day when playing with the client. The Grid list needs updating, somewhat as well – and it would be nice to have the ability to add your own preferred grids to the list.

I’ve no idea where development stands at the moment – this release dates back to February 2011; I’ve IM’d the developer and will update here with more info should it come through.

However, none of the above stop SLiteChat from being a good, lightweight alternative to accessing SL when you’re unable to use your Viewer, and is certainly capable of letting you stay in contact with friends in-world.