You are on page 1of 44

St.

John College of Engineering and Technology, Palghar 2014-2015

ST. JOHN COLLEGE OF ENGINEERING AND TECHNOLOGY

Vevoor , Manor Road, Palghar (E), District Palghar – 401404

2014-2015

MOODLE MOBILE NOTIFIER


A dissertation submitted in partial fulfillment of the
requirement for the degree of

B. E. COMPUTER ENGINEERING (B)

By
Bhavik Rana 43

Nikhil Sawarkar 51

Manish Shanbaug 53

Under the guidance of

Mr. Vaibhav Ambhire


Department of computer engineering
St. John College of Engineering and Technology, Palghar 2014-2015

ST. JOHN COLLEGE OF ENGINEERING AND TECHNOLOGY

Vevoor , Manor Road, Palghar (E), District Palghar – 401404

2014-2015

MOODLE MOBILE NOTIFIER

A dissertation submitted in partial fulfillment of the


requirement for the degree of

B. E. COMPUTER ENGINEERING (B)

By

Bhavik Rana 43

Nikhil Sawarkar 51

Manish Shanbaug 53

Under the guidance of

Mr. Vaibhav Ambhire


Department of computer engineering

2
St. John College of Engineering and Technology, Palghar 2014-2015

ST. JOHN COLLEGE OF ENGINEERING AND TECHNOLOGY


Vevoor, Manor Road, Palghar (E), District Palghar - 401404

UNIVERSITY OF MUMBAI

CERTIFICATE

This to certify that the work “MOODLE MOBILE NOTIEFIER” has been carried out by

Bhavik Rana 43

Nikhil Sawarkar 51

Manish Shanbhag 53

have satisfactorily carried out the Project work entitled “Moodle Mobile Notifier“ in partial
fulfillment of Bachelor of Engineering in Computer Engineering as laid down by University of
Mumbai during the academic year 2014-2015.

_____________________ _______________
Mr. Vaibhav Ambhire Mrs. Neeta Patil
( Internal Guide ) ( HOD )

________________ _________________
Internal Examiner External Examiner

__________________
Dr. Satish Taklikar
(Principal)

3
St. John College of Engineering and Technology, Palghar 2014-2015

Acknowledgement
The satisfaction that accompanies the successful completion of any task would be
incomplete without the mention of people whose ceaseless cooperation made it possible, whose
constant guidance and encouragement helped us throughout.

We sincerely express deep sense of gratitude to our guide Mr. Vaibhav Ambhire and
Mr.Gunashekar Sir also Head of Department Mrs. Neeta Patil for their valuable guidance,
inspiration and constructive suggestions that helped us in the preparation of this project.

We express our sincere gratitude to our respected principal Dr. Satish Takalikar for
encouragement and facilities provided to us.

We would also like to take the opportunity to thank our professors for their creative inputs
and support. All of the aforementioned people have a big part in clearing our doubts about the
project and giving us confidence to go about for the project.

Bhavik Rana
Nikhil Sawarkar
Manish Shanbhag

4
St. John College of Engineering and Technology, Palghar 2014-2015

ABSTRACT

E-learning management systems are increasingly used as online communication platforms between
student and teachers in traditional, distance and open learning educational institutions. Moodle is
the most used open source e-learning management systems platform with around 68 million users
being served. Moodle server side application can be accessed via web browser or any computer or
Internet enabled hand-held device. The existing system has some limitations: The lack of
synchronization between client and server applications i.e. between posting and viewing the
information, Students cannot easily differentiate between newly and previously seen information,
When Moodle server is accessed from a hand-held device using mobile telecommunication
networks web bandwidth is considered as scarce resource.

The above listed limitations have negative impact on tutor-student communication when e-learning
management system platforms are used. The Moodle Mobile Notifier application will be based on
three tier architecture. The tiers are First tier or the Client Tier will be a mobile application build for
Google Android Operating System, Second tier or Server Tier will be the Server Application build
for browsers using PHP/ MySQL, Third tier or the Database Tier will be a database containing
information of tutor and student.The Client Side Application will help the clients to get the
notifications as soon as server posts anything on the Server side application.

5
St. John College of Engineering and Technology, Palghar 2014-2015

TABLE OF CONTENTS

Sr. No Contents Page No.

1.0 Introduction 1
1.1 Motivation 1
1.2 Problem Statement 1
1.3 Scope 2
2.0 Literature Survey 3
2.1 Literature Study 4
2.2 Existing System
3.0 Software Requirement Specification 5
4.0 Requirement Gathering & Analysis 17
4.1 Use Case and description 17
4.2 Feasibility Study 19
5.0 Design 20
5.1 UML Diagram 20
5.2 Data Flow Diagram 23
6.0 Proposed System 25
7.0 Implementation 28
7.1 Algorithm or Methodology 28
7.2 Technology Used 33
7.3 Project Time Line Chart 35
8.0 Result & Discussions 37
9.0 Conclusion & Further Work 41
9.1 Conclusion 41
9.2 Further Work 41
10.0 References 42

11.0 Appendix 43

6
St. John College of Engineering and Technology, Palghar 2014-2015

LIST OF FIGURES

Fig. No Name of Figure Page No

4.1 Use Case Diagram 16

5.1 Sequence Diagram 20

5.2 Collabration Diagram 21

5.3 Flow chart (Server) 22

5.4 Flow Chart (Client) 23

5.5 Deployment Diagram 24

6.1 Architecture diagram 25

LIST OF TABLES

Table. No Name of Table Page No

1 Use Case Template 18

2 Time Line Chart 35

7
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 1: INTRODUCTION

In this chapter, we would just briefly look into the introduction of the project requirements
needed for it and its purpose and aim. Also, a simple development plan for the prototype system
which was drafted out is being presented here in this chapter. An overview of the system initially
planned to be developed is also being presented here. As proposed earlier,we are implementing this
project so that all the notices, notes, study material which will be updated on theMoodle by
Professors, Head of Department, Principal will be send as notifications directly to the student or
faculty on their android smartphone. The main focus of this android application will be to send
notifications on the android smartphone.
This module will be connected to the Moodle database and then the clients who will be
logged in on the android application will only be send the notifications on their smartphone.
If the user is logged off the android application then the notifications will queued in and as
it will login the same moment he will start receiving notifications on the smartphone. The client
will now be able to classify the material date wise as he can see all the new material with date in
his notifications panel unlike the existing system.

8
St. John College of Engineering and Technology, Palghar 2014-2015

1.1 Motivation

As proposed earlier, we are implementing this project so that all the notices, notes, study
material which will be updated on the Moodle by Professors, Head of Department, Principal
will be send as notifications directly to the student or faculty on their android smartphone. The
main focus of this android application will be to send notifications on the android smartphone.
This module will be connected to the Moodle database and then the clients who will be
logged in on the android application will only besend the notifications on their smartphone.
If the user is logged off the android application then the notifications will queued in and
as it will login the same moment he will start receiving notifications on the smartphone. The
client will now be able to classify the material date wise as he can see all the new material
with date in his notifications panel unlike the existing system.

1.2 Problem Statement

 This application is designed for Android Operating System. We will be sending notifications
bygroup to the students Android smart phones for every updation done on the moodle site.
 The limitations from present system are eliminated.

1.3 Scope
This application designing is done to overcome the disadvantages of the present moodle
applications in the market.

 This application is been designed for Android smart phones.


 It is made for 140-160 clients.
 It will send notification to all clients as per admin.
 It is a small scale project for college only.
 It uses a small database.

9
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 2: LITERATURE SURVEY

2.1 Literature Study:


We have studied the different Moodle mobile apps like the mTouch,and Official moodle mobile
application .The problem with both apps is that it is designed only for I phone Operating System.

Both moodle applications have their own limitations and all have some advantages. Description of
the systems are as follows:

1.) m-Touch:

Advantages:

Fully Functional moodle modules


Nice design & easy to use layout
Support both topic & weekly formats
Display embedded images/videos in the course view.
Some cool/drag feature to dock open resources/activities.

Limitations:

Major problem is that it is supported only byIphone Operating System(IOS).


Load of buttons
No block support
Some extra tapping/touching required for linked resources.
No notifications on the phone for updation on the sites

2.) Official Moodle Mobile Application:

Advantages:-

Upload pictures & videos


View participants list of courses.
Record & audio file & upload it
Send a private message.
Add a private note about someone.
Work offline with automatic sync.

Limitations:-

No notification on the phone for the updation on the site


only available for Iphone Operating System.

10
St. John College of Engineering and Technology, Palghar 2014-2015

2.2 EXISTING SYSTEM

Existing system has a very attractive and user-friendly User Interface.The Existing system can
upload the material , voice notes, videos but then they cannot send notifications to the users with the
latest updates via notifications.The main problem with this applications is that they have not tried
to resolve the problems like sending notifications to the user and have improved just the
user-interface.
A closer look at the features of each of these applications confirms that none of these applications is
capable of solving the notification issue. Furthermore, concerning the internet resource
consumption, these apps rely - partially or completely -on an embedded web browser to access the
information.

11
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 3: SOFTWARE REQUIREMENT SPECIFICATION

1. Introduction:-

Moodle Mobile Notifier is a college website which is used to send the notifications to the
registered users. It is mainly used for android cell phones. In this section we are going to see overall
description of the project. i.e. software used, Interfaces, Scope etc.

1.1. Purpose

 It will be designed for just 140-160 clients.


 It uses a small database.
 If the client is logged in on the client application, he/she will be able to receive notifications
on android smartphone.

1.2. Scope

It is developed for a genetic algorithm based method for finding similarity of web document.
Average relevancy of document calculated. Query expanded with new keywords increases average
relevancy. It can be done by using database. It can be done for 200 documents .User input is set of
keywords. Genetic Algorithm System input is set of documents.

12
St. John College of Engineering and Technology, Palghar 2014-2015

1.5. Overview
The further section of the SRS describes the product with respect to the product perspective,
functions, user characteristics and general constraints. It also consists of the functional and non-
functional requirements along with the various analysis models.

2. Overall description
A brief description of the product perspective along with its functions and the general constraints is
described in this section of the SRS.

2.1.1. User interfaces


The proper user interface, users manual, online help and the guide to install and maintain the system
must be sufficient to educate the users on how to use the system without any problems.

The following are the user interfaces used:

• Keyboard

• Mouse

2.1.2. Hardware interfaces


• Computer desktop

• Mouse

• Keyboard

13
St. John College of Engineering and Technology, Palghar 2014-2015

2.1.3. Software interfaces


• Operating System: windows 7

• Programming Language: Java

• Development Kit: Eclipse / Net Beans

• Database: PHP,My SQL

2.1.5. Communications interfaces

GOOGLE CLOUD MESSAGING (GCM):-

Google Cloud Messaging (GCM) is a service that enables developers to send data from servers to
both Android applications or Chrome apps and extensions.

The service provides a simple, lightweight mechanism that servers can use to tell mobile
applications to contact the server directly, to fetch updated application or user data. The service
handles all aspects of queueing of messages and delivery to the target application running on the
target device.

The free service has the ability to send a lightweight message informing the Android application of
new data to be fetched from the server. Larger messages can be sent with up to 4 KB
of payload data. Each notification message size is limited to 1024 bytes, and Google limits the
number of messages a sender sends in aggregate, and the number of messages a sender sends to a
specific device.

Applications on an Android device don’t need to be running to receive messages. The system will
wake up the application via a mechanism called Intent Broadcast when the message arrives, as long
as the application is set up with the proper broadcast receiver and permissions. GCM does not
provide any built-in user interface or other handling for message data. Instead, it simply passes raw
message data received straight to the application, which has full control of how to handle it. For
example, the application might post a notification, display a custom user interface, or silently sync
data.

14
St. John College of Engineering and Technology, Palghar 2014-2015

3.3 Performance requirements

The ability to remove the traditional based failures and provides satisfying results.

• Easy to use

• User Friendly

• Scalable

• Innovative

3.5 Software system attributes

3.5.1 Reliability

The System is user friendly, easy to use, and can communicate with the
android devices using the GCM .It is supported by Android 4.2(API 17) and above.

3.5.2 Availability

It is available for use whenever the server is working. The client will have
to login in order to receive notifications.

3.5.3 Security

3.5.4 Maintainability

15
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 4: REQUIREMENT GATHERING AND ANALYSIS

4.1 Use Case Diagram and description

fig 4.1

16
St. John College of Engineering and Technology, Palghar 2014-2015

SR.NO ACTORS USE CASE


DESCRIPTION
1 Admin  Validates.
 Activates
 Notifies.
2 Client  Validates.
 Receives Notification.
3 Faculty  Validates.
 Notifies
 Receives Notification.
4 Moodle  Updates

Table 1

4.2 FEASIBILITY STUDY

The very first phase in any system developing life cycle is preliminary investigation. The
feasibility study is a major part of this phase. A measure of how beneficial or practical the
development of any information system would be to the organization is the feasibility study.

4.2.1 TECHNICAL FEASIBILITY

 A mouse or other pointing device.

17
St. John College of Engineering and Technology, Palghar 2014-2015

 Android SDK , Eclipse ,Android Virtual Device, JAVA installed PC.


 WAMP server.
 Any web Browser preferably Google Chrome ,Opera or Mozilla Firefox.
 Android smartphone, version 2.3.3 or higher

4.2.2 ECONOMICAL FEASIBILITY

Once the hardware and software requirements get fulfilled, there is no need for the user of our
system to spend for any additional overhead.

For the user, the web site will be economically feasible in the following aspects:

 The client will receive notification on his smartphone once logged in.
 The client need not keep checking the site for new entries.
 The client will be updated with date so that no problem of locating the data on the
web.

External Interface Requirement:

User Interface:

 KEYBOARD
 MOUSE

Hardware interface:

 COMPUTER DESKTOP
 KEYBOARD
 MOUSE

18
St. John College of Engineering and Technology, Palghar 2014-2015

Software interface:

 Operating System : windows 7

 Programming Language : PHP,Android

 Development Kit : Eclipse / Net Beans 6.9.1

 Database : My SQL

19
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 5: DESIGN
5.1 UML Diagram:-

5.1.1 Sequence Diagram

20
St. John College of Engineering and Technology, Palghar 2014-2015

fig 5.1

5.1.2 Collaboration Diagram

Fig 5.2

21
St. John College of Engineering and Technology, Palghar 2014-2015

5.1.3 Flow Chart

(Server Side)

Fig 5.3

22
St. John College of Engineering and Technology, Palghar 2014-2015

5.1.4 Flowchart

(Client Side)

23
St. John College of Engineering and Technology, Palghar 2014-2015

Fig 5.4

24
St. John College of Engineering and Technology, Palghar 2014-2015

5.1.5 Deployment Diagram

fig 5.5

25
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 6: PROPOSED SYSTEM

6.1 Architecture Diagram

Fig no-6.1
Step 1:-

Android smartphone will send the request after registering the user and the token will be updated in
the MySql database against the user credentials.

Step 2:-

Moodle Application server will sent response. Moodle will sent the Query to moodle server to
check credentials and the server will login if the user credentials are correct or not.

Step 3:-
26
St. John College of Engineering and Technology, Palghar 2014-2015

Then the server will send notifications on the client

CHAPTER 7: IMPLEMENTATION
7.1 Algorithm or Methodology

Our project will be built on the waterfall mode. This model suggests work cascading from step to
step like a series of waterfalls. It consists of the following steps in the following manner

Steps involved in the System Development Life Cycle:

Below are the steps involved in the System Development Life Cycle. Each phase within the overall
cycle may be made up of several steps.

Step 1: Software Concept

Moodle is the most used open source e-learning management systems platform with
around 68 million users being served. Moodle server side application can be accessed via web
browser or any computer or Internet enabled hand-held device. We do not have a client application
that can receive notifications from the server about the materials posted on the moodle according to
date. So we need to make a system which can not only receive notifications but also queue them as
the y come so that we can differentiate between the old and new notifications.

Step 2: Requirements Analysis

In this phase of requirement analysis, we check the requirements for the system and the
components and modules required to design such system. In this phase we decide the modules
required the technologies to be used and the implementation flow of the system as to how the
system will be designed effectively.

27
St. John College of Engineering and Technology, Palghar 2014-2015

Step 3: Architectural Design

The hardware specifications, software specifications ,constraints for number of users and the
information products that will satisfy the functional requirements of the system.

The architecture design will work as a blueprint for the system and it will help us to detect the
problems before these errors or problems are built into the final system.

Step 4: Coding and Debugging

In this step all the coding and debugging required for a system is done and we will implement the
design system .

Step 5: System Testing

We will check if the login is working, validations are working, whether the notifications are sent
properly as expected.

Step 6: Maintenance

Inevitably the system will need maintenance. Software will definitely undergo change once it is
delivered to the customer. There are many reasons for the change. Change could happen because of
some unexpected input values into the system. In addition, the changes in the system could directly
affect the software operations. The software should be developed to accommodate changes that
could happen during the post implementation period.

28
St. John College of Engineering and Technology, Palghar 2014-2015

7.2 Technology used

PHP:-

PHP is a scripting language designed to fill the gap between SSI (Server Side Includes) and Perl, intended for the
Web environment. Its principal application is the implementation of Web pages having dynamic content. PHP has
gained quite a following in recent times, and it is one of the frontrunners in the Open Source software movement.
Its popularity derives from its C-like syntax, and its simplicity. The newest version of PHP is 5.5 and it is heavily
recommended to always use the newest version for better security, performance and of course features.

If you've been to a website that prompts you to login, you've probably encountered a server-side scripting
language. Due to its market saturation, this means you've probably come across PHP. PHP was designed by
Rasmus Lerdorf to display his resume online and to collect data from his visitors.

Basically, PHP allows a static webpage to become dynamic. "PHP" is an acronym that stands for
"PHP: HypertextPreprocessor". The word "Pre-processor" means that PHP makes changes before the HTML page
is created. This enables developers to create powerful applications that can publish a blog, remotely control
hardware, or run a powerful website such as Wikipedia or Wiki books. Of course, to accomplish something such
as this, you need a database application such as MySQL.

Before you embark on the wonderful journey of Server Side Processing, it is recommended that you have a basic
understanding of the Hypertext Mark up Language (HTML). But PHP can also be used to build GUI-driven
applications for example by using PHP-GTK.

Android:

Android is a mobile operating system (OS) based on the Linux kernel and currently developed by Google. With
a user interface based on direct manipulation, Android is designed primarily for touch screen mobile devices such
as smartphonesand tablet computers, with specialized user interfaces for televisions (Android TV), cars (Android
Auto), and wrist watches (Android Wear). The OS uses touch inputs that loosely correspond to real-world actions,
like swiping, tapping, pinching, and reverse pinching to manipulate on-screen objects, and a virtual keyboard.
Despite being primarily designed for touch screen input, it also has been used in game consoles, digital cameras,
regular PCs (e.g. the HP Slate 21) and other electronics.
29
St. John College of Engineering and Technology, Palghar 2014-2015

Android's source code is released by Google under open source licenses, although most Android devices
ultimately ship with a combination of open source and proprietary software, including proprietary software
developed and licensed by Google. Initially developed by Android, Inc., which Google backed financially and
later bought in 2005,] Android was unveiled in 2007, along with the founding of the Open Handset Alliance a
consortium of hardware, software, and telecommunication companies devoted to advancing open standards for
mobile devices

Wamp Server

WAMPs are packages of independently-created programs installed on computers that use


a Microsoft Windows operating system. WAMP is an acronym formed from the initials of the
operating system Microsoft Windows and the principal components of the package:
Apache, MySQL and one of PHP, Perl or Python.

Apache is a web server. MySQL is an open-source database. PHP is a scripting language


that can manipulate information held in a database and generate web pages dynamically each time
content is requested by a browser. Other programs may also be included in a package, such
as phpMyAdmin which provides a graphical user interface for the MySQL database manager, or the
alternative scripting languages Python or Perl. Equivalent packages are MAMP (for the Apple Mac)
and LAMP (for the Linux operating system).

MySQL

The MySQL development project has made its source code available under the terms of the
GNU General Public License, as well as under a variety of proprietary agreements. MySQL was
owned and sponsored by a single for-profit firm, the Swedish company MySQL AB, now owned by
Oracle Corporation.

Free-software-open source projects that require a full-featured database management system


often use MySQL. For commercial use, several paid editions are available, and offer additional
functionality. Applications which use MySQL databases include: TYPO3, Joomla, WordPress,
phpBB, Drupal and other software built on the LAMP software stack. MySQL is also used in many
high-profile, large-scale World Wide Web products, including Wikipedia, Google (though not for
searches), Facebook, and Twitter.

30
St. John College of Engineering and Technology, Palghar 2014-2015

Platforms and interfaces

Many programming languages with language-specific APIs include libraries for accessing
MySQL databases. These include MySQL Connector/Net for integration with Microsoft's Visual
Studio (languages such as C# and VB are most commonly used) and the JDBC driver for Java. In
addition, an ODBC interface called MyODBC allows additional programming languages that
support the ODBC interface to communicate with a MySQL database, such as ASP or ColdFusion.
The HTSQL - URL-based query method also ships with a MySQL adapter, allowing direct
interaction between a MySQL database and any web client via structured URLs. The MySQL
server and official libraries are mostly implemented in ANSI and C\ASP.NET

31
St. John College of Engineering and Technology, Palghar 2014-2015

7.3 Project Time line Chart

CHAPTER 8: RESULTS AND DISCUSSIONS

RESULT

DISCUSSIONS

Time Line Chart (a)

32
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 9: CONCLUSION AND FURTHER WORK

9.1 Conclusion

Time Line Chart (B)

33
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 8: RESULTS AND DISCUSSIONS

Fig 8.1

34
St. John College of Engineering and Technology, Palghar 2014-2015

fig 8.3

35
St. John College of Engineering and Technology, Palghar 2014-2015

fig 8.5

36
St. John College of Engineering and Technology, Palghar 2014-2015

fig 8.6

fig 8.7

37
St. John College of Engineering and Technology, Palghar 2014-2015

fig 8.8

fig 8.8

38
St. John College of Engineering and Technology, Palghar 2014-2015

This is the registration page for the Moodle mobile


client that will register the user and save the device token
of the device. In case the user is previously register it
will update the device token and move ahead.

Fig 8.9

Here, we will be redirected to the Moodle website


from the registration page so that whatever
notifications we get can be checked there and
there from Moodle. We have the menu on the
right top from where Moodle can be refreshed
and Notifications or in our case announcements
can be viewed in the list view format.

Fig 8.10

39
St. John College of Engineering and Technology, Palghar 2014-2015

Announcements can be viewed in the


notification tray of the device notification bar.

Fig 8.11

The pop-up message when the announcements


are clicked in the notification tray.

Fig 8.12
40
St. John College of Engineering and Technology, Palghar 2014-2015

This is the list view so that new notifications


can be stored inside the app and the
notifications in the List view and can be
distinguish date wise.

41
St. John College of Engineering and Technology, Palghar 2014-2015

CHAPTER 9: CONCLUSION AND FURTHER WORK

Conclusion:-

We have designed the system that can receive notifications from the server and can
also distinguish date wise the notifications in turn the materials updated from the
Moodle server. Also, we have provided the Moodle homepage where we can directly
login and check the notifications.

42
St. John College of Engineering and Technology, Palghar 2014-2015

REFERENCES

[1] Ali OzGur. Moodle touch (mtouch) mobile appl.


http://www.pragmasql.com/moodletouch/home.aspx, 2013.

Last accessed on April 8, 2014. [2] Google. Google android website.http://www.android.com/,


2013. Last accessed on April 8, 2014

[3] Moodle.org. Official moodle mobile application.http://docs.moodle.org/22/en/Mobile app, July


2012.Lastaccessed on April 8, 2014.

[4] Moodle.org. Moodle statistics.https://moodle.org/stats/,April 2013. Last accessed on April ,


2014.

[5] Moodle.org. Moodle mobile - frequently asked questions.http://docs.moodle.org/22/en/Mobile


Moodle FAQ, April2013.Last accessed on April 8, 2014.

[6] Moodle.org. Moodle website. http://www.moodle.org, 2013.Last Accessed on April 08, 2014.

43
St. John College of Engineering and Technology, Palghar 2014-2015

APPENDIX

1. Android Virtual Device(AVD):


AVD is a virtual device which is similar to the android smartphone used for testing the application
before installing it on your actual phone.

2. Notification:
A notification is a message you can display to the user outside of your application's normal UI.

=======================================================================
=======================================================================

44

You might also like