+ All Categories
Home > Documents > WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the...

WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the...

Date post: 19-Aug-2018
Category:
Upload: vocong
View: 213 times
Download: 0 times
Share this document with a friend
90
WEB-BASED INSTANT MESSENGER Charles Atuchukwu A thesis submitted in partial fulfillment of the requirements for the degree of BSc. Computer Science [Honours] University of the Western Cape 2009 Date: November 6, 2009
Transcript
Page 1: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

WEB-BASED INSTANT MESSENGER

Charles Atuchukwu

A thesis submitted in partial fulfillment of the requirements for the degree of

BSc. Computer Science [Honours]

University of the Western Cape

2009

Date: November 6, 2009

Page 2: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

University of the Western Cape

Abstract

WEB-BASED INSTANT MESSENGER

By Charles Atuchukwu

Chairperson of the Supervisory Committee: Professor Bill W. Tucker Department of Computer Science

Instant messaging (IM) application has witnessed a tremendous improvement and

growth in popularity as a means of internet communication since inception

because of its real-time and non real-time nature. Compare to other internet

communication methods such as e-mail where you have to wait for the recipient

to check his or her email and sent reply, IM is instant when the recipient is online.

Traditional IM applications have to be downloaded installed and configured

before it can be used; besides, they are platform dependent. These constitutes

serious problems for users especially those using the application in public

computers such as school libraries, computer labs, and internet cafés, where most

of the time the application is not installed and the user will not have

administrator’s right to install the application if at all he or she knows how to do

that. Web-based instant messenger is the solution to these problems since it does

not require any download, installation or configuration and besides it is platform

independent. This project will try to implement a web-based instant messaging

application.

Page 3: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

i

TABLE OF CONTENTS

TABLE OF CONTENTS ........................................................................................................................ I LIST OF FIGURES ............................................................................................................................. IV LIST OF FIGURES .............................................................................................................................. V ACKNOWLEDGMENTS ..................................................................................................................... VI GLOSSARY ................................................................................................................................... VII

CHAPTER 1 ......................................................................................................................... 1

INTRODUCTION ................................................................................................................... 1 The project ............................................................................................................................................. 1 Motivation .............................................................................................................................................. 2 Project layout ......................................................................................................................................... 2 Conclusion .............................................................................................................................................. 3

CHAPTER 2 ......................................................................................................................... 4

the users requirement document (urd) ............................................................................... 4 Introduction ........................................................................................................................................... 4 User’s view of the problem .................................................................................................................. 5 Brief description of the problem domain ........................................................................................... 6 Complete description of the problem ................................................................................................. 6 What is expected from the system? ................................................................................................... 7 What is not expected from the system?............................................................................................. 7 Summary ................................................................................................................................................. 8

CHAPTER 3 ......................................................................................................................... 9

requirement ANALYSIS document (rAd) .............................................................................. 9 Introduction ........................................................................................................................................... 9 The real problem(s) ............................................................................................................................... 9

Application download, installation and configuration .......................................................... 9 Platform dependent ................................................................................................................ 10 Firewall issue ............................................................................................................................ 10

The systems and software requirements for the system ............................................................... 10 Software requirement ............................................................................................................. 10 Server requirement ................................................................................................................. 10

Existing solution ................................................................................................................................... 11 The components of IM implementation ........................................................................................... 12

CHAPTER 4 ....................................................................................................................... 13

User interface specification ............................................................................................... 13 Introduction ......................................................................................................................................... 13 Complete description of the user interface ..................................................................................... 13 What the interface looks like to the user ......................................................................................... 14

Login Interface.......................................................................................................................... 14 New Account interface ....................................................................................................................... 15

Main Window ........................................................................................................................... 16 Chat Window ............................................................................................................................ 17

How the user interface behaves ........................................................................................................ 17 How the user interacts with the system ........................................................................................... 19 Summary ............................................................................................................................................... 21

Page 4: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

ii

CHAPTER 5 ....................................................................................................................... 22

OBJECT ORIENTED ANALYSIS (OOA) / HIGH LEVEL DESIGN (HLD) ................................... 22 Introduction ......................................................................................................................................... 22 Data dictionary ..................................................................................................................................... 22 Objects | Attributes ............................................................................................................................. 22 Description ........................................................................................................................................... 22 Class diagram ....................................................................................................................................... 24 Relationships between the classes .................................................................................................... 26 Set of class diagrams and data dictionary for the application domain ......................................... 26 Objects | Attributes ............................................................................................................................. 27 Description ........................................................................................................................................... 27 Set of class diagrams and data dictionary for the interface domain. ............................................ 28 Objects | Attributes ............................................................................................................................. 29 Description ........................................................................................................................................... 29 Summary ............................................................................................................................................... 30

CHAPTER 6 ....................................................................................................................... 31

OBJECT ORIENTED DESIGN / LOW LEVEL DESIGN ............................................................ 31 Introduction ......................................................................................................................................... 31 Details of class attributes and methods ............................................................................................ 31 Objects | Attributes ............................................................................................................................. 31 Description ........................................................................................................................................... 31 State diagram ....................................................................................................................................... 33 Event diagram ...................................................................................................................................... 35 Activity diagram ................................................................................................................................... 35 Algorithm .............................................................................................................................................. 37 Summary ............................................................................................................................................... 38

CHAPTER 7 ....................................................................................................................... 39

IMPLEMENTATION ............................................................................................................ 39 Introduction ......................................................................................................................................... 39 Tools and resources used ................................................................................................................... 39

Software tools .......................................................................................................................... 39 Hardware tools ......................................................................................................................... 40

Installation of computing infrastructure........................................................................................... 41 Installation ................................................................................................................................ 41 Configuration/setup ................................................................................................................ 41

Plug-in ............................................................................................................................................. 41 Red5 ................................................................................................................................................ 41

Configuration ............................................................................................................................ 42 Sip phone ........................................................................................................................................ 43

Configuration ............................................................................................................................ 43 Sip settings ................................................................................................................................ 43 Create sip phone mappings .................................................................................................... 43

Asterisk-IM ..................................................................................................................................... 43 Configuration ............................................................................................................................ 44 Create phone server ................................................................................................................ 44

Challenges ....................................................................................................................................... 44 Summary ............................................................................................................................................... 45

CHAPTER 8 ....................................................................................................................... 46

testing document (td) ........................................................................................................ 46 Introduction ......................................................................................................................................... 46

Page 5: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

iii

Testing plan .......................................................................................................................................... 46 Test strategy ................................................................................................................................... 46

Testing objective ...................................................................................................................... 46 Method of testing .................................................................................................................... 46 Tests steps ................................................................................................................................ 47 Tests period .............................................................................................................................. 47 Tests resources ......................................................................................................................... 47 Tests environment ................................................................................................................... 47 Questionnaire ........................................................................................................................... 47 Participants ............................................................................................................................... 48

Test results and discussion ................................................................................................................. 49 Validation testing ........................................................................................................................... 49

Data collection ......................................................................................................................... 49 Data evaluation ........................................................................................................................ 49

Portability testing .......................................................................................................................... 50 Results ............................................................................................................................................. 50

Browsers ................................................................................................................................... 50 Operating systems ................................................................................................................... 51 Architecture .............................................................................................................................. 51

System testing ................................................................................................................................ 51 Performance testing ................................................................................................................ 51 Stress testing ............................................................................................................................ 51 Data collection and evaluation............................................................................................... 51

Summary ............................................................................................................................................... 52

CHAPTER 9 ....................................................................................................................... 53

user’s guide (UG) ............................................................................................................... 53 Introduction ......................................................................................................................................... 53

Getting started ............................................................................................................................... 53 Summary ......................................................................................................................................... 58

CHAPTER 10 ..................................................................................................................... 59

CODE DOCUMENTATION (CD) .......................................................................................... 59 Introduction ......................................................................................................................................... 59

APPENDICE A .............................................................................................................................. 60 User Requirement questionnaire ...................................................................................................... 60

Web-based Instant messaging, audio and video services ........................................................ 60 APPENDICES B ............................................................................................................................. 62

Tests questionnaire ....................................................................................................................... 62 APPENDICE C............................................................................................................................... 66

Project plan 1 ................................................................................................................................. 66 APPENDICE D .............................................................................................................................. 67

Project plan 2 ................................................................................................................................. 67 APPENDICE E ............................................................................................................................... 68

Project plan 3 ................................................................................................................................. 68 APPENDICE F ............................................................................................................................... 69

Brief code documentation ............................................................................................................ 69 APPENDICE G .............................................................................................................................. 71

Installation manual ........................................................................................................................ 71 Openfire 3.6.4 ................................................................................................................................ 71 Sparkweb ........................................................................................................................................ 75

BIBLIOGRAPHY ............................................................................................................................. 77 INDEX ........................................................................................................................................ 79

Page 6: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

iv

LIST OF FIGURES

Number Page FIGURE 1: BAR CHAT REPRESENTATION OF FEATURES USERS USUALLY USE IN IM APPLICATION ......................... 5 FIGURE 2: MYSPACE IM APPLICATION ................................................................................................... 6 FIGURE 3: COMMUNICATION PROCESS ................................................................................................. 12 FIGURE 4: LOGIN INTERFACE FOR LOGGING IN TO THE SYSTEM .................................................................. 15 FIGURE 5: NEW ACCOUNT INTERFACE FOR CREATING NEW ACCOUNT IN THE SYSTEM. ................................... 15 FIGURE 6: MAIN WINDOW FOR PRESENCE INFORMATION AND CONTACT LIST OF THE USER. ........................... 16 FIGURE 7: CHAT WINDOW FOR CHATTING WITH OTHER USERS. ................................................................. 17 FIGURE 8: MAIN WINDOW SHOWING OPTIONS FOR PRESENCE AWARENESS AND ADD CONTACT FORM. ........... 18 FIGURE 9: MAIN WINDOW SHOWING OPTIONS AVAILABLE WHEN A CONTACT IS RIGHT CLICKED ON. ................ 19 FIGURE 10: USE CASE DIAGRAM SHOWING HOW USER INTERACT WITH THE SYSTEM .................................... 20 FIGURE 11: CLASS DIAGRAM SHOWING THE NAME, ATTRIBUTES AND METHODS OF EACH CLASS ..................... 25 FIGURE 12: RELATIONSHIP BETWEEN THE CLASSES ................................................................................. 26 FIGURE 13: CLASS DIAGRAM FOR THE APPLICATION DOMAIN ................................................................... 27 FIGURE 14: CLASS DIAGRAMS FOR THE INTERFACE DOMAIN ..................................................................... 28 FIGURE 15: LOGIN STATE DIAGRAM DESCRIBING THE PROCESS OF LOGGING IN TO THE SYSTEM ....................... 34 FIGURE 16: NEW ACCOUNT STATE DIAGRAM DESCRIBING THE PROCESS OF CREATING ACCOUNT ..................... 34 FIGURE 17: SEQUENCE DIAGRAM SHOWING THE STEPS FOR USER INTERACTION WITH THE SYSTEM ................. 35 FIGURE 18: ACTIVITY DIAGRAM SHOW THE PROCESS OF USER INTERACTION WITH THE SYSTEM .................... 36 FIGURE 19: DESCRIPTION OF THE DATA COLLECTED DURING SYSTEM TESTING .............................................. 52 FIGURE 20: LOGIN WINDOW ............................................................................................................... 54 FIGURE 21: CREATE ACCOUNT WINDOW ............................................................................................... 54 FIGURE 22: CONTACT LIST WINDOW .................................................................................................... 55 FIGURE 23: ADD CONTACT BUTTON ..................................................................................................... 56 FIGURE 24: START CHAT WINDOW ....................................................................................................... 56 FIGURE 25: VOICE AND VIDEO CHAT SELECTION ...................................................................................... 57 FIGURE 26: VOICE CHAT ..................................................................................................................... 57 FIGURE 27: VIDEO CHAT .................................................................................................................... 58 FIGURE 28: INSTALLING OPENFIRE ....................................................................................................... 71 FIGURE 29: LANGUAGE SELECTION....................................................................................................... 71 FIGURE 30: SETUP WIZARD ................................................................................................................. 72 FIGURE 31: LICENSE AGREEMENT ........................................................................................................ 72 FIGURE 32: SELECT DESTINATION DIRECTORY ......................................................................................... 73 FIGURE 33: COMPLETING SETUP WIZARD .............................................................................................. 73 FIGURE 34: WELCOME TO SETUP ......................................................................................................... 74 FIGURE 35: SETUP COMPLETE PAGE ..................................................................................................... 74 FIGURE 36: OPENFIRE ADMIN CONSOLE ................................................................................................ 75

Page 7: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

v

LIST OF FIGURES

TABLE 1: THE DATA DICTIONARY OF THE SYSTEM .................................................................................... 24 TABLE 2: DESCRIPTION OF CLASS FOR THE APPLICATION DOMAIN .............................................................. 28 TABLE 3: DESCRIPTION OF TABLE FOR THE INTERFACE DOMAIN ................................................................. 29 TABLE 4: THE DETAILED DESCRIPTION OF THE ATTRIBUTES AND METHODS................................................... 33 TABLE 5: DESCRIPTION OF THE PARTICIPANT DETAILS .............................................................................. 48 TABLE 6: ANALYSIS OF VALIDATION OF THE SYSTEM ................................................................................ 50

Page 8: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

vi

ACKNOWLEDGMENTS

I wish to extend my gratitude to the following people for their unfailing support

throughout writing this paper:

Firstly, I wish to thank my Almighty God for giving me the grace and strength to

complete this project.

My gratitude also extends to my supervisor Dr. B. W. Tucker and co-supervisor

Mr M. Norman for their advice and input.

The staff of the department of Computer Science, especially the secretary Ms

Abbort for assisting in the printing and scanning of my documents I’d also like to

thank. In addition I also wish to extend my gratitude to Mr Long, Mr Poroye

Seyi Adeola, and Kgahlego Moemedi for their help and advice and, also my

fellow students, especially Mr Kobo Isaac, Mr Ryno Hoon and Ms Docas Zulu

for their encouragement, support, advice and motivation.

I would also like to thank Fiona Ferris for proofreading my document

Lastly, I appreciate my family for their spiritual, moral and financial support

throughout my studies.

Page 9: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

vii

GLOSSARY

IM (Instant messaging) an online real-time communication between two or more

people based on typed text messages, over the internet or Local Area Network

(LAN)

Web-based IM, (Web-based Instant Messaging) an IM that is integrated or

embedded in a web browser; it requires no application, or update download or

installation.

LAN, (Local Area Network) a computer network covering a small physical area; like a home, office, or small group of buildings, such as a school, or an airport.

Firewall, a part of a computer system or network that is designed to block unauthorized access while permitting authorized communications. It is a device or set of devices configured to permit, deny, encrypt, decrypt, or proxy all (in and out) computer traffic between different security domains based upon a set of rules and other criteria.

Text chat, real-time communicate based on type messages.

Contact list, a list of contacts (screen names, pictures) with whom a direct communication can be opened instantly when clicked on.

Presence awareness, a visual display indicator showing the status or availability of an instant messaging user

Voice chat, real –time communication based on voice (audio).

Voice chat, real –time communication based on video.

Chat history log, archive of text conversation with other people stored/saved on the system.

Flex, an open source version of flash from Adobe Macromedia used in developing and deploying cross-platform rich internet applications.

ActionScript, a scripting language based on ECMAScript used mainly for development of websites and software using Adobe Flash Player platform.

Page 10: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

viii

XMPP, (Extensible Messaging and Presence Protocol) an open source Extensible Markup Language XML-based protocol for server-to-server near-real-time extensible instant messaging and presences.

XMPP Server, a software application that provides basic presence, messaging and routing features.

XMPP Client, a software application that enables connection to an XMPP Server for instant messaging with other people.

Openfire, an open source Real Time Collaboration (RTC) severs, that uses XMPP for instant messaging.

SparkWeb, an open source web-based instant messaging client using XMPP optimized for business and organization.

Red5, an open source flash Real Time Messaging Protocol (RTMP) server, written in java that supports streaming audio/video (FLV and MP3)

MySQ, an open source relational database management system (RDBMS) based on Structured Query Language (SQL) – one of the most popular languages for adding, accessing, and processing data in a database; and runs as a server providing multi-user access to a number of databases..

Face book, a social network site originally for college students, now catering for all age group. It is privately owned and operated by Face book; Inc.

Gmail, a free search-based webmail service that combines the best features of traditional e-mail with Google search technology.

Meebo, an Ajax-based web-based instant messaging program that supports multiple IM services, including MSN, Yahoo messenger, etc..

IMLove, a web-based instant messenger service that support multiple IM programs such as Yahoo messenger, MSN messenger, AIM, GTalk, etc.

Page 11: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

1

C h a p t e r 1

INTRODUCTION

Instant messaging (IM) is an online real-time communication between two or

more people based on typed text messages, over the internet or Local Area

Network (LAN) [1]. Web-based Instant Messaging is an IM that is integrated or

embedded in a web browser; it requires no application, or update download or

installation.

Web-based IM has witness a tremendous growth in popularity since inception

because of the advantages over a traditional IM application. Web-based IM

requires no application download, updates, installation or configuration. You only

require a computer that is connected to the internet with a web browser to

communicate with your colleagues, friends, and relations. Secondly, web-based

IM is platform independent, which means that it can be used in any operating

system provided that there is a web browser and internet connection or LAN.

Lastly, with web-based IM there is no firewall problem. Since the application is

embedded in a web browser it uses http port so there is no need for any

configuration to bypass firewall.

The project

The main idea of this project is to develop and implement a web-based instant

messaging system. If time permits, voice chat and video chat will be added to the

system to increase its functionality. The system will have support for text chat,

contact list, presence awareness, voice chat, and video chat.

Page 12: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

2

Motivation

Traditional instant messaging applications presents a lot of problems and

challenges to users especially those using then in public computers such as school

libraries, computer labs, and internet cafés; due to the fact that the application

have to be downloaded, installed and configured before it can be used and also

the fact that it is platform dependent. These problems restrict user’s access to

cheap and convenient means of communicating with their colleagues, friends,

and relations. Then an idea dropped off in my mind to develop and implement a

web-based IM system that will completely eliminate these problems users are

experiencing so that they will have unrestricted access to cheap and convenient

means of communicating with their colleagues, friend, and relations.

Project layout

Chapter 1 of this project introduces traditional instant messaging IM applications

and their drawbacks, and web-based IM as a solution to the problems of

traditional IM applications. Chapter 2 takes a look at the User’s Requirement

Document (URD); the problems from the user’s point of view, and features that

are expected and those not expected from the system. Chapter 3 deals on the

Requirement Analysis Document; problems from the designer’s point of view

and the system and software needed to implement the user requirements. While

chapter 4 concentrates on the user Interface Specification (UIS); the complete

description of the user interface, what it looks like, what exactly is going to do,

and how the user interacts with the system. Chapter 5 described the Object

Oriented Analysis (OOA) known as the high level design which is the object

oriented view of the system, and description of each object and their attributes.

Chapter 6 focuses on Object Oriented Design (OOD) known as low level design

which is the inner details of the class attributes and methods, and state, activity,

and event diagrams. Chapter 7 deals on the implementation; a brief description of

the installation of the computing infrastructure, setup and configuration

Page 13: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

3

information, and a list of tools (hardware and software) used for the

implementation.

Conclusion

The traditional instant messaging applications made a positive and tremendous

impact in internet communication but they pose a lot of challenges to users

which limits user’s access to cheap and convenient means of communication.

Web-based instant messaging provides an answer to most of the problems and

challenges of traditional IM applications. The next chapter looks at user’s

requirement document.

Page 14: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

4

C h a p t e r 2

THE USERS REQUIREMENT DOCUMENT (URD)

Introduction

This chapter presents the Users Requirement Document (URD) which describes

the problem from the user’s point of view, a brief description of the problem

domain, and complete description of the problem. Also what is expected from

the system and what is not expected from the system will be highlighted.

This document is a reflection of survey carried out to gather information from

users on the problems and challenges they are encountering from the current

implementation of instant messaging applications, what they think about the

system, how they see it and what they want from it. Questionnaire was used for

the survey because of the following reasons; it is cheap to implement, do not

require much effort like verbal and telephone survey, and often have standardized

answers that make it easy to analyze.

The questionnaire consists of series of 10 questions- whether the user use IM

applications, if yes why they use it, which application they use, why they prefer

that particular application, the features they like most in that application,

problem(s) they have encountered with that application if any, etc, (see appendix

A, for a sample copy of the questionnaire); about ten (10) copies of the

questionnaire were distributed to users and all the uses responded to the

questions. See Fig 1 for a bar chart presentation of the survey.

Page 15: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

5

Figure 1: Bar chat representation of features users usually use in IM application

User’s view of the problem

Based on the survey carried out, it was obvious that users require a system that

will enable them to conveniently and effectively communicate with colleagues,

friends and relations, in real-time or non real-time, based on typed text message

or voice conversation. Allow them to maintain contact list- to eliminate the need

for them to known and remember the user names or screen names of people they

want to communicate with, and support for presence awareness- to allow them to

set their online status or view the online status of people. Lastly, they want to be

able to archive text conversation with other people (chart history log).

Page 16: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

6

Brief description of the problem domain

Users want unrestricted access to a system, or platform that will allow them to

conveniently and effectively communicate in real-time or non real-time with

colleagues, friends and relations, by text message or voice. Using all the available

tools and features of the system such as contact list, presence awareness, chat

history log, web camera.

Complete description of the problem

For users to be able to communicate conveniently and effectively, the system

must be able to support the following features: figure 1 show a snap shot of the

features in action.

Figure 2: MySpace IM application

Text chat: ability to communicate easily and conveniently in real-time with family

and friend based on type messages [4].

Page 17: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

7

Contact list: a list of contacts (screen names, pictures) with whom a direct

communication can be opened instantly when clicked on [4].

Presence awareness: a visual display indicator showing the status or availability of

an instant messaging user [4].

Voice chat: support for voice (audio) communication [4].

Chat history log: ability of the system to store or maintain archive of text

conversation with other people [4].

What is expected from the system?

The system is expected to have the following features.

Platform independent: - The system will not be platform dependent. It will work

in any operating system provided that there is a browser and internet connection

or LAN.

Text chat: - The system will support real-time communication between two or

more people over the internet or LAN based of typed messages (text).

Contact list: - The system will support contact list- list of screen names of user’s

colleague, family and friends.

Presence awareness: -The system will support presence awareness feature.

Voice chat: - Voice chat will be implemented if time permits.

Video chat: - Video chat will be implemented if time permits.

What is not expected from the system?

The system will not support the following features.

Page 18: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

8

Chat room: - The system will not have chat rooms feature.

File transfer: - The system will not support file transfer.

Secure / encrypted communication: - The system will not support secure /

encrypted communication.

Summary

There has been a tremendous increase in the use of instant messaging

applications for communication with two or more people. A survey (in form of

questionnaire) was carried out to gather information from users on their

experience with instant messaging applications. Some of the problems and

challenges were described from the user’s point of view. Also the features that are

expected from the system and those not expected were described. The next

chapter will interpret the user’s requirements from the designer’s point of view.

Page 19: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

9

C h a p t e r 3

REQUIREMENT ANALYSIS DOCUMENT (RAD)

Introduction

This chapter takes the users requirement document (URD) as the starting point

and looks at the problem from the from a designer’s point of view. The analysis

focus on the system and software requirements needed to implement the user

requirements. Also the actual details of the problem that the users may not be

aware of will be identified and discussed in this chapter.

The real problem(s)

Before the advent of web-based instant messaging, traditional Instant Messaging

applications did not completely meet user’s expectation because of some issues.

To be able to use non web-based IM application, it has to be downloaded,

installed and most time configured. Secondly, most non web-based instant

messaging applications are platform dependent, which means different

application for different operating system. Thirdly, in most cases especially in

schools, office instant messaging is blocked by firewall so users will not be able to

use the application.

Application download, installation and configuration

These are real hindrance to instant messaging communicating. Some of the

instant messaging applications files are big (over 5MB), and bandwidth

sometimes is expensive and download speed low. In these cases, downloading the

application file and updates will not be cheap and also takes time which a times

can be frustrating. Secondly, Most of the time users use public computer

(schools, cafés, etc) and installation is not allowed in most computers in schools,

Page 20: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

10

cafés, etc. In a situation, the IM application the user is using is not installed on the

computer the user will not be able to use instant messaging.

Platform dependent

Non web-based instant messaging applications are platform dependent. That is, a

single application file for an IM application will not be used in different operating

system. The developer has to develop different application file for different

operating system. This process is expensive and time wasting. And also users

using different operating systems have to download more than one application

file for one instant messaging program.

Firewall issue

Most schools, companies and organizations block instant messaging in the

firewall. So users will not be able to communicate using instant messaging system

in those places.

The systems and software requirements for the system

Software requirement

The following programming language will be used to develop and implement the

system:

Flex: - an open source version of flash from Adobe Macromedia. Flex is used in

developing and deploying cross-platform rich internet applications [8].

ActionScript: - a scripting language based on ECMAScript. It is used mainly for

development of websites and software using Adobe Flash Player platform [9].

Server requirement

The system will be based on Extensible Messaging and Presence Protocol XMPP

(both server and client) platform. XMPP is an open source Extensible Markup

Language XML-based protocol for server-to-server near-real-time extensible

Page 21: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

11

instant messaging and presences [10]. Red5 will be used for audio and video

streaming, and MySQL to implement database.

XMPP Server (Openfire): - An XMPP Server provides basic presence, messaging

and routing features [11]. Openfire is an open source Real Time Collaboration

(RTC) severs, that uses XMPP for instant messaging [12].

XMPP Clint (SparkWeb / Jabbear): - An XMPP Client is a software application

that enables connection to an XMPP Server for instant messaging with other

people [11]. SparkWeb is an open source, web-based instant messaging client

using XMPP that is optimized for business and organization. It has built-in

support for group chat and strong security [12]. Jabbear is an instant messaging

client using XMPP.

Red5: - an open source flash Real Time Messaging Protocol (RTMP) server,

written in java that supports streaming Audio/Video (FLV and MP3). Is an open

source alternative to Adobe Flash Media Server [14].

MySQL: - an open source relational database management system (RDBMS)

based on Structured Query Language (SQL) – one of the most popular languages

for adding, accessing, and processing data in a database; and runs as a server

providing multi-user access to a number of databases.

Existing solution

There are already existing open source implementations of this system. Some of

them include:

Face book: - a social network site originally for college students, now catering for

all age group. It is privately owned and operated by Facebook; Inc. Facebook

developed a web-based instant messaging programming for its member to

communicate instantly with each other.

Page 22: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

12

Gmail: a free search-based webmail service that combines the best features of

traditional e-mail with Google search technology. Gmail incorporates web-based

instant messaging program in its e-mail service.

Meebo: - an Ajax-based web-based instant messaging program that supports

multiple IM services, including MSN, Yahoo messenger, etc.

The components of IM implementation

When the user logs in to the IM interface on the browser, the user login details

and the computers IP address are sent to the XMPP Server through the XMPP

Client. XMPP Server authenticates the user, and sends the contact list of the user,

and the IP address of the computer of the contacts that are online. The user can

then communicate with the user directly see Figure 3.

Figure 3: communication process

Page 23: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

13

C h a p t e r 4

USER INTERFACE SPECIFICATION

Introduction

The previous chapter discussed and analyzed the user’s requirement from the

designers point of view based on the system and software requirements to

implement the requirement. In this chapter the user Interface Specification (UIS)

will be discussed. That is a complete description of the user interface, what it

looks like, what exactly it is going to do, and how the user interacts with the

system.

Complete description of the user interface

The system comprises of “Login Interface” for logging in to the system, “New

Account Interface” for creating new account in the system, “Main Window” for

presence awareness and contact list display, and “Chat Window” for chatting

with other users.

The user logs in to the system using the “Login Interface” by typing the

username in the username TextInput, the server to log in to in the server

ComboBox, and the password in the password TextInput, then click the “Login

Button” to login. Before user can use the system he/she must login first.

To login to the system you are required to have created an account in the system.

The “New Account Interface” is used to create an account in the system by

typing the username in the username TextInput, the server in the server

ComboBox, the password in the password TextInput, and the password

Page 24: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

14

confirmation in the confirm password TextInput, then click the “Create Button”

to create an account or the “Cancel Button” to cancel the process.

When a user logged in to the system the “Main Window” will show. The “Main

Window displays the user’s image if any, and the username. It also displays a

ComboBox for the user’s presence awareness, where user set his/her presence

information (available, away, do-not-disturb, etc), a search TextInput for

searching contacts, and the user’s contact list (i.e. the list of all the contacts the

user added). Also, it shows the contacts tab for contact list display, conferences

tab for conference chat display, a button for searching users in the server, a

button for adding contact, and exit button for logging out and closing the “Main”

and “Chat” windows.

The “Chat Window” is used for chatting. User type the message in the message

TextArea and the message is displayed in the Text filed when the message is sent.

The TabBar displays different chat windows for different contacts the user is

chatting with.

What the interface looks like to the user

Login Interface

This is the first interface the user will see; it is where the user logs in to the

system, see Figure 4. The login interface comprises of “User Name” TextInput

for the user’s user name, “Server” ComboBox for the server user want to login

to, “Password” TextInput for the users password, “Login Button” to login after

typing the user name, server and password, and the “Create Account” button for

creating a new user account.

Page 25: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

15

Figure 4: Login interface for logging in to the system

New Account interface

The new account interface is the interface the user uses to create a new account

in the system, see Figure 5. It comprises of “User Name” TextInput for the user’s

user name, “Server” ComboBox for the server user want to create an account in,

“Password” TextInput for the users password, “Confirm Password” TextInput

for the users password confirmation, “Cancel Button” to cancel the creation of

new account and “Create Button” to create a new account after typing the user

name, server, password and password confirmation.

Figure 5: New account interface for creating new account in the system.

Page 26: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

16

Main Window

The main window is the primary window of the system, see Figure 6. It displays

the user’s image, account name, a ComboBox for the user’s presence awareness, a

search TextInput for searching contacts, and the user’s contact list. It also

displays contacts tab for contact list display, conferences tab for conference chat

display, a button for searching users in the server, a button for adding contact,

and exit button.

Figure 6: Main window for presence information and contact list of the user.

Page 27: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

17

Chat Window

The chat window is the window for chatting see Figure 7. It comprise of

TextArea for typing the message, Text- a non-editable multiline text field the

displays the sent messages, and a TabBar that contains chat windows for different

contacts the user is chatting with.

Figure 7: Chat window for chatting with other users.

How the user interface behaves

When user enters username and password in the login interface and click enter,

the main window opens if the username and password exist in the system, if not,

the interface displays an error message is displayed. The new account interface

opens the login interface with a message that the new account was created

successfully if the information entered by user is accepted, otherwise, it will

display an error message stating that the account was not created.

Page 28: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

18

On the main window, clicking on the presence awareness ComboBox displays

the awareness options (available, away, on phone, do-no-disturb, etc), see Figure

7. Clicking on the add contact button displays the add contact table as shown in

Figure 8. When a contact on the contact list is right clicked on, it displayed

options like start a chat, rename contact, remove contact, view profile, groups,

etc, as shown in Figure 9.

The chat window displays message typed in the message TextArea in the Text

field. When a contact TabBar is clicked on it displays the chat window for that

contact.

Figure 8: Main window showing options for presence awareness and add contact form.

Page 29: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

19

Figure 9: Main window showing options available when a contact is right clicked on.

How the user interacts with the system

The overview of user interaction with the system is illustrated with a use case

diagram as shown in figure 11 below.

The user uses the “New Account” window, Figure 5 to create an account in the

system by typing the username in the username TextInput, the server in the

server ComboBox, the password in the password TextInput, and the password

confirmation in the confirm password TextInput, then click the “Create Button”

to create an account.

The “Login” window, Figure 4 is used by the user to login to the system by

typing the username in the username TextInput, the server to log in to in the

server ComboBox, and the password in the password TextInput, then click the

“Login Button” to login.

Page 30: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

20

Figure 10: Use Case diagram showing how user interact with the system

The user uses the “Main Window” Figure 6, to set the presence awareness status

by selecting the options from the ComboBox, search for contact by typing the

contact’s username in the search TextInput and clicking search or by clicking on

the search contact button, typing the contact username and/or address and

Page 31: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

21

clicking search button. Also add contact to the contact list by clicking the add

contact search button which pops up the add contact form, the user fills the form

and then click submit. By right clicking on a contact the user can initiate search

with the contact by selecting the start a chat option, rename and remove the

contact by selecting the rename or remove option, view the contact profile by

selecting the view profile option. The user exits the “Main” and “Chat” window

by clicking on the exit button.

Summary

This chapter described the complete user interface, what the interface does, and

how the user interacts with the system. The complete screen shot of the

interfaces were presented and described. Also, all the interactive component of

the interfaces such as buttons, ComboBox, etc and the actions they triggers were

discussed.

Page 32: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

22

C h a p t e r 5

OBJECT ORIENTED ANALYSIS (OOA) / HIGH LEVEL DESIGN (HLD)

Introduction

This chapter will describe the object oriented analysis (OOA) known as the high

level design, which is an object oriented view of the system. A detailed

description of each object is presented and documented in the data dictionary.

Class diagram showing the name, attributes, and methods of each class will be

discussed, and the relationships between the classes established.

Data dictionary

The data dictionary as shown in Table 1, illustrates the detailed description and

meaning of all the objects of the system.

Objects | Attributes Description

Interface

- userName

- Server

- Password

Interface is the parent class for both the login and

new account interfaces. It has three attributes;

username, server, and password.

Username created by the user in the system

Name of the server the user opened an account in

Login password chosen by the user

Page 33: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

23

Login interface

New account interface

- Confirm password

Main window

- contactName

- groupName

- Status

Message window

- senderName

Login interface is the interface user users to login to

the system; it is the first interface user see when

accessing the system. It contains the button for new

account interface. Login interface inherits three

attributes; username, server, and password from the

interface class.

New account interface is used by user to create an

account in the system. It has four attributes; three of

them (username, server, and password) it inherited

from the interface class, the last confirm password is

unique to it.

Confirmation of the Login password

Main window is the primary window of the system.

It is the window that displays the profile, status, and

group and contact list of the user. The main window

has three attributes; contactName, groupName, and

status.

Username of the contact the user want to add

Group name the user added the contact to

Presence awareness of the user

Message window is used to send/receive message. It

has three attributes; senderName, receiverName,

and message.

Page 34: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

24

- receiverName

- message

Username of the user that sends the message

Username of the user the message was sent to

The message that was sent or received

Table 1: The data dictionary of the system

Class diagram

Class diagram is used to describe the structure of the system by showing the

system’s objects/classes, their attributes, methods within the classes, and the

relations between the classes. The system has one abstract class interface and four

main class login interface, new account interface, main window, and message

window see Figure 11.

Page 35: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

25

Figure 11: Class diagram showing the name, attributes and methods of each class

Page 36: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

26

Relationships between the classes

Figure 12 illustrates the relationships between the classes of the system.

Figure 12: Relationship between the classes

Set of class diagrams and data dictionary for the application domain

For the application domain, we have the main and chat-window class with their

attributes, see figure 13 and described in table 4.

Page 37: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

27

Figure 13: Class diagram for the application domain

Objects | Attributes Description

Main window

- contactName

- groupName

- Status

Main window is the primary window of the system.

It is the window that displays the profile, status, and

group and contact list of the user. The main window

has three attributes; contactName, groupName, and

status.

Username of the contact the user want to add

Group name the user added the contact to

Presence awareness of the user

Page 38: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

28

Message window

- senderName

- receiverName

- message

Message window is used to send/receive message. It

has three attributes; senderName, receiverName,

and message.

Username of the user that sends the message

Username of the user the message was sent to

The message that was sent or received

Table 2: Description of class for the application domain

Set of class diagrams and data dictionary for the interface domain.

The interface domain comprises of the Login interface and the new account

interface with their attributes see figure 14, and described in table 4.

Figure 14: Class diagrams for the interface domain

Page 39: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

29

Objects | Attributes Description

Login interface

- userName

- Server

- Password

New account interface

- userName

- Server

- Password

- Confirm password

Login interface is the interface user users to login to

the system; it is the first interface user see when

accessing the system. It contains the button for new

account interface. Login interface has three

attributes; username, server, and password.

Username created by the user in the system

Name of the server the user opened an account in

Login password chosen by the user

New account interface is used by user to create an

account in the system. It has four attributes;

username, server, password, and confirm password.

Username created by the user in the system

Name of the server the user opened an account in

Login password chosen by the user

Confirmation of the Login password

Table 3: Description of table for the interface domain

Page 40: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

30

Summary

This chapter discussed an object oriented view of the system, and description of

each object and their attributes. Also class diagram showing the name attributes,

and methods of each class, and the relationships between the classes were

presented and described.

Page 41: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

31

C h a p t e r 6

OBJECT ORIENTED DESIGN / LOW LEVEL DESIGN

Introduction

The previous chapter discussed the object oriented view of the system, and the

class diagram with the name, attributes, and methods of each class, and the

relationships between the classes. This chapter the Object Oriented Design takes

the classes in Object Oriented Analysis a level deeper by providing algorithm

description and pseudo-code for class | object methods.

Details of class attributes and methods

The Table 2 below illustrates the detailed description and meaning of all the class

attributes and methods.

Objects | Attributes Description

Login interface

userName

Server

Password

Login()

Username created by the user in the system

Name of the server the user opened an account in

Login password chosen by the user

Method that logs in user to the system. It gets the

username, server, and password, authenticate the login

Page 42: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

32

New account

interface

userName

Server

Password

Confirm password

createAccount()

Main window

contactName

groupName

Status

Logout()

addCont()

deleteCont()

addGroup()

information, and logs the user in

Username created by the user in the system

Name of the server the user opened an account in

Login password chosen by the user

Confirmation of the login password

This method gets the user details (username, server,

password, and confirm password), verify the details and

create and account in the system for the user.

Username of the contact the user want to add

Group name the user added the contact to

Presence awareness of the user

The logout method closes the user connection and exit

from the main and chat windows.

This method gets the username of the contact the user

want to add and add it to the user contact list.

This method gets the username of the contact the user

wants to delete and remove it from the user contact list.

Page 43: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

33

deleteGroup()

setStatus()

Message window

senderName

receiverName

message

sentMess()

receiveMess()

This method gets the username of the contact and the

group name the user want to add the contact to and add

the contact name to that group.

This method deletes the group name and all the contacts

in it from the main window.

This method displays the user presence awareness status.

Username of the user that sends the message

Username of the user the message was sent to

The message that was sent or received

This method delivers the message from the sender to the

receiver.

This method receives the message from the sender.

Table 4: The detailed description of the attributes and methods

State diagram

Figure 15 shows the state diagrams for the login object/class; it describes the

process the user goes through to login. While figure 16 shows the new account

object/class that describes the process of creating account in the system.

Page 44: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

34

Figure 15: Login state diagram describing the process of logging in to the system

Figure 16: New account state diagram describing the process of creating account

Page 45: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

35

Event diagram

Event diagram outlines the process/steps of using the system. See figure 17.

Figure 17: Sequence diagram showing the steps for user interaction with the system

Activity diagram

Fig 18 shows the activity diagram for the system; it describes the process of user

interaction with the system.

Page 46: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

36

Figure 18: Activity diagram show the process of user interaction with the

system

Page 47: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

37

Algorithm

Class login Interface extends Interface { UserName: enter user name; Server: enter server name; Password: enter password; } Class new account { UserName: enter user name; Server: enter server name; Password: enter password; Confirm password: re-enter password; Register () { Enter username, server, password, and confirm password. Click create to create the account } } Class Main window { ContactName: add username of contact; GroupName: add group name; Status: select presence awareness status; Logout () { Click exit to logout } AddCont () { Select and add contact to the contact list } DeleteCont () { Select and delete contact from the contact list } AddGroup () { Select and add group to main window } Delete Group () { Select and delete group from main window } }

Page 48: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

38

Class Message window { SendMess () { Type and send message. } }

Summary

This chapter discussed the low level design; the inner details of the class attributes

and methods, state diagram, activity diagram, event diagram. The chapter also

features the algorithm for the system.

Page 49: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

39

C h a p t e r 7

IMPLEMENTATION

Introduction

The previous chapter discussed the low level design; inner details of the class

attributes and methods, state, activity and event diagrams, and the system’s

algorithm. This chapter will concentrate on the implementation of the system; a

brief description of installation of the computing infrastructure. The installation,

setup, settings, and configuration information, list of software and hardware tools

used for the implementation of the system, highlight of the challenges

encountered and how it was resolved, and finally, a brief documentation of the

code written or modified during the implementation. The complete

documentation of the source code will be submitted as part of the documentation

at term 4.

Tools and resources used

Software tools

Open source software tools were used in developing this system. Bellow is the list

of the tools used.

Openfire: - an open source Real Time Collaboration (RTC) severs, that uses

XMPP for instant messaging.

SparkWeb: - an open source, web-based instant messaging client using XMPP

that is optimized for business and organization. It has built-in support for group

chat and strong security.

Page 50: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

40

Red5: - an open source flash Real Time Messaging Protocol (RTMP) server,

written in java that supports streaming Audio/Video (FLV and MP3). Is an open

source alternative to Adobe Flash Media Server.

Asterisk: - a software implementation of a telephone Private Branch Exchange

(PBX), it allows attached telephones to make calls to one another, and to connect

to other telephone services including Public Switched Telephone Network

(PSTN) and Voice over Internet Protocol (VoIP) services.

MySQL: - an open source relational database management system (RDBMS)

based on Structured Query Language (SQL) – one of the most popular languages

for adding, accessing, and processing data in a database; and runs as a server

providing multi-user access to a number of databases.

Flex: - an open source version of flash from Adobe Macromedia. Flex is used in

developing and deploying cross-platform rich internet applications.

Action Script: - a scripting language based on ECMAScript. It is used mainly for

development of websites and software using Adobe Flash Player platform.

Hardware tools

The hardware tools used for the system are inexpensive and common tools.

Web camera: - a video capture device connected to a computer or computer

network often using usb port or, if connected to the network Ethernet or WI-Fi.

It is widely used for video telephony, permitting a computer to act as a

videophone or video conferencing station.

Headphone: - a pair of small loudspeakers, with a way of holding them close to a

user’s ear and a means of connecting them to a signal source such as an audio

amplifier, radio or computer. A combination of headphone and a microphone

Page 51: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

41

used for two-way communication, for example with a telephone is known as

headset.

Microphone: - an acoustic-to-electric transducer or sensor that converts sound

into an electrical signal. It is used in many applications such as telephones, tape

recorders, in computers for recording voice, and VoIP.

Installation of computing infrastructure

Installation

Basically the only software that was installed for this system is openfire; an open

source Real Time Collaboration (RTC) severs, that uses XMPP for instant

messaging.

Configuration/setup

After the installation of openfire server, the server was configured as follows.

Server settings Domain – project

Admin console port – 9090 (default port)

Secure admin console port – 9091 (default secure port)

Database settings Database – HSQLDB, the embedded database

Administrator account settings Username – admin

Password - project

Plug-in

Red5

Red5 is an open source streaming server for Flash media (audio and video). To stream video with Red5, you need a webcam and a web browser with support for flash and you must ensure the domain from where your Openfire server is running has been given permission to access you webcam.

I downloaded the red5 plug-in file; stop openfire server and extract the red5.jar file into the openfire installation folder plug-in folder, then start openfire.

Page 52: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

42

Configuration

Enable http_bind on openfire and note the port – audio and video stream passes through http_bind.

To enable http_bind; in sparkweb folder, edit index.html and change the jive_sparkweb_getConfig settings to match your configuration.

<script type="text/javascript"> function jive_sparkweb_getConfig(){ return { server: "project", // project is the server name connectionType: "http", // traffic is through http bindPath: "/http-bind/, // video & audio through http port: "7070", // connection through port 7070 autoLogin: "false", }; }

Recompiling for windows

Go to WEB-INT/class directory

Run the cmd compile batch files as needed

Run do_makejar.cmd to create Red5plugin.jar and copy to the lib folders.

Go to the root folder and run_makewar.cmd to make red5.war and copy to C:\Program Files\Openfire\plugins

What the script will do:

Stop openfire

Compile mjsip

Make mjsip jar

Update mjsip.jar

Compile Red5Plugin

Make red5.war

Delete your actual red5.war a and red5/ directory on openfire Home/plugins/

Upgrade red5.war on plugins

Page 53: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

43

Start openfire again

Sip phone

The SIP phone plugin lets you configure SIP phone support from the server. Once configured you will be able to make and receive phone calls. From the admin console you can monitor the phone calls.

Download the sip phone plug-in; stop open fire, Copy the file, "sip.jar" to openfire/plug-in installation folder and start openfire.

Configuration

Log into the admin console to register SIP accounts for Sparkweb users; make sure that you have a SIP server and that Openfire can establish a connection to the machine that is running the SIP server.

Log into the admin console and in the main page you will see the SIP Settings menu item. Go to that page to configure the location of the SIP server. The next and last step is to register the SIP accounts for the Sparkweb users. Go to the SIP Phone Mappings menu item and enter the required information. Once you have registered the SIP accounts for the Sparkweb users you are ready to go.

Sip settings

Sip server Asterisk

Voice mail number 4444

Create sip phone mappings

Xmpp username

Sip username

Authorization username

Password

Outbound proxy

Asterisk-IM

Download the phone plug-in; stop open fire, Copy the file, "phone.jar" to openfire/plug-in installation folder and start openfire. Openfire will show an error message “database update failed…”, this is because of a bug in the database code. Navigate to C:\Program Files\Openfire\plugins\asterisk-im\database; edit the asterisk-im_hsqldb database file:

Page 54: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

44

// this creates a table for the phone server with the attributes, data value and data type.

create table phoneServer ( serverID bigint not null, // server id serverName varchar(255) not null, // server name

hostname varchar(255) not null, // name of the host port integer not null, // port number username varchar(255) not null, // username of user password varchar(255) not null, // password of user constraint phoneServer_pk

primary key(serverID) // primary key );

Save the file and restart open server, the database will be updated successfully.

Configuration

In the openfire Asterisk tab configure the general settings as follows:

Select the enable button and click on save; it will display a link to add server, click on it and configure the server details:

Create phone server

Server name Asterisk

Server address 172.16.38.195

Port number 5060

Username Charles

Password pwdcharles

Click on the create server button, the server just added will be displayed.

Challenges

One of the greatest challenges encountered in the cause of the implementation of

this system is little or lack of proper documentation. I have to struggle and crack

my brain to figure out most of the stuff. But, out there in the web, chat rooms,

blogs, and discussion groups is lots of information which I completely utilized.

Page 55: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

45

Summary

This chapter discussed the implementation of the system. It described the tools

both hardware and software used, a brief description of the computing

infrastructure; software installation, setup and configuration. Also the codes

written or modified where also heighted; finally the challenges encountered in the

cause of the implementation of the system where discussed and how they were

overcome.

Page 56: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

46

C h a p t e r 8

TESTING DOCUMENT (TD)

Introduction

The previous chapter discussed the implementation of the system. It described

the tools- both hardware and software used; and gave a brief description of the

computing infrastructure, software installation, setup and configuration. This

chapter will focus on the testing document. It will present a description of how

the system which was tested test beds for both user interface and detail the

application aspect of the system. It finally supplies an evaluation criterion to be

aware of what are actually being tested.

Testing plan

Test strategy

Test strategy is an outline that describes the testing of the system. It provides a

road map that describes the following: the testing objective, method of testing

new functions, steps to be conducted as part of testing, when these steps are

planned and then undertaken, how much effort, time and resources will be

required and the testing environment.

Testing objective

The purpose of this testing is to prove that the system works successfully.

Method of testing

Different methods were used to test the system including user acceptance testing

(validation testing), portability testing, and system testing.

Page 57: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

47

Tests steps

Different steps were undertaken in the course of testing this system which

includes planning for the testing, deciding on what to test, who and how it will be

tested, where it will be tested, and how to collect and analyze the result of the

testing.

Tests period

The testing of the systems was planed and undertaken between the 6th and 27th of

October 2009.

Tests resources

Resources in terms of effort, time, and equipment were utilized for the purpose

of testing the system. The testing was carried out for approximately 3 weeks using

computers in the student’s lab, student’s private laptops, earphone, microphone

and webcams. In addition, the university network and internet connection was

used.

Tests environment

The testing took place in different locations on the premises of the university

campus as well as at off-campus residents. These testing points were based on

the location of the participants at the time of the test.

Questionnaire

A questionnaire (see appendix B) was used for the purpose of gathering

information from the participants. Using the questionnaire as method of data

collection has advantages over some other types of survey in that they are cheap;

they do not require as much effort to undertake as verbal or telephone surveys,

and they often have standardized answers which simplifies the process of

compiling data.

Ten (10) questionnaires were given out to the 10 participants. The questionnaire

consists of four (4) standardized background questions, and 3 simple tasks to

Page 58: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

48

accomplish. The first task comprises of 2 scenarios, the second task is the step by

step guide of using the system, and the last task is the questionnaire which

comprise of 9 standardized and open ended questions.

Participants

The table below describes the details of the participants and the level of their

experience with instant messaging application.

s/n Gender Level Experience with IM

1 Male Postgraduate Experienced

2 Male Postgraduate Experienced

3 Male Postgraduate Not experienced

4 Male Undergraduate Experienced

5 Male Undergraduate Not experienced

6 Female Postgraduate Experienced

7 Female Postgraduate Experienced

8 Female Postgraduate Not experienced

9 Female Undergraduate Experienced

10 Female Undergraduate Not experienced

Table 5: Description of the participant details

Page 59: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

49

Test results and discussion

Validation testing

Data collection

Validation refers to the set of actions which guarantees that software that has

been built conform to customer requirements. During the validation testing ten

users of different academic level, gender, and experience with instant messenger

application were given two scenarios that requires the use of the system. When

they completed the task, the questionnaire was handed out to them to complete

as a means of gathering vital information. The questions in the questionnaire was

structured in such a way that the answers reflect the following – the level of

acceptance of the system by the user, how easy the system is for the user to figure

out different buttons, links, functions, and how well the system meet the

expectation of the user.

Data evaluation

Based on the questionnaire completed by the users about 80%of the users were

completely satisfied and happy with the system generally. According to the

results, the system’s functionality, interface, and response time met the

participant’s expectations and requirements. The participants appraisal of the

system was that it was easy for them to navigate through the system and complete

their task, and most importantly, it does exactly what they expect of it. The

remaining 20% users wanted two or three things added or removed and the

interface modified.

Table 6 below show the breakdown of the results of the questionnaire completed

by the users. It indicates that out of the ten user that tested the system, 7 was

satisfied with the interface, 8 said the system is easy to use, and 9 said it is

efficient. In addition, 7 users were satisfied with the usability of the system, 6 said

it was attractive, and 8 were happy with the functionality.

Page 60: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

50

Table 6: Analysis of validation of the system

Portability testing

Portability refers to the ease with which software or its components can be

moved or ported from one platform or environment to another. The system was

tested on different browsers (Internet Explorer, Mozilla Firefox and Safari),

operating systems (Windows, Linux, and Mac), and architecture (Intel and Mac)

to determine its portability and compatibility.

Results

Browsers

The browser’s tests produces different results on different computers; the system

works on some browsers on one computer but will not work on another

computer, while some that did not work works in another. Based on the analyses

of the results and the observation of the testing it was discovered that the

difference in the results of the test is based on the version of adobe flash player

installed in the browser.

Page 61: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

51

Operating systems

The system was tested on the three operating systems (Windows, Mac and Linux)

and they all produced the same result. The system worked in all of them. This

proves the fact that the system is compatible with all the operating systems, one

can thus scientifically deduce that it is platform independent.

Architecture

The system was tested on Intel-based systems and Mac and it worked very well

on the two architectures.

System testing

System testing is a series of different tests to verify that system elements have

been properly integrated and perform allocated functions. There are different

types of system tests however the scope of this paper will only discuss stress and

performance tests.

Performance testing

Performance testing was done to test the run-time performance (resource

utilization e.g. processor cycle) of the system. The test was performed with

dieseltest and open source tool for performance and stress testing.

Stress testing

Stress tests are designed to confront programs with abnormal situations. It

executes a system in a manner that demands resources in abnormal quantity,

frequency or volume. Stress test is performed on the system to determine how far

it can carry on before it breaks down.

Data collection and evaluation

For the purpose of stress and performance testing, an open source software

dieseltest was used. The software created a script to simulate 10,000 users to use

the system at the same time for 5 minutes to determine how well the system will

Page 62: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

52

perform when multiple users are using it simultaneously and also to know if the

system will withstand the load. The result was recorded and plotted in a graph.

Figure 19: Description of the data collected during system testing

From figure 19 above, the vertical line on the right indicates the number of users,

the one on the left indicates the fetch time in seconds while the horizontal line at

the bottom indicates the time in seconds. As the number of users increases the

time also increases indicating that the processor is doing more work. But in all,

the system withstood the load, and still performs well. The purpose of the tests

was achieved, thus the tests proved that the system performs well even when

multiple users are using it.

Summary

This chapter discussed the test documentation. It described the different testing

techniques that were performed on the system and the data collection and

evaluation method of each testing to prove that the system works perfectly.

Page 63: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

53

C h a p t e r 9

USER’S GUIDE (UG)

Introduction

In the previous chapter the following were discussed-test documentation; the

description of testing strategy, testing techniques, data collection and evaluation.

This chapter will discuss the user’s guide by providing a step by step description

of how users will use the system.

Getting started

This project is an implementation of web-based instant messaging application.

Instant messaging is an online, real time communication between two or more

people through the internet or local area network. Web-based instant messenger

is an IM that is integrated into the web browser. Generally, all you need to use

this application is a computer that is connected to the internet with a web

browser; microphone and web camera is optional but required for voice and

video chat.

Open your favourite web browser.

In the address bar type: http://172.16.39.113:7070/red5/sparkweb and press enter.

The interface of the application will open (see figure 20) below.

If you already have an account, at the username textbox enter your username, select the sever you are registered to at the server combo box, and finally enter your password on the password textbox, then click the login button.

If you don’t have an account, click on the “Create Account” link at the top right corner of the login window, see figure 21 below. Enter a username, select a server, enter password and confirm password and then click on create to create an account. Once the account is created the login window (figure 20) will open for you to login as described above.

Page 64: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

54

Figure 20: login window

Figure 21: create account window

Page 65: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

55

After you have logged in the contact window (see figure 22) will open. If you

have added contacts they will appear on the left side of the window.

Figure 22: contact list window

If you have not added any contacts, click on the add contact button (see figure

23) to add contacts. Enter the contacts email and id, select a group and then click

on submit button to ad contact.

To start chat, right click on the contact you want to chat with (see figure 24) and

select start chat to start chatting with the contact.

Page 66: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

56

Figure 23: add contact button

Figure 24: start chat window

Page 67: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

57

To start voice and video chat, right click on the contact and select call contact

(see figure 25). Start voice chat (figure 26) and video chat (figure 27).

Figure 25: voice and video chat selection

Figure 26: voice chat

Page 68: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

58

Figure 27: video chat

When you are done click the exit button to logout.

Summary

This chapter provided a detailed description of the process of how the user will

use the system. It employs the pictures of the actual interface and windows. The

manual is detailed enough for first time users and yet brief enough not to bore

the regular user.

Page 69: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

59

C h a p t e r 1 0

CODE DOCUMENTATION (CD)

Introduction

In the previous chapter the user’s guide were discussed and a step by step

description of how the users will use the system was provided. This chapter will

focus briefly on the code documentation (appendices F). A brief description of

the classes and class methods, a description of all input/output, and a detailed

description of the algorithm is given. The full code documentation is not included

in the chapter due to the number of lines and pages of the code. However, the

complete documentation of the source code is included in the accompanying

compact disk (cd).

Page 70: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

60

APPENDICE A

User Requirement questionnaire

Web-based Instant messaging, audio and video services

Instant Messaging Service is an online, real time instant chatting like MSN Messenger, Google Talk, Yahoo Messenger, etc. Web-based instant messaging is an IM that is integrated in a web browser; it is flash based non application service with audio and video chat. 1. Do you use Instant Messaging Applications (MSN Messenger, Google Talk,

Yahoo Messenger, etc)?

Yes No

2. Why do you use IM services?

___________________________________________________________ ___________________________________________________________ ___________________________________________________________

3. Which of the IM applications do you use?

MSN messenger Google Talk Yahoo Messenger Others specify ___________________________

4. Why do you prefer that particular one?

___________________________________________________________ ___________________________________________________________ ___________________________________________________________

5. What features do you like most in that IM application?

Page 71: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

61

___________________________________________________________ ___________________________________________________________ ___________________________________________________________

6. Do you have any problems with the fact that you have to download an IM

application before using them?

Yes No not sure

7. Do you think IM services that are integrated in a web browser will be

preferable (i.e. non application, no download)?

Yes No Yes Not sure

8. What do you think about the following features in an IM application?

Audio chat: Yes No not sure Video chat: Yes No not sure

9. What other features will you like to be incorporated in web-based IM?

___________________________________________________________ ___________________________________________________________ ___________________________________________________________

Thank you for participating in the survey

Page 72: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

62

APPENDICES B

Tests questionnaire

Page 73: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

63

Page 74: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

64

Page 75: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

65

Page 76: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

66

APPENDICE C

Project plan 1

Page 77: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

67

APPENDICE D

Project plan 2

Page 78: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

68

APPENDICE E

Project plan 3

Page 79: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

69

APPENDICE F

Brief code documentation

Page 80: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

70

Page 81: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

71

APPENDICE G

Installation manual

Openfire 3.6.4

Openfire is a powerful instant messaging (IM) and chat server that implements

the XMPP protocol. This document will guide you through installing Openfire.

For a full list of features and more information, please visit the Openfire

website: http://www.igniterealtime.org/projects/openfire/

Windows installation

Download the installation file openfire_3_6_4.exe from the link

http://www.igniterealtime.org/downloads/index.jsp#openfire. Run the

Openfire installer (fig 28), the application will be installed to c:\Program

Files\Openfire by default and Select the language fig 29.

Figure 28: installing openfire

Figure 29: language selection

Page 82: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

72

The setup wizard will open fig 30, click next to accept the license agreement fig

31. Select the destination directory and click next fig 32, by default openfire

installs to c:\Program Files\Openfire.

Figure 30: setup wizard

Figure 31: license agreement

Page 83: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

73

When the installation completes, select run openfire and click next to exit fig 33.

Figure 32: select destination directory

Figure 33: completing setup wizard

Page 84: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

74

Open a browser and type http://localhost:9090 in the address bar, to configure

the server figure 34. Select the language and click continue, configure sever

settings, choose database, configure profile setting, admin account, and click login

to admin console figure 35 to login to openfire server figure 36.

Figure 34: welcome to setup

Figure 35: setup complete page

Page 85: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

75

Figure 36: openfire admin console

Sparkweb

To build sparkweb from source you need adobe flex 3 sdk, download from the link below http://www.adobe.com/cfusion/entitlement/index.cfm?e=flex3sdk or adobe Flex Builder 3 download from the link below http://www.adobe.com/cfusion/entitlement/index.cfm?e=flexbuilder3

Flash Player 9 (debug version, if you want debugging support)

To get and build the code, follow these steps

Install svn download from http://subversion.tigris.org/

Run svn checkout http://svn.igniterealtime.org/svn/repos/sparkweb/trunk SparkWeb

Open Flex Builder

Switch the workspace in Flex Builder (in the File menu on Macs) to the location you checked SparkWeb out to

Right click in the sidebar of Flex Builder and choose "import..."

Choose "Existing Projects into Workspace"

Page 86: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

76

Locate the xiff directory in your sparkweb checkout, and select it

Repeat the previous three steps for SparkWeb, SparkWebCommonComponents, and SparkWebCore

Build the code

Copy the built code to the openfire/plug-in/admin folder

You are done.

Page 87: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

77

BIBLIOGRAPHY

[1] “Instant messaging “,

http://en.wikipedia.org/wiki/Instant_messaging, November, 2007.

[2] Jeff Tyson and Alison Cooper, “How Instant Messaging Works”,

http://communication.howstuffworks.com/instant-messaging.htm,

March 27, 2009.

[3] Google, “Welcome to Google Talk”,

http://www.google.com/talk/about.html, March 27, 2009

[4] Robin Good, “Instant Messaging Tools and Technology: A Mini-

Guide”,

http://www.kolabora.com/news/2006/09/28/instant_messaging_tools_a

nd_technology.htm, September 28, 2006.

[5] Michael Arrington, “Dead Simple Flash Based WebChat For

MySpace”, http://www.techcrunch.com/2008/06/16/dead-simple-flash-

based-webchat-for-myspace/, June 16, 2008.

[6] Robin Good, “Instant Messaging 2.0: Secure Instant Messaging Set To

Be The Center Of Your Communication And Collaboration Universes”,

http://www.masternewmedia.org/news/2006/06/23/instant_messaging_

20_secure_instant.htm, June 23, 2006.

[7] Thetranslatorscafe, “Instant messaging — a new language”,

http://thetranslatorscafe.wordpress.com/2008/05/08/instant-messaging-

a-new-language/, May 8, 2008.

Page 88: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

78

[8] Wikipedia, “Adobe Flex”, http://en.wikipedia.org/wiki/Adobe_Flex,

November 2008.

[9] Wikipedia, “ActionScript”,

http://en.wikipedia.org/wiki/ActionScript, (assessed 30th March, 2009).

[10] webopedia, “XMPP”,

http://www.webopedia.com/TERM/X/XMPP.html, September 20, 2004.

[11] xsf, “XMPP Software”, http://certs.xmpp.org/software/clients.shtml,

(assessed: March 30, 2009).

[12] Igniteraltime, Openfire / SparkWeb”,

http://www.igniterealtime.org/projects/openfire/index.jsp, (assessed:

March 30, 2009).

[13] Jabbear Messenger, “Jabear”,

http://www.jabbear.com/en/index.php, (assessed: March 30, 2009).

[14] Red5, “Open Source Flash”, http://osflash.org/red5, (assessed: May

4, 2009).

Page 89: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

79

INDEX

A

ActionScript · vii, 10

B

Browser · 51

C

Chat Window · 18

Client · viii, 11, 12, 13

F

Firewall · vii

Flex · 10

I

IM · i, ii, iv, vii, viii, 1, 2, 3, 4, 5, 6, 9, 10, 12, 44,

49, 54, 61, 62, 72

J

Junk · vii, viii

L

LAN · vii, 1, 7

Login Interface · 14, 15

M

Main Window · 15

O

OOA · ii, 2, 23

OOD · 2

Openfire · 79

P

Participant · 49

Portability · 51

Presence awareness · vii

Q

Questionnaire · 48

R

Red5 · viii

RTC · viii, 11, 40, 42

S

Sparkweb · 76

SparkWeb · 79

Stress · 52

T

Test strategy · 47

Text chat · vii

TextInput, · 15

U

URD · 2, 4, 9

Page 90: WEB-BASED INSTANT MESSENGERacharles/documentation4.pdf · Web-based instant messenger is the solution to these problems since it does ... Red5 ... testing document ...

80

V

Validation · 49

validation testing · 47

W

Web-based IM · 1

X

XMPP · 11


Recommended