Multi-IM Client

From Project:Possibility Wiki

Revision as of 19:00, 12 August 2009 by Malani (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

Multiim.jpg

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:


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)

Personal tools