A Year of Imprudence

It was one year ago today that McCabe and I launched the Imprudence Viewer project with the goal of greatly improving the usability of the viewer through a more open, pro-change, community-driven development process.

A great deal has happened since then; some good, some bad. There have been unexpected developments, and surprising changes in the viewer landscape. We’ve made a good deal of progress, but perhaps not as much as we wanted to.

The first few months of Imprudence went fairly smoothly. We established the project online, started discussion, generated interest, and pushed out the first release candidate version by mid-November, and the first full release version, Imprudence 1.0, just a month later. It worked fairly well, but it was missing some major features: sound, streaming music and video, and voice chat.

Linden Lab uses properietary software for those features, which meant that we would have to replace them with open source software. Unfortunately, the struggle to do that — and to get it to work across all platforms — took over 4 long, grueling, frustrating months, and thoroughly burnt us both out. Then to make matters worst, when we were nearly recovered and ready to start again, I was loaded down with a stressful and never-ending project at work, which very nearly burnt me out all over again!

So, although Imprudence has been around for a year, only the first four were spent at a healthy pace of development. The past eight months have, rather unfortunately, resulted in very little visible progress on Imprudence.

In the meantime, new viewers have come to the foreground. Emerald appeared on the scene this past spring, and has introduced a great many useful new features. Meerkat, although founded around the same time as Imprudence, finally established itself this summer with new releases boasting an object backup tool and enhanced inter-grid support. And of course, Linden Lab launched its Snowglobe project, attempting to alleviate many of the same development problems that prompted us to start Imprudence in the first place.

Naturally, with Imprudence’s lack of visible progress, the attention of most third-party viewer users and developers shifted to these other viewers. Speaking candidly, Imprudence has become mostly irrelevant.

This sobering thought raises the question: “So, what are you going to do about it?”

Our answer is simple: We’re gonna kick it up a fuckin’ notch, that’s what!

The first order of business is to “catch up” and become active again. We’re aiming to release Imprudence 1.2 by the end of September. The key features of that release will be:

  • Object import/export support, borrowed from Meerkat.
  • Account/grid manager. Also borrowed from Meerkat, but we’ll be giving it a major usability overhaul.
  • RestrainedLife API support via Kitty Barnett’s RLVa.
  • Many smaller features from Emerald (avatar scanner, phantom mode, sit anywhere, double-click to teleport, and perhaps others).
  • Rebased to SL 1.22 source. In the interest of getting Imprudence 1.2 released ASAP, we’re putting off updating to SL 1.23 until Imprudence 1.3.

Also, we’re welcoming Armin Weatherwax as a full-fledged Imprudence team member, joining McCabe and myself. Armin has been a great help over the past year, contributing many patches and porting over features from other viewers and from JIRA patches. Indeed, Armin has already ported several of the main features that will be in 1.2, as well as many smaller enhancements. So, it’s about time that we officially recognized his efforts! Thank you, Armin, and welcome aboard!

Imprudence’s future after 1.2 is still being charted, but it’s safe to assume that we’ll soon be contributing new features, fixes, and usability enhancements to the third party viewer ecosystem again. We’re meeting every week to discuss and plan Imprudence’s development, and we’ll continue to post regular updates here on the blog, as well as transcripts on the wiki.

So, happy birthday Imprudence, and cheers for the year to come!

7 Responses to “A Year of Imprudence”


  1. Peter Stindberg

    Congratulations on the anniversary!

    After having used Nicholaz until well beyond it’s best-before lifespan, I switched to Imprudence and was quite happy with it. However – as mentioned to you before – what stopped me using it again was the drastic speed penality in texture loading. I understand where that comes from, but in a world threatened by lag all over, finally I could not stand the extra delay for textures to load anymore and switched to CoolViewer.

    Still, I think that Imprudence has the best concept out there, and as you see from my participation with feature suggestions I firmly believe in the Imprudence idea.

    Just get those damn textures loading competitively faster!

  2. Balp Allen

    Gratz all, and I feel sorry I’m one of the developers that moved my focus form Imprudence to Emerald.

    I would recommend looking at how Emerald adopted some of the patches as well. Most patches gets a good look over before going in. I still like to help out, when needed. But not sure i can move my self down to even 1.22, and that what moved me out of Imprudence. Currently I run Emerald on the snowglobe branch as my main viewer.

    Lets have a great year to come with new good features. Imprudence have the best ideas. Still.

  3. Gwyneth Llewelyn

    Hooray :) That’s good news, and I truly hope you can incorporate all those features on 1.2 :)

    Granted, the biggest improvement that Imprudence needs right now is definitely fast texture rendering — which will be a challenge with OpenJPEG as opposed to the proprietary library that everybody else is (technically illegitimately) using. It’s not just HTTP loading (which doesn’t work — yet — on either the LL grid or OpenSim, except for Map textures), but the whole new pipeline (or the redesigned pipeline that KirstenLee did on her own viewer). In terms of raw, “imprudent”, performance, this will be the way to go.

    The other aspect is, of course, shadows :) I’m sure we can’t live without them, and it’s interesting how much, say, Kirstens Viewer differs from Snowglobe in that aspect. Both are supposed to have used the same branch of LL code; both implement it differently (Kirstens’ is a bit weirder on my Jurassic graphics card; Snowglobe’s is a bit more stable but doesn’t look as good). I’ll be quite curious to see that coming to Imprudence too :)

    And then, of course, since you always mention your great OpenSim support, I’m sure we OpenSimmers would like to see a bit more support for that too — like Hippo has (easier logging in to remote grids, easier Hypergrid teleporting). Currently, my exclusive use for Imprudence has really been for logging in to OpenSim :)

  4. Tmayla Rotaru

    Just letting you know that this general, average, everyday Imprudence user is *very* happy that you’re continuing this project. Looking forward to where you take things.

  5. Dale Innis

    Congratulations and yay for continued progress! I like Imprudence because it seems so genuinely open to the user community. Not that Emerald and Meerkat and Snowglobe aren’t, but somehow I’m especially impressed with Imprudence that way.

    (On a smaller point :) just what *is* the Phantom Avatar mode from Emerald / Meerkay? I’ve seen it mentioned here and there, but I don’t know what it actually *does*. Does it let the AV walk through walls, as though sitting on a nonphysical prim? Or is it something to do with how visible the AV is?)

  6. Jacek Antonelli

    @Dale: Phantom mode is a clever little trick that stops your avatar from being bumped, pushed, or shot — other avatars and objects just pass right through you as if you weren’t there. If I recall correctly, it has the side effect of also stopping you from moving, so it’s purely defensive.

  7. Dale Innis

    Ty! :)