apt hrd programme for exchange of ict … · mahathir said (telekom malaysia berhad) syahrifendi...

21
APT HRD PROGRAMME FOR EXCHANGE OF ICT RESEARCHERS AND ENGINEERS TITLE OF PROJECT: DEVELOPMENT OF JAVA MOBILE APPLICATION USING BLUETOOTH TECHNOLOGY FOR RURAL COMMUNITY COMMUNICATION PROJECT REPORT NOR AZHAR MOHD ARIF (MULTIMEDIA UNIVERSITY MALAYSIA) HAFIZAL MOHAMAD (MULTIMEDIA UNIVERSITY MALAYSIA) MAHATHIR SAID (TELEKOM MALAYSIA BERHAD) SYAHRIFENDI LUKMANILHAKIM (TIME DOTCOM BERHAD MALAYSIA) SALINA SAMSUDIN (FELDA SUNGAI BEHRANG MALAYSIA) RYOICHI KOMIYA (NICT JAPAN) YOSHINORI SAKAI (TOKYO INSTITUTE OF TECHNOLOGY JAPAN) TAKAMICHI MIYATA (TOKYO INSTITUTE OF TECHNOLOGY JAPAN) KOJI KOYAMADA (KYOTO UNIVERSITY JAPAN) 31 JULY 2008

Upload: lamcong

Post on 22-May-2018

213 views

Category:

Documents


1 download

TRANSCRIPT

APT HRD PROGRAMME FOR EXCHANGE OF

ICT RESEARCHERS AND ENGINEERS

TITLE OF PROJECT:

DEVELOPMENT OF JAVA MOBILE APPLICATION USING

BLUETOOTH TECHNOLOGY FOR RURAL COMMUNITY

COMMUNICATION

PROJECT REPORT

NOR AZHAR MOHD ARIF (MULTIMEDIA UNIVERSITY MALAYSIA)

HAFIZAL MOHAMAD (MULTIMEDIA UNIVERSITY MALAYSIA)

MAHATHIR SAID (TELEKOM MALAYSIA BERHAD)

SYAHRIFENDI LUKMANILHAKIM (TIME DOTCOM BERHAD MALAYSIA)

SALINA SAMSUDIN (FELDA SUNGAI BEHRANG MALAYSIA)

RYOICHI KOMIYA (NICT JAPAN)

YOSHINORI SAKAI (TOKYO INSTITUTE OF TECHNOLOGY JAPAN)

TAKAMICHI MIYATA (TOKYO INSTITUTE OF TECHNOLOGY JAPAN)

KOJI KOYAMADA (KYOTO UNIVERSITY JAPAN)

31 JULY 2008

Abstract

This project is led and conducted by university researchers and telecommunication

companies’ engineers in Malaysia through collaborations with universities’ researchers in

Japan. It aims to increase the awareness and knowledge of digital and information and

communication technologies among the people in the rural community by developing a

simple but useful application and where they have it run on mobile phones and be used in

their daily activities. As a result, a basic application is successfully developed using Java

programming language for mobile devices (J2ME) that enables users to exchange text

messages similar to a combination of short message service (SMS) and chat through

Bluetooth frequency but free of charge i.e. no charges for network connection and for every

transmission of message. Based on the tests conducted, so far the success rate of installation

and running of the application on 21 different models of mobile phones equipped with

Bluetooth is around 71%. A very positive response are also received from the key people of

the rural community and from the preliminary survey on the role of such application in

reducing the digital and ICT knowledge gap between the urban and rural community.

However, the tests has also uncover some significant limitations of the application namely the

maximum range of coverage, maximum number of users at a time and compatibility issue for

installation in some models of mobile phones. Also, it has been suggested that an application

for a more specific usage to be developed within the known limitation of Bluetooth to

achieve the primary goal of bridging the gap through usage of technologies in daily activities.

These have provided a much guided direction for the enhancement and future work to be

conducted for the continuation of this project.

1 INTRODUCTION

In this day and age, ubiquitous system applications are widely used in information and

communication technology world. But not all walks of life have the privilege to access the

digital technologies. A digital divide is building up mostly in rural areas where people do not

have access to digital technologies. The term “Digital divide” refers to a gap between people

with regular, effective access to digital technologies and those who do not. Ubiquitous system

applications are mostly applied in urban and city areas but rarely used among the rural

development areas community. Modes of communication are vastly categorized and

sometimes can be expensive. All levels of society are adhering to the cheapest information

services for everyday information.

Generally, this project aims to increase the awareness and knowledge of digital and

information and communication technologies among the people in the rural community. This

is done by providing them with a simple but useful application installed in their mobile

phones and suitable to be used in their daily activities. The application should be similar to

the type of application that they are comfortable with, in this case short message service or

better known in Malaysia as SMS. Thus, an application that enables users to exchange text

messages similar to SMS and Chat has been identified to be developed for this purpose.

There are two main motivations for choosing this approach i.e. mobile device with Bluetooth:

(a) The hardware factor – the penetration of mobile phones in rural area is much higher

as compared to personal computers. This due to adequate coverage of mobile wireless

communication services normally associated with mobile phones and the

unavailability of fixed line internet broadband services in rural area normally

associated with personal computers.

(b) The monetary cost factor – through Bluetooth frequency, the network connection and

transmission of each message is free of charge, unlike the standard SMS service or

Chat through the internet.

Currently, there are several applications and software’s in the market using Bluetooth to

communicate among mobile phone and personal computer users. However, almost all of

these applications require the license purchase. So far we have found only one application

that is similar to ours known as Bluechat which is totally free for use. However, its system

architecture and working procedure are completely different from our developed application

since unlike ours, Bluechat does not work on Server and Client concept i.e. there is no

requirement for one of the users to be a server as every user runs on the same mode. In

addition, although our developed application is also applicable to the general public use, our

next research focus is to get the rural community responses on the developed application for

any enhancement on the current version and development on a similar application using the

same architecture but for a more specific purpose such as voting or item ordering

applications.

2 PROJECT OBJECTIVES AND MILESTONES

2.1 To educate the rural community to make use the Bluetooth feature that is available in

mobile transceivers (mobile phones) through appropriate application.

2.2 To develop an application using Java programming language for mobile devices

(J2ME) that enables users to exchange text messages at real time basis similar to a

combination of short message service (SMS) and chat through Bluetooth frequency.

2.3 Milestone (significant phases of the project)

a) Additional background study and purchases of necessary devices and tools are to be

completed by middle of December 2007.

b) Detail study on project implementation and preliminary work are to be completed by

middle of January 2007.

c) Documentation and submission of the interim report by end of February 2006.

d) The basic Java mobile application is to be confirmed in working order by end of

March 2008.

e) Main project is to be completed by end of June 2008.

f) Documentation and submission of final report to APT by end of July 2008.

3 PROJECT PARTNERS

The followings are the institutions and companies involve in this collaborative research:

3.1 Multimedia University (MMU) Malaysia.

3.2 Telekom Malaysia Berhad (TM)

3.3 Time Dotcom Berhad, Malaysia

3.4 Felda Sungai Behrang Malaysia

3.5 National Institute of ICT (NICT), Japan.

3.6 Tokyo Institute of Technology (TIT), Japan.

3.7 Kyoto University Japan

Purpose of collaboration and role of partners.

3.8 The development of the basic Java mobile application is the responsibility of

project members in Malaysia. The development of the application was carried

out in two stages; the first version of the application which is a very simple

and basic system was completed at the end of February 2008. This version of

the application was the main item of discussion during the second round of

project meetings in Malaysia. Based on the feedbacks from these meetings the

second version of the application which is a much more improved system was

developed based on the earlier version and was completed in middle of June

2008.

3.9 Researchers from NICT, TIT and Kyoto University are expected to help out by

sharing their expertise and experiences in developing the application. During

the second round of project meetings in Malaysia, through the hardware

demonstration of the application, the Japanese partners have given several

valuable feedbacks and comments for the enhancement to be implemented on

the application based on the limitations of the first version. Among them were

better outlook of graphical interface, necessary indication to the user when

sending and receive messages (sound and vibration alerts), more lines of

previous sent messages and setting page for preferences changes by user.

4 SUMMARY OF PROJECT ACTIVITIES

The related work commenced on 18th

October 2007. The following describes the project

activities conducted and completed by the end of January 2008:

4.1 Site Visits:

The local project team members have visited the local rural community location

(Felda Kampung Sungai Behrang) in Perak several times as follows:

4.1.1 26-10-2007 : Project leader made the first visit to the local community in

Perak to meet the community contact person for initial discussion and to get

the actual view of the community.

4.1.2 19-01-2008 : All local project team members visited the rural community

location for the first time as a team. Meeting between all local project

members was held during this visit at this location.

4.1.3 21-06-2008 : Second visit by all local project members. Training session on

how to install and use the develop application for the rural community key and

contact persons and was conducted during this visit.

4.1.4 10-07-2008 : Project leader attended a program organized by the rural

community contact person held at another rural community nearby. The plan

is to get responses from the people on the developed application as it was

expected around 500 turn outs. However, due to bad weather condition the

plan was abandoned.

4.2 Local Meetings:

Meetings between the local project members were conducted twice a month since

November 2007 at various venues to discuss the progress of project.

4.3 International Meetings:

Coordination meetings between local and Japanese project members were conducted

as follows:

4.3.1 30-11-2007 : Local project members meeting with Prof. Koyamada at Kyoto

University, Japan - initial discussion on project overview, planning, planned

milestone and responsibilities of each member.

.

4.3.2 01-12-2007 : Local project members meeting with Prof. Komiya in Tokyo,

Japan - initial discussion on project overview, planning, planned milestone

and responsibilities of each member.

4.3.3 04-12-2007 : Local project members meeting with Prof. Sakai and Takamichi

Miyata at Tokyo Institute of Technology - initial discussion on project

overview, planning, planned milestone and responsibilities of each member.

4.3.4 07-03-2008 : Local project members meeting with Prof. Sakai and Takamichi

Miyata in Kuala Lumpur:

• update on the progress of project by each project members.

• hardware demonstration on the basic version of the developed

software.

• comments and feedback on the basic version by each member for

improvement.

• site visit to the rural community.

4.3.5 19-06-2008 : Local project members meeting with Prof. Ryoichi Komiya in

Kuala Lumpur:

• update on the progress of project by each project members.

• hardware demonstration on the improved version of the developed

software.

• comments and feedback.

4.3.6 05-07-2008 : Local project members meeting with Prof. Koji Koyamada in

Kuala Lumpur:

• update on the progress of project by each project members.

• hardware demonstration on the improved version of the developed

software.

• comments and feedback.

• site visit to the rural community.

4.3.7 21-07-2008 : Local project members meeting with Prof. Ryoichi Komiya in

Tokyo:

• update on the progress of project by each project members.

• hardware demonstration on the improved version of the developed

software.

• discussion on the final report.

• comments and feedback.

4.3.8 22-07-2008 : Local project members meeting with Prof. Sakai and Takamichi

Miyata in Tokyo:

• update on the progress of project by each project members.

• hardware demonstration on the improved version of the developed

software.

• discussion on the final report.

• comments and feedback.

4.3.9 24-07-08 : Local project members meeting with Prof. Koji Koyamada in

Kyoto:

• update on the progress of project by each project members.

• hardware demonstration on the improved version of the developed

software.

• discussion on the final report.

• comments and feedback.

5 DEVELOPMENT OF BTOOTH COMM APPLICATION

5.1 System Architecture

5.1.1 Developing a Client/Server communication using RFCOMM

The application developed is divided into two sections, a server MIDlet and a client MIDlet.

A MIDlet (Mobile Information Device Toolkit) is a Java program that is develop using J2ME

(Java 2 Micro Edition) language for embedded devices. This application uses RFCOMM

(Radio Frequency Communication) protocol. RFCOMM is one of Bluetooth protocols. It is a

simple set of transport protocols, made on top of the L2CAP (Logical Link Control and

Adaptation Protocol) that is the lowest level of Bluetooth protocol that can be accessed by an

application. A mobile phone is used for both the client and server side and communication is

via Bluetooth technology.

5.1.2 Required Connections

A client MIDlet will wait to accept a connection from an appropriate remote “server” MIDlet.

The server MIDlet will first performs a device inquiry and when the device inquiry has

completed, the server has a list of possible nearby Bluetooth devices. It then performs service

discovery on found devices having a suitable COD (Class of Device). A COD is a value to

indicate the capability of the device. The COD value will show whether the device is a

printer, headset or a keyboard. These numerical values are reserved by the Bluetooth

specification. In this case the COD shows a mobile phone value. COD also allows the server

to find any reachable nearby clients. After the service discovery phase has completed, the

user of the server MIDlet is presented with a list of devices. The server MIDlet will next

initiate a connection to each client selected by the end user. The user of the server MIDlet

selects which client to initiate a connection to and the order in which connections are created.

This means connections are created from the server to clients, one by one. Fig. 5.1 shows the

server is the Bluetooth master for each connection.

Figure 5.1: Device inquiry, Service discovery and connection creation

5.1.3 Device Inquiry

The first step in a networked Bluetooth application is to discover other devices that are in

range. Bluetooth devices are mobile and form networks dynamically, so they must be a way

to find other devices to connect to. This process is called the inquiry procedure in the

Bluetooth Baseband Specification. A discovered device is identified by its Bluetooth device

address, as well as its class of device (COD) value. In a MIDlet application, it can either use

the GIAC (General Unlimited Inquiry Access Code) or the LIAC (Limited Inquiry Access

Code) for device inquiry. A Bluetooth device can have various settings for its “discoverable

mode”. If the device is configured to GIAC, it is set to be generally discoverable by other

Bluetooth devices and if configured to LIAC, it is set to be discoverable in a “limited”

manner by other Bluetooth devices. This means, the device can only be discovered for a

limited amount of time.

5.1.4 Service discovery

In wired networks, usually there is a central infrastructure for managing connections but in

Bluetooth technology, it is different. Connections are made dynamically, and devices must

determine what services are provided on discovered devices. This procedure is called service

discovery which is the process by which applications locate and gather information about

other services in the surrounding area. Once a desired service has been discovered on a

nearby device, an application may attempt to connect to the service and use it.

5.1.5 Client/server connections

A connected client MIDlet may send a message to its server MIDlet. The server will simply

echoes the message back to all connected clients. The message is also echoed back to the

original sending client. The purpose is to allow a client to send message to all connected

clients via the server. Another alternative way is the server can also sends a “non-echo”

message to all connected clients. The application architecture is shown in Figure 5.2

Figure 5.2: A client sends a message and the server echo messages to all clients

In this application, the server MIDlet is also known as “btSppEcho MIDlet” while the client

MIDlet is “btsppEcho MIDlet”. This is the name of the compile file used in the application.

5.1.6 Dropped Connections

If a client MIDlet exits or otherwise disconnects, the server will remain connected to and in

communication with the remaining clients. However, if the server MIDlet exits or otherwise

disconnects, then all communication is lost between the clients. This means all connections to

the server are closed.

5.2 Implementation of “btsppEcho MIDlet”

The MIDlet can be started in either the client or server mode in the initial The MIDlet can be

started in either the client or server mode in the initial SettingsList screen (Figure 4.2). The

SettingsList screen lets the user choose between discoverable mode (server) or discovery

mode (client) used for device inquiry, and if the general (GIAC) or limited inquiry access

codes (LIAC) are used. It also lets the user choose appropriate security settings

(authentication, encryption, and authorization).

When the MIDlet is started and the user chooses to set it as client mode, the screen map

transitions from the initial SettingsList screen to a ClientForm. The ClientForm will use a

class called ConnectionServer to accept and open incoming connections from the remote

server. Once a connection has been set up, the ClientForm allows the user to send messages

to the server. It also displays messages received from the server.

When the MIDlet is started in server mode, the screen map changes from the initial

SettingsList screen to a ServiceDiscoveryList. It is used to initiate device inquiry, and

subsequent service discovery on any found devices that have a suitable COD. Once the

device is discovered,it is displayed to the user as elements of the list. The user can next

choose to open a connection from the server to a client. When the connection has been

created, the screen map changes to a ServerForm screen. The ServerForm is used to display a

text messages received from any client and to allow the user to send a simple text messages

to all connected clients. It also displays how many clients are currently connected, and allows

a new connection to be added by a screen transition back to the ServiceDiscoveryList. This is

used to select an open the next connection to other not connected Bluetooth device. The

screen map is shown in Figure 5.3.

Figure 5.3: Screen map

5.2.1 Client

Figure 5.4: Class diagram of classes used by the client

Figure 5.4 shows a diagram to illustrate the class diagram for the MIDlet design. In this sub-

chapter, the client and server MIDlet will be explained in more detail from the application

starts to sending messages. When the MIDlet first starts, it will display a SettingList Screen

that is used to set important settings for the MIDlet and to give option to the server whether to

start in client or server mode. If the MIDlet is started in client mode, it will create an instance

of a ConnectionService object and displays the ClientForm screen.

The ConnectionService runs continuously, waiting to accept new connections on the

appropriate server connection string. When it accepts a new connection from a remote server,

it notifies the ClientForm that it has accepted a new connection and creates a new

ClientConnectionHandler to handle that connection. A ClientConnectionHandler is a class

that is runnable, so it may be read and write from the appropriate input and output streams.

The ClientForm starts the thread of each accepted ClientConnectionHandler and causes it to

instantiate the actual InputStream and OutputStream objects needed. This will both start a

reader and writer thread for them. The ClientForm is a ClientConnectionHandlerListener, and

so accepts callbacks from its ClientConnectionHandler objects related to opening the input

and output streams, received messages, sent messages and when connection closes normal or

abnormally. The ClientForm directly uses a ClientConnestionHandler to send messages.

5.2.2 Server

Figure 5.5 shows a diagram to illustrate the class diagram for the MIDlet design. When the

MIDlet started in server mode, it will change the screen map to ServiceDiscoveryList. From

this screen, the user may begin a “search” (device inquiry and service inquiry) and this phase

will return matching devices and services. The end user may then select to open the first

connection to a remote client, and the screen map is change to the ServerForm screen.

The ServerForm screen creates the actual connection to a remote client, and maintains the list

of all ServerConnectionHandler objects. One object is created per created connection. The

ServerConnectionHandler objects are runnable and separate threads are used in such object

for reading and writing to input and output streams. The ServerForm is responsible for

starting these threads when it creates a new ServerConnectionHandler object.

Figure 5.5: Class diagram of classes used by the server

The ServerForm implements the interface ServerConnectionHandlerListener, and so accepts

callbacks from its ServerConnectionHandler objects. The purpose of callback is related to

opening the input and output streams, received messages, sent messages and connection

closes normal or abnormally. The ServerForm directly uses a ServerConnectionHandler to

send messages. The ServerForm also has an “Add connection” command, which temporarily

causes a screen transition back to the ServiceDiscoveryList screen to select the next client to

open a connection to.

5.3 Developing the BtoothComm Application

The application was developed using J2ME on Netbeans platform. This section summarized

the Java classes used, how they work and their purpose in the application. The classes are

based on two packages namely the btsppecho and lib.btsppEcho

5.3.1 BtsppEcho Package

BttspEcho package contains the following e java classes:

Java Class Description

5.3.1.1

BtoothComm

BtoothComm class is a MIDlet class which means

“BtoothComm” class is to “appear” on the device screen

and it is the main class for the whole application.

5.3.1.2

MIDletApplication

The MIDletApplication class handles the MIDlet state

model callbacks. This is to manage the user interface for

delegating it to appropriate screens. The MIDlet provides a

central”state model” for the screens, so that each screen

calls back to the MIDlet and the MIDlet displays the

appropriate next screen.

5.3.1.3

MIDletApplicationBackground

To provide canvas background for “Room”. Also to

determine the characteristic for font, width and to interface

with command action

5.3.1.4

MIDletApplicationPreferences

To provide record storage for “setting” option for main

menu which contain font size, language, vibration, tones

and User ID setting.

5.3.1.5

ServiceDiscoveryList

When the MIDlet is run in the server mode, it must first

search for suitable clients to create connections to. This

screen is used to perform device inquiry, service discovery,

and open connections to selected clients. After the

connections are open, the screen map is changed to the

ServerForm and this is done via the callback to the MIDlet

.

5.3.1.6

Locale

To provide language translation for the application.

5.3.2 lib.btsppEcho Package

Java Class Description

5.3.2.1

SettingsList

This is the first screen displayed by the MIDlet. It is used

to make a few settings and then start the MIDlet. The

settings are as follows:

• An option to select either client or server mode

• The inquiry type used to be discoverable by a client,

or when performing discovery by a server

• Use of authentication: true/false

• If authentication is used:

o Use of encryption: true/false

o Use of authorization: true/false

The Start command is used to start the MIDlet in the

appropriate role and using the appropriate settings. This

is done via an appropriate callback to the

MIDletApplication, since it manages the screen

transitions. There is also a Bluetooth Properties

command to examine the system properties related to use

of Bluetooth. For example, a Bluetooth device might

only allow a limited number of other devices to be

connected.

5.3.2.2

TextScreen

This is a simple read-only text screen. It has just one

command (Back), which is used for transition to the next

appropriate user interface screen via an appropriate

MIDletApplication callback. This class deals mainly

with user interface related classes.

5.3.2.3

LogScreen

LogScreen is used to give end users a way to follow the

progress of the device inquiry and service discovery

phases. It is also a helpful debugging aid for

sophisticated end users.

5.3.2.4

Client

To handle connection for client

5.3.2.5

ClientForm

This class is the main screen of the MIDlet when it is run

in client mode. It displays the number of open

connections, status strings as connections are

created/deleted or as messages are sent, and simple text

messages as they are received from a remote server.

5.3.2.6

BT

To provide UUID address for Server

5.3.2.7

ServerForm

This is the main user interface screen of a connected

MIDlet when run in server mode. It is used to receive

messages from a remote client and echo those back to all

connected clients. This screen also shows the number of

connected clients and if one client disconnects, it does

not affect the connectivity between the server and the

other clients.

5.3.2.8

ServerRoom

To retrieve information on any connected client and

manage connection between client and server only

5.3.2.9

ConnectionService

A ConnectionService class is a runnable object that runs

continuously. The class listens for new inbound

connection requests from a remoter server and it uses its

listener to handle the request.

5.3.2.10

ConnectionPacket

To manage data rate during connection between server

and client

5.3.2.11

Reader

To manage connection and data stream when either

server or client receive data.

5.3.2.12

Sender

To manage connection and data stream when either

server or client sending data

5.3.2.13

ClientConnectionHandler

When the MIDlet is run in the client mode, each

connection is represented by a ClientConnectionHandler.

5.3.2.14

ClientConnectionHandlerListener

This interface describes the callbacks of a

ClientConnectionHandler.

5.3.2.15

ServerConnectionHandler

When the MIDlet is run in the server mode, each

connection is represented by a ServerConnectionHandler

5.3.2.16

ServerConnectionHandlerListener

This interface describes the callbacks of a

ServerConnectionHandler

5.3.2.17

ServerConnection

To manage Server Room during active service broadcast.

5.3.2.18

ServerRoomDiscovery

To provide and manage server inquiry service and

retrieve information on status discovered server.

5.3.2.19

ServerRoomDiscoveryListener

To initiate server discovery.

5.3 Building and running in an emulator

All classes are developed and created using a Java editor (Crimson Editor), and build using

Java Wireless Toolkit 2.2 (JTW 2.2). JTW 2.2 is an emulator that will run and simulate the

application in a Bluetooth environment. This process is important for debugging and errors

correction before deploying onto a real mobile device.

5.5 Deploying to a device

After the application has been tested using a simulator, it is now ready to be deploy onto a

mobile device. The transfer is done by sending the required files from the computer to a

mobile device via Bluetooth connection.

5.6 Usage Procedure of BtoothComm Application

Once the application is successfully installed in the mobile device, the steps to use the

BtoothComm are as follows:

5.6.1 Open the BtoothComm application.

5.6.2 Click the Setting option – fill in the User ID and choose alert options.

5.6.3 To become a Server – click Set As Server and fill in the Server name. Server name

should be the same as the name set in User ID.

5.6.4 To become a Client – click search for Server. Once Server appears on screen, select

the server and click Join.

5.6.5 Click the Send Message option to type and transmit messages.

5.6.7 Click the Back to Room option to return to conversation screen.

5.6.8 Click the Disconnect option to terminate the connection with Server and to go out

from the BtoothComm application.

Figure A through Figure I illustrate the usage steps for a client for using the setting, connect

to a server and sending a text message.

Figure A: “Setting” option is selected Figure B: User ID is entered

Figure C: Search for Server is selected Figure D: Active server named “Hubert” found

Figure E: User join server “Hubert” Figure F: User send “Hello There” to Server

Figure G: User send “Hello There” to Server Figure H: Text appear in Client Screen and

appear in Server Screen

Figure I: Text appear in Client Screen and appear in Server Screen

5.7 Testing of BtoothComm Application

Several tests have been conducted on the developed application and these tests include both

simulation and actual hardware. The tests conducted are as follows:

5.7.1 Installation and run tests on different makes and models of mobile devices

The application has been tested through installation and running on 21 different models of

mobile phones equipped with Bluetooth from among the popular brands i.e. Nokia, Sony

Ericsson, Motorolla, HTC and Samsung. Out of these 21, the application was verified to fully

run on 15 devices i.e. 71% success rate. However, we will continue testing the application on

other models of mobile phones from time-to-time and we expect that the success rate to

slightly decrease. This is through testing, we found that the application work perfectly on

most on mobile devices running on Symbian operating system (OS) whereas it does not work

at all on devices running on Windows Mobile OS. At this point of time we are still clueless

on this issue but investigations are ongoing in order to address the problem.

The same testing has also been conducted to the 2 key persons of the selected rural

community. During this session, they have gone through in details on the installation

procedure as well as the steps for using the BtoothComm application. This is necessary when

it comes for them to distribute the application to the other members of the rural community.

We have also receive a very positive instant response from them during the session where

they were also in favour of an application with more specific usage specifically the E-Voting.

5.7.2 Maximum distance between Server and Client

The testing to find the maximum allowable distance and height are conducted for different

two conditions and three different environments as follows:

Environment

Condition 1:

Maximum allowable

range to connect to

server (meter)

Condition 2:

Maximum allowable range

to communicate once

connected ( meter )

Within a building 10.11 23.67

Open field 10.25 18.60

Different level (height) 9.69 16.60

As summarized in the table above, it is shown that the maximum allowable range for a client

to be connected to a server is around half the maximum allowable distance for

communication once the client is connected to the server. Basically, this limitation is due to

the coverage limitation of Bluetooth.

In addressing this issue, we are currently looking into the possibility of scatternet i.e. having

multiple servers and multiple clients running the same application. However, through

readings and initial findings we found that this option is very difficult to be realized. Another

option that we are looking at is having one of the clients as a dummy server to act as a

transponder in order to extend the range of coverage.

5.7.3 Maximum number of user per one server

From the start of the development process, through the literature review particularly on

Bluetooth topic, it is understood that the maximum number of allowable users for any

application to communicate through Bluetooth is 8. In our case, this means 1 server and 7

clients at a time. Through simulation using the JTW 2.2, we have confirmed that the

application is capable to allow maximum 8 users at a time. However, the same was not

achieved through the actual hardware testing. In our latest test, from 10 mobile phones which

previously tested to fully run the application, with 1 set as server we have managed only 5

clients connected to the server at maximum i.e. 6 users at maximum. Up to this point of time,

we have yet to figure out the reason for this to happen. We shall continue with appropriate

testing in order to find out the reason behind this problem and to achieve the maximum 8

users at a time.

5.7.4 Server capabilities

Based on the feedback from project members during our latest meetings, we have identified

the following issue for improvement on the Server:

• In the current version, the Server did not have the capability to reject any clients from

joining the conversation. Instead, at the moment it is the Client who is to decide

whether to approve or not connection with Server. Thus the Server should have this

capability.

• The Server did not have the capability to disconnect/terminate any Client during

conversation. This is necessary if one or more Client(s) are behaving out of order.

Thus the Server should have this capability.

5.7.5 Public testing and survey

In addition to the testing on different makes and models of mobile phone as described in

5.7.1, at the same time we have also conducted a preliminary survey to get the public

response on the developed BtoothComm application by distributing a survey form as attached

in Appendix I. The actual survey form is typed in the Malay language i.e. Malaysia national

language. Since the survey is still at preliminary stage and so far only 15 responses received,

no concrete conclusion can be made yet. However, these early responses have indicated

positive feedbacks on Question 15 to 19 i.e. the main issue of the survey.

5.8 Limitations BtoothComm

Based on the testing conducted as described in 5.7, the following are the limitations identified

for developed BtoothComm application:

5.8.1 BtoothComm application does not necessary be installed and run on every

mobile devices equipped with Bluetooth. It can be installed and run on most

mobile phones running on Symbian OS but not on phones running on

Windows Mobile OS.

5.8.2 The maximum allowable distance for client connection to server is around 10

meters and the maximum allowable range for communication between server

and client once connected is around 23 meters.

5.8.3 Although based on the limitation of communication through Bluetooth for the

maximum number of allowable clients to be connected to a server at a time is

7, but so far through testing BtoothComm only allows maximum of 5 clients

to be connected to a server at a time.

5.8.4 In the current version of BtoothComm, the server does not have the

capabilities to reject any clients from joining the conversation and to

disconnect/terminate any Client during conversation.

5.9 Proposed Environment for Usage of BtoothComm

Due to the main limitation in terms on maximum allowable range for communication and

maximum allowable number of users, the following usage environments are proposed:

5.9.1 Religious class session normally held in the mosque. The teacher can be the

server whereas the students (mostly mature and older people) can be the

clients. Questions can be sent to the teacher throughout the session and not

only during Q&A session.

5.9.2 Communication between few people during a specific function held in the

community hall for not disturbing a speech that is being delivered. This is

applicable especially to the organizing committee members of that particular

event. This would enable them to communicate without interfering with the

ongoing programme.

5.9.3 Communication between the committee members during a meeting held in a

meeting room. This is to avoid distraction to the person giving a speech.

5.9.4 Discussion and study group held in a library. The users can opt for the

vibration mode or even silent mode that available at the setting page.

5.9.5 Other daily activities that the rural community members feel suitable for usage

of this application.

6. CONCLUSIONS

In general, the collaboration work between the Malaysians and Japanese team members went

according to plan where the Malaysian team focuses more on developing the application

whereas the Japanese team has given valuable feedback and guidance in achieving the

objective of the project. All the set milestones are achieved satisfactorily although few of

these milestones have taken more time than expected for completion based on the initial plan.

In particular, specific objective of developing an application using Java programming

language for mobile devices (J2ME) that enables users to exchange text messages at real time

basis similar to a combination of short message service (SMS) and chat through Bluetooth

frequency has been achieved. The application called as BtoothComm has been tested on 21

different models of mobile phones where the success rate on installation and running of

software is so far 71%. Positive responses and feedbacks are received from the

representatives of the rural community during the training session as well as from the general

public based on the preliminary survey conducted. This gives the impression that the usage of

such application is capable of reducing the knowledge gap in digital technologies and ICT

between urban and rural community.

However, the several tests conducted have revealed some significant limitations of the

current version of the developed application specifically in terms of the maximum allowable

range of communication, maximum allowable number of users at a time, compatibility issue

for software installation on certain models of mobile phones and some capability limitation of

the server midlet. More times are required in order to implement the enhancement and

improvement on the current version of the application. It also suggested that a more specific

usage application be developed within the Bluetooth limitation that suits certain activities of

the community as to achieve the main goal of the project that is to reduce the knowledge

divide.

Although, the basic application is successfully developed, more works and time are needed in

order to come out with applications that capable to serve the community better. Thus, we

hope to get continuous support from the Ministry, APT and other bodies to enable us to

continue working on this project and to finally achieve the main goal.

APPENDIX I Response Survey Form:

1. You are a male/female age ……, come from urban/sun-urban/rural area and currently live in

urban/sun-urban/rural area.

2. Is there a personal computer(PC) at your parents/hometown residence?

a. Yes b. No

3. If Yes, is the PC connected to the internet?

a. Yes b. No

4. If Yes, choose one from the following for the type of the internet service.

a. dial-up b. broadband

5. Do you own a mobile phone?

a. Yes b. No

6. Does your parent own a mobile phone?

a. Yes b. No

7. Does your mobile phone equipped with Bluetooth?

a. Yes b. No

8. If Yes, please state the brand and model of your mobile phone: …………………………………

9. Have you ever used an “Instant Messaging” and/or a ”Chatting” applications prior to this moment?

a. Yes b. No

10. If Yes, based on your opinion do you find the BtoothComm application similar to the commonly

available Instant Messaging and Chatting application mentioned earlier?

a. Yes b. No

11. Are you familiar with the usage of short message service (SMS) on mobile phones?

a. Yes b. No

12. If Yes, based on your opinion do you find the method of sending messages through the BtoothComm

application is similar to the method used in sending messages through the SMS service?

a. Yes b. No

13. Is the BtoothComm application installable on your mobile phone?

a. Yes b. No

14. Can the BtoothComm application fully run on your mobile phone?

a. Yes b. No

15. Based on your opinion, an application that enables you to exchange messages through mobile phones at

no cost (free of charge) such as this BtoothComm application is:

a. Very interesting b. Interesting c. Fair d. Not interesting

16. Based on your opinion, a free application such as this BtoothComm is capable to encourage and

motivate you to learn more on the latest wireless mobile technologies.

a. Yes b. No

17. Based on your opinion, this BtoothComm Application can be used in one of the activities

suggested/proposed in (B).

a. Yes b. No

18. Based on your opinion, this BtoothComm application is capable to reducing the digital and ICT

knowledge divide between those who live in the city and those who live in the rural area.

a. Yes b. No

19. If a much more specific usage application such as E-Voting and /or Meal Ordering System for

restaurant, this is to you:

a. Very interesting b. Interesting c. Fair d. Not interesting