NOTTINGHAM TRENT UNIVERSITY
SCHOOL OF SCIENCE AND TECHNOLOGY
Instant Messaging Mobile App for Children with Learning Disability
by
Muhammad Fauzan Bin Mohamad Napiah
in
2017
Project report in part fulfilment
of the requirements for the degree of
Bachelor of Science with Honours
in
"Software Engineering / Information Systems ..."
I hereby declare that I am the sole author of this report. I authorize the Nottingham Trent University to lend this report to other institutions or individuals for the purpose of scholarly research.
I also authorize the Nottingham Trent University to reproduce this report by photocopying or by other means, in total or in part, at the request of other institutions or individuals for the purpose of scholarly research.
Signature
Muhammad Fauzan Bin Mohamad Napiah
ABSTRACT
Enter abstract here. The abstract should include: A) Brief statement of problem B) Brief exposition of methods and procedures and C) Brief summary of findings.
After the title, the abstract is the next level of detail regarding your work. The scientific community relies on 'The Abstract' as the main means of communicating research interests. There are many collections of abstracts published from which interested parties can trace the original work. They form the first step in a researcher's quest for up to date information regarding work being carried out worldwide.
The abstract is a one A4 page, 1.5 Line Spacing, retrospective account of the achievements, techniques and conclusions of the report. On no account are you to exceed one page. Do not go into a great long explanation of the general area, be very precise and stick to what you have achieved. This is filed by the library and enquirers from other institutions are sent a photocopy of this single sheet and thus immediately assess the work's relevance to them. They will know about the general subject area and its problems; what they want to know is whether you have found a solution. Be sure to include as much relevant information as possible on that page.
The abstract is very much an impersonal, factual, retrospective account of your finished project as might be written by somebody else. The tone of the English might be 'The work introduces the general area of..... and then investigates an apparently new method for..... The method is partially successful in that it...... '.
ACKNOWLEDGEMENTS
I would like to express appreciation and gratitude for all those who have helped
me throughout the course including the lecturers and classmates.
Special thanks is due to Ms Noor Hafizah Ismail for the effort to encourage me to be more engaging with the studies and her help in doing the project. All her advises have proven to be invaluable and always useful.
Among my classmates, I would like to specially thank my friends Carlos and Zaid for their support. It would not have been easy without them
throughout the course.
Finally, I would like to thank my parents for encouraging me to pursue the
degree and supporting me at every turn.
TABLE OF CONTENTS
ABSTRACT II
ACKNOWLEDGEMENTS III
TABLE OF CONTENTS IV
LIST OF FIGURES IX
LIST OF TABLES X
CHAPTER 1 1
INTRODUCTION 1
1.1 Introduction 1
1.2 Aim and Objectives 3
1.2.1 Aim 3
1.2.2 Objectives 4
1.3 Ethical Consideration 4
1.4 Scope of the project 5
1.4.1 Target User 5
1.4.2 Area of specification 5
1.4.3 Specific Entities 5
1.4.4 Platform 5
1.5 Requirements 6
1.5.1 Functional Requirements 6
1.5.2 Non-Functional Requirements 7
1.6 Methodology 7
1.7 Literature review 8
1.8 Design and development 8
1.9 Testing 8
1.10 Evaluation 8
CONTEXT 9
1.11 Introduction 9
1.12 AAC Speech Communicator 10
1.13 Pic-A-Pec 12
1.14 TalkTablet 15
CHAPTER 2 19
NEW IDEAS 19
2.1 Introduction 19
2.2 Instant Messaging with PECS 19
2.3 Geo tracking location 20
CHAPTER 3 21
DESIGN AND DEVELOPMENT 21
3.1 Introduction 21
3.2 Design 21
3.2.1 Web Service 21
3.3 Development Methodology 22
3.4 Development Tools 23
3.5 Use case Diagram 24
3.6 Activity Diagrams 26
3.6.1 Login 26
3.6.2 Register 27
3.6.3 Send Message 28
3.6.4 Add Friend 29
3.6.5 Update Profile 30
3.7 System Design 31
3.7.1 Overview 31
3.7.2 Package Layout 32
3.8 External Library 33
3.9 Server 33
CHAPTER 4 35
RESULTS / DISCUSSION 35
4.1 Introduction 35
4.2 Testing 35
4.3 Black-Box Testing 36
4.3.1 Non-Functional Requirements 38
4.4 Testing Evaluation 38
4.5 Project Evaluation 38
4.5.1 Project Aim 38
4.5.2 Objective 38
CHAPTER 5 39
CONCLUSIONS / FUTURE WORK 39
5.1 Introduction 39
5.2 Testing Evaluation 39
5.3 Project Evaluation 39
5.3.1 Project Aim 39
5.3.2 Project Objective 39
5.4 Conclusion 40
5.5 Future Work 40
5.6 Personal Reflection 40
REFERENCES 41
BIBLIOGRAPHY 42
1 BIBLIOGRAPHY 42
APPENDIX A 44
Note: To insert TOC here follow the instruction below. You may also right click on the above text and use “Update Field” to update the TOC.
Insert > Reference > Index and Tables … > Table of Contents
LIST OF FIGURES
Figure 1: Microsoft XP 12
Note: To insert List of Figures here follow the instruction below. You may also right click on the above text and use “Update Field” to update the list of figures.
Insert > Reference > Index and Tables … > Table of Figures > Caption Label => Figure
LIST OF TABLES
Table 1: Microsoft Office 2003. 5
Note: To insert List of Tables here follow the instruction below. You may also right click on the above text and use “Update Field” to update the list of tables.
Insert > Reference > Index and Tables … > Table of Figures > Caption Label => Table
CHAPTER 1
INTRODUCTION
1.1 Introduction
In the 21st century, it is safe to say that 90% of the people in the world are tech savvy especially Generation Y babies/ baby boomers. Technology is way more advanced than anyone imagined it to be a few years back to make our lives as easy as easy can be, not yet mentioning the ones that are still being created or developed.
Instant Messaging (IM) is a type of communications service that offer a real-time text transmission over the internet. According to eMarketer (eMarketer, 2015), more than 1.61 billion consumers will use the mobile phone messaging apps in 2016, and in 2018 predicted to reach 2 billion, which represent 80% of smartphone users.
Figure 1 – The chart showing the number of mobile phone messaging app users and penetration worldwide based on years 2014-2019. (eMarketer, 2015)
Autism spectrum disorder (ASD) is a complex lifelong developmental disability condition that affects how a person communicates and interact to other people. The signs typically appear during early childhood and affects four times as many boys than girls. Autism affects the normal development of brain in terms of social and communication skills. Children with Autism normally have difficulties in verbal and nonverbal-communication and social interactions. As a result, this make it hard for them to relate to the outside world. According to the research done by Centre for Disease Control (CDC) in United States, the incidence of autism is at 1 in 68 children. That would mean that there are around 9,000 children in Malaysia are born with Autism every year.
"PECS is recommended as an evidence-based intervention for enhancing functional communication skills of individuals with ASD."
The alternative method of communication that is designed specifically for people with Autism Spectrum Disorder (ASD) or Autism is Picture Exchange Communication System (PECS) which produced by Pyramid Educational Consultants, Inc. The PECS use pictures cards that can be put together to create a sentence structure. At this time, PECS mainly use physical cards and there are a few mobile applications for Android and iOS, which help people with Autism converse by using virtual picture cards inspired by PECS. However, the existing mobile applications not provide the instant messaging feature that this project is aiming to provide. Besides, they can be used on only one mobile (standalone) and has a limited function.
The reasons for choosing this project are to implement the Mobile Instant Messaging and PECS in order to allow children with Autism and her/his parent or friend to communicate using mobile messaging application, which makes conversing a fun and more attractive. Next, to exposed the children to technology and social media at early stage and show them how easy it is to communicate with other people. Lastly, is to fully use of PECS to provide a new medium of communication for children with Autism.
1.2 Aim and Objectives
1.2.1 Aim
The overall aim of the project is to develop a functional mobile messaging application based on Picture Exchange Communication System (PECS) for children with Autism who have difficulty to learn language and speak.
This system allows people to exchange information with the help of some pictures to the people with little or no communication abilities. The main purpose of using PECS is to teach people with no communication abilities to exchange pictures of a desired item in exchange for that item and by doing so, a person is able to able to start a communication with others. PECS is generally used by the Autism people so as to communicate a request or a particular thought or anything can be defined with the help of symbols over a picture card. PECS is also aimed to help the people to boost their morale where they can be independent and helps in developing their verbal language and also helps in decreasing tantrums and allows them to mix socially.
1.2.2 Objectives
1. Complete literature search and literature review of existing mobile messaging application in google play market.
2. Develop a mobile application with a simple user interface and easily understandable content for children.
3. Evaluate the final product against objectives through usability testing.
4. Complete the final report.
1.3 Ethical Consideration
Social
Social Ensuring all users have equal access to all areas of the application as much as possible prevents discrimination of users. This allows and promotes neutrality within the application. One way this will be done is by designing the application with accessibility in mind as well as ensuring the user is allowed to input their own image/symbol that easy for them to communicate. This is covered by two points in the Association for Computing Machinery code of ethics (Anderson, 1992):
1.1 Contribute to society and human well-being (Anderson, 1992).
1.4 Be fair and take action not to discriminate (Anderson, 1992).
Legal
Legal Respecting the legal rights of users is an incredibly important aspect of a project such as this. The key code of conduct that applies in the case of a mobile application is the Data Protection Act 1998. This act will be followed by keeping minimal data about users and storing it on a secure server with a backup.
1.4 Scope of the project
The below are the scopes that are involved in this project.
• Target user
• Area of specification
• Specific entities
• Platform
1.4.1 Target User
The main target users are children with Autism who have difficulty in speaking and learn language. The application will use a simple graphic user interface which suitable for children in the age around 6-12.
1.4.2 Area of specification
The application will develop using the Java language and Android APIs. The development involves use of the programming concepts that have been learnt throughout the undergraduate course in order to create an application that is stable. The server side will be programmed using PHP and JavaScript.
1.4.3 Specific Entities
Each individual that will use the end system (mobile application) are the users. Other than that are the users who are in charge of the system's support, for example, database administrator and system developer
1.4.4 Platform
The target platform only focusing on android devices. The reasons because it offers a free application signing, free emulator and full support for background services.
1.5 Requirements
In order to successfully meet the objectives of the objectives outlined for this project it is important to identify the requirements needed to complete the project. This includes functional and non-functional requirements. While functional requirements define the functionality and components that are needed to make the system, non-functional requirements describe the criteria that can be used to judge these functions and components.
1.5.1 Functional Requirements
Nine functional requirements were identified for the project. These include the
functions needed for base system and the functions needed to demonstrate how
the system works.
ID Functional Requirement Description
FR1 Create Account Allow user to create account through email or existing social account like Facebook.
FR2 Manage Account Allow user manage their personal information such as name, address and contact no.
FR3 Manage Contact Allow user to manage contact list.
FR4 Add Friend A feature to allow user to add friend by using an email or username
FR5 Add Picture/Symbol A feature to allow user to add new picture/symbol if it not available in database.
FR6 Manage Conversation List Allow user to see what has been sent in the past
FR7 Picture to Speech Reader Ability for the application to read out loud any message received.
FR8 Message Notification A feature will notified the user if any message received
FR9 Tracking Location A feature to allow user tracking their friend location
Table 1: List of functional requirements
1.5.2 Non-Functional Requirements
Non-Functional requirements are used to define how the system must operate.
ID Non - Functional Requirement
NFR1 The application must be intuitive and interactive
NFR2 The application must be fast responsive time as possible
NFR3 The application must be run on wide range android OS version
Table 2: List of non-functional requirements
1.6 Methodology
Methodology is the way which is going to be followed to complete this project. For the sake of managing and controlling a research well in order to achieve the specified objectives within the timeline, the methodology plays a very important role. In order to complete this project, the traditional methodology better known as waterfall model will be used and has been chosen for the development of this project.
1.7 Literature review
1.8 Design and development
Design and development will be done in accordance with what have been found in the literature review. Design will be based on the requirements of the project and the available libraries and functions in java that support these requirements.
After designing then the system will be developed using Android Studio. While developing the system it will be important to not get limited by java default libraries. If there is a third party library that can get the job done better than the library will be chosen instead of default java libraries.
1.9 Testing
Testing is very important to determine if the system has achieved its goals. If there is time after testing the project can revert back to development and refine the system. Otherwise an evaluation can be done.
1.10 Evaluation
Evaluation of the system will be done on a basis of testing and what was expected. Also it is important to note that there is no other system that this can be compared to. Thus evaluation will be based on how much the requirements have been met rather than comparing to current systems.
CONTEXT
1.11 Introduction
1.12 AAC Speech Communicator
AAC Speech Communicator (ASC) is a generic, easy to learn communication tool, for anyone with speech disabilities. It’s an application created by the aacspeech.org team, in order to ease the burden of people with speech impairments. With the aid of the ASC, less fortunate people now have an alternate way to form grammatically correct sentences, merely by clicking a series of pictograms, which in turns, speaks the text out loud. Due to the nature of this application, where it, mostly consists of pictograms, this tool is especially good for children and even those who have trouble reading or writing. In addition to helping out the needy, this application can also serve as a beginner’s platform, to learning a new language, as the ASC supports French and it also has a prototype for English.
As this is an application to form sentences, it is important to have punctuations, and grammar aids, to make it easier for the user to convey their message more accurately, and this application does just that. It has easily accessible options, to display text in capital, or even to add in inflection, tenses, and saluting a person, by his or her gender. This gives this application a closer to home feeling, especially with the 1000+ available icons, and the recent pictogram option, to make frequent icons more easily accessible.
Nevertheless, there are some noticeable flaws in this particular application, in terms of general usability. Due to the nature of the categories, which separates words into nouns, verbs and several other categories, this application is not very user friendly when it comes to being used by a child. Other than that, the lack of customizable options, might also throw someone off, when they are picking an application that they will be using for the most part of their day. Moreover, for a sentence creating application, the ASC does not take into consideration users that might not be able to see, what they wish to say. The lack of consideration for those who are less fortunate in the vision front also puts this application lower in the easy-to-use graph. In fact, there are even reports of noticeable spelling errors, and inaccurate pronunciation of words.
“I was looking for an app to help a friend communicate, after she landed in the hospital. Unfortunately, most of the apps (including this one) assume that the person can open their eyes. This app is unusually large, so I have to uninstall it. Thankfully, there is another app called TouchSpeller and it allows anyone to spell words using only one finger, even if they can't see the screen” (Roman Michael,2014). “Nice idea but poorly executed Some issues with text to speech: the pronunciation of the word, "category" is like kate-eh-gory. Even someone from down under might have issues with the sound of this. Some incorrectly spelled words translate to text to speech incorrectly, such as "scissors" spelled "scissorses". App needs work if communication is to have accuracy” (Braden Marr,2015). “I like it but picture size is very small couldn't understand by younger kids” (Fatima Rehman, 2016).
Insert a picture.
Figure 2: AAC Speech Communicator User Interface
Figure 3 : AAC Speech Communicator reviews
1.13 Pic-A-Pec
Pic-A-Pec is an Augmentative and Alternative Communication tool developed by ASDjunction. Categorised under communication, in the Google Play Store, this application aims to facilitate communication for individuals, especially children, with a variety of needs. With a clean and simple layout with colourful options, this application makes it visually stimulating for children to use. Pic-A-Pec has apparently been developed by a behavioural therapist with experience teaching and implementing picture exchange systems, giving an understanding of the challenges and requirements of meeting the needs of its users. Pic-A-Pec works by scrolling through pages of icons, selecting the desired symbol which is visually sent to the sentence area. Upon sentence completion, it can be presented to the listener or read out by the text to talk function. Each step of the process mimics physical picture exchange, only the user can do so using a platform that does not attract negative social stigma.
The Pic-A-Pec is designed to cater to a younger audience, which can clearly be seen, on the layout and the way this application presents itself. It has considered issues such as sensory sensitivity, customisation for each unique user and more. Pic-A-Pec takes the frustration out of learning to communicate because of its ease of navigation and options to completely customise it. The true marvel to this application, is that it does not assume its user to have any prior knowledge of concepts such as categories. All images are arranged in the simplest form, that it makes the Pic-A-Pec very convenient and easy to navigate through.
Despite its utmost positive intentions, this application also has its share of negative feedback. With a rating of 3.2 stars on the Play Store, it has taken multiple steps closer to being known as a mediocre application. Users face multiple issues with compatibility, where the application causes their device to lag, and barely functioning. There are also reports of users facing issues with the application not recognizing some of the commands, which in turn causes the application to freeze and shut down by force.
“Extremely slow on galaxy tab 2 - almost not usable. Impossible to record sound for the custom picture. Impossible to cut picture from camera to fit well” (Сергей Юренко, 2012). “Not suitable so requested a refund but not heard anything since sending request a week ago. The button to play the words is very small and for the money I thought it would come with more images. I feel the app is no better than some of the free apps or even sticking with a physical PECS book. Would have been nice if they had a trial version so I didn't have to spend £20 to find out it was unsuitable and then be ignored when I request a refund” (Application User, 2016).
Figure 4: Pic -A-Pec User interface
Figure 2.3: Pic -A-Pec reviews
1.14 TalkTablet
TalkTablet, is a speech impairment application, designed to assist in day to day verbal communication for the less fortunate, designed and developed by Gus Communication Devices Inc. The application is categorised under the education section, which explains its core purpose. Taking into consideration, the general usage of the mass population, the TalkTablet is the only fully symbols-based AAC application that is compatible with all iOS, Android, Kindle and Windows devices, making it really accessible and convenient. What this application does, is that it plays the role of a middle person, to convey messages for people who has difficulties to communicate with others, as a result of autism, aphasia, down syndrome, stroke, or laryngectomy, to name a few.
The TalkTablet allows people to have a voice, simply by touching buttons that contains predefined words or phrases. What sets it apart, is that it even allows users to add customized and random text phrases using the embedded on-screen keyboard. With this application, customization is easy, and users are even allowed to move the buttons, just by pressing, holding and dragging the buttons. In addition to that, adding new buttons are also just a few clicks away.
Nevertheless, the TalkTablet still has its share of negative reviews. There are complaints about the storage management of this application, where in more than one cases, the TalkTablet seem to consume too much space to store the content and images to make this application as efficient as it strives to be. There also seem to be some compatibility issues, although the developers seem to insist that this application works on multi platforms.
“It downloaded so much pictures on my phone. I couldn't download another app because of it. It took so much space. And I just got this phone” (MJ Elbarmil, 2016). “I installed this app month ago. It is very slow and now it is freeze. Try to reinstall it to fix the problem but now error is coming, (unfortunately, talk tablet has stopped). I have latest version of android. If anyone knows, how to solve this problem please let me know” (Farrukh Ch, 2015). Despite some bad eggs, this application also has some strong follower. Julie Vakos is an example of one, as she is quoted saying; “This company stands by its product with on-going tech support and great customer service. It is comparable in features and accessibility to industry leading apps without the high price tag.”
Figure 5: TalkTablet reviews
Figure 6: TalkTablet reviews
CHAPTER 2
NEW IDEAS
2.1 Introduction
It is always great to have new ideas for new technologies as this can help the children who are suffering from Autism and can help them to learn and grow their communication skills. New ideas are always welcomed when making an application that are meant to be simple in use and innovative and also should be user friendly. This can help the children who are suffering from autism greatly by taking some innovative steps and changing their usual ways of learning. First is the Instant Messaging Application with the help of PECS which uses different pictures for the communication purposes where the child uses similar pictures of what they need and what they want which gradually helps them to grow their verbal communication skill and by this they can communicate with others without any pictures. Second is the tracking of children when they are using their phones with the help of geo location detection feature in which parents can monitor the usage of mobile phones that their children are using daily and also with geo location tracking system they can pinpoint the actual location where their children are presently. Here the chapter will mainly focus on how the applications are working and how much they are of use to children who are suffering from autism.
2.2 Instant Messaging with PECS
Instant Messaging with PECS are specially designed for children who are suffering from autism and this can be of greatly use for them as with this they can share the pictures of what they really want and what they want. With this, gradually they can able to communicate verbally in real life that they were not able to do. Having instant messaging also helps them to distinguish between different symbols that will help them to make different choices between different objects. This also helps to connect with their loved one without using much complicated sentences and prolong use of these applications will help them to construct simple sentences also like what they want and what they needs. This is a very intuitive idea which is build to keep all the children much engaged to the application and this even give them moral support to go out in the world and deal with the rest. This can also help others also to communicate with these children and help them recovering from autism.
2.3 Geo tracking location
Geo tracking location of children with the help of mobile phones is also another great innovative idea as parents are always in constant fear of their children getting kidnapped but having this feature enabled in the phone, parents can easily track down the location of their children no matter what the matter. They can track their children when they are problem or even when they are stuck in something, this would give the parents a real time location of their children. Having these features will be a great relief for both parents and their children as children can also send a distress message when they are in some problems. With this, parents can make some arrangements that would be helpful for their children and get their children out of that problem.
CHAPTER 3
DESIGN AND DEVELOPMENT
3.1 Introduction
This chapter will focus on the designing and development of the system and then
after that the implementation of the system. The framework for how the system
will work will be proposed and the tools needed to make the system will be
identified. In addition, the design of the program will be shown and justified in this chapter. After that the implementation process will be detailed. It is important to note that all work done in this chapter will be directly related to the literature review that was done on the previous chapter. The literature review will work as a guide to designing the system.
3.2 Development Methodology
This part will explain and provide the methodology that have been used for the system development. For the sake of managing and controlling a research well in order to achieve the specified objectives within the timeline, the methodology plays a very important role. In order to complete this project, the traditional methodology better known as waterfall model will be used and has been chosen for the development of this project. The waterfall model involves some sequential stages, which are:
• Requirement Gathering and analysis: All conceivable necessities of the system to be created are caught in this stage and archived in a requirement specification doc.
• System Design: The necessity particulars from first stage are considered in this stage and system design is prepared. System Design helps in defining equipment and system requirements and additionally helps in characterizing overall system architecture.
• Implementation: With inputs from system design, the system is initially grown in little programs called units, which are coordinated in the following stage. Every unit is produced and tried for its functionality, which is referred to as Unit Testing.
• Integration and Testing: All the units grew in the implementation stage are coordinated into a system in the wake of testing of every unit. Post integration the whole system is tried for any faults and failures.
• Deployment of system: Once the functional and non-functional testing is carried out, the product is deployed in the customer environment or discharged into the business.
• Maintenance: There are a few issues which come up in the end user environment. To alter those issues patches are discharged. Additionally to upgrade the product some better forms are discharged. Maintenance is carried out to convey these changes in the client environment.
Figure 7: Shows the classic-waterfall development model
All these stages are fell to one another in which as above is seen as flowing steadily downwards (like a waterfall) through each stage. The following stage starts when the set of objectives are obtained for past stage and it is closed down, hence the name "Waterfall Model". In this model stages do not overlap.
3.3 Development Tools
• The development environment best suited to develop an Android application is Android Studio, with built-in emulators and plugins. As the software is tailor-made for Android development, it is the best software to use.
• For development java was chosen as the language of choice. This is because java is a portable language which will allow the same code to be used on multiple platforms.
• As an IDE IntelliJ Idea will be used as it provides many useful features that can be used when doing any java projects.
• The system will be developed on Windows 10; however, it can be tested on any platforms that support java including OSX and Linux.
• As a version control system GitLab by GitLab Inc will be used. This is to make sure that the system can be reverted to previous versions and to keep the data safe. Bazaar was chosen because of its simplicity, and since the project is not big its foes not require a complex source control system.
3.4 Use case Diagram
The use case diagram is used to identify the primary elements and processes that form the system. It defines a goal-oriented set of interactions between external actors and the system. The primary elements are termed as “actors” and the processes are called use cases or actions. Actors are entities that will utilize the application in order to complete a task. An actor maybe a class of users, roles users can play or other systems.
The use case helps developer to identify problems and requirements the system must meet while still staying fairly abstract and not dealing with specific implementation details.
Figure 8: Shows the use case diagram for complete system
3.5 Flow Chart Diagram
Figure 9: Shows the flow chart diagram for complete system
3.6 Activity Diagrams
The activity diagram shows on the system process flows. Activities, actions, transitions, initial and final states and guard conditions are the items of activity diagram. The logic captured by the single use case scenario is modelled by the activity diagram (Ambler, 2003).
3.6.1 Login
Figure 10: Shows the activity diagram for login
3.6.2 Register
Figure 11: Shows the activity diagram for register
3.6.3 Send Message
Figure 12: Shows the activity diagram for send message
3.6.4 Add Friend
Figure 13: Shows the activity diagram for add friend
3.6.5 Update Profile
Figure 14: Shows the activity diagram for update profile
3.7 System Design
The system design has been split into two main sections, the Android Application and the server (Web Service). The server will be covered first as the Android Application relies on the Web Service.
3.8 Web Service
The application and server (Web Service) are supported by a MySQL database that stores all the data. MySQL was chosen as it works extremely well with PHP and can easily scale to support this system. The database has been kept secure by the use of prepared queries, which protects completely against SQL injection attacks. The logical structure of the database was designed by drawing Entity Relationship Diagrams and following the Normalisation procedure until 3rd Normal Form. There is no enforced referential integrity on the database as research had shown that as the database will be handling a lot of inserts, it can be extremely slow and referential integrity can and is enforced at the application level. MyISAM was chosen over InnoDB as the storage engine, as it seemed to be a faster engine due to its lack of support for referential integrity.
Figure 14: Shows the ER diagram of database
3.9 Application Design
3.9.1 Initial Design
This section details the design of the system used, as well as how it functions with an explanation of each package.
• Activities:
o Represents a single screen with a user interface. Activities work together to form an entire system but each Activity is independent of another and cannot directly communicate, so instead Broadcast Messages are used. Android can start any activity from an application allowing a user to be taken to the message view in an application from a notification instead of having to navigate there after starting the application. This system also allows different applications to share functionality, such as calling the web browser or making a call without a developer having to duplicate functionality in their application.
o Views can be created programmatically but are usually XML based.
• Services:
o A service is a component of a system that runs in the background to perform long running operations such as updating a user’s message and location periodically. Data can be passed back to Activities using Broadcasts. A service has no User Interface.
• Broadcast Receivers
o A broadcast receiver is a component that responds to a system wide announcement. Broadcasts can originate from anywhere but usually come from the Android system to notify of changes in battery level or connectivity. A system can register a broadcast receiver to receive certain updates, allowing the application to indirectly access the Android system. Broadcasts can also be caught and used to start services, such as the “Boot Complete” broadcast which, if caught, will auto-start a service. Broadcast receivers again have no user interface but can generate notifications displayed in the status bar of the phone.
3.9.2 Package Layout
The system was split into 7 packages:
• Main Menu – This is the root package containing all other packages as well as the tab view controller, the registration screen and the splash screen
• SQL Handler – All the classes relating to storing, sending, processing or receiving data
• Friend Tab - All the classes relating to the displaying and managing of friends
• Message Tab – All the classes relating to any kind of messaging
• Profile Tab – All the classes relating to user personal data
• Preferences – Contains the class for generating the preferences screen
• Control Service – All the classes used to run the background services
3.10 Views
This section discussed on every view of the activity and its function which were generated from created XML files and loaded via the “set Content View (R.layout.view)”. All views were designed from fluid layouts as the application should function in both landscape and portrait modes. Besides that, the views were also differed in a large range of resolutions. All sizes were specified in “sp” units instead of “px” units. SP units were the screen size independent units that allowed the design similar on any platform.
3.11 External Library
3.11.1 Push Messaging
Third party library such as Firebase can add real Push Messaging to the android application. Upon registration, the users are provided with a unique push key from Web Service, and then registered on the Firebase Service on the phone. The user is notified instantly of Messages and Friend Request via a notification in the Android Notification tray. Once selected, the “intent” will start the app and download the message to be displayed on Message Screen together with the information. The battery can be saved if only users download the request information compare to receive the push message.
Figure 15: Notification shown in the Android Notification Tra
3.12 Final Design of System
Figure
3.13 Application Architecture
CHAPTER 4
RESULTS / DISCUSSION
4.1 Introduction
This chapter will involve discussing the results provided by the system which have been developed and tested. It will discuss why the results are either successful or why they are not successful. It is important that testing be done on the system on various conditions that might contribute change to the results. Apart from results it is also important to test how much system resources that the system takes. This will help in identifying if there are any memory leaks or any functions that are taking up too much of processing power. The results of testing the system can help in improving the system later. It is also going to help in identifying if the project has met its objectives or not. Also it is an aim of the testing to identify if there are any bugs in the code. Unidentified bugs can cripple the system and at the same time it can be hidden and the development of the system can stall significantly until the bugs are discovered.
4.2 Testing
Once the code has been implemented, the testing of the code is carried out. Testing ensures that the code developed functions as expected. There are two basic testing techniques available, Black box testing and white box testing.
A process to analyze a system item is called system testing. It will detect any variances from existing conditions to the required conditions. Usually, it will involve the process of Validation and Verification. The process of evaluating the system or the item in order to understand the satisfaction which was set at the beginning of the phase is called Verification. It includes testing and reviews. On the other hand, the process of evaluating the system or item at the end or during the development process is Validation. Validation will prove whether the system or the item is according to requirement specified[6].
The code will be tested upon the system was implemented. This will ensure the developed system functioned accordingly. Testing techniques can be divided into Black Box Texting and White Box Testing. The differences is the White Box Testing is on the internal structure of the code while the Black Box Testing is on functional requirement. For the White Box Testing, the developer will look into errors of the system coding using test case by selecting inputs and specifically determined output of the result according to “ (Redstone, 2008)” as verification. However, the Black Box Testing will build the test case around the software. That is why knowledge and programming on the system code are not required in Black Box Testing. Besides that, the inputs will be selected as validation to determine the correct output as stated by “ (Redstone, 2008)” Here, the Black Box Testing targets to identify errors such as interface errors, performance errors like initialization and termination errors and other errors that significant to this project (Pressman, 1987). The Black Box test results were shown in Table 6.1. The labelled “pass” shows that the test fulfill the first code’s iteration and most of the test cases in the software passed.
4.3 Black-Box Testing
Test Functionality Requirement Result
1 Create Account Allow user to create account through email or existing social account like Facebook. PASS
2 Manage Account Allow user manage their personal information such as name, address and contact no. PASS
3 Manage Contact Allow user to manage contact list. PASS
4 Add Friend A feature to allow user to add friend by using an email or username PASS
5 Add Picture/Symbol A feature to allow user to add new picture/symbol if it not available in database. PASS
6 Manage Conversation List Allow user to see what has been sent in the past PASS
7 Picture to Speech Reader Ability for the application to read out loud any message received. PASS
8 Message Notification A feature will notified the user if any message received PASS
9 Tracking Location A feature to allow user tracking their friend location PASS
Table 6.1 shows the Black Box tests that were implemented for the system developed, tests labelled “pass” have passed the test at the first iteration of the system. Nearly all of the test cases passed in the system.
4.4 LOAD TESTING
For the testing purpose on the load capacity of a server, to test these scripts, stress testing software were used just to ensure that if they can able to handle different and multiple incoming requests that are coming from the clients all the time. The main aim of the test was to stress the server to its maximum limit so that a clear idea about the testing can be made and this much request will not occur under normal conditions. For the working of the application, all the clients get connected to the server and they sent an HTTP request asking for login confirmation and after login, they are able to get new message request. The software that has been used for stress testing is load.io was used (originally first planned by JMeter) and by using this software, the number of clients was being increased slowly. First, it started with 0 clients and later it went up to 500 in a minute which resulted in 50,453 requests were registered and 12 were timed out starting at ~400 clients simultaneously.
Response Time Response Counts Bandwidth
Average 197ms Success 50,453 Sent 11.20 MB
Min/Max 77/14585ms Timeouts 12 Received 8.33 MB
Table 6 – Load Test Results
CHAPTER 5
CONCLUSIONS / FUTURE WORK
5.1 Introduction
5.2 Conclusion
In conclusion, modification of picture exchange modification system (PECS) to including mobile instant messaging is great way of ensuring that children with Autism Spectrum Disorder (ASD) are given an enabling environment to interact as much as possible with immediate family members and friends. This innovation will unlock the great potential in children with this disorder /condition by facilitating enhanced communication with the people who matter in their lives like the parents, siblings and friends. With greater understanding, this group of people will be able to know what works for certain child with Autism disorder and what doesn’t, and thus be able to make informed decisions based on this understanding. The basic idea of this innovation of incorporating instant messaging on PECS, gives it a wider range of application and make it more user friendly. With the advent of smart-phones, it is imperative that this innovation is aligned with an innovation that has been deeply consumed in the society and thus making easy to integrate the same into the society. The world we live today demands that everyone to be onboard, this includes children with disorders who can become grate people if same or similar chance of success is accorded to them just the same way other normal children are accorded through schooling and other forms of human development. Full adoption and implementation of this project/innovation across the universe will be the best gift to this group of children. With its user friendly human interface such as smart-phones, this innovation will stand a chance of greater uptake.
5.3 Future Work
The future work proposed for further development in this innovation is through Near Field Communication (NFC). Apart from the instant messaging application which works on smart-phones, the NFC will enhance the usability of this innovation and thus expand its uptake and application. The innovation can also be developed into different languages across the world because not everyone speaks in English, French or Spanish. And to ensure that this innovation is relevant to wider group of children with Autism condition, it is imperative that the application be made available in different set of languages. The further promote the interaction between children with Autism with outside world, the application could be linked to social media handles for these children so that they can be able to post questions or comments to friends and this enable them to interact more with the society and aiding their full potential realization. Contact center can also be created where children with this condition can unanimously share their problems through the application if he or she for some reason doesn’t feel comfortable posting the same to their parents or friends or to social media. This can be done in form of virtual contact center with servers with all possible questions that a child with this condition may need answers. If it happens that one particular question asked is not included in the set of probable questions, the server can signal the same to the caretakers to have this question and its answer included in the server memory for future use.
5.4 Personal Reflection
Along this project, I had realized my strengths and weaknesses in which can be utilized in next projects. It was a great learning experience for me because of it challenges and enjoyment in completing the project. I developed the code for this project from scratches and although it was difficult, I still managed to complete the task. This project had changed my view on coding as I realized that my strength in the project towards coding. Regardless of failure to meet the initial aim of this project, I still proud on my ability in the programming environment such as designing the small parts of the system and to ensure it running smoothly understand that time management is my crucial weakness. I should follow the schedule of completion time and approaches that were specified. Although I used waterfall model to develop the project, I still felt that it can be improved. I under estimated the required time for implementation and testing which caused the system to be incomplete and the testing was poor. I had provided more time in familiarized the programming language, development tools and developing the code compare to implementation and testing. I should be more rational in completion and execution in order to disperse difficulty in near future.
REFERENCES
Vogt, C. 1999. Creating Long Documents using Microsoft Word. Published on the Web at the Nottingham Trent University.
Note: References are a list that includes the essential bibliographical details for each item to which you have referred in the body of your paper. It should ONLY include items to which you have made direct reference. A direct reference is where you have quoted/reproduced text or diagrams from another author or mentioned/referred to the work of another author in your report. That is quoted directly what they have said about something or mentioned their views or conclusions in your report. For details of citation and references see the information in the Project Guide.
A Bibliography is a list of published materials that you have read or consulted for general information in the preparation of your work, concerning the subject of your Project, but have not made any direct reference to in your report i.e. 'background reading'.
You should always provide a Reference List. A Bibliography is optional but when provided it should include all items in your Reference List as well as any additional items consulted in preparation of your work.
BIBLIOGRAPHY
1 Bibliography
Ambler, S. W. (2003). UML 2 Activity Diagrams: An Agile Introduction. Retrieved 2 20, 2017, from Agile Modelling: http://www.agilemodeling.com/artifacts/activityDiagram.htm
Anderson, R. E. (1992, 10 16). ACM Code of Ethics and Professional Conduct. Retrieved from Association for Computing Machinery: http://www.acm.org/about/code-of-ethics
eMarketer. (2015, 11 9). eMarketer. Retrieved from eMarketer: http://www.emarketer.com/Chart/Mobile-Phone-Messaging-App-Users-Penetration-Worldwide-2014-2019-billions-change-of-mobile-phone-internet-users/180700
Pressman, R. S. (1987). Software engineering: a practitioner’s approach. In Software engineering: a practitioner’s approach. New York: McGraw-Hill.
R. S. (2008, 2 24). Redstone Software Inc (2008) Black-box vs. White-box Testing. (I. Redstone Software, Producer, & Redstone Software, Inc. ) Retrieved 12 10, 2016, from http://www.cs.unh.edu/~it666/reading_list/Defense/blackbox_vs_whitebox_testing.pdf
Note: References are a list that includes the essential bibliographical details for each item to which you have referred in the body of your paper. It should ONLY include items to which you have made direct reference. A direct reference is where you have quoted/reproduced text or diagrams from another author or mentioned/referred to the work of another author in your report. That is quoted directly what they have said about something or mentioned their views or conclusions in your report. For details of citation and references see the information in the Project Guide.
A Bibliography is a list of published materials that you have read or consulted for general information in the preparation of your work, concerning the subject of your Project, but have not made any direct reference to in your report i.e. 'background reading'.
You should always provide a Reference List. A Bibliography is optional but when provided it should include all items in your Reference List as well as any additional items consulted in preparation of your work.
APPENDIX A
The content of these will differ with the different types of project. Any design and analysis charts/diagrams will be included here in full. In projects where system has been developed there will be an appendix for this. Our departmental requirement is that a CD, DVD or USB memory stick of all source code is submitted to your project supervisor. The appendix contained in the report will refer to this CD, DVD, or USB memory stick, provide a directory style listing of the files submitted and instructions for rebuilding and running the system. This might be source code of programs written in high level languages (C, C++, etc) together with any pertinent files ('make' files, non-standard libraries, etc). Alternatively, or in addition, you can place some or all of the source code in the appendix. In any case the source code needed to reconstruct any system you have developed must be submitted in its entirety in the CD, DVD, or USB memory stick. (Any code that has been used from a third party should reference the original developer).
Hardware designs will require schematics/circuit diagrams, PCB layouts, simulation tests and pin outs.
Most projects will require some form of user documentation to explain how to use the system/hardware produced. A researcher following up the work may wish to utilise the work of the original author and an appendix laying out the format of input files and how to interpret the output is required.