270 likes | 343 Views
Graduate Thesis Presentation. Momentary Assessment System for Mobile Devices. Supreeth Shanthakumar Department of Computer Science August 16 th 2011. Presentation Agenda. What is the need for Momentary Assessment ? Who can benefit ? Solution Proposed by this project
E N D
Graduate Thesis Presentation Momentary Assessment System for Mobile Devices Supreeth ShanthakumarDepartment of Computer Science August 16th 2011
Presentation Agenda • What is the need for Momentary Assessment ? • Who can benefit ? • Solution Proposed by this project • Location Based Services (LBS) • Why PUSH data? • System Architecture & design • Applications • Live Demonstration • Conclusions • Q&A
What is the need for Momentary Assessment? • Paper and pencil self Monitoring (PM) technique – common technique for gathering data. – Participants entered data on cards or books. Drawbacks: • Possibility of faked data. • Lack of quality control. • Forgetful nature of people. • Ecological Momentary Assessment (EMA) technique – more sophisticated alternative to PM. Participants interacted with handheld devices to initiate entries on occurrence of an event or target behavior. Advantages: • Data collected in real time. • Data tagged with date and time – prevents fake data • Provides control of data and quality.
Who can benefit ? • Businesses need customer feedback. • Need to analyze data in order to assess the market. • Accuracy of data – Highest priority. • Organizations/Institutions need better tangible data to provide accurate solutions. • The more accurate the data the better the solution. • News corporations require multimedia rich information to attract consumers. • Business owners need better tool to assess employee efficiency. • Identify areas which need improvement
Solution proposed by this project • System to help gather sensitive user data based on two factors. • Location based • Need based • Steps involved: • Have mobile users register to the service. • Tag surveys to locations. • Trigger data collection when user enters these locations. • Provide rich, intuitive interface to analyze uploaded data. • Ability to PUSH surveys onto devices, triggered by an event – on demand
Location Based Services (LBS) • LBS – Services which take advantage of mobile user’s geographical location. • Location sensitive devices expand the horizon of services delivered to customers. • Typical Real-Time Location Systems (RTLS) grouped based on how each determine the position. • Cell of origin (nearest cell) • Distance (lateration) • Angle (angulation) • Location Patterning (pattern recognition) • Applications: • Location Based Advertising • Location Based Alert systems
Why PUSH data? • Modern services don’t restrict data on device. Provide data persistence in the cloud. • Fundamental challenge – How to keep data fresh? Polling • Simple to implement. • Device periodically asks data. • Radio draws power, stays on. • Appropriate for content that changes constantly. • Stock quotes, news headlines … • Trade off between freshness and efficiency – Poll frequently, more fresh but less efficiency. • Hence Push, don’t Poll. Pushing • Can be tricky to implement. • Freshness with less impact on battery. • Use network only when needed. • Constant overhead of persistent connection • Google Contacts, Calendar, Gmail, Voice use push sync. • Android Cloud to Device Messaging (C2DM) makes PUSH easy.
Open Data Kit (ODK) • System built on top of Open Data Kit. • Open-source suite of tools to facilitate organizations to manage mobile data collection solutions. • ODK core developers: • University of Washington, Dept of Computer Science & Engineering • Began as google.org sponsored sabbatical project, April 2008. • Funded by Google Focused Research Award and supported by growing community of developers. • ODK are members of OpenRosa consortium • Goal to foster open-source, standards based tools for mobile data collection, aggregation, analysis and reporting. • Solution conforms to standard based on XForms specification. • Official W3C standard for next-generation data collection and interchange.
Android Cloud to Device Messaging (C2DM) • Simple Google API • Requires Android 2.2 devices with Market. • From Google Labs – Beta • Built on top of Google Infrastructure. • Allows servers to send lightweight “data” messages to applications. • Tell application – new data is available. • Intent Broadcast wakes up the application.
Registration Module • Responsible for registering the device with C2DM and the momentary assessment system.
Sample XForms Definition <?xml version="1.0"?> <h:html xmlns="http://www.w3.org/2002/xforms" xmlns:h="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:jr="http://openrosa.org/javarosa"> <h:head> <h:title>Example Survey Form</h:title> <model> <instance> <model id="exampleSurveyForm" > <stringInputType/> </model> </instance> <bind nodeset="/model/stringInputType" required="true()" type="string"/> </model> </h:head> <h:body> <input ref="stringInputType"> <label>Prompt user to enter a string type</label> </input> </h:body> </h:html> • XML format for the specification of a data processing model for XML data and user interface(s) for the XML data, such as web forms. • Designed to be the next generation of HTML / XHTML forms
Question Types • Currently supported by Momentary Assessment System’s data collection forms: • String Type • Single Select Type • Multi Select Type • Integer Type • GeoLocation Type • Image Type • Audio Type • Video Type • Ability to tag media to questions – Image, Video tagging. • Combination of question types and media tagging.
Location Builder Module • Rich interface to create and/or edit locations on the system. • Uses Google Maps • Includes all available features – Map types, Zoom, Panning. • Ability to define alert radius around desired location. • Defines the radius within which the mobile users presence is detected, triggering the data collection process. • Changes are instantly communicated to all the registered devices. • Data Change Notification Module syncs data. • Uses Android C2DM
Data Change Notification Module • Purpose to ensure freshness of data on mobile devices. • Uses Google App Engine Task API • Execute background tasks outside of a user’s request. • Sends C2DM messages to notify change to connected devices. • Sample C2DM message <c2dm action="formFetch" actionID="exampleSurveyForm" actionName="Example Survey Form" requestTimestamp="1307261108630"/> • Types of Action: • formFetch • locationUpdate • locationAdd • locationDelete
Location Service Module • Responsible for listening to any notification sent from the server. • Service is started when it receives a C2DM message. • Types of C2DM message: • Notifiable Message - Messages which require UI or foreground notification, forces user intervention. Example: When a form is pushed to connected device(s). • Service Message- Messages which does not require user intervention.Example: Changes made using Location Builder Module. • Ensures that data on the device is in sync with that on server.
Location Alert Module • Responsible for setting location alerts on mobile devices.
Location Alert Module (continued) • Location alerts are set using the Google Android built-in proximity alert API. • Setting Location Alerts addProximityAlert (double latitude, double longitude, float radius, long expiration, PendingIntent intent) • Provided PendingIntent is used to create an Intent to be fired. • Deleting Location Alerts removeProximityAlert (PendingIntent intent) • BroadcastReceiver listens to these proximity alerts.
Submission Viewer Module • Responsible for providing a rich, intuitive interface to view & analyze the data submitted by the mobile users. • Categorizes submission data based on question types and renders appropriate visual representation. • Supports multiple representations • String Representation • Graphical Representation • Map Representation • Image Viewer Representation • Media Player Representation
UnRegistration Module • Responsible for unregistering the mobile device from the momentary assessment system.
Applications • Used as an analytical tool for businesses to assess the effectiveness of their employee’s customer service. Scenario #1 • Restaurant owner wants to assess how well his employees are working, even in his absence. He wants to know who is his best waiter or worst. • Creates a survey form and tags it to his restaurant containing questions like • What were the items ordered? • What was the name of the person who served you? • How much would you rate his customer service? • How often do you eat here? • Would you recommend this restaurant to your friends? • Views and analyzes the data submitted by the customers and then identify the best and the worst reviewed waiter.
Applications (continued) • Services which have user generated reviews of local businesses/stores/places are in great demand – Yelp. • Drawbacks: • Lack of accuracy • Lack of restriction • Lack of user anonymity Scenario #2 • Can be used as a data collection tool to build a web 2.0 site showing reviews of local businesses. • Create surveys with questions like below and tag to businesses • Rate customer service • How pricey is the place? • Rate your satisfaction level • Please upload a picture of the place • Would you recommend this place to your friends? • Build a complex reputation system using this crowd-sourced data.
Applications (continued) • System can be used to gather media or information during an emergency – on demand. • Post this live data onto a web-stream. Scenario #3 • Increase in number of earthquakes in San Diego. To assess the severity of the quakes and caused destruction, collect real time data from mobile users in the area. • Create surveys with questions like below and tag to San Diego counties • Can you please share you approximate current location? • Did the earthquake have disastrous effect in your locality? • Can you share a photo? • How much on the Richter’s scale do you think it measured? • Do you have a story to tell? If so please do.
Momentary Assessment System for Mobile Devices Live Demonstration http://momentaryassessment.appspot.com
Conclusion • Goal of this thesis project was to introduce a new concept of gathering contextual data from mobile users. • It addressed drawbacks of few existing systems and proposed a new solution. • Explicated the use of mobile devices to analyze data in real-time. • Android application was tested using devices with Android 2.2 (Froyo) and above.
Momentary Assessment System for Mobile Devices Q&A Session