User Experience Interest Group/Transcripts/2008-11-13

User Experience Interest Group Discussion for November 13, 2008. Topic: HUDs, client-side visual interfaces to scripts, etc.
[15:02]	Jacek Antonelli: 	How is everyone today?
[15:02]	Charlette Proto: 	confused about the topic
[15:02]	Jacek Antonelli: 	Oh?
[15:02]	Charlette Proto: 	I rather liked you example topic - the inventory
[15:02]	Charlette Proto: 	hehe mine is a mess
[15:03]	Jacek Antonelli: 	We can talk about that, or continue last week's discussion about HUDs, or something else. What do you guys feel like?
[15:04]	Charlette Proto: 	agree HUDs are an unfinished story
[15:04]	Squirrel Wood: 	nuts :p
[15:04]	Jacek Antonelli: 	Ah, yes. Nuts are a critical component of the user experience
[15:04]	Charlette Proto: 	no soup for you squirrel
[15:05]	Charlette Proto: 	we could have a noob HUD called SL in a nutshell
[15:05]	Squirrel Wood: 	HUDs... I think we could work on a guide on how to approach building a better HUD ?
[15:05]	Charlette Proto: 	yes using standard interface elements
[15:05]	Squirrel Wood: 	Dos, Don'ts and the like
[15:05]	Mm Alder: 	Is there any guide on building HUSs now?
[15:06]	Mm Alder: 	*HUDs*
[15:06]	Charlette Proto: 	most HUDs are ugly and have very odd behavious
[15:06]	Jacek Antonelli: 	I'm not aware of any existing guide for building HUDs
[15:06]	Charlette Proto: 	I'm not aware of anything and what I see doesn't suggest it
[15:06]	Squirrel Wood: 	It's a long term thing I would say
[15:07]	Mm Alder: 	I haven't tried building one, but I'd guess the trick is having it appear right in the screen.
[15:07]	Squirrel Wood: 	you need to build small.
[15:07]	Squirrel Wood: 	very small at times.
[15:07]	Charlette Proto: 	what do you mean? right?
[15:08]	Mm Alder: 	right=correctly
[15:08]	Charlette Proto: 	OK
[15:08]	Squirrel Wood: 	properly ^^
[15:08]	Charlette Proto: 	yes most use pictures for text since we don't have text on objects
[15:09]	Mm Alder: 	Is there some trick like starting with a box that represents the visible area?
[15:09]	Squirrel Wood: 	Yes.
[15:09]	Charlette Proto: 	that makes them garsly and unnecessarily large
[15:09]	Squirrel Wood: 	Mm that is a good way to start
[15:10]	Squirrel Wood: 	It gives you a good idea how small you need to build
[15:10]	Mm Alder: 	Does the new function that gives the touch position help make things easier to implement?
[15:10]	Squirrel Wood: 	Definitely
[15:10]	Charlette Proto: 	text would allow for faster development and a more programatic approach
[15:10]	Jacek Antonelli: 	Agreed Charlette. Text on a prim would be very nice
[15:10]	Squirrel Wood: 	multiple buttons on a prim, sliders, scrollbars, ...
[15:11]	Charlette Proto: 	yes standard interface elements like the rest of the UI
[15:11]	Jacek Antonelli: 	Are there any code examples for implementing standard UI widgets for HUDs?
[15:11]	Squirrel Wood: 	building the HUD is one thing. Scripting it is the tough part
[15:11]	Squirrel Wood: 	Not that I am aware
[15:11]	Jacek Antonelli: 	Hi Morgaine :)
[15:11]	Charlette Proto: 	never seen a HUD that would show any evidence of it
[15:12]	Mm Alder: 	Squirrel, is HUD scripting harder than regular object scriptiong?
[15:12]	Morgaine Dinova: 	Hiya all :-)
[15:12]	Squirrel Wood: 	It depends on the complexity of a HUD
[15:12]	Charlette Proto: 	hi
[15:12]	Squirrel Wood: 	Think of scripting a complex avatar vendor
[15:13]	Charlette Proto: 	it is the same as tuch sensative objects inworld
[15:13]	Jacek Antonelli: 	By the way, Benjamin Linden asked me to remind everyone of the new arrangements. The first Thursday of the month is "official" meeting, and the Lindens will all attend then. The other weeks, including this one, are unofficial.
[15:13]	Geneko Nemeth: 	Which is exactly what a HUD is.
[15:13]	Mm Alder: 	I have no idea what an avatar vendor is. :-)
[15:13]	Geneko Nemeth: 	Hehe...
[15:13]	Morgaine Dinova: 	A slaver ...
[15:13]	Squirrel Wood: 	No.
[15:14]	Jacek Antonelli: 	Get your fresh avatars here! 3 for L$50!
[15:14]	Squirrel Wood: 	A scripted contraption that has different outfits for sale
[15:14]	Jacek Antonelli: 	Ah
[15:14]	Squirrel Wood: 	that you can customize before you buy
[15:14]	Geneko Nemeth: 	A complex catalogue of avatars, often in several categories, built in primjs.
[15:14]	Geneko Nemeth: 	This can be extended to other kind of objects for sale too.
[15:14]	Jacek Antonelli: 	HUDs can be as simple or complex as you want. Really, thye are just scripted objects that attach to your screen
[15:14]	Squirrel Wood: 	you could build a tetris game as a HUD
[15:15]	Geneko Nemeth: 	It would probably suck when the agent updates of the sim goes below 10 per second...
[15:15]	Jacek Antonelli: 	Hey Tegg :)
[15:15]	Squirrel Wood: 	Animation Overriders or flight assistant scripts sometimes are built in form of a hud to allow easy control
[15:15]	Charlette Proto: 	generally a HUD is just a menu but it may be hierarchical and include a display element
[15:15]	Tegg Bode: 	Hi all
[15:16]	Squirrel Wood: 	think linux console versus windows desktop
[15:16]	Geneko Nemeth: 	We're talking about random stuff today. Currently, HUDs.
[15:16]	Morgaine Dinova: 	HUDs should really run client-side, and only make API calls to attachments occasionally when they need data or an action. Having a HUD object actually live in SL is all wrong.
[15:16]	Mm Alder: 	Unless the purpose is to act on objects, Morgaine.
[15:17]	Jacek Antonelli: 	That would be an interesting system, Morgaine
[15:17]	Morgaine Dinova: 	That's what the call to the API would do
[15:17]	Charlette Proto: 	most HUDs act on objects (tails, shoes, TVs, avatars)
[15:17]	Mm Alder: 	So what would you want to do client side?
[15:18]	Tegg Bode: 	Ideally people should be integrating major stuff like combat systems/ AO's / dance sytems into the viewer though I do think there are great applications you can use this HUD/prim display for
[15:18]	Geneko Nemeth: 	But how they do this? They send messeages from chat, which certainly can be done on the client side.
[15:18]	Geneko Nemeth: 	Oh yeah, about everything including XUI on a prim and scripting (either LSL2 or JavaScript).
[15:18]	Charlette Proto: 	client side is the UI contraption
[15:18]	Squirrel Wood: 	communication to inworld objects is mostly done through llSay, llRegionSay, sometimes xmlrpc
[15:18]	Jacek Antonelli: 	Presumably client-side HUDs would allow for smoother, better interaction and use of the standard UI widgets
[15:19]	Morgaine Dinova: 	Their update rate shouldn't be at the mercy of sim CPU though, nor add load to the sim, since the actual HUD view is purely local. Client CPU scales whereas sim CPU doesn't, so it's not good to be running the HUD visualization remotely.
[15:19]	Morgaine Dinova: 	Yep
[15:19]	Squirrel Wood: 	prim type hud.scrollbar
[15:19]	Charlette Proto: 	yes and currently HUD UI uses LSL but it could use better event handling like JavaScript
[15:20]	Mm Alder: 	So the client side action you're looking for is just the response of the entry elements?
[15:20]	Geneko Nemeth: 	Even if it's run using LSL locally, I don't think it would be too slow.
[15:20]	Jacek Antonelli: 	Display and response, yes, Mm
[15:20]	Mm Alder: 	Most (if not all) LSL couldn't run locally, because it interacts with the world.
[15:20]	Geneko Nemeth: 	More like feedback.
[15:21]	Morgaine Dinova: 	Think of a radar, permanently keeping you aware of tons of properties of everything around you. All it needs is input sensing and output from the sim side, whereas locally it could use all the PC graphics facilities for 3D navigatable view display.
[15:21]	Geneko Nemeth: 	Hmm, maybe not the LSL API, but only the core language.
[15:21]	Charlette Proto: 	a slider has to move with the pointer, buttons may have mouseove highlights or even better tooltips
[15:21]	Charlette Proto: 	all that is clientside
[15:21]	Mm Alder: 	So client side widgets?
[15:22]	Geneko Nemeth: 	Widgets and UI behaviour.
[15:22]	Morgaine Dinova: 	Yep, they're needed
[15:22]	Jacek Antonelli: 	Consider HUDs that use the blue dialog script interfaces. Those are very basic client-side widgets
[15:22]	Charlette Proto: 	widgets sound like a good approach
[15:22]	Jacek Antonelli: 	In theory you could have an LSL script that instructed your client to display a window in SL, with a custom layout of buttons, sliders, etc.
[15:22]	Mm Alder: 	So it would be extending the blue dialog boxes, but making them more configurable?
[15:23]	Jacek Antonelli: 	And when pressed, those buttons would trigger an action in the script, or say something in chat, etc.
[15:23]	Morgaine Dinova: 	We're talking about HUDs, but really this is part of the more general issue of client-side scripting talking to an API into SL.
[15:23]	Jacek Antonelli nods at Morgaine 	Jacek Antonelli nods at Morgaine
[15:23]	Charlette Proto: 	yes extend these and BTW they need to be able (including dialogs) to go to background of the othe UI elements eg Inventory
[15:23]	Squirrel Wood: 	specific prim types that the server ignored but the client replaces with defined ui elements including proper behavior and response to the script that is in the prim or the root prim of the HUD object ?
[15:23]	Geneko Nemeth: 	That's not quite what I'm thinking of... more like doing things over.
[15:23]	Jacek Antonelli: 	Hi Pier and Chaley :)
[15:23]	Geneko Nemeth: 	It's an interesting idea to have HUD prims, although I still prefer just to use XUI...
[15:24]	Squirrel Wood: 	it needs to be tradeable inworld
[15:24]	Charlette Proto: 	Genko is right
[15:24]	Jacek Antonelli: 	A reminder for people coming in that this is an "unofficial" meeting, the Lindens are now only scheduled to attend the first Thursday of every month
[15:24]	Geneko Nemeth: 	It can be, it would be just like a notecard.
[15:24]	Mm Alder: 	So HUD prims configured with XML?
[15:24]	Squirrel Wood: 	"special" prim types are most likely easier to implement that xui code stuff
[15:24]	Charlette Proto: 	at the moment the prims just complicate the issue of building HUDs\
[15:24]	Chaley May: 	hi
[15:25]	Pier Jaecies: 	hi
[15:25]	Tegg Bode: 	What they bunp prices up 67% and we get 74% less LIndens?
[15:25]	Tegg Bode: 	㋡
[15:25]	Jacek Antonelli: 	Pretty much, Tegg ;)
[15:25]	Mm Alder: 	But you could use "HUD prims" in in-world objects as well.
[15:25]	Charlette Proto: 	dont go into openspace please
[15:26]	Morgaine Dinova: 	Exactly Charlotte, the prim-based HUDs are the wrong way to go about it, and that approach provides very little flexibility because there are so few event controls possible.
[15:26]	Geneko Nemeth: 	Again, XUL on a prim...
[15:26]	Squirrel Wood: 	ya. but they would be rendered as blocks unless attached in a hud position
[15:26]	Mm Alder: 	The key is immediate local feedback.
[15:26]	Mm Alder: 	Squirrel, why just blocks?
[15:26]	Geneko Nemeth: 	They don't have to. Imagine an avatar vendor with tabbed controls.
[15:26]	Charlette Proto: 	exactly the event control of prims is very clumsy
[15:26]	Squirrel Wood: 	because most "standard" ui elements are rectangular
[15:27]	Geneko Nemeth: 	If you can make the client UI to prim, it would also make vendors better...
[15:27]	Jacek Antonelli: 	Oof. Now we are having UI elements in-world? :D
[15:27]	Charlette Proto: 	yes but the feedback via prims is not very easy to implement
[15:28]	Charlette Proto: 	eg the states in LSL don't lend themselves to building UI
[15:28]	Tegg Bode: 	Sorry ㋡ I guess it's because for many of us hobby programmers who started on Basic etc, are just poking with C, java and the XUI etc is still a mystery
[15:28]	Geneko Nemeth: 	We could have a standalone interface designer or something.
[15:28]	Geneko Nemeth: 	Also, (tsu)?
[15:28]	Jacek Antonelli: 	Hi McCabe
[15:28]	Squirrel Wood: 	one that spits out ready-to-use xui code ?
[15:28]	Mm Alder: 	But if the prim hasdifferent textures for different states, then the client could render those immediately when touched.
[15:28]	Morgaine Dinova: 	Not only is it hard, but it's very lacking in power. We really don't want to be scraping data off client widget displays, erghhh. We need a proper API, with callbacks into local event handlers.
[15:28]	McCabe Maxsted: 	ahoy :)
[15:29]	Charlette Proto: 	couldn't HUDs be just a part of general UI customistation paradigm
[15:29]	Charlette Proto: 	the UI customisation is beyound just about enyone now
[15:29]	Pier Jaecies: 	ideally i think the ui is customizable, all of our conversations have pointed that way
[15:29]	Geneko Nemeth: 	Especailly when all you can do is to move the exisiting widgets around.
[15:30]	Geneko Nemeth: 	UI behaviour is currently hardcode (except menus).
[15:30]	Jacek Antonelli: 	In my mind, the client-side HUDs would be controlled by functions in LSL. The LSL script would use functions to create a floater, add text, buttons, etc. And define events that occur when the user interacts with those widgets.
[15:30]	Charlette Proto: 	yes but we could have a tool for doing it
[15:30]	Tegg Bode: 	The UI is custoizable, but few have the knowledge on how it all works I suspect to poke with it deeply
[15:30]	Pier Jaecies: 	leaning tower of pisa
[15:31]	Geneko Nemeth: 	Lack of documentation is a problem...
[15:31]	Charlette Proto: 	both areas overlap so much as far as user/developer task is concerned
[15:31]	Mm Alder: 	The events that you want are the same as for prims. It's just the immediate visual response that's missing.
[15:31]	Morgaine Dinova: 	Aye. And there don't seem to be any moves to decouple the UI from the 3D side of the client. Instead, the whole thing is growing and growing. This time next year, the client will be 100MB, if not more.
[15:31]	Charlette Proto: 	I can't see why can't we treat it as the same problem'
[15:31]	Squirrel Wood: 	the graphics engine needs to be redone.
[15:31]	Charlette Proto: 	no it just shrunk
[15:31]	Jacek Antonelli: 	Not exactly the same, Mm. For example, you could have a number entry text field in the UI, but you couldn't have such a thing in prims
[15:32]	Morgaine Dinova: 	It did just shrink, that's true, lost over 10MB. What was dropped?
[15:32]	Charlette Proto: 	HUDs don't need prims at all
[15:32]	Squirrel Wood: 	if HUDs could get FOCUS...
[15:32]	Charlette Proto: 	it is more modular and code reuse rather that dropped
[15:33]	Geneko Nemeth: 	Uhh, what are we talking about now?
[15:33]	Jacek Antonelli: 	hehe
[15:33]	Morgaine Dinova: 	It was a sudden change though, not evolutionary
[15:33]	Squirrel Wood: 	Ya. You better reuse all those loops and conditional branches and stuff...
[15:33]	Charlette Proto: 	focus switching between HUDs and other windows is essential
[15:33]	Morgaine Dinova: 	Just talking about how come the client shrank over 10MB recently
[15:33]	Charlette Proto: 	same for the blue dialogs and notices
[15:33]	Mm Alder: 	I don't think you'd want to use a HUD to do UI operations. I think their purpose is quite different.
[15:34]	Geneko Nemeth: 	Hopefully the blue script menus would be revamped through the notifications project
[15:34]	Squirrel Wood: 	rez an object and the script in it will "tie" a HUD to your screen
[15:34]	Charlette Proto: 	but you could customise UI and build HUDs with the same tools
[15:34]	Jacek Antonelli: 	How do you mean, Mm?
[15:35]	Mm Alder: 	Geneko, why do you think they'd be revamped?
[15:35]	Squirrel Wood: 	derez the object and the HUD will go away
[15:35]	Geneko Nemeth: 	Like a 2-D holoprojector!
[15:35]	Geneko Nemeth: 	Okay, that would be just a projector...
[15:35]	Tegg Bode: 	A version of the Blue menu with labellable live bargraphs I guess would be nice too
[15:35]	Mm Alder: 	Jacek, I think a HUD is used to act in-world; a UI to act locally, things that others don't see.
[15:35]	Charlette Proto: 	currently HUD prims are rendered flat and 3D fx are just in textures
[15:36]	Morgaine Dinova: 	Well looks at the Statistics Bar, as a good example. Just imagine trying to do that with a HUD, lol. Clearly it's way out of the question .... local widgets can't be replaced by server-side prims. So if we want advanced HUDs, we need the displays coded client-side, pluggable, and only interfacing to attachments in SL.
[15:36]	Geneko Nemeth: 	Yeah, but a lot of HUDs only mostly act locally.
[15:36]	Geneko Nemeth: 	And there's a lot of HUD functionality that can be done through the client instead of through LSL2 API.
[15:36]	Charlette Proto: 	yes it has to be clientside I agree completely
[15:37]	Tegg Bode: 	And being able to position the blueboxes and retexture them would be good I guess
[15:37]	Charlette Proto: 	like a webpage
[15:37]	Geneko Nemeth: 	I think it would be great if both can be used together, with a client side script for UI and server side script for functions.
[15:37]	Squirrel Wood: 	Can we agree on the fact that we disagree on thr proper approach? ^^
[15:37]	Jacek Antonelli: 	All HUDs are rendered locally. Some use LSL to have actions in the world, but there's no reason why a HUD made of client-side UI widgets could not do all the things prim HUDs could do.
[15:37]	Mm Alder: 	I tend to think like Morgaine.
[15:37]	Jacek Antonelli: 	Hehehe Squirrel
[15:37]	Charlette Proto: 	yes we disagree
[15:38]	Tegg Bode: 	lol, there's a propper approach? ㋡
[15:38]	Morgaine Dinova: 	I don't think anyone CAN disagree. You can't implement the Statistics Bar using HUD prims, full stop. :-)))))
[15:38]	Geneko Nemeth: 	Okay, maybe we should summerarize each of us's view of the client-side HUD.
[15:38]	Charlette Proto: 	prims should be out from a proper HUD spec I agree
[15:39]	Charlette Proto: 	UI elements instead of prims
[15:39]	Charlette Proto: 	look at the pop up audio mixer, that is how a nice HUD would behave
[15:39]	Mm Alder: 	My summary: A HUD should act on data in-world, but allow immediate feedback when triggered by a local event.
[15:39]	Morgaine Dinova: 	Yep
[15:39]	Tegg Bode: 	Yep
[15:39]	Jacek Antonelli: 	I don't think we would need or want to get rid of the current prim-based HUDs, of course.
[15:40]	Morgaine Dinova: 	My Yup to both Charlette and Mm
[15:40]	Charlette Proto: 	yes absolutely pointer to display speed is essential
[15:40]	Tegg Bode: 	I think the current prim based huds would just be used less, but still be handy for visual effects
[15:40]	Charlette Proto: 	also tooltips on mouseovers etc
[15:40]	Geneko Nemeth: 	More responsive = good. So yes, client side widgets would be good.
[15:40]	Geneko Nemeth: 	Mixing widgets and prims would also be interesting.
[15:41]	Morgaine Dinova: 	Jacek: aye, there's no going back, so the current HUDs will need to stay, or some people will get very annoyed, which should be avoided
[15:41]	Charlette Proto: 	also the chat history with all its bits is a good example of what a HUD could be built of
[15:42]	Charlette Proto: 	yes keep the LSL/prim functionality since it is what exists inworld anyway
[15:42]	Jacek Antonelli: 	My view of the client-side HUD is that it would be a more flexible extension of how the blue dialogs work -- create UI widgets on the client-side that interact through events with an LSL script. The fact that they are attached doesn't matter. There could even be objects in the world that could (with your permission) create UI widgets on your screen.
[15:42]	Charlette Proto: 	but a new better spec should be introduced to replace it
[15:42]	Morgaine Dinova: 	Well actually, pretty much all parts of the UI. Although those that already work reasonably would probably be the last to be reworked using local widgets.
[15:42]	Geneko Nemeth: 	Why need permissions.
[15:42]	Charlette Proto: 	absolutely and it would fix the blue dialogs used by many already
[15:43]	Jacek Antonelli: 	So that griefers couldn't fill your whole screen with bad UI's displaying porn images, Geneko ;)
[15:43]	Geneko Nemeth: 	But you already need to atta- oh.
[15:43]	Morgaine Dinova: 	Jacek: "more flexible" is superfluous when talking about blue dialogs ;-))))
[15:43]	Charlette Proto: 	need programatic content eg buttons and selectors from lists
[15:43]	Geneko Nemeth: 	You mean, to have objects display widgets without being a HUD item.
[15:43]	Tegg Bode: 	Yes perhaps even if the blue box was expanded for bigger and more buttons as an input device, but we also need a live output display device for bargraphs hitpoints, numbers etc
[15:43]	Geneko Nemeth: 	It would be a XUI API. Would that be some kind of DOM?
[15:44]	Mm Alder: 	OK, so is there any functionality that couldn't be implemented with texture swapping?
[15:44]	Jacek Antonelli: 	Right, Geneko. For attached items, permission would be granted automatically without asking th user, like it is for animation permissions currently
[15:44]	Charlette Proto: 	TV and media HUDs use blue dialogs since content is dynamic and can't be built from textures
[15:44]	Jacek Antonelli: 	Mm: texture swapping on prims?
[15:44]	Mm Alder: 	Charlete, I don't understand.
[15:44]	Charlette Proto: 	think of it as a webpage paradigm
[15:44]	Mm Alder: 	Jacek, yes.
[15:45]	Morgaine Dinova: 	The blue dialogs could be left as *default* handlers, for when no local widget has picked up the incoming event.
[15:45]	Geneko Nemeth: 	So XUI would be another kind of media type to handle on prims.
[15:45]	Charlette Proto: 	the content of menus needs to be dynamic
[15:46]	Tegg Bode: 	Permissions on a HUD, I wouldn't think would be necessary for most uses, like AO's, combat meters, dance huds etc, maybe for a HUD vidphone/tv option?
[15:46]	Jacek Antonelli: 	Things that could not be done (at least not practically) with prims only: hover tooltips, scrollbars, text entry...
[15:46]	Charlette Proto: 	lists should be able to be retreived live to make selection options to make it capable of all functions
[15:46]	Mm Alder: 	So why couldn't you dynamically swap textures, Charlette?
[15:46]	Jacek Antonelli: 	And even the things that you can do with prims, requires complex scripting, which adds burden to the sim
[15:47]	Mm Alder: 	Oh, I see, then you'd need text on a prim.
[15:47]	Charlette Proto: 	dynamically I mean that the content is not known untill retreived hence textures are not available
[15:47]	Charlette Proto: 	like a songlist on the radio
[15:48]	Charlette Proto: 	you don't know what will be displayed before the current programs come online
[15:48]	Tegg Bode: 	Yea a scrollbar would be handy . like a private chat channel frpm objects to your HUD
[15:48]	Charlette Proto: 	HUDs are hopeless for things like that
[15:48]	Mm Alder: 	I see now. Does anyone know why we don't have text on a prim? What's the implementation problem?
[15:48]	Charlette Proto: 	yes
[15:49]	Jacek Antonelli: 	It requires work, and no one at LL wants to do it?
[15:49]	Geneko Nemeth: 	I think anything on a prim is possible if you put it on a web server.
[15:49]	Mm Alder: 	I would have guessed that text would have preceded HTML on a prim.
[15:49]	Charlette Proto: 	so good buttons (dynamic in size) like the blue dialogs with additional elements and text
[15:49]	Geneko Nemeth: 	Since there's a list of MIME types in the client translations...
[15:49]	Geneko Nemeth: 	But nothing you can set from a script.
[15:49]	Morgaine Dinova: 	Well in part, the implementation problem is that LL simply doesn't have the necessary manpower. Whereas the community could work on plugin widgets at 100 times the pace, literally. All we need is a local API.
[15:49]	Geneko Nemeth: 	Directly, anyway.
[15:50]	Geneko Nemeth: 	Sounds like something fun for Summer of Code...
[15:50]	Mm Alder: 	Plugins are impossible with the current architecture.
[15:50]	Geneko Nemeth: 	Nah, these APIs need to have things on the server.
[15:50]	Geneko Nemeth: 	Although extensions don't need server input.
[15:50]	Geneko Nemeth: 	Something like World of Warcraft?
[15:51]	Jacek Antonelli: 	It's theoretically possible to do a client-side HUD which communicates via chat with a scripted object. But it would be awkward and hackish.
[15:51]	Mm Alder: 	One could say that LSL scripts are plugins.
[15:51]	Morgaine Dinova: 	Nah, the events are already comin in, all you need is a client-side API for them to arrive at. And if we don't bind to the event endpoints in the API, then it continues working as normal, and the blue dialog grabs it or whatever.
[15:51]	Geneko Nemeth: 	Not just chat, it would be as if the avatar himself is manulaping stuff.
[15:51]	Tegg Bode: 	Currently the only output we have on the UI from in world is the chatwindows I guess?
[15:52]	Charlette Proto: 	the content of the HUD menus needs to come from the servers but the events can be handeled like all other elements of the UI
[15:52]	Geneko Nemeth: 	Yeah, and not much of other events. There's the sit text and that's it...
[15:52]	Morgaine Dinova: 	Yeah, the events list is ultra-impoverished
[15:52]	Charlette Proto: 	UI = events
[15:52]	Morgaine Dinova: 	No idea why. Huge oversight
[15:53]	Charlette Proto: 	we need to look into getting this happening
[15:53]	Mm Alder: 	Morgaine, what kind of events would you want to consider?
[15:53]	Squirrel Wood: 	changes
[15:53]	Geneko Nemeth: 	Click events, resize events, move events, drag events, keyboard events, joystick events...
[15:53]	Tegg Bode: 	Yep programable lamps , bargraphs and number readouts would have been great, perhaps a beeper too
[15:54]	Squirrel Wood: 	and nuts!
[15:54]	Morgaine Dinova: 	Mm: there's a ton of events already entering the client, but only a tiny handful is actually exposed. I'm suggesting that all events arrive to an event dispatcher that is bindable through a published API. Every single one.
[15:54]	Morgaine Dinova: 	Everything
[15:54]	Charlette Proto: 	a generic UI interaction event could pass custom parameters
[15:54]	Charlette Proto: 	hehe that would be good everything like JavaScript
[15:55]	Charlette Proto: 	or Java drawing and all
[15:55]	Mm Alder: 	So you're just talking about intercepting messages, Morgaine?
[15:55]	Morgaine Dinova: 	Those events are already driving the client, we have them. It's just that they're not accessible.
[15:55]	Geneko Nemeth: 	I'm curious; what kind of events are those?
[15:55]	Morgaine Dinova: 	Mm: for incoming, yes. But then there's an outgoing side too of course.
[15:56]	Roo tail whispers: Geneko Nemeth grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail. 	Roo tail whispers: Geneko Nemeth grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail.
[15:56]	Charlette Proto: 	very good point two way feedback loop
[15:56]	Tegg Bode: 	lol
[15:57]	Charlette Proto: 	well the pointer (cursor) changes into a hand on interactive objects so there must be a way to follow this further
[15:57]	Tegg Bode: 	Imagine if the statisics bar format was accessable for combat meters
[15:58]	Morgaine Dinova: 	Geneko: from each incoming line in chat and IM, to positional changes on the map, friend online/offline presence events, every delta heading towards the statistics bar, all incoming events from our mouse, keyboard, peripherals, etc etc. The list is near infinite :-))) Needless to say, some are more important than others
[15:59]	Jacek Antonelli: 	Okay, we are at the end of the hour. I want to poke you all and force you to add topics you're interested in to the wiki page: https://wiki.secondlife.com/wiki/User_Experience_Interest_Group/Topics
[15:59]	Charlette Proto: 	I'm sure there is a way to tap into the existing UI elements to use these in HUDs
[15:59]	Geneko Nemeth: 	Since it's not offical it doesn't have to end here...
[15:59]	Geneko Nemeth: 	I think we need to create that way.
[16:00]	Charlette Proto: 	BTW Genko has the best body language of all our avies
[16:00]	Mm Alder: 	Charlette, ultimately everything is rendered by OpenGL. UI widgets are just textures.
[16:00]	Geneko Nemeth: 	... what.
[16:00]	Geneko Nemeth: 	I don't have any AOs.
[16:00]	Charlette Proto: 	some of the UI is fonts and text objects
[16:00]	Morgaine Dinova: 	Well since the AWG group doesn't look at client side issues at all, I think a group like this one is needed badly to not only stay modern, but to drive the AWG infrastructure discussions as well.
[16:01]	Tegg Bode: 	LOL, I found the default AO looked great on my Lego AV's too ㋡
[16:01]	Charlette Proto: 	hehe do AOs ruin bodylanguage behaviours
[16:01]	Morgaine Dinova: 	Eg. there will be User Experience issues galore when it comes to Grid interop ....
[16:01]	Jacek Antonelli: 	true, Morgaine
[16:01]	Geneko Nemeth: 	User experience isn't client-side only.
[16:02]	Geneko Nemeth: 	In additon to client-side and architecture, there's also in-world,
[16:02]	Geneko Nemeth: 	like vendors.
[16:02]	Morgaine Dinova: 	Yep, it very much impacts on server. So the two sets of devs need to be talking to each other :-)
[16:02]	Charlette Proto: 	that is true, but often they can be HUDs too, like a webpage of options
[16:03]	Geneko Nemeth: 	Whether it's XUI/JS on a prim, or LSL widget API or just extensions, yeah they will need server cooperation.
[16:03]	Charlette Proto: 	some of the commerce would really benefit from HUD like display
[16:03]	Morgaine Dinova: 	Well here's a prediction.
[16:03]	Jacek Antonelli: 	yes, it will require server cooperation. If LL isn't up to it, maybe OpenSim is... ;)
[16:03]	Charlette Proto: 	hehe
[16:04]	Mm Alder: 	I think there's a lot that can still be done client side.
[16:04]	Morgaine Dinova: 	I predict that the best vendors will send an event that instantiates a client-side widget that gives you full 3D high-res navigation around the things you're going to buy :-)
[16:04]	Charlette Proto: 	could be a way of prototyping a whole new way of building user interaction and would be great for touchscreens
[16:05]	Morgaine Dinova: 	With your avatar shown wearing it (if clothes or hair or skin etc), despite the fact that in-world you're not changing anything.
[16:05]	Charlette Proto: 	touchscreens will be a big thing very soon
[16:05]	Charlette Proto: 	think of the Edit Appearance dialog
[16:05]	Geneko Nemeth: 	I'm using a tablet and SL isn't friendly with it at all...
[16:05]	Tegg Bode: 	Interesting but I don't see why vendor HUDS are necessary, when vendors seem to work fine as they are in world
[16:05]	Morgaine Dinova: 	Indeed Charlette
[16:05]	Charlette Proto: 	it is flat but built from 3D data
[16:05]	Geneko Nemeth: 	But they can be made better...
[16:06]	Geneko Nemeth: 	More engaging and convienent.
[16:06]	Jacek Antonelli: 	yes
[16:06]	Charlette Proto: 	sure but it does a lot of things which could make great commerce etc
[16:06]	Geneko Nemeth: 	For example, dragging maps and mouselook doesn't work well with tablets (and by extension, touchscreens).
[16:06]	Charlette Proto: 	even buildin eg texture and editing tacks on prims
[16:07]	Tegg Bode: 	I program touchscreen HMI at work, can do some great stuff with them
[16:07]	Geneko Nemeth: 	Clicks often require you to hold your mouse to the same pixel while most operating systems have a click/drag thershold.
[16:07]	Morgaine Dinova: 	Curiously, it would also mean that vendors in PG areas could vend M items with full review, without conflict with the ToS since it's not in-world :P
[16:07]	Charlette Proto: 	and I think touch screens will inevitably be used for SL too
[16:07]	Charlette Proto: 	imagin touching your avatar hehe
[16:07]	Geneko Nemeth: 	Just because it's XUL on a prim doesn't mean it's not in-world...
[16:07]	Tegg Bode: 	Hmm mousing is quicker though
[16:07]	Geneko Nemeth: 	Aww, that ticlkes!
[16:08]	Charlette Proto: 	not a point of performance but portability and no need for loose parts
[16:08]	Tegg Bode: 	Damn somebody eating CC's just left cheeze dust on me ㋡
[16:08]	Charlette Proto: 	*-*`````aaHahahahahahahHaaa`````*-*
[16:08]	Charlette Proto: 	I love the idea of touching other avies
[16:09]	Geneko Nemeth: 	Bodily contact.
[16:09]	Morgaine Dinova: 	Geneko's "that tickles" reminded me of something .... when you have full-featured events coming in and bindable to client-side code, it gives you the possibility to drive peripherals .... so yes, sex is going to be part of this :-)))))
[16:09]	Geneko Nemeth: 	Kinda like lively...
[16:09]	Mm Alder: 	On that note, I think it's time to go. :-) Bye for now.
[16:09]	Tegg Bode: 	lol
[16:09]	Morgaine Dinova: 	Cya Mm
[16:09]	Charlette Proto: 	with a bit of vibration you have a HUD with haptic feedback for the visually impared
[16:09]	McCabe Maxsted: 	hehe, take care Mm
[16:09]	Geneko Nemeth: 	Oh well that's why SL wouldn't geto China, it won't pass the censorship.
[16:09]	Geneko Nemeth: 	Ever.
[16:09]	Charlette Proto: 	and for the fun of it
[16:10]	Charlette Proto: 	I have two chinese friends
[16:10]	Morgaine Dinova: 	Yup, I definitely need such vibrations to stir my coffee
[16:10]	Geneko Nemeth: 	(never mind the fact I'm not wearing anything)
[16:10]	Charlette Proto: 	only YouTube is blocked
[16:10]	Roof Doors: 	Geneko Nemeth is at the door.
[16:10]	Charlette Proto: 	so no media
[16:10]	Jacek Antonelli: 	hehehe Morgaine
[16:11]	Geneko Nemeth: 	LiveJournal and Wikipedia was also banned. I'm not sure how it is now.
[16:11]	Tegg Bode: 	China is going through a big growing change, and pretty soon all the people who thought they were running the country will find out business is running them
[16:11]	Geneko Nemeth: 	They are not *that* disillusional...
[16:11]	Charlette Proto: 	no kidding about the vibrations, I used a vibrating PDA and it felt like I was touching indentations
[16:12]	Roo tail is yanked by MisterRK Magic. 	Roo tail is yanked by MisterRK Magic.
[16:12]	Roo tail is yanked by MisterRK Magic. 	Roo tail is yanked by MisterRK Magic.
[16:12]	Charlette Proto: 	when china really comes to SL the sims will really fry
[16:12]	Roo tail whispers: MisterRK Magic grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail.	Roo tail whispers: MisterRK Magic grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail.
[16:12]	Morgaine Dinova: 	It's not China we should be worried about, it's the puritanical religious fundamentalists in the US :-) Hope the change of government sets them back a bit.
[16:12]	Roo tail whispers: MisterRK Magic grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail.	Roo tail whispers: MisterRK Magic grabs a pretty ribbon and, with a flourish, ties a beautiful bow in Tegg's tail.
[16:12]	Roo tail whispers: MisterRK Magic leans in and sniffs Tegg's tail. Hi there! 	Roo tail whispers: MisterRK Magic leans in and sniffs Tegg's tail. Hi there!
[16:12]	Tegg Bode: 	China will eventally fall into step with the rest of the world
[16:12]	Charlette Proto: 	imagine 5000000 users online
[16:12]	Jacek Antonelli: 	Hehehe. Let's stay away from politics ;)
[16:12]	Roo tail whispers: MisterRK Magic grabs a pair of sharp scissors and trims Tegg's tail. Much better! 	Roo tail whispers: MisterRK Magic grabs a pair of sharp scissors and trims Tegg's tail. Much better!
[16:12]	Roo tail whispers: MisterRK Magic grabs a pair of sharp scissors and trims Tegg's tail. Much better! 	Roo tail whispers: MisterRK Magic grabs a pair of sharp scissors and trims Tegg's tail. Much better!
[16:12]	Tegg Bode: 	lol I got to get that script off
[16:13]	Charlette Proto: 	OK we got some stuff out on UI/HUD issues and some of it had a direction I think
[16:13]	Jacek Antonelli: 	Okay, even though I don't have to run away to another meeting like Benjamin always does, I'm going to suggest we wrap it up for today.
[16:14]	Charlette Proto: 	Benj would have left 20min ago
[16:14]	McCabe Maxsted nods. Very interesting discussion 	McCabe Maxsted nods. Very interesting discussion
[16:14]	Geneko Nemeth: 	I don't see this meeting doing much...
[16:14]	Jacek Antonelli: 	hehe true Charlette
[16:14]	Tegg Bode: 	Pl, I guess I will just go do some washing an mow the lawn ㋡
[16:14]	Jacek Antonelli: 	It is fun and it inspires ideas, Geneko :D
[16:14]	McCabe Maxsted: 	geneko: what jacek said :D
[16:14]	Geneko Nemeth: 	Anyway, any ideas for the next week?
[16:14]	Charlette Proto: 	but we shared some long term ideas and UI at large needs customisation API too
[16:15]	Morgaine Dinova: 	This meeting may not do much w.r.to the LL client, but remember that all good ideas get implemented by forked clients if LL isn't interested. So good ideas aren't lost.
[16:15]	Tegg Bode: 	Sorry if my ideas aren't the best informed ones, but they frequently escape my head too easily because its overcowded with them
[16:15]	Jacek Antonelli: 	There is a topic on the wiki page we will talk about next week, I think:
[16:15]	Morgaine Dinova: 	Anyway, I don't think we should be pessimistic about Linden takeup of such ideas until they actually say No ;-)
[16:16]	Jacek Antonelli: 	"Support for users with visual disturbances:
[16:16]	Charlette Proto: 	I'd love to see live preview of inv items rendered like edit apperance does and lots of inv tagging etc functions
[16:16]	Jacek Antonelli: 	"Alternatives to colour coding for information (e.g. for those with colour blindness, dyslexia, Irlen-Myers); "
[16:16]	Jacek Antonelli: 	"Alternative fonts (serif and sans-serif skins) for improved legibility; "
[16:16]	Jacek Antonelli: 	"Possibly extending to hooking into the blind support tools such as screen readers, tools to enable heightened contrast etc."
[16:16]	McCabe Maxsted: 	hehe. We should at least give them a chance to shoot down good ideas ;)
[16:16]	Jacek Antonelli: 	So, accessibility
[16:16]	McCabe Maxsted: 	interesting
[16:16]	Jacek Antonelli: 	Should be fun and thought-provoking :)
[16:16]	McCabe Maxsted: 	:)
[16:16]	Charlette Proto: 	that is another issue, colour schemes for skins
[16:17]	Tegg Bode: 	Cool cyas all ㋡
[16:17]	Jacek Antonelli: 	Good thought, Charlette. SL could use a high-contrast skin. And low-contrast too
[16:17]	McCabe Maxsted: 	take care tegg
[16:17]	Jacek Antonelli: 	Or a slider to adjust contrast dynamically. That would be interesting :D
[16:17]	Charlette Proto: 	current skins attract a lot of criticism and a greater selection or more customisation would be very well received
[16:18]	Jacek Antonelli: 	Okay, let's close for the week. Remember to post your topic ideas to https://wiki.secondlife.com/wiki/User_Experience_Interest_Group/Topics !
[16:18]	Charlette Proto: 	bye Tegg
[16:18]	Jacek Antonelli: 	I'll post up the transcript. Take care everyone, see you next week :)
[16:18]	Charlette Proto: 	Bouncer McCabe?
[16:18]	McCabe Maxsted: 	Benjamin offered me a job....
[16:18]	Jacek Antonelli: 	haha
[16:18]	Charlette Proto: 	do you work in a club or did you expect a bunch of grefers here
[16:19]	Jacek Antonelli: 	Maybe he likes to jump up and down xD
[16:19]	Charlette Proto: 	hehe Bouncer Linden
[16:19]	McCabe Maxsted grins 	McCabe Maxsted grins
[16:19]	Morgaine Dinova: 	Does this group have an SL group too?
[16:19]	Geneko Nemeth: 	Not yet I guess.
[16:19]	Charlette Proto: 	not really but we should
[16:19]	Jacek Antonelli: 	It doesn't Morgaine. Would that be useful?
[16:19]	Geneko Nemeth: 	Bragging rights, I guess.
[16:20]	Charlette Proto: 	make one so we could IM and send notices
[16:20]	Geneko Nemeth points to sl-ux. 	Geneko Nemeth points to sl-ux.
[16:20]	Jacek Antonelli: 	I suppose we could use it for event notices and such. Exactly, Charlette
[16:20]	Morgaine Dinova: 	I don't know. I'm a newcomer to this one. But the SL group we have for AWG is terrific.
[16:20]	Jacek Antonelli: 	Okay, I will set up a group
[16:20]	Charlette Proto: 	charter serious content entertaining
[16:20]	Jacek Antonelli: 	What sort of stuff does AWG use their group for, Morgaine?
[16:21]	Charlette Proto: 	topic nomination etc
[16:21]	Morgaine Dinova: 	We're all at 25/25 of course ... but should be able to find something to chuck out.
[16:21]	Charlette Proto: 	sure all these Dazzle groups etc
[16:22]	Charlette Proto: 	nothing ever happens on Tracker Aware either
[16:22]	Charlette Proto: 	so I'm OK
[16:22]	Morgaine Dinova: 	AWG both discusses tech items on the group IM, and notifies of relevant other discussions and meeting and socializes on it when no tech business. Plus, and it's an important plus, our Lindens in AWG listen in, and occasionally speak up. This keeps us well behaved and on topic too, which is cool :-)
[16:22]	Geneko Nemeth: 	Okay, I'll be making food. See you guys next week.
[16:23]	Jacek Antonelli: 	Sounds good, Morgaine :D
[16:23]	Jacek Antonelli: 	Take care Geneko
[16:23]	Charlette Proto: 	notices are great and we can vote then
[16:23]	Morgaine Dinova: 	See you, departing all :-)
[16:23]	Jacek Antonelli: 	Take care everyone!