Unit I Introduction

Download as pdf or txt
Download as pdf or txt
You are on page 1of 15

Unit I

Introduction of Mobile Applications


Examples: Whatsapp, Instagram, swiggy, etc
Mobile apps are majorly developed for 3 Operating System. :
1. Android
2. IOS
3. Windows
There are 3 different ways to develop Mobile apps: –
1. 1st Party Native App development
2. Progressive web Application
3. Cross-Platform Application

1. 1st Party Native App development: –


These types of apps normally run in the native devices, that is, it runs only in the OS that it is
specifically designed for. These apps cannot be used on different devices using a different OS.
The apps that are developed for android are normally coded using Java or Kotlin languages. The
IDE normally used for android app development is Android Studio which provides all features
and the apps that are developed for IOS are generally coded in Swift language or Objective-C.
The IDE suggested for IOS App Development is XCode.
Advantages of 1st Party Native App development:
1. The performances of these apps are very high, these apps are very fast compared to
any other apps.
2. We have easy access to all the features and APIs.
3. The community is widespread so all your doubts and errors can be discussed and
solved easily.
4. Updates are available on the same day.

Disadvantages of 1st Party Native App development:


1. The development speed is too slow as we have to code it again for different OS.
2. And this category doesn’t support open source.

2. Progressive web Application: –


Progressive web apps are essentially a website which runs locally on your device. The
technologies used are Microsoft Blazor, React, Angular JS, Native Script, Iconic. These
technologies are normally used for web development purposes. The apps’ UI is developed the
same way as they are developed while developing the website.
Advantages of Progressive web Application:
1. The main advantage of this process is that its development speed is fast the same code
base is used for IOS, Android, web applications.
2. The web development team can be repurposed to develop the mobile application.
3. No installation required.

Disadvantages of Progressive web Application:


1. The major disadvantage is that PWA don’t have access to all the feature and so the
user experience is not that good IOS does not support all the features of PWA
2. The UI for development is bespoke i.e. the buttons, edit texts need to be programmed
which was not necessary for the 1st party native Apps.
3. The community is not that wide spread.
4. No extra room for business model i.e. it is still a challenge to develop a revenue
model or advertising opportunities for PWAs. At the moment, there are fewer options
than among native apps to subscribe to.

3. Cross-Platform Application: –
These are frameworks that allow developing total native applications which have access to all the
native features of IOS and Android but with the same code base. These apps run on both Android
and IOS. So normally the development speeds of these apps are very fast and the maintenance
cost is low. The performance speed is comparatively low to 1st party native apps but faster than
PWA.
Xamarin is Microsoft cross-platform solution that uses the programming languages like .NET,
C#, F#. The IDE preferred is Visual Studio. The UI/UX is totally native giving access to all
features. This technology is having a wide community. And whenever an update is released by
Android and IOS the same updates are released by Microsoft through Visual Studio.
React Native is Facebook’s cross-platform solution which uses the language JavaScript And the
preferred IDE is WebStrom & Visual Studio Code. Same like Xamarin React Native has totally
native UI/UX and gives access to all features. And the updates are released the same day by
Facebook as Android and IOS.
Flutter is Google’s cross-platform solution which uses the language, Dart. The IDE preferred is
Android Studio, IntelliJ IDE, and Visual Studio Code. The UI/UX is bespoke and Flutters has to
come up with their new libraries whenever Android and IOS comes up with an update to mimic
those update. The community is fast growing.
Advantages of Cross-Platform Application:
1. The apps’ development speed is very high as they use the same code base for both
Android and IOS.
2. The apps’ maintenance cost is low as the errors and updates as to be countered only
once.

Disadvantages of Cross-Platform Application:


1. Slow Code Performance With Limited Tool Availability.
2. Limited User Experience i.e. these apps does not have access to Native only features.

Embedded Systems:

An embedded system is a combination of computer hardware and software designed for a


specific function. Embedded systems may also function within a larger system. The systems can
be programmable or have a fixed functionality. Industrial machines, consumer electronics,
agricultural and processing industry devices, automobiles, medical equipment, cameras, digital
watches, household appliances, airplanes, vending machines and toys, as well as mobile devices,
are possible locations for an embedded system.

While embedded systems are computing systems, they can range from having no user interface
(UI) -- for example, on devices designed to perform a single task -- to complex graphical user
interfaces (GUIs), such as in mobile devices. User interfaces can include buttons, LEDs
(light-emitting diodes) and touchscreen sensing. Some systems use remote user interfaces as
well.

Chip manufacturers for embedded systems include many well-known technology companies,
such as Apple, IBM, Intel and Texas Instruments. The expected growth of embedded systems is
partially due to the continued investment in artificial intelligence (AI), mobile computing and the
need for chips designed for high-level processing.

Examples of embedded systems

Embedded systems are used in a wide range of technologies across an array of industries. Some
examples include:

● Automobiles. Modern cars commonly consist of many computers (sometimes as


many as 100), or embedded systems, designed to perform different tasks within the
vehicle. Some of these systems perform basic utility functions and others provide
entertainment or user-facing functions. Some embedded systems in consumer
vehicles include cruise control, backup sensors, suspension control, navigation
systems and airbag systems.
● Mobile phones. These consist of many embedded systems, including GUI software
and hardware, operating systems (OSes), cameras, microphones, and USB (Universal
Serial Bus) I/O (input/output) modules.
● Industrial machines. They can contain embedded systems, like sensors, and can be
embedded systems themselves. Industrial machines often have embedded automation
systems that perform specific monitoring and control functions.
● Medical equipment. These may contain embedded systems like sensors and control
mechanisms. Medical equipment, such as industrial machines, also must be very
user-friendly so that human health isn't jeopardized by preventable machine mistakes.
This means they'll often include a more complex OS and GUI designed for an
appropriate UI.
How does an embedded system work?
Embedded systems always function as part of a complete device -- that's what's meant by the
term embedded. They are low-cost, low-power-consuming, small computers that are embedded
in other mechanical or electrical systems. Generally, they comprise a processor, power supply,
and memory and communication ports. Embedded systems use the communication ports to
transmit data between the processor and peripheral devices -- often, other embedded systems --
using a communication protocol. The processor interprets this data with the help of minimal
software stored on the memory. The software is usually highly specific to the function that the
embedded system serves.

Ref: YASINEMIR/STOCK.ADOBE.COM

A photo of an embedded system motherboard with attached cables.


The processor may be a microprocessor or microcontroller. Microcontrollers are simply
microprocessors with peripheral interfaces and integrated memory included. Microprocessors use
separate integrated circuits for memory and peripherals instead of including them on the chip.
Both can be used, but microprocessors typically require more support circuitry than
microcontrollers because there is less integrated into the microprocessor. The term system on a
chip (SoC) is often used. SoCs include multiple processors and interfaces on a single chip. They
are often used for high-volume embedded systems. Some example SoC types are the
application-specific integrated circuit (ASIC) and the field-programmable gate array (FPGA).

Often, embedded systems are used in real-time operating environments and use a real-time
operating system (RTOS) to communicate with the hardware. Near-real-time approaches are
suitable at higher levels of chip capability, defined by designers who have increasingly decided
the systems are generally fast enough and the tasks tolerant of slight variations in reaction. In
these instances, stripped-down versions of the Linux operating system are commonly deployed,
although other OSes have been pared down to run on embedded systems, including Embedded
Java and Windows IoT (formerly Windows Embedded).

Characteristics of embedded systems


The main characteristic of embedded systems is that they are task-specific.

Additionally, embedded systems can include the following characteristics:

● typically, consist of hardware, software and firmware;


● can be embedded in a larger system to perform a specific function, as they are built
for specialized tasks within the system, not various tasks;
● can be either microprocessor-based or microcontroller-based -- both are integrated
circuits that give the system compute power;
● are often used for sensing and real-time computing in internet of things (IoT) devices,
which are devices that are internet-connected and do not require a user to operate;
● can vary in complexity and in function, which affects the type of software, firmware
and hardware they use; and
● are often required to perform their function under a time constraint to keep the larger
system functioning properly.

Structure of embedded systems

Embedded systems vary in complexity but, generally, consist of three main elements:
● Hardware. The hardware of embedded systems is based around microprocessors and
microcontrollers. Microprocessors are very similar to microcontrollers and, typically,
refer to a CPU (central processing unit) that is integrated with other basic computing
components such as memory chips and digital signal processors (DSPs).
Microcontrollers have those components built into one chip.
● Software and firmware. Software for embedded systems can vary in complexity.
However, industrial-grade microcontrollers and embedded IoT systems usually run
very simple software that requires little memory.
● Real-time operating system. These are not always included in embedded systems,
especially smaller-scale systems. RTOSes define how the system works by
supervising the software and setting rules during program execution.

In terms of hardware, a basic embedded system would consist of the following elements:

● Sensors convert physical sense data into an electrical signal.


● Analog-to-digital (A-D) converters change an analog electrical signal into a digital
one.
● Processors process digital signals and store them in memory.
● Digital-to-analog (D-A) converters change the digital data from the processor into
analog data.
● Actuators compare actual output to memory-stored output and choose the correct
one.

The sensor reads external inputs, the converters make that input readable to the processor, and
the processor turns that information into useful output for the embedded system.
A diagram of the basic structure and flow of information in embedded systems.

Types of embedded systems

There are a few basic embedded system types, which differ in their functional requirements.
They are:

● Mobile embedded systems are small-sized systems that are designed to be portable.
Digital cameras are an example of this.
● Networked embedded systems are connected to a network to provide output to other
systems. Examples include home security systems and point of sale (POS) systems.
● Standalone embedded systems are not reliant on a host system. Like any embedded
system, they perform a specialized task. However, they do not necessarily belong to a
host system, unlike other embedded systems. A calculator or MP3 player is an
example of this.
● Real-time embedded systems give the required output in a defined time interval.
They are often used in medical, industrial and military sectors because they are
responsible for time-critical tasks. A traffic control system is an example of this.

Embedded systems can also be categorized by their performance requirements:

● Small-scale embedded systems often use no more than an 8-bit microcontroller.


● Medium-scale embedded systems use a larger microcontroller (16-32 bit) and often
link microcontrollers together.
● Sophisticated-scale embedded systems often use several algorithms that result in
software and hardware complexities and may require more complex software, a
configurable processor and/or a programmable logic array.

Market and Business drivers for Mobile Application


The global mobile application market size amounted to USD 187.58 billion in 2021 and is
projected to grow at a compound annual growth rate (CAGR) of 13.4% from 2022 to 2030.
Applications for gaming, mobile health and fitness, music and entertainment, social networking,
retail and e-commerce, and other purposes are all contributing to the market of mobile
applications. The ubiquity of smartphones, rising internet usage, and the use of technologies like
artificial intelligence and machine learning in mobile applications all point to future growth in
demand for mobile applications (apps). Additionally, the aforesaid applications are typically
downloaded from application distribution websites like the Google Play Store and the App Store
for iOS.
The primary driver of market growth is the remarkable increase in Internet usage, particularly in
developing nations such as Brazil, China, and India. Over the past decade, the Internet has
materialized as the prime mode of communication via several gadgets, including tablets,
smartphones, and laptops, among others. The number of mobile app buyers has increased in
recent years due to growth in the e-commerce industry, various discounts, and offers, and product
assortment that is only available on e-platforms. The accessibility of low-cost data plans and
packages from telecom operators, which decreases the price of the internet and entices more
online users is another parameter accelerating mobile application downloads throughout all
platforms.
The increased internet penetration and gaming technology have continued to improve, resulting
in more accessibility to mobile games. Games such as Pokémon Go use sensors such as motion
sensors, gyroscopes, and accelerometers in tablets and smartphones to ensure the capability of
Augmented Reality (AR) and Virtual Reality (VR) on the mobile phone through various apps.
Moreover, primarily there are three revenue models, comprising in-game purchases, paid game
applications, and in-app advertisements that games and application developers follow.
With the growing popularity of mobile gaming, a survey study highlights that around 5 to 10% of
gamers are willing to pay for game applications, which is a double-digit increase from 2018.
Furthermore, it is a proven fact that once users approve the value of an application and have an
urge to unlock extended functionalities, they tend to perform more in-app purchases. Games like
Pokémon GO, Candy Crush Saga, and Clash of Clans are some gaming applications that earn
more through in-app purchases than any other revenue channel.
In the wake of the recent coronavirus (COVID-19) outbreak, the social media-, gaming-, and
entertainment-based applications had the highest number of downloads compared to other
applications. Furthermore, the demand for e-commerce, healthcare, and educational applications
has also witnessed strong growth. In educational apps, the shift to remote learning has provided
lucrative growth opportunities to several online portals and tech companies such as Google
Classroom, Zoom, and Microsoft Teams.
Store Type Insights

The Apple Store segment had the largest market share, accounting for more than 62.88 percent of
global revenue in 2021. The segment's high share is primarily due to iOS apps' relatively higher
rate of monetization for revenue generated by in-app purchases and premium apps. Additionally,
an increase in iPhone and iPad users globally is contributing to the segment's growth.
Furthermore, mobile game spending will account for a sizable revenue share in 2021.
Moreover, in terms of the number of downloads, the Google Play store segment accounted for
the highest share in 2021 and is anticipated to continue its dominance during the forecast period.
Also, there has been a massive growth in Android smartphone sales over the past few years, with
many new competitors such as OnePlus and Xiaomi Corp. challenging the existing and leading
players such as Samsung and iPhone. The emergence of new Android smartphone manufacturers
has led to the introduction of a wide range of mobile applications on Google's Play Store. The
introduction of a wide range of mobile applications, coupled with a huge consumer base ensures
a strong growth prospect for the Google Play store during the forecast period.
Application Insights

The gaming application segment of the mobile application market held the largest revenue share
of more than 42.94% in 2021. Furthermore, the segment is anticipated to continue its dominance
during the forecast period due to an unprecedented rise expected in the gaming population and
resultantly the number of mobile gaming applications in economies such as China and India.
Additionally, the three main Operating System (OS) platforms used to create mobile games are
iOS, Android, and Windows. The number of games downloaded on Android OS in 2019 was
large, but iOS generated more revenue because paid games are more prevalent.
To learn more about this report, request a free sample copy

The music and entertainment application segment is projected to exhibit a significant CAGR of
around 13.9% from 2022 to 2030. The segment includes music and entertainment applications
such as Netflix, HBO NOW, Tinder, Spotify, YouTube, Amazon Prime, and Hulu among others.
In the U.S., Netflix generated the highest revenue in the music and entertainment application
segment, followed by YouTube in 2018. There has been a massive increase in the usage of music
and entertainment apps on account of the growing popularity of streaming services. Live
streaming apps such as Netflix, YouTube, and Instagram enable users to broadcast live videos to
a broader audience as well as engage them on daily basis.
Regional Insights

North America dominated the market and accounted for over 31.83% of the revenue share in
2021. The high market share is accredited to the presence of several players in the region, such
as Apple Inc.; Hewlett Packard Enterprise; Google LLC; Netflix Inc.; and Microsoft
Corporation. High smartphone adoption, strong in-app consumer spending, and a relatively
higher number of smartphone application downloads have all resulted in a large market share. In
aspects of paid mobile games, in-app billing, and a rapidly increasing mobile app user base, the
U.S. is expected to rise as a hugely profitable market for mobile games applications.
The Asia Pacific is expected to emerge as the fastest growing regional market given the potential
the region holds in terms of internet penetration and smartphone adoption. India and China are
anticipated to remain the major markets, offering strong growth opportunities to all participants
across the mobile application ecosystem. Furthermore, growing disposable income coupled with
government initiatives such as Digital India is expected to favorably impact regional market
growth in the forthcoming years. Moreover, the availability of low-cost data usage packs and
advancements in networking are other key growth boosters in regional growth.
Reference:
https://www.grandviewresearch.com/industry-analysis/mobile-application-market#

Publishing and Delivering Mobile Application


Your mobile app should be available in exactly the places where the largest potential audience
resides. Currently, these places for Android and iOS are, respectively, Google Play and Apple’s
App Store.

An app’s whole potential, gorgeous user experience, and state-of-the-art functionality can all be
wasted if no significant user base is even remotely aware of its existence.

The application publishing process serves to make your app available to millions of potential
users.

Nowadays, there are thousands of apps released in the app stores every day. Because of this, you
have to stand out from the crowd. A successful app showcase requires a bit of a knack for
marketing and presentation. Fortunately, an experienced partner will surely guide you through
the whole process. Publishing an app is, after all, a vital part of the app development lifecycle.

Your app development partner should assist you in uploading your Android app to Google Play,
and your iOS app to the App Store. There are also a few other app stores, like Huawei’s App
Gallery. Nonetheless, there are still a few obligations that you as the App Owner should be aware
of.

Launch A Beta Version Of Your App

A beta version of any application can attract early adopters, which is an important step in taking
your mobile app mainstream. Early adopters provide a lot of beneficial feedback about your
application’s pros and cons. And their experience and rating can help you to understand the
acceptance of the app and the demand as well. This type of word-of-mouth marketing for your
mobile app will bolster its reputation, and help the admin to acquire even more users.

Launching Your App


You have designed the structure, tested, and developed your application. Now it is time to launch
it in the Google Play Store or Apple store.

How Can You Submit Your App In The App Store And Google Play Store?

To provide you an idea about the Apple Store submission processes, we are going to highlight
some basic submission processes.

​ Create an iOS profile & distribution certificate


​ For your app create an iTunes Connect record
​ Archive & upload your mobile app by Xcode
​ Configure your mobile app’s metadata and other details in the iTunes Connect record
​ Submit your application for review
​ Check on the app status

Let’s get an idea about the submission process of the Google Play Store:

​ Get your mobile app information ready


​ Upload the APK or mobile app bundle files for your application
​ Set your mobile app’s content rating
​ Set app’s pricing and
​ Set a distribution plan
​ Publish your application

Post Launch Activity

After launching your mobile app, the next and crucial step is marketing it. If people don’t get to
know about your app, then there is no chance of downloading it. To spread your app and
convince people to explore it, consider making attractive and informative videos that can show
your app’s functionality. And do not forget the potential of social media, use all digital platforms
to reach every corner of the world. It will deliver people a glimpse of your app and highlight the
key features that can simplify the need for life.

Reference: https://www.mindbowser.com/a-step-by-step-guide-to-mobile-app-development/

Requirements Gathering and Validation for Mobile Application


Market research shows you the real demand or interest of the market; accordingly, you can
modify your idea, and the research can give you a clear list of requirements that can help you
prioritize the work. Here the question, of course, is how to do market research the right way?
Check the step by step market research process here:

Here are some more advantages to doing market research:

● It helps you to maintain a better understanding of your customers


● Get a clear idea about your competitors
● Helps you assess your product carefully before launch
● Helps you define how you can reach the audience?
● Identify the business opportunities
● Get a chance to discover the feature list and demands of the users

Techniques describe how tasks are performed under specific circumstances. A task may have
none or one or more related techniques. A technique should be related to at least one task.
The following are some of the well-known requirements gathering techniques −
Brainstorming
Brainstorming is used in requirement gathering to get as many ideas as possible from group of
people. Generally used to identify possible solutions to problems, and clarify details of
opportunities.
Document Analysis
Reviewing the documentation of an existing system can help when creating AS–IS process
document, as well as driving gap analysis for scoping of migration projects. In an ideal world,
we would even be reviewing the requirements that drove creation of the existing system – a
starting point for documenting current requirements. Nuggets of information are often buried in
existing documents that help us ask questions as part of validating requirement completeness.
Focus Group
A focus group is a gathering of people who are representative of the users or customers of a
product to get feedback. The feedback can be gathered about needs/opportunities/ problems to
identify requirements, or can be gathered to validate and refine already elicited requirements.
This form of market research is distinct from brainstorming in that it is a managed process with
specific participants.
Interface analysis
Interfaces for a software product can be human or machine. Integration with external systems
and devices is just another interface. User centric design approaches are very effective at making
sure that we create usable software. Interface analysis – reviewing the touch points with other
external systems is important to make sure we don’t overlook requirements that aren’t
immediately visible to users.
Interview
Interviews of stakeholders and users are critical to creating the great software. Without
understanding the goals and expectations of the users and stakeholders, we are very unlikely to
satisfy them. We also have to recognize the perspective of each interviewee, so that, we can
properly weigh and address their inputs. Listening is the skill that helps a great analyst to get
more value from an interview than an average analyst.
Observation
By observing users, an analyst can identify a process flow, steps, pain points and opportunities
for improvement. Observations can be passive or active (asking questions while observing).
Passive observation is better for getting feedback on a prototype (to refine requirements), where
active observation is more effective at getting an understanding of an existing business process.
Either approach can be used.
Prototyping
Prototyping is a relatively modern technique for gathering requirements. In this approach, you
gather preliminary requirements that you use to build an initial version of the solution - a
prototype. You show this to the client, who then gives you additional requirements. You change
the application and cycle around with the client again. This repetitive process continues until the
product meets the critical mass of business needs or for an agreed number of iterations.
Requirement Workshops
Workshops can be very effective for gathering requirements. More structured than a
brainstorming session, involved parties collaborate to document requirements. One way to
capture the collaboration is with creation of domain-model artifacts (like static diagrams, activity
diagrams). A workshop will be more effective with two analysts than with one.
Reverse Engineering
When a migration project does not have access to sufficient documentation of the existing
system, reverse engineering will identify what the system does. It will not identify what the
system should do, and will not identify when the system does the wrong thing.
Survey/Questionnaire
When collecting information from many people – too many to interview with budget and time
constraints – a survey or questionnaire can be used. The survey can force users to select from
choices, rate something (“Agree Strongly, agree…”), or have open ended questions allowing
free-form responses. Survey design is hard – questions can bias the respondents.

You might also like