Clicker Native Android Application

Post on 16-Jul-2015

277 views 4 download

Tags:

Transcript of Clicker Native Android Application

CliCker Android nAtive AppliCAtion

INTERNS

2013

our teAm: Ajitha SekarGagan Kumar SambaruLaw KumarPruthvi Gopal Rabart KurreySrilatha Swetha Pullur

our mentors:Mr. Rajesh Kushalkar Mr. Tushar Kambli Mr. Rajavel  Mr. Gobinath Mani Mr. Varun Madkaikar Miss. Dipti Ghosalkar Mr. Chetan Jaiswal Miss Kirti Ambre Mr. Harshvardhan 

over view• Why Native• New in Clicker v4• Overview of Architecture• Flow of functionality• Synchronization• Why REST• Architecture• Random Questions and Options• Challenges • Statistics • Random Batch Algorithm• Demo• Future work

why nAtive:

• Browser dependent functionality• Navigation during Quiz was allowed• Size of the file being transferred was large

(2MB)• Time to download was very large• Maintaining sessions of students create a

heavy load on server

• ReST• Sessions are not maintained on server• Random questions, options• Synchronization of quiz• Used random batch allocation algorithm for

optimal utilization of router (Reference: Parmendra & Deepak Jayanth)

New in Clicker v4:

OVERVIEW Architecture :

Login pageFlow of functionality

Login page On WI-FI

&CONNECT

Server

On

Connect

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

If

Authenticated

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Displays

Course list

Course list

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Course list

On Select Course

Home page

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Home page

On

Select Quiz

Course list

Server sendsQuizJSON

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Server sendsQuizJSON

Home page

Course list

Displays

Quiz

Quiz page

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Server sendsQuizJSON

Home page

Course list

Displays

Quiz

Quiz page

Result page On Timeout Submit

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Server sendsQuizJSON

Home page

Course list

Displays

Quiz

Quiz page

Waits forTime out

Manual SubmitResult page

Synchronization:

IN JSON,Launch time = server time when server launches quiz + wait time (static)Access time = server time when client request hits the server (dynamic)Quiz time (static –> set by server)

CASE 1:Scenario: Launch time > Access timeAction: Wait for (Launch time – Access time) time to attempt quiz

CASE 2:Scenario: Launch time = Access timeAction: Launch quiz immediately with Quiz time

CASE 3:Scenario: Launch time < Access time (student attempts quiz late)Action: Launch quiz immediately with (Quiz time – (Access time – Launch time))

Why REST:

• Stateless• Scalability• Connection is not

persistent

Architecture :

0 0

1 1

2 2

3 3

4 4

5 5

6 6

7 7

8 8

9 9

Index Value

0 3

1 5

2 7

3 1

4 8

5 9

6 0

7 6

8 2

9 4

Array Shuffled Array

Index Value

Random Questions and Options

Challenges:

How web server and android app will communicate?How to manage the sync between app and server

activities?Keep tracking on response of individual tablet/StudentDesigning Database Schema and managing hash mapRandomly displaying questions , options for every

tablet.Used random batch allocation algorithm for client to

access data.

RANDOM BATCH ALGORITHM:

Random Batch

Algorithm(Contd.)

DEMO

Login:

Course list:

Home page:

Wait page:

Result page:

Logout page:

Future Works

• Student id input can be eliminated• Server id can be replaced by URL• Course need not to be selected by the

Student• Images for Questions

BiBliography :

http://stackoverflow.com/ (May-June 2012)

http://w3schools.com/ (May-June 2012)

http://www.eclipse.org/downloads/ (May-June 2012)

http://www.mkyong.com/

http://avilyne.com/?p=105

Restful java with rest-xs text book