Archive for September, 2010

An Update On The Media System

Media Issues.

We have them.

They don’t affect everybody, but they’re enough of a problem to put them high on our list of fixes. There’s a reason why our media system is currently somewhat wobbly, though. To go into it, first I have to go into a little history on the viewer itself.

Back when we started working Imprudence, the Second Life viewer was in its long stretch of 1.20 RCs, and like all versions up through1.23–the version on which Imprudence is based–Second Life linked against Quicktime in order to play streaming audio and video.

As developers, we take great care to always respect software licenses and be 100% GPL-compatible. (For those who aren’t familiar with the GPL, it’s the software license that puts the “open” in “opensource”. Without it, Imprudence wouldn’t exist.) Unfortunately, Quicktime is a proprietary library, and linking against proprietary is a definite no-no under the GPL. Rather than violate the license anyway, we chose to rewrite the entire media system using GPL-compatible libraries instead. Specifically, GStreamer and its various plugins.

Despite our efforts, the result just hasn’t lived up to expectations. GStreamer’s been a pain to maintain and debug, and it doesn’t offer certain options we’d like to provide in the media system. So, once again, everything is being rewritten.

As you can imagine, this’ll be a big task (i.e. not just dropping a dll file in a folder). The process is currently in alpha, but the changes will appear first in a test build, then an Experimental Release, then, finally, in 1.4.

For those of you who’re struggling with odd issues when playing streaming audio or video, I hope you’ll hang in there as things move forward. I can’t promise we’ll be able to fix every bug along the way, but getting things smoothed out is important to us, and trust me, we’re working on it. I know my week just wouldn’t be the same without catching a certain DJ Selma inworld, myself.

Mac User Survey

Greetings, Mac users! We’ve created a short survey to help us find out what sort of Macs you are using to run Imprudence, or would use to run Imprudence if it was compatible.

This information will give us an idea of how many people still use PowerPC Macs, how many people would benefit from a 64-bit version, and how many people would be affected if we updated to frameworks only available in 10.5+.

If you use a Mac, please take a moment to fill out the survey. Thanks! :)

All responses are anonymous and confidential. Please respond only once per person.

Which version(s) of Mac OS X do you use on a regular basis?
(You can find this information in the Apple menu > About This Mac.)

What processor type(s) do you have in your Mac(s)?
(You can find this information in the Apple menu > About This Mac.)

New Name! Imprudence Experimental Release: 2010.09.04

For a while now, Imprudence has released “weekly” builds to the community for testing. These weeklies have been a excellent source of feedback for us, as well a great way get features and fixes out into your hands as quickly as possible. One issue that’s come up over and over again with the weeklies, however, has been the name: “weekly”. Some people don’t realize the weeklies are an optional download, or that you can run them side-by-side with the main version; others have trouble telling which one version is considered stable. Thus, we’ve changed the name from “Imprudence Weekly” to “Imprudence Experimental”. Hopefully this will alleviate people’s confusion, as well emphasize the role these builds play in Imprudence’s development process. They’ll still be released once per week as usual. Just, under the new name.

Remember: Experimentals are optional test builds. For the latest stable release, 1.3.0 RC 2 is quite good.

Now then, what’s new in this week’s Experimental build? As mentioned in an earlier post, here are some much-requested features and changes:


  • Windows
  • Linux 32-bitLinux 64-bit
  • Intel Mac Note: there are a few known issues with Mac. We are working to fix these for a future release.
    • The “local textures” feature is not available on Mac, due to a crash when selecting the file.
    • Opening web pages in your external browser does not work unless your browser program is already running.

New Features:

  • Spellchecking. This feature can be set up in Preferences > Advanced > SpellCheck tab. (Hint: press “Get More!” to select and download your preferred base dictionary.)
  • Translate, powered by Google. Go to Prefences > Text Chat to choose which language to translate into. You can quickly toggle this off and on in the Local Chat window.
  • WindLight notecards: WindLight water and sky presets as tradable assets inworld. Many thanks to Katharine Berry for inventing this awesome feature!

  • Chatbar as a commandline, e.g. “dd”, “gth”, “calc”. This feature can be configured in Preferences > Advanced.

  • Local texture support. You can now preview textures inworld without uploading, straight from your harddrive. Open the texture picker, then select the “Computer” tab to paste an imagine from your computer onto a prim. Updating the texture on your computer updates the prim inworld. Other users won’t be able to see the textures until you upload them. (huge thanks to Vaalith Jinn for that extraordinary feature!)

  • Preview animations inworld. Set the “PreviewAnimInWorld” debug setting to TRUE to use this feature.

  • Added “Copy Key” button to the tools window, to copy the object UUID of the object, which is useful for scripters.
  • Added Copy/Paste build prim parameters.
  • Added right-click text copy/paste dropdown including translation and spell check options.
  • Added option to disable rendering objects in the mini-map’s right click menu.
  • Added column in friends list to display the fact that they have given you permission to find them on the map.
  • Added “UseLegacyChatLogsFolder” debug setting for saving chat.txt and IM logs in one non-grid-specific log folder. Note that per-account preferences are always saved in the @grid folders. This setting only affects chat and IM logs.

Bug Fixes:

  • Fixed crash when logging in or teleporting on macs.
  • Unreverted numerous HTTP Textures patches from SnowGlobe 1.5.
  • Fixed several images not displaying correctly on OpenSim-based grids that haven’t updated their artwork packages.
  • Fixed inworld audio being muted when running multiple instances.
  • Fixed “unable to login” errors by downgrading curl (note: makes http textures inherently more unstable).
  • Fixed “History” button appearing out of place in the group IM window.
  • Fixed inventory searched items “randomly” disappearing.
  • Fixed inventory highlighting when searching by description.
  • Potential fix for a font-related crash.
  • Fixed inability to see full names in the tools window (names are now hyperlinked instead).
  • Fixed Showcase tab not showing the proper contents (note: teleports might fail from there. We’re working on it).
  • Fixed “NoFileExtension” notification missing.
  • Fixed a tiny error in the first use grid selector.


  • New font! Imprudence now uses DejaVu Sans Condensed as its default font (with font selection soon to follow). This should fix the unicode issues people’ve been seeing.
  • Radar now shows avatars sim-wide for managers (more radar changes and improvements will be coming soon).
  • Draw Distance Stepping (aka SpeedRez) is now disabled by default, to avoid confusion. You can turn it on with Preferences > Advanced tab > Increase rez speed via draw distance stepping.
  • Changed the layout of checkboxes in the Tools window general tab.
  • Tooltips on objects now show more info, such as prim count and distance from your avatar.

Please post any feedback or issues you have with this release in the official forum thread!

Finally, on a personal note, to any new users out there who’re trying us out for the first time, welcome aboard. We’re glad to have you with us :)

Imprudence’s Second Anniversary

This past Wednesday, September 1, was the second anniversary of the launch of the Imprudence Project!

Party Time!

We are having a multi-grid party this Sunday at noon PDT (19:00 UTC) to celebrate the occasion! The event will be held simultaneously in 3rd Rock Grid at the Hoagie region, and in Second Life at the Rouge region. Many thanks to CodeBastard Redgrave for taking care of the preparations!

A Welcome to New Users

We’ve seen many new users trying out Imprudence over the past few weeks. Welcome! You’ll find that Imprudence has many of the features you’re used to, though not always in the same place as in other viewers. We’re also adding new features all the time; as McCabe mentioned in his recent post, we will have spellcheck, translations, right-click copy and paste, and many other highly-requested features in our upcoming weekly experimental builds.

We are aware that some users have been experiencing problems with performance, stability, connecting, or media playback (among others). Unfortunately, there are a huge number of factors that affect the viewer (operating system, hardware, drivers, etc.), so it may run perfectly for one person, yet not at all for another. Please be assured that we’re watching the forums closely, and are working to fix the problems you report. We know these issues can be frustrating, but we ask for your patience, as our resources and manpower are limited. If you experience a crash or other problem, you can help us fix it by emailing us your log files along with a detailed description of the problem.

I’d also like to give a big thank-you to everyone who has been helping out in the forums by welcoming new users and answering questions. We really, really appreciate it!

New Team Members

I’m very excited to introduce two new additions to our team: CodeBastard Redgrave (aka Codie) and Elektra Hesse!

Codie is our new community liaison. It’s her job to assist users, answer questions, gather feedback, and make sure we never lose touch with our users. She’s also the voice behind @imprudence on Plurk, and @ImpViewer on Twitter — follow them for announcements and tips in your timeline!

Elektra is our new Mac developer. She has extensive experience developing software for Macs, and already has several excellent ideas for making the viewer experience even faster and nicer for Mac users. We’re very excited to have her, and look forward to working with her to improve Mac support!

A Brief Look Back

A lot has happened in the past year, but one particularly tumultous (yet ultimately fortuitous) event stands out as being the most significant in Imprudence’s history. This past March, Linden Lab announced a new policy governing third-party viewers like Imprudence. For a time, it seemed we would be unable to support Second Life any more.

Fortunately, Linden Lab revised the policy, so that we were able to resume supporting Second Life — but by then, we were already immersed in OpenSim. We toured a variety of OpenSim-based grids, and settled in to a new home on 3rd Rock Grid, where we meet each week to discuss development progress.

Although we still support Second Life, and many of our users connect to it, our primary focus is on OpenSim. We’ve added several features that are only available on OpenSim, such as LightShare (server-side, scriptable Windlight settings) and the ability to create and edit megaprims (prims larger than 10m) and microprims (smaller than 0.01m). If you haven’t ventured outside of Second Life yet, we encourage you to visit one of the OpenSim-based grids available in our built-in Grid Manager, or any of the many other grids waiting to be explored.

Plans for the Future

We’ve gotten a lot of questions about what we’ll be doing in the future. Some people wonder about specific features or changes that they are interested in. Others are curious about our broader plans.

Our immediate goal is to finish Imprudence 1.3. This version has been in development for over 9 months, far longer than we ever anticipated. This long development cycle is due to several major events causing us to adjust our plans and priorities, and also due to our eagerness to create a viewer that is stable, usable, and useful for as many people as possible. Thankfully, we’re getting very close to a final release now: RC2 came out last week, RC3 is coming soon, and the final release should follow soon after. Because we are so near to the release, we are no longer adding new features to 1.3, with a few exceptions (most notably, the ability to choose from several available fonts). This means that there are many features that will not appear in the 1.3 final release, but they will continue to be available in the weekly experimental builds, and eventually incorporated into 1.4.

Imprudence 1.4 will be a much shorter development cycle than 1.3. One of our focuses for that cycle will be to adjust our project organization to allow us to keep working smoothly as the project grows. We’ll also be cleaning up the compile system, to make it easier for more people to contribute to Imprudence. We are also considering a donations system, but we want to be certain that it is done transparently, with all donations going towards specific project-related goals. We welcome your feedback and suggestions about the best way to do this.

The viewer itself will also see plenty of changes in 1.4. We’re hoping to completely replace the current media system, which has been a major headache both for us and for many of our users. Naturally, there will also be plenty of other improvements and feature additions, such as support for multiple wearables, multiple attachments, inventory links, and shared media. Plus, of course, all the things that didn’t quite make it into 1.3, like spellchecking and translation.

Looking towards Imprudence 1.5, our plans are still quite loose and tentative. One solid proposal is to investigate migrating to the Viewer 2 code base. This task would involve a lot of effort in revamping the UI to address the many complaints that have been raised about the Viewer 2 UI, as well as forward-porting the improvements and features that Imprudence has accumulated over the past two years. It would not be an easy job, but we believe migrating to the Viewer 2 code base will give us a more solid foundation for improvement and innovation in the future.

Beyond that, we can only dream and speculate about the future. One thing’s certain, though: it will be quite a ride. Here’s to another year of Imprudence!

Why isn’t my typing disabled?

Have you gone to Preferences > Text Chat and unchecked Play typing anim like so:

Only to see your avatar still typing afterward? We’ve had sporadic reports of this on the forums, and were puzzled by them too, until we were pointed to a post on by Innula Zenovka:

The issue may well be that the latest server update [for Second Life], 1.42, fixes a long-standing bug in the function llGetAgentInfo. Previously, if it tested for AGENT_TYPING it only returned TRUE if the typing animation was playing, not if you were typing at the keyboard (which is what it was originally meant to do).

What this means in practice, though, is that some AOs need updating because they assume — mistakenly, now — that, if llGetAgentInfo tests TRUE for AGENT_TYPING it must mean you want an anim playing when you type.

The simple fix is to comment out the line in your AO notecard that refers to the typing anim.

From comments on the forums, it seems this fix is confirmed. Hopefully this helps people who’re seeing this issue and trying to figure out what’s going on.