<?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=Gibson+Willis</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=Gibson+Willis"/>
	<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/wiki/Special:Contributions/Gibson_Willis"/>
	<updated>2026-06-16T04:57:02Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Project_Motivation&amp;diff=41045</id>
		<title>Project Motivation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Project_Motivation&amp;diff=41045"/>
		<updated>2007-11-20T15:59:04Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Additional scaling factors */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Template:AWG_NavBox}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
According to Zero Linden, the project was motivated by thoughts a year ago when Second Life was growing rapidly and Linden Lab was thinking about how to scale the grid.&lt;br /&gt;
&lt;br /&gt;
There have been two timeframes set back then: The next few months and the next years. This architecture discussion is about the next years.&lt;br /&gt;
&lt;br /&gt;
== Scary numbers ==&lt;br /&gt;
&lt;br /&gt;
If we assume that virtual worlds will be a significant part of the future, then the following numbers along the 4 population-related dimensions of scalability might not be so far off:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
#Scalability of world extent:&lt;br /&gt;
#:* 60 million regions (probably more) (60 was mentioned [http://wiki.secondlife.com/wiki/User:Zero_Linden/Office_Hours/2007_Sep_18 here] by Zero Linden )&lt;br /&gt;
#Scalability of world population:&lt;br /&gt;
#:* 2 billion users&lt;br /&gt;
#Scalability of concurrent users:&lt;br /&gt;
#:* 50 - 100 million concurrency (on whatever device)&lt;br /&gt;
#Scalability for events (concurrent users in a single region):	 &lt;br /&gt;
#:* &amp;lt;strike&amp;gt;20 thousand&amp;lt;/strike&amp;gt; per region ([[Event_Scalability_VAG|the raw population-based figures are currently being revised to include other factors]])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
These are the primary numbers that drive the need for a scalable architecture.  In Zero&#039;s view, these numbers will almost certainly happen, no matter what form virtual worlds take.  These numbers will not be possible with the grid right now and additionally some more use cases need to be solved like connecting 3rd party hosted regions to the grid.&lt;br /&gt;
&lt;br /&gt;
== Additional scaling factors ==&lt;br /&gt;
&lt;br /&gt;
The above &#039;&#039;scary numbers&#039;&#039; stem from population pressure alone, but there are other areas of growth which compound the impact of those numbers still further.  We might, or might not, take such numbers as guidelines that the architecture we devise should support.  While we would like the architecture to support as many possible feature sets, and implementation strategies as possible, various numbers may or may not be achievable in any particular platform, but remain relevant anyway in a distributed platform that includes 3rd parties.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:* The number of online users wishing to attend a single event increases with the population.  By simple proportionality:&lt;br /&gt;
:** from total population growth, 100 people today rises to ([[Scalability_VAG|20,000 per event]]) (this is arithmetic, not opinion)&lt;br /&gt;
:** from concurrent population growth, 100 people today rises to ([[Scalability_VAG|100,000 per event]]) (this is arithmetic, not opinion)&lt;br /&gt;
:::* &#039;&#039;(These are end-limit figures derived by simple proportionality and should not be considered use cases.)&#039;&#039;&lt;br /&gt;
:* Media-led scenarios (&amp;quot;Observer Mode&amp;quot;) remove all client-side scaling barriers to allowing [[Use_Cases#SecondlifeTube|millions of event observers]].&lt;br /&gt;
:* Prim count expectations grow naturally.  Limiting them to current values is not tenable.&lt;br /&gt;
:* Scripting load will grow roughly in proportion to prim numbers, as well as proportional to population through attachments.&lt;br /&gt;
:* Current growth is tiny compared to what will happen when TV-led events like [http://www.nytimes.com/2007/10/04/arts/television/04CSI.html CSI:NY/SL] turn SL mainstream.  Concurrent usage pressure will explode.&lt;br /&gt;
&lt;br /&gt;
There also are numbers that are &#039;&#039;not&#039;&#039; expected to grow but still may have a significant impact on technical decisions regarding architecture, so they may be used to &amp;quot;anchor&amp;quot; anticipations and as a base for designing the rest of the architecture. These are the expected end-user capacities:&lt;br /&gt;
:* The maximum number of concurrent interactions with other people per player is not expected to increase. There are only so many people we can consider and be attentive to simultaneously, that making more people visible or heard makes no useful difference or even degrades experience.&lt;br /&gt;
:* The maximum chatting output per player isn&#039;t growing anytime soon either.&lt;br /&gt;
:* The maximum number of concurrent world interactions is pretty fixed: there are only so many prims we can modify, scripts we can interact with, objects we can manipulate simultaneously ; and we can only manage to maneuver so fast, that flying, driving and taking sharp turns faster is impractical.&lt;br /&gt;
:* The update frequency required to simulate smooth movement or make a curved, arbitrary trajectory not appear disjointed or jerky is not going to increase over a few dozen Hz, and there are only so many moving objects we can be attentive to and in whose movement we can detect discrepancies.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category: AW Groupies]]&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=User:Zero_Linden/Office_Hours/vote&amp;diff=41034</id>
		<title>User:Zero Linden/Office Hours/vote</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=User:Zero_Linden/Office_Hours/vote&amp;diff=41034"/>
		<updated>2007-11-20T15:22:35Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I have to change the Thursday office hour time.  There are to options:&lt;br /&gt;
* Move it to Wednesday, still at 7:30 AM -- &#039;&#039;&#039;votes:&#039;&#039;&#039; 2&lt;br /&gt;
* Keep it on Thursday, but move to 8:30 AM -- &#039;&#039;&#039;votes:&#039;&#039;&#039; 0&lt;br /&gt;
&lt;br /&gt;
Vote by increasing the number on one of those lines by one.&lt;br /&gt;
&lt;br /&gt;
Thanks, Zero&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=38763</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=38763"/>
		<updated>2007-11-01T14:19:20Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Summary */&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;
== Note ==&lt;br /&gt;
&lt;br /&gt;
It was not explicit in the original article what the motivations behind LL&#039;s proposed new authentication system are. The goals (Security, Flexibility, Persistence) and benefits listed here are what SLDev believed them to be based on the original description and e-mail discussions. One of the less stated but said higher priority goals[https://lists.secondlife.com/pipermail/sldev/2007-October/005546.html] is that of anti-fraud measures, but it is not practical to critique unpublicized or miscommunicated anti-fraud plans. This article, therefore, still lacks an essential critique about fraud prevention/detection as possibly desired when solicited.&lt;br /&gt;
&lt;br /&gt;
== Summary ==&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 in that it would acclimatise users to starting the viewer via a web page. At present most password compromises are probably due to weaknesses in the current protocol challenge response, due to allowing weak passwords, due to security compromises in the LL websites 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 synchronize 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. A relatively simpler mod to the web site could prevent the account details for a different alt displaying when the account menu options are selected in the client. There is an argument that separating the passwords and logon for the forums would actually improve security.&lt;br /&gt;
&lt;br /&gt;
The suggestion of providing an embedded way of displaying the web form within the viewer so that you will not have to always start the viewer from a web browser is a non-starter, not just because of problems with the current code in handling web proxies, but because it would be very easy for the embedded web form handling code to log the form data before POSTing to the web site thus undermining any benefits gained.&lt;br /&gt;
&lt;br /&gt;
Overall, the additional development time both for 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;
=== Benefits Stated By LL ===&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;
* To consolidate the authentication implementation in order to support back-end anti-fraud work&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;
* It is suggested that the viewer will embed the web form within the viewer -&lt;br /&gt;
** This escalates the importance of addressing a number of current problems with llmozlib in the current viewer code:&lt;br /&gt;
*** there are problems compiling llmozlib on the Linux platform&lt;br /&gt;
*** proxies are not supported&lt;br /&gt;
** In any case, a modded client easily log the form data before submitting it to the webform, i.e. all the concerns about clients grabbing passwords would still apply!&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;
* For considation have a single backend web service which does the actual authentication - but which is fronted by GUI frontends (e.g. in the viewer) and web frontends (e.g. for accessing the web based account pages etc.)&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;
* Log of successful or failed login attempts including ip address (or at least a notice of the last attempt)&lt;br /&gt;
* Black, White or Greylist IP (specific or &amp;gt; network ranges)- This would allow someone with a static, or semi-static IP to prevent client logons to their account unless they appear on the Whitelist of approved IP&#039;s. Greylisting would allow one login attempt every 5-10 minutes and could be used when traveling. &amp;gt; IP&#039;s on the blacklist would not be able to log into the account at all&lt;br /&gt;
** Question: how many people have, or even know they have, static or semi static IPs?&lt;br /&gt;
* Lock account if too many consecutive logon requests (to prevent automated dictionary attacks) - a user should be able to unlock an account via the website using additional validation such as CAPTCHA&#039;s and providing additional information on file such as date of birth.&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;
*** Note that the proposed authentication mechanism via a web form might prevent any attempt at implementing a challenge-response mechanism&lt;br /&gt;
** Dictionary check to reject insecure passwords&lt;br /&gt;
&lt;br /&gt;
== Flexibility ==&lt;br /&gt;
&lt;br /&gt;
=== Benefits Stated By LL ===&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;
=== Benefits Stated By LL ===&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;
* There is an argument that the forum logon should be seperated from the SL account logon&lt;br /&gt;
** This would fit the practice of those using alts, when they only use one account on the forums but would need to check the account details of various alts.&lt;br /&gt;
** Having seperate passwords would isolate security compromises in the forums software from compromising the SL account itself.&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)  (Please see my notes: [https://lists.secondlife.com/pipermail/sldev/2007-October/005605.html] [https://lists.secondlife.com/pipermail/sldev/2007-October/005615.html])&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;br /&gt;
* [[User:Whoops Babii|Whoops Babii]] 05:29, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Feep Larsson|Feep Larsson]] 06:29, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Gibson Willis|Gibson Willis]] 07:11, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Grazer Kline|Grazer Kline]] 10:34, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Odysseus Fairymeadow|Odysseus Fairymeadow]] 13:58, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Melanie Milland|Melanie Milland]] 16:23, 2 October 2007 (PDT)&lt;br /&gt;
* [[User:Seg Baphomet|Seg Baphomet]] 09:33, 8 October 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Viewer_Authentication_Critique&amp;diff=33912</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=33912"/>
		<updated>2007-10-01T14:11:47Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Signatories */&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;br /&gt;
* [[User:Whoops Babii|Whoops Babii]] 05:29, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Feep Larsson|Feep Larsson]] 06:29, 1 October 2007 (PDT)&lt;br /&gt;
* [[User:Gibson Willis|Gibson Willis]] 07:11, 1 October 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33500</id>
		<title>Talk:Channel and Version Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33500"/>
		<updated>2007-09-28T19:12:46Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Talk}}&lt;br /&gt;
&lt;br /&gt;
== Adding a fifth number to versions ==&lt;br /&gt;
&lt;br /&gt;
I think this all makes sense except for this part:&lt;br /&gt;
&lt;br /&gt;
 Choose a version number&lt;br /&gt;
    * The version number is in the form Major.Minor.Patch.Build&lt;br /&gt;
    * The version number can be any four numbers&lt;br /&gt;
    * We recommend using the Major, Minor, and Patch numbers from the most recently merged Linden Lab source code.&lt;br /&gt;
    * We recommend using a Build number &amp;gt;= 100 to indicate a non Linden Lab version.&lt;br /&gt;
&lt;br /&gt;
I think that the versions should be 5 numbers, since there have been occasions where multiple versions of Major.Minor.Patch have been released by Linden Lab.  For example (from [[Source_downloads]]):&lt;br /&gt;
&lt;br /&gt;
* ver 1.18.2.1&lt;br /&gt;
* ver 1.18.2.0&lt;br /&gt;
&lt;br /&gt;
* ver 1.14.0.1&lt;br /&gt;
* ver 1.14.0.0&lt;br /&gt;
&lt;br /&gt;
So, my proposal would be that the number be in the form Major.Minor.Patch.Build.3rdPartyNumber. [[User:Gibson Willis|Gibson Willis]] 12:12, 28 September 2007 (PDT)&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33488</id>
		<title>Talk:Channel and Version Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33488"/>
		<updated>2007-09-28T18:21:35Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I think this all makes sense except for this part:&lt;br /&gt;
&lt;br /&gt;
 Choose a version number&lt;br /&gt;
    * The version number is in the form Major.Minor.Patch.Build&lt;br /&gt;
    * The version number can be any four numbers&lt;br /&gt;
    * We recommend using the Major, Minor, and Patch numbers from the most recently merged Linden Lab source code.&lt;br /&gt;
    * We recommend using a Build number &amp;gt;= 100 to indicate a non Linden Lab version.&lt;br /&gt;
&lt;br /&gt;
I think that the versions should be 5 numbers, since there have been occasions where multiple versions of Major.Minor.Patch have been released by Linden Lab.  For example (from [[Source_downloads]]):&lt;br /&gt;
&lt;br /&gt;
* ver 1.18.2.1&lt;br /&gt;
* ver 1.18.2.0&lt;br /&gt;
&lt;br /&gt;
* ver 1.14.0.1&lt;br /&gt;
* ver 1.14.0.0&lt;br /&gt;
&lt;br /&gt;
So, my proposal would be that the number be in the form Major.Minor.Patch.Build.3rdPartyNumber.&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33486</id>
		<title>Talk:Channel and Version Requirements</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Talk:Channel_and_Version_Requirements&amp;diff=33486"/>
		<updated>2007-09-28T18:02:37Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: New page: I think this all makes sense except for this part:   Choose a version number     * The version number is in the form Major.Minor.Patch.Build     * The version number can be any four number...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;I think this all makes sense except for this part:&lt;br /&gt;
&lt;br /&gt;
 Choose a version number&lt;br /&gt;
    * The version number is in the form Major.Minor.Patch.Build&lt;br /&gt;
    * The version number can be any four numbers&lt;br /&gt;
    * We recommend using the Major, Minor, and Patch numbers from the most recently merged Linden Lab source code.&lt;br /&gt;
    * We recommend using a Build number &amp;gt;= 100 to indicate a non Linden Lab version.&lt;br /&gt;
&lt;br /&gt;
I think that the build numbers should be 5 numbers, since there have been occasions where multiple versions of Major.Minor.Patch have been released by Linden Lab.  For example (from [[Source_downloads]]):&lt;br /&gt;
&lt;br /&gt;
* ver 1.18.2.1&lt;br /&gt;
* ver 1.18.2.0&lt;br /&gt;
&lt;br /&gt;
* ver 1.14.0.1&lt;br /&gt;
* ver 1.14.0.0&lt;br /&gt;
&lt;br /&gt;
So, my proposal would be that the number be in the form Major.Minor.Patch.Build.3rdPartyNumber.&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Searching_FAQ&amp;diff=30416</id>
		<title>Searching FAQ</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Searching_FAQ&amp;diff=30416"/>
		<updated>2007-09-05T00:38:28Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Use product-exchange sites. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Disclaimer ===&lt;br /&gt;
* This article is my opinion. It is not necessarily backed by Linden Labs or anyone else.&lt;br /&gt;
* I welcome feedback on the article, and am especially keen on constructive suggestions. I will however ignore flames, trolling, personal attacks, etc.&lt;br /&gt;
* This article is intended to be very helpful, useful, insightful and generally good, however it is offered &#039;as is&#039; and I do not guarantee that it is any of these.&lt;br /&gt;
* The original version of this FAQ was written by Angel Fluffy, but has probably been edited/changed since then. If you edit this page a lot, please remove the &amp;quot;Angel Fluffy&#039;s&amp;quot; from the title, to make it clear the page is a community effort.&lt;br /&gt;
&lt;br /&gt;
===  Angel Fluffy&#039;s Searching / Finding Products FAQ ===&lt;br /&gt;
This page is intended to help answer the age old-question of &amp;quot;how do I find the product I want in SL?&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Put bluntly, there are 3 main ways of finding the items you want :&lt;br /&gt;
# Look in-world.&lt;br /&gt;
# Look at websites about SL products.&lt;br /&gt;
# Ask others for help.&lt;br /&gt;
&lt;br /&gt;
I&#039;ll cover each below.&lt;br /&gt;
&lt;br /&gt;
==== Look in-world.====&lt;br /&gt;
&lt;br /&gt;
===== Use the Search tool =====&lt;br /&gt;
In the SL client, you have a &amp;quot;Search&amp;quot; button at the bottom of your screen.&lt;br /&gt;
This search button should be your first port of call when attempting to find anything in Second Life.&lt;br /&gt;
The two most important things about using the search tool are searching under the right window, and using the right search terms.&lt;br /&gt;
In general, start out as specific as possible, and gradually become more general in your searches if you do not find what you are looking for.&lt;br /&gt;
====== Searching the right tab ======&lt;br /&gt;
Most obvious searches have their own tab, for example, if you&#039;re searching for a person, use the &amp;quot;people&amp;quot; tab.&lt;br /&gt;
However, some searches use multiple tabs.  For example, if you are searching for clothes, you should probably use both the &amp;quot;places&amp;quot; (stores will have &#039;clothes&#039; as a keyword) and also the &#039;classifieds&#039; tab (stores will advertise there).&lt;br /&gt;
In general, if you don&#039;t find what you&#039;re looking for under the tab you expect, try other tabs. Use the &amp;quot;All&amp;quot; tab last, for it can return a LOT of irrelevant results.&lt;br /&gt;
====== Using the right search terms ======&lt;br /&gt;
Identify the few words that best describe what you are looking for. Avoid using common, or irrelevant words, such as &#039;the&#039;, &#039;a&#039;, &#039;and&#039;, &#039;it&#039;, &#039;will&#039;, or &#039;does&#039;. Use only keywords that summarise what the object is or what it does. Good keywords for objects describe the thing you want as much as possible in the shortest time, and are specific. For example, &#039;tuna&#039; is better than &#039;fish&#039;, &#039;suit&#039; is better than &#039;clothes&#039;, &#039;rental&#039; is better than &#039;property&#039; and &#039;panther&#039; is better than &#039;cat&#039;.&lt;br /&gt;
Start with the most specific keywords you can think of, and broaden out if a search on those doesn&#039;t find what you&#039;re looking for. For example, if you&#039;re searching for a an object that looks like a tuna fish, search for &#039;tuna&#039;, then &#039;fish&#039;, then &#039;animals&#039;, becoming more general each time you don&#039;t find what you&#039;re looking for.&lt;br /&gt;
&lt;br /&gt;
===== Ask vendors who make similar things. =====&lt;br /&gt;
If you can find someone who makes something very close to what you want, check if they do custom work, by looking around their main store, and checking *all* the areas of their profile.&lt;br /&gt;
If they make something similar to what you want, and their store/profile doesn&#039;t clearly say that they don&#039;t do custom work, it may be worth asking them if they would do a custom version of their product, just for you, to get it exactly how you want it.&lt;br /&gt;
Be warned, most product makers will charge for this - and the bigger the changes you want made, the more they will charge.&lt;br /&gt;
Rates for custom work are sometimes negotiable. If the price you are quoted for custom work seems too high, say so, and offer what you think is a more reasonable price.&lt;br /&gt;
If they won&#039;t do custom work, or they would charge too much for doing it, or it simply can&#039;t be done, then try asking someone else who makes products similar to what you want.&lt;br /&gt;
Never hold it against a creator that they won&#039;t do custom work for you. Often creators are both creators and business owners, and this makes them very busy. Just like you, they want to enjoy their Second Life, and custom work takes a lot of time. Many of them therefore choose to not do any custom work on their products, even if you are prepared to offer them money for doing it.&lt;br /&gt;
Don&#039;t be offended if they say no - it is almost never personal - they&#039;re usually just too busy.&lt;br /&gt;
&lt;br /&gt;
===== Ask your friends. =====&lt;br /&gt;
Make sure to ask those friends of yours who may also be interested in the same thing. For example, if you like to parachute in SL, and you want to find a prim parachute, then it makes sense to ask your friends who also like parachuting where parachutes can be found.&lt;br /&gt;
&lt;br /&gt;
===== Ask the community leaders. =====&lt;br /&gt;
These people can be identified as they&#039;ve been in SL a long time and tend to own or run the popular locations or groups for people with that interest. For example, if you were looking for a copy of Cloud&#039;s Ultima Sword (an item from a Final Fantasy video game) you might go to FF fan clubs and ask the people who seem to know the most about FF.&lt;br /&gt;
&lt;br /&gt;
Similarly, if you were looking for a good set of lights for your house, you might want to ask someone who advertises as a builder or interior designer. Find the places associated with FF, using the above search techniques, then find the people who own/run those places, and (if they don&#039;t mind) ask them.&lt;br /&gt;
&lt;br /&gt;
==== Use product-exchange sites. ====&lt;br /&gt;
&lt;br /&gt;
Go to sites like [http://www.slexchange.com SLExchange] and [http://shop.onrez.com Shop OnRez] - and search them, too, looking for items with the keywords you picked out above. Sites like this are a quick way to search through a lot of different products and zero in on the ones you want, without having to spend time teleporting from store to store... or time wandering around stores looking for where the product you want is sold.&lt;br /&gt;
Be warned, however, that many content creators (including myself) sometimes refuse to list things for sale on SLX and similar sites, due to their high listing fees. There are many vendors who can only be found inside Second Life, and if you use SLX/etc instead of searching in-world you will miss out on these. SLX and similar sites are good places to look if you want to browse products on the web, but they cannot replace in-world searching.&lt;br /&gt;
&lt;br /&gt;
==== When to post in [http://forums.secondlife.com/forumdisplay.php?f=147 the SL new products forum]. ====&lt;br /&gt;
&lt;br /&gt;
If you can&#039;t find it in-world using the above methods, then your best option may be to post to this forum. There are other similar forums, such as the one at [http://www.secondcitizen.com Second Citizen], however these tend to have even lower traffic than the main forum, so they should probably be the last place you look.&lt;br /&gt;
&lt;br /&gt;
Before you post to any forum, asking where you can find something, you should make sure that :&lt;br /&gt;
&lt;br /&gt;
===== You have already looked in-world. =====&lt;br /&gt;
Looking in-world is faster than posting to this forum, and more effective in most cases.&lt;br /&gt;
Be sure to look in-world first, and when you post, say that you have already looked in-world. Saying that makes it more likely others will help you.&lt;br /&gt;
&lt;br /&gt;
===== You know what you want. =====&lt;br /&gt;
Quite simply, if you don&#039;t understand what you want, you will have a hard time finding it.&lt;br /&gt;
Make sure you know what you want BEFORE you post here.&lt;br /&gt;
The process of looking at existing products often helps you figure out what you want. If in doubt, try some of the existing products similar to what you think you want, and then build up a list of ways you think they could be improved. Use the description of that product and the list of ways it could be improved, to come up with a description of the product you really want.&lt;br /&gt;
If you come up with a list of suggested improvements for a product, try sending that list to the product&#039;s creator, so they can improve their product. The creator might be inspired to improve his product, or might tell you where you can get a product which is more like what you want.&lt;br /&gt;
&lt;br /&gt;
===== You can describe what you want clearly. =====&lt;br /&gt;
For anything you want, you should describe as much as possible of its appearance, its function and purpose.&lt;br /&gt;
Describing its appearance is necessary because otherwise you may end up with a lot of objects which you don&#039;t like the look of. Describing its function is necessary because otherwise you may well end up with an object that doesn&#039;t work, or doesn&#039;t do the thing you want it to do. Describing its purpose is also a good idea, because by describing its purpose you help people understand *why* you want the object, and thus, both potentially gather support from other consumers.&lt;br /&gt;
If other people understand why you want the object, they may see the need the object addresses, and thus may want the object too. If they also want the object, you can group together and try to get someone to make it for you - both spreading the costs if making the object takes custom work, and also being more likely to get the attention of creators by showing that demand for the object is there.&lt;br /&gt;
Telling people why you want the object is also a good idea because then they can suggest new features or changes to the object that would make it better at its purpose. For example, if you say you want a light for your home, with an on/off switch, people may suggest places where you can buy these lights. If on the other hand you say that *and* you say that you want this on/off switch so that the light can be turned off when nobody is around, then someone may suggest that instead of having a light with an on/off switch, you consider a light that turns on when you touch it, and turns off automatically once you leave the area.&lt;br /&gt;
Thus, telling people *why* you want a certain product often enables them to see your problem, and thus propose better solutions to your problem. The net result is that you discover new and better ways of solving your problem - ways you might not have thought up yourself.&lt;br /&gt;
So, for these reasons, always give clear and accurate details on the appearance, function and purpose of products you request.&lt;br /&gt;
&lt;br /&gt;
===== You know how it differs from what already exists. =====&lt;br /&gt;
If there is a well-known product that already exists which is similar to what you want, make sure that you mention this and explain the differences.&lt;br /&gt;
The reason for this is simple : it helps explain what you want clearly, and means people are less likely to just refer you back to that well-known product.&lt;br /&gt;
&lt;br /&gt;
===== You have some idea of what you&#039;d be willing to pay for it. =====&lt;br /&gt;
Often, different examples of the same basic idea can vary wildly in price. A simple glowing box &#039;light&#039; for example, may be free and easy to make within about 10 seconds. A very complex prim &#039;light&#039; with off/on commands, or which turns off/on automatically when people enter the room, for example, might cost a fair bit of money. The classic case of this is permissions : the more permissions the object comes with, the more it typically costs. Have a think about what you&#039;d be willing to pay for the product. Some things cost a lot more than you&#039;d expect.&lt;br /&gt;
To prevent yourself spending more than you can afford, I suggest having a budget, and avoiding spending money on non-essential things unless you have cash to spare. When you do come to buy non-essential things, you should still have a budget there too - aim to get value for money. Value for money does NOT mean buying the cheapest thing. Value for money means spending your money such that you get the most use out of it. Effectively, it means spending your money on the things which you&#039;d enjoy most, the things you&#039;d use most, the things which mean the most to you.&lt;br /&gt;
As with anything related to money, the best way to deal with it is by making a plan in advance, to make sure that if surprises come up that you&#039;re equipped to deal with them.&lt;br /&gt;
&lt;br /&gt;
===== You are prepared to work with other people. =====&lt;br /&gt;
Put simply, this forum is based around the idea of Residents helping each other find things. So, you&#039;ll have more luck here if you&#039;re polite and tactful.&lt;br /&gt;
Avoid saying : &amp;quot;______ sucks! If I had made a ______, I would have done ______&amp;quot;.&lt;br /&gt;
Instead, try saying : &amp;quot;______ does ______ well, but isn&#039;t so good at doing _____. I&#039;d really like it to do _______. Can anyone please point me to a product that does _____?&amp;quot;&lt;br /&gt;
Bear in mind people replying to your posts on this forum are usually trying to help you. So, if you help them by being as clear and polite as possible, you greatly increase your chances of getting what you want.&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Content_Creation&amp;diff=30415</id>
		<title>Content Creation</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Content_Creation&amp;diff=30415"/>
		<updated>2007-09-05T00:37:38Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Homesteading */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;One of the most unusual features of the Second Life Virtual World is that any user can create new stuff that every one else can see and use.  The ambitious can create things for sale.  The artistic can create art.  Monopoly players can buy and sell land using real money and hotels.  All of these things together are called &#039;&#039;Content Creation&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
One reason that people are willing to put their creations into Second Life is that SL tries hard to protect [[Intellectual Property Rights]] (or IP, for short).  just like in the real world, there are ways to steal other peoples creations, but in SL this is for the most part not a common, recurring problem, thanks to the close attention given to it by the SL technology.&lt;br /&gt;
&lt;br /&gt;
So, what does it mean to &amp;quot;Create Content&amp;quot;?  This page is a high level overview, with pointers to more detailed information for content creators.  It describes the broad categories of things that users of SL create, and what kinds of tools they use to create them.  Enjoy.  Remember, this is &#039;&#039;&#039;your&#039;&#039;&#039; Wiki.  Feel free to edit it to your satisfaction.&lt;br /&gt;
&lt;br /&gt;
==Homesteading==&lt;br /&gt;
&lt;br /&gt;
Lots of SL residents buy a piece of virtual land, and start building a dream home.  Maybe a fishing camp, or a ski lodge, or a beach house, or a mountain top castle with a dungeon.  As the tag line says, it is your imagination.&lt;br /&gt;
&lt;br /&gt;
There are lots of different approaches.  Some people start out with the [[Building Tools#Bull Dozer|bulldozer]] tool in the [[Building Tools#Land Editor|Land Editor]], and grade their land the way they want it.  Then they buy a prefabricated house at a place like [SLExchange.com] or [OnRez.com], or at one of the many in-world architect firms.  With more money, one might have a house and landscaping done by a custom builder.&lt;br /&gt;
&lt;br /&gt;
Is this sounding like the real world?&lt;br /&gt;
&lt;br /&gt;
It is also common to garden, either buying or making [[Flora and Fauna]].&lt;br /&gt;
&lt;br /&gt;
The in-world [[Building Tools|building tools]] can be used to make many of these things from scratch.  Yes, it takes time and practice, but for some people it is very fulfilling to see blocks of raw materials slowly assembled into a luxury retreat.&lt;br /&gt;
&lt;br /&gt;
The default building material at first looks like plywood.  If you want a marble wall instead of a plywood wall, then what?  The answer is to apply a [[Textures|texture]].  This is an image of what the surface should look like, applied over the plywood.  Every resident has a [[Inventory Library|library]] of textures, and there are lots more available for free and for purchase.  Textures are also a good example of building tools outside SL.  To make a unique texture, use a tool such as [[Building Tools#2D Graphics|Adobe Photoshop or the GIMP]] to create an image that you later upload to be used in SL.  Nice image?  [[Commerce|Sell it!]]&lt;br /&gt;
&lt;br /&gt;
One last thing about homesteading.  Sometimes buildings, landscape, or flora and fauna do something.  Doors open and close.  Fireflies flicker.  People sit in hot tubs.  What these all have in common is that the actions are usually controlled by a [[Scripting in LSL| script]], which is a set of instructions in a language called Linden Scripting Langage, or LSL.  Like everything else in SL, there are lots of scripts already available for free and for purchase, and if you like that kind of thing, you can do it yourself.&lt;br /&gt;
&lt;br /&gt;
==Fashion==&lt;br /&gt;
&lt;br /&gt;
It seems like people really love to shop in SL.  Perhaps it is because things they cannot afford in real life are so inexpensive in SL.&lt;br /&gt;
&lt;br /&gt;
People like cool hair, jewelry, clothes, shoes, and somebody has to make all that stuff.  There is even a &#039;&#039;Cosmopolitan&#039;&#039; like [SL Fashion magazine].&lt;br /&gt;
&lt;br /&gt;
Making all these things in SL varies from easy to difficult.  Simple hair and clothes can be made with the [[Appearance Editor]].  Nicer things require more work.&lt;br /&gt;
&lt;br /&gt;
===Clothing===&lt;br /&gt;
Nice clothing is usually a combination of objects made with the [[Building Tools|Object Editor]], and material made with an external [[Building Tools#2D Graphics|2D graphics]] program such as Photoshop or the GIMP.  Artistic skill and determination required.&lt;br /&gt;
&lt;br /&gt;
===Hair===&lt;br /&gt;
Hair is usually made using the [[Building Tools|Object Editor]].  It is built up lock by lock. It is colored using images created using 2D graphics.&lt;br /&gt;
&lt;br /&gt;
===Jewelry===&lt;br /&gt;
Like hair, usually made in the [[Building Tools|Object Editor]] and then colored with images.&lt;br /&gt;
&lt;br /&gt;
===Body Shape and Skin===&lt;br /&gt;
&lt;br /&gt;
Surprise.  In the real world, you are born with your body and skin, and stuck with it.  In SL it is something you can make or buy.  Think of skin as a sort of tight fitting piece of art with all the interesting bits painted on.  Shape is made using the [[Appearance Editor]].&lt;br /&gt;
&lt;br /&gt;
==Commerce==&lt;br /&gt;
&lt;br /&gt;
Have you always wanted to run the coolest club in town?  Apparently, you are not alone, since SL has cool clubs everywhere, with every possible imaginable theme.&lt;br /&gt;
&lt;br /&gt;
*Buy or rent some land.&lt;br /&gt;
*Build or have built a club.&lt;br /&gt;
*Advertise.&lt;br /&gt;
*Hire a staff of DJs, musicians, sex workers, or whatever you think a cool club needs.&lt;br /&gt;
&lt;br /&gt;
How about a clothing store?  Or a travel agency, or a marina or a golf course or a ski lodge.  Coffee house?  Chess club?&lt;br /&gt;
&lt;br /&gt;
Buy it, build it, and run it.&lt;br /&gt;
&lt;br /&gt;
==Devices==&lt;br /&gt;
&lt;br /&gt;
Building a house in SL is not that different from building a sail boat.  They are both made of objects using the [[Building Tools#Object Editor|Object Editor]].&lt;br /&gt;
&lt;br /&gt;
However, consider the difference between a door, an wall, and a sail boat.  A wall doesn&#039;t usually do much.  Once it is built, and has some wall paper, it pretty much just sits there.  A door, on the other hand, has a behavior.  It opens and closes.  A fancy door might only open when the house owner approaches, or when someone utters the secret password (&amp;quot;friend&amp;quot;, in case you ever need it).&lt;br /&gt;
&lt;br /&gt;
To make a door do this kind of thing, it needs a [[LSL Portal|script]], a precise set of instructions written in LSL, the Linden Scripting Language. &lt;br /&gt;
&lt;br /&gt;
Now consider a sail boat.  The script in a sail boat is much more complex than the one in a door.  It puts the sails up and down, it makes the boat heel over if the wind blows harder, it determines how fast the boat should go depending on the wind speed and direction.  A simple sail boat script will do this in a half-assed sort of way, and a really good sail boat script will do this in a sophisticated and high priced sort of way.&lt;br /&gt;
&lt;br /&gt;
Some people have created very elaborate devices that do all sorts of useful things.  The furniture that contains dozens of animations that take over your avatar when you sit on them are a good example.&lt;br /&gt;
&lt;br /&gt;
People also make things like umbrellas, parachutes, parrots, animation overriders, espionage devices, links to external web pages, fireworks, helicopters, flying carpets, torture devices, pleasure devices, pleasure devices for people who like to be tortured, pets that follow you around, ...&lt;br /&gt;
&lt;br /&gt;
Get it?  Visit the [[LSL Portal]] for more details.&lt;br /&gt;
&lt;br /&gt;
==Activities==&lt;br /&gt;
&lt;br /&gt;
==Development==&lt;br /&gt;
&lt;br /&gt;
==Tool Building==&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26293</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26293"/>
		<updated>2007-07-24T23:15:01Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Improve Layout Language */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1883&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1884&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1885&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1886&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1887&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26292</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26292"/>
		<updated>2007-07-24T23:12:05Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Facilitate customization of menus and overlay bar */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1883&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1884&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1885&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1886&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26289</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26289"/>
		<updated>2007-07-24T22:59:15Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Facilitate UI customization */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1883&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1884&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1885&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26288</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26288"/>
		<updated>2007-07-24T22:54:44Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* Remove hard coded art and colors from UI */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1883&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1884&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26285</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26285"/>
		<updated>2007-07-24T22:52:27Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* UI Texture Cache */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1883&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26278</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26278"/>
		<updated>2007-07-24T22:48:43Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: /* XUI Default Templates */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1882&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
	<entry>
		<id>https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26269</id>
		<title>Skinning</title>
		<link rel="alternate" type="text/html" href="https://wiki.secondlife.com/w/index.php?title=Skinning&amp;diff=26269"/>
		<updated>2007-07-24T22:28:29Z</updated>

		<summary type="html">&lt;p&gt;Gibson Willis: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Objectives ==&lt;br /&gt;
* Enable internal designers to more easily customize the look of Second Life&lt;br /&gt;
* Enable external developers and residents to save customizations and prepare skin &amp;quot;packages&amp;quot;&lt;br /&gt;
== Links ==&lt;br /&gt;
* [[User Interface Roadmap]]&lt;br /&gt;
== Task Descriptions ==&lt;br /&gt;
=== XUI Default Templates ===&lt;br /&gt;
* &#039;&#039;Objective: Make the XUI files less verbose and more readable&#039;&#039;&lt;br /&gt;
* Create &#039;templates.xml&#039; file with default attributes for each widget type&lt;br /&gt;
** Other templates for common attribute sets can also be declared here&lt;br /&gt;
** Widgets can declare a tempate (default to the default one for that type)&lt;br /&gt;
* Remove all default values from the code (code cleanup)&lt;br /&gt;
* Create a tool to process all existing .xui files and write out only the non default values&lt;br /&gt;
** Clean up the XML output at the same time&lt;br /&gt;
=== UI Texture Cache ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to add and modify UI art&#039;&#039;&lt;br /&gt;
* Separate pre-cached images with asset ids from UI images&lt;br /&gt;
* Rename UI Images to use file names not asset ids&lt;br /&gt;
=== Remove hard coded art and colors from UI ===&lt;br /&gt;
* &#039;&#039;Objective: Remove any UI art from the code &lt;br /&gt;
* Remove programmatic art with attributes, e.g. volume sliders&lt;br /&gt;
* Remove any backgrounds from icons, etc (use alpha)&lt;br /&gt;
* Ensure that all images can be cropped and scaled&lt;br /&gt;
* Allow specification of fixed size borders (i.e. so that button graphics with narrow boarders scale correctly)&lt;br /&gt;
* Enable additional attributes to widgets for colors, etc&lt;br /&gt;
=== Facilitate UI customization ===&lt;br /&gt;
* &#039;&#039;Objective: Make it easier to see the effects of XUI edits&#039;&#039;&lt;br /&gt;
* Enable reloading of all floaters including the menus and overlay bar&lt;br /&gt;
* Ensure all floaters can handle missing UI elements and will behave reasonably or refuse to open with an appropriate message&lt;br /&gt;
=== Facilitate customization of menus and overlay bar ===&lt;br /&gt;
* &#039;&#039;Objective: enable menus and overlay bar to be more easily customized&#039;&#039;&lt;br /&gt;
* Create a global floater/panel map and have floaters/panels to specify their type (e.g. &amp;quot;floater_inventory&amp;quot; -&amp;gt; LLFloaterInventory) in XML&lt;br /&gt;
* Allow buttons to open floaters by name&lt;br /&gt;
** Include support for opening a specific tab&lt;br /&gt;
** Differentiate between toggling state of singletons, showing/focusing, and opening new instances&lt;br /&gt;
* Allow menus to be expanded/collapsed for simple/advanced usage&lt;br /&gt;
* Specify layout of overlay bar and menu bar in &amp;quot;viewer.xml&amp;quot;&lt;br /&gt;
** Allow multiple &amp;quot;overlay bars&amp;quot; to be added so that side bars or corner panels with buttons can be added&lt;br /&gt;
=== Improve Layout Language ===&lt;br /&gt;
* &#039;&#039;Objective: make it easier to change the XUI layout data&#039;&#039;&lt;br /&gt;
* Choose a standard model for the layout language (e.g. CSS? qt-like?)&lt;br /&gt;
* Allow elements to be grouped for layout purposes&lt;br /&gt;
* Auto layout elements when no layout information is provided&lt;br /&gt;
=== Enable Packaging and Resident customizations ===&lt;br /&gt;
JIRA: https://jira.secondlife.com/browse/VWR-1875&lt;br /&gt;
* &#039;&#039;Objective: enable external developers and residents to preserve changes across updates and distribute custom UI layouts&#039;&#039;&lt;br /&gt;
* Allow residents to save changes to a user local directory (i.e. Documents and Settings\User\Application Data\SecondLife\skins)&lt;br /&gt;
* Allow residents to package changes and easily distribute them for easy installation by other users&lt;br /&gt;
** Define location to search for installed skin packages&lt;br /&gt;
** Include the ability to change skins and restore the original skin&lt;br /&gt;
=== Specific Requests ===&lt;br /&gt;
* Make iconic panels (i.e.. build tools) generally available&lt;br /&gt;
** Combination of fully iconic buttons and the ability for a button to open a specific tab in a floater&lt;/div&gt;</summary>
		<author><name>Gibson Willis</name></author>
	</entry>
</feed>