CliCker Android nAtive AppliCAtion INTERNS 2013
Jul 16, 2015
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