<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nik+Woodget</id>
	<title>Second Life Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.secondlife.com/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Nik+Woodget"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Nik_Woodget"/>
	<updated>2026-07-26T05:10:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=41989</id>
		<title>Talk:Viewer Visual Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=41989"/>
		<updated>2007-11-28T10:08:16Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: /* Multiple Monitor Support */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thanx for the feedback thus far... ==&lt;br /&gt;
Hello and thanks for the comments! I&#039;m involved with this project, codename &amp;quot;Dazzle&amp;quot;, insofar as helping the Rx Team get the word out to our community. I haven&#039;t read all of these comments in close detail yet, but I appreciate not just the content, but the presentation too.&lt;br /&gt;
&lt;br /&gt;
LordJason Kiesler — thanks for embedding that graphic to communicate what you think of about the button gradients. If anyone else wants to contribute screenshot mockups, please, you&#039;re more than welcome. Since this is a &#039;&#039;visual&#039;&#039; update, those type of aids help.&lt;br /&gt;
&lt;br /&gt;
I also had [http://www.flickr.com/photos/torley/1801183618/ some nice comments on my Flickr photostream], and will be encouraging more... and responding in kind. Appreciatively yours! --[[User:Torley Linden|Torley Linden]] 16:28, 1 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Great, [http://torley.com/introducing-second-lifes-dazzle-user-interface-update even more Dazzle feedback on my personal blog!] --[[User:Torley Linden|Torley Linden]] 08:04, 5 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
i love the new version :O is fantastic &amp;lt;br&amp;gt;&lt;br /&gt;
the near me bug is fixed exellent &amp;lt;br&amp;gt;&lt;br /&gt;
now i&#039;m bugfixing my purple version&amp;lt;br&amp;gt;&lt;br /&gt;
really a good job benjamin :D --[[User:Aliceinwire Bleac|Aliceinwire Bleac]] 04:56, 12 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Feedback and Ideas ==&lt;br /&gt;
*As far as I&#039;m concerned, one of the gold standard issues for interface usability in this or any other application is the ability to pull pop up menus off the interface. If one can&#039;t do that, it doesn&#039;t matter how pretty they look; they block content and make working in the interface overly difficult. Gotta be able to pull stuff off the interface or it&#039;s more of the same with new candy colors. [Professor Beliveau/5:18SL 10/30/07]&lt;br /&gt;
* In the Mac instructions, if you start with &#039;Make a copy of the Second Life application with &amp;quot;Duplicate&amp;quot; and rename it &amp;quot;Second Life Visual Update&amp;quot;...&#039; and move on from there then the &amp;quot;uninstall&amp;quot; step won&#039;t be needed, and people can more easily compare the two. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:14, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Great work on the graphics! Definitely shows off the potential for what can be done.&lt;br /&gt;
&lt;br /&gt;
Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
: I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Just to introduce the conservative voice *8) while I greatly appreciate thought going into the viewer and all, I wouldn&#039;t say that making the colors prettier and the buttons and icons slicker-looking would be where I&#039;d focus efforts if it was me.  Give me back a tearoffable friends list, let me tear off and move around llDialog() / GroupNotice style dropdowns, make the viewer notice and tell me something useful when packets-in-per-second drops to zero, and other actual functional enhancements would do me a world more good than shinier-looking buttons... [[User:Dale Innis|Dale Innis]] 11:06, 13 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* Great look, how ever the big problems in the gui layout are net even addressed in this preview. Friends and group was so much more easier to use before the voice release. I really like to get that in the 18.4 viewer nice Linux bug fixes but no working friends list yet in that version. Voice i guess that will come some ware around 2010 at best. I&#039;m not asking for much just two patches from nicholaz. (and probably a hard admittance from someone onside Linden  that new look with friends inside the IM window was a bad idea.) --[[User:Balp Allen|Balp Allen]] 00:36, 14 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Feedback on the style itself ==&lt;br /&gt;
&lt;br /&gt;
*The problem I&#039;m having is with the fact that most of the text in search results is white on a bright blue/gray background, which makes it hard to read. Also, text in profiles and (non-editable) group descriptions is difficult to read for the same reason. I think that adding more contrast would definitely improve the usability (not to mention the accessibility) of this skin. -- ????&lt;br /&gt;
&lt;br /&gt;
The theme seems to be mostly based on one of a variety of &amp;quot;glossy&amp;quot; 3d themes that have become popular in UNIX/X11 environments. I would much rather see the glossiness eliminated and something less overpowering being used as inspiration.&lt;br /&gt;
&lt;br /&gt;
Specific points:&lt;br /&gt;
:* With a light background ALL the text needs to be dark.&lt;br /&gt;
:* The window close and minimize buttons look smaller in this style, even if they aren&#039;t, and I keep slowing down to hit them more precisely.&lt;br /&gt;
:* The translucent menu bar is an improvement. It needs to extend under the menus themselves, of course. The backdrop for the button bars on the bottom should be translucent as well, for symmetry... and with the new style I don&#039;t think the little &amp;quot;loops&amp;quot; over the buttons above the chat bar are really useful.&lt;br /&gt;
:* The glossiness of the buttons is a problem, and they also look more like tabs than buttons. A flatter more &amp;quot;matte&amp;quot; style would work better.&lt;br /&gt;
:* The slight border around the chat and nametags is VERY nice.&lt;br /&gt;
:* The 3d look of hover text is not so good, I think because it&#039;s light. The light colored pie menu is &#039;&#039;really&#039;&#039; a problem.&lt;br /&gt;
:* The inventory and appearance editor seem significantly less professional.&lt;br /&gt;
:At the moment I think the original style is preferrable. I would say that the dark color scheme works better, particularly for translucent windows... if the ghosted windows could turn dark (but with light text) that would work, but that&#039;s probably more than XUI can handle. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:25, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
*I&#039;m not a fan of square buttons.&lt;br /&gt;
*Like Argent I struggle with some of the light backgrounds&lt;br /&gt;
*Would it be possible to have an instruction page? This file does... for all the images. I know its possible to open them all, and I will, but pointers for how to tweak what be nice. I&#039;m going to try a nicer (for my eyes) skin with greens, similar to the theme I&#039;ve got on my mac menus, and hack some buttons, but it will take a while to get right because I&#039;m flying blind (particularly for .j2c&#039;s that don&#039;t automatically preview for me). --[[User:Eloise Pasteur|Eloise Pasteur]] 06:53, 22 October 2007 (PDT)&lt;br /&gt;
:* Good print, J2Cs aren&#039;t well supported in bitmap editors yet. -- [[User:Argent Stonecutter|Argent Stonecutter]] 09:14, 22 October 2007 (PDT)&lt;br /&gt;
:* In the textures folder is a textures.xml file.  This is the mapping {purpose}.tga -&amp;gt; UUID.{any extension} --[[User:Thraxis Epsilon|Thraxis Epsilon]] 11:51, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I too struggle with the chat history and permission/worn status in inventory, as it&#039;s light text on a light background, but I hope you&#039;ll correct this by darkening the text. I like dark text on a light background very much... but OTOH I can understand how in a dark environment, you might want the opposite, sort of like the dashboard on your car... can it be made skinnable, so people can have what they prefer? (Changing with time of day or ambient lighting is probably a bit much to ask for, but would be very cool.) --[[User:Melissa Yeuxdoux|Melissa Yeuxdoux]] 16:23, 2 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Similarity to Mac/Aqua ===&lt;br /&gt;
Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
: I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
:: I don&#039;t think it looks Mac-like at all. In fact while Apple popularized the glossy look the &amp;quot;shiny metallic&amp;quot; look isn&#039;t really their schtick, and they have been moving away from the aggressive glossiness of the early OS X versions to a smoother and more professional look in Panther and Tiger.  -- [[User:Argent Stonecutter|Argent Stonecutter]] 18:02, 22 October 2007 (PDT)&lt;br /&gt;
:::I personally wouldn’t complain if they implemented as much of Apple’s HIG as possible. I wouldn’t expect them to get rid of the in-window menubar, but it would be nice if things like keyboard layouts worked properly. —[[User:Frungi Stastny|Frungi Stastny]] 06:53, 23 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Icons ===&lt;br /&gt;
&lt;br /&gt;
The icons representing prims in the object builder are too small. It is quite difficult to distinguish between similar prims as, for example, the cone and the semicone.--[[User:Eadoin Welles|Eadoin Welles]] 10:22, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I&#039;m not loving it... Although I do like some of the icons but color wise and color balance theme are killing my eyes.  The whole &amp;quot;gloss jem&amp;quot; buttons from Window Vista and OS Mac got really really old so fast.  For me, I&#039;d like a dark theme.   Something more like this theme. [[http://www.wincustomize.com/zoom.aspx?skinid=4617&amp;amp;libid=1]] --[[User:Vincent Nacon|Vincent Nacon]] 12:32, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t think the icons on the map or in other windows should be changed from the standard client unless absolutely necessary... and again I don&#039;t think that encapsulating the icons is really a good idea. -- [[User:Argent Stonecutter|Argent Stonecutter]] 18:06, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have to say I am underwhelmed by the icon set. Have you considered the [http://en.wikipedia.org/wiki/Tango_Desktop_Project Tango Desktop Project]? The Tango Project seeks to create a consistent graphical user interface experience across applications and platforms. IMHO, the quality of their icon sets is very high. Have a look at the icon sets and [http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines style guidelines on their website]. &amp;amp;mdash; [[User:Yuu Nakamichi|Yuu Nakamichi]] 15:21, 2 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Additional suggestions ==&lt;br /&gt;
This section should be kept for suggestions that are really beyond the scope of a theme change.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
&lt;br /&gt;
Would like more than anything to see the UI windows capable of being moved onto a second monitor off the main viewer window. Now that would be very cool and make life a whole lot easier.&lt;br /&gt;
:This would also mean making that the second life viewer would have to use system controls. Again its a pain for cross-platform software. Though not impossible. --[[User:Nik Woodget|Nik Woodget]] 02:38, 22 October 2007 (PDT)&lt;br /&gt;
::Why would this require using system controls ?&lt;br /&gt;
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 06:59, 22 October 2007 (PDT)&lt;br /&gt;
:::The UI in Second Life is part of the OpenGL rendering pipeline. In order for the controls to be seperated from the main window they would have to be contained in seperate OS controls. Maybe not system independent controls, perhaps custom controls rendered into borderless windows might work. --[[User:Nik Woodget|Nik Woodget]] 02:08, 28 November 2007 (PST)&lt;br /&gt;
:::: Aren&#039;t there free open-source cross platform systems already out there to do stuff like that?--[[User:TigroSpottystripes Katsu|TigroSpottystripes Katsu]] 05:32, 13 November 2007 (PST)&lt;br /&gt;
::::: Possibly, do you have any you can suggest? --[[User:Nik Woodget|Nik Woodget]] 02:08, 28 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
=== Mac Support ===&lt;br /&gt;
&lt;br /&gt;
For the Mac port, at least, the way that command and control are reversed is really hard to deal with. It would be nice if there was an option to reverse the command and control keys &#039;&#039;for XUI only&#039;&#039;. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:07, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Whilst we&#039;re talking about this - can we add a request for a proper implementation of the Mac GUIs, without the irritating internal menus as well please. Swap the menu bar menus the way the GUI guidelines suggest. It&#039;s a different code base after all. I may have got used to this structure, but it&#039;s one bit of muscle memory I&#039;d be very happy to get rid of! --[[User:Eloise Pasteur|Eloise Pasteur]] 15:56, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Widgets ===&lt;br /&gt;
&lt;br /&gt;
I like the new interface. It is surely better than the black one but, by the way, the real value would be to have a choice of skins which, in my understanding, is the main goal of this test. I think that another improvement might be to have the possibility to add gadgets. For example, I would like to have, close to the PDT time, also the local time, since most of events that I prepare are located in my country, and I prefer to use local time rather than useless PDT time. Rather than adding this feature, which may be of no interest to USA people and surely not at all to California people, you may give us the possibility to create gadgets, like in Google or Vista. So I could develop a small gadget to see time in various timezones, another one that automatically convert Linden dollars to various currencies, and so forth. By facilitating the development of user gadgets, you would dramatically improve the SL interface without having to develop them yourself. IMHO  Greetings from Rome, Italy --[[User:Eadoin Welles|Eadoin Welles]] 10:19, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
==== Vector Graphics Widgets ====&lt;br /&gt;
&lt;br /&gt;
Would like to see a flash layer, where flash widgets could communicate to the UI via an API and either replace or partially replace bits and pieces of it.  This could be a big market for companies wishing to have customized clients but still take advantage of Linden Labs robust source.&lt;br /&gt;
:I would actively NOT want to see a layer that can only be programmed with a closed system like flash. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:07, 22 October 2007 (PDT)&lt;br /&gt;
::SVG + Javascript would work- uBrowser would be the place to start with that.&lt;br /&gt;
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 06:59, 22 October 2007 (PDT)&lt;br /&gt;
:::That&#039;s one approach. Javascript based controls are used in a number of programs: Firefox (XUL), Mac OS (Dashboard), Yahoo Widgets (for that matter Adobe&#039;s Actionscript has converged on Javascript). I&#039;m not sure that SVG is the way to go, but that&#039;s not an objection... I just don&#039;t know wnough about SVG. Another possibility is to use Tk, since that has bindings for several scripting languages already. All this is somewhat out of the scope of a theme change. -- [[User:Argent Stonecutter|Argent Stonecutter]] 08:47, 22 October 2007 (PDT)&lt;br /&gt;
::::SVG would provide an &amp;quot;open&amp;quot; system for vector graphics where flash provides a &amp;quot;closed&amp;quot; system.&lt;br /&gt;
::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 12:41, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Skin Support ===&lt;br /&gt;
I&#039;d like to suggest Hue changer for quick custom theme color for users.... However, for graphic artist like myself, I would like to able customize the skin with ease.   Just think more like WinAmp 5. --[[User:Vincent Nacon|Vincent Nacon]] 12:32, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
is also good to make a little program in php for the second life site or a executable for create new skin in more simple way &lt;br /&gt;
&lt;br /&gt;
this is my purple skin :)&lt;br /&gt;
[[Image:Dazzle_purple_version.JPG|thumb|300px|Purple Skin]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Aliceinwire Bleac|Aliceinwire Bleac]] 04:56, 7 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* Purple skin made me smile a lot! Thanx for sharing that with Ben and I, Aliceinwire! /me open-secretly hopes for a green-and-pink skin. :D --[[User:Torley Linden|Torley Linden]] 11:26, 7 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
===Too Little===&lt;br /&gt;
Just looking at the pic...except for the icons, which are probably needed, I&#039;m underwhelmed.  It&#039;s the same old interface except for being white and shinier (IMO, too shiny), and the consensus among people I know tends torward the opinion that the UI needs to be reinvented, not just polished, and I&#039;d rather see development time being taken on that.  Take as an example the work being done by e-Sheep with their new custom client.  I&#039;m not saying they&#039;ve done things that I necescarily want to see but they&#039;ve got their goals in the right place.  I could list a number of UI suggestions and pet peeves but this isn&#039;t the place for it...some day I wil actualy get around to putting them on the JIRA.  That said, I agree with the people who mentioned skins and even just being able to set UI color preferences from the preferences menu; that by itself would address a lot of issues. [[User:Elle Pollack|Elle Pollack]] 15:00, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
===Enhancement?===&lt;br /&gt;
I would love  to beable to collect a Landmark while viewing another resident&#039;s profile picks.  --[[User:Sabina Stenvaag] , 1 nov 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Buttons. ==&lt;br /&gt;
&lt;br /&gt;
The gradient effect on the buttons need to weigh one way or the other. Having the &#039;line&#039; go right through the text with as much contrast as it has, is distracting, and hard on the eyes.&lt;br /&gt;
I would suggest more smoothing to it as well.&lt;br /&gt;
Here is a mock up of what I mean. The lower left button is the only one modified.&lt;br /&gt;
[[Image:NewViewer_button_mockup.jpg|mock up]]&lt;br /&gt;
&lt;br /&gt;
== what is wrong with light text on dark background? ==&lt;br /&gt;
&lt;br /&gt;
for me, light text on dark background is way more comfortable for my eyes, I find light backgrounds kinda too aggressive :/&lt;br /&gt;
&lt;br /&gt;
why not continue with the dark backgrounds? imitating rl paper on software is kinda lame on my opinion :\ --[[User:TigroSpottystripes Katsu|TigroSpottystripes Katsu]] 01:08, 13 November 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=40247</id>
		<title>Talk:Viewer Visual Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=40247"/>
		<updated>2007-11-13T10:42:50Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Thanx for the feedback thus far... ==&lt;br /&gt;
Hello and thanks for the comments! I&#039;m involved with this project, codename &amp;quot;Dazzle&amp;quot;, insofar as helping the Rx Team get the word out to our community. I haven&#039;t read all of these comments in close detail yet, but I appreciate not just the content, but the presentation too.&lt;br /&gt;
&lt;br /&gt;
LordJason Kiesler — thanks for embedding that graphic to communicate what you think of about the button gradients. If anyone else wants to contribute screenshot mockups, please, you&#039;re more than welcome. Since this is a &#039;&#039;visual&#039;&#039; update, those type of aids help.&lt;br /&gt;
&lt;br /&gt;
I also had [http://www.flickr.com/photos/torley/1801183618/ some nice comments on my Flickr photostream], and will be encouraging more... and responding in kind. Appreciatively yours! --[[User:Torley Linden|Torley Linden]] 16:28, 1 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Great, [http://torley.com/introducing-second-lifes-dazzle-user-interface-update even more Dazzle feedback on my personal blog!] --[[User:Torley Linden|Torley Linden]] 08:04, 5 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
i love the new version :O is fantastic &amp;lt;br&amp;gt;&lt;br /&gt;
the near me bug is fixed exellent &amp;lt;br&amp;gt;&lt;br /&gt;
now i&#039;m bugfixing my purple version&amp;lt;br&amp;gt;&lt;br /&gt;
really a good job benjamin :D --[[User:Aliceinwire Bleac|Aliceinwire Bleac]] 04:56, 12 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
== Feedback and Ideas ==&lt;br /&gt;
*As far as I&#039;m concerned, one of the gold standard issues for interface usability in this or any other application is the ability to pull pop up menus off the interface. If one can&#039;t do that, it doesn&#039;t matter how pretty they look; they block content and make working in the interface overly difficult. Gotta be able to pull stuff off the interface or it&#039;s more of the same with new candy colors. [Professor Beliveau/5:18SL 10/30/07]&lt;br /&gt;
* In the Mac instructions, if you start with &#039;Make a copy of the Second Life application with &amp;quot;Duplicate&amp;quot; and rename it &amp;quot;Second Life Visual Update&amp;quot;...&#039; and move on from there then the &amp;quot;uninstall&amp;quot; step won&#039;t be needed, and people can more easily compare the two. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:14, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Great work on the graphics! Definitely shows off the potential for what can be done.&lt;br /&gt;
&lt;br /&gt;
Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
: I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Feedback on the style itself ==&lt;br /&gt;
&lt;br /&gt;
*The problem I&#039;m having is with the fact that most of the text in search results is white on a bright blue/gray background, which makes it hard to read. Also, text in profiles and (non-editable) group descriptions is difficult to read for the same reason. I think that adding more contrast would definitely improve the usability (not to mention the accessibility) of this skin. -- ????&lt;br /&gt;
&lt;br /&gt;
The theme seems to be mostly based on one of a variety of &amp;quot;glossy&amp;quot; 3d themes that have become popular in UNIX/X11 environments. I would much rather see the glossiness eliminated and something less overpowering being used as inspiration.&lt;br /&gt;
&lt;br /&gt;
Specific points:&lt;br /&gt;
:* With a light background ALL the text needs to be dark.&lt;br /&gt;
:* The window close and minimize buttons look smaller in this style, even if they aren&#039;t, and I keep slowing down to hit them more precisely.&lt;br /&gt;
:* The translucent menu bar is an improvement. It needs to extend under the menus themselves, of course. The backdrop for the button bars on the bottom should be translucent as well, for symmetry... and with the new style I don&#039;t think the little &amp;quot;loops&amp;quot; over the buttons above the chat bar are really useful.&lt;br /&gt;
:* The glossiness of the buttons is a problem, and they also look more like tabs than buttons. A flatter more &amp;quot;matte&amp;quot; style would work better.&lt;br /&gt;
:* The slight border around the chat and nametags is VERY nice.&lt;br /&gt;
:* The 3d look of hover text is not so good, I think because it&#039;s light. The light colored pie menu is &#039;&#039;really&#039;&#039; a problem.&lt;br /&gt;
:* The inventory and appearance editor seem significantly less professional.&lt;br /&gt;
:At the moment I think the original style is preferrable. I would say that the dark color scheme works better, particularly for translucent windows... if the ghosted windows could turn dark (but with light text) that would work, but that&#039;s probably more than XUI can handle. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:25, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
*I&#039;m not a fan of square buttons.&lt;br /&gt;
*Like Argent I struggle with some of the light backgrounds&lt;br /&gt;
*Would it be possible to have an instruction page? This file does... for all the images. I know its possible to open them all, and I will, but pointers for how to tweak what be nice. I&#039;m going to try a nicer (for my eyes) skin with greens, similar to the theme I&#039;ve got on my mac menus, and hack some buttons, but it will take a while to get right because I&#039;m flying blind (particularly for .j2c&#039;s that don&#039;t automatically preview for me). --[[User:Eloise Pasteur|Eloise Pasteur]] 06:53, 22 October 2007 (PDT)&lt;br /&gt;
:* Good print, J2Cs aren&#039;t well supported in bitmap editors yet. -- [[User:Argent Stonecutter|Argent Stonecutter]] 09:14, 22 October 2007 (PDT)&lt;br /&gt;
:* In the textures folder is a textures.xml file.  This is the mapping {purpose}.tga -&amp;gt; UUID.{any extension} --[[User:Thraxis Epsilon|Thraxis Epsilon]] 11:51, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I too struggle with the chat history and permission/worn status in inventory, as it&#039;s light text on a light background, but I hope you&#039;ll correct this by darkening the text. I like dark text on a light background very much... but OTOH I can understand how in a dark environment, you might want the opposite, sort of like the dashboard on your car... can it be made skinnable, so people can have what they prefer? (Changing with time of day or ambient lighting is probably a bit much to ask for, but would be very cool.) --[[User:Melissa Yeuxdoux|Melissa Yeuxdoux]] 16:23, 2 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Similarity to Mac/Aqua ===&lt;br /&gt;
Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
: I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
:: I don&#039;t think it looks Mac-like at all. In fact while Apple popularized the glossy look the &amp;quot;shiny metallic&amp;quot; look isn&#039;t really their schtick, and they have been moving away from the aggressive glossiness of the early OS X versions to a smoother and more professional look in Panther and Tiger.  -- [[User:Argent Stonecutter|Argent Stonecutter]] 18:02, 22 October 2007 (PDT)&lt;br /&gt;
:::I personally wouldn’t complain if they implemented as much of Apple’s HIG as possible. I wouldn’t expect them to get rid of the in-window menubar, but it would be nice if things like keyboard layouts worked properly. —[[User:Frungi Stastny|Frungi Stastny]] 06:53, 23 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Icons ===&lt;br /&gt;
&lt;br /&gt;
The icons representing prims in the object builder are too small. It is quite difficult to distinguish between similar prims as, for example, the cone and the semicone.--[[User:Eadoin Welles|Eadoin Welles]] 10:22, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I&#039;m not loving it... Although I do like some of the icons but color wise and color balance theme are killing my eyes.  The whole &amp;quot;gloss jem&amp;quot; buttons from Window Vista and OS Mac got really really old so fast.  For me, I&#039;d like a dark theme.   Something more like this theme. [[http://www.wincustomize.com/zoom.aspx?skinid=4617&amp;amp;libid=1]] --[[User:Vincent Nacon|Vincent Nacon]] 12:32, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I don&#039;t think the icons on the map or in other windows should be changed from the standard client unless absolutely necessary... and again I don&#039;t think that encapsulating the icons is really a good idea. -- [[User:Argent Stonecutter|Argent Stonecutter]] 18:06, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I have to say I am underwhelmed by the icon set. Have you considered the [http://en.wikipedia.org/wiki/Tango_Desktop_Project Tango Desktop Project]? The Tango Project seeks to create a consistent graphical user interface experience across applications and platforms. IMHO, the quality of their icon sets is very high. Have a look at the icon sets and [http://tango.freedesktop.org/Tango_Icon_Theme_Guidelines style guidelines on their website]. &amp;amp;mdash; [[User:Yuu Nakamichi|Yuu Nakamichi]] 15:21, 2 November 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Additional suggestions ==&lt;br /&gt;
This section should be kept for suggestions that are really beyond the scope of a theme change.&lt;br /&gt;
&lt;br /&gt;
=== Multiple Monitor Support ===&lt;br /&gt;
&lt;br /&gt;
Would like more than anything to see the UI windows capable of being moved onto a second monitor off the main viewer window. Now that would be very cool and make life a whole lot easier.&lt;br /&gt;
:This would also mean making that the second life viewer would have to use system controls. Again its a pain for cross-platform software. Though not impossible. --[[User:Nik Woodget|Nik Woodget]] 02:38, 22 October 2007 (PDT)&lt;br /&gt;
::Why would this require using system controls ?&lt;br /&gt;
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 06:59, 22 October 2007 (PDT)&lt;br /&gt;
:::The UI in Second Life is part of the OpenGL rendering pipeline. In order for the controls to be seperated from the main window they would have to be contained in seperate OS controls. Maybe not system independent controls, perhaps custom controls rendered into borderless windows might work.&lt;br /&gt;
=== Mac Support ===&lt;br /&gt;
&lt;br /&gt;
For the Mac port, at least, the way that command and control are reversed is really hard to deal with. It would be nice if there was an option to reverse the command and control keys &#039;&#039;for XUI only&#039;&#039;. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:07, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Whilst we&#039;re talking about this - can we add a request for a proper implementation of the Mac GUIs, without the irritating internal menus as well please. Swap the menu bar menus the way the GUI guidelines suggest. It&#039;s a different code base after all. I may have got used to this structure, but it&#039;s one bit of muscle memory I&#039;d be very happy to get rid of! --[[User:Eloise Pasteur|Eloise Pasteur]] 15:56, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Widgets ===&lt;br /&gt;
&lt;br /&gt;
I like the new interface. It is surely better than the black one but, by the way, the real value would be to have a choice of skins which, in my understanding, is the main goal of this test. I think that another improvement might be to have the possibility to add gadgets. For example, I would like to have, close to the PDT time, also the local time, since most of events that I prepare are located in my country, and I prefer to use local time rather than useless PDT time. Rather than adding this feature, which may be of no interest to USA people and surely not at all to California people, you may give us the possibility to create gadgets, like in Google or Vista. So I could develop a small gadget to see time in various timezones, another one that automatically convert Linden dollars to various currencies, and so forth. By facilitating the development of user gadgets, you would dramatically improve the SL interface without having to develop them yourself. IMHO  Greetings from Rome, Italy --[[User:Eadoin Welles|Eadoin Welles]] 10:19, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
==== Vector Graphics Widgets ====&lt;br /&gt;
&lt;br /&gt;
Would like to see a flash layer, where flash widgets could communicate to the UI via an API and either replace or partially replace bits and pieces of it.  This could be a big market for companies wishing to have customized clients but still take advantage of Linden Labs robust source.&lt;br /&gt;
:I would actively NOT want to see a layer that can only be programmed with a closed system like flash. -- [[User:Argent Stonecutter|Argent Stonecutter]] 06:07, 22 October 2007 (PDT)&lt;br /&gt;
::SVG + Javascript would work- uBrowser would be the place to start with that.&lt;br /&gt;
::[[User:SignpostMarv Martin|SignpostMarv Martin]] 06:59, 22 October 2007 (PDT)&lt;br /&gt;
:::That&#039;s one approach. Javascript based controls are used in a number of programs: Firefox (XUL), Mac OS (Dashboard), Yahoo Widgets (for that matter Adobe&#039;s Actionscript has converged on Javascript). I&#039;m not sure that SVG is the way to go, but that&#039;s not an objection... I just don&#039;t know wnough about SVG. Another possibility is to use Tk, since that has bindings for several scripting languages already. All this is somewhat out of the scope of a theme change. -- [[User:Argent Stonecutter|Argent Stonecutter]] 08:47, 22 October 2007 (PDT)&lt;br /&gt;
::::SVG would provide an &amp;quot;open&amp;quot; system for vector graphics where flash provides a &amp;quot;closed&amp;quot; system.&lt;br /&gt;
::::[[User:SignpostMarv Martin|SignpostMarv Martin]] 12:41, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
=== Skin Support ===&lt;br /&gt;
I&#039;d like to suggest Hue changer for quick custom theme color for users.... However, for graphic artist like myself, I would like to able customize the skin with ease.   Just think more like WinAmp 5. --[[User:Vincent Nacon|Vincent Nacon]] 12:32, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
is also good to make a little program in php for the second life site or a executable for create new skin in more simple way &lt;br /&gt;
&lt;br /&gt;
this is my purple skin :)&lt;br /&gt;
[[Image:Dazzle_purple_version.JPG|thumb|300px|Purple Skin]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
--[[User:Aliceinwire Bleac|Aliceinwire Bleac]] 04:56, 7 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
* Purple skin made me smile a lot! Thanx for sharing that with Ben and I, Aliceinwire! /me open-secretly hopes for a green-and-pink skin. :D --[[User:Torley Linden|Torley Linden]] 11:26, 7 November 2007 (PST)&lt;br /&gt;
&lt;br /&gt;
===Too Little===&lt;br /&gt;
Just looking at the pic...except for the icons, which are probably needed, I&#039;m underwhelmed.  It&#039;s the same old interface except for being white and shinier (IMO, too shiny), and the consensus among people I know tends torward the opinion that the UI needs to be reinvented, not just polished, and I&#039;d rather see development time being taken on that.  Take as an example the work being done by e-Sheep with their new custom client.  I&#039;m not saying they&#039;ve done things that I necescarily want to see but they&#039;ve got their goals in the right place.  I could list a number of UI suggestions and pet peeves but this isn&#039;t the place for it...some day I wil actualy get around to putting them on the JIRA.  That said, I agree with the people who mentioned skins and even just being able to set UI color preferences from the preferences menu; that by itself would address a lot of issues. [[User:Elle Pollack|Elle Pollack]] 15:00, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
===Enhancement?===&lt;br /&gt;
I would love  to beable to collect a Landmark while viewing another resident&#039;s profile picks.  --[[User:Sabina Stenvaag] , 1 nov 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Buttons. ==&lt;br /&gt;
&lt;br /&gt;
The gradient effect on the buttons need to weigh one way or the other. Having the &#039;line&#039; go right through the text with as much contrast as it has, is distracting, and hard on the eyes.&lt;br /&gt;
I would suggest more smoothing to it as well.&lt;br /&gt;
Here is a mock up of what I mean. The lower left button is the only one modified.&lt;br /&gt;
[[Image:NewViewer_button_mockup.jpg|mock up]]&lt;br /&gt;
&lt;br /&gt;
== what is wrong with light text on dark background? ==&lt;br /&gt;
&lt;br /&gt;
for me, light text on dark background is way more comfortable for my eyes, I find light backgrounds kinda too aggressive :/&lt;br /&gt;
&lt;br /&gt;
why not continue with the dark backgrounds? imitating rl paper on software is kinda lame on my opinion :\ --[[User:TigroSpottystripes Katsu|TigroSpottystripes Katsu]] 01:08, 13 November 2007 (PST)&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Dzonatas_Sol/AWG_Agent/Description&amp;diff=37485</id>
		<title>User:Dzonatas Sol/AWG Agent/Description</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Dzonatas_Sol/AWG_Agent/Description&amp;diff=37485"/>
		<updated>2007-10-22T10:13:17Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;Agent&#039;&#039; is a software resource which represents some portion of a user in the virtual world. Agents are hosted in agent servers. An agent may cause an avatar to be instantiated on behalf of a user.&lt;br /&gt;
&lt;br /&gt;
Agents:&lt;br /&gt;
&lt;br /&gt;
* Mediate the user&#039;s message traffic&lt;br /&gt;
* Mediate the user&#039;s asset inventory&lt;br /&gt;
* Act as a focal point for the user&#039;s access to services in other domains&lt;br /&gt;
* Act as a focal point for the user&#039;s access to utilties &lt;br /&gt;
* Act to report the user&#039;s avatar&#039;s location in the Virtual World to other parts of the system&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Agents do not:&lt;br /&gt;
&lt;br /&gt;
* Store persistent assets (They are stored in asset servers) &lt;br /&gt;
&lt;br /&gt;
Agents are not:&lt;br /&gt;
    &lt;br /&gt;
* The software resource which represents a user&#039;s avatar inside a region simulator. (Tho we need a name for that.) &lt;br /&gt;
&lt;br /&gt;
This definition is different from the current (pre agent/region domain split) use of the term agent Second Life. Currently agents are hosted on the simulator where the user&#039;s avatar resides, and handle these tasks as well as mediating the avatar&#039;s connection to the client. The term agent, in general is overloaded, and is it possible that another, more specific term would be appropriate here.&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Dzonatas_Sol/AWG_Agent/Description&amp;diff=37486</id>
		<title>User:Dzonatas Sol/AWG Agent/Description</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Dzonatas_Sol/AWG_Agent/Description&amp;diff=37486"/>
		<updated>2007-10-22T10:13:06Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;An &#039;&#039;Agent&#039;&#039; is a software resource which represents some portion of a user in the virtual world. Agents are hosted in agent servers. An agent may cause an avatar to be instantiated on behalf of a user.&lt;br /&gt;
&lt;br /&gt;
Agents:&lt;br /&gt;
&lt;br /&gt;
* Mediate the user&#039;s message traffic&lt;br /&gt;
* Mediate the user&#039;s asset inventory&lt;br /&gt;
* Act as a focal point for the user&#039;s access to services in other domains&lt;br /&gt;
* Act as a focal point for the user&#039;s access to utilties &lt;br /&gt;
* Act to report the user&#039;s avatar&#039;s location in the Virtual World to other parts of the system&lt;br /&gt;
     &lt;br /&gt;
&lt;br /&gt;
Agents do not:&lt;br /&gt;
&lt;br /&gt;
* Store persistent assets (They are stored in asset servers) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Agents are not:&lt;br /&gt;
    &lt;br /&gt;
* The software resource which represents a user&#039;s avatar inside a region simulator. (Tho we need a name for that.) &lt;br /&gt;
&lt;br /&gt;
This definition is different from the current (pre agent/region domain split) use of the term agent Second Life. Currently agents are hosted on the simulator where the user&#039;s avatar resides, and handle these tasks as well as mediating the avatar&#039;s connection to the client. The term agent, in general is overloaded, and is it possible that another, more specific term would be appropriate here.&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=37472</id>
		<title>Talk:Viewer Visual Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=37472"/>
		<updated>2007-10-22T09:38:41Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Feedback and Ideas ===&lt;br /&gt;
&lt;br /&gt;
* Would like to see a flash layer, where flash widgets could communicate to the UI via an API and either replace or partially replace bits and pieces of it.  This could be a big market for companies wishing to have customized clients but still take advantage of Linden Labs robust source.&lt;br /&gt;
&lt;br /&gt;
* Great work on the graphics! Definitely shows off the potential for what can be done.&lt;br /&gt;
&lt;br /&gt;
* Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
** I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Would like more than anything to see the UI windows capable of being moved onto a second monitor off the main viewer window. Now that would be very cool and make life a whole lot easier.&lt;br /&gt;
** This would also mean making that the second life viewer would have to use system controls. Again its a pain for cross-platform software. Though not impossible. --[[User:Nik Woodget|Nik Woodget]] 02:38, 22 October 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=37471</id>
		<title>Talk:Viewer Visual Update</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Viewer_Visual_Update&amp;diff=37471"/>
		<updated>2007-10-22T09:37:38Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Feedback and Ideas ===&lt;br /&gt;
&lt;br /&gt;
* Would like to see a flash layer, where flash widgets could communicate to the UI via an API and either replace or partially replace bits and pieces of it.  This could be a big market for companies wishing to have customized clients but still take advantage of Linden Labs robust source.&lt;br /&gt;
&lt;br /&gt;
* Great work on the graphics! Definitely shows off the potential for what can be done.&lt;br /&gt;
&lt;br /&gt;
* Well how novel: ripping off the Mac OS X metallic buttons and giving them an Aqua feel... Well, don&#039;t stop there. Read Apple&#039;s Human Interface Guidelines and implement them. Then we&#039;ll not only have the feel too, but then the whole thing may work as standard instead of being buggy, bloated, roll your own code. We would have international settings and keyboards that worked, standard window behaviour, one menu bar not two, and text editing handling that worked properly, and properly transposed keyboard shorcuts. Get that stuff sorted first then you can think of moving on to skinning.&lt;br /&gt;
** I would like to point out, that SecondLife client is Cross-Platform. If they stuck to the Mac guidelines, then it wouldn&#039;t fit windows or linux. To be honest, as SecondLife is effectively a game, the interface has to be a roll your own (Read Apples guidelines, it actually says that somewhere) --[[User:Nik Woodget|Nik Woodget]] 02:37, 22 October 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
* Would like more than anything to see the UI windows capable of being moved onto a second monitor off the main viewer window. Now that would be very cool and make life a whole lot easier.&lt;br /&gt;
** This would also mean making that the second life viewer would have to use system controls. Again its a pain for cross-platform software. Though not impossible. --02:37, 22 October 2007 (PDT)~~&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33898</id>
		<title>Viewer Authentication Critique</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33898"/>
		<updated>2007-10-01T12:19:08Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is a formal critique of [[Viewer Authentication]] that was [https://lists.secondlife.com/pipermail/sldev/2007-September/005403.html requested] by [[User:Rob Linden]] on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
For a branch of the discussion see [https://wiki.secondlife.com/wiki/Talk:Viewer_Authentication Talk page on the original proposal.]&lt;br /&gt;
&lt;br /&gt;
== Summary ==&lt;br /&gt;
&lt;br /&gt;
The new authentication method proposed by LL seems to be an attempt to solve a perceived but non-existent problem. &lt;br /&gt;
&lt;br /&gt;
There are currently no known password capturing third party viewers in the wild, and a third party viewer requires such a privilege level of access to an account anyway that if you don&#039;t trust it with your username and password, you shouldn&#039;t be running it anyway. The mechanism proposed, however, is more prone to phishing attacks. Most password compromises are probably due to weaknesses in the current protocol challenge response, due to allowing weak passwords or due to the usual phishing e-mails (which are likely to be increased by the proposed method rather than decreased).&lt;br /&gt;
&lt;br /&gt;
Providing a single authentication mechanism for LL (and third party) websites would be an improvement to multiple backend copies of username and password, however this could be implemented without touching the viewer authentication method. Support for OpenID and other identity metasystems would increase the flexibility and offer features such as brokered identity verification. However, these would only be part of the solution, and although the proposed mechanism would provide a way for future support of these, there are other ways this could be achieved. Future support for OpenID is perhaps a topic for a seperate discussion and debate, but a open debate on this should happen.&lt;br /&gt;
&lt;br /&gt;
There seems to be no real demand to synchronise the authentication of the viewer with authentication on the SL web site (account, forums, etc.), and any benefits gained would be negated by the problems this would cause anyone running alts (e.g. for in world permissions testing etc.) or multiple viewers (e.g. main, test and firstlook). It also raises problems for those running OpenSim based Grids, and may also cause difficulties further down the line as regards the new architecture discussions.&lt;br /&gt;
&lt;br /&gt;
Overall, the additional development time both with LL and for external developers doesn&#039;t seem to warrant the promoted benefits.&lt;br /&gt;
&lt;br /&gt;
It was also noted that consideration should be given when considering enhancements to the security/authentication models whether these should be optional - allowing users to make their own risk/convenience decisions.&lt;br /&gt;
&lt;br /&gt;
== Security ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To mitigate the danger of password capturing Trojans masquerading as third party viewers&lt;br /&gt;
* Improve trust in third party viewers by providing a means of assurance to the user that the third party viewer could not be a Trojan capturing usernames and passwords.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Viewer does not have to process (and &amp;quot;see&amp;quot;) username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* The main risk of running a third party viewer (or any other application not provided by Linden Labs) is not stealing passwords, it&#039;s direct attacks through the client... and the &amp;quot;official&amp;quot; client is not really any protection against that.&lt;br /&gt;
** Viewer can still be used in direct and indirect attacks even if it never sees the password (for example: salami slicing through cutout accounts, acting as a cutout account or an in-world botnet, faking a failed connection while giving an attacker access).&lt;br /&gt;
** NON-viewer applications (such as editors, 3d tools) designed for use by SL residents could use a keystroke logger and macro to perform any of these attacks, or could inject code into the viewer to do the same thing. Look at &#039;cheating&#039; programs in combat MMORPGs for ideas.&lt;br /&gt;
* But this is still not a large risk, unless people get the client through a mechanism that makes the creator anonymous. Historically, attempts to disseminate boobytrapped versions of applications have only worked in environments where it&#039;s routine for people to download applications from anonymous sources (file areas in the BBS era, for example). It&#039;s too easy to trace down the originator of any compromised client when you&#039;re getting them from their own website.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Bottom line here is that third party viewers stealing passwords are a very small risk for the user: the bigger risk is from the web browser!&lt;br /&gt;
** Potential for phishing websites to entice users to enter username and password and then pass control to SL website and viewer.&lt;br /&gt;
*** This kind of attack is not theoretical, phishing websites are a criminal industry.&lt;br /&gt;
*** It would be very easy to set up a temporary (i.e. hard to trace the real owner) phishing webpage which looks like the official SL logon, and send e-mails such as &amp;quot;You&#039;ve received xxx in SL, Click here to logon&amp;quot; apparently from LL - with far less work than trying to create, and entice people to download a trojan viewer&lt;br /&gt;
** Relies on browser security, and uses a mechanism often disabled or filtered due to security concerns&lt;br /&gt;
** Too reliant on browser/OS implementations (proxies, firewalls, used browsers, etc.)&lt;br /&gt;
* So using the browser to perform the authentication moves the authentication to a mechanism that has historically proven more likely to be compromised.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* And the mechanism itself is relatively inflexible.&lt;br /&gt;
** Links to secondlife:// can only point to one instance (version, e.g. homebrew, release candidate official) of the program&lt;br /&gt;
** Links to secondlife:// can not pass parameters to the program&lt;br /&gt;
*** In fact allowing that was a security flaw recently found and fixed in the SL client. :(&lt;br /&gt;
** It will raise problems for those running alternative (e.g. OpenSim) grids, and also have impact on the dicussions for a future open grid.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Possibility some third party clients will retain the existing UI in order to make it easier for people with alts and multiple clients, and do appropriate GETs and POSTs on the SL to initiate a logon and get the token (thus defeating the original purpose)&lt;br /&gt;
** The issues raised in the next sections would mean that people would have an incentive to use this kind of client.&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* One time passwords (for copy paste into a non-secure viewer or to print and take with you to friends, internet cafes, public terminals, etc.)&lt;br /&gt;
* lower perm passwords (pwds which put the account into a restricted state, disallowing &amp;quot;dangerous&amp;quot; transactions)&lt;br /&gt;
* separate passwords for website account and being inworld&lt;br /&gt;
* Account restrictions &lt;br /&gt;
* Allow third party plug-ins in the viewer (these would allow the extra functionality which are sometimes the reason for running third party viewers, but would rely on the official viewer for validation)&lt;br /&gt;
* Do nothing, keep everything as it is.&lt;br /&gt;
** Without a strong case for the status quo being a problem, this is certainly a viable alternative, particularly given the impact this will have on developers of third party tools and viewers&lt;br /&gt;
** It is arguable that most losses of assets and value are incurred due to SL bugs (inventory, classifieds search, etc.) and outtages rather than through account compromises&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* This may be the wrong problem - password compromises are more likely to be through standard phishing attacks (logon here to update your account info) which is not addressed, or by weaknesses in the current authentication mechnism or just insecure passwords.&lt;br /&gt;
** CRAM-MD5 or a similar challenge-response type &lt;br /&gt;
** Dictionary check to reject insecure passwords&lt;br /&gt;
&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* Single Sign On - allowing multiple web applications (forums, support, account, jira, wiki etc.) and viewers to use the same username and password through a single point without duplicating usernames and passwords into multiple systems&lt;br /&gt;
* Extension of this to allow non-LL applications and web sites to participate in this single sign on system.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Enables username/password authentication to work on third party sites without them having to &amp;quot;see&amp;quot; username and password&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* This is really an unrelated issue...&lt;br /&gt;
** The client doesn&#039;t need to depend on the website for this purpose, or this could be a command line option.&lt;br /&gt;
** The client could just as easily be the &#039;authentication source&#039; as the website.&lt;br /&gt;
*** Via a &amp;quot;go to website&amp;quot; link in the client that passed an equivalent token.&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* As noted in section 1, this reduces flexibility for the *users* which may result in third party viewers adopting the current UI and doing the authentication behind the scenes&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* Use this mechanism for websites (including third party) only but not for viewers&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
* Identity Metasystem - [http://en.wikipedia.org/wiki/Identity_Metasystem]&lt;br /&gt;
** OpenID - [http://openid.net/]&lt;br /&gt;
** CardSpace - [http://msdn2.microsoft.com/en-us/netframework/aa663320.aspx]&lt;br /&gt;
** Shibboleth - [http://shibboleth.internet2.edu/]&lt;br /&gt;
** CAS - [http://www.ja-sig.org/products/cas/]&lt;br /&gt;
*** These could be handled by the client poping up a window using the internal web browser to connect to a HTML logon. It may be difficult or impossible to determine if the client really is displaying the official HTML logon and not capturing key strokes so this would be a way of implementing the above for flexibility or other reasons (e.g. brokered identity verification [http://www.agimo.gov.au/publications/2004/05/egovt_challenges/privacy/identity/brokered]) not for security&lt;br /&gt;
&lt;br /&gt;
== Persistence ==&lt;br /&gt;
&lt;br /&gt;
=== LL&#039;s Objectives ===&lt;br /&gt;
* To synchronise the various LL&#039;s systems (forums, support, jira, account, etc.) so that by logging onto one, you are automatically logged onto the others.&lt;br /&gt;
&lt;br /&gt;
=== Pros ===&lt;br /&gt;
* Selecting &amp;quot;Account History&amp;quot; or &amp;quot;Manage My Account&amp;quot; and similar menu items would open the web page for the account logged into SL, rather than the account logged into the web site, which currently can be different&lt;br /&gt;
&lt;br /&gt;
=== Cons ===&lt;br /&gt;
* As in the previous section, LL&#039;s objectives could be met without the viewer logging in via the same mechanism.&lt;br /&gt;
* Inconvenient for those with alts or multiple clients&lt;br /&gt;
** Cumbersome to change alts and logon with multiple alts&lt;br /&gt;
** Those with alts, often have a primary account which is used for forums and logged on permanently to forums even when the alt is online in SL&lt;br /&gt;
** As noted in section 1, this reduces flexibility for the *users* which may result in third party viewers adopting the current UI and doing the authentication behind the scenes&lt;br /&gt;
* Danger on public or multi-user machines that the user will log out of the client, but not log out of the website properly allowing the next user to access their account.&lt;br /&gt;
* Staying online on secondlife.com (which many people seem to do) automatically means anyone with access to the computer/browser (family) can log in with the account inworld&lt;br /&gt;
* starting SL from the web browser on a regular basis will most likely result in the web browser lingering in memory in the background when running the viewer, which based on the heavy memory requirement may impair viewer performance.&lt;br /&gt;
* this would have an impact on the architecture discussions for a future open grid.&lt;br /&gt;
&lt;br /&gt;
=== Alternatives ===&lt;br /&gt;
* As regards menu items such as &amp;quot;Account History&amp;quot;, send the account name on the URL, and have the web page check if that is the currently logged on account. If not prompt the user to log on with the same account as being used in the viewer (for security reasons the viewer should not automatically log the account on to the web site in such cases).&lt;br /&gt;
* Is this really needed or desirable (&#039;&#039;for the client&#039;&#039;)? SL is not an extension of the web, it&#039;s a different kind of interface... one that has the potential of becoming a &amp;quot;3d web&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Signatories ==&lt;br /&gt;
&lt;br /&gt;
Please sign this below with &amp;quot;&amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&amp;quot; if you agree with the version of this document you are reading.  The date will indicate which version of the document you read and agree with. &lt;br /&gt;
&lt;br /&gt;
* [[User:Matthew Dowd|Matthew Dowd]] 11:27, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Argent Stonecutter|Argent Stonecutter]] 13:53, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Dale Glass|Dale Glass]] 14:28, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Tillie Ariantho|Tillie Ariantho]] 03:48, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Jesse Barnett|Jesse Barnett]] 9:53, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Winter Ventura|Winter Ventura]] 19:42, 29 September 2007 (PDT)&lt;br /&gt;
* [[User:Balp Allen|Balp Allen]] 01:33, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Michelle2 Zenovka|Michelle2 Zenovka]] 02:52, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Nicholaz Beresford|Nicholaz]] 03:42, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Dzonatas Sol|Dzonatas Sol]] 06:54, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Eloise Pasteur|Eloise Pasteur]] 06:57, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Becky Tardis|Becky Tardis]] 08:34, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Peter Newell|Peter Newell]] 14:14, 30 September 2007 (PDT)&lt;br /&gt;
* [[User:Dr Scofield|Dr Scofield]] 00:45, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Jabath Steuart|Jabath Steuart]] 04:03, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Nik Woodget|Nik Woodget]] 05:19, 1 October 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Brainstorming&amp;diff=32363</id>
		<title>Brainstorming</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Brainstorming&amp;diff=32363"/>
		<updated>2007-09-22T11:13:09Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page is all about brainstorming about the upcoming architecture. Add your thoughts here in no particular format. Can be use cases, requirements, scenarios. Maybe shouldn&#039;t be too long but long enough to get your idea across. Can also be implementation details maybe but in the lower section.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Usage examples and requirements ==&lt;br /&gt;
&lt;br /&gt;
=== General architecture ===&lt;br /&gt;
* allow to run a small grid on my laptop&lt;br /&gt;
* allow plug-ins&lt;br /&gt;
* Talk to other online virtual worlds to discuss interconnectivity, at least to some degree. For instance, with one online ID and perhaps registration with each virtual world, residents could inhabit seamlessly Second Life then possibly World of Warcraft or any other virtual world, in the same way online surfers can go from one website to another. In short, let there eventually be one huge interconnected 3d environment, with each world as distinctive as a website on the net.&lt;br /&gt;
* Integrate within Second Life a platform to allow residents to create their own virtual world which can then be connected via a personal server to the grid. If this is not entirely possible then create a download so a world can be created offline to be later uploaded to a personal server and then be added to the grid. The development of such software could be a challenge to present to the many resident coders. People with technical knowledge should not be the only ones able to add their own sim to the grid. This should be developed in a way to enable everyone to do so.&lt;br /&gt;
&lt;br /&gt;
===Commerce===&lt;br /&gt;
&lt;br /&gt;
=== Objects and Assets ===&lt;br /&gt;
* allow objects to only be allowed to be rezzed on certain regions (adds to the agent&#039;s restrictions)&lt;br /&gt;
* AND/OR limit object rezzing to specific groups of objects (give region owner ability to control what content is allowed in their regions)&lt;br /&gt;
* allow assets to be transferred between agent domains&lt;br /&gt;
* allow assets to be accessed from multiple agent domains&lt;br /&gt;
* allow truly distributed asset storage&lt;br /&gt;
* Think beyond the limitations of prims and sculpties by allowing items made in 3d modelling software to be directly imported onto the grid. Other online virtual 3D environments allow this.&lt;br /&gt;
&lt;br /&gt;
=== Identity ===&lt;br /&gt;
* identity should be pluggable&lt;br /&gt;
** [Please build a list of desired identity verification systems]&lt;br /&gt;
** OpenID&lt;br /&gt;
* various grades of verification should be possible&lt;br /&gt;
** Identity Verification:&lt;br /&gt;
*** &amp;quot;Is the user exactly who he/she claims he/she is?&amp;quot;&lt;br /&gt;
*** Very strong verification. Permanently links ID of account to real-world ID of user.&lt;br /&gt;
** Age Verification:&lt;br /&gt;
*** &amp;quot;Is the user old enough to be on this system?&amp;quot;&lt;br /&gt;
*** Weak verification. Minimum amount needed to maintain compliance with child online access laws.&lt;br /&gt;
** Unique Verification:&lt;br /&gt;
*** &amp;quot;Is this user unique, or is it an Alt?&amp;quot;&lt;br /&gt;
*** Weak verification. Minimum needed to enforce bans due to TOS violations.&lt;br /&gt;
*** Very difficult to enforce due to ease of changing commonly-used identifiers: IP address, MAC address, hardware serial numbers/profiles, etc.&lt;br /&gt;
* Verification must not require sensitive data to pass through insecure systems or require storage of sensitive data.&lt;br /&gt;
&lt;br /&gt;
=== Viewer ===&lt;br /&gt;
* allow all sorts of viewers, from 3D to cellphone to web sites&lt;br /&gt;
** Create a viewer with the absolute minimum functionality possible (i.e. core client functions) and then make it optionally extensible based on client capability.&lt;br /&gt;
** Allow the client to reassign controls and common functions to a Human Interface Device (gamepad, joystick, customized keyboard, a Bluetooth-connected Wii Remote, etc.)&lt;br /&gt;
* Client-side Script runtime&lt;br /&gt;
** scriptable chat &amp;amp; movements avatar (bot)&lt;br /&gt;
** advanced graphical hud&lt;br /&gt;
&lt;br /&gt;
=== Agents ===&lt;br /&gt;
* allow agents to only allow to connect to certain regions&lt;br /&gt;
&lt;br /&gt;
=== Regions ===&lt;br /&gt;
* allow regions of arbitrary size and form&lt;br /&gt;
* allow portals and landmass-style connections between regions or a mix of both&lt;br /&gt;
* region should be able to decide which agents to let in depending on the grade of verification (age, RL identity, financial, ... )&lt;br /&gt;
* User defined topology.  Like bookmarks, but in 2D.  Crossing a custom boundary would result in a &amp;quot;walking teleport&amp;quot;&lt;br /&gt;
* Multiple instances of a region within a topology.  Everyone can have a front row seat for the show.&lt;br /&gt;
* Allow as many avatars as will fit in the virtual space of a region.  Don&#039;t limit the population of a region based on architectural limitations.&lt;br /&gt;
&lt;br /&gt;
== Implementation thoughts ==&lt;br /&gt;
=== Viewer ===&lt;br /&gt;
* How does a locally-run, disconnected grid provide texture/animation uploads or anything of use without the centralized system to accept the upload fee, read and update the user&#039;s inventory, or receive the new asset information?&lt;br /&gt;
&lt;br /&gt;
=== Regions ===&lt;br /&gt;
* if we have different region domains will each of them have their own map or would it somehow work to connect certain region domains together while it would still be possible to grow one domains space?&lt;br /&gt;
* Can we see into neighboring regions using a low LOD mesh dynamically created to represent the land and objects in a region?&lt;br /&gt;
* Virtualize the regions.  If no one is in or near a region, don&#039;t waste hardware on it.  If a region gets too busy, dynamically split it onto two servers, each taking half of the area.&lt;br /&gt;
* Allow arbitrary assignment of geography to processing resources - including dynamic migration.&lt;br /&gt;
** As someone who&#039;s developed 3D virtual world simulations before (and always wanted to create something like SL), the first thing that hit me when I entered SL for the first time was that sims were visible to residents (and scripts).  &lt;br /&gt;
*** A sim is an implementation detail and residents should never need to know they exist. Making that particular initial implementation choice (to divide processing power into a regular grid and distribute it statically over separate servers) has now locked it in for the future - as removing the concept of regions would break a lot of scripted content.&lt;br /&gt;
*** However, it is still possible to lay a foundation that can deal with arbitrary assignment of geographic simulation to processing units (including dynamically) transparently and then add a &#039;backward-compatibility&#039; layer over it which simulates the familiar square regions for legacy content (virtualizes them as suggested above).&lt;br /&gt;
*** Such a system could also be implemented to allow non-flat and non-contiguous geography (e.g. like planets, for example).  Current continents could be mapped into small surface patches in a &#039;legacy&#039; area.&lt;br /&gt;
*** It would also allow the possibility of distributing the various aspects of simulation of a geographic area differently - such a physics, collision, scripts, occlusion etc. (for example, if there are few physical objects over a large area, one processing unit could compute the physics for the whole area, while a larger number of processing units execute the area&#039;s scripts if required)&lt;br /&gt;
&lt;br /&gt;
=== Currency ===&lt;br /&gt;
* how will virtual currency be handled in a distributed grid architecture?&lt;br /&gt;
** Will LL still support L$ in future, or will it be phased out? (perhaps a virtual currency should have no special place in the grid at all - just as there is no special currency on the web ?)&lt;br /&gt;
** L$ exists as &amp;quot;a limited license right&amp;quot; within Second Life and therefore only makes sense within the official grid(s) owned by LL.&lt;br /&gt;
*** Privately-owned grids could be responsible for issuing their own licenses, to throttle their clients&#039; use of those private resources.&lt;br /&gt;
**** Allowing private grids to issue their own limited license rights for use of their hardware makes it possible to disconnect them from many if not all centralized systems.&lt;br /&gt;
**** Such disconnections may allow us to implement a fully localized grid for use on private intranets or on a standalone system.&lt;br /&gt;
*** By their nature, private licenses would be mutually incompatible with the official &amp;quot;L$&amp;quot; licenses.&lt;br /&gt;
*** Alternative servers (or local grids) with accounts linked to LL servers might be able to purchase L$ to be issued to its members for use on LL servers.&lt;br /&gt;
* allow for secure transactions other than in L$ via PayPal, credit cards, etc.&lt;br /&gt;
* It is possible to maintain a single payment mechanism across multiple grids in a decentralized way using a social-network credit, or Hawala. Actual payment systems using this method exist (for example Ripple) and allow transparent convertibility between different currencies, some of them also allow transfers from and to Paypal and other online payment systems.&lt;br /&gt;
&lt;br /&gt;
=== Assets ===&lt;br /&gt;
&lt;br /&gt;
* It is possible to implement asset storage in a completely distributed way&lt;br /&gt;
** Assets need not be stored in fixed locations (such as in the &#039;home&#039; grid of the creator, for example)&lt;br /&gt;
** A completely Peer-to-Peer (P2P) storage protocol is possible&lt;br /&gt;
** To be successful it would have to retain many of the properties of the current &#039;fixed&#039; storage schemes&lt;br /&gt;
*** Available: Since the individual physical storage providers in a P2P network can&#039;t be trusted, a great deal of redundancy would be required to make it unlikely an asset would ever become unavailable&lt;br /&gt;
*** Secure: Assets would need to be encrypted using strong PKI where appropriate (for example, so you can be sure nobody but the primary key holder (/ capability holder) can view your script source or edit your object).  For the same reason, no asset should be stored in-whole at any single physical location (hence requiring the collusion of a large number of parties to even assemble the encrypted form of an asset in order to mount a cryptographic attack, unless the &#039;directory&#039; of storage addresses for the asset has also been compromised). Obviously this wouldn&#039;t apply to the &#039;public&#039; form of an asset (e.g. script bytecode, pre-optimized object mesh etc.).&lt;br /&gt;
*** Persistent: Some mechanism to control the lifetime of assets may be needed&lt;br /&gt;
**** Given the pace of storage technology progress, it may be possible to just keep every asset ever created (ride the wave of progress)&lt;br /&gt;
**** If limited asset lifetimes are needed, some kind of distributed garbage-collection algorithm could be employed&lt;br /&gt;
**** What would happen to assets that remain accessible but never &#039;accessed&#039; for long periods of time?  (We don&#039;t want the &#039;virtual data archaeologists&#039; who research the 22nd century in one thousand years from now to keep running into cases of assets that are no longer available just because a long time has passed without &#039;access&#039;!)&lt;br /&gt;
**** Will it be possible to delete assets/accounts someday?&lt;br /&gt;
** This may be a hard problem to solve properly now, but just designing an architecture with it in mind and then implementing something similar to the fixed scheme utilized now would leave the possibility open of implementing the more general case in the future.&lt;br /&gt;
*** Lets avoid a repeat of the mistake made in the &#039;design&#039; of the www, where public pages are often stored on servers owned/leased by their creators and routinely lost for the future (save the efforts of the way-back-machine etc).&lt;br /&gt;
* Assets should support being signed (and notarized)&lt;br /&gt;
** Perhaps they should even allow arbitrary meta-data to be attached to them by their creators (or anyone with perms) and accessed via scripts&lt;br /&gt;
* Assets should be raw data.&lt;br /&gt;
** Asset type, permissions, creator, watermark, etc would be meta-data.&lt;br /&gt;
** Any kind of meta-data could be added and used or ignored as needed.&lt;br /&gt;
* How will a region be able to accept an alien object from another system&#039;s inventory, or an inventory to accept an object from a foreign region?&lt;br /&gt;
** Would an upload fee make sense for transferring objects to different grids?&lt;br /&gt;
** If so, how would that fee be determined for a completed object?&lt;br /&gt;
** Would some grids (or domains if you&#039;d prefer) be able to reject items from other domains on a permission basis?&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Brainstorming&amp;diff=32362</id>
		<title>Talk:Brainstorming</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Brainstorming&amp;diff=32362"/>
		<updated>2007-09-22T11:04:25Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I find this entire wiki construct for this deeply radical change to Second Life to be very troublesome, because it doesn&#039;t allow for normal, forums-type discussion about a huge variety of issues that will profoundly alter SL as we know it. So I urge you to cease this driving of ordinary people to a wiki construct that really can&#039;t serve their needs, and open up the forums with &amp;quot;general&amp;quot; &amp;quot;politics/governance&amp;quot; and &amp;quot;land/economy&amp;quot; as it used to be available. I see that as the only fair way to accommodate the many concerns, problems, and fears generated by open-sourcing a platform that has absorbed with little recognition hundreds of thousands of people&#039;s dollars and hours.&lt;br /&gt;
&lt;br /&gt;
:: Conversation may flow differently on a wiki, but it does allow for proper conversation if used correctly. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I would like to know who has authored the articles up to this point. I&#039;d like to know their qualifications for so casually writing things like &amp;quot;Should we close the Lindex or not, given it&#039;s a limited license for use on a solely-LL owned grid.&amp;quot; Sure, this is the decision of a proprietary company in a way. But the LindEx is also a community-owned resource, that has value precisely because people&#039;s labour and content production and land development have value. It&#039;s a public utility that you can&#039;t so casually program hither and youn.&lt;br /&gt;
&lt;br /&gt;
:: Quite possible one of the open source devs has written this page. And the question about the lindex is simply something there that we have to consider. Though like you, I would like them to find a way to keep the linden as SL&#039;s currency. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Zero Linden said that Linden always &amp;quot;engineers to migrate the world along with them.&amp;quot; But that very perspective lets us know that we are merely a flock that somebody is supposed to &amp;quot;migrate&amp;quot; like dumb beasts, and not *participants in the social as well as technical engineering.*&lt;br /&gt;
&lt;br /&gt;
:: we are participants for this open architecture project, you&#039;ve juse become a minimal participant writting this. Why not add you own things to the [[Brainstorming]] you belive needs to be considered in the designing of the open architecture.--[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I predicted that open sourcing would lead to closure of the Lindex for other reasons (dollarization of the economy) but what boggles the mind here is that despite these really huge issues that will have an enormous impact on people, community, value, land, content, it&#039;s being treated as a purely technical exercise -- it&#039;s being treated as merely an &amp;quot;architecture&amp;quot; program and not an economic one, and one engineers and not economists and land owners get to decide.&lt;br /&gt;
&lt;br /&gt;
:: like I said, then get yourself and others involved that will look at the economic &#039;&#039;&#039;and&#039;&#039;&#039; social sides and get them to add they&#039;re thoughts and concern to the pages dedicated for this in the wiki. The more who discuss, the more ideas we&#039;ll have to play, the more chance residents will get an open architecture that they would like. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
It&#039;s anything but a simple programming issue! A decision to close the LindEx has profound implications affecting small business and individual purchases.&lt;br /&gt;
&lt;br /&gt;
Prokofy Neva&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Brainstorming&amp;diff=32361</id>
		<title>Talk:Brainstorming</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Brainstorming&amp;diff=32361"/>
		<updated>2007-09-22T11:01:47Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I find this entire wiki construct for this deeply radical change to Second Life to be very troublesome, because it doesn&#039;t allow for normal, forums-type discussion about a huge variety of issues that will profoundly alter SL as we know it. So I urge you to cease this driving of ordinary people to a wiki construct that really can&#039;t serve their needs, and open up the forums with &amp;quot;general&amp;quot; &amp;quot;politics/governance&amp;quot; and &amp;quot;land/economy&amp;quot; as it used to be available. I see that as the only fair way to accommodate the many concerns, problems, and fears generated by open-sourcing a platform that has absorbed with little recognition hundreds of thousands of people&#039;s dollars and hours.&lt;br /&gt;
&lt;br /&gt;
-Conversation may flow differently on a wiki, but it does allow for proper conversation if used correctly. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I would like to know who has authored the articles up to this point. I&#039;d like to know their qualifications for so casually writing things like &amp;quot;Should we close the Lindex or not, given it&#039;s a limited license for use on a solely-LL owned grid.&amp;quot; Sure, this is the decision of a proprietary company in a way. But the LindEx is also a community-owned resource, that has value precisely because people&#039;s labour and content production and land development have value. It&#039;s a public utility that you can&#039;t so casually program hither and youn.&lt;br /&gt;
&lt;br /&gt;
- Quite possible one of the open source devs has written this page. And the question about the lindex is simply something there that we have to consider. Though like you, I would like them to find a way to keep the linden as SL&#039;s currency. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
Zero Linden said that Linden always &amp;quot;engineers to migrate the world along with them.&amp;quot; But that very perspective lets us know that we are merely a flock that somebody is supposed to &amp;quot;migrate&amp;quot; like dumb beasts, and not *participants in the social as well as technical engineering.*&lt;br /&gt;
&lt;br /&gt;
- we are participants for this open architecture project, you&#039;ve juse become a minimal participant writting this. Why not add you own things to the [[Brainstorming]] you belive needs to be considered in the designing of the open architecture.--[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
I predicted that open sourcing would lead to closure of the Lindex for other reasons (dollarization of the economy) but what boggles the mind here is that despite these really huge issues that will have an enormous impact on people, community, value, land, content, it&#039;s being treated as a purely technical exercise -- it&#039;s being treated as merely an &amp;quot;architecture&amp;quot; program and not an economic one, and one engineers and not economists and land owners get to decide.&lt;br /&gt;
&lt;br /&gt;
- like I said, then get yourself and others involved that will look at the economic &#039;&#039;&#039;and&#039;&#039;&#039; social sides and get them to add they&#039;re thoughts and concern to the pages dedicated for this in the wiki. The more who discuss, the more ideas we&#039;ll have to play, the more chance residents will get an open architecture that they would like. --[[User:Nik Woodget|Nik Woodget]] 04:01, 22 September 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
It&#039;s anything but a simple programming issue! A decision to close the LindEx has profound implications affecting small business and individual purchases.&lt;br /&gt;
&lt;br /&gt;
Prokofy Neva&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32067</id>
		<title>Talk:Certified HTTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32067"/>
		<updated>2007-09-19T09:28:11Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==X-Message-ID==&lt;br /&gt;
&lt;br /&gt;
How about replacing the $random_uuid with an MD5 (or stronger) digest of the message body?  That would eliminate the undefined result of sending a message with the same message id but a a different body.  (Undefined results can be opportunities for exploits.) --[[User:Omei Turnbull|Omei Turnbull]] 20:21, 10 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:That wouldn&#039;t solve the problem, you would still be sending a message with the same message id if you sent two identical messages bodies. You would be guarantying a collision. It is really only an issue if two messages of the same ID are being processed at the same time. I think using $random_uuid is reasonable and in the event of a Message-ID collision or malformed Message-ID have the server return a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1 400]. -- [[User:Strife Onizuka|Strife Onizuka]] 00:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Heh, looks like Strife and I saw this at the same moment.  :-)  I guess if you digested the entire state of the message, including headers, receiving url, and sending url/host, then you&#039;re only ruling out the case where you do actually want to send two of the exact same message between the same two hosts at the exact same time and have both be processed as independent message.  Thanks for the idea!  [[User:Which Linden|Which Linden]] 00:06, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
==  X-Message-URL ==&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;If the client performs a GET to the message url prior to DELETE, the server must return the same body as the original response, including the X-Message-URL.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I think this may be an attack point, since it would require the server to cache the response body. There should also be a short timeout on the caching. This requirement makes it look like this protocol isn&#039;t something you want use with unauthorized clients. -- [[User:Strife Onizuka|Strife Onizuka]] 00:18, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::How does this differ from the explicit requirement that &amp;quot;the server must persist the response body or have a mechanism to idempotent generate the same response to the same request&amp;quot;?  But yes, it seems like the need to persist un-acknowledged response bodies for 15 days creates a big opportunity for a DDOS-type attack if reliable messages from unauthenticated clients are allowed. - [[User:Omei_Turnbull|Omei Turnbull]]&lt;br /&gt;
&lt;br /&gt;
::: That would be a problem if it only statically persisted a complete response. If it has a way to generate the idempotent response at any later time, there is no need to statically persist the complete response. [[User:Dzonatas Sol|Dzonatas Sol]] 10:22, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::: The entire response body has to be stored so that if the connection was terminated before the response was received it can be requested by sending a GET to X-Message-URL (instead of a DELETE). -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::: That would be one way. There are other ways to generate a response that is idempotent. [[User:Dzonatas Sol|Dzonatas Sol]] 15:49, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::: True, but it really depends on what is being requested and whether what is wanted is the old status or the current status. -- [[User:Strife Onizuka|Strife Onizuka]] 16:11, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Indeed, it depends on the intervals of when data is aggregated or archived. The complexity begins there. [[User:Dzonatas Sol|Dzonatas Sol]] 16:15, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::The issue I see (which I think is the same issue Strife was referring to) is that when the server gets a request, it has to check to see whether it is a duplicate of any outstanding request (i.e. a request for which the response hasn&#039;t been acknowledged) issued within the last 15 days, so that if it is, it will repeat its previous response.  If these requests can come from untrusted clients, the server could purposely be subjected to requests that are not acknowledged, until the server is no longer able to respond to any requests in a timely manner.--[[User:Omei Turnbull|Omei Turnbull]] 12:59, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Thats what I was thinking. -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::This could be mitigated by adding a header field in the client message saying whether this is an initial or a follow-up request.  The server would not be required to check initial requests against its history of open requests.  Follow-up requests, which would require a lookup against the open requests, could be done at reduced priority, so that they don&#039;t interfere with normal traffic.--[[User:Omei Turnbull|Omei Turnbull]] 16:43, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Thoughts ==&lt;br /&gt;
For a simple setup X-Message-URL could be the original request URL. The DELETE command should send the same X-Message-ID as the orig request to better facilitate this. This would have the added benefit that a client could possibly cancel a request by sending a DELETE before getting a response.&lt;br /&gt;
This doesn&#039;t have to be all that complicated to implement. Once a request comes in, check to see if there is a DB entry for it, if it does not exist in the DB, execute the command and write the body to file and return the body. If it does exist in the DB already, check the status of the request, if there is a body, return it and wait for the timeout or DELETE command before removing the DB entry. -- [[User:Strife Onizuka|Strife Onizuka]] 15:34, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
Limiting the number of concurrent requests per client is one way of reducing DOS risk but if a client crashes and reconnects then it will need some way of finding out what requests need to be closed. There should probably be some interface the client can query the server to find out what requests it has open. The response to such a query would give URLs to close those requests but they should not be able to return those request&#039;s response bodies as that could be a security breach. Additionally those requests returned should be tagged with the session that created them and the status of that session (so multiple sessions can use the same authorization information concurrently). -- [[User:Strife Onizuka|Strife Onizuka]] 16:24, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:This is a really interesting point.  We&#039;ve given very little thought to communication with untrusted and unreliable clients.  Right now, we are assuming that the client is a reliable service itself -- chttp is essentially a peer protocol between durable hosts.  In particular, we want to assume delivery, which means that all the application logic doesn&#039;t have to contain a lot of failure cases (always a bugbear to write and test). The application just assumes that the message will eventually make it, despite temporary failures on both sending and receiving hosts.  With those assumptions, it&#039;s reasonable to say that the client doesn&#039;t need to query the server to find out what requests it has open.  It&#039;s not clear if the semantics even mean anything if the client is untrusted or unreliable.  [[User:Which Linden|Which Linden]] 22:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Perhaps there needs to be a way of identifing trusted hosts? Perhaps using HTTP authentication on servers that require identity? and if they can be identified, don&#039;t apply a limit to concurrent requests or at least increase the limit? Though this would surely make https as the perfered protocol in such a case, so authentication information is more secure. -- [[User:Nik Woodget|Nik Woodget]] 10:20, 19 September 2007&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32066</id>
		<title>Talk:Certified HTTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32066"/>
		<updated>2007-09-19T09:19:27Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==X-Message-ID==&lt;br /&gt;
&lt;br /&gt;
How about replacing the $random_uuid with an MD5 (or stronger) digest of the message body?  That would eliminate the undefined result of sending a message with the same message id but a a different body.  (Undefined results can be opportunities for exploits.) --[[User:Omei Turnbull|Omei Turnbull]] 20:21, 10 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:That wouldn&#039;t solve the problem, you would still be sending a message with the same message id if you sent two identical messages bodies. You would be guarantying a collision. It is really only an issue if two messages of the same ID are being processed at the same time. I think using $random_uuid is reasonable and in the event of a Message-ID collision or malformed Message-ID have the server return a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1 400]. -- [[User:Strife Onizuka|Strife Onizuka]] 00:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Heh, looks like Strife and I saw this at the same moment.  :-)  I guess if you digested the entire state of the message, including headers, receiving url, and sending url/host, then you&#039;re only ruling out the case where you do actually want to send two of the exact same message between the same two hosts at the exact same time and have both be processed as independent message.  Thanks for the idea!  [[User:Which Linden|Which Linden]] 00:06, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
==  X-Message-URL ==&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;If the client performs a GET to the message url prior to DELETE, the server must return the same body as the original response, including the X-Message-URL.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I think this may be an attack point, since it would require the server to cache the response body. There should also be a short timeout on the caching. This requirement makes it look like this protocol isn&#039;t something you want use with unauthorized clients. -- [[User:Strife Onizuka|Strife Onizuka]] 00:18, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::How does this differ from the explicit requirement that &amp;quot;the server must persist the response body or have a mechanism to idempotent generate the same response to the same request&amp;quot;?  But yes, it seems like the need to persist un-acknowledged response bodies for 15 days creates a big opportunity for a DDOS-type attack if reliable messages from unauthenticated clients are allowed. - [[User:Omei_Turnbull|Omei Turnbull]]&lt;br /&gt;
&lt;br /&gt;
::: That would be a problem if it only statically persisted a complete response. If it has a way to generate the idempotent response at any later time, there is no need to statically persist the complete response. [[User:Dzonatas Sol|Dzonatas Sol]] 10:22, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::: The entire response body has to be stored so that if the connection was terminated before the response was received it can be requested by sending a GET to X-Message-URL (instead of a DELETE). -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::: That would be one way. There are other ways to generate a response that is idempotent. [[User:Dzonatas Sol|Dzonatas Sol]] 15:49, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::: True, but it really depends on what is being requested and whether what is wanted is the old status or the current status. -- [[User:Strife Onizuka|Strife Onizuka]] 16:11, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Indeed, it depends on the intervals of when data is aggregated or archived. The complexity begins there. [[User:Dzonatas Sol|Dzonatas Sol]] 16:15, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::The issue I see (which I think is the same issue Strife was referring to) is that when the server gets a request, it has to check to see whether it is a duplicate of any outstanding request (i.e. a request for which the response hasn&#039;t been acknowledged) issued within the last 15 days, so that if it is, it will repeat its previous response.  If these requests can come from untrusted clients, the server could purposely be subjected to requests that are not acknowledged, until the server is no longer able to respond to any requests in a timely manner.--[[User:Omei Turnbull|Omei Turnbull]] 12:59, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Thats what I was thinking. -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::This could be mitigated by adding a header field in the client message saying whether this is an initial or a follow-up request.  The server would not be required to check initial requests against its history of open requests.  Follow-up requests, which would require a lookup against the open requests, could be done at reduced priority, so that they don&#039;t interfere with normal traffic.--[[User:Omei Turnbull|Omei Turnbull]] 16:43, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Thoughts ==&lt;br /&gt;
For a simple setup X-Message-URL could be the original request URL. The DELETE command should send the same X-Message-ID as the orig request to better facilitate this. This would have the added benefit that a client could possibly cancel a request by sending a DELETE before getting a response.&lt;br /&gt;
This doesn&#039;t have to be all that complicated to implement. Once a request comes in, check to see if there is a DB entry for it, if it does not exist in the DB, execute the command and write the body to file and return the body. If it does exist in the DB already, check the status of the request, if there is a body, return it and wait for the timeout or DELETE command before removing the DB entry. -- [[User:Strife Onizuka|Strife Onizuka]] 15:34, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
Limiting the number of concurrent requests per client is one way of reducing DOS risk but if a client crashes and reconnects then it will need some way of finding out what requests need to be closed. There should probably be some interface the client can query the server to find out what requests it has open. The response to such a query would give URLs to close those requests but they should not be able to return those request&#039;s response bodies as that could be a security breach. Additionally those requests returned should be tagged with the session that created them and the status of that session (so multiple sessions can use the same authorization information concurrently). -- [[User:Strife Onizuka|Strife Onizuka]] 16:24, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:This is a really interesting point.  We&#039;ve given very little thought to communication with untrusted and unreliable clients.  Right now, we are assuming that the client is a reliable service itself -- chttp is essentially a peer protocol between durable hosts.  In particular, we want to assume delivery, which means that all the application logic doesn&#039;t have to contain a lot of failure cases (always a bugbear to write and test). The application just assumes that the message will eventually make it, despite temporary failures on both sending and receiving hosts.  With those assumptions, it&#039;s reasonable to say that the client doesn&#039;t need to query the server to find out what requests it has open.  It&#039;s not clear if the semantics even mean anything if the client is untrusted or unreliable.  [[User:Which Linden|Which Linden]] 22:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Perhaps there needs to be a way of identifing trusted hosts? Perhaps using HTTP authentication on servers that require identity? and if they can be identified, don&#039;t apply a limit to concurrent requests or at least increase the limit? Though this would surely make https as the perfered protocol in such a case, so authentication information is more secure. -- [[User::Nik Woodget|Nik Woodget]] 10:20, 19 September 2007&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32065</id>
		<title>Talk:Certified HTTP</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Certified_HTTP&amp;diff=32065"/>
		<updated>2007-09-19T09:18:56Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==X-Message-ID==&lt;br /&gt;
&lt;br /&gt;
How about replacing the $random_uuid with an MD5 (or stronger) digest of the message body?  That would eliminate the undefined result of sending a message with the same message id but a a different body.  (Undefined results can be opportunities for exploits.) --[[User:Omei Turnbull|Omei Turnbull]] 20:21, 10 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:That wouldn&#039;t solve the problem, you would still be sending a message with the same message id if you sent two identical messages bodies. You would be guarantying a collision. It is really only an issue if two messages of the same ID are being processed at the same time. I think using $random_uuid is reasonable and in the event of a Message-ID collision or malformed Message-ID have the server return a [http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html#sec10.4.1 400]. -- [[User:Strife Onizuka|Strife Onizuka]] 00:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:Heh, looks like Strife and I saw this at the same moment.  :-)  I guess if you digested the entire state of the message, including headers, receiving url, and sending url/host, then you&#039;re only ruling out the case where you do actually want to send two of the exact same message between the same two hosts at the exact same time and have both be processed as independent message.  Thanks for the idea!  [[User:Which Linden|Which Linden]] 00:06, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
==  X-Message-URL ==&lt;br /&gt;
&lt;br /&gt;
:&amp;quot;If the client performs a GET to the message url prior to DELETE, the server must return the same body as the original response, including the X-Message-URL.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
I think this may be an attack point, since it would require the server to cache the response body. There should also be a short timeout on the caching. This requirement makes it look like this protocol isn&#039;t something you want use with unauthorized clients. -- [[User:Strife Onizuka|Strife Onizuka]] 00:18, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::How does this differ from the explicit requirement that &amp;quot;the server must persist the response body or have a mechanism to idempotent generate the same response to the same request&amp;quot;?  But yes, it seems like the need to persist un-acknowledged response bodies for 15 days creates a big opportunity for a DDOS-type attack if reliable messages from unauthenticated clients are allowed. - [[User:Omei_Turnbull|Omei Turnbull]]&lt;br /&gt;
&lt;br /&gt;
::: That would be a problem if it only statically persisted a complete response. If it has a way to generate the idempotent response at any later time, there is no need to statically persist the complete response. [[User:Dzonatas Sol|Dzonatas Sol]] 10:22, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::: The entire response body has to be stored so that if the connection was terminated before the response was received it can be requested by sending a GET to X-Message-URL (instead of a DELETE). -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::: That would be one way. There are other ways to generate a response that is idempotent. [[User:Dzonatas Sol|Dzonatas Sol]] 15:49, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::::: True, but it really depends on what is being requested and whether what is wanted is the old status or the current status. -- [[User:Strife Onizuka|Strife Onizuka]] 16:11, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::::::: Indeed, it depends on the intervals of when data is aggregated or archived. The complexity begins there. [[User:Dzonatas Sol|Dzonatas Sol]] 16:15, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::The issue I see (which I think is the same issue Strife was referring to) is that when the server gets a request, it has to check to see whether it is a duplicate of any outstanding request (i.e. a request for which the response hasn&#039;t been acknowledged) issued within the last 15 days, so that if it is, it will repeat its previous response.  If these requests can come from untrusted clients, the server could purposely be subjected to requests that are not acknowledged, until the server is no longer able to respond to any requests in a timely manner.--[[User:Omei Turnbull|Omei Turnbull]] 12:59, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:::Thats what I was thinking. -- [[User:Strife Onizuka|Strife Onizuka]] 15:27, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::This could be mitigated by adding a header field in the client message saying whether this is an initial or a follow-up request.  The server would not be required to check initial requests against its history of open requests.  Follow-up requests, which would require a lookup against the open requests, could be done at reduced priority, so that they don&#039;t interfere with normal traffic.--[[User:Omei Turnbull|Omei Turnbull]] 16:43, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Thoughts ==&lt;br /&gt;
For a simple setup X-Message-URL could be the original request URL. The DELETE command should send the same X-Message-ID as the orig request to better facilitate this. This would have the added benefit that a client could possibly cancel a request by sending a DELETE before getting a response.&lt;br /&gt;
This doesn&#039;t have to be all that complicated to implement. Once a request comes in, check to see if there is a DB entry for it, if it does not exist in the DB, execute the command and write the body to file and return the body. If it does exist in the DB already, check the status of the request, if there is a body, return it and wait for the timeout or DELETE command before removing the DB entry. -- [[User:Strife Onizuka|Strife Onizuka]] 15:34, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
== Cleanup ==&lt;br /&gt;
&lt;br /&gt;
Limiting the number of concurrent requests per client is one way of reducing DOS risk but if a client crashes and reconnects then it will need some way of finding out what requests need to be closed. There should probably be some interface the client can query the server to find out what requests it has open. The response to such a query would give URLs to close those requests but they should not be able to return those request&#039;s response bodies as that could be a security breach. Additionally those requests returned should be tagged with the session that created them and the status of that session (so multiple sessions can use the same authorization information concurrently). -- [[User:Strife Onizuka|Strife Onizuka]] 16:24, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
:This is a really interesting point.  We&#039;ve given very little thought to communication with untrusted and unreliable clients.  Right now, we are assuming that the client is a reliable service itself -- chttp is essentially a peer protocol between durable hosts.  In particular, we want to assume delivery, which means that all the application logic doesn&#039;t have to contain a lot of failure cases (always a bugbear to write and test). The application just assumes that the message will eventually make it, despite temporary failures on both sending and receiving hosts.  With those assumptions, it&#039;s reasonable to say that the client doesn&#039;t need to query the server to find out what requests it has open.  It&#039;s not clear if the semantics even mean anything if the client is untrusted or unreliable.  [[User:Which Linden|Which Linden]] 22:01, 11 July 2007 (PDT)&lt;br /&gt;
&lt;br /&gt;
::Perhaps there needs to be a way of identifing trusted hosts? Perhaps using HTTP authentication on servers that require identity?&lt;br /&gt;
and if they can be identified, don&#039;t apply a limit to concurrent requests or at least increase the limit? Though this would surely make https as the perfered protocol in such a case, so authentication information is more secure. -- [[User::Nik Woodget|Nik Woodget]] 10:20, 19 September 2007&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Nik_Woodget&amp;diff=30670</id>
		<title>User:Nik Woodget</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Nik_Woodget&amp;diff=30670"/>
		<updated>2007-09-07T08:19:27Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: New page: Works for a document life cycle solutions provider as a developer in c#. Works with C++ in his spare time. Though has yet to do anything on the Second Life Viewer&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Works for a document life cycle solutions provider as a developer in c#. Works with C++ in his spare time. Though has yet to do anything on the Second Life Viewer&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=SLDev_Resident_Names&amp;diff=30669</id>
		<title>SLDev Resident Names</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=SLDev_Resident_Names&amp;diff=30669"/>
		<updated>2007-09-07T08:17:44Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[SLDev]] &amp;gt; &#039;&#039;&#039;SLDev Resident Names&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
This page is (or will hopefully be) a decoder ring for people to figure out who&#039;s who on the [[SLDev]] mailing list.&lt;br /&gt;
&lt;br /&gt;
If you post messages to the SLDev mailing list under a different name than your Second Life Resident name, please note it here. (Tip:  putting three tildes, e.g. &amp;quot;&amp;lt;nowiki&amp;gt;~~~&amp;lt;/nowiki&amp;gt;&amp;quot;, will automatically convert to your name and a link to your username on this wiki) :&lt;br /&gt;
&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; cellpadding=&amp;quot;2&amp;quot; class=sortable&lt;br /&gt;
|-&lt;br /&gt;
!| SLDev Posting Name &lt;br /&gt;
!| Second Life Resident Name&lt;br /&gt;
|-&lt;br /&gt;
| Rob Lanphier || [[User:Rob Linden|Rob Linden]] &lt;br /&gt;
|-&lt;br /&gt;
| Harold &amp;quot;LabRat&amp;quot; Brown || [[User:Thraxis Epsilon|Thraxis Epsilon]] &lt;br /&gt;
|-&lt;br /&gt;
| Laurent Laborde || [[User:Kerunix Flan|Kerunix Flan]]&lt;br /&gt;
|-&lt;br /&gt;
| Lawson English || [[User:Saijanai Kuhn|Saijanai Kuhn]]&lt;br /&gt;
|-&lt;br /&gt;
| Callum Lerwick || [[User:Seg Baphomet|Seg Baphomet]]&lt;br /&gt;
|-&lt;br /&gt;
| Matt Kimmel || [[User:Feep Larsson|Feep Larsson]]&lt;br /&gt;
|-&lt;br /&gt;
| Dirk Moerenhout || [[User:Blakar Ogre|Blakar Ogre]]&lt;br /&gt;
|-&lt;br /&gt;
| Nik Radford || [[User:Nik Woodget|Nik Woodget]]&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26233</id>
		<title>Talk:Hegemons Login Analysis</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26233"/>
		<updated>2007-07-24T15:57:18Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: Removing all content from page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26230</id>
		<title>Talk:Hegemons Login Analysis</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26230"/>
		<updated>2007-07-24T15:38:28Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Harrah for those with inquisitive minds.&lt;br /&gt;
&lt;br /&gt;
Certainly an interesting read.&lt;br /&gt;
&lt;br /&gt;
Even though you don&#039;t want to rely on the SL Viewer source to see how things work, it may make understanding easier. You can, if you don&#039;t know already, then send an XML-RPC calls to the real servers with valid data in order to find out what the valid response is. Or, just look in viewer code.&lt;br /&gt;
&lt;br /&gt;
Just a suggestion though.&lt;br /&gt;
&lt;br /&gt;
Nik Woodget&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
----&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26229</id>
		<title>Talk:Hegemons Login Analysis</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Hegemons_Login_Analysis&amp;diff=26229"/>
		<updated>2007-07-24T15:38:09Z</updated>

		<summary type="html">&lt;p&gt;Nik Woodget: New page: Harrah for those with inquisitive minds.  Certainly an interesting read.  Even though you don&amp;#039;t want to rely on the SL Viewer source to see how things work, it may make understanding easie...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Harrah for those with inquisitive minds.&lt;br /&gt;
&lt;br /&gt;
Certainly an interesting read.&lt;br /&gt;
&lt;br /&gt;
Even though you don&#039;t want to rely on the SL Viewer source to see how things work, it may make understanding easier. You can, if you don&#039;t know already, then send an XML-RPC calls to the real servers with valid data in order to find out what the valid response is. Or, just look in viewer code.&lt;br /&gt;
&lt;br /&gt;
Just a suggestion though.&lt;br /&gt;
&lt;br /&gt;
Nik Woodget&lt;br /&gt;
&lt;br /&gt;
---&lt;/div&gt;</summary>
		<author><name>Nik Woodget</name></author>
	</entry>
</feed>