On Tue, 18 Dec 2012 05:53:02 +0100, Latif Khalifa wrote: > On Mon, Dec 17, 2012 at 10:18 PM, Oz Linden (Scott Lawrence) > > People who don't fancy themselves to be the infallible gods of system > design often find it beneficial to hear the feedback, especially in > opensource projects. It might even lead to (gasp) more reliable system > and better customer satisfaction.
In fact, it was not just feedback: there has been a "feedforward" from me, months ago (see the quoted emails below, exchanged with Oz back in July). > Whenever I relapse into using my time to help improve Linden Lab's > products by doing testing, filing bug reports and repro cases, Oz > Linden's attitude quickly convinces me that it's not worth it. > > (This email started as my feedback about some timing issue with > network messages that could potentially cause bake fails, but then I > saw all-knowing Oz dismiss any need for it) I'd rather not judge "Oz, the man" because it is hard to tell whether his actions are the only result of his own decisions and doings, or are the materialization of LL's policy towards OpenSource and, if we can judge from the resulting actions their policy would clearly be: "take benefit of all the advantages OpenSource can bring to us (i.e. free coding and debugging horsepower provided by volunteering developers), and dismiss all the duties OpenSource cooperation involves in return (such as providing clean diffs for changed we made behind closed doors(*) before releasing them, but also providing an *open* list of known bugs to developers)". As far as I am concerned, while I am very sorry for the poor implementation choice (and while I saw it coming and tried my best to offer a smarter and yet easy alternative), I can live with it (in 35+ years of programming I've seen so many poor implementation choices that I long lost the count and learned to make with them). No, what bothers me most (and what I *can* and *do* judge) is that LL (or Oz, or both), do(es)n't seem to (want to) understand what OpenSource entails (as benefits, rights, but also *duties* !)... Henri. (*) This is one of the worst problems with LL's viewer development: they modify stuff for months behind closed doors instead of doing it in the open... That's *NOT* the OpenSource way of doing things !!! And here is the "feedforward" stuff: --------------------------------------------------------------- Date: Tue, 17 Jul 2012 00:12:26 +0200 From: Henri Beauchamp <sl...@free.fr> To: "Oz Linden (Scott Lawrence)" <o...@lindenlab.com> Subject: Upcoming changes to the baking system and "current outfit" folder Greetings, Although I'm not invited to the TPV meetings (not that it would change many things anyway, since those are performed on voice and I won't understand half of what is said as a result), I was made aware that you (LL) are planing to *impose* the use of the "current outfit" folder to implement the future baking system... I personally got many grudges against this "current outfit" folder and the way the v2/3 viewers auto-create and auto-delete assets (be them links for the COF or, for example, auto-re-creating calling cards to mirror the friends list on login): - It is totally useless from the user's point of view (especially with viewers that provide a proper "Worn Items" tab, with full folder/items list of worn items, like Snowglobe did) and it therefore clobbers the inventory for nothing. - It is incompatible with OpenSim grids which don't support inventory links. - It can cause inventory losses in case of asset server and/or sim server issues; typical case: either the asset server got issues or you just logged in/entered in a new RC channel sim, and you change your outfit: the viewer messes up with the COF, deleting and creating assets in it and bang ! your inventory gets corrupted (this is in no way an hypothetical issue: it happened to me once while testing viewer 3 on a RC channel on the main grid, to see if inventory updates were also failing with LL's viewer on this particular RC (which was indeed the case), and I lost my whole #RLV folder, a folder that the "support" team was unable (unwilling ?) to recover (they apparently have no backup or refuse to use them !!!). When things go wrong with asset and/or sim servers, users are told not to mess up with their inventory, but with viewer 2/3, the simple fact of changing an outfit *does* cause automatic items creations/ deletions (and most users will be unaware of that)... This is BAD ! Because of the above issues, the Cool VL Viewer doesn't make use of the current outfit folder (you may even delete that folder altogether to keep your inventory lean and clean). Instead, it uses an XML/LLSD file in the per-account settings directory (meaning there is one such file for each avatar on each grid; they're even two for SL avatars: one for the production grid and one for the beta grid). The XML/LLSD is basically a list of inventory items UUIDs (one map for attachments, one map for wearables, the latter listed in the proper order so they are layered in the correct sequence on re-wear). It works wonders while not having any of the COF inconvenients. I would *really* prefer not to have to implement the COF stuff and I wish to keep my method which I find way more elegant and indisputably more reliable. My guess is that the only use of the current outfit folder in the future baking system will be to provide a list of inventory items UUIDs (and in fact the UUIDs of the wearables only) together with their layer info (in the links descriptions: what a dirty hack this, too !...) so that the server knows what and how to bake them. In this case, LL could provide an alternative method for viewers not implementing the COF: a message could be sent by the viewer (via a capability) that would hold all the said UUIDs in the proper order (i.e. taking the layers into account). Basically, instead of sending a "go for it, COF is populated, bake from it !" message to the server, the viewer would send a "go for it, here is the list of the inventory items UUIDs to bake !". This would be dead easy to implement as a wrapper to what you (LL) are probably already implementing... Thank you in advance for considering this proposal. Regards, Henri. -------------------------------------------------------------- Date: Wed, 18 Jul 2012 02:20:21 +0200 From: Henri Beauchamp <sl...@free.fr> To: "Oz Linden (Scott Lawrence)" <o...@lindenlab.com> Subject: Re: Upcoming changes to the baking system and "current outfit" folder On Tue, 17 Jul 2012 12:18:12 -0400, Oz Linden (Scott Lawrence) wrote: > On 2012-07-16 18:12 , Henri Beauchamp wrote: > > > Greetings, > > > > .../... I was made aware that > > you (LL) are planing to *impose* the use of the "current outfit" folder > > to implement the future baking system... > > I was planning to contact you about this one, actually, but as expected > you beat me to it. > > These changes are coming, but are not imminent, so there will be plenty > of time to make any adjustments that you need to make... I'm not worried about the time/delay: I can implement a minimum COF support in just a few hours (testing and debugging included), and since I provide weekly Cool VL Viewer releases, it is unlikely the viewer would get outdated/incompatible... It's just that I *really* don't want to implement a COF (I find this design flawed, glitchy and useless, for the reasons I already developed), especially since it would be very easy for LL to implement a baking request message that would make the COF presence totally optional (see at the end of this email to, for more ideas about it)... > > I personally got many grudges against this "current outfit" folder > > .../... > > > > - It is totally useless from the user's point of view (especially > > with viewers that provide a proper "Worn Items" tab, with full > > folder/items list of worn items, like Snowglobe did) and it > > therefore clobbers the inventory for nothing. > > Whether or not you present the COF as a visible part of the Inventory > display is entirely up to you; if you prefer to hide it, or present it > in some form you think is better separately that's perfectly ok. Oh, rest assured there would at least be one option to hide the COF should I be forced to implement it, but it no less creates useless items in the inventory... > > - It is incompatible with OpenSim grids which don't support > > inventory links. > > Compatibility with OpenSim isn't a design criteria for us That's a very sad trend that has been going on since v2 is out... I think you (LL) are (once more) committing a big mistake... I guess it will be for me one more occasion to say "I told you..." in a few months or years... Fact is that soon, we (TPV developers) will have little choice but to either drop support for a grid type (either SL or OpenSim), or have to maintain two different viewers, which not every developer will have enough time to dedicate for: I personally will not be able to afford releasing up to 8 viewers each week (SL + OpenSim, Linux + Windows, "stable" + "experimental" releases for each). It's already quite an achievement to release up to 4 viewers each week given the little free time I can spend on them (I'm a fast coder, but there are limits to what I can do). What people will do when their preferred viewer stops working in SL is THE question... AFAIK, even now, Phoenix (which has been reusing the backports and code I wrote for the Cool VL Viewer, i.e. inventory links, multiple attachments, alpha and tattoo layers, mesh...) is still the #1 viewer in SL... If you add the Cool VL Viewer, Singularity and their forks, it makes a very large user base (and moreover, a user base made of advanced users who are also the largest contributors and creators in SL). LL should really *think* about it and avoid compatibility breakage as much as possible (and I will admit that so far, things have not been bad on this aspect: "legacy" services are still working in SL for now, and that's a *very* Good Thing: I would *hate* to loose the legacy profiles or searches, for example). > (and there's nothing about this that they could not support if they > chose to). Sure... But like all OpenSource developers, they do this for free and on their free time (which is not unlimited). If LL clearly shows off a will to break compatibility with OpenSim, the developers of the latter could well decide to just take the next, logical step and right out declare OpenSim will require separate viewers. There has been some synergy between SL and OpenSim (though, since the closure of the Snowglobe v1 project, this synergy seems to be history), and I think it was a good thing for all (SL, OpenSim and their users). > > - It can cause inventory losses .../... > > There is nothing about the use of Inventory for this or any other > purpose that is intrinsically unreliable. Granted, at various times > there have been bugs (it is software after all), some of which have had > unfortunate consequences. At present, we think it's sufficiently > reliable when used correctly to support this, and if that turns out not > to be the case then we'll fix it or change our plans, but past bugs are > not a reason to stop using Inventory. And what will happen when the asset servers have glitches (which is very common, especially on peak hours) ?... Avatars will stop baking grid- wide because their COF will be unreadable by the servers or impossible to update by the viewers... Granted, baking also fails now because of asset server issues, but at least, residents who have a cached inventory list and cached textures for what their avatar is wearing can still bake properly. > > My guess is that the only use of the current outfit folder in the > > future baking system will be to provide a list of inventory items > > UUIDs (and in fact the UUIDs of the wearables only) together with their > > layer info (in the links descriptions: what a dirty hack this, too !...) > > so that the server knows what and how to bake them. > > In this case, LL could provide an alternative method for viewers not > > implementing the COF: a message could be sent by the viewer (via a > > capability) that would hold all the said UUIDs in the proper order > > (i.e. taking the layers into account). Basically, instead of sending > > a "go for it, COF is populated, bake from it !" message to the server, > > the viewer would send a "go for it, here is the list of the inventory > > items UUIDs to bake !". > > This would be dead easy to implement as a wrapper to what you (LL) are > > probably already implementing... > > I've forwarded this to the development team for consideration, and will > let you know if they wish to explore it further. In fact, instead of letting the server read directly from the COF on recieval of a "go for it, COF is populated, bake from it !" message from the viewer, the *standard* message for baking could be the one I proposed ("go for it, here is the list of the inventory items UUIDs to bake !"): this would work just as good for COF-based viewers (with just a little more code to add to retrieve the wearables UUIDs), would make the baking system *independent* from the inventory structure (in case it is changed again in the future) and would let the responsibility to the viewer (and its user) for how the inventory is used and how the outfits are organized in it... > In the mean time, you may want to consider what it would take for > you to provide support for COF at least on the backend. It would take me a *lot* of grumbling and cursing against Lindens and their silly hacky ways of implementing simple, straightforward things and making them into ugly pieces of intricate and unreliable code (frankly... did you have a look at how the COF is implemented in v2/3 viewers ?... It's so intricate and convoluted that it's laughable !)... ;-P > .../... > Rest assured that I'll keep you informed on developments; even if it's > not in our directory, Cool VL has more than enough users that I would > rather not break it. Thank you !... And on my side, rest assured I'll keep pestering each time LL takes such steps as the COF-based baking. ;-) Regards, Henri. _______________________________________________ Policies and (un)subscribe information available here: http://wiki.secondlife.com/wiki/OpenSource-Dev Please read the policies before posting to keep unmoderated posting privileges