Thursday, August 30, 2007

Experimental: Bleeding Edge 18xh

Here's a quick one for early adopters (and without all the usual release blurp).

I just uploaded an 18xh to the experimental folder on the server. It runs on top of 1.18.3(.2) with the usual Nicholaz stuff and the patches that were left over (i.e. not already imported by Lindens). Details are in the change log.

It is designed to run over the release candidate, but might also work on top of 1.18.2 (I have not tried that yet though).

Please let me know what you find.

Under the Hood: Release Candidate 1.18.3

I went through the 1.18.3 source today, but have not installed it yet.

This viewer is a odd beast. I still don't understand why voice was release when it was released and how it was released. It seemed a bit out of place and time, given the previous Linden rhythm of releases, but someone recently suggested that they wanted it out before the SLCC. That could be an explanation or at least one of many factors (another would be to reduce the number of clients).

But back to 1.18.3. This release minus the voice feature would have been the natural next step after 1.18.0.6 and would have been a very nice version indeed. With voice it's still a nice step forward, but the comments on the blog were a mixture between "thanks for the fixes" and "why didn't you fix the GUI and slowdowns".

There are a bunch of patches from my 18xg (mine and from other contributors) plus a good deal of new stuff from Open Sourcers or Linden Labs. The good news is that my Nicholaz patches (GUI, memory, the usual stuff) go in fairly easy, meaning that the next experimental build will be based on 1.18.3. I guess I will even take one or two issues (e.g. the embedded notecard problem) back into to Old School viewer.

Bottom line: Doing release candidates before going public is a good concept and has the side effect that you'll now be able to easily run the Old School and Bleeding Edge next to each other. 1.18.3 has a very nice set of fixes, but unfortunately still none addressing the areas that many users (at least those using my viewer and myself) are currently dissatisfied with. It brings the voice (and my x-series) a good step forward, but not to the point where I would like it to be. IMHO Old School still rulez.

Linden Release Candidate 1.18.3 (Updated)

Just when I was uploading my 18xg the Lindens have posted on the blog that they have a new version. It is called a Release Candidate, meaning that it is a version that they technically believe is ready for release but which is there for residents to bang on and stress test before they officially put it out to the public. So in other terms, it's a first look or beta.

It comes with an impressive list of fixes and installs besides the regular viewer so you can switch back and forth between the two.

I'll download the source tonight to see how my changes fit in. Meanwhile if anyone is testing it, please leave comments here about issues you feel worth having a look at.


Update: I didn't have a chance to test the new viewer yet, but it just occurred to me that this is a nice opportunity to have Old School and Bleeding Edge next to each other. Install 1.18.0.6 with Old School as the main viewer and use the Linden RC as the secondary to play with voice and Bleeding Edge.

Wednesday, August 29, 2007

Bleeding Edge: Edition 18xg

Here is an new release from the bleeding edge. Nothing spectacular, but in 18xf ctrl+T was broken, which was annoying for those who were used to it (btw, it's a helpful key combo for those who did not use it yet). I also added an option to disable notifcations about new updates. For good measure I also turned on the compiler optimizations which may give you a bit of extra speed.

Personally I still recommend to use the old school viewer. However, if you want or need to use this voice release, please look at the change log for all details before downloading.


Important:
You need to have Linden version 1.18.2.0 installed before running my 18x-versions. If you still have 1.18.0.6, my Old School Editions 18a-18i are for you. Also, with 18x there are extra GUI files included in the archive, make sure you RTFM the install.txt file.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

Download nicholaz-18xg.zip from here and while the download runs, have a look at the installation instructions on my server! (Previous 18x-versions of the viewer are still available and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Monday, August 27, 2007

Blog Roll: Interesting Bits and Pieces

Prokofy Neva, restless blogger, SecondLifer and fierce fighter for whatever causes come his way has recently started a blogish newspaper or a newspaperish blog named The Second Life Record.

Proky was actually the first second celebrity without Linden as a last name, which I ever became aware of (I think I first read the name in the printed Official Guide to SecondLife). He has two modes of operation. One mode drives people crazy by fighting over morale and pursuing personal crusades which probably go back so far that all sides involved have long forgotten how the quarrels started (one can usually just stop reading an article as soon as the word griefer appears).

The other mode is a thoughtful writing about SecondLife, it's history and a keen and sometimes cruel (the difference between the two is often just on which side you stand) eye and writing about the Lindens.

His new newspaper he's mostly in the better of the two modes and he currently has two interesting articles from the SLCC conference, one titled That's Me In Your Way covering Philip's speech and one named Coming Out of the Coding Cave where he got hold of Phoenix Linden (one of the Linden coding gurus) at some point during the conference and interviewed him.


Speaking of interesting articles, over at The Herald (incidentally a place where Proky used to write but got booted or quit himself or probably a combination of both) and amidst the usual madness of tabloid reporting about Sex, War, Gor, advanced Griefing and tendentious and lousily researched non-news are three gems worth reading and/or contemplating over a beer or five: Second Life Corporate Hype Bubble Deflates - Now What? by Inigo Chamberlain, What's the Harm by Onder Skall and Second Life Ethics by Victorria Paine.

An Alternative to SecondLife

Now that's a catchy headline, isn't it? :-)

When I need a break from the SL buzz, many times I go to the Beta Grid instead. The kewl thing there is you almost have a world to yourself. Things usually rezz fast, not bumping into avatars at every corner and meeting people there is nice because most people don't expect anybody else there besides themselves -- it's a bit like meeting a fellow countryman in a far remote corner of the planet. I imagine that this must be what SL was like in the old days (long before I arrived) and in many respects it's what I think SL should be like.

We used to need to install a specific viewer to access the beta grid, but you can just go to the second Second Life (is that 3rd Life?) by adding --aditi to the command line. Make a copy of your Nicholaz icon, right-click, Properties, Shortcut and chage it to "C:\program files\secondlife\nicholaz.exe" --aditi

The Lindens used to reset the inventory every 24 hours but now (since the het grid) I'm carrying the same luggage for weeks now.

You will also get 5000L money when your inventory is created, which can be spent on items in the (few) shops there or which you can use to upload and tweak textures until you are satisfied with them. I'm designing a skin which takes many many turns until things look right and I've saved 1000s of Linden$ that way.

I often like the beta world better than going to the main grid.

Odds and Ends

Here's a collection of answers to some questions or comments which arise occasionally or which I have seen on the forums.

Viewer tech details: I've read a couple of times that my viewer would patch the Linden viewer. This is not entirely correct. The nicholaz.exe is a build of the Linden sources with additional fixes/changes (called patches) applied. It is basically a standalone application, but it lacks all the stuff around the core program. Therefore it is put into the SecondLife program folder and when it runs, it runs independent of the secondlife.exe (theoretically you could delete that, although I don't recommend it), but uses all the other parts and files from the Linden distribution.

Viewer versions: My viewers currently come in two flavors: Old School (non-voice version 18a - 18j, based on Linden 1.18.0.6) or Bleeding Edge (voice 18xa - 18xf in the experimental folder on my server, based on Linden 1.18.1.2 or 1.18.2.0). Either type needs to be installed together with the corresponding Linden version. My latest Old School viewer will try to detect if you were putting it on top of a Linden voice viewer by checking the existence of the file vivoxsdk.dll in the program folder. It appears that this file may be left over if you switch back from Linden voice to Linden 1.18.0.6, so you may have to delete it manually in that case.

Roadmap: My main focus at the moment is the Old school Viewer. As far as I am concerned, the Linden voice viewer was released prematurely and if I had to decided it, it would still be a First Look or Beta version, so I'm currently treating it as such. I have done the experimental (18x series) releases to see what it looks like and if the GUI can be brought back into a form which many seem to prefer. Meanwhile there should be a new voice version in the Linden pipeline with a lot of bugs fixed from the JIRA. When that version is released, I will check or collect feedback about how it works, what tweaks LL made to the GUI and if they also ironed out the problems which were introduced with voice (increased memory consumption, the mysterious pauses, etc.). Eventually I think I will concentrate my efforts on voice and will check what I can do for that viewer.

Voice: I have used voice on two occasions now. One was a test here at my office with a friend to see how it generally works. The other was at the hippo awards, where Cory and Liana delivered their communication through voice, but none of the regular (non-Linden) residents was using their microphones through the whole event. I can see how voice can be useful on some occasions and I'm not generally opposing it, but at the same time during that event I found that it's hurts the immersiveness. There were issues with sound volume, at times speakers were hard to hear and I had to constantly tweak the volume slider or move the camera towards the speaker to hear him or her correctly. Generally, what happened was that the attempt to hear the person focused the attention almost fully on aural input, more or less shutting down all other senses and glueing the camera near the speaker because of distance, sound volumes, etc. So in my experience, using voice changes the SL experience drastically. I fully admit that for some people it may change it to the better, but the in-world experience with voice doesn't reflect what SL means to me. On the other hand, with the GUI changes which I made to the voice viewer the viewer looks more or less like the old one, voice just being an unobstrusive addition for those who want to use it.

Sunday, August 26, 2007

Happy Hippo

Many of you have probably heard about the hippo awards already, but for those who have not, it seems the jury at Linden Labs decided that I'm the hippo of the year. Actually I have no idea what what the Linden Innovation Awards has to do with hippos, maybe it's about the Hippo bug in the viewer (you can trigger a bug by Ctrl+Alt+Shift+H, it seems to be a demo bug for beta testers to check dump creation or something).

But nevermind, Hippo of the Year has something funny to it, it sounds a lot less formal than Innovation Award Winner or Contributor of the Year :-)

On top of the Apple computer which was known as first prize in advance, Linden Labs threw in some Land (rent for a year) and some Linden$ for good measure which is a nice touch. I especially like that the winners in the other categories don't walk away empty handed ... this whole open source project is about sharing and collaboration and without the others, for example without the compile instructions on the Wiki, without pre-sorted bugs on the JIRA, without help on sldev, I wouldn't have come very far with my efforts.

What should not be forgotten are two groups of hippos though. One is Hippo-Lindens, that is those Lindens who go through the nitty-gritty of patch importing and dealing with end users and their problems on a direct basis. Rob said in his speech that I'm at times a fierce critic of Linden Labs, but reading this blog back hopefully proves, that I also give credit where I think credit is due. There are "Lindens drive me nuts" moments, but also "Yay Linden Labs" posts. On of the moments which made me respect Lindens was yesterday. I've been (and still am) pretty harsh with my opinion about the last voice release, but giving me the award anyway and throwing in some unexpected extras --despite my recent posts of hard knocks-- has class and I fully acknowledge that.

The other group which should not be forgotten is Hippo-Users, which includes many of the readers of this blog who provided feedback, to the time (and trust) to mail crash reports, repros, downloaded test viewers or worked with me on trying to locate or fix specific problems or who just wrote blog posts or emails or IMs with a heads up or patted me on the back.

Oh, and there's my girlfriend. A lot of the work I've done on the viewer (which were phases of an almost fulltime job) was on time not spent with her. Enduring that is very hippo! Yay Sue, I love you!

So, thanks everybody involved ... hippos rule! :-)

Saturday, August 25, 2007

Clearing Voice Option for Parcels with 18j

This afternoon I checked the new function to disable voice on land with the old school viewer. It seems to work but is not entirely obvious, so here are the steps:
  1. Debug menu (Ctrl+Alt+D), Client, Debug-Settings, _Nicholaz.Land_DisableVoice: Make sure this is set to TRUE and close the window.
  2. Right-click your Parcel, select About Land
  3. Make some of change to the land (e.g. toggle one of the check marks off and back on) and close the dialog.
This will turn off the voice feature for the selected parcel.

Old School: Release Version 18j

I made a few minor changes to the old school viewer. Most of it is irrelevant for users who have 18i running, but two may be worth the download. Both come in the form of new options (debug menu, client, debug settings):
  • Option to disable voice when editing a parcel: with this option enabled if you edit your land and apply the changes it will turn voice features off. There's no extra dialog or buttons or something, just editing land (with this option from the debug menu activated) will clear the voice flags for the parcel (somebody who owns land, please check and verify this).
  • Option to suppress notification for optional viewers: if you don't want to be bothered by announcements for new optional (voice-)viewers you can turn these permanently off (my previous viewers were doing this by misrepresenting their version numbers).

Important: You need to have Linden version 1.18.0.6 (download here) installed before running my Old School versions (18a - 18j). If you have a more recent Linden viewer with voice (1.18.1.2 or 1.18.2.0), you will instead need to install my Bleeding Edge Editions.

Oh, and of course there is still the little goodie on the server, for those who want a more compact and appealing friends list (works with all my Old School Editions, see the readme.txt inside the file).

Depending on what viewer you were using previously, you may want to take a moment to check the change log for all details.

This version is for the Windows platform. It is optimized in processor independent ways. It offers all the optimizations which previously my P4 releases had, except for the processor dependent options. I'm not sure if the processor optimization made any actual difference anyway, but this should be a good balance which serves everybody.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

If you choose to use this release, please have a look at the install instructions on my server and then download nicholaz-18j.zip from there. (Previous versions are still on the server and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Friday, August 24, 2007

Linux Version of 18i

Lilly Zenovka took my source changes for the old school version 18i and compiled them for Linux. She gave me a few changes to the source in areas where my source caused hiccups in gcc and added Linux code to display memory footprint. These changes will go into my future releases also, so anybody who wants to make Linux compiles will have it a bit easier.

There's also a downloadable binary for Linux, so if you want to run Lilly's compiled Linux version, point your web browser to her server: http://emak.free.fr/src/sl-nicholaz-18i.tar.gz

Thanks Lilly :-)

Tuesday, August 21, 2007

Exploring Apple ...

I'm a die hard PC person and since the times of the Commodore Amiga have never owned a computer which was not a self built PC and not a laptop which was not a Thinkpad T-Series. But last week, while taking a stroll through the city, I came by an Apple shop and decided to see what their approach to computing would be.

The shop was a bit too stylish for a guy who occasionally uses a soldering iron, it really reminded me of a Prada shop (not that I shop there either :-)), but their machines and gadgets seem nice. I didn't try much, their approach to things seems simple and fair enough. What really impresses me is the attention to graphical details in their GUI. Before the iPhone came out I read that the lead developer for the iPhone GUI was using a strong magnifying glass to look at details as small as a single pixel. Seeing the Mac user interface, I guess he is not the only one at Apple who does that. I'm a strong believer in the fact that the user interface of an application is a reflection of the inner design (someone who pays attention to tiny detail in the UI sure pays attention to detail in all areas) and if this true, there must be some pretty healthy software running at the core of the Mac OS.

I have followed a fair share of Apple vs. Windows discussions and I sure do not want to start them here, because I mostly find them tiresome for the reason that I do not believe in better or worse per se, just better suited for person X or more of a match to the preferences of person Y. But speaking of the visual appearance of the user interface, the guys at Apple are coming pretty close to what I like. Certainly a lot more than Windows Vista, which I have been ignoring so far.

I guess there's a fair chance of spending more time looking at an Apple desktop in the not so far future, which is actually why I went into that store in the first place. For that reason I was having a look at the MacBook/Pro machines. I must say they are nice, but wandering around the shop I was coming back again and again to another piece of Apple hardware, which I think is currently one of the most beautiful and well thought out computers on the planet:

imac

Hint, hint :-)

Friday, August 17, 2007

Bleeding Edge: New Version 18xf

Here is another release from the bleeding edge. There are few minor changes like handling the Ctrl+T key in a better way and a fix which I introduced when rearranging the buttons ("stand up", "mouse look", media, ....) near the bottom of the screen.

Unless I introduced something nasty, this will be the last bleeding edge release for some time. There are still problems left (performance, increased memory use, etc.), but these are of Linden origin. After having spent literally weeks of fixing bugs and stabilizing the viewer prior to voice, it is utterly frustrating to see the viewer being broken again in new ways. Straightening out the GUI was bad enough, but digging again through the intestines to fix things and plumb holes which were ok before and, worst of all, which do not seem to be related to voice functions, is something which at the moment I simply do not want to do.

So personally I'd recommend to use the old school viewer. However, if you want or need to use this voice release, please look at the change log for all details before downloading.


Important:
You need to have Linden version 1.18.2.0 installed before running my 18x-versions. If you still have 1.18.0.6, my Old School Editions 18a-18i are for you. Also, with 18x there are extra GUI files included in the archive, make sure you RTFM the install.txt file.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

Download nicholaz-18xf.zip from here and while the download runs, have a look at the installation instructions on my server! (Previous 18x-versions of the viewer are still available and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Old School: Release Version 18i

Here is another old school release. I implemented parts of an excellent strategy by Blakar Ogre in regard to the particle system (creating less particles which are are out of view), added an option to revert back to the old layout of the buttons (IM Received, Stand Up) near the bottom of the screen and also fixed a bug which occasionally turned those buttons into an ugly large gray bar. A possible crash is also fixed. In case you have problems with the new changes, please go back to 18g which is tired and trusted with over 800 downloads and not much of a problem (besides the unavoidable).

Btw, the old school (non-voice) releases are still my preferred viewers if you do not need voice. From what I hear and see, there are still slower framerates, memory leaks, generally higher memory consumption and occasional hiccups out there on the bleeding edge (voice viewer). Which is why I still consider the 1.18.2/18xe releases experimental. I expect a Linden 1.18.3 within a week or two and we will have to see what this will bring and how long it will take to implement my changes for that.

As far as I'm concerned, Old School 18i (or the fallback 18g) is the lean and mean tool of choice for the seasoned Second Life warrior.

Important: You need to have Linden version 1.18.0.6 installed before running my Old Scholl versions (18a - 18i). If you have 1.18.1.2 or 1.18.2.0 voice, you will instead need to install my Bleeding Edge Editions.

Oh, and there is still the little goodie on the server, for those who want a more compact and appealing friends list (works with all my Old School Editions, see the readme.txt inside the file).

Depending on what viewer you were using previously, you may want to take a moment to check the change log for all details.

Version 18h is optimized in processor independent ways. It offers all the optimizations which previously my P4 releases had, except for the processor dependent options. I'm not sure if the processor optimization made any actual difference anyway, but this should be a good balance which serves everybody.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

If you choose to use this release, please have a look at the install instructions on my server and then download nicholaz-18i.zip from there. (Previous versions are still on the server and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Monday, August 13, 2007

Bleeding Edge: New Version 18xe

After 18xd seems to be fairly stable besides an issue for some users when opening the texture picker or a new inventory window, here is another release. It has some mostly cosmetic issues fixed, mostly a visual cleanup of the Near-Me window (holy shit, was that window ugly, I wonder if it was done by the same GUI specialist that came up with the brilliant idea to put groups/friends into the IM view).

Depending on what viewer you were using previously, please look at the change log for all details.


Important: You need to have Linden version 1.18.2.0 installed before running my 18x-versions. If you still have 1.18.0.6, my Old School Editions 18a-18h are for you. Also, with 18x there are extra GUI files included in the archive, make sure you RTFM the install.txt file.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

Download nicholaz-18xe.zip from here and while the download runs, have a look at the installation instructions on my server! (Previous 18x-versions of the viewer are still available and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Saturday, August 11, 2007

Performance Tip: Defragment Disk

I mentioned it some time ago already when posting about tweaking the viewer's performance, but here's a short reminder again to do an occasional disk defragmentation (go to My Computer, right-click on disk, Properties, Tools, Defragment).

I did that today and it did wonders to the smoothness of my viewing experience.

Bleeding Edge: Voice Edition 18xd Seems Stable

First of all, many thanks to Alex Lollipop for spotting the connection between the crashes and wearing a HUD (that was immensely helpful!) and thanks Rhyph Somme for the speed testing of the subsequent version. Thanks also to everyone else who tried the viewers and added to the picture.

That said, it seems we now have a voice version which seems to be what you expect from a Nicholaz Edition: Better than the official viewer. :-)

If you want to give it a try and missed the early posts, the details in this post mostly still apply (especially in regard to features and installation), we're just now speaking of version 18xd.


Here's the summary:

The 18xd viewer requires Linden 1.18.2.0 installed. Also, some of the changes made it necessary to provide some GUI files. To ease installation, these will have to be stored in the program folder directly. They are only available in English and for the moment I will not accept translations, although of course you can translate these files for your personal use and/or share them here (post comments with download links if you like).

You can download the viewer from the experimental folder on my server. Installation instructions are included and you should RTFM them!


Please share your thoughts and observations as comments to this post.

Again, thanks to everybody who tried 18xa/b and especially those who suffered crashes and provided dumps and details.


Nick

PS: Btw, I'm referring to voice releases now as Bleeding Edge while the ones based on 1.18.0.6 will be tagged Old School. That way you'll be able to quickly browse through the blog posts and releases and see if it's the branch you're interested in (myself I still tend to prefer the Old School Edition).

Old School: Release Version 18h

After mostly dealing with the bleeding edge voice viewer over the last week, I now want to make a new old school version (non voice). There are no dramatic changes, but I imported some Linden code from 1.18.2.0 which may fix a few crashes I've heard of occasionally. It also has a change from my voice version which rearranges the status buttons ("stand up", "release keys", ...) in a more compact way near the middle of the screen to leave space for the chat history and inventory. Last but not least it will store Camera Constraints and Admin Options (both from the Debug menu) across sessions.

Important: You need to have Linden version 1.18.0.6 installed before running my 18a-h versions. If you have 1.18.1.2 or 1.18.2.0 voice, you will instead need to install my Bleeding Edge Editions.

Oh, and there is still the little goodie on the server, for those who want a more compact and appealing friends list (works with all my Old School Editions, see the readme.txt inside the file).

Depending on what viewer you were using previously, you may want to take a moment to check the change log for all details.

There is again no P4 release this time, but 18h is still optimized. It offers all the optimizations which usually only my P4 releases have, except for the processor dependent options. I'm not sure if the processor optimization made any actual difference anyway, but this should be a good balance which serves everybody.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

If you choose to use this release, please have a look at the install instructions on my server and then download nicholaz-18h.zip from there. (Previous versions are still on the server and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

Bleeding Edge: Experimental Crash-Hunt Versions 18xc and 18xd (Updated)

I'm putting a new bleeding edge version on the server (and into the experimental folder).

Yesterday's version seems to be running okay, but crashes for some people directly after a teleport. This may be related to wearing HUDs (especially a MystiTool), i.e. HUD+TP => crash.

However, this version 18xc is based on the new Linden source 1.18.2.0. That source has a Linden fix in regard to HUDs and I also left out a few of my usual patches which could be related to teleporting, which means that 18xc is a bit behind yesterdays build in terms of Nicholaz'ness.These are changes of lesser visibility so you probably won't notice them, but we need this step to narrow down the TP crashes.

In practical terms those who were experiencing those post-TP crashes, should please download and install Linden 1.18.2.0 and then put 18xc on top. The question then will be: Do you still experience post-TP crashes with HUDs attached?


Update: Rhyph's comment indicates that 18xc does not have the post teleport crashes, so there's now also an 18xd which brings back my memory management and image buffer improvements. Question of course is, if it still TP's okay with HUDs on the screen.

Friday, August 10, 2007

Bleeding Edge: Experimental Version 18xb (2x Updated)

Update 2: The first wave of crashes (Group IM dialog and Active Speakers from Talk button) is fixed, so we go with a version 18xb now. Also, if you like to use both viewers (old non-voice and new voice) at the same time, see the comments, a user left a comment instructions for that. And thanks for everybody for the help with the first crashes.

--->

It seems to be a good time offer a beta version of my redesigned voice viewer. My intended audience would be users who are already running Linden version 1.18.1.2, because those people would know what to expect and notice the differences and would also have a relatively easy installation.

Of course everyone else is also welcome to the try and share feedback comment, but be aware that you will have to install the current Linden viewer first! When you do this and if you want to go back to my 18g, you will first have to install the old Linden viewer again.

However, the experimental version has been described in my recent sneak preview and progress posts already, so go back to these posts for a more detailed account of what I attempt to do. Basically it comes with most of the tried and trusted Nicholaz features plus voic GUI redesign. Please make sure to read the change log, which lists all the nitty gritty, so you won't miss any of the glorious details. :-)

I am pretty confident that I found a good balance between the old and new, at least at the moment I am able to use this viewer without being constantly annoyed. In fact I'm beginning to prefer it over 18g already.

Important: The changes made it necessary to provide some GUI files. To ease installation, these will have to be stored in the program folder directly. They are only available in English and for the moment I will not accept translations, although of course you can translate these files for your personal use and/or share them here (post comments with download links if you like).

You can download the viewer from the experimental folder on my server. Installation instructions are included and you should RTFM them!

Please let me know about your thoughts, problems etc. regarding this version through comments to this post.

Oh, and it would be nice if someone would actually try to use the voice feature with this version, I have no idea if that still works :-)



Footnote: Source code with patches is also there. If you want to compile it, you can either put the source files on top of a clean 1.181.2 or apply the patches, but make sure you are adding the new files (nb*.cpp and nb*.h) to your newview project. In case you are compiling for a platform different from Windows and find quirks (like missing #ifdef LL_WINDOWS), please let me know about them and I'll include them in future versions.

Wednesday, August 8, 2007

Progress ....

I'm making good progress with the voice viewer. I did sort out patches from 1.18.0.6 which were imported in the Linden viewer, adjusted a few because they were in places which had changed and cleaned up the rest a bit to make them easier to handle in the future.

In addition I have four patches which are voice specific: One which brings back the old friends/groups window and the old "New IM" tab in the IM/Chatterbox. One which hides voice controls from all dialogs if voice is disabled and shuffles controls in IM to save screen space. One which hides the extra chat entry field on History when Chat is activated. Plus one which cleans up the little control-tabs (audio, video, volume, etc.) above the button-bar at the bottom of the viewer window.

These two blocks of patches (old fixes and new voice stuff) can now be applied together, I just have not seen the result because almost exactly the minute they compiled clean through, Linden Labs was starting to have connectivity issues and disabled logins.

There are a few minor issues to straighten out, but if all works well, there will soon be a viewer which will be based on the new voice source code while looking pretty much like the old interface. Even if you have voice activated, it will offer these features in a way which blends into the old interface in a less radical form, meaning that voice controls will be more seamlessly integrated without trying to abandon tried and trusted interface in favor a new but kludgy design.

Monday, August 6, 2007

What is a patch?

With all the tweaking and bug fixing there is one word which is often used but which most non-programmers do not really understand. This word earned me the title Mad Patcher, so I'd like to take the opportunity to explain what a patch or patching is.

Basically a patch is something that has changed in a program source code. The source code is the stuff programmers work with, simply speaking source code is a bunch of commands which the compiler then turns into a program which the end user (you) can actually run.

So let us assume the following was a source code (it actually is some phantasy code, but not too far from the real thing):

File: chatterbox.cpp
LLFloaterChatterbox chatterbox;
chatterbox = createFloater("chatterbox.xml");
chatterbox->insertAsSubTab(panel_friends);
chatterbox->insertAsSubTab(panel_groups);
chatterbox->insertAsTab(panel_imsession);
chatterbox->displayFloater();
return;



Now, after modifying the program I might end up with code like this:

File: chatterbox.cpp
LLFloaterChatterbox chatterbox;
chatterbox = createFloater("chatterbox.xml");
chatterbox->insertAsTab(panel_oldstyle_newim);
chatterbox->insertAsTab(panel_imsession);
chatterbox->displayFloater();
return;



A patch would compare those two (using a program called diff) and emit something that just consists of the changes:

File: oldstyle_chatterbox.patch
+++ chatterbox.cpp
 chatterbox = createFloater("chatterbox.xml");
-chatterbox->insertAsSubTab(panel_friends);
-chatterbox->insertAsSubTab(panel_groups);
+chatterbox->insertAsTab(panel_oldstyle_newim);
 chatterbox->insertAsTab(panel_imsession);



These lines mean: Take the source code friends.cpp, find for the place in the code that looks like chatterbox = createFloater ... then delete the next two lines and insert another one instead. Also note that it does not contain the whole source, just a few lines around the change to indicate the place where they need to be made.

Someone else (another open sourcer or the Lindens) could then use this file to automatically have the same changes applied to their version of the code. Or when a new version of the viewer comes out, I can use the patch to redo my changes without having to go through all of them manually. In fact having to do them manually would be a nightmare, see the stats below.

Sometimes these changes (the lines marked with + or -) are just a few lines, sometimes it's hundreds. Also, a patch can contain changes in various places of the same file or even changes for multiple files. So a patch is basically a log which documents changes to source code, letting someone else play back these changes into their version of the source.

For the fun of doing stats and in case you're wondering why they call me the Mad Patcher, here are a few numbers: My version 18g has 57 patch files applied to it. 15 of those are from other open source contributors, the rest are changes made by me. These changes affect 108 files of source code. They remove about 700 lines of existing code and add over 1600 new or modified lines of program code instead.

Sneak Preview: Nicholaz 18voice

I spent a bit of time over the weekend modding the voice viewer's user interface, just to see what it takes and how it would feel using them. It's coming along nicely, although it will take a while until this code hits the road because the patches are quite messy (the affect more files than I like and include skin/xui files).

Below you will find three screenshots to show what I think would be a good approach. It doesn't take a genius to figure out this change, given a bit of practical in-world experience and the massive feedback on the JIRA so far.

Btw, it also doesn't take a genius to reverse the voice changes. Getting the external friends list and group list back took just a bit more than two hours, because a good deal of the old code is still in place. Either the Lindens wanted to leave themselves a path to reversal or this is the result of maintaining parallel source branches or the changes were made in a hurry without proper cleanup (they certainly look hackish in a few places). Either way, I'm not complaining. If I had implemented the chatterbox, the reversal would have been a LOT harder :-)

Here is a peek. The first screenshot is with voice features enabled in preferences, the second with voice turned off and the third is basically the second with a few areas of interest highlighted. (These pictures are taken from a workable version with a window size of approx 1024x768, UI size of 0.90 and they are only post-processed to shroud friend's details or to highlight areas of interest.)

But please don't hold your breath waiting for a Nicholaz Edition based on this. It is more of a case study and it will take a while to test that out and fine tune the UI. It will take even more efforts to bring voice up to speed with the usual Nicholaz features and I see no reason doing this in a hurry as long as the older non-voice viewers are still working, and working quite well.

Depending on how it goes, I might release a prototype this week though; that is a Linden-voice version plus the UI redesign, but sans Nicholaz-specials. Let me know on the comments here if you are interested in testing such an edition, i.e. if you are a user who can't use my non-voice version because you need voice but at the same are sufficiently annoyed by the UI to try a beta.

Friday, August 3, 2007

Release: Nicholaz Edition 18g

After the surprising voice release yesterday I took some time today to look over the code for Linden 1.18.1.2-voice. I did not see anything that would be worth borrowing from there, certainly not voice or the dialogs, but also the other changes are rather irrelevant.

I will eventually make a release based on the voice viewer, but most likely not before the initial wave of voice related bugs is fixed and not before I have changed the user interface towards something that is actually user friendly (and guess what, the second will probably be a achieved a lot quicker than the first).

Meanwhile I wanted to make an 18g. It fixes one possible crash, but also suppresses the notice that an optional update 1.18.1.2 is available, which will save you the click and the small interruption when logging in.

Oh, and there is a little goodie on the server, for those who are a bit adventurous (works with all my editions, see the readme.txt inside the file).

Depending on what viewer you were using previously, you may want to take a moment to check the change log for all details.

There is no P4 release this time, but 18g is still optimized. It offers all the optimizations which usually only my P4 releases have, except for the processor dependent options. I'm not sure if the processor optimization made any actual difference anyway, but this should be a good balance which serves everybody.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

Important: You need to have Linden version 1.18.0.6 installed before running my 18a-g versions. If you have 1.18.1.2 voice, you will need to install the older Linden version before running my editions.

If you choose to use this release, please have a look at the install instructions on my server and then download nicholaz-18g.zip from there. (Previous versions are still on the server and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"

A puzzling riddle ...

Two recent headlines from the Linden blog. What's wrong with them dear reader? Can you spot the error?

Do not rez no-copy objects without land permissions
Friday, August 3rd, 2007 at 11:34 AM PDT by: Data Linden

The Second Life Voice Viewer is Live!
Thursday, August 2nd, 2007 at 3:19 PM PDT by: Stephany Linden

Thursday, August 2, 2007

1.18.1 released with voice feature (updated)

Rhyph just left a comment on yesterdays blog post, that a new viewer is out and and really it is. Apparently it now incorporates the voice feature in the official release. Now, we were told yesterday that it won't be long until this will happen, but this came as a bit of a surprise.

The new viewer will be optional. When starting an older viewer (Linden or mine) you will see a window telling you about the upgrade and you can choose to download or to continue.

I have no idea what happens if you mix this release with my edition, but I assume that the results will be less than desirable. So if you want to try it out and don't like it, here is the link to download the older Linden viewer 1.18.0.6 again, which will get you back to were we were before in case you don't like the new version or want mine back :-)

I can not say much more at this point. The source is downloading while I write this, but there were no release notes on their blog, so I have no idea what else is in that version. It will take a day or two to comb through the changes, and since the release is indeed optional I will not hurry it, so don't hold your breath.

But please post your thoughts and findings as comments here.


Update: I was just going through the fixed bugs in the release notes. As far as I can see, there's nothing truly interesting there that isn't in my viewer as well (a good deal of the 1.18.1 bug fixes are courtesy of Nicholaz anyway). I did not compare them one by one, but I think that 18f is still ahead of them by a few good patches. So unless you are interested in voice or unless some specific changes have importance to you, I think it is not unfair to can say that there is no overwhelming reason for upgrading from Nicholaz to 1.18.1 (I certainly give them credit when it's due, but if you run down their fixes' JIRA numbers alongside mine you'll see what I mean).

As a side note, I was looking over the comments on the blog there and found that #37 and #43 were summing up my thoughts about this release quite well.

The Bleeding Edge: Voice

After hearing a lot of complaints about the new integrated communication window in the FirstLook Voice viewer over the course of the last weeks, I recently decided to give it a try.

I don't have any strong opinion about this feature, besides the fact that I don't intend to use it and besides that at the time when I first heard about it, the official viewer was such a buggy mess, that I was basically thinking what most people thought, i.e. asking myself why the heck the Lindens bothered working on with this while using their program was such a woeful experience.

With the main viewer running a lot better now (gleefully ignoring the recent grid issues) and knowing that voice is inevitable and will probably be coming to a computer screen near me real soon now, I wanted to see if reports about it's user-unfriendlyness were true.

I had heard that all the communication related features were now integrated into one window and that this window, compared to previous versions, was taking a lot more of the precious pixels on screen, basically covering a large part of the view into our beloved world.

The bad news is: It's true.

Please bear with me for a moment. I have no objections about adding this feature. I understand that many people like it and that it may be beneficial in many situations and that it is probably appealing to many which are Linden's cash cows or to the Lindens themselves.

It is also pretty clear that this feature will split the community in a new way, but second life residents are already a pretty heterogeneous lot, so I think it won't make much difference.

But what I would expect, is that this feature, which many have expressed to be irrelevant for their use of second life, will be implemented in a way which is more or less transparent if they do not use it. Which is unfortunately not the case.

I won't go into all the technical and design details here, but I can fully understand that those who do not use voice hate the new layout. In fact I'm amazed that those who like voice, do not hate it also, but the reason probably is, that when you're on voice, you intuitively shut down all other senses and concentrate on hearing, thus pulling yourself out of the on-screen activity anyway. And via voice you also don't need a window with IM seessions or chat history.

I may be a bit narrow minded, but it is beyond me how anyone can believe that this design is a step forward in any direction or for any kind of usage.

You may not like it, but the prospect from what I hear on the sldev mailing list is, that integration of voice into the official viewer will be a matter of days or few weeks now, rather than being many weeks or months. With this short term time frame and complaints from over 100 users on the JIRA being largely ignored by now, I guess the genie is out of the bottle and I do not expect that there will be any profound changes to the user interface before going official.

The good news however is that older versions of the viewer (based on 1.18.0) will most likely continue to work (thanks Lindens for message liberation). What is also good news, is that from what I have seen so far, these changes seem to be reversible with reasonable effort. So instead of trying to achieve what so far the community has failed to effect, I guess I will just wait until voice has been released officially and until source code is available and will then simply modify the viewer to resembles the old user interface with voice features being more or less invisible if voice is disabled and the explosion in the UI-parts factory cleaned up.

Release: Nicholaz Edition 18f

The previous experimental release seems to have worked fine, besides a minor issue with particles, which has been fixed and the recent grid woes led to a possible crash being fixed thanks to a user provided crash report. In other words, we are ready for a new release.

None of the changes here are dramatic, but you might like the newly added key combination shift+esc to recenter the camera regardless of the chat window being open or not. Those of you who dislike the recently added double-click default actions for inventory objects and landmarks can disable them in the debug settings (debug menu, client ... although this option may reset itself when you run the standard viewer). Other than that the fixes are of a more subtle nature, like slightly lower memory usage in some situations or the odd fix of gui quirks by other contributors.

But please just take a moment to check the change log for all details to assess if you want to use this release (previous ones are still fine).

I also plan to make a P4 release for Intel processors this time (optimized for Pentium 4, CoreDuo, Core2Duo, QuadCore). It's not yet ready, but it should be ready for download at some point tomorrow.

Disclaimer: This viewer is unofficial and although I am doing my best to make it better than the release viewer, it may contain extra bugs and you will have to trust me that there is no malicious code in it. Please also understand that it runs on the main grid with your real Second Life account and inventory. Also read the disclaimer/header in the Install.txt in my archive.

Important: You will need Linden version 1.18.0.6 or higher installed before running my 18a-f versions.

If you choose to use this release, please have a look at the install instructions on my server and then download nicholaz-18f.zip from there. (Previous versions are still on the server and should continue to work fine in case you want or need to go back.)

PS: There is an in-world group for announcements of my releases: Search, Groups, "Nicholaz"