First Presentation Powerpoint

advertisement

A Portable &

Intelligence

Interview System

Supervisor: Dr. Cheng Reynold

Cheng Man Fung Kevin 3035042423

Fung Chin Pan 3035044641

Lau Hiu Tsun 3035042423

Tso Hei Lok 3035043738

Agenda

 Background & Related Work

 Objectives

 How to Achieve

 Development Platform

 About Our Application

 Other Technologies Utilized

 Demo

 Conclusion

Background & Related Work

Background

 Difficulties:

 Manually Paper Work Process

 Time-consuming & costly

 Onsite Interview Site Problem

 Bad Network Connection Problem

 Decision Making

 How to select a right candidate

Develop an All-in-one Application

Related Work

 Existing System

 Management of the applicants’ information

 Improvement on user interface & presentation of data

 Face-to-face Interview

 No functionality on Video Conferencing & Recording

Related Work

 Existing Product

 Some may include

 Video conferencing function

 Analysis on the effectiveness and consistency across interviewers

 Excellent interfaces on managing applicants’ information

Combined them all together, we get a Portable and Intelligent Interview System !!

Objective

Objective

 Diversity

 Functionalities to manage information

Portability

 Handling of bad network connection problem

 Intelligence

 Analysis on interviewee

How to Achieve

How to Achieve

Diversity

 All-in-one System

Text processing, video conferencing, recording & etc.

 A Server allowing access from around the world

 Keeping information inside confidential

How to Achieve

 Portability

 Online System

 Offline System

 To handle bad network environment

 Simple to use

How to Achieve

 Intelligence

 Statistical Analysis

 Presentation of pass data in Charts

Comparison among different years of data

 Data-mining

 Text Mining

 Naïve Bayes Classifier

Development Platform

Development Platform

 LAMP

 Ubuntu, Apache Server, MySQL, PHP5

 Developed for a long time

 Free & Open-source software

Development Platform

 MVC Model

 Model

 View

 Controller

 CodeIgniter

 Build-in libraries

 Developed for years

IntelliJ IDEA over Eclipse IDE

 Smarter auto-completion

 Class name / method signatures / variables

IntelliJ IDEA over Eclipse IDE

 Optimized Default Controls for Keyboard

 Refactoring, error fixing, generation of code

Key Binding:

Alt-Insert

Key Binding:

None (Manual

Configuration needed)

About Our Application

Business Flow

 Preparation phase

System admin

(root) create new round

Add staff

(helpers / reviewers) to new round

Accept student applicants

Business Flow

 Pre-interview phase

Helpers provide summary to student applicants (helper’s comment)

Reviewers have a chat by conferencing with the student applicants of interest

Staff add new students manually if necessary

Business Flow

 On-site interview phase

Student

Applicants’ information prepared

Conduct interview and record with video functionality

/ camcorder

Manage comments and interview videos

(Optional, for offline module only)

Upload comments and interview videos

Business Flow

Post on-site interview

Review student’s full record

Automated analysis (on-site comment analysis, map analysis, chart analysis)

 Sundry Item

Email Functionality

Special Feature

 Video Conferencing

Impossible to arrange interviews for all the applicants

 Video Recording

Difficult for some of the reviewers to participate the onsite interview

Special Feature

Secure Socket Layer (SSL)

 application layer confidentiality

 symmetric key encryption

 protection against network packet capturing software

Special Feature

Analysis

 Map analysis

Distribution of the location of university of current year applicants

 Comment Analysis

 Suggestion of whether the student applicants should be accepted or not

 Chart analysis

 Statistical information of current round for better planning and coordination in future

No-Network Capability

 Endure the unstable, low bandwidth or even no network situation

Develop offline module

 Manage onsite comments and interview videos

 Upload the managed comment with one click when network is stable

Minor items

 Student list filtering

 Email

 Student view application

 View application

System Architecture

(fyp14003s1.cs.hku.hk)

Online Module @ HKUCS

Database

Web Server

+

WebRTC

Node JS server

Interne t

Interview round management

User account management

Comments and video management

Analysis

Email functionality

Offline

Module

Geolocation with

Unstable/NO

Internet Access

Manage student applicants’ onsite interview comment and video

View student applicants’ information

Bring back

Bring into

Database Design

Model View Controller (MVC) pattern

 Passive view model

 Controller: communicating component

 View component: presentation of data

 Model: logical evaluation

Views further organized

 Advantage: separation of code

Decorator Pattern

 Helps filtering of student applicants list

 Reduces number of subclasses by decorator chaining

 Improves code quality

Other Technologies Utilized

What is WebRTC?

Free

 open source

 Real-Time Communications (RTC)

Why WebRTC?

 No plug-in

 open source

 free

Standardized

 efficient

WebRTC work on?

 Chrome

 Opera

 Firefox

WebRTC applications do

 Get streaming

 Audio

Video

 Other data

WebRTC applications do

 Get network information

 IP address

 Ports

Coordinate signaling communication

 Exchange information about media

 Communicate streaming

WebRTC implements APIs

 MediaStream

 Audio

 Video

 RTCPeerConnection

 establish communication channel

 RTCDataChannel

 prepare for signaling

MediaStream

 synchronized streams of media

Signaling

 not specified by WebRTC standardize

 Choose by WebRTC app developer

 Session Initiation Protocol (SIP)

 Extensible Messaging and Presence Protocol (XMPP)

XMLHttpRequest (XHR)

(We use Socket.io running on a Node server)

Signaling

 Exchange three types of information

 Session control messages

 Network configuration

 Media capabilities

RTCPeerConnection

 Make the communication of streaming data between peers.

 Stable

 efficient

Something about the system

 Socket.io running on a Node server

 currently support 1 to 1 conferencing

RecordRTC

 JavaScript-based media-recording library

 A recording solution

Security

 Problems

 Man in middle

 Data access right issue

 Malware or viruses might be installed

WebRTC’s Security

 secure protocols

 Datagram Transport Layer Security (DTLS)

 The Secure Real-time Transport Protocol (SRTP)

 Encryption is mandatory

 Not a plug-in

 Media access must be granted explicitly

Reviewers’ comment analysis

 Naïve Bayes Classification

 Efficient

 Tutorials from the internet

Data preparation

 Classified comments into positive and negative

 Extract words

 Calculating Conditional Probabilities

 Find the largest value to determine the class

Reviewers’ comment analysis

 Testing

 75% training data, 25% testing data

 24 testing comments (21 positive, 3 negative)

 Accruacy 90%

 19 positive, 5 negative

21 positive comments, 19 of them are classified as positive

 3 negative comments, all of them are classified as negative

Google map geolocation

 Send a request to google server

 Short form or full name also accepted

 HKU and The University of Hong Kong

 Receive response

 Put a marker on the map

Google Chart API

 Show Statistical data

 Loading some Google Chart Library

 Input data

 Select options

 Create chart object

Showed on javascript

Technologies Utilized

 Apache HTTPClient

 Construction of HTTP GET and POST messages

 GSON

 JSON parsed into and from java object

 Guava

 Creation of structured constant maps by collection builder.

Demo

Conclusion

Progress- completed

 Online System

 E-mail system

 Video conferencing

 Onsite and pre-interview video uploading

 Search form of students

 Managing accounts

 Managing rounds

 Analysis on reviewers’ comment

 Reading and modifying comments

 WebRTC recording in Firefox

Progress- completed

 Offline system

 Synchronization with online system

 Video saving

 Viewing student information

 Modifying reviewers’ comments

Progress- under development

 Google map analysis

 Cross-year analysis

 UI design

Statistical analysis

Progress- to be implemented

Beta version for professor testing

Smoke test has done

 Need further testing for its robustness

 We are glad to receive feedbacks for improvement

Study WEKA for data mining

Video recording in Google Chrome

“walk-in” student support

Pre-interview conferencing

Future Development

 WEKA

 a collection of machine learning algorithms

 applied directly to a dataset

 Java code

 data pre-processing, classification, regression, clustering, association rules, and visualization

 Cross year analysis

 Provide more statistical information

Future Development

 “Walkin” student support

 Student who did not register

 Offline system support

Pre-interview conferencing

 No way to invite a student to start a conferencing

 Solution

 A dialog box to accept the conferencing

Possible Difficulties

 Reviewers comment analysis

 Accuracy

 <100 student information

 75% training data, 25% testing data

 Large variance

 Need more data from next few years

Possible Difficulties

 Consistency

 RecordRTC

 Firefox

Record video and audio in one file

 Chrome

Record video and audio in one file separately

 Solution

 FFmpeg

 An application can merge media file

Support most of the file type

 Webm

 Wav

FAQ Section

Reference

SSL how to import cert to Java Keystore: http://letmehelpyougeeks.blogspot.hk/2009/07/adding-servers-certificate-tojavas.html

XAMPP: SSL Encrypt the Transmission of Passwords with https: http://robsnotebook.com/xampp-ssl-encrypt-passwords

How To Create a SSL Certificate on Apache for Ubuntu 14.04: https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificateon-apache-for-ubuntu-14-04

Apache HTTP Client: http://hc.apache.org/httpcomponents-client-ga/index.html

Google GSON: https://code.google.com/p/google-gson/

Google Guava: https://code.google.com/p/guava-libraries/

Decorator Pattern: http://en.wikipedia.org/wiki/Decorator_pattern

IntelliJ IDEA: https://www.jetbrains.com/idea/

Thank you!

Download