To be productive, access to data and applications is needed anywhere and anytime. This has resulted in a rapidly growing worldwide handheld market, which requires the associated software and applications to expand to meet that demand. The three primary variables impacting any handheld application are a quality product, time to hit in the market, and application development cost.
Overview of Handheld Software
A handheld device is a small computer that has an input/output interface and a display screen, such as a touch screen keyboard or an external. Examples of handheld devices such as handheld game consoles, mobile PCs, PDA, and mobile phones.
Figure 1: Smartphone is popular handheld devices (source: For the first time in two years, the smartphone market shows signs of life | TechCrunch (techcrunch.com))
Handheld Software is the set of procedures and processes involved in writing software for wireless computing, small devices, such as smartphones, and other hand-held devices. Handheld software is frequently designed to make use of a certain handheld device’s unique capabilities. The software can be accessed through a web browser, downloaded from the app store, or preinstalled on the device.
Any handheld device has the following basic components: loaded applications, working performance, and hardware configuration. Handheld software is almost the same for handheld devices but there will be differences due to operating system or hardware configuration.
Handheld Software is developing rapidly on a lot of issues, such as government, healthcare, insurance, e-commerce, telecommunications, retail, etc.
How to develop handheld software?
There are many models of handheld software design (W Model, X Model, Y Model, Prototyping Model, Increment Model, Spiral Model, V Model, Waterfall Model, etc). There are now several new models that focus on component-based software development, such as the H model, Modified W model, and Psi model.
- The general process of handheld software development
This is a closed process including strategy, planning, design, app dev, testing, deployment.
- Define strategy based on: the objective of software, problems it will solve, advantages and disadvantages of software with the same function, team design, business model, marketing strategy.
- Planning: features and functions, prototyping, care about user experience (performance, security, usability, and design).
- App dev: product roadmap, app development tools, use Agile process and DevOps mindset (applying automation, using cloud services, open-source tools, frequently communicating with the team, and continuously testing the code).
- Testing: create prototypes to share with stakeholders. Utilize their suggestions to improve the app’s development and testing.
- Deployment: create a beta test for users. Before being officially used, it needs to go through many rounds of evaluation and improvement with feedback from users.
- Handheld software development with Modified W model
To enhance Handheld Software’s reusable features, it is necessary to modify the W model to be more optimized. For the development of handheld software, the Modified W Model is presented, which emphasizes risk analysis, cost estimates, and domain engineering in each major phase to decrease cost and time while improving quality.
Component-based software development has been proven to enhance engineer productivity, code reusability, software quality, and increase software. Each phase of development, from requirements to an operational system, is matched by a dedicated testing activity in the model. The major goal of the test activity is to see if the development activity’s objectives were fulfilled and if the deliverable satisfied the criteria.
The Modified W Model addresses the shortcomings of previous software development models by covering all needed functional and non-functional criteria (handheld load, performance, and stress concerns in relation to its hardware setup). It has advantages such that reusable code can be integrated at the appropriate phase of the model, which takes the minimum time for the development of a new application and a back-to-back testing process with the development process. The modified W Model is made up of two V models, one for validation and the other for verification. This Modified W-Model of testing concentrates on the most important product risks at the stage where testing is most successful.
Each development activity is monitored by a specific testing activity in the modified W Model’s seven stages. Developing Handheld Software includes the requirement, system specification, component selection & development outline, code development, module development, system development, and operational system.
Figure 2: Modified W model (source: (PDF) Modified W Model for Handheld Application Development (researchgate.net))
a1) Requirement: resource planning including how many platforms, hardware are needed for the development, software, programming environment, and team size.
a2) Analysis & Test requirements: functional & non-functional testing process, number of releases of the application, time-related.
b1) System specification: a textual or graphical description of an abstract model of the application architecture.
b2) Analysis & Test System specification: design its test plan and test strategy for the testing of the application.
c1) Component selection & development outline: as a result of the last phase, this phase is linked to the last phase. Reusable code, components, feature or module.
c2) Test Cases selection & QA process outline: if there is a change, adjust the current test cases and test scenario.
d1) Code development: A framework may be thought of as a general structure that serves as a skeleton for application development.
d2) Unit Test Cases development: unit implementation, local data structure error, basic performance, memory leakage, dynamic resource usage related, exception handling, synchronization with other application or feature or network & graphical user interface formatting related issues.
e1) Module development: development of independent features of the application.
e2) Integration testing: build & functional issues with network-associated issues, resource-hogging, exception handling, data loss, data sharing error, interface integrity.
f1) System development: all modules or features are merged, resulting in a system or application that is compatible with the handheld’s operating system and other applications.
f2) System testing: functional & non-functional issues (compatibility & recovery issues, configuration, security, usability, reliability, stress, load, performance)
g) Operational system and User Interface Level testing: test application on end-users or customers.
Real-life examples of Handheld Software
- Mobile computer software
- Personal digital assistant/Enterprise digital assistant: the software supports storing information about calendars, schedules and notes. Currently, the software on the PDA has developed to the extent of recognizing the user’s voice and using AI to respond to queries. For example Amazon’s Alexa, Microsoft’s Cortana or Apple’s Siri.
Figure 3: Microsoft’s Cortana on Windows Phone (source: Cortana for Windows Phone 8.1 – All you need to know! (windowscentral.com))
- PlayStation Portable (PSP): the demand for games is increasing, the integration of games into a dedicated device is essential. PSP is a handheld game console. In addition to games, the PSP also integrates other software applications that allow access to the web browser, remote play, VoIP access, digital comics reader.
Figure 4: PlayStation Portable (PSP)(source: The Consumer Electronics Hall of Fame: Sony PlayStation Portable – IEEE Spectrum (spectrum.ieee.org))
- Media recorders software
- E-book reader: an e-book reader can be any device that can show text on a screen. However, specialized e-reader devices may optimize battery life, readability, and portability for this purpose. Amazon Kindle devices have built-in software that allows users to browse, read, download, buy magazines, newspapers, e-books via wireless networking.
Figure 5: Amazon Kindle devices (source: Amazon.com: Kindle – Now with a Built-in Front Light – White: Kindle Store (amazon.com))
- Spotify: is software that provides media services and audio streaming. The software runs on most operating systems such as macOS, Linux, Windows, especially on 2 popular mobile phone development operating systems, iOS and Android. Cross-platform software is the future of handheld software development.
Figure 6: Spotify on multiple platforms (source: How to Play Spotify on Multiple Devices (tuneskit.com))
- Communication software
- Youtube: provides social media platform and online video sharing. It allows users to create content for uploading videos, live streaming with many different qualities and formats suitable for the configuration of most devices. This creates a large, diverse user community of content serving many different audiences.
Figure 7: Videos are uploaded to youtube (source: youtube.com)
- Facebook: provides software that makes up the world’s most popular social network. It allows users to message, share status, listen to music, view photos, videos, etc.
Figure 8: Facebook user interface (source: Facebook New Interface with Dark Mode is Open for All (geekinteger.com))
Benefits of Handheld Software
- Breaking the Communication Barrier: you can share your current status with a tweet on Twitter or a status on Facebook. Payment also becomes easy when making online anytime, anywhere. Real-time data transmission ensures fast and accurate information capture.
Figure 9: Momo is a popular e-wallet in Vietnam (source: Ví MoMo là ứng dụng tài chính có nhiều người sử dụng nhất năm 2020 | Công nghệ | Thanh Niên (thanhnien.vn))
- New Entertainment forms: play interactive games online, listen to music, watch movies anytime & anywhere.
- High Convenience: an important note can be done quickly through the PDA. Supported by software that can almost perform all the functions of a laptop.
- Office on the go: Smartphones and PDAs support this very well. You can receive and send notifications in real-time, VPNs provide secure access to business files, you will easily edit files on your smartphone. This leads to increased productivity that is not limited by space and mobility.
- Integrates With Existing Software: the following installed software can be easily integrated with existing software to analyze and give an overview of the problem.
- Easy to maintain: upgraded versions are easily updated to improve existing functions.
Future of Handheld Software
- Now, software companies are concentrating on integrating these portable applications into the desktop environment so that they may be installed on an increasing number of digital devices.
- The development of Handheld Software focuses on 3 main areas: the hybrid PDA type handheld devices, voice-centric and data-centric.
- Improved the way 2D and 3D data is organized and managed for efficient access and navigation.
- Developed for the important issue of user interface and communication.
- Research into effective 3D input and UI devices continues to be valuable.
- Beacon technology is sensors and Bluetooth integrated devices that accurately detect the device’s location for fast real-time information transmission.
Figure 10: Beacon technology (source: 5 Things You Need to Know About Beacon Technology | WordStream (wordstream.com))
- 5G technology helps to increase transmission speed many times more than today. Help develop software in areas such as data security, video streaming, augmented reality, virtual reality.
- Artificial intelligence contributing to handheld software development is AI-powered face Unlock, Voice and language translation, Smart camera with subject recognition and AI with IoT (AIoT)
- Instant apps: users may access apps without having to download them to their devices, allowing them to run them immediately over the internet.
The rapid development of handheld devices, especially smartphones, brings convenience and mobility to many different industries. Applications integrated in handheld devices are also constantly evolving to meet that need. The article provides an overview that helps guide handheld software development including software development model, benefits analysis and gives real examples of handheld software and the future of development.
Source of references:
- Mobile Apps Development Trends & Future 2022 – CodeIT (codeit.us)
- Types of Handheld Devices, Handheld Device Software, Handheld Gadgets, What are Handheld Devices (roseindia.net)
- Introduction to Mobile Application Development | IBM (ibm.com)
- (PDF) Handheld Devices for Applications Using Dynamic Multimedia Data (researchgate.net)
- (PDF) Modified W Model for Handheld Application Development (researchgate.net)
- What is mobile application development? Summary and app development process (techtarget.com)
- What is personal digital assistant (PDA)? – Definition from WhatIs.com (techtarget.com)