a portable and intelligent interview systemi.cs.hku.hk/fyp/2014/report/final_report/cheng man fung...

29
1 CSIS0801 Final Year Project 2014 2015 FYP14003 A Portable and Intelligent Interview System Individual Final Report of Cheng Man Fung Kevin Supervisor: Dr. Cheng Reynold Second Examiner: Dr. Chui Chun Kit Cheng Man Fung Kevin 3035042423 Fung Chin Pan 3035044641 Lau Hiu Tsun 3035042423 Tso Hei Lok 3035043738

Upload: voque

Post on 27-Mar-2018

215 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

1

CSIS0801 Final Year Project 2014 – 2015

FYP14003 A Portable and Intelligent Interview System

Individual Final Report

of Cheng Man Fung Kevin

Supervisor: Dr. Cheng Reynold

Second Examiner: Dr. Chui Chun Kit

Cheng Man Fung Kevin 3035042423

Fung Chin Pan 3035044641

Lau Hiu Tsun 3035042423

Tso Hei Lok 3035043738

Page 2: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

2

Change History

Version Change Date Author Description

0.1 14th Apr 2015 3035044641 Draft

0.2 15th Apr 2015 3035042423 Revision on draft

0.3 16th Apr 2015 3035043738 Revision on draft

0.4 17th Apr 2015 3035042423 Revision on draft

1.0 18th Apr 2015 3035044641 Initial version

ABSTRACT

For years, the Department of Computer Science, HKU has established an early

recruitment scheme for graduate studies. The scheme targets outstanding

undergraduate students and master students studying in premier universities, no

matter in mainland China or other places. The scheme offers different research areas

of which the applicants of the scheme can choose, say, programming language,

bioinformatics and algorithms, systems and networking, etc. As part of the

recruitment process, an interview has to be conducted. In this project, we will create

a student interview system for the better management for the interview process.

Due to the unavailability of internet connection for some of the interview venue, we

would like to develop an offline system to cater the use of the professors.

Integration of the interview process onto the system by video conferencing and

recording feature is another point to note. Also, we would like to use data mining

technique on the pre-interview and post-interview step to provide intelligent

interview suggestions and statistics.

Page 3: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

3

Contents Change History ............................................................................................................................. 2

ABSTRACT ..................................................................................................................................... 2

SECTION 1: PREFACE ....................................................................................................................... 5

1.1 Purpose .................................................................................................................................. 5

1.2 Scope ..................................................................................................................................... 5

1.3 About the Team and Stakeholder ......................................................................................... 5

1.4 Credit ..................................................................................................................................... 6

SECTION 2: PROJECT OVERVIEW .................................................................................................... 7

2.1 Background ............................................................................................................................ 7

2.3 Project Objective ................................................................................................................... 7

2.4 Amendment of Project Scope from Project Plan .................................................................. 8

2.5 Project Deliverables ............................................................................................................... 9

2.6 Major Work Products ............................................................................................................ 9

2.7 Project Responsibility .......................................................................................................... 10

2.8 Major Milestones ................................................................................................................ 12

SECTION 3: PRODUCT DESIGN ...................................................................................................... 13

3.1 Items of the Product Function ............................................................................................. 13

3.2 Software and Hardware Requirement ................................................................................ 15

3.3 System Architecture ............................................................................................................ 15

3.4 Testing and Quality Assurance ............................................................................................ 15

SECTION 4: Implementation and Project Deliverables Summary ............................................... 16

SECTION 5: Contributions, Implementation and Project Deliverables of Cheng Man

Fung Kevin ................................................................................................................................... 17

5.1 Video Conferencing ............................................................................................................. 17

5.1.1 WebRTC ...................................................................................................................... 17

5.1.1.1 MediaStream ................................................................................................... 17

Page 4: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

4

5.1.1.2 RTCPeerConnection ......................................................................................... 15

5.1.2 Nodejs Server ............................................................................................................. 19

5.1.3 Pre-Interview and Onsite-Interview ........................................................................... 19

5.1.3.1 Pre-Interview ................................................................................................... 20

5.1.3.2 Onsite Interview .............................................................................................. 21

5.2 Video Recording .................................................................................................................. 22

5.2.1 RecordRTC .................................................................................................................. 22

5.3 Merge Media files ................................................................................................................ 22

5.4 Conferencing Jot notes ........................................................................................................ 23

5.5 E-mail ................................................................................................................................... 24

5.6 Display which column and student on a table .................................................................... 25

5.7 Alert box for conferencing ................................................................................................... 25

5.8 Export csv ............................................................................................................................ 26

5.9 Print Applicants info ............................................................................................................ 27

SECTION 6: Weakness and Limitation ...................................................................................... 28

6.1 Only support peer to peer conferencing ............................................................................. 28

6.2 E-mail ................................................................................................................................... 28

6.3 Time Management .............................................................................................................. 28

SECTION 7: Conclusion .................................................................................................................. 29

Page 5: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

5

SECTION 1: PREFACE

1.1 Purpose

This document is to describe the finalized situation of “A Portable and Intelligent

Interview System” Project, Final Year Project for the Department of Computer

Science, HKU in 2014-2015. The following includes background and overview of the

project, system design, deliverables, difficulties and limitations of the project as well

as ideas for future development.

1.2 Scope

A Portable and Intelligent Interview System Project is a Final Year Project for the

Department of Computer Science, HKU in 2014-2015. It aims to help manage the

interview process of recruitment scheme for graduate studies of the Department of

Computer Science, HKU. And therefore its target audience is set to be the applicants

and the staff of the Department of Computer Science, HKU. Besides, some advanced

features are added to make it more user-friendly as well as provide analysis on the

past data.

1.3 About the Team and Stakeholder

Four Computer Science students of The University of Hong Kong participated in this

project. The team is shown in the table below.

Team Members Cheng Man Fung (Kevin)

Fung Chin Pan (Andy)

Lau Hiu Tsun (Anakin) (Contact Person)

Tso Hei Lok (Lawrence)

School The University of Hong Kong

Supervisor Dr. Cheng Reynold

Second Examiner Dr. Chui Chun Kit

Project Name A Portable and Intelligent Interview System

Project Web Page http://www.cs.hku.hk/~c0801/~fyp14003

Contact Mail [email protected]

Page 6: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

6

1.4 Credit

IntelliJ IDEA® is a trademark of JetBrains s.r.o.

WebRTC® is a trademark of Google Inc.

RecordRTC® is a trademark of Muaz Khan.

CodeIgniter® is a trademark of EllisLab, Inc., protected by applicable trademark,

copyright and other intellectual property laws.

Page 7: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

7

SECTION 2: PROJECT OVERVIEW

2.1 Background

As a research organization, the Department of Computer Science, HKU saw postgraduate

studies and academic research as important parts of their jobs. The Department has thus

established a recruitment scheme offering different research areas for the applicants to

choose. Every year, hundreds of students around the world apply for the scheme. However,

there are several concerns on proceeding the interview scheme.

First, processing of the applications manually is time-consuming and costly. To enhance the

management of the interview process, a solution is required to reduce the cost and save

time.

Second, there is a potential network connection problem on the face-to-face interview site

in mainland China. To handle the possible bad network environment, finding out a way to

manage the interview progress at anywhere and anytime is a must.

Third, picking up right candidates is always a difficult decision to the interviewers. Support

must be done in order to help reach a consensus among the interviewers.

Through this project, our vision is to develop an application to help reduce the workload of

the related staff. By doing so, the staff can concentrate more on recruiting outstanding

students other than doing paper works.

2.3 Project Objective

2.3.1 Enhance Interview Process

To enhance interview process by implementing the flow electronically,

especially integrating video conferencing and recording function

2.3.2 Develop No-network Capability

To handle the possible bad network environment by providing managing tools

with offline support, which smoothen the whole interview process in any

situation

2.3.3 Provide Intelligence for Decision-Making

Page 8: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

8

To improve the existing interview process by providing automated intelligence

with the aid of data-mining techniques

2.4 Amendment of Project Scope from Project Plan

After reviewing the project in these few months, some features were modified and added:

“Preliminary Filtering”: This feature is added as a filtering tool for the staff to eliminate

inappropriate applicants fast. At the same time, the staff can review filtered applicants’

details to further decide who can go to the on-site interview.

“Comment Deletion”: This feature is added as a utility to delete unwanted comments

from the database.

“Question Bank”: In this section, the staff can add questions going to use in the

interview and randomly pick up questions during the interview.

“Charts”: After reviewing, we have made use of the data in the database and generated

more useful charts for the staff.

“Cross Year Analysis”: Other than current year, the staff may be also interested in the

past year comparison. This feature is added to provide charts across past years to show

trends and comparisons.

“Form Analysis”: This form is used to record extra-curricular activities of an applicant, so

that when choosing possible candidates, the staff can compare these factors across the

applicants.

“Bulk E-mail”: This feature is added to send email in large quantities. The staff can send

bulk email to the chosen applicants through local email clients.

Page 9: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

9

2.5 Project Deliverables

The project is divided into three phases. In each phase, there are different deliverables. Our

team has achieved the targets of the project at each stage.

Phase & Period Deliverables

Phase One – Inception

(29 September 2014)

Detailed project plan: It describes the background,

project overview and timeline in detail.

Project web page: It provides a platform for public to know

the project news and updates.

Phase Two – Elaboration

(25 January 2015)

Preliminary implementation: Basic functions and user

interfaces of the online and offline module were

implemented. In additional, map analysis, charts and

video conferencing are initially implemented as well.

Detailed interim report: It describes the status,

processes and implementations of the project at that

stage.

Phase Three – Construction

(19 April 2015)

Finalized tested implantation: The project is tested

internally after and during implementation.

Final report: The report, that is this report, included

detailed description of the final product,

implementations, challenges and improvements.

2.6 Major Work Products

In this project, there are two major work products – a system with both online and offline

modules.

The basic functions of online module are available for all platforms with web browsers and

internet connections. However, video recording function is only compatible with Opera,

Chrome and Firefox.

The offline module is compatible with PCs with Java JRE 7 or above. Since we have no

verified certificate, to enable HTTPS in offline module, a self-signed certificate needed to be

imported before using the offline module.

Page 10: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

10

2.7 Project Responsibility

Major Project Function Person Responsible

Contact person & person in charge Anakin

Database: Offline Module Anakin

Database: Online Module All

Offline Module Implementation Anakin

Online Module Features: Applicant - “Registration” Andy

Online Module Features: Applicant - “Video conferencing” Kevin

Online Module Features: Applicant - “View / Modify Application” Andy

Online Module Features: Root - “Account Management” Andy

Online Module Features: Root - “Round Management” Andy

Online Module Features: Root/Staff - “Searching Engine” Anakin, Andy

Online Module Features: Staff - "University Ranking" Lawrence

Online Module Features: Staff - “Charts” Anakin, Andy,

Lawrence

Online Module Features: Staff - “Comment Management” Anakin, Andy

Online Module Features: Staff - “Cross Year Analysis” Andy, Lawrence

Online Module Features: Staff - “Email” Kevin

Online Module Features: Staff - “Export Student List as CSV” Kevin

Online Module Features: Staff - “Form Comparison” Lawrence

Online Module Features: Staff - “Form Analysis” Lawrence

Online Module Features: Staff - “Map Analysis” Lawrence

Online Module Features: Staff - “Option” Anakin

Online Module Features: Staff - “Preliminary Filtering” Anakin

Page 11: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

11

Online Module Features: Staff - “Printing Applicants Info” Kevin

Online Module Features: Staff - “Question Bank” Anakin

Online Module Features: Staff - “Student Operation” Anakin

Online Module Features: Staff - “Teachers' Comment Analysis” Lawrence

Online Module Features: Staff - “Video conferencing” Kevin

Online Module Features: Staff - “Video recording” Kevin

Online Module Features: Staff - “Video uploading” Anakin

Project management and related task Anakin

Project web page Lawrence

Server Set-up Andy

Testing and quality control Anakin, Andy

Page 12: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

12

2.8 Major Milestones

This project is divided into five phases and there are two major milestones.

The first major milestone is the initial implementation of the Interview system. It was

released in January 2015. Most of the basic function of both online and offline modules have

been finished. A beta version is released for testing at February 2015.

The second major milestone is the finalized tested implementation. The new features are

described in this document in detail.

Page 13: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

13

SECTION 3: PRODUCT DESIGN

3.1 Items of the Product Function

Major Project Function Objective

Database: Offline Module Store information downloaded from server to

the local disk securely

Database: Online Module Store information generated

Offline Module Implementation

Provide basic information management

function whenever there is no network

connection

Online Module Features: Applicant - “Registration” Let applicants register to the scheme

Online Module Features: Applicant - “Video

conferencing”

Allow applicants to have a pre-interview with

the staff

Online Module Features: Applicant - “View / Modify

Application”

Allow applicants to view / modify their

application

Online Module Features: Root - “Account

Management”

Allow the Administrator to manage existing

user accounts and add new staff accounts

Online Module Features: Root - “Round

Management”

Allow the Administrator to start a new

academic year and manage the staff in the

academic year

Online Module Features: Root/Staff - “Searching

Engine”

Allow the user to search information with

provided search fields

Online Module Features: Staff - "University Ranking" Allow the staff to modify the ranking of

universities

Online Module Features: Staff - “Charts” Provide visualization of the data on the

selected academic year

Online Module Features: Staff - “Comment

Management”

Provide a platform for the staff to manage their

comments for different applicants

Page 14: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

14

Online Module Features: Staff - “Cross Year Analysis” Provide visualization of the past year data

Online Module Features: Staff - “Email” Provide a tool for the staff to send notification

to applicants more easily

Online Module Features: Staff - “Export Student List

as CSV” Generate a csv file of the listed applicants

Online Module Features: Staff - “Form Comparison” Provide comparison for the onsite form across

two students

Online Module Features: Staff - “Form Analysis” Allow the staff to modify the weighting of

different items in the form and fill in forms

Online Module Features: Staff - “Map Analysis” Visualize the location of applicants’ universities

Online Module Features: Staff - “Option” Allow the staff to change the selected academic

year

Online Module Features: Staff - “Preliminary

Filtering”

Filter out applicants which do not fulfill the

basic requirement

Online Module Features: Staff - “Printing Applicants

Info”

Allow the staff to print the profile of an

applicant

Online Module Features: Staff - “Question Bank” Allow the staff to customize own questions

Online Module Features: Staff - “Student Operation” Allow the staff to add, view or modify the

profile of applicants

Online Module Features: Staff - “Teachers' Comment

Analysis”

Provide analysis and give recommendation on

the teacher on-site comment

Online Module Features: Staff - “Video

conferencing” Allow the staff to start a conferencing session

Online Module Features: Staff - “Video recording” Allow the staff to record the conferencing and

upload to the server

Online Module Features: Staff - “Video uploading” Allow the staff to upload applicants’ interview

video to the server

Page 15: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

15

Server Set-up Provide basic infrastructure for the system

3.2 Software and Hardware Requirement

In this project, there are some software and hardware requirements for online module:

1. Computer with network access and web browser is a must for accessing the server.

2. Computer with a web camera and a microphone is required for the use of video

recording.

For offline module:

1. Computer with network access is required to download information from the server.

2. Computer installed with JAVA JRE 7 is a must to run the offline module.

3.3 System Architecture

Refer to group final report chapter3.3 system architecture for details

3.4 Testing and Quality Assurance

Refer to group final report chapter3.3 Testing and Quality Assurance for details

Page 16: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

16

SECTION 4: Implementation and Project Deliverables

Summary

Refer to group final report chapter4 Implementation and Project Deliverables Summary for

details

Page 17: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

17

SECTION 5: Contributions, Implementation and

Project Deliverables of Cheng Man Fung Kevin

5.1 Video Conferencing

Being an interview system, conferencing feature are provided. WebRTC and nodejs server

are chose to achieve this feature. WebRTC and nodejs server are the best solution to achieve

this feature. Also, there are many tutorial teaching the beginners how to use WebRTC and

nodejs in the Internet.

5.1.1 WebRTC

WebRTC is a free, open project that provides browsers and mobile applications with

Real-Time Communications (RTC) capabilities via simple APIs. The WebRTC components

have been optimized to best serve this purpose without plugins.

WebRTC applications need to do several things:Get streaming audio, video or other data.

Get network information such as IP addresses and ports, and exchange this with other

WebRTC clients (known as peers) to enable connection, even through NATs and firewalls.

Coordinate signaling communication to report errors and initiate or close sessions.

Exchange information about media and client capability, such as resolution and codecs.

Communicate streaming audio, video or data.

To acquire and communicate streaming data, WebRTC implements the following APIs:They

are MediaStream(getUserMedia), RTCPeerConnection and RTCDataChannel.

MediaStream is available in Chrome, Opera and Firefox. MediaStream use as input for Web

Audio. It can get access to data streams, such as from the user's camera and microphone.

RTCPeerConnection is avaliable in Chrome, Opera and Firefox. RTCPeerConnection is

currently implemented by Chrome and Opera as webkitRTCPeerConnection and by Firefox

as mozRTCPeerConnection. It is use for audio or video calling, with facilities for encryption

and bandwidth management.

RTCDataChannel is supported by Chrome 25, Opera 18 and Firefox 22 and above. It is

response to peer-to-peer communication of generic data.

As nodejs server is used to signaling in the system, RTCDataChannel is not used. Lets dig

deep into the remaining API.

5.1.1.1 MediaStream

The MediaStream API represents synchronized streams of media. For example, a stream

taken from camera and microphone input has synchronized video and audio tracks.

Page 18: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

18

The getUserMedia() method takes three parameters. They are a constraints object, a success

callback and a failure callback.

Constraints can be used to set values for video resolution for getUserMedia() and

RTCPeerConnection addStream() calls. The intention is to implement support for other

constraints such as aspect ratio, facing mode (front or back camera), frame rate, height and

width, along with an applyConstraints() method.

5.1.1.2 RTCPeerConnection

WebRTC uses RTCPeerConnection to communicate streaming data between browsers, but

also needs a mechanism to coordinate communication and to send control messages. It is a

process known as signaling. Signaling methods and protocols are not specified by WebRTC:

signaling is not part of the RTCPeerConnection API.

Instead, WebRTC app developers can choose whatever messaging protocol they prefer, such

as SIP or XMPP, and any appropriate duplex (two-way) communication channel. We choose

to uses Socket.io running on a Node server.

Signaling is used to exchange the session control message which include initialize and close

communication and report errors. Network configuration (eg:IP address and ports) and

media capabilities (eg: codecs and resolution can be handled) also exchanged through

signaling.

Once the signaling process has completed successfully, data can be streamed directly peer

to peer. Streaming is the job of RTCPeerConnection.

RTCPeerConnection is the WebRTC component that handles stable and efficient

communication of streaming data between peers.

Page 19: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

19

Below is a WebRTC architecture diagram showing the role of RTCPeerConnection.

Seems complex? Developer do not need to handle these things. WebRTC handle all these for

the developer even includes packet loss concealment, echo cancellation, bandwidth

adaptivity, dynamic jitter buffering, automatic gain control, noise reduction and suppression,

image 'cleaning'. Developer can ignore these complex stuff and start the connection by

several lines of codes

5.1.2 Nodejs Server

With NodeJS, Developer can set up a back-end Server in JavaScript.

Socket.io in Nodejs is used to do signaling in the system. A simple back-end server is set.

Front end user just need to connect the server and the message will begin to exchange

between the users.

5.1.3 Pre-Interview and Onsite-Interview

Now, you may gain some understanding on what are used to construct the video

conferencing feature in our system. In simple wordings, the system construct some rooms

by nodejs server for the WebRTC signaling to streaming. Now, the next section is going to

brief what is the role of the conferencing feature in this system.

Page 20: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

20

This system has two type conferencing. They are Pre-Interview and Onsite-Interview.

5.1.3.1 Pre-Interview

The interviewer can have a pre interview chat with the interviewees through this system.

This chat is not a formal interview and will not be recorded. Interviewer can understand

generally through this pre interview chat. Thought this system, both interviewer and

interviewees can do a conferencing chat without any add –on conferencing software.

The interviewer can start the chat by clicking the conferencing button.

At this time, a notice will sent to the related interviewee’s account to notice him a

conference is started. If that interviewee join the conference, the conference will start. The

Page 21: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

21

user ID of both interviewer and interviewee will be used as the room name in pre-interview.

If two or more interviewers want to have a chat with the same interviewee through this

system. The interviewee will join the room that made first.

5.1.3.2 Onsite Interview

For the interviewers who cannot go to the interview site, they can use the onsite-interview

function to have an interview with the interviewees. The interview process can be recorded

for future review. Onsite Interview is only available in reviewer or helper’s account.

User can start the conference by clicking the conferencing button. If another user go to the

same page and click the related conferencing button, the conference will start.

Page 22: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

22

5.2 Video Recording

In this system, recording feature is provided for the user to record the conferencing process.

User can upload the recorded video to the server directly in the system. The video files will

keep as the interviewees’ records. Interviewers can review the video in the play video

function in our system.

5.2.1 RecordRTC

As WebRTC do not provide any recording API. This system record the video with RecordRTC.

RecordRTC is a JavaScript-based media-recording library for modern web-browsers

(supporting WebRTC getUserMedia API). It is optimized for different devices and browsers to

bring all client-side (plugin free) recording solutions in single place.

In Firefox, RecordRTC can record both audio/video in single WebM container. In Chrome,

RecordRTC can record both audio/video in seperate WebM container.

5.3 Merge media files

AS mentioned in the previous part, RecordRTC can record both audio/video in seperate

WebM container in Chrome browser.Because of Chrome cannot record both audio/video in

single WebM file and for the data consistency of our system, the separate files recorded by

Chrome browser should be merged into one file. As a solution, this system will merge the

files in the server with FFmpeg, which is a complete, cross-platform solution to record,

convert and stream audio and video.

Page 23: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

23

5.4 Conferencing Jot notes

There is a text area below the video object in both pre-interview and onsite-interview page.

User can jot down their comment and notes to the interviewees and save it during

conferencing. This system can further analysis this comments to give some feedback to the

users.

Page 24: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

24

5.5 E-mail

As a interview system, e-mail function is necessary. User can send bulk mail to inform the

applicants their application result or make some announcement in this system. User can

select the applicants by checking the check boxes and send the mail by click the send button.

Clicking “select all the student satisfy the search requirement” button can select all the

student fit the requirement in the search engine we provided. Clicking “Clean all selected

student” can deselect up all the selected students.

Set e-mail template

User can set e-mail template for future use in our system. User can use the template instead

of type the content every time before he send the e-mail.

Page 25: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

25

5.6 Display which column and student on a table

As there are so many attributes for one applicant. A large table is constructed to show all the

attributes of all applicants. The table is hard to view because of hardware limitation. The

users cannot even know what they are reading as they don’t know which column and row

stand for (as shown above). As solution, when the mouse pointer on hover a cell of the table,

the related column name and student name will be shown.

5.7 Alert box for conferencing

An alert box will pop up to notice the interviewees to join the conferencing when someone

invite him to have a pre-interview chat. The interviewee can join the conferencing directly

by clicking the ok button, or he can click the no cancel button to ignore this notice. This alert

will pop up each time the user refresh the page until no conference is available for the

interviewees.

Page 26: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

26

5.8 Export Csv

In this system, user can export the current table as a csv file. With the search engine this

system provided, user can defined the content of the table. For example, user can export a

csv file with selected attribute, user can also do some filtering and export the result as a csv

file. User can use this feature to make some files which fit their use. Filtering the

unnecessary column can make the record more readable for some users. This feature can

also fulfils the need of keeping a backup for some users.

Page 27: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

27

5.9 Print Applicants info

In “Printing Applicants’ Info”, the staff can print applicants’ info for further use. With the

hardcopies the users can view the student information at any time and any place even

without networking. This can be a backup solution to view the student information for some

interview site with a unstable networking.

Page 28: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

28

SECTION 6: Weakness and Limitations

6.1 Only support peer to peer conferencing

This system only support peer to peer conferencing. It do not support three or more people

conferencing together. I have dig deep into WebRTC and it seems to support three or more

people conferencing feature.

I have great interest to implement 3 way conferencing in our system. But 3 way

conferencing is not essential in our system and I have already spent too much time on

investigate WebRTC. I afraid that if I continue the 3 way conferencing , I will defer the

schedule. So I decided not to implement 3 way conferencing.

6.2 E-mail

At now stage, this system send e-mail via mail client. So the limitation on mail client will also

limit this system. The best solution to send bulk mail is to set up a php mail server. This will

be develop in the future.

6.3 Time Management

Time management is easier said than done. Apart from the final year project, I have take

other elective courses. Some of the courses’ workload is quite demanding.

Besides, I did not have solid experience of implement a system with MVC model before

commencing the final year project. Learning new technology such as WebRTC, RecordRTC

and FFmpeg and Debugging errors consumed much time and effort, which are being

underestimated. Although the tasks are challenging, I have spent about two to three days a

week in this project, trying to accomplish the proposed tasks.

Page 29: A Portable and Intelligent Interview Systemi.cs.hku.hk/fyp/2014/report/final_report/Cheng Man Fung Kevin... · A Portable and Intelligent Interview System Project is a Final Year

29

SECTION 7: Conclusion

Although this project is challenging to me, I enjoy taking challenges as I have enthusiasm of

developing software. This project provides me a valuable opportunity to have the practical

experience of doing group projects before graduation.

In this project, I contact with so many different technology, such as WebRTC, RecordRTC,

MVC model. Investigate on these technology is challenging but interesting. This also

broadened my horizon in the field of being a developer. Being a developer not just solve the

problem by what we know, we learn something new to give out the best solution for some

problems.

This one-year experience working with my group members is enjoyable. We brainstormed

ideas together, tackled problems together, cooperated with each other and always gave our

full support. I am really glad to work with them and proud of the finalized version of our

system!