2. SELF TACIT ZONE
A IDP REPORT
Submitted by
PARTHIK V. POSHIYA
KEYUR P. HUDKA
In fulfillment for the award of the
Degree of
BACHELOR OF ENGINEERING
In
COMPUTER ENGINEERING
OM ENGINEERING COLLEGE, JUNAGADH
Gujarat Technological University, Ahmadabad
May,2015
3. .
CERTIFICATE
Date:
This is to certify that the Project entitled SELF TACIT ZONE has been carried out by
PARTHIK POSHIYA under my guidance in fulfillment of the degree of Bachelor of Engineering
in Computer (8
th
Semester) at OM Engineering College of Gujarat Technological University,
Ahmedabad during the academic year 2014-15.
Guide: Head of the Department
Prof. M. D. Gundaliya Prof. H K Gajera
4. .
CERTIFICATE
Date:
This is to certify that the Project entitled SELF TACIT ZONE has been carried out by KEYUR
HUDKA under my guidance in fulfillment of the degree of Bachelor of Engineering in Computer
(8th Semester) at OM Engineering College of Gujarat Technological University, Ahmedabad during
the academic year 2014-15.
Guide: Head of the Department
Prof. M. D. Gundaliya Prof. H K Gajera
5. .
19th
May, 2015
CERTIFICATE OF SOLUTION IMPLEMENTATION
We are pleased to inform you that we have selected Mr. Parthik Poshiya and Mr.
Keyur Hudka in our Organization for Project Training in Smartphone Application
Development as a part of his academic curriculam
Project Definition:- “Android Application of Self Tacit Zone”.
We have decides to impact him full time theoretical training covering Best
Programming Tips, Server Communication,Database Concepts,Power of Sequential
Language , Bussiness Application, Essentials of Project Planning, Application
Development Life Cycle, Plan Your Project , Resource Evalution , Project Estimation ,
Understand Role of Team and industy practices, execution plan , Project Evalution,
Quallity control and Tolerance , Aesthetics and Customer preferences. Her Project will
be executed and trained fully in Android Language.
Mr. Mitesh Shah would be his Project Guide on behalf of the company.
We wish all the best for his Project.
Thanking you
Mitesh Shah
Atlas Computer
6. GUJARAT TECHNOLOGICAL UNIVERSITY
CERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2014-2015
Date of certificate generation : 23 May 2015 (17:25)
Plagiarism Search Report
Final Project Report
Patent Drafting Exercise (PDE)
Business Model Canvas (Report)
Business Model Canvas (Image)
Submitted Five Periodic Progress Reports (PPR)
Uploaded
Uploaded
Completed
Uploaded
Uploaded
Completed
This is to certify that, Parthik Vinodbhai Poshiya (Enrolment
Number-111020107004) working on project entitled with Self
Tacit Zone from Computer Engineering department of Om
Engineering College, At Chokli, Dist Junagadh had submitted
following details at online project portal.
Name of Student :
Signature of Student :
Parthik Vinodbhai Poshiya
*Signature of Guide :
Name of Guide : Mr. Mehul Dhanjibhai
Gundaliya
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt
that GTU has received a copy of the data that you have uploaded and submitted as your project work.
Disclaimer :
*Guide has to sign the certificate, Only if all above activities has been Completed / Uploaded.
7. GUJARAT TECHNOLOGICAL UNIVERSITY
CERTIFICATE FOR COMPLETION OF ALL ACTIVITIES AT ONLINE PROJECT PORTAL
B.E. SEMESTER VIII, ACADEMIC YEAR 2014-2015
Date of certificate generation : 23 May 2015 (17:29)
Plagiarism Search Report
Final Project Report
Patent Drafting Exercise (PDE)
Business Model Canvas (Report)
Business Model Canvas (Image)
Submitted Four Periodic Progress Reports (PPR)
Uploaded
Uploaded
Completed
Uploaded
Uploaded
Completed
This is to certify that, Keyur Prafulbhai Hudka (Enrolment
Number-121023107013) working on project entitled with Self
Tacit Zone from Computer Engineering department of Om
Engineering College, At Chokli, Dist Junagadh had submitted
following details at online project portal.
Name of Student :
Signature of Student :
Keyur Prafulbhai Hudka
*Signature of Guide :
Name of Guide : Mr. Mehul Dhanjibhai
Gundaliya
This is a computer generated copy and does not indicate that your data has been evaluated. This is the receipt
that GTU has received a copy of the data that you have uploaded and submitted as your project work.
Disclaimer :
*Guide has to sign the certificate, Only if all above activities has been Completed / Uploaded.
8. Results generated by Plagiarisma.Net
http://plagiarisma.net
74% Unique
Total 1544 chars , 399 words, 15 unique sentence(s).
Results Query Domains (original links)
Unique dev/shm/php6c1reM Error -
47 results Bad color Error youtube.com ccbcmd.edu totalbeauty.com
globalspec.com ccbcmd.edu
rareuscoins.looknooks.com
help.epicenternow.org
Unique Bad color Project id -
Unique 2299 Self Tacit Zone Chapter No -
47 results Bad color Error youtube.com ccbcmd.edu totalbeauty.com
globalspec.com ccbcmd.edu
rareuscoins.looknooks.com
help.epicenternow.org
47 results Bad color Error youtube.com ccbcmd.edu totalbeauty.com
globalspec.com ccbcmd.edu
rareuscoins.looknooks.com
help.epicenternow.org
47 results Bad color Error youtube.com ccbcmd.edu totalbeauty.com
globalspec.com ccbcmd.edu
rareuscoins.looknooks.com
help.epicenternow.org
Unique Bad color Project id -
45,100 results 1 PROJECT SUMMARY orion.math.iastate.edu wsdot.wa.gov mnh.si.edu
epa.gov nfpa.org epa.gov orion.math.iastate.edu
asu.edu oco.noaa.gov yumpu.com
1,100,000 results ? Project Title answers.microsoft.com learnerassociates.net
technicalpathways.com projecttitles
www8.nationalacademies.org pmi.org
fundsforngos.org umass.edu fhwa.dot.gov
1 / 2
9. Results generated by Plagiarisma.Net
http://plagiarisma.net
discuss.itacumens.com
Unique Self Tacit Zone ? Project Concept -
Unique Maintain the task of user ? Type of Project -
2,760,000 results Android Application developer.android android androidapplications
appsapk.com play.google.com
download.cnet.com developer.android
google.com
748,000 results 2 PURPOSE get2purpose process2purpose puzzle2purpose
driven2purpose vision2purpose called2purpose
potential2purpose cpuc.ca.gov clarity2purpose
potential2purpose
576,000 results 3 SCOPE ebay.com atlanticfirearms.com atigunstocks.com
soswy.state.wy.us
45 results ? We can do the following ecbpublishing.com community.codeontime.com
oocities.org community.codeontime.com
slidefinder.net engr.colostate.edu
worldscientific.com
Unique ? This app provides user to access their phone manually -
Unique ? User also set their profile -
1 result ? All tasks done automatically lovethisservice.com
Unique ? User set their all action through location and also through time -
Unique Purpose Scope Objective Tools & Technology Literature Review -
3 results ? This is an android application based linkedin.com iitdelhi.twenty19.com
Unique In this application user can choose and set their location and its range -
Unique to enter and leave time of your location range and in failure its automatic -
Unique is to make free to user and -
Unique ? Basically user can manually use their phone and also application is -
Unique ? It would be a reliable Application in most modern -
Powered by TCPDF (www.tcpdf.org)
2 / 2
11. .
ACKNOWLEDGEMENT
We are thankful to the Department because of whom, we have gained
confidence in Web Development and it has also enhanced our professional skills so
as to become competent in this field.
We are grateful to our Project Guides – Mr. Mehul Gundaliya for their support
and guidance, with which we have been able to complete our project. We respect them
for their understanding of the problems faced by the students, and their ability to solve
them with ease.
We are grateful to our Head of Department – Mr. Himanshu Gajera for their
support and guidance. We started out this project with excitement of embarking on a
new and long journey, advancing with leaps and bounds everyday and exploring new
avenues that the field of computerized operations offers. The journey has not been a
smooth one though. Initially, it was very hard to cope up, learn and get acquainted
with this project “Self Tacit Zone”. Had it not been for the help which we received
from different quarters, it would not have been possible to sustain, strive and get
enriched in this field.
.
12. .
LIST OF FIGURES
Sr. No Name of Figures Page No.
Figure 1.1
Figure 2.1
Figure 2.2
Figure 2.3
Figure 2.4
Figure 2.5
Figure 2.6
Figure 2.7
Figure 2.8
Figure 2.9
Figure 2.10
Figure 2.11
Figure 2.12
Figure 2.13
Figure 2.14
Figure 2.15
Figure 2.16
Figure 2.17
Figure 3.1
Figure 3.2
Figure 3.3
Figure 3.4
Figure 3.5
Figure 3.6
Figure 3.7
Figure 3.8
Figure 3.9
Prior Art Search
Spiral Process Model
Scheduling
Android Architecture
Class Diagram of Self Tacit Zone
Class Diagram of Constants Package
Class Diagram of UI Package
Class Diagram of Triggers Package
Class Diagram of Profiles Package
Class Diagram of Widgets Package
Class Diagram of Services Package
Entity-Relationship Diagram of Self Tacit Zone
Use-case Diagram of Self Tacit Zone
Activity Diagram of Self Tacit Zone
Data-flow Diagram of Self Tacit Zone
Observation Matrix of Self Tacit Zone
Ideation canvas of Self Tacit Zone
Idea funnel canvas of Self Tacit Zone
Screen Shots of Android Studio 1.2 by IntelliJ
Splash Screen
Profile
Set new/edit Profile
Various fields of Profile
Trigger Time-out
Triggers
Set new/edit Trigger
Various fields of Trigger
6
8
11
17
20
21
22
24
25
26
27
28
29
30
31
32
33
34
40
41
42
43
44
45
46
47
48
13. .
Figure 3.10
Figure 3.11
Figure 3.12
Figure 3.13
Figure 3.14
Figure 3.15
Figure 3.16
Figure 3.17
Geofence/Location
Settings
Permanent Notification
Profile Pop-up
Choose Language
About
Using Monkey-tool to generate Pseudo-random events
DDMS location control
49
50
51
52
53
54
57
58
14. .
LIST OF TABLES
Sr. No Name of Tables Page No.
Table 2.1
Table 2.2
Table 2.3
Table 2.4
Table 2.5
Table 2.6
Table 2.7
Probability and effects of risks
Children Constants Package
Children UI Package
Children Triggers Package
Children Profiles Package
Children Widgets Package
Children Services Package
12
21
23
25
26
27
27
15. .
LIST OF ABBREVATIONS
STZ Self Tacit Zone
GPS Global Positioning System
API Application Programming Interface
Wi-Fi Wireless Fidelity
AOSP Android Open Source Project
SDK Software Development Kit
ADT Android Development Toolkit
AVD Android Virtual Device
NLP Network Location Provider
UI User Interface
DDMS Dalvik Debug Monitor Server
OOAD Object Oriented Analysis and Design
UML Unified Modeling Language
SDLC Software Development Life Cycle
16. TABLE OF CONTENTS
Certificate from Institute
Certificate from Industry
PMMS Certificate
Plagiarism Check Certificate
Undertaking about Originality of work
List of Figures
List of Tables
List of Abbreviations
Chapter: 1
Chapter: 2
INTRODUCTION
1.1 PROBLEM SUMMARY………………………………………..
1.2 AIM AND OBJECTIVES……………………………………….
1.3 PROBLEM SPECIFICATION………………………………….
1.4 LITERATURE REVIEWS……………………………………...
1.4.1 Description of Technology used…………………………….
1.4.2 Major Constituents of System ………………………………
1.4.3 Requirements………………………………………………...
1.5 TOOLS & TECHNOLOGY…………………………………….
1.6 PRIOR ART SEARCH………………………………………….
DESIGN: ANALYSIS, DESIGN METHDOLOGY AND
IMPLEMENTATION
2.1 PROJECT PLANNING AND SCHEDULLING………………..
2.1.1 Project Development Approach………...……………………
2.1.2 Project Plan…………………………. ………………………
2.1.3 Schedule Representation……………………………………..
2.2 RISK MANAGEMENT………………………………………….
2.2.1 Risk Identifications…………...………...……………………
2.2.2 Risk Analysis and Planning…………. ………………………
2.3 ESTIMATION…………………………………………………...
2.3.1 Effort Estimations………..…...………...……………………
1
3
3
3
4
4
4
4
5
5
7
8
8
9
10
12
12
12
13
13
18. Chapter: 4
3.4 PERFORMANCE ENHANCMENTS…………………………...
3.4.1 Real-time Location Updates...………………………………...
3.4.2 Network I/O and memory Usage……………...……………...
3.4.3 Database Querying and filtering …...………………………...
SUMMARY
4.1 SUMMARY OF PROJECT……………………………………...
4.1.1 Advantages of Work…………………………………………..
4.2 SCOPE OF FUTURE WORK……………………………………
4.3 UNIQUE FEATURES…………………………………………...
59
59
59
59
60
61
61
62
63
References
Appendix
i. Periodic Progress Reports (PPR)
ii. Business Model Canvas (BMC) Image
iii. Business Model Canvas Report
iv. Draft provisional patent filling forms
19. Project id: 2299 SELF TACIT ZONE
1
1 INTRODUCTION
Project Summary
Aim & Objectives
Problem Specifications
Literature Review
Tools Requirement
Prior Art Search
20. Project id: 2299 SELF TACIT ZONE
2
INTRODUCTION
The ubiquity of wireless networking and the trend toward component miniaturization have led to
the evolution of cell phones from mere telephony devices to powerful mobile computing platforms
that provide the basis for a host of other applications. Today's mobile phones are typically equipped
with devices such as GPS sensors [A], Wi-Fi [B] and 3G wireless radios [C] capable streaming
high bandwidth Internet content, touch-screen-based user interfaces [D], still and video cameras,
Bluetooth transceivers [E], and accelerometers [F].
Similar to a computer, a mobile operating system provides the primary execution environment for
applications on the phone. Analogous to programs on a PC, apps can be downloaded and installed
on mobile phones. Because of the growing general purpose computing capabilities of mobile
devices, combined with their increasing popularity and adoption rate, it is expected that hand-held
mobile phones will become the next PC. These technology trends have enabled innovative,
exciting and compelling mobile applications to become widely available, from gaming to
multimedia to social networking. Hand-in-hand with the growth of the raw computing power of
mobile phones, various middleware/OS platforms have evolved that allow developers to take
advantage of the computing resources to create feature-rich applications that provide compelling
user interfaces and functionality. A wide selection of proprietary and open-source mobile OS
platforms exist, the most prominent ones being: Apple's iOS, Google's Android, Symbian from
Symbian Foundation, RIM Blackberry OS, and Microsoft's Windows Mobile.
This report focuses on mobile app development for Google’s Android OS, a hugely popular open-
source platform based on the Linux-kernel [G] and Java 2 development environment [G].
21. Project id: 2299 SELF TACIT ZONE
3
1.1. PROBLEM SUMMARY
This is an Android Application based on the Location and GPS. In this Application user can
choose and set their Location and its range to perform the user specified Events and Tasks.
And also user can set these all action tasks and events by the time and also for the less failure
application is track your time to enter and leave time of your location range and in failure its
automatic switch on time.
1.2. AIM & OBJECTIVES :
Objective of this application is simply to make our life style automatic Means our cell phone
is detect the place and give response by the Place means if you are in College then cell phone
is automatic silent And after Finish College the phone is automatic in general mode as
predefine Task.
1.3. PROBLEM SPECIFICATIONS:
Overall we have to define the main problem what is that at above summery but let’s
understand some extra talk and knowledge of the project.
So mainly we live express life now a day all of us have no more time expand for long time
duration activities. So basic idea of this application or project is that we have to maintain
our time and save it as much as possible.
So now a day we all use smart phones and expand their use by lots of applications. But still
some of our work that we have to do in smart phone is time consumption and not auto.
Now think about your self ok I told my schedule on morning 8:00 AM I wake up and send
the good morning messages by WhatsApp [H] . so what I have to do daily lock out phone
start the internet or Wi-Fi then I have to send the messages.
Now if daily at 8:00 AM my Wi-Fi is auto start then I have directly send the message to the
friends. Or if I have put some download and start it when I have reached at home in Wi-Fi
area then this app will detect your place and auto start the Wi-Fi and download also.
I. Auto started applications. III. Auto profile changer.
II. Auto app manager. IV. Pre scheduler.
22. Project id: 2299 SELF TACIT ZONE
4
1.4. LITERATURE REVIEWS
1.4.1. Description of Technology Used
GPS device is used to track the location of the user. As a GPS device the smart phone
is used in this application.
Using the device, current location is traced and can be utilized for further
requirements.
The user interface is designed in XML.
User can easily use this application and need the internet connection
4
1.4.2. Major Constituents of system are
GPS tracking device: This is provided by the user’s smart phone.
User Interface: The UI determines that how the user will interact with the application
and access the required functionality.
1.4.3. Requirements
Efficiency requirement:
Here the application is developed on the android platform, thus the application data and
processes are handled implicitly by the android virtual OS. Also if the user is required
to clear the app data, the user can explicitly clear the cache memory and increase the
application speed.
Reliability requirement:
If in case if the co-ordinate input by the user are not proper it will not match the data
(coordinates) fetched from the map and thus there are chances of the failure to occur.
In other case if the internet connection in the user mobile device is running at low speed
it is possible that the map will not be loaded completely and the required alert may not
be generated.
Usability requirements:
The application is user friendly as the user can easily operate the application. One click
access to every function is provided in the application.
Other requirements:
23. Project id: 2299 SELF TACIT ZONE
5
Sufficient bandwidth (internet connection) is required on the device to download
images. Memory of device will be used to store the application, data and for backup.
RAM and a minimum SDK version of 12 will be required on the device. The security
will be provided by the android virtual OS and the server.
Minimum android version required: 2.3.
1.5. TOOLS & TECHNOLOGY
As this Smartphone Application, it requires information to be stored. All the information
stored should be accurate and, as this information can be used in the future for verifications.
Development of the Application is done by Android Development Tools using Java
Language.
Platform : Android
Database : Mysql
MAP API : Google Maps API V2
IDE : Android Studio(intelliJ Plateform) [I] , Eclipse [I]
Emulator : Android SDK [I]
Android Smartphone for Real Simulation
1.6. PRIOR ART SEARCH
25. Project id: 2299 SELF TACIT ZONE
7
Design: Analysis, Design
Methodology and
Implementation Strategy
Project Planning and Scheduling
Risk Management
Estimation
User Characteristics
Hardware and Software Characteristics
Constraints
Architecture
UML Diagram
Canvas Exercise
2
26. Project id: 2299 SELF TACIT ZONE
8
2.1 PROJECT PLANNING AND SCHEDULING
2.1.1 Project Development Approach
To solve actual problems in industry settings, software engineer or a team of engineers must
incorporate a development strategy that encompasses the process, methods and tools layers
and generic phases. This strategy is often referred to as process model or a software
engineering paradigm. A process model for software engineering is chosen based on the
nature of the project and application. The methods and tools to be used, and the controls and
deliverables that is required.
The Spiral Model:
Fig. 2.1: The Spiral Process Model
27. Project id: 2299 SELF TACIT ZONE
9
The Spiral model [J] combines elements of the linear sequential model (applied repetitively)
with the iterative philosophy of prototyping. Referring to Figure above, the Spiral model
applies linear sequences in a staggered fashion as calendar time progresses. Each linear
sequence produces a deliverable “Spiral” of the software.
For example, Anti-virus software developed using the Spiral paradigm might deliver basic
scanning, deleting, and editing file functions are use generally. But in to the market day by
day many kinds of the virus is available and it’s also updated day by day so we have to make
system strong if we want to safe our computer that’s why we also update our Antivirus
definition and all the steps give in to the spiral model.
2.1.2 Project Plan
Planning before any activity is very much important. And if it is planned nicely, then success
is guaranteed.
Project Management System has six major modules of Admin, Manage Application, Test
Management, Process Management, Manage Comment, Reports. We analyzed the overall
complexity of each of these modules and it was found that the project will required
approximately 6 months completing, so we planned accordingly.
We decided to follow the SDLC [K] i.e. Software Development Life Cycle while planning
various phases of our project. This method consists of following activities:
1. Determination of system requirements
2. System Analysis
3. Design of system
4. Development of software
5. System Testing
6. Implementation and Evaluation
28. Project id: 2299 SELF TACIT ZONE
10
We followed the OOAD (Object Oriented Analysis and Design) [K] for the SDLC and used
the UML (Unified Modeling Language) [K] for analysis and design purpose of the system.
We have planned our project into following ways:
During first two month of our project, we have study the various problems.
During third month of our project, we have start to Analysis of problem.
During four and fifth month, we have start Designing and implementation of our project.
2.1.3 Schedule Representation
When creating a software project schedule, the planner begins with a set of tasks. If
automated tools are used, the work breakdown is input as a task network or task outline.
Effort, duration, and start date are then input for each task. In addition, tasks may be assigned
to specific individuals.
As a consequence of this input, a timeline chart, also called a Gantt chart [K] is generating.
A Timeline Chart can be developed for the entire project. Timeline Charts depict a part of a
software project schedule.
All project tasks are listed in the left-hand column. The horizontal bars indicate the duration
of each task. When multiple bars occur at the same time on the calendar, task concurrency is
implied. The diamonds indicate milestones, which indicate the place where our project reach.
Once the information necessary for the generation of a timeline chart has been input, the
majority of software project scheduling tools produce project tables a tabular listing of all
project task, their planned and actual start and end table dates and variety of related
information, enable the project manager to track progress.
30. Project id: 2299 SELF TACIT ZONE
12
2.2 RISK MANAGEMENT
2.2.1 Risk Identification
Time estimation risk and technology risk are challengeable for our application. Business rule
engine will developed many ways like using windows workflow foundation, Xml, Database
etc so how we can identify which will be more preferable for our application and which will
give best result compare to all technology and also give best outcomes.
If we select any one technology for our application and go through it that time any challenge
will come so how we can switch over new technologies and learn about new technology thus
it will very time consuming.
2.2.2 Risk Analysis and Planning
Table 2.1 : Probability And Effects Of Risks
Risks Probability Effects
Location Getting Very high Serious
GPS Running Moderate Medium
Network of Internet Very low Serious
Battery Life Very low Serious
31. Project id: 2299 SELF TACIT ZONE
13
2.3 ESTIMATION
The single most important task of a project: setting realistic expectations.
Unrealistic expectations based on inaccurate estimates are the single largest cause of software
failure.
2.3.1 Effort Estimation
Each company determines the output it expects from its team members. Let us call the
average output of a team member per man-hour as the unit output. Assume that one has to
deliver an end-to-end login module's functionality for an application. The time spent on the
login functionality should include the corresponding time required for gathering the
requirements, doing a requirement analysis, architecture inputs, form design, object/class
design, implementing the business rules, data validation and storage, framework (i.e., code
for login module's constants, enumerations, utilities), testing, debugging, deployment up to
user acceptance [L], etc.
Now, the estimator has to figure out how many man-hours it would take to complete the
login module, keeping all these factors in mind. The sequence of work and dependencies
should be considered as they do cause delays in completion. For example, form design should
be done first (all the way up to acceptance by the customer), then object design (up to
acceptance by the architect), followed by coding (for business rules, calculations, and data
validations), internal testing, and user acceptance testing. A wise estimator would always
take support from other people to understand the scope of work to do a given task.
32. Project id: 2299 SELF TACIT ZONE
14
2.4 USER CHARACTERISTICS
Software Designers: These are the most obvious users. They will use the system as a means
of laying out the design of an as yet unimplemented system. In our case this users can be
specified as our team member only.
Software Developers: These are the people that take the model generated by the designers
and implement it in code. They may also use the system to identify the design of an existing
system in order to maintain it.
The End User (students/Teachers/Professionals):
Students- they are use our application for their personal profile settings use and work
regarding the personalization.
Teachers- they are use this application for their own use and for their professional use.
Professional-they are use this application for advanced auto system and make them free to
set all work time by time.
33. Project id: 2299 SELF TACIT ZONE
15
2.5 HARDWARE AND SOFTWARE CHARACTERISTICS
2.5.1 Developer Hardware and Software characteristics
Hardware
Intel Pentium Processors at 2.5 GHz and upgraded.
512MB RAM minimum (Recommended 1GB RAM).
Any Android Smartphone which inbuilt GPS receiver.
Software
OS: Windows 7 and upgraded version
Android Studio
Android 2.3 edition SDK
SqlLite (as Back-end)
java (front-end)
2.5.2 End-User(Client) Hardware and Software characteristics
Hardware
GPS enabled Android Smartphone.
Software
Self Tacit Zone application
34. Project id: 2299 SELF TACIT ZONE
16
2.6 CONSTRAINTS
Limitations
GPS enable android mobile
4.0 or above android version
Below 4.0 android version user interface is not proper
Battery usage is high during GPS activation.
At time of location set Internet connection is must.
35. Project id: 2299 SELF TACIT ZONE
17
2.7 ARCHITECTURE
2.7.1 Android Platform Architecture
Android is an open-source software platform developed by Google, for mobile app
development on devices powered by the Android OS. It is a complete software stack that
provides all the middleware needed to run end-user applications on mobile devices such as:
device drivers, OS, core libraries, an optimized virtual machine, Java Native Interface (JNI),
and a complete Java development environment. This section provides a detailed introduction
to the Android framework and describes the platform architecture, execution model, and key
concepts pertinent to the design of the Place Me app, which are more generally applicable to
other apps as well. As shown in the figure below, the Android software stack is a tiered
architecture that consists of 5 principle layers [P].
Fig.2.3: Android Architecure
Kernel
Android is built upon Linux 2.6 kernel which serves as the hardware abstraction layer.
Linux is used since it provides proven and robust, low-level system infrastructure
components such as memory and process management, security, network stack and
hardware driver model. Original Equipment Manufacturers (OEMs) can thus bring-up
Linux on their system and have the drivers running before loading the other
components of the stack [P].
36. Project id: 2299 SELF TACIT ZONE
18
Libraries
On top of the kernel layer are the native libraries written in C and C++, which provide
most of the real power of the Android platform. The surface manager is responsible for
composing, coordinating and rendering surfaces on the screen from windows owned
by different applications, running in different processes in tandem, and ensuring the
pixels show up correctly on the screen. OpenGL/ES and SGL are the core 3-D and 2-
D graphics libraries respectively. The 3-D graphics can be accelerated in hardware if a
3-D chip is present. Most of the applications commonly use 2-D graphics; however,
the platform allows combining 2-D and 3-D graphics as well. The media framework
provides all of the audio and video codecs responsible for delivering a rich media
experience. FreeType is used for managing and rendering fonts on the screen. The
open-source SQLite relational database management system is used for most of the
core data storage on Android. It allows creating in-memory databases for very efficient
data storage and retrieval. WebKit is an open-source browser engine (also used in
Google’s Chrome and Apple’s Safari browsers) for optimized rendering on small
screens in mobile devices [Q].
Android Runtime
On the same level as the libraries discussed above is the Android runtime, which is
designed for running Java programs in resource constrained, embedded environments
with limited computational power, battery life, and memory. One of the main
components of the Android Runtime is the Dalvik virtual machine. The Dalvik VM is
an optimized byte-code interpreter for efficient byte code execution on small-scale
processors used in mobile devices. The Java class and JAR files are translated into
“.dex” files at build time, for execution on the Dalvik VM. The efficiency of Dalvik
makes it possible to run each application as a separate process in its own instance of
the Dalvik VM. Among other benefits, this simplifies memory management and
improves platform stability. For example, if one application crashes it does not affect
other applications as they are running in separate processes each in its own instance of
the Dalvik VM. The Core Libraries component provides commonly used collection
classes, input-output libraries, utilities, and tools written in Java [Q], [R].
Application Framework
This layer consists of a set of tools and APIs written in the Java programming language
which are used by the application developers. Here we discuss some of the main
components of the application framework. The activity manager is responsible for
application life cycle management and maintains a common back-stack for providing
smooth navigation between apps running in different processes. The package manager
tracks and manages the location and capabilities of applications installed on the phone,
including those provided with the phone as well as those downloaded by the user. The
window manager is a Java implementation that abstracts lower level services provided
by the surface manager for managing windows. The telephony manager provides the
core Java APIs used for implementing the phone service. Content providers are a
37. Project id: 2299 SELF TACIT ZONE
19
common interface for sharing data between different applications. For example, the
contacts data stored in the Contacts application can be accessed by any application that
needs to use it by means of content providers. The resource manager stores non-code
related artifacts of the application such as localized strings, bitmaps, or external
resources such as images, video or audio files. Finally, the view system implements the
building blocks of user-interfaces, provides APIs for drawing layouts and UI elements,
and handles event-dispatching [Q].
Applications
The top-most layer in the stack is the Applications layer. All applications are written in
Java and used the same set of APIs provided by the Application Framework. This
included applications that are shipped with the phone such as Home, Dialer, Contacts,
Browser, etc. as well as those developed by the programmers [Q].
2.7.2 Application Architecture
In this section we discuss the design and architecture of the Self Tacit Zone app. we shows a
static UML class diagram of the Self Tacit Zone app in next section, which illustrating the
key Activities, Services, Intents and inter-component dependencies (only a few class
methods/attributes have been shown in the figure below to reduce clutter and illustrate the
high level class structure in a clean and concise manner).
38. Project id: 2299 SELF TACIT ZONE
20
2.8 DESIGN & IMPLEMENTATION STRATEGY
2.8.1 Class Diagram:
Fig. 2.4 :Class Diagram of Self Tacit Zone (All Package)
In this Class Diagram Following Packages are includes:
I. Constants Package
II. UI Package
III. Trigger Package
IV. Profile Package
V. Widgets Package
VI. Services Package
39. Project id: 2299 SELF TACIT ZONE
21
I. Constants Package
Fig. 2.5 :Class Diagram of Constants Package
Children:
Name Description
SharedPrefConstants Class used for shared preferences constants.
IntentConstants Class used for intent specific constants.
BuildConstants Class used for build specific constants.
Table 2.2 : Children of Constant Package
40. Project id: 2299 SELF TACIT ZONE
22
II. UI Package
Fig. 2.6 :Class Diagram of UI Package
Children :
Name Description
ArrayListAdapter Class used to fill the profile fragment with profiles.
ArrayListAdapterTrigger Class used to fill the list in the trigger fragment with triggers.
MainActivity The main activity managing the two fragments, there is no
other work done here. All of the methods were generated by
Eclipse and only slightly modified to fit our needs.
AboutActivity Activity use to show information about Developer
ProfileEditActivity Activity used to edit the different settings of a profile.
NfcWriterActivity Activity used to write a profile on a NFC tag.
It encodes the selected profile into a binary representation.
TriggerEditActivity Activity used to edit the different settings of a trigger.
SettingsActivity Activity that shows the possible general settings for the
Application.
TriggerFragment Fragment, where the triggers are listed.
ProfileFragment Fragment, where the profiles are listed.
41. Project id: 2299 SELF TACIT ZONE
23
MapViewActivity Activity used to show the map and allow user to set a
geofence.
NfcReaderActivity Transparent(defined in the manifest) activity that applies the
profile saved on the NFC tag.
Converts the bits saved on the tag into a profile object, which
is then given to the handler, who applies the profile.
ListDialog Implements the pop-up dialog with a list of profiles (handed
over as argument) and a settings button.
ListDialogActivity Transparent(defined in manifest) activity used to show the
pop-up list dialog.
Table 2.3 : Children of UI Package
III. Trigger Package
Fig. 2.7 :Class Diagram of Trigger Package
42. Project id: 2299 SELF TACIT ZONE
24
Children :
Name Description
listen_state Listen by the state
GeofenceUtils This class defines constants used by location sample apps.
SimpleGeofenceStore Stores geofences in the shared preferences.
TimePickerPreference A preference object, which contains a time picker.
TriggerTimeout Container class which saves the amount of milliseconds all trigger
should be ignored and the time when the timeout was started.
TriggerService Service which manages the triggers.
TriggerBroadcastReceiver Receives several broadcasts and sets the according variables in the
trigger service.
Trigger Container class used to transfer the settings between activities and
methods.
XmlParserTrigger Class that is used to read an xml input stream and load the triggers
into the triggerservice to be compared.
XmlParserPrefTrigger Class used to put the values saved in a xml file into the shared
preferences (to load them into the trigger edit activity).
XmlCreatorTrigger Class used to convert a trigger into a string containing a xml, that is
correspondent to the guidelines of this app.
LocationTrigger Connects to the Google Location API and is used for geofence
handling.
SimpleGeofence Container class for a simple geofence.
Table 2.4 : Children of Trigger Package
43. Project id: 2299 SELF TACIT ZONE
25
IV. Profile Package
Fig. 2.8 : Class Diagram of Profile Package
Children:
Name Description
Profile Container class used to transfer the settings between activities
and methods.
XmlParser Class that is used to read an xml input stream and apply the
settings in it using the Setter class.
XmlParserPref Class used to put the values saved in a xml file into the shared
preferences (to load them into the profile edit activity).
Setter Class that provides methods to apply different settings.
XmlCreator Class used to convert a profile into a string containing a xml,
that is correspondent to the guidelines of this app.
Table 2.5 : Children of Profile Package
44. Project id: 2299 SELF TACIT ZONE
26
V. Widgets Package
Fig. 2.9 :Class Diagram of Widgets Package
Children:
Name Description
ListWidgetFactory Sets the views for every collection widget and adds the data.
ListWidgetService Returns the RemoteViewsFactory, which is needed for a
collection widget.
WidgetActivity Transparent activity used to apply a profile without showing
anything
PopUpWidget WidgetProvider for the Pop-Up Widget.
ListWidget AppWidgetProvider for the ListWidget.
Table 2.6 : Children of Widgets Package
VI. Services Package
45. Project id: 2299 SELF TACIT ZONE
27
Fig. 2.10 :Class Diagram of Services Package
Children:
Name Description
Handler Provides often used methods.
BootCompletedReceiver BootCompletedReceiver which starts the
AutostartService to show the permanent notification on
reboot.
AutostartService Service used to start the notification, if the permanent
notification option is activated.
Table 2.7 : Children of Services Package
46. Project id: 2299 SELF TACIT ZONE
28
2.8.2 Entity Relationship Diagram:
Fig. 2.11 :ER Diagram of Self Tacit Zone
47. Project id: 2299 SELF TACIT ZONE
29
2.8.3 Use case Diagram
Fig. 2.12 : Use case Diagram of Self Tacit Zone
48. Project id: 2299 SELF TACIT ZONE
30
2.8.4 Activity Diagram:
Fig. 2.13 : Activity Diagram of Self Tacit Zone
49. Project id: 2299 SELF TACIT ZONE
31
2.8.5 Data Flow Diagram:
DFD-0 Level
DFD-1 Level
Fig. 2.14 :Data Flow Diagram of Self Tacit Zone
50. Project id: 2299 SELF TACIT ZONE
32
2.9 CANVAS EXERCISE
2.9.1 Observation Matrix:
Fig. 2.15 : Observation Matrix of Self Tacit Zone
Description:
Observation
We have observed that we have to need the problems that are occurred to the users with
the respect of location.
Many kinds of thing that trouble to make at every time on specific location like at
college or at office we have to silent our phone so these all thing are small but we have
to remember it and time to time perform that.
Scouted Challenges:
We face challenges like we have to set profile and apply it on the specific location that is
defined by the user.
We have to give them notification for the location when user enters in location range or
goes out from the location.
Perform the entire task without touch and schedule the all task.
51. Project id: 2299 SELF TACIT ZONE
33
2.9.2 Ideation Canvas:
Fig. 2.16 : Ideation Canvas of Self Tacit Zone
Description:
People:
Here people in the sense user which kinds of people can use this app and product
so generally all kinds of user have to need task scheduling or location tuning but
more effective to the office person, student life and time to time person.
Activities:
Here activities are the performed by the app mean which activities are performed
you by these app like get notification, auto profile changer, auto perform some task
which are predefined .
52. Project id: 2299 SELF TACIT ZONE
34
2.9.3 Ideal Funnel Canvas:
Fig. 2.17 : Ideal Funnel Canvas of Self Tacit Zone
Description:
People:
Here people in the sense user which kinds of people can use this app and product
so generally all kinds of user have to need task scheduling or location tuning but
more effective to the office person, student life and time to time person.
Problems:
Here activities are the performed by the app mean which activities are performed
you by these app like get notification, auto profile changer, auto perform some task
which are predefined .
Input:
Input of this app is user enter their location that is input and set their profile as the
input and set time when they want to perform that is input these all data are saved
into the database so these are inputs.
53. Project id: 2299 SELF TACIT ZONE
35
3 IMPEMENTATION
Actual Implementations
Snapshots
Testing
Performance Enhancements
54. Project id: 2299 SELF TACIT ZONE
36
3.1 ACTUAL IMPLEMENTATIONS
3.1.1 Development Environment
We used Google Code, a web-based application, for project hosting and SVN version control
[X]. The integrated issue tracker was used for tracking and managing feature requests and
bugs during the development process. The source code for Self Tacit Zone is available under
the terms of the GNU v3 public license at: http://code.google.com/p/geo-reminder/.
Our primary development platform consisted of the following software and hardware
configuration:
Android Studio: The Android Studio by intellJ provides a set of integrated development
and testing tools including core Android libraries, a built in gradle-support, emulator,
debugger, logger, and device drivers to allow running applications on an Android phone.
Google Map V2 API Key : We used the Google MAP V2 API add-on libraries for
implementing some of features in Self Tacit Zone such as geo-coding, mapping etc. and
also use API Key from Google Developer Console [M].
Eclipse Plug-ins: The Eclipse IDE v3.4.2 was used with the Android Development (ADT)
and Subversion plug-ins. The ADT plug-in allows developing and running apps from
within the Eclipse IDE and provides access to various features of the Android SDK. The
Subversion plug-in was used for working with the SVN repository from within Eclipse
IDE.
PC: Windows 7 Home Edition 64-bit, Java Development Kit v1.6.0, 4 GB RAM,Intel[R]
Core[TM] i3-3227 CPU 1.90 GHz
Android Smart Phone: Motorola Moto G2 [N] with 5.0.2(Lollipop) [O] Android OS.
55. Project id: 2299 SELF TACIT ZONE
37
3.1.2 Anatomy of an Android App
This section briefly discusses the basic components of an Android app and defines the key
concepts and vocabulary needed to understand the implementation of Self Tacit Zone app.
View
Views are the fundamental building blocks for creating user-interfaces. A View
typically consists of the content visible to the user on the screen such as a button, text
field, etc. It is the point of user interaction and handles UI events such as a button press.
Views are grouped into a hierarchical structure to form different layout schemes such
as a lists, tables, etc which organize the Views into specific pattern for rendering [Q].
Layouts and Views are typically specified in XML files.
Activity
An Activity is essentially a piece of user-interface that consists of a set of related tasks
a user can do in one screen. For example, a in this app they have many activities like :
SplashActivity that shows all Splash Screen on starting app
MainActivity that shows an activities of main page
Intents
Intents are the fundamental message passing constructs in Android which allow
communication of data and action between and among different system components
such as: Applications, Activities, Services, etc. For example, when a new Profile is
ceived, Intents are fired from the mail listener service to update the mail list screen to
show the newly received messages.
Apps can also register to receive specific kinds of Intents (generated internally or
externally) in order to wake up and execute code when the appropriate Intent is
received. For example, say the user wants to pick a photo to attach to a mail message.
An Intent is fired that looks for the best available source of photos. It may determine
that the photo gallery is the best match and use it. If later, a better source of photos is
added, such as an online web album on Flickr or Picasa, the photo gallery is replaced
by the web album as the preferred source. This late binding between action and action
handler allows components to be re-used or replaced at run-time. Any task triggered by
an Intent is therefore an opportunity to replace or re-use a component [Q].
Services
Services are background processes launched from Activities that typically perform
long-running tasks and have no user interface. [Q].
Android Manifest :
AndroidManifest.xml file is necessary for all android applications and must have this
56. Project id: 2299 SELF TACIT ZONE
38
name in its root directory. In the manifest you can find essential information about the
application for the Android system, information that the system must have before it can
run any of the application's code. Here is what you can find in the Android manifest:
The name of the Java package for the application. The package name serves as
a unique identifier for the application.
The description of the components of the application : the activities, services,
broadcast receivers, and content providers that the application is composed of
and under what conditions they can be launched .
The processes that will host application components.
The permissions the application must have in order to access protected parts of
the API and interact with other applications.
The permissions that others are required to have in order to interact with the
application's components.
The list of the Instrumentation classes that provide profiling and other
information as the application is running. These declarations are present in the
manifest only while the application is being developed and tested; they're
removed before the application is published.
The minimum level of the Android API that the application requires.
The list of the libraries that the application must be linked against.
3.1.3 Common Issues
Here we briefly discuss our solutions to some of the most frequently encountered problems
in the context of developing Self Tacit Zone.
SQL memory leaks: One of the most commonly encountered errors was SQL memory
leak which would usually result in crashing the application. Typically these would occur if
references to SQL databases are not properly opened or closed when transitioning between
Activities. In order to properly manage database references, our solution was to handle
them as part of the Activity life cycle:
close all open references in the onPause() or onDestroy() callback methods which
are executed before the Activity is paused or destroyed
open new references when the Activity is resumed or re-initialized in the
onResume() or onCreate() methods respectively.
Null-pointer errors: Null-pointer exceptions usually occur when null in used in cases
where an object is expected. The built-in debugger was used extensively to step through
the code and root-cause these types of errors in PlaceMe. For example, in the parsing of
the JSON search results, field values can sometimes be non-existent. Our solution was to
modify the JSONParser class to first check for the existence of the specified JSON object
or field before attempting to read it. Another instance was processing of required user
inputs when new reminders are created. To prevent null-pointer exceptions, we used
defaults to initialize required fields such as “alert type” or “range”. This also circumvented
the need to create annoying prompts to force the user to enter a value.
57. Project id: 2299 SELF TACIT ZONE
39
Abstract data typing: On many occasions, we needed to pass data which contained more
than a single primitive type, such as for example, GPS coordinates consisting of latitude
and longitude pairs, database row entries consisting of several column fields, and search
results consisting of several attributes. Our initial approach was to pass this data in as
function arguments. However, this resulted in the creation of several overloaded functions,
one for each possible subset of data that needed to be passed in, unnecessarily bloating the
code. To handle these cases, we created abstract data types for aggregating data and
associated operations into a Java objects.
58. Project id: 2299 SELF TACIT ZONE
40
3.2 SCREENSHOTS
3.2.1 Android Studio IDE
Fig. 3.1:Screen Shot of Android Studio 1.2 by IntelliJ
59. Project id: 2299 SELF TACIT ZONE
41
3.2.2 Self Tacit Zone App
Splash Activity
Fig. 3.2 :Splash Screen
Fig. shows Splash Screen, when user start app then display this Screen up to 5sec then
Display Main Screen of the app.
60. Project id: 2299 SELF TACIT ZONE
42
Main Page (Profile)
Fig. 3.3 : Profile
This is main Screen of the application Which Display the Profiles, by default 3 Profiles are
set in app
In this screen we touch 5 button as shown in figure:
1. Set New / Edit Profile 4. Trigger Timeout
2. Settings 5. Edit This Profile
3. Triggers
61. Project id: 2299 SELF TACIT ZONE
43
Set New / Edit Profile
Fig. 3.4 : Set New / Edit Profile
Figures Shows that how Profile set they includes various field which can be assign/modify
by their values as shown figure such as Name which can be assign by user , Ringer mode
which can be changed by the it’s properties such as Normal, Vibrate , Silent , Unchanged.
62. Project id: 2299 SELF TACIT ZONE
44
Various Filed for Set Profile
Fig 3. 5: Various field of Profile
iii. Enter Name ii. Change Ringer mode i. Change Volume
v. Set Display
Timeout
vi. Change state of
Brightness
iv. Change state of
mobile data
63. Project id: 2299 SELF TACIT ZONE
45
Trigger Time Out
Fig. 3.6 :Trigger Timeout
Figures Shows that how When Trigger is Timeout for Profile.
64. Project id: 2299 SELF TACIT ZONE
46
Triggers
Fig. 3.7: Triggers
Figure shows the Triggers Screen initially no trigger available then Trigger Configure by the
user and also disable enable this Trigger.
65. Project id: 2299 SELF TACIT ZONE
47
Set New / Edit Profile
Fig. 3.8 :Set New/Edit Trigger
This Section used for Set Profile by Locations also with time and priority which called
Trigger.
Figures Shows that how Trigger set they includes various field which can be assign/modify
by their values as shown figure such as Name which can be assign by user , Location Which
can be Set using GPS and Internet.
66. Project id: 2299 SELF TACIT ZONE
48
Various Filed for Set Trigger
Fig 3.9: Various fields of Trigger
i. Enter Name ii. Choose Profile iii. Set Priority
vi. Set Headphone Statev. Set Battery Stateiv. Set Start Time
67. Project id: 2299 SELF TACIT ZONE
49
Geofence
Fig. 3.10 : Geofence/Location
This Section used for Set Geofence by Google map , Geofencing done using the radius from
the latitude and longitude.
68. Project id: 2299 SELF TACIT ZONE
50
Setting
Fig. 3.11 :Settings
Figure shows settings of the app which includes Permanent Notification , Settings for Root
Device , Language , About Developer
69. Project id: 2299 SELF TACIT ZONE
51
Permanent Notification:
Fig. 3.12 : Permanent Notification
Figure shows how Permanent Notifications shown in application with current Profile .
70. Project id: 2299 SELF TACIT ZONE
52
Popup For Change Profile
Fig. 3.13 : Profile Popup
Figure shows Popup for change Profile instantly when set permanent notification.
71. Project id: 2299 SELF TACIT ZONE
53
Language
Fig. 3.14 : Choose Language
Figure shows various Language of the applications.
72. Project id: 2299 SELF TACIT ZONE
54
About
Fig. 3.15 : About
Fig. shows that about screen which includes Name of Application with Version name and
also Developers Name.
73. Project id: 2299 SELF TACIT ZONE
55
3.3 TESTING
3.3.1 Testing Plan
An Application project test plan is a document that describes the objectives, scope, approach,
and focus of a Application testing effort. The process of preparing a test plan is a useful way
to think through the efforts needed to validate the acceptability of Application. The
completed document will help people outside the test group understand the 'why' and 'how'
of product validation.
The purpose of Test Plan is to serve as the Test Approach for the “Self Tacit Zone”. The
Test Plan aims:
To define over all scope of the testing.
To identify the target test items.
To define the different testing approaches that will be followed during the testing
phase.
To identify the different deliverables of the testing.
To detail the activities, dependencies and effort required to conduct the Testing.
To define various criteria needed to conduct the test.
Scope
All the testing will be done according to the program specifications and requirement
study document. Each of the requirements, mentioned in the Requirement analysis will
be tested by unit testing, which also indirectly will do the requirements validation. We
will be carrying out Unit Testing, Integration testing, and System Testing . All the
testing will be manual and no automated testing tool will be used.
Intended Audience
Project Manager, Developer, Tester
3.3.2 Testing Strategy
Testing strategy is a general approach to the testing process rather than a method of devising
particular system or components tests. Different testing strategies may be adopted depending
on the type of system to be tested and the development process used. So considering
74. Project id: 2299 SELF TACIT ZONE
56
functional oriented nature of our website we will adopt the Top Down strategy for testing.
Top Down Testing
The higher levels of our system we will check before testing its detailed components.
The program will be represented as a single abstracted component with sub-
components represented by stubs.
So we will develop some basic stubs with having same interface as the components but
with very less functionally. After the top- level components have been tested, its sub-
components will be implemented and tested in the same way. We will carry this process
recursively until the bottom level is implemented.
Reasons For Choosing Strategies:
Unnoticed design errors may be detected at early stages in the testing process. As
these errors are usually structural errors, early error detection means that
extensive re-design and reimplementation may be avoided.
Another advantage is that a limited, working system will be available at an early
stage.
3.3.3 Testing Methods
Introduction
The focus of our test strategy was primarily functional and end-to-end testing due to
the limited development time frame, novelty of the platform and the sheer variety and
number of components involved. The Android SDK provides a set of integrated
development and testing tools that include a built in emulator, debugger, logger, and
device drivers that allow running applications on an Android phone. The emulator was
used extensively in the initial development and testing of Self Tacit Zone.
Testing User Interfaces :
User interfaces in Android are typically specified as XML layout files consisting of
parameterized View objects instantiated at run-time. Similar to HTML tags, the
names of XML elements and attributes correspond to that of View classes and
instance variables in the Android framework.
Most of the design and testing of UIs in Self Tacit Zone was done using the
DroidDraw tool, a 3rd party view editor that runs as a standalone Java executable [T].
It allows creating views graphically and generates the underlying XML code. Rather
than use the tool for creating views, we used the tool more for validation of our XML
layouts. It allowed quickly tweaking View objects and parameters in XML and
75. Project id: 2299 SELF TACIT ZONE
57
observing the resultant output, ideal for iterative code development. In addition, since
the View objects are instantiated at run-time, the Android emulator itself allows hot-
swapping the XML layout files without re-installing and re-running the entire
application, provided the underlying Java code is not changed. On occasions, this
method was used for testing small changes in UI layout.
Database Testing :
Self Tacit Zone uses SQL databases for managing reminders and bookmarks. In order
to test the basic Create, Read, Update, Delete (CRUD) operations on these databases
we used the built-in Android Debug Bridge (ADB) tool [U] which is part of the Android
Studio. The ADB tool is client-server program that allows communicating with the
emulator or device over TCP network ports via a client-side shell. This makes it
possible to examine state of the database from a remote shell using the sqlite3 command
line tool and execute SQL commands [V].
Stress Testing
The Android platform provides a built-in Monkey tool [W] which runs on the
emulator or device and allows sending pseudo-random sequences of events to the
application via the ADB shell. We used this tool for stress testing app by sending
1000 sequences of random events to it which include button presses, random data
entries, scrolling, screen transitions, navigation between Activities, etc. The figure
below shows a screenshot of a partial command line execution of the Monkey tool
on Self Tacit Zone.
Fig. 3.16: Using Monkey tool to generate pseudo-random events
We used the Monkey tool to stress test app on both the emulator and an actual phone.
We found no unexpected application crashes, unhandled exceptions or “application
not responding” errors. All operations were successfully completed including
persisting reminders and bookmarks to the database.
Simulating Mobility
Since Self Tacit Zone is a location-based application, the ability to simulate mobility
76. Project id: 2299 SELF TACIT ZONE
58
is central to testing most of its core features. The Android SDK provides Dalvik
Debug Monitor Server (DDMS) tools [V] which connect to the ADB service
described above and provides a communication bridge between the Android Studio
IDE and the emulator or phone. As shown in the figure below, the DDMS Perspective
in Eclipse provides Location Controls which allow sending location coordinates to
the emulator manually, or playback/stream the GPS route information at varying
speeds using GPX or KML file [V].
Fig. 3.17 : DDMS location controls
Unit Testing
We independently unit tested and validated the supporting classes in
com.kpzz.selftacitzone.lib package, which are designed to provide re-usable
functionality used across different features such as Geo fence the location
(GeofenceUtils)
Field Testing
Self Tacit Zone was field tested on, Moto G2 , an Android powered mobile phone
with Android 5.0.2 OS. Using the app on an actual handset in real life scenarios
revealed some interesting insights which would have been otherwise difficult to
detect in a simulated environment. For example, initially we used meters, instead of
miles to specify the radius of the Profile zone. During actual usage, we found that
Profile would not trigger when they were supposed to. At first this appeared strange,
since a thorough re-testing of the tracking algorithm in the profile service did not
reveal any issues. We realized later the reason the profile alerts were not triggering
was because the profile zones were never really being entered or exited. Some of the
issues involved were:
meters is too fine grained for defining reminder zones. This led us to use miles
instead, and set the default reminder radius to a quarter mile, in order to compensate
for the crudeness inherent in geofencing. According to Hartnett’s article [30], the
Google Geo-fence can be off by 509 feet on average or 155.14 meters. Moreover,
miles is a more natural unit of measurement for this purpose as most Americans tend
to think of distances in miles rather than meters.
77. Project id: 2299 SELF TACIT ZONE
59
3.4 PERFORMANCE ENHANCEMENTS
In this section we briefly discuss some of the key performance enhancements and feature
improvements made in the course of developing and testing the Self Tacit Zone application.
3.4.1 Real-Time Location Updates :
During real-world testing and evaluation of Self Tacit Zone app on an actual Android
phone, we identified a performance issue in the implementation of Search location,
where if the user is mobile (ex: driving or on the bus) while using the feature, the
Activity would continually attempt to update the user’s location displayed and they not
retrieve actual location . The crux of the problem was to update and display the user’s
current location in timely manner while minimizing continual location updates that
cause the app to crash.
3.4.2 Network I/O & Memory Usage
network queries to fetch the URLs to Google Map directions. To minimize run-time
overhead and network bandwidth utilization where possible, these URLs are not obtained
and stored beforehand. Instead, they are obtained on-demand at the time when the user
requests them.
3.4.3 Database Querying & Filtering
The ProfileFragment periodically sifts through the reminder database to determine when
to trigger profile alerts. To help reduce the search time, we use SQL WHERE clause to
filter out the “enabled” reminders and only iterate through them. As an added optimization
feature, we can potentially galso use the WHERE clause to query for reminders whose
reminder zones contain the user’s current GPS location, in order to further reduce the
search size.
78. Project id: 2299 SELF TACIT ZONE
60
4 SUMMARY
Summary of Project
Scope of Future work
Unique Features
79. Project id: 2299 SELF TACIT ZONE
61
4.1 SUMMERY OF PROJECT
Basically we have to complete this work successfully and it’s the fantastic experience to
implement this kind of the application which is useful for all kinds of people and generation,
because it’s very useful for regular person who have time is very important.
They are several Application is available in Android Store but which are may Chargeable ,
may have less features , may not work proper . hence Self Tacit Zone is very useful for User.
4.1.1 Advantage of work
Easy to understand
Easy to maintain database and less memory reserve
Sync task schedule with your trigger
All task you managed by specific location and time.
Time and location are sync with each other
80. Project id: 2299 SELF TACIT ZONE
62
4.2 SCOPE FUTURE WORK
Synchronized Google calendar with application for scheduling.
To remind your every day’s small to biggest activities by location.
You get notify when you pass from colleges, shopping malls, or cinemas to get their
deals and some exciting offers.
Get remind with your favorite TV shows, lectures, radio shows.
And special thing is for parents to track they child by location and mother can check
the routine schedule of their little bit child.
Give the advertisements to user by their tasks and interest.
81. Project id: 2299 SELF TACIT ZONE
63
4.3 UNIQUE FEATURE:
Self Tacit Zone is an intelligent profile app for Android. It's meant to be an Free alternative
to wellknown apps like LLama and Tasker. which still offers some unique features.
PROFILES
Self Tacit Zone allows you to create, manage and apply profiles which can contain the
following settings:
Sound:
Ringer Mode
Ringtone& Notification Volume
Media Volume
Alarm Volume
Connectivity:
GPS
Mobile
Data
WiFi
Bluetooth
Display:
Automatic Brightness
Brightness
DisplayTime Out
There are also some features which are unfortunately only available for rooted phones
like NFC, Airplane Mode and Lockscreen.
Triggers
Furthermore the app offers trigger management.
A trigger basically defines a rule for the automatic application of selected
profiles.
The user is able to create said triggers and to use them for his daily workflow.
A trigger can contain the following rules:
Location (Geofence)
Time (Exact time or time range)
BatteryState
Battery Level (Exact level or level range)
HeadphoneState
These rules can be freely combined (e.g. at a certain location AND a certain
time).
82. REFERENCE
[A] U. Government. (1999) Global Positioning System. [Online]. www.gps.gov
[B] Wi-Fi.org. (2010) Wi-Fi Alliance. [Online]. http://www.wi-
fi.org/discover_and_learn.php
[C] Federal Communications Commission. (2002, Nov.) Third Generation Wireless
Systems. [Online]. http://www.fcc.gov/3G/ #sec2
[D] HowStuffWorks.com. (2001, Sep.) How do touch-screen monitors know where
you're touching?. [Online]. http://computer.howstuffworks.com/question716.htm
[E] Bluetooth Special Interest Group. Bluetooth.org. [Online].
https://www.bluetooth.org/apps/content/
[F] Wikipedia.org. (2010, Oct.) Accelerometer. [Online].
http://en.wikipedia.org/wiki/Accelerometer
[G] D. Rusling, The Linux Kernel. Berkshire, United Kingdom, 1996. [Online].
"http://tldp.org/LDP/tlk/tlk.html"
[H] Whatsapp Chatapp for smartphone
[I] Android Studio. [Online]. https://developer.android.com/sdk/index.html
[J] Spiral Model[Online]. http://en.wikipedia.org/wiki/Spiral_model
[K] OOAD, UML, SDLC , gantt Chart [Online].
http://en.wikipedia.org/wiki/Software_development_process
[L] Software Development [Online].
http://en.wikipedia.org/wiki/Software_development_process
[M] Google Developer Console [Online]
http://developer.android.com/guide/basics/what-is-android.html
[N] Motorola Moto G2 [Online]
[O] Android 5.0.2 Lollipop Google Inc. (2007, Nov.) Android API Reference.
[P] G. Inc. (2010, Nov.) Android Developer Guide. [Online].
http://developer.android.com/
[Q] A. D. Team. (2007, Nov.) YouTube presentation. [Online].
http://www.youtube.com/watch?v=Mm6Ju0xhUW8
[R] S. Hashimi, S. Komatineni, and D. MacLean, "Pro Android 2," in Pro Android 2.
New York, US: Apress, 2010, ch. 1, pp. 10-11.
[S]
[T]
[U]
[V]
[W]
[X]
Google Inc. (2010) Google Code Web Search API. [Online].
http://code.google.com/apis/ajaxsearch/documentation/reference.html
brendan.d.burns. DroidDraw. [Online]. http://www.droiddraw.org/
Google Inc. (2010, Nov.) Android Developers. [Online].
http://developer.android.com/guide/developing/tools/adb.html
Google Inc. (2010, Nov.) Android Developers. [Online].
http://developer.android.com/guide/developing/tools/adb.html #sqlite
Monkey Tool
Google Inc. Google Code Project Hosting. [Online]. http://code.google.com/
83. i. PERIODIC PROGESS REPORT
Student Name : Parthik Poshiya
En. No. : 111020107004
Periodic Progess Report : First PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
we have to add future technology into the project like to keep the general record of the user manse
daily route of their work or traveling . and also we have to complete the over all design part of
the project but its dynamic so it might be change at run time.
What challenge you have faced ?
we have to face the challenge into implement the map view and map related action like in map
version-2 we have to change some methods so we have to first understand that things and and
then implements . And main thing is that my project is IDP so at many time user or client have to
change their mind and tell us to change into the application. so many times we have to face the
problems.
What support you need ?
Yes, this field is very important for us , we have to take many kinds of the helps and support for
to develop the map renders and to do attractive app so design is also in under of the support and
guide's.
Which literature you have referred ?
https://www.pettracker.com/sites/default/.../Tagg_UG_February2013.pdf - we have to show this
manual and we learn from it. stackoverflow.com/questions/.../very-easy-android-geofence-
example , https://github.com/Esri/geotrigger-sdk-android :- finally from this tutorial we have to
teach that how to fence the location and give it to fence for perform some action.
Comment by Internal Guide :
Do some more literature survey on location based application
84. Periodic Progess Report : Second PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
we have to cover up many kinds of designing area of our application and also clear part of the
action perform on location and the main thing is that all design part is over now and we have to
code the basic activities of our app .
What challenge you have faced ?
in design part we have to face the main challenge is attraction of people and make the perfect
design which attract the people and the main thing is functionality of project is kept in our hand
no side effect of the design in that.
What support you need ?
we have to take the functional support from the android's portal git-hub and refer some magazine
and look up for some code .
Which literature you have referred ?
we have to refer one or more tutorial that based on location from UDACITY program by google
android.
Comment by Internal Guide :
Proper analyze requirement of your user and then design
85. Periodic Progess Report : Third PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
Almost we have to done most of design and code also now it's time to do some little bit parts of
design and code also it means some changes that we have to do at last of the full work done....!
What challenge you have faced ?
at this stage we have no much more problems that we expected but it goes smoothly so at this
time we have no problems related to the project and regard to the part of module.
What support you need ?
basically this module is simple and easy so no support we have to need to implement this module
because of in this last changes we have do so basic external need.....
Which literature you have referred ?
1) https://developers.geoloqi.com/ 2) http://www.javacodegeeks.com/2010/09/android-location-
based-services.html 3) https://developer.android.com/training/location/geofencing.html
Comment by Internal Guide :
Design proper UI and test compatibility of design
86. Periodic Progess Report : Forth PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
At the end of the project and it's small changes we have to take whole project under the testing
schedule so we have to go for it and if any problem or error occured at the time of the testing then
we have to solve them at the prefered time duration. So this overall process of the project is
allmost finish but some touching is remaining that is done in to A week.
What challenge you have faced ?
problem is there now we have to finish all thigs but some times location get by the GPS is wrong
or slightly difference between pure location so thats why we have to face problem to test the app..
What support you need ?
yes we have to take the need from other resources like android developer and git repository so we
have to study this all the kinds of the material related to the location based simulation.
Which literature you have referred ?
https://developer.android.com/training/testing.html
Comment by Internal Guide :
test it using real time situation and location
87. Periodic Progess Report : Additional PPR_1
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
All Given Suggestion by Guide due to forth PPR is Completed , Now we think about Future Expansion
What challenge you have faced ?
we have face to make Attractive Design , but now have create best UI as possible!
What support you need ?
we take support of Senior Android Developer
Which literature you have referred ?
https://developer.android.com/guide/topics/ui/
Comment by Internal Guide :
Good work.
88. Student Name : Keyur Hudka
En. No. : 121023107013
Periodic Progess Report : First PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
we have to add future technology into the project like to keep the general record of the user manse daily r
to complete the over all design part of the project but its dynamic so it might be change at run time.
What challenge you have faced ?
we have to face the challenge into implement the map view and map related action like in map version-2
first understand that things and and then implements . And main thing is that my project is IDP so at many
tell us to change into the application. so many times we have to face the problems.
What support you need ?
ya this field is very important for us , we have to take many kinds of the helps and support for to develop
is also in under of the support and guide's.
Which literature you have referred ?
https://www.pettracker.com/sites/default/.../Tagg_UG_February2013.pdf - we have to show
stackoverflow.com/questions/.../very-easy-android-geofence-example , https://github.com/Esri/geotrigge
to teach that how to fence the location and give it to fence for perform some action.
Comment by Internal Guide :
Do some more literature survey on location based application
89. Periodic Progess Report : Second PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
ya now in second part we have to do the all kinds of function related to the client's or users that have use o
user need like launch some app on some location, remind by notification at some location , perform som
to put in to the action area of the application
What challenge you have faced ?
we have to face this time less challenge but still some things are like as challenge that is we decide to la
the required code or related learning materials..
What support you need ?
we have to show some code of related app that have been made into the git-hub and find some extra solut
Which literature you have referred ?
we have to refer one or more tutorial that based on location from UDACITY program by google android.
Comment by Internal Guide :
Proper analyze requirement of your user and then design
90. Periodic Progess Report : Third PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
Almost we have to done most of design and code also now it's time to do some little bit parts of design a
to do at last of the full work done....!
What challenge you have faced ?
In this stage we have no much more problems that we expected but it goes smoothly so at this time we hav
the part of module
What support you need ?
basically this module is simple and easy so no support we have to need to implement this module because
need.....
Which literature you have referred ?
1) https://developers.geoloqi.com/ 2) http://www.javacodegeeks.com/2010/09
https://developer.android.com/training/location/geofencing.html
Comment by Internal Guide :
Design proper UI and test compatibility of design
91. Periodic Progess Report : Forth PPR
Project : Self Tacit Zone
Status : Reviewed (Freeze)
What Progress you have made in the Project ?
At the end of the project and it's small changes we have to take whole project under the testing schedule s
occured at the time of the testing then we have to solve them at the prefered time duration. So this overa
touching is remaining that is done in to A week.
What challenge you have faced ?
problem is there now we have to finish all thigs but some times location get by the GPS is wrong or sligh
we have to face problem to test the app..
What support you need ?
yes we have to take the need from other resources like android developer and git repository so we have t
the location based simulation.
Which literature you have referred ?
https://developer.android.com/training/testing.html
Comment by Internal Guide :
test it using real time situation and location
93. Self Tacit ZoneBusiness Canvas Model (BMC) Report
“SELF TACIT ZONE”
A BUSINESS MODEL CANVAS REPORT
Submitted by
PARTHIK POSHIYA(111020107004)
KEYUR HUDKA (121023107013)
In fulfillment for the award of the degree
of
BACHELOR OF ENGINEERING
COMPUTER ENGINEERING
OM ENGINEERING COLLEGE, JUNAGADH
Gujarat Technological University, Ahmedabad
MAY 2015
94. Self Tacit ZoneBusiness Canvas Model (BMC) Report
INDEX
SR NO. CONTENT
1. Key Partners
2. Key Activity
3. Key resources
4. Value Propositions
5. Customer Relationship
6. Channel
7. Customer Segmentation
8. Cost Structure
9. Revenue
95. Self Tacit ZoneBusiness Canvas Model (BMC) Report
1. Key Partners
As shown in Image following are key partners of Our project by helping their Features we have
completed our project work.
Atlas Web Technologies
Android Smart Phones
Global Positioning System (GPS)
Network Enable Places
Smart Phone User
Smart Watch User
96. Self Tacit ZoneBusiness Canvas Model (BMC) Report
2. Key activities
In our project work, there are many activities involved. But following are the key activities of our
project:
Perform Action by Location
Perform Action by Time
97. Self Tacit ZoneBusiness Canvas Model (BMC) Report
3. Key resources
For getting perfect coding and accurate location, below Resources are use for develop Project:
GPS Supported Device
Android Studio
Google map v2 API key
98. Self Tacit ZoneBusiness Canvas Model (BMC) Report
4 Value Propositions
For our project or to make any Application using that project data, we got some of following values or
achievements in our projects:
Set Profile
Set Trigger
Set Location
Time Base Trigger
Set Priority
99. Self Tacit ZoneBusiness Canvas Model (BMC) Report
5. Customer Relationships
For product related business made by using Application analysis data, before & after selling, we try to
make positive relations with customers in following manner.
If GPS is not Working(i.e Smart phone
without GPS) then perform Trigger
based on Time
100. Self Tacit ZoneBusiness Canvas Model (BMC) Report
6. Channels
For promoting our Application or project work and make available to customer where he needed
following channels should be used:
We reach to customer through
Google ads. And social media.
101. Self Tacit ZoneBusiness Canvas Model (BMC) Report
7 Customer Segments
Following are the customer segmentation:
For Saving wasted Time
Automatize our life
Sync task with location
102. Self Tacit ZoneBusiness Canvas Model (BMC) Report
8 Cost Structure
Following are the different areas where cost involved during application development and the full
structure as shown below is affects cost of product directly or indirectly:
Charges of Publishing Application on Google Play Store
Mobile Charges
103. Self Tacit ZoneBusiness Canvas Model (BMC) Report
9 Revenue
Earn money from advertising and premium version of Application
104. GIC Patent Drafting Exercise Team ID:
FORM 2
THE PATENTS ACT, 1970
(39 OF 1970)
&
THE PATENTS RULES, 2003
PROVISIONAL SPECIFICATION
14672
1. Title of the project/invention :
Self Tacit Zone
Parthik Vinodbhai Poshiya , ( Indian )
Address :Computer Engineering , Om Engineering College, At Chokli, Dist Junagadh , Gujarat Technologycal
University.
Keyur Prafulbhai Hudka , ( Indian )
Address :Computer Engineering , Om Engineering College, At Chokli, Dist Junagadh , Gujarat Technologycal
University.
2. Applicant(s) :
3. Preamble to the description :
The following specification describes the invention.
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 1 of 7
105. 4. Description :
a. Field of Application / Project / Invention :
Android,Automate, location based services, profile timer , location sync
b. Prior Art / Background of the Invention / References :
only time wise but it also location based sync data with application and change and apply trigger.
c. Summary of the Invention/Project :
Project Title : Self Tacit Zone
Project Concept : Maintain the task of user
Type of Project : Android Application
d. Objects of the Invention/Project :
Objective of this application is simply to make our life automatic Means our cell phone is detect the
place and give response by the Place means if you are in college then cell phone is automatic silent
And after Finish College the phone is automatic in general mode.
e. Drawing(s) :
14672_1_Splash
14672_2_Profile
14672_3_About
f. Description of the Invention
This is an android application based on the location and GPS. In this application user can choose
and set their location and its range to perform the user specified events and tasks.
And also user can set these all action tasks and events by the time and also for the less failure
application is track your time to enter and leave time of your location range and in failure its
automatic switch on time.
g. Examples
LLama, profile tasker tasker etc..........
h. Unique Features of the Project
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 2 of 7
106. Self Tacit Zone is an intelligent profile app for Android. It's meant to be an Free alternative to
wellknown apps like LLama and Tasker. which still offers some unique features.
PROFILES
Self Tacit Zone allows you to create, manage and apply profiles which can contain the following
settings:
• Sound:
Ringer Mode
Ringtone& Notification Volume
Media Volume
Alarm Volume
• Connectivity:
GPS
Mobile
Data
WiFi
Bluetooth
• Display:
Automatic Brightness
Brightness
DisplayTime Out
There are also some features which are unfortunately only available for rooted phones like NFC,
Airplane Mode and Lockscreen.
• Triggers
Furthermore the app offers trigger management.
A trigger basically defines a rule for the automatic application of selected profiles.
The user is able to create said triggers and to use them for his daily workflow.
A trigger can contain the following rules:
Location (Geofence)
Time (Exact time or time range)
BatteryState
Battery Level (Exact level or level range)
HeadphoneState
These rules can be freely combined (e.g. at a certain location AND a certain time).
5. Date & Signature :
Date : 23 - May - 2015
Sign and Date
Parthik Vinodbhai
Poshiya
Sign and Date
Keyur Prafulbhai
Hudka
6. Abstract of the project / invention :
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 3 of 7
107. Project Description:
This is an android application based on the location and GPS. In this application user can choose and
set their location and its range to perform the user specified events and tasks.
And also user can set these all action tasks and events by the time and also for the less failure
application is track your time to enter and leave time of your location range and in failure its automatic
switch on time.
Modules:
Data storage:
In this data application data storage of the specific location and its range. And also data of the
action and events which is set by user for the specific location.
Location:
Location is the main part of this application and also the location has many type of attributes like
get current location, set location, set location range, and many type of location related action and events are
performed.
Activity:
There are many kinds of activity done into this application such like when user set location and set
their activities and some launching app activities are also done in this application.
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 4 of 7
108. Drawing Attachments :
14672_1_Splash
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 5 of 7
109. 14672_2_Profile
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 6 of 7
110. 14672_3_About
This is just a mock Patent Drafting Exercise (PDE) for semester 8, BE students of GTU.
These documents are not to be submitted with any patent office.
Note :
Page 7 of 7