You are on page 1of 68

CSP-315

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

Outline
Motivation Objectives System Requirements Design Details Interesting Decisions

Milestones
Status So Far
2 CSP315- Android Based Attendance System

Motivation
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

Objectives
Automating user identification via Android Based

protocol.
Develop and Implement attendance system . Create an android mobile application to provide a

consistent UI to interact with the system.

CSP315- Android Based 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

Design Details

CSP315- Android Based Attendance System

High Level Architecture Diagram

CSP315- Android Based Attendance System

Concept Diagram

CSP315- Android Based Attendance System

Mobile Application Higher Level Details

CSP315- Android Based Attendance System

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

Interesting Decisions

15

CSP315- Android Based Attendance System

Points of Discussion
Proxy Attendance
Persistent problem that needs to be addressed Need a robust solution Present Ideas:

Random checks by professor. Manual verification of headcount.

16

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

Ease of Use on Mobile Application


Mobile app to have features for enabling plugins. Some examples of plugins are:

Automatically take attendance as per schedule. Proxy attendance based (discussed earlier).

18

CSP315- Android Based Attendance System

Database Features
Integration with Kerberos Authentication. 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.


of administrative users to police entire CSP315- Android Based Attendance System 19 Provision

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

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

Immediate Steps

Calibration

Sync with webserver


25 CSP315- Android Based Attendance System

Tasks and Scheduling

26

CSP315- Android Based Attendance System

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

Hiccups
Delay in procuring android phone.
Procured two weeks before semester started. Rescheduled plan accordingly.

Unable to access database from entire campus

network
Solved by setting up database on

poorvi.cse.iitd.ac.in

29

CSP315- Android Based Attendance System

Hiccups
Windows Phone 7
Android Based API not exposed in Mango ( ver.

7.5) Android Based API expected to be out in Next Update -2012.

30

CSP315- Android Based Attendance System

Project Weblink
http://sites.google.com/site/csp315attend/

31

CSP315- Android Based Attendance System

Thank You

32

CSP315- Android Based Attendance System

CSP-315

Android Based Attendance System


Presentation 2
Under Guidance of: Prof. M. Balakrishnan

33 CSP315- Android Based Attendance System

Pallav Agrawal 2009CS50250 Ankush Jindal 2009CS50234 Harsh Gupta

Design Details

34

CSP315- Android Based Attendance System

Recap

35

CSP315- Android Based Attendance System

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 App Re-imagined


Courses

Course1

..

Ids of attendees
39

Attendance Log

Schedule etc

CSP315- Android Based Attendance System

Android App Re-imagined


Meetings

Group 1

Meeting1

Ids of attendees

Invitation response status

Log of Present People

40

CSP315- Android Based Attendance System

Permission Model - Choices


Person Centric
Create list of people

Course Centric
Create list of

who can edit the attendance logs of one person. [tas , profs, course coordinator] Very Rigorous. Pretty Cumbersome.
41 CSP315- Android Based Attendance System

privileged people for each course. Each of these people can edit attendance of any attendee. Less rigorous. More Flexible and very practical

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

LDAP Integration - Leaks


Only course coordinator in LDAP
Other profs have to manually registered for each

course with super privileges.


TAs are not available in LDAP.
Any super of the course can manually add TAs

44

CSP315- Android Based Attendance System

Initialization Of Database On App


Relevant Data is sent over to the app on

initialization. Codes:
CA: Course Add CD: Course Delete SA : Student Add SM : Student Modify SD : Student Delete SP: Student Proxy

45

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

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.

49

CSP315- 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. Maximum distance to which a person was

registered present. Number of people in proximity but not marked present.


50 CSP315- Android Based Attendance System

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

RECAP

OBJECTIVES

Identify people by mac addresses Automate attendance process for large classes

System Design

Deliverables
Android app

Web server Desktop app to register users

Project status

Progress before Presentation2

Website
Web service Automatic initialization(ldap) Web interface

App
Android Based ping Encrypted Communication Kerberos integration

58

CSP315- Android Based Attendance System

Progress after presentation 2


Android App Meetings support added Experimentation Diagnostic activity coded.. Results later. Website SMTP email sending deployed.
59 CSP315- 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. Relevant entries can be synced in advance.

60

CSP315- Android Based Attendance System

Desktop Application
Need : Register students mac-address.

Requirements:
Portable and easy to run. Independent of Android Based stack. Does not allow mac address sharing Kerberos Authentication

Implementation:
Uses Android Based stack provided by python-

bluez

61

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

Maximum Range
Without any obstructions:54 m

With one wall in the middle: 12m outside wall

63

CSP315- Android Based Attendance System

Battery Consumed
Battery Level
42.5 42

41.5

41

40.5

Battery Level

40

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

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

Running time of app?


Keep a count of number of people found in

previous 40 seconds. Stop when count==0

66

CSP315- Android Based Attendance System

Next steps
Store photographs of students in the android

database. 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 , checking for any open loops.

67

CSP315- Android Based Attendance System

Thank you

68

CSP315- Android Based Attendance System

You might also like