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

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

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.

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

Concept Diagram 8 CSP315.Android Based Attendance System .

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

Web Service Design 10 CSP315.Android Based Attendance System .

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

Web Site Design 12 CSP315.Android Based Attendance System .

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

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

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

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

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

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.

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

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

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

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

Android Based Attendance System .Tasks and Scheduling 26 CSP315.

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

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 .

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

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

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

Android Based Attendance System .Thank You 32 CSP315.

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

Design Details 34 CSP315.Android Based Attendance System .

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 Based Attendance System .Android App Re-imagined New Design Contact List 37 Courses Meetings CSP315.

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 App Re-imagined Courses Course1 …..Android Based Attendance System . Ids of attendees 39 Attendance Log Schedule etc CSP315.

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

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

Android Based Attendance System .Project Status 42 CSP315.

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.Android Based Attendance System .

 Any super of the course can manually add TA’s 44 CSP315.LDAP Integration .Leaks  Only course coordinator in LDAP  Other profs have to manually registered for each course with super privileges.  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 .

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

Next Actions 48 CSP315.Android Based Attendance System .

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

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.

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

Android Based Attendance System .  Relevant entries can be synced in advance.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. 60 CSP315.

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

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.

5 41 40.5 Battery Level 40 39.Battery Consumed Battery Level 42.5 42 41.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.Android Based Attendance System .

Android Based Attendance System .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.

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

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.  Stress testing . 67 CSP315.Next steps  Store photographs of students in the android database.

Android Based Attendance System .Thank you 68 CSP315.