<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8824778240795132731</id><updated>2011-07-08T19:45:56.100+01:00</updated><category term='ibm'/><category term='kestrel'/><title type='text'>Second Life for the Visually Impaired</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-9171147145539317890</id><published>2009-09-21T10:47:00.002+01:00</published><updated>2009-09-21T10:53:23.984+01:00</updated><title type='text'>Audio Game Maker</title><content type='html'>I just came across a game creation tool that I thought readers might be interested in. It's called &lt;a href="http://www.audiogamemaker.com/"&gt;Audio Game Maker&lt;/a&gt; and is designed for visually impaired users.&lt;br /&gt;&lt;br /&gt;Sounds interesting. Let me know if you try it out!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-9171147145539317890?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/9171147145539317890/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=9171147145539317890' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/9171147145539317890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/9171147145539317890'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2009/09/audio-game-maker.html' title='Audio Game Maker'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-7464820346425253591</id><published>2008-12-19T10:55:00.002Z</published><updated>2008-12-19T10:59:03.887Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='kestrel'/><category scheme='http://www.blogger.com/atom/ns#' term='ibm'/><title type='text'>Kestrel</title><content type='html'>Guido Corona and Bill Carter have posted some more information about their Kestrel project at IBM,&lt;br /&gt;&lt;br /&gt;&lt;a href="http://services.alphaworks.ibm.com/virtualworlds/"&gt;Virtual Worlds User Interface for the Blind&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Looks like really exciting stuff!&lt;br /&gt;&lt;br /&gt;There's a brief summary on &lt;a href="http://www.virtualworldsnews.com/2008/12/ibm-prototyping-virtual-worlds-interface-for-the-blind.html"&gt;Virtual Worlds News&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-7464820346425253591?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/7464820346425253591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=7464820346425253591' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7464820346425253591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7464820346425253591'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/12/virtual-worlds-user-interface-for-blind.html' title='Kestrel'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-5950237003218623096</id><published>2008-11-20T12:05:00.002Z</published><updated>2008-11-20T12:17:34.360Z</updated><title type='text'>Related Work</title><content type='html'>I'm not involved in accessibility anymore, but did just come across some really interesting sounding work,&lt;br /&gt;&lt;br /&gt;The first two from &lt;a href="http://www.icdvrat.rdg.ac.uk/2008/abstracts.htm"&gt;International Conference Series on&lt;br /&gt;Disability, Virtual Reality and Associated Technologies&lt;/a&gt;. I don't think the papers are available yet though.&lt;br /&gt;&lt;br /&gt;Accessible virtual environments for people who are blind – creating an intelligent virtual cane using the Nintendo Wii controller, L Evett, D J Brown, S Battersby, A Ridley and P Smith, Nottingham Trent University, UK&lt;br /&gt;&lt;blockquote&gt;People who are blind tend to adopt sequential, route-based strategies for moving around the world. Common strategies take the self as the main frame of reference, but those who perform better in navigational tasks use more spatial, map-based strategies. Training in such strategies can improve performance. Virtual Environments have great potential, both for allowing people who are blind to explore new spaces, reducing their reliance on guides, and aiding development of more efficient spatial maps and strategies. Importantly, Lahav and Mioduser have demonstrated that, when exploring virtual spaces, people who are blind use more and different strategies than when exploring real physical spaces, and develop relatively accurate spatial representations of them. The present paper describes the design, development and evaluation of a system in which a virtual environment may be explored by people who are blind using Nintendo Wii devices, with auditory and haptic feedback. Using this technology has many advantages, not least of which are that it is mainstream, readily available and cheap. The utility of the system for exploration and navigation is demonstrated. Results strongly suggest that it allows and supports the development of spatial maps and strategies. Intelligent support is discussed.&lt;/blockquote&gt;Virtual reality rehabilitation – what do users with disabilities want?, S M Flynn, B S Lange, S C Yeh and A A Rizzo, University of Southern California, USA&lt;br /&gt;&lt;blockquote&gt;This paper will discuss preliminary findings of user preferences regarding video game and VR game-based motor rehabilitation systems within a physical therapy clinic for patients with SCI, TBI and amputation. The video game and VR systems chosen for this research were the Sony PlayStation® 2 EyeToy™, Nintendo® Wii™, and Novint® Falcon™ and an optical tracking system developed at the Institute for Creative Technologies at the University of Southern California. The overall goals of the current project were to 1) identify and define user preferences regarding the VR games and interactive systems; 2) develop new games, or manipulate the current USC-ICT games to address these user-defined characteristics that were most enjoyable and motivating to use; and 3) develop and pilot test a training protocol aimed to improve function in each of the three groups (TBI, SCI and amputation). The first goal of this research will be discussed in this paper.&lt;/blockquote&gt;And a presentation called "&lt;a href="http://www.ics.heacademy.ac.uk/events/presentations/669_middlesbroughpres.ppt"&gt;Serious Games for People with Physical and Cognitive Impairments&lt;/a&gt;"&lt;br /&gt;&lt;blockquote&gt;Virtual Cane/Guide Dog&lt;br /&gt;WiiMote can be used as a pointing device, and can give auditory, visual and haptic (it rumbles) feedback&lt;br /&gt;Virtual cane – uses auditory and haptic feedback&lt;br /&gt;Support with an intelligent agent which gives spoken warnings and advice&lt;br /&gt;Combine to create a virtual guide dog&lt;/blockquote&gt;&lt;a href="http://refmanager.ntu.ac.uk/ntu.asp?username=CMP3EVETTLJ"&gt;Another publication&lt;/a&gt;, though I'm not sure this paper's actually available yet either,&lt;br /&gt;EVETT, L., RIDLEY, A., BATTERSBY, S. and BROWN, D., 2008. A Wiimote controlled interface to virtual environments for people who are blind - mental models and attentional demands . In: Interactive Technologies, Nottingham, November 2008 .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-5950237003218623096?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/5950237003218623096/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=5950237003218623096' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5950237003218623096'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5950237003218623096'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/11/related-work.html' title='Related Work'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-8397613571391333508</id><published>2008-10-21T16:42:00.004+01:00</published><updated>2008-10-21T16:49:28.210+01:00</updated><title type='text'>Paper Available</title><content type='html'>Our paper is now available in the ACM Electronic Library. If you're unable to access it there you can send me an email or a message here and I'll get a copy to you. Please send an email to G.White at my university, sussex.ac.uk&lt;br /&gt;&lt;br /&gt;Here are example citation data,&lt;br /&gt;&lt;br /&gt;White, G. R., Fitzpatrick, G., and McAllister, G. 2008. &lt;a href="http://doi.acm.org/10.1145/1413634.1413663"&gt;Toward accessible 3D virtual environments for the blind and visually impaired&lt;/a&gt;. In &lt;i&gt;Proceedings of the 3rd international Conference on Digital interactive Media in Entertainment and Arts&lt;/i&gt; (Athens, Greece, September 10 - 12, 2008). DIMEA '08, vol. 349. ACM, New York, NY, 134-141. DOI= &lt;a href="http://doi.acm.org/10.1145/1413634.1413663"&gt;http://doi.acm.org/10.1145/1413634.1413663&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@inproceedings{1413663,&lt;br /&gt;author = {Gareth R. White and Geraldine Fitzpatrick and Graham McAllister},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/1413634.1413663"&gt;Toward accessible 3D virtual environments for the blind and visually impaired&lt;/a&gt;},&lt;br /&gt;booktitle = {DIMEA '08: Proceedings of the 3rd international conference on Digital Interactive Media in Entertainment and Arts},&lt;br /&gt;year = {2008},&lt;br /&gt;isbn = {978-1-60558-248-1},&lt;br /&gt;pages = {134--141},&lt;br /&gt;location = {Athens, Greece},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/1413634.1413663"&gt;http://doi.acm.org/10.1145/1413634.1413663&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;abstract = {3D virtual environments are increasingly used for education, business and recreation but are often inaccessible to users who are visually impaired, effectively creating a digital divide. Interviews with 8 visually impaired expert users were conducted to guide design proposals, and a review of current research into haptics and 3D sound for auditory displays is presented with suggestions for navigation and feedback techniques to address these accessibility issues. The diversity and volatility of the environment makes &lt;i&gt;Second Life&lt;/i&gt; an unusually complex research object, suggesting the applicability of our work for the field of HCI and accessibility in 3D virtual environments.}&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-8397613571391333508?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/8397613571391333508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=8397613571391333508' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8397613571391333508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8397613571391333508'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/10/paper-available.html' title='Paper Available'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-530647477546529424</id><published>2008-09-23T12:15:00.004+01:00</published><updated>2008-09-23T17:17:07.498+01:00</updated><title type='text'>Paper Publication</title><content type='html'>Last week I returned from Athens where I presented our paper at &lt;a href="http://www.dimea2008.org/"&gt;DIMEA 2008&lt;/a&gt;.&lt;br /&gt;I thought the presentation went well, with about 15-20 people in the audience. There were a few good questions at the end where we discussed amongst other things the use of synthetic verses naturalistic sounds for 3D spatialisation, from a semiotic point of view, and the potential of formal, structured data like VRML for environments like &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;The presentation itself dealt with 3D virtual environments more generally than the paper, which uses &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; as a case study. I demonstrated screen readers and &lt;span style="font-style: italic;"&gt;AudioQuake&lt;/span&gt; as an example of 3D sonification in an audio game. All presentations in the conference were arranged by theme, and my paper was included in the track called "Social and Collaborative Spaces", so the emphasis of my talk was to raise awareness of the issues for blind and visually impaired users in these environments, and also to call into question just how "social and collaborative" they are when they exclude a sector of society. Following the previous day's excellent keynote by Professor Michael Meimaris, in which he talked about "Digital Natives" and "Digital Immigrants" I coined the phrase "Digital Outcasts" in the context of rapidly evolving but inaccessible technology.&lt;br /&gt;&lt;br /&gt;Please get in touch if you'd like a copy of the paper or presentation slides.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-530647477546529424?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/530647477546529424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=530647477546529424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/530647477546529424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/530647477546529424'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/09/paper-publication.html' title='Paper Publication'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3173223652020897361</id><published>2008-07-04T15:34:00.002+01:00</published><updated>2008-07-04T15:38:28.519+01:00</updated><title type='text'>Power Up: The Game</title><content type='html'>As referred to in a &lt;a href="http://blindsecondlife.blogspot.com/2008/07/publications.html"&gt;previous post&lt;/a&gt;, some of the IBM folk have developed an accessible game called &lt;a href="http://www.powerupthegame.org/"&gt;PowerUp&lt;/a&gt; which is described in the following paper,&lt;br /&gt;&lt;br /&gt;&lt;pre id="1358752"&gt;@inproceedings{1358752,&lt;br /&gt;author = {Shari M. Trewin and Mark R. Laff and Anna Cavender and Vicki L. Hanson},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/1358628.1358752"&gt;Accessibility in virtual worlds&lt;/a&gt;},&lt;br /&gt;booktitle = {CHI '08: CHI '08 extended abstracts on Human factors in computing systems},&lt;br /&gt;year = {2008},&lt;br /&gt;isbn = {978-1-60558-012-X},&lt;br /&gt;pages = {2727--2732},&lt;br /&gt;location = {Florence, Italy},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/1358628.1358752"&gt;http://doi.acm.org/10.1145/1358628.1358752&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;abstract = {Virtual worlds present both an opportunity and a challenge to people with disabilities. Standard ways to make such worlds accessible to a broad set of users have yet to emerge, although some core requirements are already clear. This paper describes work in progress towards an accessible 3D multi-player game that includes a set of novel tools for orienting, searching and navigating the world.}&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;My first impressions suggest that it's quite similar to Second Life in some respects (fixed name lists, Orientation Center).&lt;br /&gt;&lt;br /&gt;I'd be interested to hear feedback from some blind or VI players.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3173223652020897361?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3173223652020897361/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3173223652020897361' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3173223652020897361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3173223652020897361'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/07/power-up-game.html' title='Power Up: The Game'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-2774141151669622306</id><published>2008-07-03T15:21:00.003+01:00</published><updated>2008-07-06T13:53:01.726+01:00</updated><title type='text'>Other Papers</title><content type='html'>&lt;pre id="1358752"&gt;Although our project's finished I've just coincidentally come across some interesting papers that seem relevant to our work,&lt;br /&gt;&lt;br /&gt;Desurvire, H. &amp;amp; Wiberg, C. (2007). Master of the Game: The Crucial Role of Accessibility in Future Game Design. In Wiberg, C &amp;amp; Wiberg, M. (eds.) Proceedings of CMID´07 - The First International Conference on Cross-Media Interaction Design, March 22-25, 2007.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;@inproceedings{1358752,&lt;br /&gt;author = {Shari M. Trewin and Mark R. Laff and Anna Cavender and Vicki L. Hanson},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/1358628.1358752"&gt;Accessibility in virtual worlds&lt;/a&gt;},&lt;br /&gt;booktitle = {CHI '08: CHI '08 extended abstracts on Human factors in computing systems},&lt;br /&gt;year = {2008},&lt;br /&gt;isbn = {978-1-60558-012-X},&lt;br /&gt;pages = {2727--2732},&lt;br /&gt;location = {Florence, Italy},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/1358628.1358752"&gt;http://doi.acm.org/10.1145/1358628.1358752&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;abstract = {Virtual worlds present both an opportunity and a challenge to people with disabilities. Standard ways to make such worlds accessible to a broad set of users have yet to emerge, although some core requirements are already clear. This paper describes work in progress towards an accessible 3D multi-player game that includes a set of novel tools for orienting, searching and navigating the world.}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{354375,&lt;br /&gt;author = {Jochen Schneider and Thomas Strothotte},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/354324.354375"&gt;Constructive exploration of spatial information by blind users&lt;/a&gt;},&lt;br /&gt;booktitle = {Assets '00: Proceedings of the fourth international ACM conference on Assistive technologies},&lt;br /&gt;year = {2000},&lt;br /&gt;isbn = {1-58113-314-8},&lt;br /&gt;pages = {188--192},&lt;br /&gt;location = {Arlington, Virginia, United States},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/354324.354375"&gt;http://doi.acm.org/10.1145/354324.354375&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{274525,&lt;br /&gt;author = {Sandy Ressler and Qiming Wang},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/274497.274525"&gt;Making VRML accessible for people with disabilities&lt;/a&gt;},&lt;br /&gt;booktitle = {Assets '98: Proceedings of the third international ACM conference on Assistive technologies},&lt;br /&gt;year = {1998},&lt;br /&gt;isbn = {1-58113-020-1},&lt;br /&gt;pages = {144--148},&lt;br /&gt;location = {Marina del Rey, California, United States},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/274497.274525"&gt;http://doi.acm.org/10.1145/274497.274525&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{638263,&lt;br /&gt;author = {Chieko Asakawa and Hironobu Takagi and Shuichi Ino and Tohru Ifukube},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/638249.638263"&gt;Auditory and tactile interfaces for representing the visual effects on the web&lt;/a&gt;},&lt;br /&gt;booktitle = {Assets '02: Proceedings of the fifth international ACM conference on Assistive technologies},&lt;br /&gt;year = {2002},&lt;br /&gt;isbn = {1-58113-464-9},&lt;br /&gt;pages = {65--72},&lt;br /&gt;location = {Edinburgh, Scotland},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/638249.638263"&gt;http://doi.acm.org/10.1145/638249.638263&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{1028657,&lt;br /&gt;author = {Andreas Hub and Joachim Diepstraten and Thomas Ertl},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/1028630.1028657"&gt;Design and development of an indoor navigation and object identification system for the blind&lt;/a&gt;},&lt;br /&gt;booktitle = {Assets '04: Proceedings of the 6th international ACM SIGACCESS conference on Computers and accessibility},&lt;br /&gt;year = {2004},&lt;br /&gt;isbn = {1-58113-911-X},&lt;br /&gt;pages = {147--152},&lt;br /&gt;location = {Atlanta, GA, USA},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/1028630.1028657"&gt;http://doi.acm.org/10.1145/1028630.1028657&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{634213,&lt;br /&gt;author = {Calle Sj\"{o}str\"{o}m},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/634067.634213"&gt;Using haptics in computer interfaces for blind people&lt;/a&gt;},&lt;br /&gt;booktitle = {CHI '01: CHI '01 extended abstracts on Human factors in computing systems},&lt;br /&gt;year = {2001},&lt;br /&gt;isbn = {1-58113-340-5},&lt;br /&gt;pages = {245--246},&lt;br /&gt;location = {Seattle, Washington},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/634067.634213"&gt;http://doi.acm.org/10.1145/634067.634213&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;@inproceedings{1321285,&lt;br /&gt;author = {Mar\'{\i}a J. Ab\'{a}solo and Jos\'{e} Mariano Della},&lt;br /&gt;title = {&lt;a href="http://doi.acm.org/10.1145/1321261.1321285"&gt;Magallanes: 3D navigation for everybody&lt;/a&gt;},&lt;br /&gt;booktitle = {GRAPHITE '07: Proceedings of the 5th international conference on Computer graphics and interactive techniques in Australia and Southeast Asia},&lt;br /&gt;year = {2007},&lt;br /&gt;isbn = {978-1-59593-912-8},&lt;br /&gt;pages = {135--142},&lt;br /&gt;location = {Perth, Australia},&lt;br /&gt;doi = {&lt;a href="http://doi.acm.org/10.1145/1321261.1321285"&gt;http://doi.acm.org/10.1145/1321261.1321285&lt;/a&gt;},&lt;br /&gt;publisher = {ACM},&lt;br /&gt;address = {New York, NY, USA},&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-2774141151669622306?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/2774141151669622306/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=2774141151669622306' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/2774141151669622306'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/2774141151669622306'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/07/publications.html' title='Other Papers'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-7514240486377255682</id><published>2008-06-26T10:35:00.002+01:00</published><updated>2008-06-26T10:44:29.181+01:00</updated><title type='text'>Publication</title><content type='html'>Our paper's been accepted for a conference in Athens called &lt;a href="http://www.dimea2008.org/"&gt;DIMEA 2008&lt;/a&gt;: The 3rd ACM International Conference on Digital Interactive Media in Entertainment &amp;amp; Arts.&lt;br /&gt;&lt;br /&gt;I'll include a citation and link to the paper when it's published.&lt;br /&gt;&lt;br /&gt;Thanks once again to everyone who participated in this study. Without your input it would have been impossible!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-7514240486377255682?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/7514240486377255682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=7514240486377255682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7514240486377255682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7514240486377255682'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/06/publication.html' title='Publication'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-6717693047590371448</id><published>2008-06-05T14:45:00.002+01:00</published><updated>2008-06-05T14:49:42.639+01:00</updated><title type='text'>Study Finished</title><content type='html'>Thank you so much to all of the people who participated in our study, and to those who offered but were not involved.&lt;br /&gt;&lt;br /&gt;We've now concluded this research project and no longer need any more participants.&lt;br /&gt;&lt;br /&gt;The result of this work was is paper which has been submitted to an academic conference for publication later on this year. We'll post more details when they're available.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-6717693047590371448?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/6717693047590371448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=6717693047590371448' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6717693047590371448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6717693047590371448'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/06/study-finished.html' title='Study Finished'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-8098051596596407148</id><published>2008-02-11T14:03:00.001Z</published><updated>2008-05-06T20:16:02.494+01:00</updated><title type='text'>Blind Volunteers Needed</title><content type='html'>[EDIT: 6th May 2008] This stage of the project is now complete, we're no longer looking for volunteers. Many thanks to those who participated.&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;For the next stage of our project we will conduct interviews with people who are blind or significantly visually impaired.&lt;br /&gt;&lt;br /&gt;We'd like to take 30 minutes of your time for a voice chat to hear about your experiences of getting around in the real world, and any experiences you have of doing so in virtual worlds. The aim is to direct our further work developing interaction techniques for blind users in &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;For more information please read the &lt;a href="http://www.informatics.sussex.ac.uk/users/gw43/publications/The%20Accessibility%20of%20Second%20Life%20for%20Blind%20Users/Explanatory%20Statement.doc"&gt;Explanatory Statement&lt;/a&gt; and &lt;a href="http://www.informatics.sussex.ac.uk/users/gw43/publications/The%20Accessibility%20of%20Second%20Life%20for%20Blind%20Users/Consent%20Form.doc"&gt;Consent Form.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If you'd like to participate please send an email to Gareth White, &lt;a href="mailto:G.White@sussex.ac.uk"&gt;G.White@sussex.ac.uk&lt;/a&gt;, confirming that you've read both of these documents and agree to the conditions listed in the consent form.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-8098051596596407148?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/8098051596596407148/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=8098051596596407148' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8098051596596407148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8098051596596407148'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/02/blind-volunteers-needed.html' title='Blind Volunteers Needed'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-1597801063666653787</id><published>2008-01-16T09:46:00.000Z</published><updated>2008-01-18T14:23:46.341Z</updated><title type='text'>Haptics</title><content type='html'>Following up from an &lt;a href="http://blindsecondlife.blogspot.com/2007/10/haptic-wearables.html"&gt;initial thought&lt;/a&gt; and a more extensive &lt;a href="http://blindsecondlife.blogspot.com/2007/11/sled-accessibility-threads.html#c5402307325646810143"&gt; conversation on another post&lt;/a&gt; I've begun considering a multi-modal approach to this project, mixing spatial audio with haptic feedback from devices such as the &lt;a href="http://home.novint.com/products/novint_falcon.php"&gt;Novint Falcon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://a362.ac-images.myspacecdn.com/images01/100/l_e60f2f3486a02c8d38907baa6aad4829.jpg"&gt;&lt;img style="cursor: pointer; width: 200px;" src="http://a362.ac-images.myspacecdn.com/images01/100/l_e60f2f3486a02c8d38907baa6aad4829.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Briefly, the Falcon is a consumer 3D haptic device targeted at the mass gaming market. Bit-Tech recently published an &lt;a href="http://www.bit-tech.net/gaming/2007/12/07/novint_falcon_limited_edition/1"&gt;in-depth review&lt;/a&gt; which is worth reading. The product is interesting for this project as a mobility device to complement spatial audio. Think of it as a super-sensitive long cane white stick that could allow &lt;i&gt;SL&lt;/i&gt; residents to reach out from the physical world and realistically feel objects in the virtual world.&lt;br /&gt;&lt;br /&gt;Here's an informative &lt;a href="http://www.gametrailers.com/player/usermovies/47527.html"&gt;promotional demo&lt;/a&gt;, and a rather &lt;a href="http://www.gametrailers.com/player/usermovies/36783.html"&gt;enthusiastic hands-on&lt;/a&gt; by CNET's Veronica Belmont from the CES 2007 show. Novint also gave an audio &lt;a href="http://cmpmedia.vo.llnwd.net/o1/gdcradio-net/GAMA/Gama_025.mp3"&gt;interview&lt;/a&gt; with Gamasutra and a &lt;a href="http://home.novint.com/pdf/2007-03-04_GDC_Developer_Presentation.pdf"&gt;presentation&lt;/a&gt; at the 2007 Game Developers Conference.&lt;br /&gt;&lt;br /&gt;Optional hardware devices are usually ignored by game developers as the effort required to support them is not justified by the small number of users who own the devices, and as there are few games that support them it's unlikely that many gamers would buy such devices: Catch 22. However as &lt;a href="http://blindsecondlife.blogspot.com/2007/11/sled-accessibility-threads.html#c4273492896031464502%20"&gt;pointed out by a reader of this blog&lt;/a&gt;, blind users will often spend thousands of dollars on specialist hardware such as Braille keyboards, so the $190 that the Falcon costs is a relatively small investment. Furthermore support for the device in &lt;i&gt;SL&lt;/i&gt; and other open source or moddable software can be implemented by the community rather than relying on industry.&lt;br /&gt;&lt;br /&gt;The Falcon compares favourably to other haptic devices which cost upwards of ten times the price (for example &lt;a href="http://www.sensable.com/products-haptic-devices.htm%20"&gt;Sensable Technologies' Phantom&lt;/a&gt; range of haptic devices are in the range of &lt;a href="http://inition.co.uk/inition/compare.php?SubCatID=36"&gt;multi-thousand pounds Sterling&lt;/a&gt;.), and there are already some other academic researchers investigating haptics in &lt;i&gt;Second Life&lt;/i&gt; and the Falcon in particular.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://jeffvandrimmelen.info/"&gt;Jeff VanDrimmelen&lt;/a&gt;, an Academic Computing Expert in the &lt;a href="http://oasis.unc.edu/"&gt;Office of Arts and Sciences Information Services&lt;/a&gt;, University of North Carolina at Chapel Hill publishes research on a site called &lt;a href="http://haptic.edutechie.com/research/"&gt;Haptic Education - Adding the Tactile Sensation to Virtual Learning&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a style="left: 340px ! important; top: 0px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-03419634249895045 visible ontop" href="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;a style="left: 340px ! important; top: 0px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-03419634249895045 visible ontop" href="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;a style="left: 340px ! important; top: 0px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-03419634249895045 visible ontop" href="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;a style="left: 340px ! important; top: 0px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-03419634249895045 visible ontop" href="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/S5h4owxpHcI&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/center&gt;&lt;br /&gt;VanDrimmelen's team have focused on another virtual environment called &lt;a href="http://www.opencroquet.org/index.php/Main_Page"&gt;Croquet&lt;/a&gt;, but  have also considered &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; and make some interesting observations,&lt;br /&gt;&lt;blockquote&gt;The &lt;a href="http://millionsofus.com/blog/archives/24%29" title="The Second Half of Second Life: Haptics"&gt;creators of Second Life actually started their project out with a large haptic device&lt;/a&gt;, but soon abandoned it for more financially appealing options.&lt;br /&gt;&lt;br /&gt;In Second Life the only way to navigate with a mouse is to bring up an on screen navigation menu that you have to click to move the avatar. It works okay when the avatar is flying, but otherwise you just end up using the buttons on the handle to move around. However, just in case anyone wants to work with the script, &lt;a href="http://haptic.edutechie.com/files/second_life_haptic_USB.PIE" title="GlovePIE Haptic Second Life Script" target="_blank"&gt;here it is&lt;/a&gt;.&lt;br /&gt;&lt;/blockquote&gt;In Linden's default client movement is controlled using the keyboard, but in my own research I have recently been able to control by walking and flying using a force feedback joystick (Logitech Wingman Strike Force 3D). This was made possible by using a free 3rd party tool called GlovePIE which VanDrimmelen's team also employed. The tool works by intercepting output from the joystick and injecting the corresponding keyboard signals, such that by moving the joystick left and right the &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; avatar turns left and right, and moving the joystick forward and backwards moves the avatar forward and back. The same technique is used by VanDrimmelen's team to use the Novint Falcon as input device for Croquet. This approach appears to offer a very quick and easy way to prototype haptics in &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt;. VanDrimmelen continues, however,&lt;blockquote&gt;It should be noted that about the same time we found the GlovePIE software Novint announced they are working on &lt;a href="http://home.novint.com/games/release_schedule.php" title="Novint Falcon Game Release Schedule"&gt;drivers that will work with not only Second Life, but World of Warcraft as well&lt;/a&gt;.&lt;/blockquote&gt;Currently both of these drivers are "in exploration phase" with no estimated completion date. Also in their (busy!) &lt;a href="http://home.novint.com/games/release_schedule.php"&gt;release schedule&lt;/a&gt; Novint also describe another interesting product, "Feelin' It: Blind Games™":&lt;br /&gt;&lt;blockquote&gt;Novint will release a number of games that can be played entirely without sight. For example, in a bowling game, you will be able to feel the extents of the lane, feel the weight of the ball as it is thrown, and hear the pins crash down. After throwing the ball and hitting the pins, the game will bring up a touchable representation of how the ball traveled down the lane to guide the user's muscle memory for future shots, and the user will be able to feel with a 3D cursor which pins are still standing. All the information needed to play the game and become a true master, will be available without any graphics.&lt;/blockquote&gt;Further haptic research in &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; is being conducted by &lt;a href="http://www.dii.unisi.it/%7Emdepascale"&gt;Maurizio de Pascale&lt;/a&gt;, &lt;a href="http://www.dii.unisi.it/%7Emulatto"&gt;Sara Mulatto&lt;/a&gt;, &lt;a href="http://www.dii.unisi.it/%7Edomenico"&gt;Domenico Prattichizzo&lt;/a&gt; from the &lt;a href="http://sirslab.dii.unisi.it/research/haptic/"&gt;Haptics Group&lt;/a&gt; of the &lt;a href="http://sirslab.dii.unisi.it/"&gt;Siena Robotics and Systems Lab&lt;/a&gt;, in the Dipartimento di Ingegneria Informatica at the University of Siena. In particular they have a paper called "&lt;a href="http://sirslab.dii.unisi.it/research/haptic/projects/second_life_haptics/"&gt;Bringing Haptics to Second Life: A Haptics-enabled Second Life Viewer for Blind Users&lt;/a&gt;", which is due for publication at the &lt;a href="http://hasworkshop.org/orgncomm.shtml"&gt;"Haptic in Ambient Systems"&lt;/a&gt; conference, which takes place in Quebec City, Canada on  February 11-14, 2008.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://sirslab.dii.unisi.it/public/media/screenshot.second_life_h.png"&gt;&lt;img style="cursor: pointer; width: 200px;" src="http://sirslab.dii.unisi.it/public/media/screenshot.second_life_h.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Judging from the screenshot, I would imagine that the Siena team are not using the Novint, but rather a different haptic device that has a stylus, perhaps one of &lt;a href="http://www.sensable.com/"&gt;SensAble Technology&lt;/a&gt;'s Phantom range which seem popular in academic research.&lt;br /&gt;&lt;br /&gt;Another research project that is of interest as inspiration for our &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; work is the &lt;a href="http://www.isrg.reading.ac.uk/haptictorch/index.htm"&gt;Haptic Torch&lt;/a&gt; from the &lt;a href="http://www.isrg.reading.ac.uk/home.htm"&gt;Interactive Systems Research Group&lt;/a&gt; at the University of Reading.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.isrg.reading.ac.uk/haptictorch/torch1.jpg"&gt;&lt;img style="cursor: pointer; width: 200px;" src="http://www.isrg.reading.ac.uk/haptictorch/torch1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;blockquote&gt;"The unique design of the torch allows users to range from sighted individuals in low-light conditions to people who are both deaf and blind. The torch provides a method of alerting users to presence of potentiol hazards using non-contact measurement techniques. An subtle tactile (touch) interface conveys relevent information to the user while not interfering with other senses."  [sic]&lt;br /&gt;&lt;/blockquote&gt;Whereas the Haptic Torch is only capable of signifying the presence of objects, the Falcon could be used to reach out and feel their shape, and this immediate physical stimuli will assist the users construction of a mental map of the virtual space.&lt;br /&gt;&lt;br /&gt;Of the suppliers that Novint list as selling the Falcon, Fry's looks like the best for   delivery outside the USA and Canada, although it should be noted that in the &lt;a href="http://cmpmedia.vo.llnwd.net/o1/gdcradio-net/GAMA/Gama_025.mp3"&gt;Gamasutra podcast&lt;/a&gt; mentioned earlier, Novint's CEO, Tom Anderson, mentioned that they are providing Falcons to game development studios for free and they have also used the Falcon as an interface for medical dental simulators with the Harvard School of Dental Medicine. With their aggressive PR policy perhaps they'd extend this generous offer to other academic research projects too?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://shop2.outpost.com/template/help/index/FE30/Service3/Assistance/Middle_Topics/A3InternationalShipping"&gt;Fry's&lt;/a&gt;&lt;br /&gt;"Through DHL, we quickly ship international orders just about anywhere in the world for very reasonable rates."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.skymall.com/shopping/internationalshipping.htm"&gt;SkyMall&lt;/a&gt;&lt;br /&gt;"Many SkyMall products are available for delivery outside the United States."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.tigerdirect.ca/sectors/Help/international.asp"&gt;TigerDirect&lt;/a&gt;&lt;br /&gt;"For all international orders, export, and distribution please contact our sales force at: 800-800-8300"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.circuitcity.com/ccd/lookLearn.do?cat=-13415&amp;amp;edOid=105496&amp;amp;c=1"&gt;CircuitCity&lt;/a&gt;&lt;br /&gt;"Due to our manufacturer distribution agreements, we are not permitted to ship products to international addresses except APO/FPO or U.S. Territory addresses. Circuit City does not ship to Puerto Rico."&lt;br /&gt;&lt;br /&gt;&lt;a href="https://www.gogamer.com/helppopup.htm?tab=ordering&amp;amp;file=help_shipping_info"&gt;GoGamer&lt;/a&gt;&lt;br /&gt;"GoGamer does not ship to International Destinations at this time."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.jr.com/templates/information/pop_shoppingHelp.tem"&gt;JR&lt;/a&gt;&lt;br /&gt;"At the present time, we only ship to the Continental U.S., Alaska, Hawaii, U.S. territories, Puerto Rico, and Canada. J&amp;amp;R proudly ships to our Armed Forces APO/FPO customers."&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-1597801063666653787?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/1597801063666653787/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=1597801063666653787' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1597801063666653787'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1597801063666653787'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2008/01/haptics.html' title='Haptics'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-8942546527391635347</id><published>2007-11-30T11:56:00.000Z</published><updated>2007-11-30T12:44:10.434Z</updated><title type='text'>SLED Accessibility Threads</title><content type='html'>Following are excerpts from the SLED mailing list, which deal with accessibility and visual impairment,&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2007-June/010997.html"&gt;SLeek for the vision impaired?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Sean FitzGerald (seanf at tig.com.au) writes,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;But the really neat thing about SLeek that leads me to think it may be useful for the vision impaired (if screen readers work with it) is that it has a "Follow" function that lets you nominate to hitch your av to another av in range... a virtual version of a vision impaired person holding the arm of a guide. It works quite well. Then the guide just has to describe the environment.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001735.html"&gt;Blind people in SL - Idle speculation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mike Reddy (mike.reddy at newport.ac.uk) writes,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;This would be easier with a client SDK that could trap text, use text to speech and allow keyboard macros, but given the existing client could we not have a HUD or head mounted scripted object that 'spoke' information. Location, people's names as they came and went, object IDs. Within the current system, these would probably have to be pre-recorded and linked to specific text, say in a notecard. Alternatively, objects in an 'accessible' area could be able to self report, say if someone approached them within a certain distance for a certain time. This area could be made the home location for participants. We could even run a competition to design accessible vending machines that used sound instead/as well as text.&lt;br /&gt;&lt;br /&gt;To aid people with visual impairments - most people who are blind aren't actually 'blind' - it would be great to have control over field of view in the client, which could effectively allow mouse view of a small angle to be the equivalent of a magnified image, much as PC viewing software allows the whole screen to be enlarged. Sadly, this would not easily include text. However, if we had a HUD object repeating any 'heard' text in the mouselook view, then even this might be possible. This would require chat in the mouselook view...&lt;br /&gt;&lt;br /&gt;Ah well, maybe when I have a PhD student to throw at it...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Jeff Hiles (jeffrey.hiles at wright.edu) &lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001777.html"&gt;wrote&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;As Danielle said, right now you would have to pair a blind student with another student or with an assistant who could navigate, read, and describe what's on the screen. That's not unique to people with visual disabilities, though.&lt;/blockquote&gt;&lt;br /&gt;&lt;blockquote&gt;The visually impaired could participate more directly, though, if the SL client was accessible to screen readers. I know blind people who have embraced instant messaging with clients that work with JAWS. So, in theory, it would be possible for people who can't see to carry on their own text conversations in Second Life. That degree of independence, I think, would make the experience more immediate and immersive.&lt;br /&gt;&lt;br /&gt;However, the Second Life client doesn't currently give screen reader access to chat or IM text. In fact, you can't even read the menus with JAWS. If the client did have that most basic accessibility--chat, IM and menus--blind users would still need some assistance getting around.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2007-November/015923.html"&gt;Accessibility&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Lisa Dawley (lisadawley at boisestate.edu) writes,&lt;br /&gt;&lt;blockquote&gt;I was doing a presentation in our amphitheater one day.  A gentleman in a wheel chair asked me if I could make the stadium accessible, because there wasn't a seat large enough for him to "land" his wheelchair and he had to float.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2007-May/009036.html"&gt;Second life for the visually impaired&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Roome, Thomas C (thomas.roome at student.utdallas.edu ) writes,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;In the near future the Internet will make a shift from web sites to a 3D environment spaces.  The same information that is on a web site can be available to people in a 3D environment, but the question is how can a 3D environment be accessible for people with disabilities?  The UTD Accessibility Island will be trying to find the answers to this question.  One of the, island goal is to provide information on video game accessibility and general information on the different disabilities.  Another goal is to create a conference center for people to discuss different topics around Accessibility.  The last major goal of the island is to provide some land for research and development, and I want to form an in world research team of scripters, programmer, educators and people with disabilities. If you would like to become a research team member, then please contact Tom06 Castro or e-mail thomas.roome at student.utdallas.edu&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001785.html"&gt;Further thoughts on people with visual disabilities in Second Life&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jeff Hiles (jeffrey.hiles at wright.edu) writes,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;When I work with JAWS users in real life, they sometimes ask me to give them my arm and guide them where they need to go. What if you could "give an arm" in Second Life and lead someone around? Better yet, what if you could do that invisibly so no one else in Second Life knew you were there? The key would be for you to be able to guide someone remotely, without having to be in the same room as the person you were guiding.&lt;br /&gt;&lt;br /&gt;For example, as a guide, you would have the ability move your friend's avatar through Second Life, and to see what that avatar would see. But your friend would have control of chat and IM. From your computer, you would move the avatar through Second Life wherever your friend asked you to take it. The two of you would communicate by voice, say through Skype, and you would describe everything you saw.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Danielle Mirliss (dmirliss at yahoo.com, Danielle Damone in SL) also &lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001787.html"&gt;comments&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;I also work closely with several students on my campus that are blind and they would be willing to give us feedback on the experience.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-8942546527391635347?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/8942546527391635347/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=8942546527391635347' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8942546527391635347'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8942546527391635347'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/sled-accessibility-threads.html' title='SLED Accessibility Threads'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-6083340376948732020</id><published>2007-11-30T11:00:00.001Z</published><updated>2007-11-30T11:12:28.814Z</updated><title type='text'>Disability in SL</title><content type='html'>The BBC disability website, &lt;i&gt;&lt;a href="http://www.bbc.co.uk/blogs/ouch/"&gt;Ouch!&lt;/a&gt;&lt;/i&gt; discuss some of the appeal of &lt;i&gt;SL&lt;/i&gt; in &lt;a href="http://www.bbc.co.uk/blogs/ouch/200608/staying_in_is_the_new_going_ou.shtml"&gt;Staying in is the New Going Out&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;A new nightlcub called Wheelies officially opens its doors this Friday, the 1st September, at 9pm UK time.&lt;br /&gt;&lt;br /&gt;Owned by Simon Stevens, who has cerebral palsy, Wheelies aims to make guests feel comfortable about disability as well as dancing, drinking and just plain having a good time.&lt;/blockquote&gt;&lt;br /&gt;And in the comments, Kopilo Hallard quite rightly says,&lt;br /&gt;&lt;blockquote&gt;The point is that he couldn't go out and socialise and SL gives him a platform so that he can meet his needs (ie socialisation) even in his current physical state.&lt;br /&gt;&lt;br /&gt;This gives him an escape from reality, a breath from being physically unable to do things.&lt;br /&gt;&lt;br /&gt;Besides that point, SL is a great way to network with people from all over the world. To gain perspectives which may not be abled to be gained in the geographical region due to culture, social or other conforms.&lt;br /&gt;&lt;br /&gt;Also SL gives developing artists both music, graphic, programming, etc a way of having more exposure which they can not just gain in their day to day life, if you like in a similar way to myspace, except the music can be played live.&lt;/blockquote&gt;&lt;br /&gt;Additionally, on the SLED mailing list, Jeff Hiles (Farley Scarborough in SL) recommends,&lt;br /&gt;&lt;blockquote&gt;In addition to the many articles on the Web about Simon Stevens and his&lt;br /&gt;Wheelies night club, you may want to look at Fez Rutherford's blog,&lt;br /&gt;"&lt;a href="http://2ndisability.blogspot.com/"&gt;2nDisability&lt;/a&gt;." He has created avatar animations that simulate disabilities.&lt;br /&gt;&lt;br /&gt;Also, Cubey Terra has made three very nice wheelchairs that are available free at the GNUbie Store at Indigo. They are down the ramp and to the left.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://slurl.com/secondlife/Indigo/195/62/40"&gt;http://slurl.com/secondlife/Indigo/195/62/40&lt;/a&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-6083340376948732020?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/6083340376948732020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=6083340376948732020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6083340376948732020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6083340376948732020'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/disability-in-sl.html' title='Disability in SL'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-8139665987189207318</id><published>2007-11-29T14:41:00.000Z</published><updated>2007-11-30T12:38:57.605Z</updated><title type='text'>Mailing Lists &amp; Fora</title><content type='html'>Generally accessibility issues seem to be dealt by Linden with John Lester, AKA &lt;a href="http://zero.hastypastry.net/pathfinder/"&gt;Pathfinder Linden&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"Pathfinder Linden: well, I'm very interested in things we might be able to do from LL's perspective to make SL more accessible&lt;br /&gt;&lt;br /&gt;Pathfinder Linden: so please hit me with recommendations :)"&lt;/blockquote&gt;&lt;br /&gt;The following resources might be useful,&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://list.academ-x.com/listinfo.cgi/slrl-academ-x.com"&gt;Second Life Researchers&lt;/a&gt; is a mailing list for researchers (obviously).&lt;/li&gt;&lt;li&gt;&lt;a href="https://lists.secondlife.com/cgi-bin/mailman/listinfo/healthcare"&gt;Healthcare Support and Education&lt;/a&gt; is "for people interested in or currently using Second Life for Healthcare Support and Education".&lt;/li&gt;&lt;li&gt;&lt;a href="https://lists.secondlife.com/cgi-bin/mailman/listinfo/educators"&gt;Second Life Educators&lt;/a&gt; [SLED] is a mailing list "for educators interested in or currently using Second Life".&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;SLED also has a &lt;a href="http://simteach.com/forum/index.php"&gt;forum&lt;/a&gt; with a thread called &lt;a href="http://simteach.com/forum/viewforum.php?f=14"&gt;Supporting Visually Impaired Users&lt;/a&gt;, though it looks like it hasn't had any posts since January 2007.&lt;br /&gt;&lt;br /&gt;From that forum Jonathon Richter has the following to say,&lt;br /&gt;&lt;blockquote&gt;I concur that we ought to frame the problem in terms of the various affordances that Second Life as a medium allows its users - indeed, the benefits of SL over other types of learning media are precisely the selling points as to why we want accessibility to these incredible learning environments, yes? So, first - documenting the various affordances and the skills/inputs required to successfully navigate the media and receive said benefits is crucial.&lt;/blockquote&gt;And Jeff Farley has this to point out:&lt;br /&gt;&lt;blockquote&gt;"There's a slogan in the disability-rights movement that goes 'Nothing about us without us.'"&lt;/blockquote&gt;&lt;br /&gt;Following are some extracts from the SLED mailing list that deal with visual impairment:&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2007-February/006554.html"&gt;Different users of Second Life&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Jeff Hiles writes,&lt;br /&gt;&lt;blockquote&gt;But I think the most promising technological aide lies inways to make SL chat accessible, since the SL client isn't accessible to screen readers.&lt;/blockquote&gt;&lt;blockquote&gt;If I had to accommodate someone today, I'd approach it like a stage production and provide a skilled audio describer. The describer might join the blind person or communicate through VOIP. The person could then tell the describer where to move the avatar and what to do with it, while the describer summed up the scenes along the way. If it was done right, perhaps no one in SL would know the person was blind.&lt;br /&gt;&lt;br /&gt;Ideally, the person's screen reader would have access to his avatar's chat so that communication would be direct, not through the describer. I'm not sure if that level of accessibility is possible yet.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://simteach.com/wiki/index.php?title=Main_Page"&gt;SimTeach&lt;/a&gt; host the &lt;a href="http://www.simteach.com/wiki/index.php?title=Second_Life_Education_Wiki"&gt;Education Wiki&lt;/a&gt; and also recently published a transcript of a meeting called &lt;a href="http://www.simteach.com/wiki/index.php?title=Supporting_students_with_disabilities_Transcript_30_August_2006"&gt;Supporting Students With Disabilities&lt;/a&gt;", which was about &lt;blockquote&gt;"discussing accessibility issues within Second Life, with a particular focus on how to best accommodate students with disabilities when SL is used for educational purposes"&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;This is the summary,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;    *  The user interface and software of SL does not currently allow much freedom in regards to how it is manipulated (e.g., mouse versus keyboard). The UI is currently not JAWS- compliant as well. The use of XML-based user interfaces in future versions could provide great flexibility for tuning the software to a user's needs.&lt;br /&gt;&lt;br /&gt;  * The vast amount of visual information in SL is currently inaccessible to residents with visual disabilities. The addition of metadata (like the ALT and LONGDESC tags used for images in HTML) was suggested. While enforcing the inclusion of helpful metadata is tricky, it was agreed that educational builds at least should adhere to a standard.&lt;br /&gt;&lt;br /&gt;  * Regarding accommodations for a student with disabilities in SL, it was suggested that equivalent RL practices could be applied. A blind student might have a companion to assist him or her. This led to an interesting question regarding whether the companion or the student or both would have avatars in SL.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The following parts of the conversation have been cut from their context and reassembled without any intervening and off-topic posts,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Kate Spatula: have anyone of you had an instance where a person with a disability, say visual issues, was involved in a class using SL?&lt;br /&gt;buridan Simon: /not that i know of&lt;br /&gt;&lt;br /&gt;Ali Andrews: not yet&lt;br /&gt;&lt;br /&gt;Gus Plisskin: Kate: Not visual issues, but I've build footpedals for those with carpal tunnel who can't use mouse buttons.&lt;br /&gt;&lt;br /&gt;Kate Spatula: so that's one concern... the interface is very mouse-heavy on here, isn't it?&lt;br /&gt;&lt;br /&gt;buridan Simon: /mouse heavy as compared to?&lt;br /&gt;&lt;br /&gt;Ali Andrews: especially when building&lt;br /&gt;&lt;br /&gt;Janor Slichter: more keyboard commands to drive menus and actions?&lt;br /&gt;&lt;br /&gt;Gus Plisskin: yes, but SL needs mouse heavy. An alternative would be very tough&lt;br /&gt;&lt;br /&gt;Janor Slichter: the way gestures work in chat?&lt;br /&gt;&lt;br /&gt;buridan Simon: i dunno, i find that i use the arrow keys a fair amount&lt;br /&gt;&lt;br /&gt;buridan Simon: /and the tab&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: Hello everyone. I know that lots of builders do just that&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: Rez a cube, and use tab/arrow keys / numpad for the specifics&lt;br /&gt;&lt;br /&gt;buridan Simon: /what would be nice is better proximity detection for friends and colleagues with audio cues.... so a friend approaches and a sound could get louder....&lt;br /&gt;&lt;br /&gt;Rubaiyat Shatner: I think a big issue with accessibility is to somehow expose the data so that it can be read if it is text and translated if not&lt;br /&gt;&lt;br /&gt;Corwin Carillon: if the cleint was JAWS compliant you would get some of the with HUDs buridan&lt;br /&gt;&lt;br /&gt;Janor Slichter: Kate, are you referring to being able to add special functions, like with add-ins, to the client, to accomodate certain needs?&lt;br /&gt;&lt;br /&gt;Kate Spatula: that's one approach that could be taken, or providing hooks for external software to use (like JAWS requires), or these could all be optiosn built in to SL&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: I sense this is a direction that LL wants to move in... but i really have no idea&lt;br /&gt;&lt;br /&gt;Farley Scarborough: JAWS access and keyboard access are both very standard on Windows apps&lt;br /&gt;&lt;br /&gt;Kate Spatula: so here's the difficult question, if you had a class where SL was a key facet, and one student was blind, what would you do?&lt;br /&gt;&lt;br /&gt;Ellie Brewster: seems to me that you'd have to get them a companion&lt;br /&gt;&lt;br /&gt;Ellie Brewster: just as you do in a rl class&lt;br /&gt;&lt;br /&gt;buridan Simon: /All of the students that i've had that were visually impaird had companion assigned anyway&lt;br /&gt;&lt;br /&gt;Kate Spatula: so would they have an avatar on here or just the companion or both&lt;br /&gt;&lt;br /&gt;Farley Scarborough: There are profesional describers we use in RL&lt;br /&gt;&lt;br /&gt;Krisjohn Twin: @Kate: I just walked into this room, sat down at a pre-defined spot and started typing. How hard could that be to script for someone who is blind? Most of the 3D interface in SL is wasted.&lt;br /&gt;&lt;br /&gt;buridan Simon: /it is true the 3d doesn't matter as much as proximity&lt;br /&gt;&lt;br /&gt;Krisjohn Twin: Heck, an IRC bridge to this room would probably be more than enough to participate in this discussion.&lt;br /&gt;&lt;br /&gt;Ellie Brewster: you can use sound files as cues. Tie them to the scenery&lt;br /&gt;&lt;br /&gt;Farley Scarborough: Ah, but the visual's... they aren't wasted on the blind.&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: And scripting movement will get more interesting with libsl.&lt;br /&gt;&lt;br /&gt;Farley Scarborough: Listen to an audio described movie&lt;br /&gt;&lt;br /&gt;Kate Spatula: so let's consider this room. could we augment it to make it more accessible beyond just visual&lt;br /&gt;&lt;br /&gt;Farley Scarborough: the visual description is very important&lt;br /&gt;&lt;br /&gt;Gus Plisskin: For the person who's visually-impaired, rather than blind&lt;br /&gt;&lt;br /&gt;Ellie Brewster: what about using a different channel for viz impaired?&lt;br /&gt;&lt;br /&gt;Gus Plisskin: with description? that'd work&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: Do you mean chat channel Ellie ?&lt;br /&gt;&lt;br /&gt;Ellie Brewster: yes&lt;br /&gt;&lt;br /&gt;buridan Simon: i think someone has an irc bridge&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: there are several&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: we have developed one (we being my company)&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: and i knwo tehre is one with libsl&lt;br /&gt;&lt;br /&gt;buridan Simon: /Actually i know irc, and im bridge&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: and the #secondlife irc channel runs one&lt;br /&gt;&lt;br /&gt;Kate Spatula: i'm loolking right now at pictures of some famous philosophers hanging on the walls. the environment could provide a list of tagged objects to the user&lt;br /&gt;&lt;br /&gt;Kate Spatula: which would be useful to scripters as well&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: my company is in the process of developing a "hidden" metadata system for SL object&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: uhh. hidden is a bad word.&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: ubiquitous ? heh.&lt;br /&gt;&lt;br /&gt;buridan Simon: /hah good luck with that... tagging perhaps, but object standard metadata...&lt;br /&gt;&lt;br /&gt;Kate Spatula: the challenge, as it is in web accessibility, is making sure the data is provided&lt;br /&gt;&lt;br /&gt;buridan Simon: /cidoc is a bugger&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: maybe metadata is also a poor word ;)&lt;br /&gt;&lt;br /&gt;buridan Simon: /metadata is the word... it means data about data&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: I know. There are many kinds of metadata.&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: And as we just saw, only so much room in a script.&lt;br /&gt;&lt;br /&gt;Kate Spatula: i'm sure i could force rubaiyat to tag Trotsky's, but what about *insert random place* here&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: and kate, good point again. tagging the whole grid is a daunting task =O&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: let alone both grids !&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: and having them all work together.&lt;br /&gt;&lt;br /&gt;Ali Andrews: but isn't it tagged already, in the edit window?&lt;br /&gt;&lt;br /&gt;buridan Simon: /tagging is also an area where you will have a good number of people who vary and some who actively resistantly participate by tagging wrongly&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: That's a idfferent kind of tagging Ali.&lt;br /&gt;&lt;br /&gt;Ali Andrews: how is it different? It can list the name, discription... it just needs to be done consistantly as we do when we build web pages&lt;br /&gt;&lt;br /&gt;buridan Simon: 'everything is a cube'&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: This is true Ali&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: Consistency is the key.&lt;br /&gt;&lt;br /&gt;Kate Spatula: there is a difference, ali.&lt;br /&gt;&lt;br /&gt;Ali Andrews: so at least for our educational builds we can start a standard&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: it's metadata ,but not strictly descriptive&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: i wonder how many "objects" are around here.&lt;br /&gt;&lt;br /&gt;Kate Spatula: web pages have a structure that supports the use of those descriptions. however, accessing just names and descriptions on here is fairly unstructured&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: lack of consistency....&lt;br /&gt;&lt;br /&gt;buridan Simon points out that there are standards, and it is better to attempt to conform to a standard than to create one anew&lt;br /&gt;&lt;br /&gt;Bryan Mnemonic: does linden tag any objects with metadata at all?&lt;br /&gt;&lt;br /&gt;Pathfinder Linden: not really, not in the sense you're thinking about&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: object name, description, groups, that is all metadata&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: but yeah. not too "descriptive"&lt;br /&gt;&lt;br /&gt;Kate Spatula: here's a related issue... avatakind of like all the image alt tags that say "image"&lt;br /&gt;&lt;br /&gt;Kate Spatula: rs and disability. aside from pathfinder with his lack of a nose and rubaiyat's inability to store fat, none of our avatars really display signs of disability&lt;br /&gt;&lt;br /&gt;Bryan Mnemonic: I wonder if that can be added to the "edit" build window so folks ban begin adding specific tags, or a limited number of them based on a drop down menu&lt;br /&gt;&lt;br /&gt;Kate Spatula: going back to our blind student, would his avatar have a white cane an dsunglasses?&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: kate : it's up to them&lt;br /&gt;&lt;br /&gt;buridan Simon: /it would seem to me that identity is up to them&lt;br /&gt;&lt;br /&gt;Bryan Mnemonic: for instance, we riright click on this couch, and when we click "more"perhaps there could be an additional tab&lt;br /&gt;&lt;br /&gt;Bryan Mnemonic: with metadata options&lt;br /&gt;&lt;br /&gt;buridan Simon: /metadata that can be filled with 'arse' and related words&lt;br /&gt;&lt;br /&gt;Farley Scarborough: Ah, but of course the blind student couldn't see where to click, so wouldn't have a mouse&lt;br /&gt;&lt;br /&gt;Kate Spatula: i'm not saying to enforce avatar appearances, but consider the importance of avatar image to reflecting disabilitiy&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: do you think other avatars would requrie that visual cue ?&lt;br /&gt;&lt;br /&gt;Kate Spatula: there are two sides ot the issue. one is whether other avtars need the cues, but then there's also the importance of digital identity and one's avatar image&lt;br /&gt;&lt;br /&gt;Pathfinder Linden: there was a recent paper about social cues and avatars in SL recently...&lt;br /&gt;&lt;br /&gt;Farley Scarborough: To expand Kate's question... Many people with disabilities you can see in RL can go through SL without anyone knowing. Could someone who cant' see?&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: i think it should be the option of the avatar in question&lt;br /&gt;&lt;br /&gt;Kate Spatula: that's the point... are the avatar options enough to reflect some of these needs&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: both sides really. does the blind student want to advertise that they are blind ?&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: and do other avatars want those cues ?&lt;br /&gt;&lt;br /&gt;Pathfinder Linden: aha, here it is: &lt;a href="http://www.stanford.edu/group/vhil/papers/second_life_nonverbal.pdf"&gt;http://www.stanford.edu/group/vhil/papers/second_life_nonverbal.pdf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kate Spatula: actually, they might want to advertise that they're blind, or in a wheelchair, etc. it's part of their identity and it's an issue of whether that person wants to express that and if they can express that&lt;br /&gt;&lt;br /&gt;otakup0pe Neumann: but it's up to them.&lt;br /&gt;&lt;br /&gt;Kate Spatula: RL example: i once roleplayed with a person who insisted that his elf cleric had a wheelchair built by gnomes&lt;br /&gt;&lt;br /&gt;Farley Scarborough: It's only up to them if they can get about without anyone knowing.&lt;br /&gt;&lt;br /&gt;Kate Spatula: from a disability critical studies viewoint, SL has an extreme bias towards physical perfection and able-bodiness&lt;br /&gt;&lt;br /&gt;buridan Simon: /metadata is always a social and organizational issue first&lt;br /&gt;&lt;br /&gt;Kate Spatula: for me, i think one of the larger open questions is how do people with disabilities view SL... both in terms of its usability and its potential&lt;br /&gt;&lt;br /&gt;Farley Scarborough: There's a slogan among disability rights advocates: "Nothing about us without us."&lt;br /&gt;&lt;br /&gt;Krisjohn Twin: For me, a larger question is how do people who barely know how to turn on a PC cope with SL at all? I've got plenty of able-bodied staff that have no chance coping with this environment.&lt;blockquote&gt;&lt;/blockquote&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-8139665987189207318?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/8139665987189207318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=8139665987189207318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8139665987189207318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8139665987189207318'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/mailing-lists-fora.html' title='Mailing Lists &amp; Fora'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-263482710233644930</id><published>2007-11-23T17:28:00.000Z</published><updated>2007-11-23T17:41:57.766Z</updated><title type='text'>The Acoustic Ecology of the First Person Shooter</title><content type='html'>I posted about Mark Grimshaw's &lt;a href="http://www.wikindx.com/mainsite/phd.html"&gt;Phd thesis&lt;/a&gt; on &lt;a href="http://game-culture.blogspot.com/2007/06/acoustic-ecology-of-first-person.html"&gt;another blog&lt;/a&gt; earlier this year, but as it's relevant to this project too I thought it might be useful to repeat the link, especially as he gave a &lt;a href="http://www.digra.org/dl/display_html?chid=http://www.digra.org/dl/db/07311.06195.pdf"&gt;cut down presentation&lt;/a&gt; at &lt;a href="http://www.digra2007.jp/"&gt;DiGRA '07&lt;/a&gt; in Tokyo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-263482710233644930?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/263482710233644930/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=263482710233644930' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/263482710233644930'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/263482710233644930'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/acoustic-ecology-of-first-person.html' title='The Acoustic Ecology of the First Person Shooter'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3687642699307019009</id><published>2007-11-23T11:38:00.000Z</published><updated>2007-11-23T11:55:55.731Z</updated><title type='text'>Audio RTS</title><content type='html'>It sounds like an unusual prospect, but Jean-Luc Pontico has created a convincing &lt;a href="http://jlpo.free.fr/soundrts/"&gt;Sound RTS&lt;/a&gt;. It's cross platform (Windows, Linux, Mac) and localised (French, English, German, Italian, Spanish) and free!&lt;br /&gt;&lt;br /&gt;I'm particularly impressed with the menu system and the speech samples used. Very clear and easy to use. Real time 3D audio works reasonably well to give the impression of units moving around, and continual reports of building progress are useful and analogous to visually observing the state of a build or progress bar.&lt;br /&gt;&lt;br /&gt;Apparently it has mutliplayer features and allows the players to use their own maps as well. There's an active &lt;a href="http://groups.google.com/group/soundrtschat"&gt;forum&lt;/a&gt; and &lt;a href="http://soundrts.blogspot.com/"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is an impressive game with high quality production values and a complete RTS implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3687642699307019009?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3687642699307019009/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3687642699307019009' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3687642699307019009'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3687642699307019009'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/audio-rts.html' title='Audio RTS'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-5065849933024120320</id><published>2007-11-20T16:35:00.000Z</published><updated>2007-11-22T14:32:32.435Z</updated><title type='text'>Crackdown Audio</title><content type='html'>At the weekend I was speaking to &lt;a href="http://www.mobygames.com/developer/sheet/view/developerId,238254/"&gt;Roland Peddie&lt;/a&gt;, one of my old colleagues from the games industry. He mentioned that his last game, Crackdown, received a BAFTA for its use of audio, for which he was the programmer.&lt;br /&gt;&lt;br /&gt;Team Xbox have an interview with &lt;a href="http://www.mobygames.com/developer/sheet/view/developerId,13330/"&gt;Raymond Usher&lt;/a&gt;, the audio director, about &lt;a href="http://interviews.teamxbox.com/xbox/1885/The-Audio-of-Crackdown/p1/"&gt;The Audio of Crackdown&lt;/a&gt; in which he refers to the code Roland wrote:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"a revolutionary audio shader that uses the surrounding geometry to dynamically color and time delay the direct and indirect audio reflections."&lt;/blockquote&gt;&lt;blockquote&gt;"When we heard the results of our complex Reverb/Reflections/Convolution or “Audio-Shader” system in Crackdown, we knew that we could make our gunfights sound like that, only in real-time! Because we are simulating true reflections on every 3D voice in the game, with the right content we could immerse the player in a way never before heard."&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Real-time "early-reflection" processing might be useful for our current project as a way of situating the user in a complex and dynamic environment.&lt;br /&gt;&lt;br /&gt;Funkhouser, Thomas A.; Tsingos, Nicolas; Carlbom, Ingrid; Elko, Gary; Sondhi, Mohan; West, Jim. &lt;i&gt;Interactive Acoustic Modeling for Virtual Environments&lt;/i&gt; &lt;&lt;a href="http://www.cs.princeton.edu/~funk/acoustics.html"&gt;http://www.cs.princeton.edu/~funk/acoustics.html&lt;/a&gt;&gt; (Last accessed 22nd November 2007)&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/cS0NcLyXXys&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/cS0NcLyXXys&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Crackdown&lt;/i&gt;. Real Time Worlds (Microsoft Game Studios: 20th February 2007). Xbox 360.&lt;br /&gt;&lt;br /&gt;See also &lt;a href="http://www.metacritic.com/games/platforms/xbox360/crackdown?q=crackdown"&gt;Metacritic&lt;/a&gt; and &lt;a href="http://vgchartz.com/games/game.php?id=405"&gt;VGChartz&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-5065849933024120320?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/5065849933024120320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=5065849933024120320' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5065849933024120320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5065849933024120320'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/crackdown-audio.html' title='Crackdown Audio'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-141224394990966595</id><published>2007-11-19T14:57:00.001Z</published><updated>2007-11-19T15:01:07.450Z</updated><title type='text'>Gesture Self-Voicing</title><content type='html'>It's not my intention to continue adding self-voicing capabiliities to this viewer, but I did just throw together some code which announces gestures. This currently only works on your own avatar, but clearly it would be similar to announce (visual only) gestures and animations from other nearby users.&lt;br /&gt;&lt;br /&gt;I've  commited my code changes to the repository. Please let me know if you're able to use them as I haven't tested getting the code and building from scratch, and I'm also only commiting those changes that I &lt;span style="font-style: italic;"&gt;think&lt;/span&gt; are needed, but I could very well be wrong.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-141224394990966595?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/141224394990966595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=141224394990966595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/141224394990966595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/141224394990966595'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/gesture-self-voicing.html' title='Gesture Self-Voicing'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-6843722250297770316</id><published>2007-11-14T11:53:00.000Z</published><updated>2007-11-14T16:30:20.600Z</updated><title type='text'>Self Voicing : Proof of concept</title><content type='html'>Without wanting to jump the gun and accounce this project as a success before it's got started, I just had a nice affirmation that self voicing is useful.&lt;br /&gt;&lt;br /&gt;I wanted to take some screenshots to illustrate accessibility problems for another post to this blog, but I was dealing with some other applications and still had my headphones on with my self-voicing &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; viewer was running in the background with my avatar at the start location on Orientation Island. This is clearly a busy thoroughfare, so it's perhaps not surprising that after a while someone would try to chat to me. What did surprise me was when my viewer spoke the chat text and interrupted me from my other work.&lt;br /&gt;&lt;br /&gt;I'd only tested it with bots and alts previously which is a bit contrived. This occasion was less of a technical affirmation and more of a social one - the viewer alerted me to something that needed my response similar to the way instant message clients use audio to alert the user. In that sense it worked: someone in &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; wrote me a message and wanted me to respond. Although I was AFK for the purposes of that application I was still able to keep my presence 'alive' even without needing to &lt;span style="font-style: italic;"&gt;see&lt;/span&gt; the chat message. The same thing happened a little later with a friendship notification.&lt;br /&gt;&lt;br /&gt;Also interesting to reflect on the adage "&lt;span style="font-style: italic;"&gt;One person's accessibility issue is another's usability issue&lt;/span&gt;." I am ostensibly working on an accessibility project, but it turns out to have positive usability results.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-6843722250297770316?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/6843722250297770316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=6843722250297770316' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6843722250297770316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6843722250297770316'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/self-voicing-proof-of-concept.html' title='Self Voicing : Proof of concept'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3790476965903521678</id><published>2007-11-09T15:54:00.000Z</published><updated>2007-11-20T12:52:06.845Z</updated><title type='text'>Audio Game Walkthrough</title><content type='html'>I find it difficult to play audio games. I imagine this is because I do not have the quality of auditory attention that blind players do, and despite having many many years of experience playing and developing conventional games, this difference in auditory skill clearly affects my ability to design a game for a blind player.&lt;br /&gt;&lt;br /&gt;In order to try to immerse myself in the space of an audio game I've been listening to &lt;a href="http://www.sonokids.com/eraygames/index.php?editpage=yes&amp;link=Home&amp;header=Home"&gt;Ivan Fegundez's&lt;/a&gt; &lt;a href="http://skular.onlinestoragesolution.com/bct950LoneWolfMission2.mp3"&gt;walkthrough&lt;/a&gt; of &lt;a href="http://www.gmagames.com/"&gt;GMA Games&lt;/a&gt;' Lone Wolf Mission 2.&lt;br /&gt;&lt;br /&gt;My initial reactions to this recording and to my own playthrough of Terraformers were similar in that I felt confused and alienated by the audioscape. I wonder though if this is simply a question of interface, context and meaning that presents a similar state when playing or watching someone else play a new game.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="355"&gt;&lt;param name="movie" value="http://www.youtube.com/v/G3Dl_nn2fW0&amp;rel=1"&gt;&lt;/param&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/G3Dl_nn2fW0&amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Aside from the mildly comic interuptions from the speaker's mother and the ringing phone, I found it very interesting to listen to this game as it gave me an opportunity to try to get inside the head of an accomplished audio gamer. One of the most interesting aspects was the way I tried to adapt to the audio-only stimulus: by shutting my eyes I found that I could increase my concentration on the sounds of the game, and despite the extremely fast speech announcements after some time I found that I was filtering for only the relevant information based on pattern recognition. After hearing the spoken announcements from the game I became used to the structure of the sentences, and was able to focus my attention only on those key phrases which contained the variable data. For example "&lt;span style="font-weight:bold;"&gt;Island&lt;/span&gt; 100 off &lt;span style="font-weight:bold;"&gt;port&lt;/span&gt; &lt;span style="font-weight:bold;"&gt;twenty three&lt;/span&gt; hundred yards", and with this data I was able to construct a mental model in real time. Projecting myself into this mental space I felt my relation to the other game entities in terms of direction and distance, such that when the submarine's engine was running I could imagine myself moving forwards through the space, using the announcements to maintain triangulation between myself and the other objects in the water.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3790476965903521678?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3790476965903521678/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3790476965903521678' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3790476965903521678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3790476965903521678'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/audio-game-walkthrough.html' title='Audio Game Walkthrough'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-6740124918828345722</id><published>2007-11-09T13:19:00.001Z</published><updated>2007-11-09T14:15:15.648Z</updated><title type='text'>Accessibility SDKs</title><content type='html'>The Mozilla developers have an extensive &lt;a href="http://www.mozilla.org/access/windows/msaa-server"&gt;extensive article on MSAA&lt;/a&gt;, with lots of general advice for developers.&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="MSAA_decision"&gt;Use MSAA&lt;/span&gt; whenever you have created custom     controls where you're handling the drawing, mouse and keyboard     accessibility in your own code. MSAA is the only way to let all AT's know     what your code is doing.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="MSAA_decision"&gt;Don't use MSAA&lt;/span&gt; if you're not running on a     Windows platform ... hope that one was obvious.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;span class="MSAA_decision"&gt;Don't use MSAA&lt;/span&gt; for exposing documents or other     specialized data, if it's important that the user get access to formatting     information. &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;The RNIB as usual has some good advice on &lt;a href="http://www.rnib.org.uk/xpedio/groups/public/documents/PublicWebsite/public_sackeyb.hcsp"&gt;Effective Keyboard Access&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;strong&gt;"All input functionality needs to be keyboard operable&lt;/strong&gt; but not necessarily all user interface elements. If there are multiple ways to perform a task, only one of them needs to be available from the keyboard, though it is best if all possible forms are keyboard operable."&lt;br /&gt;ISO/FDIS 9241-171:2007, 9.3.2 Enable full use via keyboard, Note 5.&lt;/blockquote&gt;&lt;br /&gt;In particular they highlight the following issues pertinent to &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt;,&lt;br /&gt;&lt;blockquote&gt;We often come across screens that contain a huge number of controls. There are sometimes good reasons for this but less cluttered screens are often more usable.&lt;br /&gt;&lt;br /&gt;Tab order is a critical aspect of accessibility for a keyboard user.&lt;br /&gt;&lt;br /&gt;It should be possible to move the keyboard focus to non-editable interface elements&lt;/blockquote&gt;&lt;br /&gt;This is followed by a section on &lt;a href="http://www.rnib.org.uk/xpedio/groups/public/documents/PublicWebsite/public_sacprogram.hcsp"&gt;The Programmatic Interface&lt;/a&gt; with the following key points&lt;br /&gt;&lt;blockquote&gt;Access technologies need to be able to identify accurately all the different types of controls and their labels&lt;br /&gt;&lt;br /&gt;Visible focus - This is the 'I-beam', highlight or outline that indicates which screen element has the input focus, ie where an action from the keyboard will take place. This is essential information for a keyboard or voice input user who doesn't have the luxury of just moving the mouse and clicking.&lt;br /&gt;&lt;br /&gt;Compatibility with access technologies - This is mainly achieved by using standard accessibility services provided by the operating system and software toolkits.&lt;/blockquote&gt;&lt;br /&gt;In terms of Second Life, there are clients/viewers for 3 different operating systems which would imply using (at least) 3 different accessibility SDKs:  &lt;a href="http://developer.apple.com/documentation/Accessibility/Conceptual/AccessibilityMacOSX/OSXAXModel/chapter_4_section_1.html"&gt;OSX&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.blogger.com/post-create.g?blogID=8824778240795132731"&gt;Windows&lt;/a&gt;&lt;br /&gt;&lt;a href="http://accessibility.kde.org/"&gt;KDE&lt;/a&gt;, &lt;a href="http://developer.gnome.org/projects/gap/"&gt;Gnome&lt;/a&gt; (Unix)&lt;br /&gt;&lt;br /&gt;This current pilot project will only attempt a Windows prototype client. In order to be fully cross platform, something like an abstracted accessibility API would need to be implemented in the application (&lt;a href="http://www.mozilla.org/access/windows/msaa-server#The_Implementations_Behind_IAccessible"&gt;similar&lt;/a&gt; to Mozilla's &lt;a href="http://www.mozilla.org/projects/ui/accessibility/unix/nsIAccessibleLibrary/nsIAccessibleLibrary.html"&gt;technique&lt;/a&gt;), wrapping the OS-specific API.&lt;br /&gt;&lt;br /&gt;This approach would seem to be appropriate for the user navigating around the window-like elements of &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt;, but something more is needed to describe the main content of the screen. Whether this is sonification similar to that used in &lt;span style="font-style: italic;"&gt;Terraformers&lt;/span&gt;, or a &lt;a href="http://markwordt.googlepages.com/robotmotionplanningproject"&gt;Guide-Bot&lt;/a&gt; as imagined by Josh Markwodt, or the desciptive and radar techniques &lt;a href="http://news.bbc.co.uk/1/hi/technology/6993739.stm"&gt;prototyped&lt;/a&gt; by IBM, is as-yet unclear. User testing on a variety of prototypes would need to be conducted to have a better idea which way to procede.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-6740124918828345722?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/6740124918828345722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=6740124918828345722' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6740124918828345722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6740124918828345722'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/accessibility-sdks.html' title='Accessibility SDKs'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3783769044106671750</id><published>2007-11-09T10:58:00.000Z</published><updated>2007-11-09T11:09:20.879Z</updated><title type='text'>Local Services (Brighton, UK)</title><content type='html'>These resources might be useful for contacting visually impaired people in the local area, for interviews and application testing:&lt;br /&gt;&lt;br /&gt;National Association of Local Societies for Visually Impaired People, region 2 (&lt;a href="http://www.nalsvi.cswebsites.org/default.aspx?page=2046"&gt;South East&lt;/a&gt;) has a number of local societies, including The &lt;a href="http://www.bsblind.co.uk/full/index.htm"&gt;Brighton Society for the Blind&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The RNIB has a residential home in Brighton, &lt;a href="http://www.rnib.org.uk/xpedio/groups/public/documents/publicwebsite/public_waverhouse.hcsp"&gt;Wavertree House&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Brighton and Hove City Council &lt;a href="http://www.brighton-hove.gov.uk/index.cfm?request=c1105981"&gt;Sensory Services&lt;/a&gt; team includes Rehabilitation Officers for the Visually Impaired (ROVI).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3783769044106671750?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3783769044106671750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3783769044106671750' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3783769044106671750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3783769044106671750'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/local-services-brighton-uk.html' title='Local Services (Brighton, UK)'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-721639977148564590</id><published>2007-11-08T09:30:00.000Z</published><updated>2008-01-14T15:51:48.048Z</updated><title type='text'>Accessibility Analysis Literature Review</title><content type='html'>I've been considering the work others have already conducted on analysing the inaccessiblility of &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.it-analysis.com/blogs/Abrahams_Accessibility/2007/1/second_life_open_source_accessible_.html"&gt;Abrahams Accessibility&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;The client does not run in a browser, it runs in its own window, it does not use HTML to any great extent and therefore the Web Accessibility standards (WAI) are not sufficient and in some cases not relevant.&lt;/blockquote&gt;&lt;blockquote&gt;Anyone that has a vision impairment and uses a screen reader to access a computer and the web can not access SL, because even the textual information displayed in the client is not accessible by the screen reader.&lt;/blockquote&gt;&lt;blockquote&gt;&lt;ol&gt;&lt;li&gt;Include an accessibility section in the help.&lt;/li&gt;&lt;li&gt;Make the help screens accessible without a mouse.&lt;/li&gt;&lt;li&gt;Make the text in help sizable.&lt;/li&gt;&lt;li&gt;Make any text on the client configurable for size and color, including the menus, the avatar names, messages.&lt;/li&gt;&lt;li&gt;Enable the numbering of objects on the screen so that instead of having to click on an object you can choose the object by number (rather like the 'say what you see feature' in Vista).&lt;/li&gt;&lt;li&gt;A text-to-voice feature for chat, in stereo so that the avatars location can be estimated, and the ability to configure the voice to fit the avatar.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Provide a text list of avatars in the vicinity and voice announcements of entries and exits.&lt;/li&gt;&lt;li&gt;Simulation of an electronic white stick.&lt;/li&gt;&lt;/ol&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.it-analysis.com/blogs/Abrahams_Accessibility/2006/11/second_life_class_action.html"&gt;Second Life Class Action Suit&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;The first, one-time barrier, is that the registration process uses a catpcha that a blind person cannot use; for a solution to this problem see ‘&lt;a href="http://www.it-analysis.com/business/compliance/content.php?cid=8390"&gt;Bloor helps ITA do it better than Google&lt;/a&gt;'.&lt;/blockquote&gt;&lt;blockquote&gt;But the real problem comes with the user interface, which gives a visual representation of the SL terrain, any avatars in your vicinity, any object you can interact with, and any instruction displayed on SL notice displays. None of this information is available via a screen reader and none of it can be pointed at without a mouse. Further, the controls such as chat, search, help can only be activated by a mouse click.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.magnifiers.org/news.php?action=fullnews&amp;amp;id=249"&gt; No Second Life For Visually Impaired&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;If you access the Second Life Client viewer with a screen reader like Hal, Jaws or Window-Eyes, nothing will be spoken aloud, nothing will apear on your braille line.&lt;/blockquote&gt;&lt;blockquote&gt;Presently, not only is SL not compatible with screen readers, the SL website itself is largely inaccessible to people with visual impairments. Feedback from an online questionnaire I designed demonstrates that 8 out of 10 visually impaired users were unable to register for an account on the SL website. This is due to the fact that the site does not conform with W3C accessibility guidelines. Linked images have no alt attributes and form fields do not link correctly.&lt;br /&gt;&lt;br /&gt;After attempting to register for an account one questionnaire participant responded by saying:&lt;br /&gt;&lt;br /&gt;“I found no easy step by step guide that would say what to expect, or even give me any reason to overcome the obstacles for joining”… their reasons for wanting to join SL - “..an online community to join. But only if it represented a cross-section of real life. I’m not interested in anything that so flagrantly excludes disabled people”.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://ets.tlt.psu.edu/gaming/node/212"&gt;Accessibility and Second Life (Revised)&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;A student relying solely on a screen reader will be shut out from Second Life.&lt;br /&gt;&lt;br /&gt;What to do if you have a visually impaired student in a course using Second Life? Think about what learning objectives made you choose Second Life. Is it communication? Maybe alternate chatrooms or Skype could be enabled.&lt;br /&gt;&lt;br /&gt;Is it a visual experience? Then you can treat Second Life as you would other graphics or animation - that is, provide lots of descriptive text.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://kestrell.livejournal.com/343509.html"&gt;Accessibility and democracy in Second Life&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;It would require a tremendous amount of Alt tagging and/or audio describing to make the rich and evolving virtual world of "Second Life" intelligible,&lt;br /&gt;useful and enjoyable to blind and low-vision users.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001735.html"&gt;[SLED] Blind people in SL - Idle speculation&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;This would be easier with a client SDK that could trap text, use text to speech and allow keyboard macros, but given the existing client could we not have a HUD or head mounted scripted object that 'spoke' information. Location, people's names as they came and went, object IDs. Within the current system, these would probably have to be pre-recorded and linked to specific text, say in a notecard. Alternatively, objects in an 'accessible' area could be able to self report, say if someone approached them within a certain distance for a certain time. This area could be made the home location for participants. We could even run a competition to design accessible vending machines that used sound instead/as well as text.&lt;br /&gt;&lt;br /&gt;To aid people with visual impairments - most people who are blind aren't actually 'blind' - it would be great to have control over field of view in the client, which could effectively allow mouse view of a small angle to be the equivalent of a magnified image, much as PC viewing software allows the whole screen to be enlarged. Sadly, this would not easily include text. However, if we had a HUD object repeating any 'heard' text in the mouselook view, then even this might be possible. This would require chat in the mouselook view...&lt;br /&gt;&lt;br /&gt;Ah well, maybe when I have a PhD student to throw at it...&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://lists.secondlife.com/pipermail/educators/2006-August/001777.html"&gt;[SLED] Re: Blind people in SL - Idle speculation&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;However, the Second Life client doesn't currently give screen reader access to chat or IM text. In fact, you can't even read the menus with JAWS. If the client did have that most basic accessibility--chat, IM and menus--blind users would still need some assistance getting around.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://lists.interactiondesigners.com/pipermail/discuss-interactiondesigners.com/2007-October/021268.html"&gt;[IxDA Discuss] Target.com Loses Accessibility Law Suit&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;I was part of a discusssion of accessibility of virtual worlds like Second Life, for people who "browse with their ears". It turned out that the first problem wasn't even in Second Life itself. It was that the login page was designed inaccessibly. People using a screen reader couldn't even get into the worlds to find out if they could use them or not. Nothing special, new or difficult. Just a login screen. But just as much a barrier as any locked door.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://blindconfidential.blogspot.com/2007/09/three-dimensional-web-interfaces.html#7625081911838372691"&gt; Three Dimensional Web Interfaces&lt;/a&gt;&lt;br /&gt;&lt;blockquote&gt;Perhaps we should not focus exclusively on screen readers and haptics to provide access for blind people in 3D virtual reality. If the aim of virtual reality is to become more and more life like, lets think about the actual real life experience of individuals moving about in the real world and how they interact with other people.&lt;br /&gt;&lt;br /&gt;Blind and low vision people generally are mobile outside familiar surroundings with the aid of a cane, a guide dog or a sighted companion. When more assistance is needed, there is usually a store staff person or a passerby to whom one can ask for directions or other information. This latter is not something that just blind people do. It is natural human behaviour.&lt;br /&gt;&lt;br /&gt;Why not have a service avatar to provide a similar service. Imagine a humanoid robot like C3PO, the protocol android in Starwars, who could guide the avatar of a player, give verbal directions, describe scenes and activities, etc. This is rather like a personal tour guide. Add some more services, like language translation for players in other countries, ASL for players who are deaf, information retrieval to answer questions knowlegeably and you broaden the appeal and usefulness of such an avatar. They would serve more than just the sight impaired players.&lt;br /&gt;&lt;br /&gt;I think there is a lot of technology that is already out there that could be brought to bear on this. In Japan, for example, some stores have robots that can greet customers and even take them to a particular department. voice and natural language recognition, text to speech and text to ASL engines, language translation software are already very advanced and improving. The underlying architecture of the virtual space must have some basic navigation functions that might respond to verbal commands in lieu of a joystick or whatever it is that players use to travel about in Second Life.&lt;br /&gt;&lt;br /&gt;A service companion avatar should probably become a standard feature in 3D virtual reality in the same way that online help is a ubiquitous feature in Windows.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-721639977148564590?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/721639977148564590/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=721639977148564590' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/721639977148564590'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/721639977148564590'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/accessibility-analysis.html' title='Accessibility Analysis Literature Review'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-5146906734562719153</id><published>2007-11-06T13:24:00.001Z</published><updated>2007-11-07T14:58:11.408Z</updated><title type='text'>Code Available</title><content type='html'>I've set up a &lt;a href="http://code.google.com/p/blindsecondlife/"&gt;project page&lt;/a&gt; on Google code where you can download the source to my viewer. You should follow the instructions on how to download and build the default viewer first, then once you've successfully got that built locally you can try using my indra directory instead.&lt;br /&gt;&lt;br /&gt;Good luck!&lt;br /&gt;Please post on the project page or here if there are any problems.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-5146906734562719153?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/5146906734562719153/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=5146906734562719153' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5146906734562719153'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5146906734562719153'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/code-available.html' title='Code Available'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3962290585066116207</id><published>2007-11-01T16:00:00.000Z</published><updated>2007-11-30T13:32:57.468Z</updated><title type='text'>Self Voicing</title><content type='html'>I've just added self voicing to the Windows viewer.&lt;br /&gt;Here's an example.&lt;br /&gt;&lt;br /&gt;I launch &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; from Visual Studio, walk up to an object called "Healthy" who chats to me. Everything he and I write in chat is spoken.&lt;br /&gt;I also demo clicking the object, to which it responds with a chat and also issues me with a notification which is also spoken.&lt;br /&gt;&lt;br /&gt;&lt;object width="635" height="527" class="BLOG_video_class" id="BLOG_video-2eea69c69a6c117c" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"&gt;&lt;param name="movie" value="http://www.youtube.com/get_player"&gt;&lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;param name="allowfullscreen" value="true"&gt;&lt;param name="flashvars" value="flvurl=http://v23.nonxt4.googlevideo.com/videoplayback?id%3D2eea69c69a6c117c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330147964%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D39EC017423E49B3887739567E4C6A889672B3B6D.6E1D7725D3E0367FA08C52E07B07BB45A2F4A432%26key%3Dck1&amp;amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D2eea69c69a6c117c%26offsetms%3D5000%26itag%3Dw160%26sigh%3DxKOUhm66Gf_y0bo8s9-YJSJTaHI&amp;amp;autoplay=0&amp;amp;ps=blogger"&gt;&lt;embed src="http://www.youtube.com/get_player" type="application/x-shockwave-flash"width="635" height="527" bgcolor="#FFFFFF"flashvars="flvurl=http://v23.nonxt4.googlevideo.com/videoplayback?id%3D2eea69c69a6c117c%26itag%3D5%26app%3Dblogger%26ip%3D0.0.0.0%26ipbits%3D0%26expire%3D1330147964%26sparams%3Did,itag,ip,ipbits,expire%26signature%3D39EC017423E49B3887739567E4C6A889672B3B6D.6E1D7725D3E0367FA08C52E07B07BB45A2F4A432%26key%3Dck1&amp;iurl=http://video.google.com/ThumbnailServer2?app%3Dblogger%26contentid%3D2eea69c69a6c117c%26offsetms%3D5000%26itag%3Dw160%26sigh%3DxKOUhm66Gf_y0bo8s9-YJSJTaHI&amp;autoplay=0&amp;ps=blogger"allowFullScreen="true" /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;I got my inspiration for this test from the following films,&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 15px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-0549497680208634 visible ontop" href="http://www.youtube.com/v/b7tb1wWqGZ8&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/b7tb1wWqGZ8&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/b7tb1wWqGZ8&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a style="left: 0px ! important; top: 0px ! important;" title="Block this object with Adblock Plus" class="abp-objtab-0549497680208634 visible ontop" href="http://www.youtube.com/v/a209xEeJjL0&amp;amp;rel=1"&gt;&lt;/a&gt;&lt;object height="355" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/a209xEeJjL0&amp;amp;rel=1"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/a209xEeJjL0&amp;amp;rel=1" type="application/x-shockwave-flash" wmode="transparent" height="355" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;You can purchase this product from &lt;a href="http://www.slexchange.com/modules.php?name=Marketplace&amp;file=item&amp;ItemID=196663"&gt;SL Exchange&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3962290585066116207?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='enclosure' type='video/mp4' href='http://www.blogger.com/video-play.mp4?contentId=2eea69c69a6c117c&amp;type=video%2Fmp4' length='0'/><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3962290585066116207/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3962290585066116207' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3962290585066116207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3962290585066116207'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/11/self-voicing.html' title='Self Voicing'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-322558210992555472</id><published>2007-10-26T16:16:00.000+01:00</published><updated>2007-11-14T15:07:02.474Z</updated><title type='text'>RNIB: Web Access Centre</title><content type='html'>At the end of July, Henny Swan, a web accessibility consultant for the &lt;a href="http://www.rnib.org.uk/xpedio/groups/public/documents/code/public_rnib008789.hcsp"&gt;Web Access Centre&lt;/a&gt;, asked for the community's &lt;a href="http://www.rnib.org.uk/wacblog/case-studies/second-life-what-are-your-thoughts/"&gt;evaluation of &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt;&lt;/a&gt; in terms of accessibility.&lt;br /&gt;&lt;br /&gt;This is encouraging because it means that others are considering &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; in the same way as us, but particularly interesting were the comments from one user who observed that &lt;a href="http://www.rnib.org.uk/wacblog/case-studies/second-life-what-are-your-thoughts/#comment-30273"&gt;blind people can't even create an account&lt;/a&gt;, let alone use the client!&lt;br /&gt;&lt;br /&gt;Also &lt;a href="http://www.rnib.org.uk/wacblog/news/judy-brewer-visits-second-life/"&gt;Reported on this site&lt;/a&gt; is that Judy Brewer, Director of the &lt;a href="http://www.w3.org/WAI/"&gt;Web Accessibility Initiative&lt;/a&gt; (WAI), World Wide Web Consortium (W3C), gave a presentation at a &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; conference sponsored by the U.S. Department of State Bureau of International Information Programs (IIP) and the University of Southern California Annenberg School for Communication. She is reported as &lt;a href="http://www.slnn.com/article/accessibility-in-a-3d-world/"&gt;saying the following&lt;/a&gt;,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;"&lt;span style="font-size:85%;"&gt;If a person has a visual disability, they need an alternative to the visual environment on Second Life. Maybe a space could be magnified to make it easier to see. A speech reader could speak the text typed into the chat."&lt;/span&gt;&lt;/blockquote&gt;&lt;blockquote&gt;"&lt;span style="font-size:85%;"&gt;There need to be easy and reliable ways to be able to add text descriptions to all content created in SL."&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Additionally I read the &lt;a href="http://news.bbc.co.uk/1/hi/technology/6993739.stm"&gt;BBC's article&lt;/a&gt; on the IBM's "Accessibility In Virtual Worlds" project by &lt;a href="http://www-913.ibm.com/employment/us/extremeblue/"&gt;Extreme Blue&lt;/a&gt; and the &lt;a href="http://www-03.ibm.com/able/index.html"&gt;Human Ability and Accessibility Centre&lt;/a&gt;, which uses &lt;a href="http://www.activeworlds.com/"&gt;Active Worlds&lt;/a&gt; rather than &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; as it can be run within a web browser (although when I tried it simply launched an external browser).&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span style="font-size:85%;"&gt;"When the user comes into the world, the items are described as well as their positions," explained Colm O'Brien, one of the team of four researchers who worked on the project. &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span style="font-size:85%;"&gt;"There is also sound attached - for example, if there's a tree nearby you will hear a rustling of leaves," said Mr O'Brien. &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span style="font-size:85%;"&gt;The work also developed tools which uses text to speech software that reads out any chat from fellow avatars in the virtual world that appears in a text box. &lt;/span&gt;&lt;/p&gt;&lt;p&gt; &lt;span style="font-size:85%;"&gt;Characters in the virtual world can have a "sonar" attached to them so that the user gets audible cues to alert them to when they are approaching, from which direction and how near they are.&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;span style="font-family:verdana, arial, helvetica;font-size:85%;color:#000000;"&gt;&lt;span style="font-family:verdana, arial, helvetica;font-size:85%;color:#000000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The BBC provide an &lt;a href="http://www.bbc.co.uk/mediaselector/check/player/nol/newsid_6990000/newsid_6999200?redirect=6999255.stm&amp;amp;news=1&amp;amp;nbram=1&amp;amp;bbwm=1&amp;amp;bbram=1&amp;amp;nbwm=1&amp;amp;asb=1"&gt;audio example of &lt;/a&gt;&lt;a href="http://www.bbc.co.uk/mediaselector/check/player/nol/newsid_6990000/newsid_6999200?redirect=6999255.stm&amp;amp;news=1&amp;amp;nbram=1&amp;amp;bbwm=1&amp;amp;bbram=1&amp;amp;nbwm=1&amp;amp;asb=1"&gt; the interface&lt;/a&gt;, and there's a section on Radio 4's In Touch programme with &lt;a href="http://www.bbc.co.uk/radio4/factual/intouch_20071106.shtml#transcript"&gt;interviews from interns Esmond Walsh and Antony Clinton&lt;/a&gt;, though unfortunately I can't source any more information about this fascinating sounding project.&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-322558210992555472?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/322558210992555472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=322558210992555472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/322558210992555472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/322558210992555472'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/rnib-web-access-centre.html' title='RNIB: Web Access Centre'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-3789238521789571839</id><published>2007-10-26T15:17:00.001+01:00</published><updated>2007-10-26T17:36:53.907+01:00</updated><title type='text'>Text to Speech Code</title><content type='html'>Today I've mostly been investigating text-to-speech and accesability in Windows applications.&lt;br /&gt;&lt;br /&gt;Microsoft offer an API called &lt;a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msaa/msaastart_9w2t.asp"&gt;Active Accessibility&lt;/a&gt; which defines a standard way for clients (for example &lt;a href="http://en.wikipedia.org/wiki/Screenreaders"&gt;screen readers&lt;/a&gt; such as &lt;a href="http://www.freedomscientific.com/fs_products/JAWS_HQ.asp"&gt;JAWS&lt;/a&gt;) to communicate with regular applications (called servers) which might not provide their own accessibility features.&lt;br /&gt;&lt;br /&gt;This is one possible way to address the accessability of &lt;span style="font-style: italic;"&gt;SecondLife&lt;/span&gt;, by taking the existing viewer code and making it conform to the Active Accessibility API. The alternative, which I was toying with earlier today, is to modify the SLeek viewer* to add self-voicing using SAPI 5.1 through SpeechLib in .Net 2.0&lt;br /&gt;&lt;br /&gt;* It seems inappropriate to call it a viewer when there's nothing much to view, and especially as we're intending to create a piece of software that allows the user to hear the game.&lt;br /&gt;&lt;br /&gt;Apparently in order to use SpeechLib in .Net 2.0 the SAPI DLL might need to be converted with &lt;a href="http://msdn2.microsoft.com/en-us/library/tt0cf3sx%28VS.80%29.aspx"&gt;TlbImp&lt;/a&gt; thus,&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;C:\Program Files\Microsoft Visual Studio .NET 2003\SDK\v1.1\Bin\TlbImp.exe "C:\Program Files\Common Files\Microsoft Shared\Speech\sapi.dll" /out:Interop.SpeechLib.dll&lt;/pre&gt;&lt;br /&gt;This is some example C# code demonstrating voicing:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="color: rgb(0, 0, 255);font-size:85%;" &gt;using&lt;/span&gt;&lt;span style="font-size:85%;"&gt; SpeechLib;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span style="font-family:Verdana,Arial,Helvetica,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;SpVoice objSpeech = &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);font-size:85%;" &gt;new&lt;/span&gt;&lt;span style="font-size:85%;"&gt; SpVoice();&lt;br /&gt;objSpeech.Speak(textBox1.Text,SpeechVoiceSpeakFlags.SVSFlagsAsync);&lt;br /&gt;objSpeech.WaitUntilDone(Timeout.Infinite); &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Downloads&lt;/span&gt;:&lt;br /&gt;&lt;br /&gt;SpeechSDK51.exe from &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=5e86ec97-40a7-453f-b0ee-6583171b4530&amp;amp;displaylang=en"&gt;SAPI 5.1&lt;/a&gt;&lt;br /&gt;.Net Framework &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=d2f74873-c796-4e60-91c8-f0ef809b09ee&amp;amp;displaylang=en"&gt;V3.5 Beta 2&lt;/a&gt; and &lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=10cc340b-f857-4a14-83f5-25634c3bf043&amp;amp;displaylang=en"&gt;Redistributable&lt;/a&gt;&lt;br /&gt;JAWS 8 &lt;a href="ftp://ftp.freedomscientific.com/users/hj/private/WebFiles/JAWS/J8.0.2173U_Demo.exe"&gt;demo&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-3789238521789571839?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/3789238521789571839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=3789238521789571839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3789238521789571839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/3789238521789571839'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/text-to-speech-code.html' title='Text to Speech Code'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-7851572980987703894</id><published>2007-10-25T11:38:00.000+01:00</published><updated>2008-01-22T10:55:00.558Z</updated><title type='text'>Viewer Call Stack Notes</title><content type='html'>Given that I have no &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; budget for land or audio uploads to the main grid, and my &lt;span style="font-style: italic;"&gt;OpenSim&lt;/span&gt; grid doesn't support scripting I've spent the day looking into the structure of Linden's viewer ("newview").&lt;br /&gt;&lt;br /&gt;Here are my notes from the callstack.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;span style="font-weight: bold;"&gt;Startup&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;crt0.cpp&lt;/span&gt;&lt;br /&gt;WinMainCRTStartup()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lldxhardware.cpp&lt;/span&gt;&lt;br /&gt;LLDXHardware::getInfo()&lt;br /&gt;CoInitialize(NULL);&lt;br /&gt;CoUninitialize();&lt;br /&gt;&lt;br /&gt;gViewerWindow = new LLViewerWindow(...);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::LLViewerWindow()&lt;br /&gt;mWindow = LLWindowManager::createWindow(...);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;          pipeline.cpp&lt;/span&gt;&lt;br /&gt;LLPipeline::init()&lt;br /&gt;LLPipeline::getPool(LLDrawPool::POOL_ALPHA);    // + others such as Glow, etc&lt;br /&gt;LLDrawPool::createPool()&lt;br /&gt;LLPipeline::addPool()&lt;br /&gt; mPools.insert(new_poolp);&lt;br /&gt;&lt;br /&gt;mRootView = new LLRootView(...);&lt;br /&gt;&lt;br /&gt;LLViewerWindow::initBase()&lt;br /&gt;gFloaterView = new LLFloaterView(...);&lt;br /&gt;&lt;br /&gt;gConsole = new LLConsole(...);&lt;br /&gt;mRootView-&gt;addChild(gConsole);&lt;br /&gt;&lt;br /&gt;mRootView-&gt;addChild(gFloaterView, -1);&lt;br /&gt;&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerdisplay.cpp&lt;/span&gt;&lt;br /&gt;display()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  llstartup.cpp&lt;/span&gt;&lt;br /&gt;idle_startup()&lt;br /&gt;&lt;span style="font-family:mon;"&gt;&lt;span style="font-style: italic;"&gt;   &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;messaging.cpp&lt;/span&gt;&lt;br /&gt;start_messaging_system()&lt;br /&gt;LLMessageSystem::setHandlerFuncFast(...)    // eg, _PREHASH_StartPingCheck with process_start_ping_check()&lt;br /&gt;&lt;span style="font-family:mon;"&gt;&lt;span style="font-style: italic;"&gt;     &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;llmessagetemplate.h&lt;/span&gt;&lt;br /&gt;setHandlerFunc()&lt;br /&gt;&lt;br /&gt;gWorldp = new LLWorld()&lt;br /&gt;&lt;span style="font-family:mon;"&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;llworld.cpp&lt;/span&gt;&lt;br /&gt;LLWorld::addRegion()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     llviewerregion.cpp&lt;/span&gt;&lt;br /&gt;LLViewerRegion::LLViewerRegion()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llsurface.cpp&lt;/span&gt;&lt;br /&gt;LLSurface::create()&lt;br /&gt;LLSurface::initTextures()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; pipeline.cpp&lt;br /&gt;&lt;/span&gt;        LLPipeline::addObject()&lt;br /&gt; LLDrawable::createDrawable(this);    // eg, LLVOWater&lt;br /&gt;  LLPipeline::getPool()&lt;br /&gt;   LLPipeline::addPool()&lt;br /&gt;    mPools.insert(new_poolp);    // eg, DrawPoolWater,Terrain,SkyStars,Ground&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;register_viewer_callbacks()&lt;br /&gt;msg-&gt;setHandlerFuncFast(_PREHASH_ChatFromSimulator, process_chat_from_simulator);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerobject.cpp&lt;/span&gt;&lt;br /&gt;LLViewerObjectList::update()&lt;br /&gt;LLViewerObject.idleUpdate();&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Menu Bar&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llkeyboardwin32.cpp&lt;br /&gt;&lt;/span&gt; LLKeyboardWin32::handleKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llkeyboard.cpp&lt;/span&gt;&lt;br /&gt;LLKeyboard::handleTranslatedKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleTranslatedKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerkeyboard.cpp&lt;/span&gt;&lt;br /&gt;LLViewerKeyboard::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;      llmenugl.cpp&lt;/span&gt;&lt;br /&gt;LLMenuBarGL::handleAcceleratorKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llmenugl.cpp&lt;/span&gt;&lt;br /&gt;LLMenuGL::handleAcceleratorKey()&lt;br /&gt;LLMenuItemBranchDownGL::handleAcceleratorKey()&lt;br /&gt; LLMenuGL::handleAcceleratorKey()&lt;br /&gt;  LLMenuItemCallGL::handleAcceleratorKey()&lt;br /&gt;   LLMenuItemGL::handleAcceleratorKey()&lt;br /&gt;    LLMenuItemCallGL::doIt()&lt;br /&gt;     LLPointer&lt;llevent&gt; fired_event = new LLEvent(this);&lt;br /&gt;     fireEvent(fired_event, "on_click");&lt;br /&gt;      &lt;span style="font-style: italic;"&gt;llevent.cpp&lt;/span&gt;&lt;br /&gt;      LLObservable::fireEvent()&lt;br /&gt;       mDispatcher-&gt;fireEvent()&lt;br /&gt;        LLEventDispatcher::fireEvent()&lt;br /&gt;         impl-&gt;fireEvent()&lt;br /&gt;          LLSimpleDispatcher::fireEvent()&lt;br /&gt;           &lt;span style="font-style: italic;"&gt;llviewermenu.cpp&lt;/span&gt;&lt;br /&gt;           LLWorldAlwaysRun::handleEvent() // Sends SetAlwaysRun message&lt;br /&gt;     LLMenuItemGL::doIt();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Login&lt;/span&gt;&lt;br /&gt;todo&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/llevent&gt;Launch external website from Login panel&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;crt0.cpp&lt;/span&gt;&lt;br /&gt;WinMainCRTStartup()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llmortician.cpp&lt;/span&gt;&lt;br /&gt;LLMortician::updateClass()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llalertdialog.cpp&lt;/span&gt;&lt;br /&gt;LLAlertDialog::~LLAlertDialog()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;llpanellogin.cpp&lt;/span&gt;&lt;br /&gt;LLPanelLogin::newAccountAlertCallback() // Passes CREATE_ACCOUNT_URL from &lt;span style="font-style: italic;"&gt;llsecondlifeurls.cpp&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llweb.h&lt;/span&gt;&lt;br /&gt;LLWeb::loadURL()&lt;br /&gt; &lt;span style="font-style: italic;"&gt;llweb.cpp&lt;br /&gt; &lt;/span&gt;LLWeb::loadURL()&lt;br /&gt;  LLWeb::loadURLExternal()&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;   spawn_web_browser()&lt;br /&gt;    ShellExecute() // Win32 API&lt;br /&gt;&lt;llevent&gt;&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;Messaging&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;idle_network()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;message.cpp&lt;/span&gt;&lt;br /&gt;LLMessageSystem::checkAllMessages()&lt;br /&gt;LLMessageSystem::checkMessages()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lltemplatemessagereader.cpp&lt;/span&gt;&lt;br /&gt;LLTemplateMessageReader::readMessage()&lt;br /&gt;LLTemplateMessageReader::decodeData()&lt;br /&gt; &lt;span style="font-style: italic;"&gt;llmessagetemplate.h&lt;/span&gt;&lt;br /&gt; LLMessageTemplate::callHandlerFunc()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;     llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;     process_object_update()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;           llviewerobjectlist.cpp&lt;/span&gt;&lt;br /&gt;         LLViewerObjectList::processObjectUpdate()&lt;br /&gt;             LLViewerObjectList::createObject()&lt;br /&gt;                 LLViewerObject::createObject(...);&lt;br /&gt;                 LLViewerObjectList::updateActive()&lt;br /&gt;                     mActiveObjects.insert(...);    // LLVOAvatar, LLVOClouds, etc.&lt;br /&gt;&lt;br /&gt;                     LLViewerObjectList::processUpdateCore()&lt;br /&gt;                         &lt;span style="font-style: italic;"&gt;pipeline.cpp&lt;/span&gt;&lt;br /&gt;                         LLPipeline::addObject()&lt;br /&gt;                 LLDrawable-&gt;createDrawable(this); // LLVOAvatar,Tree&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;                   llvoavatar.cpp&lt;/span&gt;&lt;br /&gt;                 LLVOAvatar::createDrawable()&lt;br /&gt;                                &lt;span style="font-style: italic;"&gt;pipeline.cpp&lt;/span&gt;&lt;br /&gt;                                LLPipeline::getPool()&lt;br /&gt;                                     LLPipeline::addPool();   // LLDrawPoolAvatar,Tree&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Render&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;   llviewerdisplay.cpp&lt;/span&gt;&lt;br /&gt;display()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    pipeline.cpp&lt;/span&gt;&lt;br /&gt;LLPipeline::updateGeom()&lt;br /&gt;LLPipeline::updateDrawableGeom()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;      lldrawable.cpp&lt;/span&gt;&lt;br /&gt;LLDrawable::updateGeometry()&lt;br /&gt;mVObjp-&gt;updateGeometry(this); // where mVObjp is LLVOWater, LLVOSurfacePatch&lt;br /&gt;&lt;br /&gt;LLPipeline::renderGeom()&lt;br /&gt;LLDrawPool-&gt;prerender();    // LLDrawPoolSky, LLDrawPoolStars, LLDrawPoolGround, LLDrawPoolTerrain, LLDrawPoolSimple, LLDrawPoolBump, LLDrawPoolAvatar, LLDrawPoolTree, LlDrawPoolGlow, LLDrawPoolWater, LLDrawPoolAlphaPostWater&lt;br /&gt;LLDrawPool-&gt;render(i);    // Same types as above&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Notification&lt;/span&gt;&lt;br /&gt;(e.g., click on an object, it gives you a card)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;message.cpp&lt;/span&gt;&lt;br /&gt;LLMessageSystem::checkMessages()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lltemplatemessagereader.cpp&lt;/span&gt;&lt;br /&gt;LLTemplateMessageReader::decodeData()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;process_improved_im()&lt;br /&gt;msg-&gt;getU8Fast(  _PREHASH_MessageBlock, _PREHASH_Dialog, d); // IM_TASK_INVENTORY_OFFERED, IM_MESSAGEBOX, IM_GROUP_INVITATION, IM_INVENTORY_ACCEPTED, IM_GROUP_VOTE ... IM_GROUP_NOTICE ( LLGroupNotifyBox::show(), LLFloaterGroupInfo::showNotice() ),&lt;br /&gt;inventory_offer_handler()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;span style="font-family:monospace;"&gt; l&lt;/span&gt;lnotify.cpp&lt;/span&gt;&lt;br /&gt;LLNotifyBox::showXml()&lt;br /&gt;notify = new LLNotifyBox(...);&lt;br /&gt;gNotifyBoxView-&gt;addChildAtEnd(notify);&lt;br /&gt;LLNotifyBox::moveToBack()&lt;br /&gt;LLNotifyBoxView::showOnly()&lt;br /&gt;LLNotifyBox::setVisible()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LLPanel::setVisible() // Actually resolves to LLView&lt;br /&gt;LLView::setVisible()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;gViewerWindow = new LLViewerWindow()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerdisplay.cpp&lt;/span&gt;&lt;br /&gt;display_startup()&lt;br /&gt;gViewerWindow-&gt;setup2DRender()&lt;br /&gt;&lt;br /&gt;viewer.cpp&lt;br /&gt;main_loop()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerdisplay.cpp&lt;/span&gt;&lt;br /&gt;display()&lt;br /&gt;render_ui_and_swap()&lt;br /&gt;render_ui_2d()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::draw()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     llview.cpp&lt;/span&gt;&lt;br /&gt;LLView::draw()&lt;br /&gt;for (child_list_reverse_iter_t child_iter = mChildList.rbegin(); child_iter != mChildList.rend(); ++child_iter)&lt;br /&gt;&lt;span style="font-style: italic;"&gt;       llnotify.cpp&lt;/span&gt;&lt;br /&gt;LLNotifyBox::draw()&lt;br /&gt;&lt;br /&gt;// The following are also rendered in this stack,&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llconsole.cpp&lt;/span&gt;&lt;br /&gt;LLConsol::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LL::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llnotify.cpp&lt;/span&gt;&lt;br /&gt;LLNotifyBox::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llhudview.cpp&lt;/span&gt;&lt;br /&gt;LLHUDView::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfloater.cpp&lt;/span&gt;&lt;br /&gt;LLFloaterView::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfloatermap.cpp&lt;/span&gt;&lt;br /&gt;LLFloaterMap::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lldraghandle.cpp&lt;/span&gt;&lt;br /&gt;LLDragHandleTop::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llnetmap.cpp&lt;/span&gt;&lt;br /&gt;LLNetMap::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lltextbox.cpp&lt;/span&gt;&lt;br /&gt;LLTextBox::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llresizehandle.cpp&lt;/span&gt;&lt;br /&gt;LLResizeHandle::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llbutton.cpp&lt;/span&gt;&lt;br /&gt;LLButton::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLBottomPanel::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpanel.cpp&lt;/span&gt;&lt;br /&gt;LLPanel::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lloverlaybar.cpp&lt;/span&gt;&lt;br /&gt;LLOverlayBar::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llvoiceremotectrl.cpp&lt;/span&gt;&lt;br /&gt;LLVoiceRemoteCtrl::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lliconctrl.cpp&lt;/span&gt;&lt;br /&gt;LLIconCtrl::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llmediaremotectrl.cpp&lt;/span&gt;&lt;br /&gt;LLMediaRemoteCtrl::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llslider.cpp&lt;/span&gt;&lt;br /&gt;LLSlider::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llhoverview.cpp&lt;/span&gt;&lt;br /&gt;LLHoverView::draw() // Tooltips - could use this to speak currently selected interface element&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llstatgraph.cpp&lt;/span&gt;&lt;br /&gt;LLStatGraph::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llmenugl.cpp&lt;/span&gt;&lt;br /&gt;LLMenuHolderGL::draw()&lt;br /&gt;LLMenuBarGL::draw()&lt;br /&gt;LLMenuItemBranchDownGL::draw()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llprogressview.cpp&lt;/span&gt;&lt;br /&gt;LLProgressView::draw() // Loading bar?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Chat&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llstartup.cpp&lt;/span&gt;&lt;br /&gt;register_viewer_callbacks()&lt;br /&gt;msg-&gt;setHandlerFuncFast(_PREHASH_ChatFromSimulator, process_chat_from_simulator);&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;process_chat_from_simulator()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfloaterchat.cpp&lt;/span&gt;&lt;br /&gt;LLFloaterChat::addChat()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llconsole.cpp&lt;/span&gt;&lt;br /&gt;LLConsole::addLine()&lt;br /&gt;&lt;br /&gt;addChatHistory()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpanelactivespeakers.cpp&lt;/span&gt;&lt;br /&gt;LLPanelActiveSpeakers::setSpeaker()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfloateractivespeakers.cpp&lt;/span&gt;&lt;br /&gt;LLSpeakerMgr::setSpeaker()&lt;br /&gt;&lt;br /&gt;SelfVoicing::Speak() // Added by me&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Windows&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;crt0.cpp&lt;/span&gt;&lt;br /&gt;WinMainCRTStartup()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt; viewer.cpp&lt;/span&gt;&lt;br /&gt;&lt;/llevent&gt; WinMain()&lt;br /&gt;&lt;llevent&gt;  gViewerWindow = new LLViewerWindow();&lt;br /&gt;mRootView = new LLRootView();&lt;br /&gt;&lt;br /&gt;gViewerWindow-&gt;initBase();&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::initBase()&lt;br /&gt; gFloaterView = new LLFloaterView();&lt;br /&gt;&lt;/llevent&gt;    mRootView-&gt;addChild(gFloaterView, -1);&lt;br /&gt;&lt;br /&gt;&lt;llevent&gt;    gSnapshotFloaterView = new LLSnapshotFloaterView();&lt;br /&gt; mRootView-&gt;addChild(gSnapshotFloaterView);&lt;br /&gt;&lt;br /&gt; gConsole = new LLConsole();&lt;br /&gt; mRootView-&gt;addChild(gConsole);&lt;br /&gt;&lt;br /&gt; gDebugView = new LLDebugView();&lt;br /&gt; mRootView-&gt;addChild(gDebugView);&lt;br /&gt;&lt;br /&gt; gHUDView = new LLHUDView();&lt;br /&gt; mRootView-&gt;addChild(gHUDView);&lt;br /&gt;&lt;br /&gt;&lt;/llevent&gt;    &lt;llevent&gt;gNotifyBoxView = new LLNotifyBoxView();&lt;br /&gt;&lt;/llevent&gt;    &lt;llevent&gt;mRootView-&gt;addChild(gNotifyBoxView, -2);&lt;br /&gt;&lt;br /&gt;&lt;/llevent&gt;    &lt;llevent&gt;mProgressView = new LLProgressView();&lt;br /&gt; mRootView-&gt;addChild(mProgressView);&lt;br /&gt;&lt;/llevent&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::initWorldUI()&lt;br /&gt;gChatBar = new LLChatBar("chat", chat_bar_rect);&lt;br /&gt;gToolBar = new LLToolBar("toolbar", bar_rect);&lt;br /&gt;gOverlayBar = new LLOverlayBar("overlay", bar_rect);&lt;br /&gt;&lt;br /&gt;gBottomPanel = new LLBottomPanel()&lt;br /&gt;gBottomPanel-&gt;addChild(gChatBar);&lt;br /&gt;gBottomPanel-&gt;addChild(gToolBar);&lt;br /&gt;gBottomPanel-&gt;addChild(gOverlayBar);&lt;br /&gt;&lt;br /&gt;mRootView-&gt;addChild(gBottomPanel);&lt;br /&gt;&lt;br /&gt;gHoverView = new LLHoverView("gHoverView", full_window);&lt;br /&gt;gFloaterMap = new LLFloaterMap("Map");&lt;br /&gt;gFloaterWorldMap = new LLFloaterWorldMap();&lt;br /&gt;gFloaterTools = new LLFloaterTools();&lt;br /&gt;gStatusBar = new LLStatusBar("status", status_rect);&lt;br /&gt;gViewerWindow-&gt;getRootView()-&gt;addChild(gStatusBar);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;crt0.cpp&lt;/span&gt;&lt;br /&gt;WinMainCRTStartup()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    llstartup.cpp&lt;/span&gt;&lt;br /&gt; idle_startup()&lt;br /&gt;  init_stat_view()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;      llstatview.cpp&lt;/span&gt;&lt;br /&gt;   LLStatView::LLStatView()&lt;br /&gt;&lt;br /&gt;   gDebugView-&gt;mStatViewp-&gt;addChildAtEnd();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;llevent&gt;&lt;span style="font-weight: bold;"&gt;MSAA&lt;/span&gt;&lt;br /&gt;&lt;span&gt;&lt;br /&gt;This is where the windows mmessage queue is dealt with (callback).&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;&lt;br /&gt;LLView is responsible for handling input and so is perhaps one place to insert MSAA code.&lt;br /&gt;In particular during the startup procedure documented above, mRootView is created as the top level view.&lt;br /&gt;Note the following members:&lt;br /&gt;&lt;br /&gt;LLView::tab_order_t;&lt;br /&gt;LLView::focusNextRoot();&lt;br /&gt;LLView::focusPrevRoot();&lt;br /&gt;LLView::focusNextItem();&lt;br /&gt;LLView::focusPrevItem();&lt;br /&gt;LLView::focusFirstItem();&lt;br /&gt;LLView::focusLastItem();&lt;br /&gt;&lt;br /&gt;Additionally important is &lt;span style="font-style: italic;"&gt;llfocusmgr.h&lt;/span&gt; with its class LLFocusMgr&lt;br /&gt;&lt;br /&gt;Upon state change (eg, focus moved to a different UI element), issue,&lt;br /&gt;&lt;span id="intelliTXT"&gt;&lt;pre lang="c++"&gt;NotifyWinEvent(EVENT_OBJECT_STATECHANGE, hWnd, (LONG)&amp;amp;lpData-&gt;btnSelf, CHILDID_SELF)&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Focus&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;crt0.cpp&lt;/span&gt;&lt;br /&gt;WinMainCRTStartup()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; viewer.cpp&lt;/span&gt;&lt;br /&gt;WinMain()&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    llstartup.cpp&lt;/span&gt;&lt;br /&gt;idle_startup()&lt;br /&gt;login_show()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpanellogin.cpp&lt;/span&gt;&lt;br /&gt;LLPanelLogin::show()&lt;br /&gt;LLPanelLogin::setFocus()&lt;br /&gt;LLPanelLogin::giveFocus()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lllineeditor.cpp&lt;/span&gt;&lt;br /&gt;LLLineEditor::setFocus()&lt;br /&gt; &lt;span style="font-style: italic;"&gt;lluictrl.cpp&lt;/span&gt;&lt;br /&gt; LLUICtrl::setFocus()&lt;br /&gt;  gFocusMgr.setKeyboardFocus()&lt;br /&gt;   &lt;span style="font-style: italic;"&gt;llfocusmgr.cpp&lt;/span&gt;&lt;br /&gt;   LLFocusMgr::setKeyboardFocus()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Click on Username box in login screen:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;case WM_LBUTTONDOWN&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleMouseDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;   LLView::handleMouseDown()&lt;br /&gt;LLView::childrenHandleMouseDown()&lt;br /&gt;LLView::handleMouseDown()&lt;br /&gt;LLView::childrenHandleMouseDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lllineeditor.cpp&lt;/span&gt;&lt;br /&gt;LLLineEditor::handleMouseDown()&lt;br /&gt;LLLineEditor::setFocus()&lt;br /&gt;LLUICtrl::setFocus()&lt;br /&gt; &lt;span style="font-style: italic;"&gt;llfocusmgr.cpp&lt;/span&gt;&lt;br /&gt; LLFocusMgr::setKeyboardFocus()&lt;br /&gt;  &lt;span style="font-style: italic;"&gt;llwebbrowserctrl.cpp&lt;/span&gt;&lt;br /&gt;  LLWebBrowserCtrl::onFocusLost()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-style: italic;"&gt;           llviewerwindow.h&lt;/span&gt;&lt;br /&gt;   LLViewerWindow::focusClient()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;            llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;    LLWindowWin32::focusClient()&lt;br /&gt;     Platform SDK - SetFocus(HWND)&lt;br /&gt;&lt;br /&gt;Tab from Username to Password&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;case WM_KEYDOWN&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llkeyboardwin32.cpp&lt;br /&gt;&lt;/span&gt; LLKeyboardWin32::handleKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llkeyboard.cpp&lt;/span&gt;&lt;br /&gt;LLKeyboard::handleTranslatedKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleTranslatedKeyDown()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerkeyboard.cpp&lt;/span&gt;&lt;br /&gt;LLViewerKeyboard::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpanel.cpp&lt;/span&gt;&lt;br /&gt;LLPanel::handleKey()&lt;br /&gt;LLUICtrl* keyboard_focus = gFocusMgr.getKeyboardFocus();&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfocusmgr.cpp&lt;/span&gt;&lt;br /&gt;LLFocusMgr::childHasKeyboardFocus()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LLView::isFocusRoot()&lt;br /&gt;&lt;br /&gt;LLView::focusNextItem()&lt;br /&gt;LLView::getTabOrderQuery()&lt;br /&gt; query.addPreFilter( LLVisibleFilter::getInstance() );&lt;br /&gt; query.addPreFilter( LLEnabledFilter::getInstance() );&lt;br /&gt; query.addPreFilter( LLTabStopFilter::getInstance() );&lt;br /&gt; query.addPostFilter( LLUICtrl::LLTabStopPostFilter::getInstance() );&lt;br /&gt;&lt;br /&gt;LLView::focusNext()&lt;br /&gt;// For example&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lllineeditor.cpp&lt;/span&gt;&lt;br /&gt;LLLineEditor::setFocus()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lluictrl.cpp&lt;/span&gt;&lt;br /&gt;LLUICtrl::setFocus()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llfocusmgr.cpp&lt;/span&gt;&lt;br /&gt;gFocusMgr.setKeyboardFocus()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpanel.cpp&lt;/span&gt;&lt;br /&gt;LLPanel::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LLView::handleKey()&lt;br /&gt;&lt;br /&gt;In game, focus currently on Inventory window.&lt;br /&gt;Click into main 3D display.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;LLWindowWin32 *window_imp = (LLWindowWin32 *)GetWindowLong(h_wnd, GWL_USERDATA);&lt;br /&gt;case WM_LBUTTONDOWN:&lt;br /&gt;window_imp-&gt;mCallbacks-&gt;handleMouseDown()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleMouseDown()&lt;br /&gt;gToolMgr-&gt;getCurrentTool()-&gt;handleMouseDown()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  lltoolpie.cpp&lt;/span&gt;&lt;br /&gt;LLToolPie::handleMouseDown()&lt;br /&gt;gViewerWindow-&gt;hitObjectOrLandGlobalAsync()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::hitObjectOrLandGlobalAsync()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  llfocusmgr.cpp&lt;/span&gt;&lt;br /&gt;gFocusMgr.setKeyboardFocus()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lllineeditor.cpp&lt;/span&gt;&lt;br /&gt;LLLineEditor::onFocusLost()&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Gestures&lt;/span&gt;&lt;br /&gt;Typing "/yes" into the chat window to activate a gesture&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;llwindowwin32.cpp&lt;/span&gt;&lt;br /&gt;LLWindowWin32::mainWindowProc()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llwindow.cpp&lt;/span&gt;&lt;br /&gt;LLWindow::handleUnicodeUTF16()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleUnicodeChar()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerkeyboard.cpp&lt;/span&gt;&lt;br /&gt;LLViewerKeyboard::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerwindow.cpp&lt;/span&gt;&lt;br /&gt;LLViewerWindow::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LLView::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llpanel.cpp&lt;br /&gt;&lt;/span&gt;   LLPanel::handleKey()&lt;span style="font-style: italic;"&gt;&lt;br /&gt;llview.cpp&lt;/span&gt;&lt;br /&gt;LLView::handleKey()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llchatbar.cpp&lt;/span&gt;&lt;br /&gt;LLChatBar::handleKeyHere()&lt;br /&gt;LLChatBar::sendChat()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llgesturemgr.cpp&lt;/span&gt;&lt;br /&gt;LLGestureManager::triggerAndReviseString()&lt;br /&gt;LLGestureManager::playGesture()&lt;br /&gt; SelfVoicing::Speak() // Added by me&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;viewer.cpp&lt;/span&gt;&lt;br /&gt;main_loop()&lt;br /&gt;idle()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  llgesturemgr.cpp&lt;/span&gt;&lt;br /&gt;LLGestureManager::update()&lt;br /&gt;LLGestureManager::stepGesture()&lt;br /&gt;LLGestureManager::runStep()&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llagent.cpp&lt;br /&gt;&lt;/span&gt;LLAgent::sendAnimationRequest() // Sends AgentAnimation message&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/llevent&gt;&lt;span style="font-weight: bold;"&gt;Audio&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llaudio/LLAudioSource.html"&gt;LLAudioSource&lt;/a&gt;* &lt;b&gt;findAudioSource&lt;/b&gt;( const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLUUID.html"&gt;LLUUID&lt;/a&gt;&amp;amp; source_id );&lt;br /&gt;void &lt;b&gt;addAudioSource&lt;/b&gt;( &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llaudio/LLAudioSource.html"&gt;LLAudioSource&lt;/a&gt;* asp );&lt;br /&gt;&lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llaudio/LLAudioChannel.html"&gt;LLAudioChannel&lt;/a&gt;* &lt;b&gt;getFreeChannel&lt;/b&gt;( const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llcommon/F32.html"&gt;F32&lt;/a&gt; priority );&lt;br /&gt;&lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llcommon/BOOL.html"&gt;BOOL&lt;/a&gt; &lt;b&gt;hasLocalFile&lt;/b&gt;( const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLUUID.html"&gt;LLUUID&lt;/a&gt;&amp;amp; uuid );&lt;br /&gt;&lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llcommon/BOOL.html"&gt;BOOL&lt;/a&gt; &lt;b&gt;preloadSound&lt;/b&gt;( const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLUUID.html"&gt;LLUUID&lt;/a&gt;&amp;amp; uuid );&lt;br /&gt;void &lt;b&gt;setListener&lt;/b&gt;( &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLVector3.html"&gt;LLVector3&lt;/a&gt; pos, &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLVector3.html"&gt;LLVector3&lt;/a&gt; vel, &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLVector3.html"&gt;LLVector3&lt;/a&gt; up, &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLVector3.html"&gt;LLVector3&lt;/a&gt; at );&lt;br /&gt;void &lt;b&gt;triggerSound&lt;/b&gt;( const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLUUID.html"&gt;LLUUID&lt;/a&gt;&amp;amp; sound_id, const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/newview/LLUUID.html"&gt;LLUUID&lt;/a&gt;&amp;amp; owner_id, const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llcommon/F32.html"&gt;F32&lt;/a&gt; gain, const &lt;a href="file:///D:/Documents%20and%20Settings/GW43.HOLESTREET/My%20Documents/secondlife/blindsecondlife.googlecode.com/svn/local/linden/indra-doxygen/projects/llmath/LLVector3d.html"&gt;LLVector3d&lt;/a&gt;&amp;amp; pos_global = LLVector3d::zero );&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;audioengine.cpp&lt;/span&gt;&lt;br /&gt;LLAudioEngine* gAudiop = NULL;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llstartup.cpp&lt;/span&gt;&lt;br /&gt;BOOL idle_startup()&lt;br /&gt;gAudiop = (LLAudioEngine *) new LLAudioEngine_FMOD();&lt;br /&gt;BOOL init = gAudiop-&gt;init(kAUDIO_NUM_SOURCES, window_handle);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;viewer.cpp&lt;/span&gt;&lt;br /&gt;void init_audio()&lt;br /&gt;gAudiop-&gt;preloadSound(LLUUID(gSavedSettings.getString("UISndAlert"))); // Lots of other preloaded sounds too&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;lscript_library.cpp&lt;/span&gt;&lt;br /&gt;LLScriptLibrary::init()&lt;br /&gt;addFunction(new LLScriptLibraryFunction(10.f, 0.f, dummy_func, "llPlaySound", NULL, "sf", "llPlaySound(string sound, float volume)\nplays attached sound once at volume (0.0 - 1.0)"));&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpreviewsound.cpp&lt;/span&gt;&lt;br /&gt;LLPreviewSound::playSound( void *userdata )&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;send_sound_trigger(const LLUUID&amp;amp; sound_id, F32 gain)&lt;br /&gt;msg-&gt;newMessageFast(_PREHASH_SoundTrigger);&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llpreviewsound.cpp&lt;/span&gt;&lt;br /&gt;LLPreviewSound::auditionSound( void *userdata )&lt;br /&gt;gAudiop-&gt;triggerSound( ... )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llvoavatar.cpp&lt;/span&gt;&lt;br /&gt;LLVOAvatar::updateCharacter(LLAgent &amp;amp;agent)&lt;br /&gt;gAudiop-&gt;triggerSound(step_sound_id, getID(), gain, foot_pos_global);&lt;br /&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;audioengine.cpp&lt;/span&gt;&lt;br /&gt;LLAudioEngine::triggerSound(const LLUUID &amp;amp;audio_uuid, const LLUUID&amp;amp; owner_id, const F32 gain, const LLVector3d &amp;amp;pos_global)&lt;br /&gt;LLAudioSource *asp = new LLAudioSource(source_id, owner_id, gain);&lt;br /&gt;gAudiop-&gt;addAudioSource(asp);&lt;br /&gt;asp-&gt;play(audio_uuid);&lt;br /&gt;&lt;br /&gt;BOOL LLAudioSource::play(const LLUUID &amp;amp;audio_uuid)&lt;br /&gt;LLAudioData *adp = gAudiop-&gt;getAudioData(audio_uuid);&lt;br /&gt;addAudioData(adp);&lt;br /&gt;getChannel()-&gt;play();&lt;br /&gt;&lt;br /&gt;audioengine_fmod.cpp&lt;br /&gt;LLAudioChannelFMOD::play()&lt;br /&gt;getSource()-&gt;setPlayedOnce(TRUE);&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Object Detection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llvolume.h&lt;/span&gt;&lt;br /&gt;const LLPCode LL_PCODE_CUBE    = 1;&lt;br /&gt;const LLPCode LL_PCODE_LEGACY_AVATAR =   0x20 | LL_PCODE_LEGACY; // PLAYER&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerobject.cpp&lt;/span&gt;&lt;br /&gt;LLViewerObject *LLViewerObject::createObject(const LLUUID &amp;amp;id, const LLPCode pcode, LLViewerRegion *regionp)&lt;br /&gt;case LL_PCODE_VOLUME:&lt;br /&gt; res = new LLVOVolume(id, pcode, regionp); break;&lt;br /&gt;case LL_PCODE_LEGACY_AVATAR:&lt;br /&gt; res = new LLVOAvatar(id, pcode, regionp); break;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerobjectlist.cpp&lt;/span&gt;&lt;br /&gt;void LLViewerObjectList::processObjectUpdate( ... )&lt;br /&gt;objectp = createObject(pcode, regionp, fullid, local_id, gMessageSystem-&gt;getSender());&lt;br /&gt;&lt;br /&gt;LLViewerObject *LLViewerObjectList::createObjectViewer(const LLPCode pcode, LLViewerRegion *regionp)&lt;br /&gt;LLViewerObject *objectp = LLViewerObject::createObject(fullid, pcode, regionp);&lt;br /&gt;mUUIDObjectMap[fullid] = objectp;&lt;br /&gt;mObjects.put(objectp);&lt;br /&gt;&lt;br /&gt;llviewerobjectlist.h&lt;br /&gt;LLDynamicArrayPtr&lt;&gt;, 256 &gt; LLViewerObjectList::mObjects;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewerobjectlist.cpp&lt;/span&gt;&lt;br /&gt;LLViewerObjectList::processObjectUpdate( ... )&lt;br /&gt;objectp = createObject(pcode, regionp, fullid, local_id, gMessageSystem-&gt;getSender());&lt;br /&gt;LLViewerObject *LLViewerObjectList::createObject( ... )&lt;br /&gt; LLViewerObject *objectp = LLViewerObject::createObject(fullid, pcode, regionp);&lt;br /&gt;  &lt;span style="font-style: italic;"&gt;llviewerobject.cpp&lt;br /&gt;  LLViewerObject *LLViewerObject::createObject( ... )&lt;br /&gt;&lt;/span&gt;    case LL_PCODE_LEGACY_AVATAR:&lt;br /&gt;    res = new LLVOAvatar(id, pcode, regionp); break;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;process_object_update()&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;llviewerobjectlist.cpp&lt;/span&gt;&lt;br /&gt; LLViewerObjectList::processObjectUpdate( ... )&lt;br /&gt;  LLViewerObjectList::processUpdateCore( ... )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    llvovolume.cpp&lt;/span&gt;&lt;br /&gt;   LLVOVolume::processUpdateMessage()&lt;br /&gt;    if (update_type == OUT_FULL)&lt;br /&gt;     BOOL LLVOVolume::setVolume( ... )&lt;br /&gt;      LLPrimitive::setVolume( ... )&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;pipeline.cpp&lt;/span&gt;&lt;br /&gt;LLPipeline::updateGeom()&lt;br /&gt;LLPipeline::updateDrawableGeom()&lt;br /&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;lldrawable.cpp&lt;/span&gt;&lt;br /&gt; LLDrawable::updateGeometry()&lt;br /&gt;  mVObjp-&gt;updateGeometry(this);&lt;br /&gt;&lt;br /&gt;  &lt;span style="font-style: italic;"&gt;llvovolume.cpp&lt;/span&gt;&lt;br /&gt;  LLVOVolume::updateGeometry(LLDrawable *drawable)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;llviewermessage.cpp&lt;/span&gt;&lt;br /&gt;process_object_update()&lt;br /&gt;&lt;span style="font-style: italic;"&gt; llviewerobjectlist.cpp&lt;/span&gt;&lt;br /&gt;LLViewerObjectList::processObjectUpdate()&lt;br /&gt; LLViewerObjectList::createObject()&lt;br /&gt;  LLViewerObject::createObject(...);&lt;br /&gt;  LLViewerObjectList::updateActive()&lt;br /&gt;   mActiveObjects.insert(...);    // LLVOAvatar, LLVOClouds, etc.&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-7851572980987703894?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/7851572980987703894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=7851572980987703894' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7851572980987703894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7851572980987703894'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/notes-on-lindens-viewer-source.html' title='Viewer Call Stack Notes'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-1569971477186549968</id><published>2007-10-25T10:03:00.000+01:00</published><updated>2007-10-25T10:09:44.706+01:00</updated><title type='text'>SL Groups</title><content type='html'>Some groups I found in &lt;span style="font-style: italic;"&gt;SL&lt;/span&gt; that might be relevant:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Disability Support Workers Int.&lt;/span&gt;&lt;br /&gt;18 visible members.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;For people working in the field of disability, looking for a place to chat, relax and unwind.&lt;br /&gt;&lt;br /&gt;Join us to talk about anything from strategies to songwriters, legislation to landscaping :)&lt;br /&gt;&lt;br /&gt;This group is only a few days old, I'll be trying to get the word out IRL ASAP !! :)&lt;br /&gt;&lt;br /&gt;-Filter Miles&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Disabled SL-Peoples Association&lt;/span&gt;&lt;br /&gt;15 visible members&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;A group for physical disabled people.&lt;br /&gt;&lt;br /&gt;Founded by the Dane Arcadian Meili for handicapped and physical disabled bodys or people.&lt;br /&gt;&lt;br /&gt;You have to be 18+ to join and the invite you will get from the group owner, Arcadian Meili. Send an Instant Message and tell why you wanna join.&lt;br /&gt;&lt;br /&gt;People without disabilities can become members but need a VERY good reason.&lt;br /&gt;&lt;br /&gt;Purpose of the group is:&lt;br /&gt;1: as a community for disabled&lt;br /&gt;2: communication between disabled and care givers or other people in the healthcare area&lt;br /&gt;+ more.&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-1569971477186549968?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/1569971477186549968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=1569971477186549968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1569971477186549968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1569971477186549968'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/sl-groups.html' title='SL Groups'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-5618663461575562933</id><published>2007-10-22T13:28:00.000+01:00</published><updated>2007-10-22T13:54:08.238+01:00</updated><title type='text'>Server Built</title><content type='html'>Here's my &lt;a href="http://opensimulator.org/"&gt;OpenSim&lt;/a&gt; running,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp2.blogger.com/_vBhWjQao584/RxyXfzqpuMI/AAAAAAAAAAw/4XcF7OIJf5c/s1600-h/OpenSim.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp2.blogger.com/_vBhWjQao584/RxyXfzqpuMI/AAAAAAAAAAw/4XcF7OIJf5c/s200/OpenSim.JPG" alt="" id="BLOGGER_PHOTO_ID_5124137048741624002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I'm now going to try to populate it with accessible contents. This could be an easy way to prototype a framework, set of standards, or test environment in which we could let blind people interact with one another.&lt;br /&gt;Unfortunately at present script support in OpenSim is extremely limited, so audio playback is not possible.&lt;br /&gt;&lt;br /&gt;The only current way to create such a test environment will be by renting use of Linden's commercial servers.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-5618663461575562933?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/5618663461575562933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=5618663461575562933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5618663461575562933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/5618663461575562933'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/server-built.html' title='Server Built'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp2.blogger.com/_vBhWjQao584/RxyXfzqpuMI/AAAAAAAAAAw/4XcF7OIJf5c/s72-c/OpenSim.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-7394556935343417261</id><published>2007-10-22T09:47:00.000+01:00</published><updated>2007-10-22T09:56:51.851+01:00</updated><title type='text'>Sleek</title><content type='html'>&lt;a href="http://delta.slinked.net/second-life/sleek/"&gt;Sleek&lt;/a&gt;, a lightweight client might be a useful starting point for developing an audio only viewer. It builds very quickly and looks like a small, straightforward C# codebase with no world rendering included.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-7394556935343417261?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/7394556935343417261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=7394556935343417261' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7394556935343417261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/7394556935343417261'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/sleek.html' title='Sleek'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-8179767243299715331</id><published>2007-10-22T09:18:00.000+01:00</published><updated>2007-10-22T09:28:19.093+01:00</updated><title type='text'>Haptic Wearables</title><content type='html'>Engadget reports from the E for All Expo about a &lt;a href="http://www.engadget.com/2007/10/20/medical-force-feedback-vest-tweaked-for-gaming/"&gt;force feedback vest&lt;/a&gt;, initially designed to provide a tactile effect when your game avatar is shot in &lt;span style="font-style: italic;"&gt;Call of Duty&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;This got me thinking about wearables and haptic feedback generally as it could provide a useful interface for this current project - and as they say your accessability issue is my usability issue, hence the tactile feedback is a powerful feature for gaming generally.&lt;br /&gt;&lt;br /&gt;It also stuck a chord because I was discussing military flight simulators with a guy who's recently been accepted into the RAF. He told me about the kind of physical feedback those machines are equipped with - the pilot is strapped in as they might be in a normal jet, but the straps are used to simulate the sensation of increased gravitation when flying the aircraft in tight corners etc. They pull the pilot into the seat with a force comparable to that which would be experienced in an actual aircraft.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-8179767243299715331?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/8179767243299715331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=8179767243299715331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8179767243299715331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/8179767243299715331'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/haptic-wearables.html' title='Haptic Wearables'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-1974149792666432872</id><published>2007-10-19T14:34:00.000+01:00</published><updated>2007-11-01T17:02:21.240Z</updated><title type='text'>National Science Foundation</title><content type='html'>So the NSF have a &lt;a href="http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0738921"&gt;similar project&lt;/a&gt; for &lt;a href="http://www.eelke.com/"&gt;Eelke Folmer&lt;/a&gt; (from &lt;a href="http://www.helpyouplay.com/welcome.html"&gt;HelpYouPlay.com&lt;/a&gt;) who's scope is much greater than our own. With 12 months and a budget of  $90,448 they're clearly ones to watch, though I have a couple of thoughts about their statement:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;In this exploratory project, he will develop a prototype client for Second Life that offers a basic level of accessibility, and which will allow him to assess the feasibility of and technical requirements for a client that is fully accessible to blind players. The prototype client will initially allow blind players to navigate the environment using voice commands alone; it will then be enhanced and extended, as time and resources allow, so as to enable these players to interact in meaningful ways with other players.&lt;/blockquote&gt;&lt;br /&gt;That's interesting. Most audio games use keyboard navigation. I don't understand why voice commands are preferred, and why they're developed during the initial stages of the prototype when it would seem to me that the first thing you need is feedback from the world (i.e., spatial audio cues) before you start to move around in it.&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Achieving these objectives is not straightforward, because the client and server of Second Life have only recently been made open source and no one has yet attempted to create an accessible client for the environment.&lt;/blockquote&gt;&lt;br /&gt;I didn't think the server was open sourced yet, &lt;a href="http://www.3pointd.com/20070328/platforms-and-technologies-panel-at-vw07/"&gt;though it is apparently planned&lt;/a&gt; for some as-yet unspecified point in the future. I have heard that &lt;a href="http://www.3pointd.com/20070130/rogue-second-life-server-goes-open-source/"&gt;some people&lt;/a&gt; have reversed engineered the network traffic (or merely extracted it from the client source) and have &lt;a href="http://opensimulator.org/wiki/Main_Page"&gt;extrapolated their own server &lt;/a&gt;based on how it appears to work. The &lt;a href="http://secondlifegrid.net/programs/open_source/faq#licensing"&gt;official line&lt;/a&gt; from Linden is,&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;b&gt;What source code won't you be releasing?&lt;/b&gt;&lt;br /&gt;We don't (yet) plan to release the code that runs our simulators or other server code ("the Grid"). We're keeping an open mind about the possibility of opening more of the Second Life Grid; the level of success we have with open sourcing our viewer will direct the speed and extent of further moves in this arena.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;There's an &lt;a href="http://www.unr.edu/nevadanews/detail.aspx?id=2336"&gt;interview&lt;/a&gt; with Eelke, for further reading too.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-1974149792666432872?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/1974149792666432872/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=1974149792666432872' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1974149792666432872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1974149792666432872'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/national-science-foundation.html' title='National Science Foundation'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-4031097265460315553</id><published>2007-10-19T13:00:00.000+01:00</published><updated>2007-11-06T16:01:38.445Z</updated><title type='text'>Second Life Client Built</title><content type='html'>Following &lt;a href="https://wiki.secondlife.com/wiki/Get_source_and_compile"&gt;instructions on the Wiki&lt;/a&gt;, I've just built my first Second Life client.&lt;br /&gt;Here I am debugging it in Visual Studio,&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://bp0.blogger.com/_vBhWjQao584/Rxiu3TqpuLI/AAAAAAAAAAg/6Nta-eUVgSw/s1600-h/DebuggingSecondLifeClient.JPG"&gt;&lt;img style="cursor: pointer;" src="http://bp0.blogger.com/_vBhWjQao584/Rxiu3TqpuLI/AAAAAAAAAAg/6Nta-eUVgSw/s200/DebuggingSecondLifeClient.JPG" alt="" id="BLOGGER_PHOTO_ID_5123036841329146034" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I had a few problems building it, but after following the instructions &lt;i&gt;properly&lt;/i&gt; it worked out.&lt;br /&gt;&lt;br /&gt;There is a small bug in the newview project though:&lt;br /&gt;&lt;br /&gt;Properties-&gt;Configuration Properties-&gt;Custom Build Step-&gt;General-&gt;Command Line&lt;br /&gt;&lt;br /&gt;It should read&lt;br /&gt;&lt;code&gt;&lt;br /&gt;copy "$(TargetDir)\$(TargetFileName)" "$(ProjectDir)"&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Instead of&lt;br /&gt;&lt;code&gt;&lt;br /&gt;copy $(TargetDir)\$(TargetFileName) $(ProjectDir)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;That makes sure that the executable gets copied when you have spaces in your path.&lt;br /&gt;&lt;br /&gt;I also had a problem building the source,&lt;br /&gt;&lt;code&gt;&lt;br /&gt;llcompilequeue.obj : error LNK2019: unresolved external symbol "int __cdecl lscript_compile(char const *,char const *,char const *,int)" (?lscript_compile@@YAHPBD00H@Z) referenced in function "protected: void __thiscall LLFloaterCompileQueue::compile(char const *,class LLUUID const &amp;amp;)" (?compile@LLFloaterCompileQueue@@IAEXPBDABVLLUUID@@@Z)&lt;br /&gt;&lt;br /&gt;llpreviewscript.obj : error LNK2001: unresolved external symbol "int __cdecl lscript_compile(char const *,char const *,char const *,int)" (?lscript_compile@@YAHPBD00H@Z)&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;This is &lt;a href="https://wiki.secondlife.com/wiki/Common_compilation_problems#Unresolved_external_symbol_.22int___cdecl_lscript_compile.22_.28VS2005.29%20"&gt;mentioned in the Wiki&lt;/a&gt;, but only for .NET 2006, whereas I was using the (recommended) 2003. Upon further investigation it turned out to be a problem in the compilation of the lscript_compile or lscript_compile_fb projects. Flex was crashing for some reason. I realised that I had earlier cancelled an update of cygwin which was probably the reason for the current failure, so I just started my update again and once that was complete the projects compiled fine without Flex barfing.&lt;br /&gt;&lt;br /&gt;Anyway, I finally built and ran the executable.&lt;br /&gt;&lt;br /&gt;The significance of this is that I could (potentially) now develop a non-visual client, using only audio feedback. That's got to be the ultimate goal of an accessible client but is unfortunately beyond the scope of this current project. All I'll be able to do within this remit is evaluate the feasibility of that development and make suggestions for the future.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-4031097265460315553?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/4031097265460315553/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=4031097265460315553' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/4031097265460315553'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/4031097265460315553'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/second-life-client-built.html' title='Second Life Client Built'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://bp0.blogger.com/_vBhWjQao584/Rxiu3TqpuLI/AAAAAAAAAAg/6Nta-eUVgSw/s72-c/DebuggingSecondLifeClient.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-1265541080608473086</id><published>2007-10-19T03:11:00.001+01:00</published><updated>2008-04-08T16:02:47.652+01:00</updated><title type='text'>Gameplay conventions</title><content type='html'>I've been thinking about game audio recently, and was having a conversation with a friend about Valve's Deathmatch FPS release, &lt;span style="font-style: italic;"&gt;TF2&lt;/span&gt;. I watched a video of some &lt;a href="http://www.youtube.com/watch?v=ynrF2es08ds"&gt;gameplay footage&lt;/a&gt; to get an idea what the game was like and was surprised that I recognised some of the audio effects from another of Valve's seminal titles, &lt;span style="font-style: italic;"&gt;Half Life&lt;/span&gt; (which were also used in &lt;span style="font-style: italic;"&gt;HL2&lt;/span&gt;).&lt;br /&gt;&lt;br /&gt;&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/ynrF2es08ds"&gt;&lt;param name="wmode" value="transparent"&gt;&lt;embed src="http://www.youtube.com/v/ynrF2es08ds" type="application/x-shockwave-flash" wmode="transparent" height="350" width="425"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Specifically I recognised the 'heal' sound that the stations make when they recover your health, shields or ammo, and the weapon select confirmation noise (possibly also one of the pistols and shotgun?). While it's natural to use the same audio in a sequel (&lt;span style="font-style: italic;"&gt;HL&lt;/span&gt; to &lt;span style="font-style: italic;"&gt;HL2&lt;/span&gt;), I was surprised that they used the same effects in a title from a totally independent game world (&lt;span style="font-style: italic;"&gt;TF2&lt;/span&gt;). It works extremely well, though. I instantly understood the significance of the audio cues and hence what was happening in gameplay terms.&lt;br /&gt;&lt;br /&gt;This in turn made me think about gameplay mores, about the tropes and aesthetics that have become de facto standards, and how they help familiarise us to new games. But what then of audio games? I wonder if they suffer from underdevelopment such that no standards have emerged yet.&lt;br /&gt;&lt;br /&gt;This reminds me a little bit of gaming during the 1980s. This period was characterised by the diversity of games that didn't seem to fit into genres yet. By the 90s I feel that the commercial market had evolved and certain conventions had emerged, for example using the WASD keys for navigating first person games.&lt;br /&gt;&lt;br /&gt;This is a particularly interesting point for me as my MA dissertation dealt with embodiment in games, and developed on the extension thesis of Marshall McLuhan and the phenomenology of Maurice Merleau-Ponty, amongst others. The basic premise is that our &lt;i&gt;sense&lt;/i&gt; of self is predicated on our sensory experience, which depends on our situated body and it's relation to the rest of the world. In a game environment, mediated by a keyboard, WASD becomes a naturalised and pre-reflective expression of our intentions. The reuse of this form allows us to build up what Merleau-Ponty refers to as the "&lt;span style="font-style: italic;"&gt;habitual body image&lt;/span&gt;".&lt;br /&gt;&lt;br /&gt;The absence of consistent interface semiotics in audio games as with the early 80s games results in the inability to transfer any continuity between any of them.&lt;br /&gt;&lt;br /&gt;On the one hand the 80s was a very creative time which I think a lot of people yearn for in their renewed interest in retro gaming, but on the other hand the lack of a shared language of gameplay acts as some kind of barrier, or increasing the learning curve of each and every game. This in turn was an obstacle the had to be overcome on the way to mass commercial viability for the industry.&lt;br /&gt;&lt;br /&gt;One possibility for this project I'm currently engaged in might be to investigate and define standards for audio interaction rather than to create a client. Another aspect of Second Life that is interesting in this regard is the possibility to own land and create environments which can be controlled to be more accessible. For example, I could imagine an island designed for blind users, where all objects emitted audio cues. This might be an easier way to prototype the requirements of a client.&lt;br /&gt;&lt;br /&gt;This idea came from thinking about &lt;span style="font-style: italic;"&gt;AudioQuake&lt;/span&gt; as a mod for an existing game. &lt;span style="font-style: italic;"&gt;Second Life&lt;/span&gt; is more complicated because the environment is so much more diverse, volatile and not under control as it is in &lt;span style="font-style: italic;"&gt;Quake&lt;/span&gt; or other games.&lt;br /&gt;&lt;br /&gt;Also there's a problem with my current plan for developing a prototype client using just Linden Scripting Language: the only feasible technique for creating spatial audio is to create an invisible object that follows the target object and emits sound, thus indicating the target's location to a blind user. However, this audio will be heard by everyone, and especially the target, which, even though they have the ability to mute the emitter, is very anti-social behaviour! The optimal solution is to develop a dedicated client so 3D audio can be triggered on the local rather than server side, which is approach being followed by the &lt;a href="http://blindsecondlife.blogspot.com/2007/10/national-science-foundation.html"&gt;National Science Foundation&lt;/a&gt;, and to a certain extent also &lt;a href="http://blindsecondlife.blogspot.com/2007/10/second-life-client-built.html"&gt;evaluated&lt;/a&gt; in our project.&lt;br /&gt;&lt;br /&gt;Perhaps the quickest and most effective solution in the time frame is to  simply buy land on which to develop an accessible environment. However, this would require a modest investment of real world money as land in Second Life is sold commercially (at least for now, until the server is open sourced).&lt;br /&gt;&lt;br /&gt;A preferable and free solution would be to simply run our own server, but the current &lt;a href="http://opensimulator.org/"&gt;Open Source&lt;/a&gt; version is quite limited in what scripts it can run.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Half Life &lt;/span&gt;(Windows). Valve, Electronic Arts. (19th November, 1998).&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Half Life 2&lt;/span&gt; (Windows). Valve. (16th November, 2004).&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Team Fortress&lt;/span&gt; (Windows). Caughley, Ian; Cook, John;  Walker, Robin. (Australia: 1996).&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Team Fortress 2&lt;/span&gt; (Windows). Valve, Electronic Arts. (2007)&lt;br /&gt;&lt;br /&gt;McLuhan, Marshall. &lt;span style="font-style: italic;"&gt;Understanding Media: The Extensions of Man&lt;/span&gt;. (New York: McGraw Hill, 1964)&lt;br /&gt;Merleau-Ponty, Maurice. &lt;span style="font-style: italic;"&gt;The Phenomenology of Perception&lt;/span&gt;. trans. by Colin Smith (New York: Humanities Press, 1962). Originally published as &lt;i&gt;Phénoménologie de la perception&lt;/i&gt; (Paris: Gallimard, 1945).&lt;br /&gt;White, Gareth. &lt;a href="http://www.informatics.sussex.ac.uk/users/gw43/publications/White,%20Gareth.%20Embodied%20Evil%20-%20The%20Aesthetics%20of%20Embodiment%20in%20Resident%20Evil%204-%20Wii%20Edition.pdf"&gt;&lt;span style="font-style: italic;"&gt;Embodied Evil - The Aesthetics of Embodiment in Resident Evil 4: Wii Edition&lt;/span&gt;&lt;/a&gt;. (The University of the West of England, 2007)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-1265541080608473086?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/1265541080608473086/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=1265541080608473086' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1265541080608473086'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/1265541080608473086'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/gameplay-conventions.html' title='Gameplay conventions'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8824778240795132731.post-6440968987359310262</id><published>2007-10-19T02:00:00.000+01:00</published><updated>2007-10-24T17:10:10.337+01:00</updated><title type='text'>What is the audible equivalent of the visual presence of a wall?</title><content type='html'>I've begun my research this week by investigating existing games which cater to visually impaired users, and my initial assessment is that this project is going to be problematic.&lt;br /&gt;&lt;br /&gt;Three games I've considered are &lt;a href="http://www.agrip.org.uk/AudioQuake"&gt;&lt;span style="font-style: italic;"&gt;AudioQuake&lt;/span&gt;&lt;/a&gt;, &lt;a style="font-style: italic;" href="http://www.terraformers.nu/"&gt;Terraformers&lt;/a&gt; and &lt;a style="font-style: italic;" href="http://www.ics.forth.gr/hci/ua-games/access-invaders/"&gt;AccessInvaders&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I had most success with &lt;i&gt;AudioQuake&lt;/i&gt; as it allows the greatest degree of customisation, and hence control over the gameplay experience. I found it incredibly immersive to shut my eyes and concentrate on the audio in my headphones, trying to navigate around the space presented. I'd occasionally open my eyes to confirm that I was where I thought I was and most of the time I was right. It gave me some kind of impression of what life would be like without sight, and also suggested something of the aesthetics of audio gaming.&lt;br /&gt;&lt;br /&gt;FPS games are clearly interesting for their physical action based largely around rapid navigation through space, and this is something that lots of us have probably enjoyed in the actual world as children as well as vicariously through film and games as adults. However, I have to wonder what kind of gaming pleasures are available to blind people. It would be great to speak to some blind gamers though to find out what games they like in the actual as well as virtual worlds. I guess they're less about gross but controlled movement and more about localised physical action, thought and imagination, but that's entirely the assumption of a fully-sighted person.&lt;br /&gt;&lt;br /&gt;We might think in terms of Caillois' classic categories, ludus and paidia, and illinx (vertigo), mimesis, alea and agon. All of these basic forms are clearly available to blind gamers, though I wonder how effective audio computer games can be at stimulating illinx? The giddying excitement of fast movement through virtual worlds is a good example of the form this is found in visual computer games, but I wonder what is analogous in audio?&lt;br /&gt;&lt;br /&gt;Perhaps we can learn something here from musicology. Some kinds of jazz or experimental music can perhaps produce a form of illinx (e.g., &lt;span style="font-style: italic;"&gt;Mr Bungle&lt;/span&gt;), and the audio effects in Hollywood action movies can be evocative in themselves. Wouldn't it be reasonable to expect this to heightened if the user were interactively involved in the audioscape?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Access Invaders&lt;/span&gt; is an interesting case study as it has a different levels for blind players. In this mode the aliens group together in a single column and the player has to listen for where they (effectively as a singular entity) are. Again this makes me think that controlling the environment is an easy way to achieve accessibility (think about the bumpy surface in front of street that can be felt by people with sticks, or the changes we make to public buildings for wheelchair access). As a game it's not terribly exciting, though I was capable of adapting to the style of play. It has to be said that in the contemporary gaming age, even the classic Space Invaders isn't terribly exciting either. The only positive thing I can say about this game qua game is that it demonstrates 2D audio as a feedback device.&lt;br /&gt;&lt;br /&gt;So much for the excitement of &lt;span style="font-style: italic;"&gt;AudioQuake&lt;/span&gt;, I got even less enjoyment from the critically acclaimed &lt;span style="font-style: italic;"&gt;Terraformers&lt;span style="font-style: italic;"&gt;&lt;span style="font-style: italic;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;as I found the synthetic audio cues quite unpleasant to listen to. Personally I'd prefer more naturalistic or at least more integrated audio, that is, audio icons that bore more of a resemblance to what they represented rather than the current style of &lt;a href="http://en.wikipedia.org/wiki/Earcon"&gt;earcons&lt;/a&gt;. The obvious problem is what sound should a wall make to indicate it's presence? I found the low pitched throbbing to be quite evocative, and again musicology might be a good place to start for appropriate audio cues.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Access Invaders&lt;/i&gt; (Windows). Centre for Universal Access and Assistive Technologies, Human-Computer Interaction Laboratory, Institute of Computer Science, Foundation for Research and Technology (Hellas, Greece: January 2006)  &lt;&lt;a href="http://www.ics.forth.gr/hci/ua-games/access-invaders/"&gt;http://www.ics.forth.gr/hci/ua-games/access-invaders/&lt;/a&gt;&gt; (Last accessed 19th October 2007).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;AudioQuake&lt;/i&gt; 0.3.0rc1 ``glacier' (Windows). Accessible Gaming Rendering Independence Possible (27th June 2007) &lt;&lt;a href="http://www.agrip.org.uk/AudioQuake"&gt;http://www.agrip.org.uk/AudioQuake&lt;/a&gt;&gt; (Last accessed 19th October 2007).&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Terraformers&lt;/i&gt; (Windows). Pin Interactive (Norway: 2003)  &lt;&lt;a href="http://www.terraformers.nu/"&gt;http://www.terraformers.nu/&lt;/a&gt;&gt; (Last accessed 19th October 2007).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8824778240795132731-6440968987359310262?l=blindsecondlife.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blindsecondlife.blogspot.com/feeds/6440968987359310262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=8824778240795132731&amp;postID=6440968987359310262' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6440968987359310262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8824778240795132731/posts/default/6440968987359310262'/><link rel='alternate' type='text/html' href='http://blindsecondlife.blogspot.com/2007/10/what-is-audible-equivalent-of-visual.html' title='What is the audible equivalent of the visual presence of a wall?'/><author><name>Gareth R. White</name><uri>http://www.blogger.com/profile/16484025446664877676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://garethrwhite.wordpress.com/files/2007/02/gareth-smiling-like-mad.jpg'/></author><thr:total>2</thr:total></entry></feed>
