Вы находитесь на странице: 1из 33

SmartDo

An Android Application which uses geolocation data to trigger tasks and provide location aware alerts for to-do lists.

Developing the need

We all have some tasks to perform everyday and we forget. How do you keep track of what you have to do?

To-do Lists

How would you normally maintain to-do lists?


Handwritten on a piece of paper. or Mobile Phone

Problems with the standard to-do list application

Justification of the Project & Technologies Used

What is the solution? What data can we use?

Geo-Location data

Smartphone share in the mobile phone market


Over 1 billion smartphones [1] 75% of these can provide location data [2] .. and its growing fast!

Which smartphone platform should be used?

Android

64% of Market Share [3] and its available on many mobiles, tablets, etc. Fastest growing with a strong development community. Extensive APIs Open-Source Efficient and flexible hardware interaction

Justification of the Project & Technologies Used (continued)

How to obtain Geo-location data?


Cell-ID GPS Wi-Fi

Why not use Internet


Its meant to be a replacement to the standard to-do list Targets a larger population Independent of service provider coverage

Comparison with already existing similar applications


On{x} [4] Locale [5]

Justification of the Project & Technologies Used (continued)

Maps

Google Maps [6]


Free access, even commercially Most stable and precise map data Map data is copyright Map cache is possible KML used for overlays and custom entries Controlled using Google Maps API which is inbuilt into Android But, why not Google Maps + API?

Internet Cache Packing into a file

We require open source map data

Justification of the Project & Technologies Used (continued)

OpenSteetMaps (OSM) [7]

Free worldwide map

Open source in all aspects


Simple to download map data in .osm format

Android APIs which support and use OSM map format

OSMDroid [8] - osmdroid provides Tools / Views to interact with OpenStreetMap-Data. Problems:

It converts OSM map data to tiles (.PNG) Zoom problems Large map data size

mapsforge [9] - provides free and open software for OpenStreetMap-based applications

OSM data converted into .map files, not tiles. Can store/share .map files Small map data size

Features of Proposed System

To-do list

List of all tasks Modifications (add/edit/delete) Location based alerts Current user location on the map To-do location on the map

Device Automation

List of all automations

Modifications (add/edit/delete)
Execution of a set of tasks, triggered by location data

Features of Proposed System (continued)

Task Sharing

Delegate a task Approval feedback Completion feedback Implemented using SMS

Advertisements

Location based advertisements Better quality advertisements

Good opportunity for monetizing


Cache on mobile device Opportunistic communication (Internet)

Features of Proposed System (continued)

Location Bookmarks (Custom maps)


Saving locations as bookmarks on the device Overlaying them on base map

Analysis

Context level Use-case


System
DECLINE extends

PENDING APPROVALS extends ACCEPT VIEW MAP <<includes>> <<includes>> extends extends VIEW TO-DO LIST extends extends DELETE MODIFY ADD ITEM

MARK DONE USER

VIEW AUTOMATION LIST

Analysis

Detailed Use-case
DECLINE extends

System

PENDING APPROVALS extends ACCEPT VIEW MAP <<includes>> <<includes>> extends ADD ITEM extends SELECT ON MAP

VIEW TO-DO LIST extends

extends extends SELECT ITEM extends

MODIFY

DELETE

USER

MARK DONE extends VIEW AUTOMATION LIST extends SELECT extends DELETE

ADD extends

MODIFY

extends SELECT ON MAP

BOOKMARK LOCATION extends

ADD CURRENT LOCATION

Analysis

Activity Diagram- Add To do

ADD TO DO TITLE

ADD LOCATION

ADD DESCRIPTION/TITLE

ALLOCATE TO SOMEONE?

YES SELECT CONTACT

NO ADD TO LIST SHOW MAP

SEND

Analysis

Activity Diagram- Delete To do

IS LIST EMPTY?

NO

SELECT TO-DO ENTRY

DELETE ENTRY

YES

IS IT ALLOCATED TO SOMEONE?

NO YES SEND REQUEST TO DELETE ENTRY

Analysis

Activity Diagram- Modify To do

IS LIST EMPTY?

NO

MODIFY TO DO TITLE

MODIFY LOCATION

YES

MODIFY DESCRIPTION/TITLE UPDATE TO DO LIST IS IT ALLOCATED TO SOMEONE? SELECT CONTACT YES NO ADD TO LIST SHOW MAP

SEND

Analysis

Activity Diagram- Add automation

ADD AUTOMATION TITLE

SELECT SETTING TO TRIGGER

ADD TO LIST

SHOW MAP

Analysis

Activity Diagram- Delete automation

IS LIST EMPTY?

NO YES SELECT AUTOMATION TASK

DELETE AUTOMATION TASK

Analysis

Activity Diagram- Modify automation

IS LIST EMPTY?

NO

MODIFY AUTOMATION TITLE

MODIFY SETTINGS

YES

UPDATE AUTOMATION LIST

SHOW MAP

Analysis

Activity Diagram- Notification

IS LIST EMPTY?

NO
IS CURRENT LOCATION IN LIST?

YES NOTIFY USER

YES

SHOW MAP AND SUMMARY


IF SHARED TASK

NO YES SEND ACKNOWLEDGEMENT

Analysis

Activity Diagram- Receive External Task

GET REQUEST/SMS

NOTIFY USER
NO

REJECT

USER APPROVES YES

ADD TO LIST SEND ACKNOWLEDGEMENT SEND ACKNOLEDGEMENT SHOW MAP

Analysis

Activity Diagram- Bookmark a Location

SHOW MAP

GET USER I/P

ADD LOCATION TITLE

STORE

Analysis

Activity Diagram- Execute set of tasks

NO

DOES LOCATION MATCH

* YES

PERFORM

NOTIFY

Analysis

Data Flow Diagram- Context Level

Todo/Automation Task Notify User SmartDo

Get Todo

ACK

External User

Send Todo Get Ads Advertisement Engine

Request

Modify Settings

System

GPS Data

Analysis

Data Flow Diagram- Level -0


Send Todo Task Done ACK Task Approval Task Approval New Todo Sharing Task Done ACK

Send Todo

External User

Modify Todo

Todo

GPS Data

Change Settings User

Modify Task

Automation

GPS Data

System

Show Advertisement

Advertisements

GPS Data Advertisement Data GPS Data + keywords Advertisement Engine

Analysis

Data Flow Diagram- Level -1 (To-do)

Show Todo Show Map

View

Get Map List data store Todo Data

Get Map User Add/Remove/Update Todo Modify Todo Maps

Show Map

Notify

Get Map

Check Location

GPS Data

System

Analysis

Data Flow Diagram- Level -1 (automation)

Check Location

GPS GPS Data Data

System

GPS Data

Add/Remove/Update Trigger

Modify Triggers

Trigger data

Trigger data store

Get Map

User

Show Triggers

View Triggers

Get Map

Maps

Notify Execution

Notify

Analysis

Data Flow Diagram- Level -1 (sharing)

Confirmation

Notify

Add To-Do New Task

User

Approve

Get

SMS

Completion ACK

Send ACK

External System

Send SMS

Send

Contacts

System

Permission to Send SMS

Analysis

Data Flow Diagram- Level -1 (advertisements)

Send GPS data and advertisement request

Advertisement Engine

Get advertisement

Display Advertisement

Advertisement Data

Advertisement cache

GPS GPS Data Data User Show advertisement

Check Location

GPS Data

System

Design

Why not Relational DBMS?

Traditionally, Relational database systems are opted for storing data logically. But, there are some caveats when using them

Overheads for providing generality, security, recovery, integrity, and concurrency control. A mobile device with limited processing power would not be able to handle such overheads efficiently and thus itll affect the performance. Besides, the application have no requirements of security, recovery, integrity and concurrency control.

All these factors are applicable in this project. Thus, instead of using any DBMS systems we are employing XML/JSON files to store data.

Design

S. No.

Data store Design- To-do List File Design


Field Name Field Type Description task# Integer The ID of the task

1.

2.

title

String

Title of the task

3.

location

Float

The location of the task, its latitude and longitude.

4.

author

String

The author of the task

5.

assigned_to

String

The name of the assignee to which the task is assigned. (Default: author)

6.

radius

Float

Alerting proximity

7.

priority

Integer

Priority of the task

8.

due_date

Date

The due date of the task

9.

isConfirmed

Boolean

The confirmation of the task when assigned to other user (acceptance)

10.

isDone

Boolean

Flag to indicate the completion of the task by user or external user

Design

Data store Design- Automation Task List File Design

S. No. 1. 2. 3.

Field Name task# title triggers

Field Type Integer String Composite

Description The ID of the task The title of the task Set of parameters which would decide whether the task is to be performed Repetitions of the task The set of operations that are to be performed

4. 5.

frequency operations

Integer String

Design

Data store Design- Location Bookmarks File

S.No. 1. 2. title

Field Name

Field Type String Float

Description The title of the bookmark. The latitude and longitude of the bookmark

location

Data store Design- SMS Format


#SmartDo <To-do List file>

Architectural Design

DATA STORE

ANDROID APPLICATION FRAMEWORK

Other hardware devices GPS RECEIVER


Device

APPLICATION Linux Kernel


Application Android Operating System

Bibliography
[1] http://www.go-gulf.com/blog/smartphone [2] http://www.technewsdaily.com/4277-smartphone-gps-soars.html [3] http://www.washingtonpost.com/business/technology/worldwidemarket-share-for-smartphones-a-market-dominated-by-apple-andandroid/2012/09/18/fa3f8f56-019b-11e2-bbf0e33b4ee2f0e8_story.html [4] https://www.onx.ms/ [5] http://www.twofortyfouram.com/ [6] http://maps.google.com

[7] http://www.openstreetmap.org/
[8] http://code.google.com/p/osmdroid/ [9] http://code.google.com/p/mapsforge/

Вам также может понравиться