INTELLISENSE INSTITUTE OF TECHNOLOGY MOBILE APPLICATION FOR NCII CERTIFICATION GUIDE A Research Presented to The Faculty of Intellisense Institute of Technology Mandaue City In Fulfillment Of the Requirements for PRACTICAL RESEARCH 2 GRADE 12 RIAN REY C. BARRIGA APRIL 2020 Acknowledgements Throughout the writing of this practical research I have received a great deal of support and assistance. I would first like to thank my adviser, Ms. Miriam Melendrez, whose expertise was invaluable in the formulation of the research topic and methodology in particular. I would like to acknowledge my colleagues in Intellisense Institute of Technology for their wonderful collaboration. You supported me greatly and were always willing to help me. I would particularly like to single out our CEO Ms. Gregoria, I want to thank you for your excellent cooperation and for all of the opportunities I was given to conduct my research here in IIT. I would also like to thank my tutors, Ms. Cristine Marie Tangoan and Ms. Maria Nina Casinto, for their valuable guidance. You provided me with the tools that I needed to choose the right direction and successfully complete my practical research. In addition, I would like to thank my parents for their wise counsel and sympathetic ear. You are always there for me. Finally, there are my friends, who were of great support in deliberating over our problems and findings, as well as providing happy distraction to rest my mind outside of my research. Introduction The national certificate (NCII) from Technical Education Skills and Development Authority (TESDA) is the most highlighted subject while studying in Intellisense Institute of Technology (IIT). This certification will be the key to unlock the opportunities for the students after they graduate from the school. This is an essential thing a fresh graduate from Intellisense Institute of Technology must have in order to get a job related to their field of study. Furthermore, students of Intellisense Institute of Technology are having a hardship on passing the evaluation for these certifications. This is due to the lack of appropriate and exact review materials and lack of guide to perform a specific demonstration, answer a specific questions and recite accurately the recitations. These problems mentioned are the most common reasons why an Intellisense Institute of Technology student fails in passing the Technical Skills and Development Authority evaluation for a particular national certification. This research aims to solve the following problems through creating an intuitive mobile application which will serve as a guide and review material for the students who are currently undertaking national certifications for a specific field. The researcher chose the topic because this is in his line of interests, the problem is an alarming issue of which the school is facing, the researcher is knowledgeable enough about the particular things needed to create a mobile application in both Android and IOS operating systems such as the programming language for creating the application, integrated development environment, software development kit and other tools. This kind of research conducted in Intellisense Institute of Technology to solve the problem is the first of its kind. There was no recorded research similar to this. The efficiency of this research is ensured because of following factors. First, most Intellisense Institute of Technology students have a smart phone which will be used as a medium of information. According to the recent survey 98% of the total population in this generation have smart phones.1 Second, the application is evaluated by a certified staff from Intellisense Institute of Technology and Technical Skills and Development Authority – Mandaue to ensure that the information and the guide demonstrations on the mobile application are accurate and precise, the mobile application will be static. Neither sign-in nor sign up features required to utilize, ensuring the best user interface and user experience design for the students. 1 Pulse Asia Survey – Recent Survey on The Usage of Smart Phones 2019. The research is accessible to all Intellisense Institute of Technology students including those people who are not studying in the school, as it will be published on Google play store and Apple app store. Though the mobile application has a very intuitive design in which students can easily get used to, there are still circumstances in which a student will be confused on how to use the application especially those students who are not literate enough in using mobile applications specifically on using smart phones. These people are illiterate on using the medium. The researcher therefore analyzed that the problem will be addressed by conducting and creating a seminar and tutorials on platforms such as Facebook, YouTube, Twitter, Instagram and many more to educate the users on the proper use of the application. A step by step guide will be released on the mentioned platforms in order for the students to ingest the information necessary to use the application for their own purpose. This is a proven solution because it is the essential skill which the huge enterprises are practicing. 2 A hard copy and a soft copy of the instruction will also be published exclusively and will be distributed to the students of Intellisense Institute of Technology as a form of manual on using the mobile application. The researcher is knowledgeable enough to publish both the hard copy and soft copy of the manual, conduct a live seminar in the campus on the proper use of the mobile application and to create a precise video tutorial on the mentioned platforms. 2 7 AllBusiness.com – 7 Reasons Why Your Business Needs a Mobile App. Conceptual Framework Failure in Passing the evaluation Dependent Variable Lack of Review Material Expensive Books Unorganized Resources Independent Variable Independent Variable Independent Variable Statement of Purpose The purpose of this research was to examine and solve the problems of IIT students in passing all the NCII certification evaluations and all the factors affecting their hardship in coping with resources. The examination of background information was important to this research because it was hoped it would be possible to identify, characterizes and factors contributing to the problems in mobility and motivation of an IIT student to pass a particular NCII evaluation. The second part of the study asked the respondents to identify those significant factors of concern to them. Smartphones and other mobile digital devices, such as tablets, can be surprisingly useful didactic resources for developing subjects in both distance and face-to-face university studies. They may, moreover, be used as an instrument conducive to educational and personal interaction, fostering relationships between students and their professors (Bedall-Hill, 2010; Chayko, 2008; Franklin, 2011; Johnson, Adams Beker, Estrada, & Freeman, 2014; Oulasvirta, Wahlström, & Ericsson, 2011; UNESCO, 2013). Both traditional and new ways of teaching based on Learning Management Systems (LMS) and educational platforms developed by universities can be enhanced by the use of personalized apps which can be used in a collaborative way to develop curricular content. They may also be used to improve new ways of developing generic and specific competencies of university degrees within the framework of the European Higher Education Area (EHEA). Significance of the Study The study of creating an intuitive native mobile application for national certification guide of Intellisense Institute of Technology and development can be a learning paradigm and great help in the senior high school, college level and vocational schools to enhance the students’ knowledge and practical skills as well. The project’s goal is designed to help IIT students improve NCII evaluation competence, develop employability skills, implement a career plan and participate in a career pathway in preparation for post-secondary education or careers in the programming, customer service, animation, graphics designing, manufacturing or services sector after graduating from IIT. This research also helps out of school youths with enough resources such as smart phones and internet connection to learn a specific field of NCII that is available on the app for free which will serve as their vehicle in achieving the national certification. Definition of Terms Native Application - A native application is a software program that is developed for use on a particular platform or device. Because a native app is built for use on a particular device and its OS, it has the ability to use device-specific hardware and software. Native apps can provide optimized performance and take advantage of the latest technology, such as a GPS, compared to web apps or mobile cloud apps developed to be generic across multiple systems. The term native app is used to refer to platforms such as Mac and PC, with examples such as the Photos, Mail or Contacts applications that are preinstalled and configured on every Apple computer. However, in the context of mobile web apps, the term native app is used to mean any application written to work on a specific device platform. The two main mobile OS platforms are Apple's iOS and Google's Android. Native apps are written in the code preliminarily used for the device and its OS. For example, developers write iOS applications in Objective-C or Swift, while they create Androidnative apps in Java. Native apps work with the device's OS in ways that enable them to perform faster and more flexibly than alternative application types. If the app is marketed to users of various device types, developers create a separate app version for each one. For example, the Facebook application was once written in HTML5 to use the same code for iOS, Android and mobile web. However, the app was slower for iOS users, leading Facebook's app developers to create separate code for iOS. Complex tasks can be rebalanced, such as networking done in the background of the main thread or program, which drives the UI. Operating System (OS) - An operating system (OS), in its most general sense, is software that allows a user to run other applications on a computing device. While it is possible for a software application to interface directly with hardware, the vast majority of applications are written for an OS, which allows them to take advantage of common libraries and not worry about specific hardware details. The operating system manages a computer's hardware resources, including: Input devices such as a keyboard and mouse. Output devices such as display monitors, printers and scanners. Network devices such as modems, routers and network connections. Storage devices such as internal and external drives. The OS also provides services to facilitate the efficient execution and management of, and memory allocations for, any additional installed software application programs. Software Development Kit (SDK) - A software development toolkit (SDK) is a set of software tools and programs provided by hardware and software vendors that developers can use to build applications for specific platforms. These providers make their SDKs available to help developers easily integrate their apps with their services. In order to use a SDK, a developer needs an iOS SDK to build iOS apps, an Android toolkit for building Android apps, Nordic SDK to build Bluetooth or wireless apps and a VMware SDK to enable integration with the VMware platform. Although SDKs are largely associated with native mobile apps, developers can use them in connection with websites, set-top boxes and other digital platforms. SDKs include documentation, application programming interfaces (APIs), code samples, libraries and processes, as well as guides that developers can use and integrate into their apps. Developers can use SDKs to build and maintain applications without having to write everything from scratch. SDKs enable developers to enhance apps with more functionality and let them include push notifications, ads and more. SDKs also help developers more efficiently create new tools and make the process easier because everything is prebuilt. For example, if a developer wanted to share images or text from his or her app directly into Facebook, he or she could look for Facebook’s Android SDK to find the necessary code that would work for an Android device. This speeds deployment because the developer doesn’t have to write the code from scratch. Why use SDKs Software development toolkits allow developers to add functionality to their applications and enable them to build the standard components of their apps easier and faster. SDKs are usually all-in-one products and don’t need to be integrated with other components, which can slow down the development process. Typically, developers use SDKs for simple functions, such logging in, location services and mobile payments. However, there are also SDKs that help developers build more complex app features, such as augmented reality (AR) and virtual reality (VR). SDKs reduce complex integrations by simplifying standard processes, such as creating authorization signatures or interpreting SMS messages in native languages or platforms. Difference between SDKs and APIs An API is code that enables two software programs to communicate with each other. An API defines the correct way for a developer to request services from an operating system or other application and expose data within different contexts and across multiple channels. When a developer uses an SDK to develop applications and create systems, those apps have to communicate with other applications. An SDK includes an API to enable that communication. Dart Programming Language - Dart is a client-optimized programming language for fast apps on multiple platforms. It is developed by Google and is used to build mobile, desktop, backend and web applications. Dart is an object-oriented, class defined, garbage-collected language using a C-style syntax that transcompiles optionally into JavaScript. It supports interfaces, mixins, abstract classes, reified generics, static typing, and a sound type system. Flutter - Flutter is a mobile app SDK for building high-performance, high-fidelity, apps for iOS and Android, from a single codebase. The goal is to enable developers to deliver highperformance apps that feel natural on different platforms. Flutter embraces differences in scrolling behaviors, typography, icons, and more. Flutter includes a modern react-style framework, a 2D rendering engine, ready-made widgets, and development tools. These components work together to help you design, build, test, and debug apps. Everything is organized around a few core principles. Integrated Development Environment - An integrated development environment (IDE) is a software suite that consolidates basic tools required to write and test software. Developers use numerous tools throughout software code creation, building and testing. Development tools often include text editors, code libraries, compilers and test platforms. Without an IDE, a developer must select, deploy, integrate and manage all of these tools separately. An IDE brings many of those development-related tools together as a single framework, application or service. The integrated toolset is designed to simplify software development and can identify and minimize coding mistakes and typos. Some IDEs are open source, while others are commercial offerings. An IDE can be a standalone application or it can be part of a larger package. Visual Studio Code I- Visual Studio Code is a source-code editor developed by Microsoft for Windows, Linux and macOS. It includes support for debugging, embedded Git control and GitHub, syntax highlighting, intelligent code completion, snippets, and code refactoring. It is highly customizable, allowing users to change the theme, keyboard shortcuts, preferences, and install extensions that add additional functionality. The source code is free and open source and released under the permissive MIT License. The compiled binaries are freeware and free for private or commercial use. Visual Studio Code is based on Electron, a framework which is used to deploy Node.js applications for the desktop running on the Blink layout engine. Although it uses the Electron framework, the software does not use Atom and instead employs the same editor component (codenamed "Monaco") used in Azure DevOps (formerly called Visual Studio Online and Visual Studio Team Services). In the Stack Overflow 2019 Developer Survey, Visual Studio Code was ranked the most popular developer environment tool, with 50.7% of 87,317 respondents claiming to use it. Android Virtual Device - An Android Virtual Device (AVD) is a configuration that defines the characteristics of an Android phone, tablet, Wear OS, Android TV, or Automotive OS device that you want to simulate in the Android Emulator. The AVD Manager is an interface you can launch from Android Studio that helps you create and manage AVDs. Hot Reload - Flutter’s hot reload feature helps you quickly and easily experiment, build UIs, add features, and fix bugs. Hot reload works by injecting updated source code files into the running Dart Virtual Machine (VM). After the VM updates classes with the new versions of fields and functions, the Flutter framework automatically rebuilds the widget tree, allowing you to quickly view the effects of your changes. Object Oriented Programming - Object-oriented programming (OOP) is a programming paradigm based on the concept of "objects", which can contain data, in the form of fields (often known as attributes or properties), and code, in the form of procedures (often known as methods). A feature of objects is an object's procedures that can access and often modify the data fields of the object with which they are associated (objects have a notion of "this" or "self"). In OOP, computer programs are designed by making them out of objects that interact with one another. OOP languages are diverse, but the most popular ones are class-based, meaning that objects are instances of classes, which also determine their types. Many of the most widely used programming languages (such as C++, Java, Python, etc.) are multi-paradigm and they support object-oriented programming to a greater or lesser degree, typically in combination with imperative, procedural programming. Significant objectoriented languages include Java, C++, C#, Python, PHP, JavaScript, Ruby, Perl, Object Pascal, Objective-C, Dart, Swift, Scala, Common Lisp, MATLAB, and Smalltalk. Hybrid Mobile Application - A hybrid application (hybrid app) is one that combines elements of both native and Web applications. Native applications are developed for a specific platform and installed on a computing device. Web applications are generalized for multiple platforms and not installed locally but made available over the Internet through a browser. Hybrid apps are often mentioned in the context of mobile computing. Hybrid application features: Can function whether or not the device is connected. Integration with a device’s file system. Integration with Web-based services. An embedded browser to improve access to dynamic online content. Most applications could be considered hybrid apps. Web apps, such as online banking services, typically store some content locally; locally stored native apps, such as Microsoft Word, also interface to the Internet. Android Software Development Kit - The Android SDK (software development kit) is a set of development tools used to develop applications for Android platform. Every time Google releases a new version of Android, a corresponding SDK is also released. To be able to write programs with the latest features, developers must download and install each version’s SDK for the particular phone. The development platforms that are compatible with SDK include operating systems like Windows (XP or later), Linux (any recent Linux distribution) and Mac OS X (10.4.9 or later). The components of Android SDK can be downloaded separately. Third party add-ons are also available for download. Android - Android is a mobile operating system developed by Google. It is used by several smartphones and tablets. Examples include the Sony Xperia, the Samsung Galaxy, and the Google Nexus One. The Android operating system (OS) is based on the Linux kernel. Unlike Apple's iOS, Android is open source, meaning developers can modify and customize the OS for each phone. Therefore, different Android-based phones often have different graphical user interfaces GUIs even though they use the same OS. Android phones typically come with several built-in applications and also support third-party programs. Developers can create programs for Android using the free Android software developer kit (SDK). Android programs are written in Java and run through a Java virtual machine JVM that is optimized for mobile devices. The "Dalvik" JVM was used through Android 4.4 and was replaced by Android Runtime or "ART" in Android 5.0. Users can download and install Android apps from Google Play and other locations. If you are unsure what operating system your phone or tablet uses, you can view the system information by selecting "About" in the Settings menu. This is also a good way to check if your device meets an app's system requirements. The name "Android" comes from the term android, which is robot designed to look and act like a human. iOS - iOS is a mobile operating system developed by Apple. It was originally named the iPhone OS, but was renamed to the iOS in June, 2009. The iOS currently runs on the iPhone, iPod touch, and iPad. Like modern desktop operating systems, iOS uses a graphical user interface, or GUI. However, since it is a mobile operating system, iOS is designed around touchscreen input, rather than a keyboard and mouse. For example, applications, or "apps," can be opened by a single tap, rather than a double-click. Different screens can be viewed by swiping your finger across the screen, rather than clicking on open windows. Since iOS is designed to be simple and easy to use, it does not include several features found in a traditional operating system. For example, you cannot manage files and folders like you can in Mac OS X or Windows. You also have limited access to iOS system settings. Instead of modifying application preferences from within each program, most settings need to be adjusted within the Settings app. Additionally, while you can run multiple programs at once, you can only view one open program at a time. While Apple's iOS provides a more basic user interface than Mac OS X, each new version adds more features. For example, iOS 2 provided access to the App Store, which allowed users to download and install third-party apps on their iPhones. iOS 3 added copy and paste functionality and iPad support. iOS 4 was the first version to support multitasking and added the GameCenter feature. iOS 5 introduced the Siri voice assistant (only available on the iPhone 4S), and provided new cloud connectivity features. Vysor - There are plenty of ways to mirror your Android device onto your computer - and now there's one more. But sadly most aren't as straightforward and convenient as we would like. Koushik Dutta, a well-known Android developer, has attempted to make the process simpler with his new app called Vysor. We tested the app and found it as good as advertised. Vysor aims to make it easier for one to beam Android device's onscreen activities as well as corresponding controls to a computer. And it does so without using a data connection, but over a USB cable. You need to install the Vysor Chrome extension and connect your Android device to the computer using a USB cable. If the device has ADB (Android Device Bridge) enabled on it, Vysor will be able to detect it. If it doesn't, you can manually add it by clicking the Find devices option in Vysor. Your device may prompt you with a confirmation dialogue box, tap Ok. In case you don't have ADB enabled on your device, go to Settings > About Device and tap on the Android build number seven times, which as you might know, enables the developer mode on Android devices. Once you get a confirmation, go back to Settings, and now you'll see the Developer options. Go inside, and switch the toggle next to USB debugging as enabled. This will activate ADB on your device. Android Studio - Android Studio is the official integrated development environment (IDE) for Android application development. It is based on the IntelliJ IDEA, a Java integrated development environment for software, and incorporates its code editing and developer tools. To support application development within the Android operating system, Android Studio uses a Gradle-based build system, emulator, code templates, and Github integration. Every project in Android Studio has one or more modalities with source code and resource files. These modalities include Android app modules, Library modules, and Google App Engine modules. Android Studio uses an Instant Push feature to push code and resource changes to a running application. A code editor assists the developer with writing code and offering code completion, refraction, and analysis. Applications built in Android Studio are then compiled into the APK format for submission to the Google Play Store. The software was first announced at Google I/O in May 2013, and the first stable build was released in December 2014. Android Studio is available for Mac, Windows, and Linux desktop platforms. It replaced Eclipse Android Development Tools (ADT) as the primary IDE for Android application development. Android Studio and the Software Development Kit can be downloaded directly from Google. Xcode - The integrated development environment (IDE) from Apple that is used to create, compile and test Mac OS X and iOS (iPhone/iPad/iPod) applications. Introduced with OS X Version 10.3 (Panther) and evolving from Apple's Project Builder, Xcode supports writing in C, C++, Objective-C, Swift, AppleScript, Java and Cocoa. See Mac OS X, Objective-C and Cocoa. Android Emulator - An emulator is a hardware device or software program that enables one computer system (also known as a host) to imitate the functions of another computer system (known as the guest). It enables the host system to run software, tools, peripheral devices and other components which are designed for the guest system. Emulators can be of different types, replicating things such as hardware, software, OS or CPU. However, in most cases hardware architecture is emulated to provide an environment similar to a guest system. An emulator regenerates an original computer environment with the help of software and hardware. The process of creating an authentic emulator is complex and time consuming. But once created, it provides the authenticity of the original computer environment/digital object without the need for the original system. Emulation techniques are applied to re-create the hardware and software environment of a computer system on a different machine. Once the emulator is complete, users can access applications or the OS on the emulated system and the original software can run on the host system. To the users, the experience is the same as if they were using the original guest system. iOS Stimulator - An iOS simulator is a software application for a personal computer which creates a virtual machine version of a mobile device, such as a mobile phone, iPhone, other smartphone, or calculator, on the computer. This may sometimes also be termed an emulator. The mobile simulator allows the user to use features and run applications on the virtual mobile on their computer as though it was the actual mobile device. A mobile simulator lets you test a website and determine how well it performs on various types of mobile devices. A good simulator tests mobile content quickly on multiple browsers and emulates several device profiles simultaneously. This allows analysis of mobile content in realtime, locate errors in code, view rendering in an environment that simulates the mobile browser, and optimize the site for performance. Mobile simulators may be developed using programming languages such as Java, .NET and JavaScript. Google Play Store - Google Play (previously Android Market) is a digital distribution service operated and developed by Google LLC. It serves as the official app store for the Android operating system, allowing users to browse and download applications developed with the Android software development kit (SDK) and published through Google. Google Play also serves as a digital media store, offering music, books, movies, and television programs. It previously offered Google hardware devices for purchase until the introduction of a separate online hardware retailer, Google Store, on March 11, 2015, and it also offered news publications and magazines before the revamp of Google News on May 15, 2018. Applications are available through Google Play either free of charge or at a cost. They can be downloaded directly on an Android device through the Play Store mobile app or by deploying the application to a device from the Google Play website. Applications exploiting hardware capabilities of a device can be targeted to users of devices with specific hardware components, such as a motion sensor (for motion-dependent games) or a front-facing camera (for online video calling). The Google Play store had over 82 billion app downloads in 2016 and has reached over 3.5 million apps published in 2017. It has been the subject of multiple issues concerning security, in which malicious software has been approved and uploaded to the store and downloaded by users, with varying degrees of severity. Google Play was launched on March 6, 2012, bringing together the Android Market, Google Music, and the Google eBookstore under one brand, marking a shift in Google's digital distribution strategy. The services included in the Google Play are Google Play Books, Google Play Games, Google Play Movies & TV and Google Play Music. Following their re-branding, Google has gradually expanded the geographical support for each of the services. Apple App Store - Apple Store is a chain of retail stores owned and operated by Apple Inc. The stores sell various Apple products, including Mac personal computers, iPhone smartphones, iPad tablet computers, iPod portable media players, Apple Watch smartwatches, Apple TV digital media players, software, and selected third-party accessories. The first Apple Stores were originally opened as two locations in May 2001 by then-CEO Steve Jobs, after years of attempting but failing store-within-a-store concepts. Seeing a need for improved retail presentation of the company's products, he began an effort in 1997 to revamp the retail program to get an improved relationship to consumers, and hired Ron Johnson in 2000. Jobs relaunched Apple's online store in 1997, and opened the first two physical stores in 2001. Despite initial media speculation that Apple would fail, its stores were highly successful, by passing the sales numbers of competing nearby stores and within three years reached US$1 billion in annual sales, becoming the fastest retailer in history to do so. Over the years, Apple has expanded the number of retail locations and its geographical coverage, with 506 stores across 25 countries worldwide as of 2018. Strong product sales have placed Apple among the top-tier retail stores, with sales over $16 billion globally in 2011. In May 2016, Angela Ahrendts, Apple's current Senior Vice President of Retail, unveiled a significantly redesigned Apple Store in Union Square, San Francisco, featuring large glass doors for the entry, open spaces, and rebranded rooms. In addition to purchasing products, consumers can get advice and help from "Creative Pros" – individuals with specialized knowledge of creative arts; get product support in a tree-lined Genius Grove; and attend sessions, conferences and community events, with Ahrendts commenting that the goal is to make Apple Stores into "town squares", a place where people naturally meet up and spend time. The new design will be applied to all Apple Stores worldwide, a process that has seen stores temporarily relocate or close. Many Apple Stores are located inside shopping malls, but Apple has built several stand-alone "flagship" stores in high-profile locations. It has been granted design patents and received architectural awards for its stores' designs and construction, specifically for its use of glass staircases and cubes. The success of Apple Stores have had significant influence over other consumer electronics retailers, who have lost traffic, control and profits due to a perceived higher quality of service and products at Apple Stores. Apple's notable brand loyalty among consumers causes long lines of hundreds of people at new Apple Store openings or product releases. Due to the popularity of the brand, Apple receives a large number of job applications, many of which come from young workers. Although Apple Store employees receive aboveaverage pay, are offered money toward education and health care, and receive product discounts, there are limited or no paths of career advancement. A May 2016 report with an anonymous retail employee highlighted a hostile work environment with harassment from customers, intense internal criticism, and a lack of significant bonuses for securing major business contracts. GitHub - GitHub is an American company that provides hosting for software development version control using Git. It is a subsidiary of Microsoft, which acquired the company in 2018 for $7.5 billion. It offers all of the distributed version control and source code management (SCM) functionality of Git as well as adding its own features. It provides access control and several collaboration features such as bug tracking, feature requests, task management, and wikis for every project. GitHub offers plans for free, professional, and enterprise accounts. Free GitHub accounts are commonly used to host open source projects. As of January 2019, GitHub offers unlimited private repositories to all plans, including free accounts. As of May 2019, GitHub reports having over 37 million users and more than 100 million repositories (including at least 28 million public repositories), making it the largest host of source code in the world. Review of Related Literature Mobile Application Usage Mobile applications for instructive establishments have done an incredible thing for the understudies, making the learning procedure fun and simple. Likewise, the different application highlights support commitment through learning focused exercises. Chen and deNoyelles (2013) to improve mobile learning effectiveness, students and instructors need help adopting more effective learning and teaching practices across content areas. Mobile technologies are playing an increasingly important role in senior high school and college students' academic lives. Devices such as smartphones, tablets, and e-book readers connect users to the world instantly, heightening access to information and enabling interactivity with others. Applications that run on these devices let users not only consume but also discover and produce content.1 As such, they continue to transform how college students learn, as well as influence their learning preferences, both within and outside the classroom (Chen and deNoyelles, 2013). E-learning or ‘electronic’ learning has been dominating the learning process since the start of Electronic age (2000). This helps people to learn the competencies or the knowledge and skills essential for them to land a job or essential for them to study a particular topic for their sole purpose. Being able to learn things online or offline through devices plays a big role in the life of modern people. They can instantly search for a meaning or definition of a thing through a mobile or desktop device. According to (Eric Enge, 2018), a survey of Mobile VS Desktop usage, shows that 58% of the total network traffic in the work is done using a mobile device while the remaining 42% is through the use of desktop device. The dominance of Mobile application usage paves the way of mobile application industry to develop mobile applications for various purposes. This offers a variety of service from message, entertainment, utility such as using its alarm, calendar, calculator, camera, and even playing mobile games. In line with this growing demand of mobile devices, the purpose of using it for playing online application games for sports also increases. The rise of E-Sports in 2017 has affected the growth of mobile game usage explicitly. In 2017, the market value of the global mobile contents is 59.8 billion U.S. dollars and is expected to reach 74.4 billion in 2019. (Capcom, 2017) This statistic only shows that mobile application industry is continuously growing thus creating more opportunity for future developers. The revenue of mobile gaming app is expected to increase by 44% in 2020 from 41.5 billion U.S. dollars revenue in 2016. (VentureBeat, 2016) Consumers spend 85% of their time on smartphones, within apps, but only five apps see heavy use. Some may say this isn’t a sustainable future for apps. However, app revenue is rapidly increasing and is expected to only continue on the same upward trend in future. Mobile applications are changing the manner by which brand advertisers are interfacing with purchasers. Research Verve kept running with Wildness, uncovered 95% of in-store buys were affected by a versatile promotion; regardless of whether that be an immediate commitment with the advertisement, or just an introduction that provoked the purchaser to act. The ages that have never lived in a world without portable, are requesting intelligent applications and promotions. The push towards pertinence and personalization is critical. Ongoing examination led by Verve and Censuswide, found that buyers are twice as prone to respond on versatile promotions dependent on their area, versus a nonexclusive advertisement. Mobile phones affect the manner in which that people work in the public eye, and keeping in mind that there has not been a great deal of research on the impacts of cell phone use, it has both constructive and pessimistic outcomes. Cell phones in their little league in presence have changed the manner by which people are associating with one another. Cell phones have given roads to people to remain associated on another level that does not rely upon space or time, however is promptly open at whenever, anyplace. Cell phone has enabled interpersonal organizations and connections to be reinforced just as new connections shaped and have likewise permitted people everywhere throughout the world that, without the cell phone could never approach the majority of the systems, get to data that they do through the cell phone. Indeed, even inside such an apparently customary individuals of cell phone clients Kumasi Polytechnic people group utilization of cell phones and their frames of mind toward their cell phone use and as far as the degrees of coordinating cell phones into their lives. Larger part of them use it to stay in contact with family and companions and to get to data. The most and least utilized cell phone benefits on grounds of Kumasi Polytechnic are calling administration and Multimedia informing administrations (MMS) individually. Greater part of the respondents on Kumasi Polytechnic grounds accept that cell phones have positive effect on society and have added to simple and fast access and move of data, upgrading correspondence and improving connections just as cultural ties. Normal Technologies to Necessities The devices most commonly used in educational institutions fall into three main groups. Digital media players such as Apple's iPod (or the smaller iPod Shuffle) are compact devices which can play both audio and video. The iPod Touch, which evolved from the iPod, has been branded "a pocket computer" due to its ability to perform a variety of tasks (Banister, 2010, p. 122). With internet access, and now even the ability to send text messages, the latest iPod Touch – that is, the fourth generation iPod Touch running iOS5 software – differs from the iPhone mainly in its inability to make telephone calls. Smartphones, including Apple's iPhone, Android phones, BlackBerrys and Windows phones, effectively combine a mobile phone, a digital media player, a digital audio recorder, a digital camera, a PDA, and a computer in one small device. Most importantly of all, they offer internet access, allowing users to download apps – that is, small pieces of specialized software typically obtained through an app store – as well as browse, seek information, and communicate online. A key advantage of smartphones is that many students already own these devices and carry them with them at all times, although to fully capitalize on this advantage an institution must have a BYOD/BYOT policy and teachers must be open to students using their smartphones in the classroom. Tablets, including Apple's iPad, share many similarities with smartphones (though not the ability to make telephone calls) and laptops (though they typically work with apps rather than traditional software). They generally, feature a touchscreen with an onscreen keyboard and/or a digital pen, alongside the ability to take photos and make audio and video recordings, all of which may be subsequently edited using appropriate apps downloaded from the internet. The educational appeal of tablets is emphasized in the 2011 K-12 Horizon Report: While the idea of cell phones in the classroom too often conjures up images of disruption, tablets are a game changer; they encompass many of the tools smartphones offer while presenting an ever expanding collection of tools for learning. (Johnson, Adams, & Haywood, 2011, p.15) The iPad in particular is being widely adopted in educational settings around the world, though its use is still very much at an experimental stage. As a report of one university's experience puts it: With their students, [faculty] have become co-learners and pioneers in the classroom as they test out the power of this new technology. With no models to work from, they had to explore, practice, and discover – on their own – the iPad's potential for expanding learning. (Gawelek, Spataro, & Komarny, 2011, p.32) It will not escape notice that many of the devices most widely discussed in the literature are manufactured by Apple, a company which has been described as "poised to change the learning landscape" (GSMA, 2011b). It offers an integrated suite of stable, attractive and easyto-use hardware and software, a constantly expanding number of third-party educational apps available through the iTunes Store, and strong support for educational ventures. While other mobile hardware and associated software is being trailed in educational institutions, Apple has emerged as the field leader. In the broader field of e-learning, it has been recognized for some time that there is a danger of technology being overemphasized at the expense of pedagogy and content. A strong argument has been mounted that pedagogy and content should take precedence (Dudeney, Hockly, & Pegrum, 2013; Motteram & Ioannou-Georgiou, 2007; Pegrum, 2009) or at least be equally valued, as in the Technological Pedagogical and Content Knowledge (TPACK) teacher training model (Koehler, n.d.; Koehler & Mishra, 2008). Commentators in the field of m-learning have, similarly, pointed out that what is important is not the technology per se (Melhuish & Falloon, 2010; Pachler et al., 2010) but how it is used to support teaching and learning. Like new technologies in general, mobile devices can support a range of pedagogical approaches, including traditional transmission and behaviorist approaches (e.g., Naismith, Lonsdale, Vavoula, & Sharples, 2004). However, as in the broader field of e-learning (Pegrum, 2009), an emerging consensus suggests that mobile technologies – notably the iPad – are particularly suited to the promotion of social constructivism and related active, collaborative, studentcentred approaches (e.g., Cochrane & Bateman, 2010; Cochrane, Narayan, & Oldfield, 2011; Kukulska-Hulme, Sharples, Milrad, Arnedillo-Sánchez, & Vavoula, 2009; Looi et al., 2010; Melhuish & Falloon, 2010) Cross-Platform Mobile Development Developing a mobile application is a sophisticated process especially when you are dealing with two or more operating systems. You have to learn both the programming languages needed to create an application for different platforms. This cycle of development takes longer time to develop a working mobile application. Learning two programming languages for developing a single application is more difficult using the modern programming languages such as Java and Kotlin for Android operating system, while Swift or Objective-C for iOS operating system. Nevertheless, using the mentioned programming languages offers a perk for developers. But if developers are in a hurry of creating a mobile application for 2 or more operating systems, they need to find another solution. Much related work can more often than not be recognized for an article that thinks about different innovations. Be that as it may, in the event that it manages front line innovation, the quantity of comparable papers shrivels drastically. General papers on the advancements managed in this paper are referred to in the fitting segments, especially in Section 4. Therefore, this segment surveys existing work that thinks about at least two methodologies for cross-stage application improvement. (Heitkötter, Hanschke and Majchrzak, 2018) Nowadays, native mobile applications (mobile apps) are targeted at specific mobile platforms. This phenomenon imposes severe constraints, such as the use of different development environments, technologies, and APIs (Application Programming Interfaces) for each mobile platform, leading inevitably to a waste of development time and effort, and an increased maintenance cost. So to solve this issue, frameworks for developing cross-platform applications are created. Some of these are React-Native, Ionic, Xamarin, Cordova and Flutter. As implied in the presentation, the difficulties for substance suppliers and programming engineers when actualizing portable applications that can run flawlessly without alterations on various stages are fantastic. Luckily, instruments and systems have prospered and advanced in the course of the most recent few years also, can go far to help accomplish this without bargaining quality, client experience and execution. One conceivable answer for tackle the cross-stage issue is to utilize a procedure called cross-compilation: a cross-compiler isolates the assemble condition from the objective condition, successfully decoupling a source from its objective. In the portable advancement setting it functions as pursues: the structure gives a stage autonomous API (application programming interface) utilizing a standard programming language (like JavaScript, Ruby or Java). Designers utilize the Programming interface to fabricate the versatile application, including the UI, information industriousness and business rationale. The code is then prepared by a cross-compiler that changes it into stage explicit local app(s) directed at the various stages that the application will keep running on. The product antiquity created from this procedure can be sent and executed locally on the gadget. The benefits of this procedure are: execution, as the application is running locally on the gadget; improved client experience, since the application carries on like a customary application on the client's environment; and full local access to a scope of gadget explicit capacities like coordinated camera, sensors, and so forth. The enormous impediment is multifaceted nature since cross-compilers can be hard to compose and should be kept steady with the divided portable stages and working frameworks accessible. A variety of this procedure applies a virtual machine (VM) to extract the objective stage subtleties from the application's running code. A VM is a product usage of a machine (for example a portable gadget) that executes projects like a genuine physical machine. In this situation, the system gives the API as well as the runtime condition inside which the application will keep running on. This runtime executes on the cell phone and empowers the interoperability between the gadget's working framework and the portable application. This methodology imparts a few points of interest to the cross-aggregation system, in spite of the fact that applications will in general run a piece slower in such conditions due to the runtime elucidation inertness presented when the VM is making an interpretation of information and directions to and from the hidden host stage. The primary preferred position over cross-aggregation is movability since VMs are simpler to keep up and progressively adaptable to broaden when new highlights are added to the gadget and should be upheld by the API. Another undeniably well-known methodology is to assemble the application as a versatile web application that will run on the client's portable program. This includes utilizing standard web innovations like HTML, CSS and JavaScript to construct the application and make it look and carry on like a local application. This is conceivable because of the propelled capacities of HTML 5 and CSS 3, including implanted SQL databases, neighborhood capacity, activities, canvas, web attachments and video playback. In spite of the fact that HTML 5 is as yet a youthful innovation (the standard is yet to be concluded) and portable programs may execute it in an unexpected way, its expanding notoriety in rendering motors like the WebKit which powers the iPhone and Android portable programs are making web applications look and act increasingly more like local applications. For specific classes of use this methodology might bid as its modest and possibly covers a wide scope of stages with few changes. This incorporates basic business applications like news per users, digital books, versatile banking, social cooperation and email. Anyway it probably won't be appropriate for exceptionally intuitive, CPU-serious an outwardly rich application like games, enlarged reality programs and videoconferencing. The web application runs either on an independent versatile internet browser (unadulterated web) or in a program see inserted into a local application (half and half web). In this cross breed model, the web application keeps running inside a slim wrapper local application which gives an extension to the gadget's operational framework and administrations. The web application is reserved locally on the gadget on establishment, expelling the requirement for a functioning information association and improving its speed and responsiveness. The correspondence between the web application and the local application ordinarily occurs over JavaScript by means of custom fabricated APIs. This strategy attempts to bring the best of the two universes into one single coordinated arrangement: adaptability of web applications with speed and highlight wealth of local applications. At the point when appropriately built up this tends to bring great outcomes despite the fact that since even versatile programs are not executed similarly over gadgets this can likewise prompt irregularities which again can make the client experience less fortunate what's more, limit the capacities of the application. The web approach brings a few points of interest like streamlined sending and prompt accessibility since most present day telephones accompany a program introduced and to run the application the client simply needs the URL and a functioning information association. The huge downside would be a more unfortunate client experience since now and again it is difficult to imitate a local UI inside an internet browser utilizing just standard web components. Additionally access to cutting edge gadget capacities like contacts, stockpiling and sensors is regularly limited albeit still conceivable. At long last, utilizing web advances, sellers have made another route for versatile sites to run like local introduced applications. The methodology has a wide range of names, which can be befuddling, yet is ordinarily alluded to as 'versatile gadgets,' and it has existed for quite a while on an assortment of versatile stages. The gadget idea was presented some time before the versatile application and application store unrest and can be viewed as a first cut at conveying little chunks of usefulness in a lightweight and natural path to the end client. Well known portable gadget stages incorporate Symbian/Nokia Web RunTime motor, Sony Ericsson's Xperia gadget motor, BlackBerry's Widget SDK and Samsung's TouchWiz gadgets. A gadget is an intuitive device that gives single-reason administration to the client, for example, appearing the most recent news, current climate, date and time, schedule, word reference, guide, number cruncher or even a language interpreter [Wikipedia]. On cell phones, gadgets regularly show up on the home screen or then again virtual work area. A gadget keeps running on a gadget motor which is in charge of giving fundamental framework and getting to the gadget assets. Gadget stages were made at first for personal computers to give fast access to standard utilized highlights. Work area gadgets were spearheaded by the famous Apple's Dashboard on the Mac OS pursued by Windows Gadgets and Google Desktop. Using Visual Studio Code IDE Instead of Android Studio to Avoid RAM hogging Choosing the best Integrated Development Environment of IDE is the first thing a developer does when developing an application. Using different IDEs for developing application varies, depending on what application the developer intends to create and the lightness and heaviness of the IDE, which is also a factor in choosing the best IDE. Optionally, when developing an application, it is possible to create without using IDE, just configure the command prompt to initiate the specific command. But this method is way too slow. It makes the development cycle slow-paced due to the technicalities in installing, running and debugging applications, which if using a raw command prompt technique and just a text editor will take a very long time. This kind of problem is being addressed by IDEs. Integrated Development Environment offers a variety of choices, automations, debugging, plugins and snippets to make your development cycle fast. In developing mobile applications especially when developing an Android and iOS applications, the two IDEs are the Android Studio Code and Xcode. Android Studio Code is a heavyweight IDE, means that it uses a huge amount of memory to run, thus making a cheap computer lag when running an application in an emulator. An Integrated Development Environment (IDE) is a software environment used to write other programs using tools like an editor and compiler. This can prove to be an extremely useful tool when coding uses various languages for many reasons. Examples of different IDE’s include Eclipse, Visual Studios, and NetBeans. Each IDE has its own niche strengths and weaknesses. (Travarca, 2019) Code understanding is one of the most accommodating apparatuses that an IDE can give, which is the capacity for the program to translate what is composed. The program can change content shading to speak to various classes, capacities, and factors. Microsoft Visual Studios offers something many refer to as IntelliSense that can likewise foresee what you are composing and completion your words for you. Other IDE's offer a comparable instrument called something restrictive to their program. Another component to IDE's is the capacity to troubleshoot your program. This is ostensibly one of the most significant apparatuses to sending an effective program. Testing is critical to ensure that your client does not encounter an occurrence where the code does not deal with a particular mistake and crash the program. Investigating gives you the capacity to go through the program, halting the code at determined focuses to check estimations of factors or different premiums as required, to confirm that the code and capacities are running as planned. At last a couple of more instruments that IDE's offer can be asset the executives and the capacity to gather your code. When composing another program there are normally a wide range of records that have been referenced in explicit way areas so it is significant for the running of the program that these documents are in the right areas. Utilizing an IDE makes it simple to see a visual portrayal of the area of these documents and makes it increasingly justifiable for the client. Visual Studio Code is the best alternative of using Android Studio, instead of using the it as a main working ground for developing a mobile application will be replaced by Visual Studio Code, a lightweight IDE for developing the app in this research. By using a real device rather than a virtual device which is a feature of Android Studio, the development of mobile application will be faster. Debugging an application on a real device is faster than on a virtual device which will also cause lag. Moreover, using Android Studio as a preference will still depend on the specification of the computer whether it can run Android Studio smoothly or not. These are just a few of the tools and features that IDEs can provide for the programmer. Different IDE’s may offer a different collection of tools as well as proprietary tools only available to their environment. Using Flutter over React Native in Cross-Platform Development Developing mobile applications for Android and iOS separately has become a burden. A general solution that considers developing, maintaining, testing and deploying for different platform is an important topic. This kind of solution should be able to unify the process of mobile application development. React Native, developed by Facebook, has been regarded as a milestone in crossplatform SDK. A strong and active community has made React Native the most popular crossplatform framework. However, after considering the pros and cons of React Native, Google has released Flutter as their approach to unite developments. Flutter is highly optimized to adapt mobile environment and aims at providing the final solution to developers. After experiencing the huge success of React in web development, Facebook decided to expand its influence toward the mobile business. React Native started as an internal hackathon project inside of Facebook and its initial goal was to unify the development process for iOS and Android. However, as the Framework grows significantly, React Native Applicable can be deployed to other platforms, such as Windows, Web and Tizen, effortlessly. React Native has one of the strongest communities in open-source world. In fact, currently (March 2018) React Native is the third most starred project on GitHub. Not only individual developers and Facebook are contributing to it, but also numbers of tech giants, such as Microsoft and Samsung, play important roles on developing React Native. One of the most fascinating natures of React Native is it brings modern web techniques to mobile, without compromising much on features and performance. Even though React Native applications are mostly written in JavaScript and operate on JavaScript core, it does not mean that React Native applications are hybrid or html5 applications. The usage of underlying native interface allows React Native application to render views and access native hardware, such as camera and storage. Flutter is a cross-platform framework that aims at developing high-performance mobile applications. Flutter is publicly released at 2016 by Google. Not only can Flutter applications run on Android and iOS, but also Fuschia, Google’s next generation operating system, chooses Flutter as its application-level framework. Flutter is unique. Rather than utilizing web views or relying on the device’s OEM widgets, Flutter renders every view components using its own high-performance rendering engine. This nature provides possibility to build applications that are as high-performance as native applications can be. Architecture wise, the engine’s C/C++ code is compiled with Android’s NDK and LLVM on iOS respectively, and any Dart code is AOT-compiled into native code during compilation. Flutter supports stateful hot-reload while developing, which is considered as a major factor to boost development cycle. Stateful hotreload is essentially implemented by injecting updated source code into the running Dart VM without changing the inner structure of the application, thus all transitions and actions of the application will be preserved after hot-reloading. React Native, with its pioneering work, has actively impacted the followers to certain extend. Pathbreaking concepts from React, such as one-directional dataflow and JSX, are well adopted and digested in React Native. With its strong community, React Native is no doubt the best choice to start a cross-platform application from scratch. Flutter has a bright future. Sophisticated design from React Native are well preserved with Flutter’s own evolvement. The consistency and tidiness in syntax and SDK level does bring joy to developers. Rendering widgets through a dedicate engine boosts the performance and eliminates pollutions from the OEMs. To conclude, both React Native and Flutter have greatly proven the value of crossplatform mobile application framework. The efficiency and convenience regarding to development can surely boost the speed of pushing the product to the market. Producing a high quality and beautiful application for all mobile platforms has never been this easy before. As a trade-off, certain performance loss, when comparing to native application, is reasonably acknowledged and allowed. Scope and Limitation This study aims to solve the rampant problem of Intellisense Institute of Technology’s students in passing the NCII assessment, but not concerned about other individuals who want to use the mobile application as review material to pass their assessment as well. The respondents of this research are the students of IIT raging from grade 12 to second year college. The data are gathered through conducting a survey regarding the current students who didn’t pass the assessment of their respective national certifications last year. The research locale is only in IIT, where the students who failed to pass the assessment for the previous year were surveyed to come up with a legitimate information which were used in formulating the hypothesis. The data belong to students specifically from grade 12 Trustworthy, Grade 12 Team Player, first year college and second year college. The age of the respondents is also recorded to determine the age range of the NCII takers. The total number of the respondents is 67. This is the exact number of respondents recorded in the survey. Generally, 56% of the total number of NCII takers failed to pass the exam last year. This study limits on using it as a reference for creating a research which will be used for commercial purposes. The researcher is only a grade 12 students whose background in programming is not sufficient for code enhancement of the application. Overall, the research will determine whether the hybrid mobile application which will be used as a guide for NCII takers will work or not. Significance of the Study The study of creating a hybrid mobile application entitled “Intellisense Institute of Technology for NCII Certification Guide” can be a learning paradigm in the secondary level and vocational schools to enhance the students’ knowledge and entrepreneurial skills as well. The project’s goal is designed to help students pass their NCII assessment, develop employability skills, be confident in participating career interviews and participate in a career pathway in preparation for post-secondary education or careers in the programming, animation, graphic designing and customer service sector after graduating from senior high school or college. Moreover, this study can also be a resource for the school to depend with when conducting their own research about the students’ incapability of passing NCII assessments. This study is significant because students in technical vocational and livelihood strand can use the solution which is the mobile application for their study. Hypothesis Some of the Intellisense Institute of Technology students failed to pass the NCII assessment last year due to their lack of time for studying and lack of review materials for studying. If there’s a mobile application which they can use for reviewing, then the assessment will be easy for them as all the information needed are already in the application. Research Design The study solving the problem by creating a mobile application for IIT students tends to solve by providing the data needed by the students.