Introduction
Mobile applications are software programs designed for use on mobile devices such as a phones and tablet computers. Mobile applications provide similar services to those offered by programs on personal computers. When mobile devices were introduced, they were used mainly for sending and receiving voice calls. Technology advanced rapidly, and mobile applications were introduced owing to the need for more functionality in mobile devices. Mobile devices are accessed by billions of people and have become necessary for daily living. The great number of mobile devices in use today has spurred the growth of mobile applications. The applications allow users to utilize their mobile devices for various functions. Various aspects of the lives of mobile users can be represented by an application on their phone. The mobile applications are used for different functions such as health, communication, gaming, imaging, planning, education, business and entertainment. The applications provide limited and specific functionality .
Effectiveness of Mobile Applications to manage Geolocation and Customer Data
Mobile applications are an effective way to manage geolocation and customer data. Mobile applications are more efficient than desktop programs for capturing user data. Mobile applications are useful in managing customer data because they are frequently used. The mobile device owner can use the apps wherever they go. Mobile devices provide connectivity to the internet from anywhere and therefore apps can be used from anywhere on the globe. The geographical data is useful to the business for marketing services. The portability of mobile devices means that geolocation data about the user can be collected from anywhere. Mobile applications are more interactive than desktop programs thereby; the customer can use the application more efficiently. The amount of data utilized by mobile applications is small, and therefore, the information can be processed quickly by processing servers, and the customer can receive feedback. Mobile applications are also easily customizable to the needs of the consumer. Customized applications are an effective way to manage customer data .
Benefits of Mobile Applications for Consumers
The ease of use of mobile applications has brought many advantages to the consumer. Mobile applications enable customers to shop online with ease. Different companies and e-businesses have launched mobile applications that allow users to buy items online. Online shopping applications permit the buyer to browse through product catalogs, place an order, pay for the product and have it delivered promptly. Mobile applications have increased accessibility to business services and made the purchasing process quicker. Consumer applications that enable wired transfers have enhanced the commercial transaction process. Clients identify a product, wirelessly transfer money to the company and have the products delivered to them. Consumer applications such as eBay enable customers to buy goods from other consumers. Mobile applications also provide the capability to track goods and stores .
Mobile banking applications have increased consumer access to banking services outside of the traditional banking system. Clients can obtain their bank accounts from any location globally just with an internet connectivity. The functionalities provided include: checking deposits; transfer money; and check transaction history. Mobile banking is safe because of the proliferation of mobile banking applications. Customer data is also guarded by passwords and other security audits. Mobile banking saves the customer costs because they can comfortably access banking services without having to access the banks. Most banks do not charge customers for use of mobile banking services, and this is a bonus to the consumer. The ability to manage bank accounts from the phone has reduced instances of fraud because customers can manage their account at all times. Virtual wallets offered by banks enable buyers to make mobile payments .
Mobile applications have increased accessibility to information. Users have access to broad and descriptive information about different products in the market. The information available in applications aids the user in the decision-making process when purchasing items. Users can compare products from different companies before making a final decision to buy the selected item. Since the data is stored within the applications, customers do not need to be connected to the internet to access it. Consumers can search for better deals on a particular item. The buyer can obtain information regarding the prices offered by different companies. Social networking applications enable the user to gather feedback from other customers regarding a given product. The consumer can read the experiences of other users regarding a particular product. The buyer decides to buy if the reviews are positive or not buying if other customers gave bad reviews .
Challenges of Developing Mobile Applications
The main problem that developers encounter when developing mobile application is the small screens available on mobile devices. The developer has to cut out on most functionalities in order to design an application that will be compatible with the small displays available on mobile devices. Such actions reduce the functionality of the application. The developer is forced to create more menus and pages for the mobile application in order to fulfill the functionality and provide more features. The developer ends up making applications with large sizes or application without enough functionality. Developing applications becomes time-consuming and tedious. The user interaction with the application also becomes limited .
Another challenge faced by developers is the need to create mobile applications that are supported by different screen sizes. Mobile devices vary in screen resolution. Some mobile devices have screens with high resolution, therefore, making the process of developing applications for such devices easy. However, some devices have small screens and low resolution. The developer encounters the problem of developing an application that will be supported by screens with low resolution. Application developers have to make changes to fonts, navigation, layout and color in order to enable functional effectiveness in mobile devices .
Small screens limit the capability to include data entry forms into the mobile application. Developers have to design ways of creating user-interfaces that will enable the user to type or browse through the application with ease. Mobile devices with small screens are suitable for text entry but are inappropriate for data entry. The developer spends a lot of resources creating applications that will improve the user’s experience. Unnecessary data entry forms, redundant texts, and various graphics have to be removed in order to operate efficiently on devices with small screens. The programmer is also faced with the challenge of either creating an application that runs on a portrait or landscape platform .
Deciding of the Mobile Application Platform
Mobile computing technology has improved rapidly over the years. Mobile devices run on various mobile operating systems such as Android OS, iPhone OS, Windows Phone, Blackberry OS, and Symbian. Choosing a platform for use is a crucial step in developing an application. The following are the factors that should be considered when deciding on the platform.
- Developer tools and resources available. Different development platforms provide different design and development functionalities. Some platforms provide basic features only. The developer should choose simple platforms if the application they are developing requires basic functionality and low performance. Sophisticated platforms with increased functionality are ideal for developing application with high performance and many functions. Mobile application platforms with more resources are appropriate.
- The mobile application’s target market. Different users prefer different operating systems. High-end users are inclined towards iOS, Windows Phone, and Blackberry while low-end users are inclined towards Symbian. The developer should choose a platform that has support for the largest number of users. When targeting a mass market, the developer must choose an application with the highest number of users. When creating a private application, the developer should choose platforms that support private app stores. Corporate-based applications are supported by Blackberry platforms .
- The handsets available for each platform. Different platforms have support for various ranges of handsets. Android supports the widest variety of mobile devices including Samsung, LG, Huawei, Dell, and Asus. iOS provide support for Apple devices only. Windows Phone provides support for Nokia devices and a select number of devices. Blackberry OS offers support for Blackberry devices only. The developer should choose a platform that provides support for the widest range of devices .
- The performance levels offered by the platform. Application platforms from various companies provide different levels of performance. Applications that need high performance especially those that require real-time responses are best suited for highly reliable platforms. Mobile applications with large sizes are also suited to platforms that have high performance.
- The functions and features supported by different platforms. All platforms have a list of functionalities that they incorporate and the functions that are not supported. Different platforms have varying levels of support for different graphics, texts, voice recognition, and multimedia. Platforms that support the highest number of functionality are appropriate for application development. In situations where the application needs to have a particular feature that is only supported in few platforms, the developer’s options are limited. The developer should list all the application functionalities and consider the platform that supports all or the highest number of features .
- The testing and security features offered by the platform. Mobile applications need thorough testing in order to ensure reliability and usability. Different platforms provide varying resources for testing. Applications that require high performance and usability are developed on platforms that provide extensive testing features. Applications with high efficiency will increase user satisfaction. Platforms that provide extensive security features are appropriate for development especially if the application will include access to the confidential and sensitive information. The authentication framework for the platform should be advanced. Platforms that provide data encryption and access control are preferred .
Providing High Availability on Mobile Applications
High availability is a system development approach that ensures reliability and performance of the system. Mobile applications require high reliability because they are used frequently. Users expect that the mobile applications installed on their phones run efficiently and have minimal downtimes. Having on-device data storage and management is the first approach used in providing high availability. Storing application data on the phone rather than the internet ensures that the user can obtain the information at all times necessary. Storing mobile application data on the internet is inefficient and prone to downtimes because of the fluctuating network strength in different locations. On-device data storage ensures that the user can access information directly and continuously thus ensuring high availability .
High availability can be assured by applying clustering techniques. Clustering is a method where different servers, processors, and databases are interlinked to ensure uninterrupted program execution. The interlinked resources are designed to operate as one system. In a device that applies clustering, when one resource fails, the device transfers running of the application to another resource. The transfer of data between failed resources and alternative resource is executed quickly. The additional processors can be used to run applications in situations when the primary system is overloaded. Clustering ensures automatic recovery of the systems from application failure; continuously monitors the health of the application and guarantees high performance at all times .
Applying a redundant array of independent disks (RAID) ensures high availability. In a system that uses the RAID topology, multiple disks store the same information using a technique called data mirroring. Mobile application data stored on the device is mirrored across different disks . When one disk fails, or access to the disk is hampered, the mobile application instantaneously switches operations to another disk. RAID ensures that as long as one disk among the array is working, the systems will be available. Mobile users can, therefore, use applications without the fear of downtimes. RAID is cheap and provides data-access fault tolerance. RAID provides constant access to IT infrastructure .
Ways of Increasing Mobile Security
Mobile security is a concern for users because of the huge volumes of personal data stored on mobile devices. Mobile data systems are more susceptible to attack because of the limited security features that can be installed on mobile devices due to the limited storage capacity available. Hackers target mobile devices to access data that they can exploit for unauthorized purposes. The methods that can be used to ensure mobile security are examined below.
- Network traffic monitoring. The data exchanged between the mobile device, and other devices or network is carefully monitored. Safeguards are placed on various routing points to detect network any anomalies in the device data usage. By monitoring the network, any attacks on the mobile system are detected, and appropriate measures undertaken to ensure that the phone security is not breached. Network surveillance also ensures that malicious emails and texts are intercepted before they access the device’s memory functions .
- Applying data encryption. Data encryption is a method is of altering information to an unreadable form using various algorithms and programs. Encrypted data can only be deciphered by the intended party. All the data stored on the device or sent over various networks such as the internet is encrypted to ensure that hackers cannot use the encrypted data even when they have access to it. Data encryption ensures security and confidentiality of data. Data encryption provides the mobile device with tools to track the integrity, and authenticity of the data received .
- Installation of security software in the phone. Security software such as firewalls and antivirus programs are preinstalled in the device, but other programs such as antivirus software have to be installed by the user. Firewalls monitor the existing network traffic and ensure that malicious programs do not seek to use device resources. Antivirus software is used to scan programs, multimedia files and other documents . The antivirus deletes the malicious file or prevents it from accessing memory resources and data stored on the device. Security software also ensures that installed programs do not try to establish connections with malicious programs. Biometric identification software such as fingerprint scanning can be installed on the device to keep out unauthorized access .
- Resource monitoring on the device. Activities of malicious programs can be detected if the device’s resources are monitored. Monitoring is done on resources such as a battery, memory and, the internet connection. Malware and viruses use the available battery exceedingly. Detecting irregular usages of battery resources is crucial to identifying attacks on the device. Hackers try to access phone memory and steal information. Abnormal access of phone memory should be noted and restricted. The internet connection is monitored to block out unauthorized access to data being exchanged over the internet .
Conclusion
A mobile application refers to a software program intended for use on mobile devices and providing similar services to those offered by programs on personal computers. The applications are designed to increase the functionality of the device. Mobile devices are useful in managing geolocation and consumer data because they are portable and frequently used by customers. Mobile applications have enabled online shopping, access to information, mobile banking and increased access to business services. Small screens on mobile devices pose a problem in creating applications that are compatible with mobile devices and providing enough functions on the mobile application. In choosing an application platform, the developer should consider the target market, development tools available, handsets supported and testing tools available. High availability is ensured through on-device data storage, clustering, and RAID. Methods such as network traffic monitoring, security software, data encryption, and resource monitoring provide mobile security.
References
Butler, M. (2011). Android; Changing the Mobile Landscape. Pervasive Computing, 4-7.
JavaWorld. (2014). High Availability Mobile Applications. Retrieved from http://www.javaworld.com
Leavitt, N. (2005). Mobile Phones: The Next Frontier for Hackers? Computer 38.
Lee, V., Schneider, H., & Schell, R. (2004). Mobile Applications: Architecture, Design, and Development. Prentice Hall.
Turban, E., Lee, J. K., King, D., & Turban, D. (2010). Electronic Commerce. Prentice Hall Press.