34
CliCker Android nAtive AppliCAtion INTERNS 2013

Clicker Native Android Application

Embed Size (px)

Citation preview

Page 1: Clicker Native Android Application

CliCker Android nAtive AppliCAtion

INTERNS

2013

Page 2: Clicker Native Android Application

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

Page 3: Clicker Native Android Application

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 

Page 4: Clicker Native Android Application

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

Page 5: Clicker Native Android Application

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

Page 6: Clicker Native Android Application

• 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:

Page 7: Clicker Native Android Application

OVERVIEW Architecture :

Page 8: Clicker Native Android Application

Login pageFlow of functionality

Page 9: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

On

Connect

Page 10: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

If

Authenticated

Page 11: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Displays

Course list

Course list

Page 12: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Course list

On Select Course

Home page

Page 13: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Home page

On

Select Quiz

Course list

Server sendsQuizJSON

Page 14: Clicker Native Android Application

Login page On WI-FI

&CONNECT

Server

Server sendsCourse list

JSON

Server sendsQuizJSON

Home page

Course list

Displays

Quiz

Quiz page

Page 15: Clicker Native Android Application

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

Page 16: Clicker Native Android Application

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

Page 17: Clicker Native Android Application

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))

Page 18: Clicker Native Android Application

Why REST:

• Stateless• Scalability• Connection is not

persistent

Page 19: Clicker Native Android Application

Architecture :

Page 20: Clicker Native Android Application

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

Page 21: Clicker Native Android Application

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.

Page 22: Clicker Native Android Application
Page 23: Clicker Native Android Application
Page 24: Clicker Native Android Application

RANDOM BATCH ALGORITHM:

Page 25: Clicker Native Android Application

Random Batch

Algorithm(Contd.)

Page 26: Clicker Native Android Application

DEMO

Page 27: Clicker Native Android Application

Login:

Page 28: Clicker Native Android Application

Course list:

Page 29: Clicker Native Android Application

Home page:

Page 30: Clicker Native Android Application

Wait page:

Page 31: Clicker Native Android Application

Result page:

Page 32: Clicker Native Android Application

Logout page:

Page 33: Clicker Native Android Application

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

Page 34: Clicker Native Android Application

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