Android Based Attendance System
Under Guidance Presentation 1 of: Prof. M. Balakrishnan

1 CSP315- Android Based Attendance System

Pallav Agrawal 2009CS50250 Ankush Jindal 2009CS50234 Harsh Gupta

– – –

Motivation Objectives System Requirements Design Details Interesting Decisions

Status So Far
2 CSP315- Android Based Attendance System

 Taking attendance in large classes is

 cumbersome
 repetitive  Consumes valuable class time
 Universality of mobile phones motivates to make

better use of this technology.


CSP315- Android Based Attendance System

Android Based Attendance System .  Develop and Implement attendance system .  Create an android mobile application to provide a consistent UI to interact with the system.Objectives  Automating user identification via Android Based protocol. 4 CSP315.

System Requirements Hardware Server Android Phone Software  Eclipse IDE Students phones  Android SDK  Apache web server Android Based Application 5 CSP315.Android Based Attendance System  Drupal CMS .

Android Based Attendance System .Design Details 6 CSP315.

High Level Architecture Diagram 7 CSP315.Android Based Attendance System .

Android Based Attendance System .Concept Diagram 8 CSP315.

Android Based Attendance System .Mobile Application Higher Level Details 9 CSP315.

Web Service Design 10 CSP315.Android Based Attendance System .

High Level Architecture Of Web Server 11 CSP315.Android Based Attendance System .

Web Site Design 12 CSP315.Android Based Attendance System .

Professor/Host • by human cmd • by automated scheduling Ping • Search in range • proxy check • push to db Initialisation Store 13 CSP315.Android Based Attendance System .

Android Based Attendance System .Android Based Activity Detection of visible Devices Receipt and Storage Of Data Extract mac addresses Comparison of received addresses with registered addresses User intervention to override presence of student Proxy Attendance Checking Saving attendance for the session 14 Sync with server on internet connection CSP315.

Interesting Decisions 15 CSP315.Android Based Attendance System .

 Manual verification of headcount. 16 CSP315.Points of Discussion  Proxy Attendance  Persistent problem that needs to be addressed  Need a robust solution  Present Ideas:  Random checks by professor.Android Based Attendance System .

Android Based Attendance System .Points of Discussion  Creation of simple app to authenticate student  E.g. Entering a password for verification  Does not solve proxy problem  Can cause distraction during class 17 CSP315.

18 CSP315.  Some examples of plugins are:  Automatically take attendance as per schedule.Android Based Attendance System .Ease of Use on Mobile Application  Mobile app to have features for enabling plugins.  Proxy attendance based (discussed earlier).

 of administrative users to police entire CSP315.  Providing secure and encrypted access to the database.  Automated Initialization of the database for courses.  Permission Centric model with different privileges to each kind of user.Android Based Attendance System 19 Provision .Database Features  Integration with Kerberos Authentication.

Milestones (completed) Design [1st June] Procure Hardware [14th July] Sanity Check [19th July] Database @Android [26th July] Navigation GUI @Android [5th August] 20 CSP315.Android Based Attendance System .

Android Based Attendance System .Milestones Hardware Calibration [12th August] Bare Bones Web Service [30th August] Security Enhancements [22nd Sep] Proxy Plugins Development [12th Oct] Scheduling Plugins Development [20th Oct] 21 CSP315.

Android Based Attendance System .Milestones Polish GUI [27th Oct] Creation of Project Poster Final Demo 22 CSP315.

Present Status Design Sanity Check Database @Android 23 CSP315.Android Based Attendance System Website .

Android Based Attendance System .Present Status Navigation GUI Bare bones Web Service 24 CSP315.

Android Based Attendance System .Immediate Steps Calibration Sync with webserver 25 CSP315.

Android Based Attendance System .Tasks and Scheduling 26 CSP315.

Android Based Attendance System Communication of the web server and app .Task Distribution Harsh Design of database on mobile app. Ankush Design of the Android Based Activity Sending and receiving data@ android end 27 CSP315.

Task Distribution Pallav Design of the Mobile User Interface Deeksha Design of the web server database Security in connections CSP315.Android Based Attendance System Implementation of the website 28 .

in 29 CSP315.  Procured two weeks before semester started.iitd.cse.Hiccups  Delay in procuring android phone.  Rescheduled plan accordingly.  Unable to access database from entire campus network  Solved by setting up database on poorvi.Android Based Attendance System .ac.

5)  Android Based API expected to be out in Next Update -2012. 7.Hiccups  Windows Phone 7  Android Based API not exposed in Mango ( ver.Android Based Attendance System . 30 CSP315.

Android Based Attendance System .Project Weblink http://sites.com/site/csp315attend/ 31 CSP315.google.

Android Based Attendance System .Thank You 32 CSP315.

M.Android Based Attendance System Pallav Agrawal 2009CS50250 Ankush Jindal 2009CS50234 Harsh Gupta – – – .CSP-315 Android Based Attendance System Presentation 2 Under Guidance of: Prof. Balakrishnan 33 CSP315.

Android Based Attendance System .Design Details 34 CSP315.

Android Based Attendance System .Recap 35 CSP315.

Android App Re-imagined Initial Design Course 1 Course 2 … Details Of Attendees 36 Attendance Log CSP315.Android Based Attendance System .

Android App Re-imagined New Design Contact List 37 Courses Meetings CSP315.Android Based Attendance System .

Android App Re-imagined Professors of same dept Contact List All Course Attendees Other Profs Students of same dept Other students 38 CSP315.Android Based Attendance System .

.Android Based Attendance System .Android App Re-imagined Courses Course1 …. Ids of attendees 39 Attendance Log Schedule etc CSP315.

Android App Re-imagined Meetings Group 1 ….Android Based Attendance System . Meeting1 … Ids of attendees Invitation response status Log of Present People 40 CSP315.

 Less rigorous.  Each of these people can edit attendance of any attendee.  Pretty Cumbersome.  More Flexible and very practical . course coordinator]  Very Rigorous. [ta’s . 41 CSP315.Android Based Attendance System privileged people for each course. profs.Choices Person Centric  Create list of people Course Centric  Create list of who can edit the attendance logs of one person.Permission Model .

Android Based Attendance System .Project Status 42 CSP315.

Android Based Attendance System .LDAP & Kerberos Integration  Automated initialization from LDAP  List of courses  List of attendees  Course Coordinators  Identification of user groups  Integrated with the Kerberos authentication 43 CSP315.

LDAP Integration .Android Based Attendance System .Leaks  Only course coordinator in LDAP  Other profs have to manually registered for each course with super privileges.  Any super of the course can manually add TA’s 44 CSP315.  TA’s are not available in LDAP.

Android Based Attendance System .  Codes:  CA: Course Add  CD: Course Delete  SA : Student Add  SM : Student Modify  SD : Student Delete  SP: Student Proxy 45 CSP315.Initialization Of Database On App  Relevant Data is sent over to the app on initialization.

Android Based Attendance System .Networking : Server <-> App  Transaction Of Attendance Logs  Transaction Of Updated Mac Addresses  Transaction Of Proxy Attendance  JSON encoding is used for transaction of strings. 46 CSP315.

47 CSP315.Android Based Attendance System .Network Security  Web server uses https(128 bit encryption) for all communications  Web site  Android app  Installation of website certificate is integrated with the app installation (automatic).

Android Based Attendance System .Next Actions 48 CSP315.

49 CSP315.How to get MAC addresses?  Proposed Solutions:  Direct Input from user  User looks up Android Based MAC address and enters into profile via webpage  Different Procedures as per manufacturer of the phone  Windows Program  Design of windows program  Display a list of Android Based Connections in range and corresponding MAC addresses.Android Based Attendance System .

Android Based Attendance System . 50 CSP315.  Maximum distance to which a person was registered present.Experimentation  Run experiment in Labs  Short circuits:  User registration  Course Attendees Lookup  Data to be recorded:  Number of people present.  Number of people in proximity but not marked present.  Number of people found to be present.

Open Questions  How to find maximum number of connections that can be identified by a mobile phone? 51 CSP315.Android Based Attendance System .

Android Based Based Attendance Project PRESENTATION 3 .



Identify people by mac addresses Automate attendance process for large classes

System Design

Android app

Web server Desktop app to register users

Project status .

Android Based Attendance System .Progress before Presentation2 Website • Web service • Automatic initialization(ldap) • Web interface App • Android Based ping • Encrypted Communication • Kerberos integration 58 CSP315.

59 CSP315. Website • SMTP email sending deployed.Android Based Attendance System .. Results later.Progress after presentation 2 Android App • Meetings support added Experimentation • Diagnostic activity coded.

60 CSP315.  Relevant entries can be synced in advance.Android Based Attendance System .Meeting  Adhoc meetings:  Create meeting on the spot  On the spot querying of web server may be required.  Preplanned meetings:  Send invitations via web interface.

 Does not allow mac address sharing  Kerberos Authentication  Implementation:  Uses Android Based stack provided by python- bluez 61 CSP315.Desktop Application  Need : Register student’s mac-address.  Independent of Android Based stack.  Requirements:  Portable and easy to run.Android Based Attendance System .

Experiment  Maximum range till which a person may be      identified? Maximum number of people that can be identified? Are we missing out any people in the vicinity? How much battery is consumed? How much time is needed to find n people? How much time should the application run? 62 CSP315.Android Based Attendance System .

Android Based Attendance System .Maximum Range  Without any obstructions:54 m  With one wall in the middle: 12m outside wall 63 CSP315.

Battery Consumed Battery Level 42.Android Based Attendance System .5 39 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170 180 190 200 Number of people found 64 CSP315.5 Battery Level 40 39.5 41 40.5 42 41.

Time taken to detect People 500 450 400 350 Tiem in seconds 300 250 200 150 100 50 0 10 20 30 40 50 60 70 80 90 100 110 120 Number of people 130 140 150 160 170 180 190 200 65 CSP315.Android Based Attendance System .

Android Based Attendance System .Running time of app?  Keep a count of number of people found in previous 40 seconds.  Stop when count==0 66 CSP315.

Next steps  Store photographs of students in the android database. 67 CSP315.  Stress testing .Android Based Attendance System . checking for any open loops.  Add proxy catching heuristics to code  Randomly display names of present people  Add scheduling functionality to the app so that it can run on itself as per a timetable.

Thank you 68 CSP315.Android Based Attendance System .