Archive for the 'Status Updates' Category

Imprudence News (January 30)

Hi ho, friends! It’s time for another status update from the Imprudence team!

January has been somewhat of a slow month in terms of viewer development, due to RL obligations for Armin and McCabe, and myself feeling a bit under the weather. Even so, we have been making progress on Imprudence 1.3, fixing the issues you guys reported from our 1.3 merge test build. I want to send out a heartfelt “Thank you!” to everyone who tried out the test build and reported issues in the forums and comments. You guys really came through for us, identifying a wide range of issues for us to fix. We really appreciate your assistance and feedback! :)

The other bit of news is that in-world “Imprudence Viewer” groups are now open in both Second Life and OSGrid! If you have a group slot available, joining the group is a great way to show that you love Imprudence, and to support us by raising awareness of the viewer. The groups have a variety of fun group titles, including “\m/ Imprudence \m/”, “Imprudence Rocks!”, and the oh-so-tasteful “I do it Imprudently”. ;) To join the group, do a “People” search for me (Jacek Antonelli), then find the group in my groups list. (Alas, Imprudence’s group search does not yet work in OSGrid.)

That’s all the news for now. We’ll continue to post updates as we make progress on Imprudence 1.3. Ta ta!

Imprudence News (December 30)

Greetings all, and happy (soon to be) new year! I thought I’d take a moment to update you all on the current goings-on of Imprudence.

The first bit of news is that Armin has been working on compiling Imprudence for 64-bit Linux. He has made good progress, and we hope to be able to offer 64-bit Linux versions in future releases. He needs some more testers to try it out and give him feedback, so if you’d like to run Imprudence on your 64-bit Linux box, have a look in the forums!

The second bit of news is that starting in 1.3 we will be offering an option to use an alternative pie menu layout that is similar to the menus in SL 1.22 and earlier, but with a few new menu items for features SL doesn’t have. We believe that our current pie menu layout is more self-consistent and easier to learn than SL’s layout, but we understand that a new layout can be a significant source of frustration for users who have the old layout ingrained from years of use. (In other words, it can be annoying as hell until you get used to it.) We haven’t yet decided which layout will be the default, but you will definitely be able to choose which one you want.

The third bit of news is that we will be having a competition or commission to create new viewer skins for Imprudence. We’re looking for a well designed skin to give Imprudence its own look and feel. Being an open source volunteer project, we don’t have a lot of cash to throw around, but there will be modest cash prizes for the selected skin(s). More details to come.

The final bit of news is that we’re planning to release some early test builds this weekend. We’ve been working on rebasing Imprudence to the SL 1.23.5 source, which will bring full support for “Adult” areas and search results and many other enhancements to Imprudence, including experimental shadow support.

Straylight with Shadows

The test builds are essentially Imprudence 1.2 + SL 1.23, so they won’t have the other awesome new stuff we’ll be adding in 1.3, like font controls, jiggly boobs, built-in animation overrider, or prim import/export as HPA. We’re still working on all that stuff. But while we’re doing that, we need you guys to doubly-triply-quadruply check that all the current stuff still works right and that we haven’t missed anything!

We should have the Imprudence “1.2 and a half” test builds out this weekend. Stay tuned to this blog for that announcement.

Super Happy Software License Fun Time

The Imprudence 1.2 development cycle has taken a lot longer than we had hoped, but it’s finally coming to completion. With some luck, we hope to release the final version of 1.2 tonight or tomorrow!

The most recent delay was due to our efforts to ensure that we’re giving proper credit and respecting the licenses of all the various software libraries that we use and distribute with the viewer. We may be imprudent about changing the viewer UI, but we take our obligations under these licenses quite seriously.

This has been a tedious and wearisome process, as there are 50 or more libraries used by Imprudence, considering all operating systems. For each one, we have had to read and understand our obligations, verify that we are fulfilling them, and in many cases correct errors or omissions. Here are some examples of the obligations we have had to check:

  • Nearly all of the libraries require that we publish its copyright and license notices, although the details vary from library to library. It generally takes 5-10 minutes per library to find the information and verify that we are giving proper credit, or to fix or add an incorrect or missing notice.
  • As well as distributing the libraries with the finished Imprudence installers for our users’ convenience, we also package them up individually for use by developers who want to compile Imprudence themselves. Since those packages count as distribution, we also have to make sure we’re including proper credit in each of those packages, which is another chore in itself, adding another tedious 5 or so minutes per library. (That’s not mentioning the 20-30 minutes it took to create each package in the first place. Oof.)
  • Some libraries (in particular, those licensed under the GPL or LGPL) also require that we also offer the source code if we distribute them in compiled form. So, we have had to locate and host a copy of the source code for each of those libraries alongside the compiled packages. (You can find the sources here. We are still in the process of collecting all the necessary source packages, but should be done soon.)

On average, it takes about 20 minutes per library to verify and possibly fix all the details. Multiply that by 50 libraries (it comes out to nearly 17 hours), and consider the dullness of the chore, and you’ll begin to understand how much fun it was not. But as tedious and thankless a task as it is, it’s important to ensure that the library developers are given proper credit for their work (not to mention our legal obligation to do so).

Despite all that effort, we may have made a mistake or two. (Indeed, we’ve found at least one serious mistake of this kind in Linden Lab’s own library distributions. We will be privately contacting them soon so that they can fix it.) If you find an error in the way we’ve dealt with the licenses for any of the software we distribute, please don’t hesitate to contact me so that we can put things to right as soon as possible.

Compiling Imprudence on Windows

With the 1.2 beta coming up, I’ve updated our How To Compile page. The Windows build instructions should be a bit more straightforward, and I’ve added some missing links, as well as instructions for building with Visual C++ 2005 Express Edition, Microsoft’s free C++ compiler, which is now supported in develop.py (would love to know if Visual Studio 2008 works; anyone want to test and/or submit patches?). The downloads page is also up to date with links to the latest source.

As some of you might have noticed, there were a few annoyances when compiling Imprudence 1.1 on Windows. These should all be fixed in 1.2 (if not, lemme know on the forums, or better yet submit a patch to fix it). Cheers.

ImpDev September 22 Recap

The end of September draws near, so we’re starting to wrap up the development cycle for Imprudence 1.2. The emphasis now is on testing and polishing everything to make sure it’s done right.

Unfortunately, the improved user account manager feature will not be part of 1.2, as it was not on track to be ready in time. Instead, we’ll ship 1.2 with a polished version of Meerkat’s grid manager (which works fine, but is not as nice to use as we would like), then include the user account manager in 1.3.

But there’s good news: we’re planning to put out a 1.2 release candidate this week. That will give you, our kind, loving, and beautiful users, a chance to try things out and give us feedback on anything that’s not working right (which hopefully won’t be much). Then we’ll fix up what we can, and have the 1.2 final released next Wednesday!

Now, I had better get back to work!

ImpDev September 15 Recap

A quick recap from this past Tuesday’s ImpDev meetup:

  • Jacek has been focusing on the login manager feature. She hit a mental block for a while, but has gotten past it and is making good progress. Still, she expects it to keep her busy until the end of the month, and possibly a bit longer. If it’s not ready in time, we’ll ship 1.2 with Meerkat’s grid manager interface as a temporary solution, but won’t delay the 1.2 release.
  • McCabe has been making enhancements and fixing bugs in many areas, including the new Windlight quick-access toolbar tab and avatar scanner, as well as an improved layout for avatar profiles and other cool stuff!
  • Things still seem on track for releasing 1.2 by the end of the month!

Full transcript on the wiki, as usual.

ImpDev September 8 Meetup Recap

Here’s a quicky status update. As usual, full summary and transcript from our weekly meetup are available on the wiki.

  • Jacek has imported RLVa and Meerkat’s object backup feature. Still some polishing left to do. Login manager is next on the list after that.
  • McCabe has imported (or will soon be importing) several Emerald features: Double click inworld to TP; Asset (texture) browser; Animation list; Fetch inventory at startup; Phantom avatar; Sit anywhere; Show object’s previous owner; New prim presets in the create tab; Set chat channel; Draw distance slider.
  • (We’ll be borrowing other Emerald features later, but we don’t want to get carried away and miss our deadline!)
  • Everything is on track to have Imprudence 1.2 ready before the end of September! \o/

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!

ImpDev August 25 Meetup Recap

Yesterday’s ImpDev meeting went quite well! We decided that the immediate goal for Imprudence is to catch up with the other third party viewers. The Meerkat and Emerald viewers in particular have made fantastic advances, and we’re eager to integrate those changes and features into Imprudence.

We’ll also be rebasing Imprudence to the SL 1.23 source (Imprudence 1.0 and 1.1 were based on SL 1.21). That should bring some improvement to texture loading speed (McCabe estimates a 25% improvement), as well as new features like default upload permissions. We’ll eventually integrate Snowglobe’s HTTP Textures, which should really speed up texture loading, but we would need to do it in a way that doesn’t break compatibility with OpenSim.

Those are the main highlights of the discussion, but we talked about quite a few other things, too! You can read the summary and full transcript on the wiki, if you are interested.

Next week’s meetup falls on September 1 — which just so happens to be Imprudence’s 1st birthday, too! It’s hard to believe that it has been so long since we launched Imprudence. Phew!

What’s Going On With Imprudence?

Things have been quiet on the Imprudence front lately, I’ll admit. So, you might be wondering: What’s going on with Imprudence?

Vacation

McCabe and I got pretty exhausted working on cross-platform GStreamer and OpenAL support, which has been a long and frustrating campaign, much longer and more stressful than we had anticipated. The end always seemed just a little bit further, so we let it drag on way too long, and it wore us out and used up a lot of time that could have been spent on other improvements.

So, we’ve been on vacation on and off for the past month or two, resting up and recharging. But we’re gearing up again now, and getting back to work. But we won’t be working on sound, music, or video issues anymore, except when critical issues (widespread crashing or freezing) demand it. Fixes for less critical sound/music/video issues will have to come from other community members.

We plan to release 1.1 this weekend, and then move on to 1.2.

Moving Right Along

So, if we’re not going to be hammering on GStreamer and OpenAL, what will we be working on? Fun and interesting (to us) things! UI improvements, new features, and other things that make the viewer generally more awesome. In other words, the stuff we started this project for.

Here are a few things (but not the only things) planned for 1.2 and beyond:

  • Updating to SL 1.22 core. Imprudence has been based on the Second Life Viewer version 1.21 source for nearly all of its history. For Imprudence 1.2, we’ll be changing bases to SL 1.22. (We’ll be changing to 1.23 some time after LL has made a full release of that. But, we’ll probably borrow specific, known-good changes from the 1.23 RCs in the meantime.)
  • Restrained Life support. Imprudence 1.2 will feature support for the Restrained Life API, most popularly used in SL bondage gear, but also in a variety of other useful devices. However, we will not be using the official Restrained Life Viewer patches due to licensing issues. Instead, we will be using Kitty Barnett’s RLVa (Restrained Life Viewer Alternative), which is licensed under the GPL.
  • Account / Grid Management. We’re planning to add better support for third party (OpenSim) grids in Imprudence 1.2. This will be similar in functionality to the Hippo Viewer’s grid manager feature, but with better usability and an added account manager feature, so that you can just select an account from a drop-down list on the login screen.
  • Object Import and Export. This probably won’t be done in time for 1.2, but we’re in planning stages for an object import and export feature, i.e. saving and loading prims to/from your computer. The tool will respect object permissions. You will only be able to export objects you have rights to. We recognize the risk of someone modifying the code to disable permissions checks, but believe that the legitimate uses and benefit to content creators — content backup, transferring to and from offline build tools, migrating content to and from OpenSim, etc. — far outweigh the illegitimate uses and potential harm. There are already numerous tools that allow illegitimate copying of SL content, so content thieves won’t gain much. The lives of builders, on the other hand, will be a great deal easier.

Project Evaluation

It’s hard to believe, but two days ago, June 1, marked the 9-month anniversary of the announcement of the Imprudence Viewer Project. We’ve made some significant steps towards better usability in that time, but there’s still so much further to go.

Over the next few weeks, McCabe and I will be evaluating various aspects of the project itself (policies and workflows and such), seeing what has worked, what hasn’t, and what needs to be improved. Things we’ll be evaluating include stuff like the effectiveness of the forums as a channel for bug reports, whether an active mailing list would be worthwhile, how we should deal with the ChangeLog (manually maintaining it is a significant timesink and flow-breaker), and how to encourage more involvement from other developers and designers in the community. We’ll also be trying to establish design guidelines for the viewer, a general development strategy, and a proper roadmap!

So… that’s what’s going on with Imprudence!