Multi-IM Client
From Project:Possibility Wiki
Contents |
Overview
Hundreds of thousands of people use instant messenging with various IM clients everyday. Meebo.com is a website where one can login to their instant messenger account (AIM, Yahoo!, Google Talk, MSN, ICQ, and Jabber), instead of using the actual client. For our project, we wanted to make this website accessible to the blind or visually-impaired by using keyboard shortcuts and hotkeys. The technology we used to implement the same was AxsJax along with other software such as Greasemonkey,FireVox etc.
List of Shortcuts
By creating these shortcuts and hotkeys, we hope to limit mouse-use to a minimum and make full use of the keyboard to navigate the page. We have also included verbal confirmation, i.e. when AIM login is selected, it will say "AIM login" or if i is pressed it will either say "sign in as invisible checked" or "sign in as invisible not checked" depending on if the box is already checked or not. With the verbal confirmation, one does not need to depend on eyesight for confirmation.
Login Page
| Shortcut/Hotkey | Action |
| ESC + ? | Help - read out all shortcuts |
| ESC + a | AIM login |
| ESC + y | Yahoo! login |
| ESC + m | MSN login |
| ESC + g | Google Talk login |
| ESC + o | Meebo login |
| ESC + i | check/uncheck sign in as invisible |
| ESC + r | check/uncheck remember me - Meebo info |
| ENTER | login in IM or Meebo |
| TAB | go from login input to password input |
IM page
| Shortcut/Hotkey | Action |
| SHIFT + A | Add Buddy |
| SHIFT + I | IM someone |
| SHIFT + R | Remove Buddy |
| SHIFT + C | Start Group Chat |
| SHIFT + M | Sign on |
| SHIFT + N | Sign off |
| SHIFT + L | List of Buddies online |
| SHIFT + O | List of Buddies offline |
| SHIFT + S | Proofread the conversation |
| SHIFT + P | Say the entire conversation |
| SHIFT + F | Find a Buddy |
| SHIFT + U | Say your current status |
| SHIFT + Z | Sign up for a new Meebo account |
Advantages
Why would we make a website more accessible instead of creating an entirely new application?
With a new application, we don't know how useful it would be to users, because many people already have multiple IM accounts with various IM clients. It also limits who you can chat with, since it takes two people to have a chat. By creating a script and injecting it into the browser, it is much more lightweight and makes it more accessible to a wider range of people, where one person can have it installed but the other person doesn't need it.
Also, implementation of this script onto a user's browser is very simple, requiring only a few add-ons. And of course, this script is free to use and easily accessible.
Challenges Faced
- Dynamically Generated Content: Meebo.com generates its content dynamically using a lot of flash and JavaScript.
- Relatively New Technology: such like CNR, AxsJAX, DOM, etc.
- Loads of new skills to be learnt!
Future Enhancements
- Use of voice instead of keyboard for input
- More intelligent conversations
- Creating conferences
- Navigation through chat rooms
Architecture & Design
Adding this script to your browser
If you would like to use this script:
1. Please install the add ons listed below on Mozilla Firefox (http://www.mozilla.com/en-US/firefox/)
2. Download the axsMultiImClient.js (in Multi IM Code folder) file from the SVN repository (link below) and add it to your local web server or inject it dynamically using some relevant add-on.
3. Install axsSkelLoad.user.js as Greasemonkey script. Add Meebo.com as an included page.
4. Go to Tools > Greasemonkey > Manage User Scripts and edit "axsSkelLoader" and find this line
myScript.src = 'http://127.0.0.1:4001/axsSkel.js';
Check to make sure that the line below is the same url as the Server2Go url was. If it is not, change it to match.
Add ons
1. AxsJAX - axsSkelLoad.user.js
2. Fire Vox - to add speaking: http://www.firevox.clcworld.net/installation.html
3. Greasemonkey - to inject the script into the browser: https://addons.mozilla.org/en-US/firefox/addon/748
4. Server 2 Go (Micro Package) - the server to run the script on : http://www.server2go-web.de/download/download.html
Links
SVN Repository: http://ss12.info/svn/multiim/
Back to the SS12 2008 Projects page: http://projectpossibility.org/wiki/index.php?title=SS12
References
Google's tutorial on writing AxsJAX scripts :
AxsJAX source code repository :
XPath Tutorials:
Javascript Tutorials:
- http://www.w3schools.com/js/default.asp
- http://www.webteacher.com/javascript/ch03.html
- http://www.wdvl.com/Authoring/JavaScript/Tutorial/
Team Members
Mentor: Brian D'Souza: brian.vdsouza at gmail dot com
Mentor: Ojas Mulay: ojasmulay at gmail dot com
- Xue Cai: xuecai dot usc at edu
- Elizabeth Deng: elizabeth at deng dot usc at edu
- Ruta Kore: [1]
- Abhishek Malani: [2]
- Mayank Misra: mmisra dot usc at edu
- Sagar Saha: sagarsah dot usc at edu
- Saumil Shah: saumilps dot usc at edu
(swap ats and dots)
