Archive for the 'Highlights' Category

ImpDev OpenSim grid tour dates

I mentioned in my previous post that we’ll be relocating our ImpDev developer meetups to a new location on an OpenSim-based grid.

Before we settle on a new home, though, we’re taking a tour of a variety of OpenSim-base grids, hosting our meetup on a different grid each week throughout April and early May! Fun! :D

Here are the dates and locations scheduled for the tour. Each meetup starts at 19:00 UTC (noon PDT) and lasts for an hour or so.

Many thanks to all these grids for offering to host us — it’s really fun to see first hand the variety of grids available these days! We’ll probably take more tours in the future, as there are even more grids out there.

Meetup reminders and exact locations (region name and coordinates) are sent to the ImpDev mailing list. If you’re interested in attending the meetups, I recommend subscribing to the list.

P.S. Sorry for not posting this sooner. I meant to include it as part of a larger post about our plans for the future, but things have been hectic lately. That post will be published within the next few days, but I wanted to get this announcement out sooner than that.

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.

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!

Imprudence Flickr Group

Moggs Oceanlane has put together a neat Flickr group for Imprudence! There are some great snapshots there showing off new UI features (and a few bugs!) in the Imprudence Viewer. Join the group and add your own snapshots of the Imprudence Viewer in action!

The Symbol of Imprudence

Stylized purple hand, palm forward, with thumb and pinky extended in a 'shaka' sign. Underneath is the word Imprudence in capital letters.

The shaka sign is a Hawai'ian gesture of friendship and good times. As the symbol of this project, it stands for the relaxed and welcoming atmosphere we should always keep. We should take every turn of events in good humor, and never grow rigid or staid.

The image is intentionally rough-cut in design, to ward off harmful perfectionism. A “perfect” thing resists change, even when change would lead to further improvement. We should eschew perfection, and instead strive for true excellence via early working prototypes, feedback from real users, and a boldness to change what needs to be changed.

As we undertake this project, let this symbol remind us that it is our prerogative to throw prudence to the wind. Be bold, have fun, and make something excellent.

Logo Madness!

Imprudence Logo Draft (Rock Hand): Stylized purple hand with index and pinky fingers extended in a 'rock out' or 'horns' gesture. Imprudence Logo Draft (Sign language letter I): Stylized purple hand with pinky extended in the American Manual Alphabet handshape for the letter I Imprudence Logo Draft (Shaka): Stylized purple hand with thumb and pinky finger extended in a 'shaka' or 'hang ten' surfer gesture.

As you can see, we’ve got three solid candidates for the logo of the Imprudence project! (The fourth candidate, a purple hand flipping the bird, was ruled out for some reason.) All three are drafts, and will be polished up a bit for the final version. Here are their descriptions:

  1. Rock Hand: Stylized purple hand with index and pinky fingers extended in a “rock out” or “horns” gesture.
  2. Sign language letter I: Stylized purple hand with pinky extended in the American Manual Alphabet sign for the letter I.
  3. Shaka: Stylized purple hand with thumb and pinky finger extended in a “shaka” or “hang ten” surfer gesture.

Tell us which you like — and more importantly, whyin the forums! (Or if you’re too lazy to sign up in the forums, just leave a comment here on the blog. :P)

Orange Island Discussion Transcript Available

If you were unable to attend the discussion yesterday for Orange Island Innovation Week but are interested in what we talked about, you’re in luck! The good folks at Orange Island have posted a transcript of the event for your downloading pleasure!

Improving Accessibility

Imagine this scenario: You’re confined to a wheelchair and have very limited use of your arms. You can’t use a physical keyboard, but you can handle a mouse or other pointing device well enough to work with an on-screen keyboard. You use Second Life; you enjoy moving around freely, talking with people, seeing all there is to see.

But one day you accidently press ‘M’ on the on-screen keyboard at the wrong time, and SL switches to mouselook mode. Exiting mouselook is a simple matter for someone fortunate enough to be able to use the keyboard, but for you, it’s impossible. You’re now completely stuck.

Continue reading ‘Improving Accessibility’

Transcript and More Forum Topics

The transcript of Jacek’s talk at Benjamin’s office hours has beeen posted on the wiki. Some choice quotes:

On why we’re doing what we’re doing, and word form Nicholaz:

[15:08] Jacek Antonelli: Linden Lab has, unfortunately, had a tendency to be rather slow and cautious about making changes. Which makes sense, from a business perspective. But I’m interested in pushing the envelope.
[15:09] Jacek Antonelli: Specifically, I want to focus on improving the usability of the viewer. For the most part that’s the UI, but also other issues like stability and the various tools that we use to do stuff
[15:10] Jacek Antonelli: By tools, I mean the things that let us do stuff, from IMing to shopping to building to taking snapshots
[15:11] Kippie Friedkin: Sweet.
[15:11] Charlette Proto: stability would have to be marginal issue at the moment, I don’t remeber a crash of the viewer sine last update
[15:11] Jacek Antonelli: Unfortunately, not everyone is so lucky, Charlette :\
[15:11] Charlette Proto: graphic drivers have become more of a problem that is for sure
[15:12] Jacek Antonelli: I’m quite excited, because last night I received word from Nicholaz Beresford that we can use his stability and memory leak fixes in Imprudence. He even sent me some ones that he hadn’t submitted to JIRA :)

Continue reading ‘Transcript and More Forum Topics’

Imprudence Begins

I’m pleased to say that, after nearly a month of serious thought, planning, and preparation, the Imprudence project is ready to begin.

This is probably the first you’ve heard about Imprudence, so I’ll take a moment to explain it. Imprudence is (or rather, will be) a major fork of the open source Second Life Viewer. Our aim is to greatly improve the usability of the Viewer through community involvement, thoughtful design, modern development methods, and a pro-change atmosphere.

Why are we doing this? Because we, the Second Life Residents, need a better Viewer, and Linden Lab isn’t getting it done — not fast enough, anyway.

I’m sure they’re trying. They have made some modest improvement. But they are faced with intractable obstacles that block them from making real progress: a lack of resources, an overloaded QA process, and a large established user base who are, on the whole, sullenly content with the way things are — and tend to resist any change.

Those are tough problems, and I don’t foresee Linden Lab being able to get past them any time soon. Rather than continue to push against these obstacles with little to show for it, I’ve decided to carve another path. A community project has its own obstacles, but they are obstacles that we can overcome. They are obstacles we can act against for ourselves, instead of sitting on our hands waiting for someone else to act for us.

The Imprudence Manifesto lays out the rationale, goals, and methods of the project, and explains why we, the Residents, must take an active part in shaping our own experience. With the involvement of a wide range of community members — programmers, designers, and users of all types — we will be able to renovate the Viewer to meet the wants and needs of today’s Residents.

If you want to get involved with the project and make a difference, please see How You Can Contribute. You don’t have to dedicate all of your time to it; like any volunteer effort, you need only give as much time as you are able. And you don’t have to be a programmer; if we’re going to do this right, we need a wide range of people with many different skills, interests, and ideas.

If you have questions or comments, contact me via email (jacek.antonelli on gmail) or in-world IM (Jacek Antonelli).