0% found this document useful (0 votes)
23 views56 pages

Key Factors in Mobile App Development

Chapter Two discusses the essential factors in developing mobile applications, including target audience, platform choice, and functionality. It emphasizes the importance of concept proofing, visual design, scalability, and the role of mobile engineers. Additionally, it covers various mobile app frameworks and tools, highlighting their features and benefits for app development.

Uploaded by

willwellworld23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views56 pages

Key Factors in Mobile App Development

Chapter Two discusses the essential factors in developing mobile applications, including target audience, platform choice, and functionality. It emphasizes the importance of concept proofing, visual design, scalability, and the role of mobile engineers. Additionally, it covers various mobile app frameworks and tools, highlighting their features and benefits for app development.

Uploaded by

willwellworld23
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

CHAPTER TWO

FACTORS IN DEVELOPING MOBILE APPLICATIONS


2
Outline
Factors in Developing Mobile Applications
3

 Mobile application development is the set of processes and


procedures involved in writing software for small, wireless
computing devices, such as smartphones and other hand-held
devices
 Points to consider during Mobile App Development
 Decide whether the app is for Apple, Android, or both?
 You should first begin with figuring out your target
audience.
 This will decide whether you should go for an Android-
based or an Apple-based application.
 This aspect also determines the cost to build.
Cont’d…
4

 If you are targeting a mammoth market comprising of


mostly middle-class folks, then Android is your calling.
 Maximum people use Android.
 Therefore this is the choice of companies who want to
sell to a mass market that can easily download the app
on Android.
 The affluent section of people uses Apple; therefore, if
you sell something extravagant that only the rich can
afford like a car insurance app., that is undoubtedly an
Apple-based app opt for an Apple-based app.
4 Main Factors To Consider When Developing
A Mobile Application
5

1. Concept Proofing
 Before you start developing your application, it is important
to consider all aspects of your concept.
 It is thus better to study the market and apps that are similar to
your concept and consider how your app will be different and
unique.
 A key factor of concept proofing is functionality.
 Mobile app developers can later add features to the application
to increase functionality.
 Another factor to consider is if the app solves user problems.
 However, does your app actually provide solutions to this problem or meet user
needs?
2. Mobile Platforms and Database
6

 You may be aware that there are two main types of


apps; iOS and Android.
 Creating an app for only one platform will exclude a
significant portion of your target audience and a mobile
application development company will encourage making the
app accessible on these two main platforms.
 For this, you can use cross-platform frameworks to ensure
your app is compatible on both iOS and Android.
 A speedy database is essential to mobile app development and
a few factors to look at are data structure, speed, scalability,
and accessibility and security of data.
3. Visual Design
7

 If the design of your app is not visually pleasing, users


may consider alternative apps even if your app has more
features.
 This is why it is vital that you focus on the design of your
app.
 One of the factors to keep in mind is that your content is
your interface, which means that you should remove any
unnecessary elements.
 Using a single input field is also something a web
application development company like Codelantic would
recommend as it negatively affects user experience
4. Scalability
8

 Finally, consider what you want your app to be in the


future.
 Is there room to make changes to the app so that it does
not turn into an outdated concept?
 A scalable app accommodates an increase in users
smoothly without the user experience getting affected.
 A seamless user experience is essential to the users.
 When you work on scalability, you consider the
possibility of crashes and downtime issues, errors,
failures, and any outages.
9
Mobile Software Engineering
 Mobile engineers design, develop, and implement
software programs for smartphones and other mobile
devices.
 They often specialize in a certain type of operating
system, such as Android or iOS.
 They use data-driven insights to guide development
of programs and apps that fill a user need.
 They create specifications and detailed plans, write
code, oversee testing and debugging, and play an
active role in the rollout and launch.
Cont’d…
10

 Mobile engineers typically have at least a bachelor’s


degree in computer science IT or other related field.
 They generally have a background in engineering or
computer programming.
 Proficiency with common programming languages is
required, and experience with automated testing tools on
a mobile platform is helpful.
 In the field of mobile applications, we primarily develop
apps and programs for the following platforms:
 iOS
 Android
Frameworks and Tools
11

What is a Mobile App Framework?


A mobile app framework is a software creation platform

that includes tools and software, compilers, debugging


tools, and programming interfaces, among other things.
Thus, a developer creates the application’s source code

and the framework and uses various elements to generate


the application for the different mobile devices.
Types of Mobile App Frameworks
12

 Android, iOS, as well as Windows are just a few of


the digital devices available.
 Mobile applications come in a variety of shapes and
diverse sizes.
 We’re not speaking about specific app areas like
purchasing or games.
 However, in terms of how applications work on a
smartphone, mobile apps may be divided into three
categories.
Native Apps
13

 They are designed for specific operating systems such as


Android, iOS, and Windows.
 Apps make use of device features such as RAM,
camera, GPS, and so on.
 Web Apps
A Web app is software that is kept in a distant location
and distributed via the Web using a browser interface.
 Emails, online shopping sales, auction sites, weblogs,
instant messaging apps, and other web apps are popular.
Hybrid Apps
14

 Hybrid apps are essentially web apps that have been


put in a native app shell
 Once they are downloaded from an app store and
installed locally
 the shell is able to connect to whatever capabilities
the mobile platform provides through a browser that's
embedded in the app.
 Native apps are the highest-quality applications in
respect of both aesthetics and functionality.
Top Mobile App Development Frameworks in 2022
15

 Below are some Modern mobile app development frameworks.


These can be very helpful for both android and iOS users.
 React Native
 React Native, built and supported by Facebook, is an
accessible, cross-platform application development
framework that has quickly become the preferred option of
programmers.
 React Native facilitates the development of Android and iOS
mobile applications.
 The most exemplary instances of React Native apps are those
from prominent businesses like Tesla, Airbnb, Skype, or
Amazon Prime.
Cont’d…
16

 The major appeal of React Native is because it enables


quicker development and implementation.
 Reusable elements, interaction with third-party
extensions, plus component-based GUI creation for
front-end apps are further important characteristics of
React Native.
 Features of React Native –
 Exceptional performance

 Components that can be reused

 Compatibility with third-party extensions


Flutter
17

 Flutter is an open and free framework from Google


that allows you to create native Android and iOS
applications with a simple codebase.
 It’s a ground-breaking SDK for cross-platform
application development, which distinguishes it
because it takes a novel way of creating native-like
apps.
 It’s an unrivaled and dependable smartphone UI
framework for swiftly developing attractive apps by
accelerating development.
Cont’d…
18

 Flutter is a comprehensive and precise framework that contains


widgets, a rendering engine, debugging and integrating APIs, and
resources to assist developers in creating and deploying beautiful
mobile applications.
 Flutter has been used by a number of well-known
organizations, including Google and Abbey Road Studios.
 Features of Flutter –
 More rapid development.
 Cross-platform.
 Visuals that are both appealing and engaging.
 Performance that is pretty similar to that of a native
Xamarin
19

 Xamarin is an alternative cross-platform application


development framework for developing applications
for Android and iOS.
 Because they employ the C# programming language,
the applications need fewer lines of code.
 As a result, the process of coding is quicker.
 Also, it allows us to rapidly transfer the scripts across
other systems, such as Windows and macOS.
 However, Xamarin-based apps deliver flawless native
functionality about quality and efficiency.
Cont’d…
20

 Features of Xamarin –
 Rapid Advancement
 Appearance and touch of a native app

 Compatibility with a variety of devices

Ionic
 Ionic is an explicit framework for crafting Progressive Web

Apps (PWAs), hybrid, and cross-platform mobile applications.


 Ionic is an accessible framework that uses Apache Cordova

(PhoneGap) plus Angular to enable programmers to create


Android and iOS applications that seamlessly operate together.
Cont’d…
21

 The framework aids developers in creating solid and


feature-rich native apps.
 The most prominent feature of Ionic would be that it lets
programmers employ various UI components in the
application framework, including filtration, inputs, views,
easy navigation, and actions sheets.
 Features of Ionic –
 App development for many platforms.
 The user interface is consistent.
 Enhanced performance.
 The flexibility of the user
jQuery Mobile
22

 This particular framework is utilized to craft supple web portals


that can function on different platforms, comprising smart
phones, tablet devices, and PCs, utilizing JavaScript and HTML.
 jQuery Mobile is available in two varieties: a customized
framework as well as a stable version.
 Features of jQuery –
 It works well with PhoneGap and other mobile app

development frameworks.
 The size is limited.

 PI compatibility is both comprehensive and straightforward.


Onsen UI
23

 Onsen UI is known as the most effective tool when it


comes to formulating complicated mobile applications.
 It is one of the best and leading technologies for
mobile application development.
 The technologies used to Develop Mobile App creates
brilliant HTML apps with JavaScript, HTML, and
CSS.
 It also helps the libraries like Angular JS1, Angular 2+,
Reacts, and Vue.
Cont’d…
24

 This platform has competency in the app’s formation


depending on the platform.
 Its collection of UI elements includes tabs, stack
navigation, lists, forms, etc.
 With version 2, Onsen UI has evolved as JavaScript
framework-agnostic, meaning developers can build
mobile apps with or without any JavaScript framework.
 Onsen UI is an open-source framework that turns it
easy to develop native-feeling Progressive Web Apps
(PWAs) and hybrid apps.
Cont’d…
25

 The essential archive is written in pure JavaScript and is


context skeptical, which means you can use it with your
favorite framework and its tools.
 The mechanisms are optionally auto-styled based on the
platform, which makes it possible to support both iOS and
Android with the same source code.
 Features of Onsen UI:
 Zero time to set up

 Straightforward to use and learn

 Time-effective and cost-efficient development

 Explicit grid layout

 Platform, rotation and gesture detection


Generic UI Development
26

 A good User Interface (UI) focuses on making user’s


interactions simple and efficient.
 User would appreciate a website with intuitive user
interface that leads them towards their task in most
engaging way.
 Being a UI designer, one need to understand the goals,
skills, preferences and tendencies of the user to make a
better interface.
 The Generic User Interface (Generic UI, GUI) framework
allows you to create UI screens using Java and XML.
Cont’d…
27

Figure The Structure of Generic User Interface


Cont’d…
28

 The application screens consist of the following


parts:
 Descriptors – XML files for declarative definition

of the screen layout and data components.


 Controllers – Java classes for handling events

generated by the screen and its UI controls and for


programmatic manipulation with the screen
components.
Cont’d…
29

 These interfaces are implemented using the


Vaadin framework components.
 Visual Components Library (VCL) contains a large
set of ready-to-use components.
 Data components provide a unified interface for
binding visual components to entities and for
working with entities in screen controllers.
 Infrastructure includes the main application window
and other common client mechanisms.
Android User
30

 Android is the most popular operating system in the


world, with over 2.5 billion active users spanning over
190 countries.
 Created by Andy Rubin as the open-source alternative to
iPhone and Palm OS, Android quickly became the
favorite operating system for most mobile manufacturers
in the early 2010s.
 With titans of the industry such as Samsung, LG,
Motorola and HTC all launching phones running
Android, it quickly became the most popular mobile OS,
hitting over one billion active users by 2014.
Cont’d…
31

 Android has added more users every year since inception.


 Even though in more mature markets user growth has
stagnated, Android has continued to grow at a remarkable rate
through its popularity in developing countries.
 Mobile OS 2022 market share.
Cont’d…
32

 User interface (UI) design is the process designers


use to build interfaces in software or computerized
devices, focusing on looks or style.
 Designers aim to create interfaces which users find
easy to use and pleasurable.
 UI design refers to graphical user interfaces and other
forms—e.g., voice-controlled interfaces.
 User interfaces are the access points where users
interact with designs.
Cont’d…
33

 They come in three formats:


 Graphical user interfaces (GUIs)—Users interact with
visual representations on digital control panels. A
computer’s desktop is a GUI.
 Voice-controlled interfaces (VUIs)—Users interact with
these through their voices. Most smart assistants—e.g.,
Siri on iPhone and Alexa on Amazon devices—are
VUIs
 Gesture-based interfaces—Users engage with 3D design
spaces through bodily motions: e.g., in virtual reality
(VR) games.
Cont’d…
34

 To design UIs best, you should consider:


 Users judge designs quickly and care about usability and
likeability.
 They don’t care about your design, but about getting their
tasks done easily and with minimum effort.
 Your design should therefore be “invisible”: Users shouldn’t
focus on it but on completing tasks: e.g., ordering pizza on
Domino’s Zero Click app.
 So, understand your users’ contexts and task flows (which
you can find from, e.g., customer journey maps), to fine-tune
the best, most intuitive UIs that deliver seamless experiences.
Cont’d…
35

 UIs should also be enjoyable (or at least satisfying and


frustration-free).
 When your design predicts users’ needs, they can
enjoy more personalized and immersive experiences.
 Delight them, and they’ll keep returning.
 Where appropriate, elements of gamification can make
your design more fun.
 UIs should communicate brand values and reinforce
users’ trust.
 Good design is emotional design.
Cont’d…
36

 Users associate good feelings with brands that speak to


them at all levels and keep the magic of pleasurable,
seamless experiences alive.
 A user interface can be judged by three main properties:
 Ease-of-use; how easy it is to use a certain user interface
 Efficiency for inputting information; how fast information
can be input through the user interface
 Efficiency for outputting information; how fast the user can
process the information coming back from the system
VUIs and Mobile Apps, Text-to-Speech
37

 Technique Voice user interfaces are user interfaces


that are used through speech.
 Typical examples of voice user interfaces include
smart speakers and voice assistants.
 Voice UIs employ speech recognition and natural
language understanding technologies to transform
user speech into text and meaning.
 Speech is a tool for enhancing traditional touch user
interfaces into multimodal voice user interfaces
Cont’d…
38

 Voice user interfaces are highly intuitive as they use the


most natural way for us to communicate:
 They are significantly faster than typing to input
information but significantly slower than reading or seeing
to output information from the computer system back to
the user.
 The first voice user interfaces were IVR, Interactive Voice
Response, systems that enabled users to interact with a
phone system by using speech.
 Typically, IVRs recognized only digits, but nonetheless
they were early voice user interfaces
Cont’d…
39

 Current voice user interfaces can be a lot smarter and


can understand complex sentences and even
combinations of them.
 For example, Google Assistant is perfectly fine with
something like "Turn off the living room light and
turn on the kitchen light".
 However, as these smart speakers always wait until the end
of the user utterance and only then process the information
and act accordingly, they will fail if the user hesitates with
their speech or says something wrong.
Designing the Right UI
40

 In mobile app development, the UI (user interface)


and UX (user experience) play the most significant
roles in a mobile app’s success.
 From the perspective of a designer, an exceptional UI
for mobile app can only be ensured when you follow
some tried and tested UI design principles.
 It is always advisable to stick to certain principles
that are accepted by the designers’ community.
Cont’d…
41

 Such UIs not only attract the user, but also help in
retaining them in the long run.
 Check the UI principles listed below:
 Consistency of the design layout: Different sections
of the app must be coherent in the design, and there
must be a consistent flow of the layout throughout
the app.
 Apps like Evernote, Netflix, and Dropbox deliver
great consistency in their design layout.
Cont’d…
42

 Unambiguous Interactive Elements:


 The design elements that are interactive in nature must be
clearly depicted.
 Ambiguity should be avoided to make sure that the users
are going to access such elements when required by
them.
 Options hidden in menus may sometime be forgotten.
 Several surveys and studies have revealed that
conspicuous menu options are not good for mobile apps.
 At least, the key navigation elements must be visible.
Cont’d…
43

 Single Trial Learning Experience:


 The term ‘Intuitive’ is often used to describe mobile apps
when suggesting that they are very user-friendly.
 Actually, this word means that users understand the flow of
the app without remembering the steps.
 Options should be placed in a manner where users can infer
what the next step would be.
 Anticipate and Answer Users’ Queries:
 When a user’s tap a button, they want to know whether the process
has started and how long will it take.
 As technology abstracts these actions, the users are usually kept in
the dark while the process is going on.
Cont’d…
44

 Use Toast in Android and notifications in iOS so users will be notified


when a process has completed.
 The Gmail app is a good example of such a design, as it displays
messages like “saved in draft, message sent, etc.” to inform the users
about the completion of the task.
 Layered User Experience:
 The UX should be layered.
 Layered here refers that all the features of an app must not be exposed at
once.
 It should surface out as the users delve deeper into the app and discover new
things. This would help in keeping the users’ interest intact for a longer
time.
 WhatsApp offers a good layered experience as users explore new features as
they go deeper into the app
Design an interface for a mobile app with
more chances to succeed.
45

1. Uniqueness
 There is no point in creating something that already
exists, and it is the same with mobile app design.
 Your app should definitely have a number of advantages,
but presenting them the right way is another story.
 Take Clear, for example, it is a to-do list, but its interface
fundamentally differs from all other to-do lists.
 There are no buttons and there’s no navigation menu, just
tasks.

Cont’d…
46

 Users can only navigate and interact with the app


with the help of gestures, which was their unique
feature.
 Uniqueness is one of the most important mobile

design principles and that is why it stays on the first


place in our list.
2. Structure
Cont’d…
47

 User interfaces for mobile applications should be


organized in such a way that users will find it helpful
and meaningful.
 Make sure similar items are grouped together and
users won’t spend tons of time trying to find what
they need.
 You also need to keep in mind that the number of
features and sections should not overwhelm the user,
so be ready to sacrifice some less relevant features.
3. Contexts
48

 Some apps can be used only on the go, others can be used in a
relaxed atmosphere, and some apps can be used in both situations.
 Context seriously affects mobile user interface design, such as a
bigger font, highlighted buttons, and only vital content.
 On the other hand, the interface can be entertaining and full of
engaging options.
 Before moving on, you need to find out in what context your app
will be used and then build the interface according to this
information.
4. Gestures
49

 Gestures allow users to navigate apps intuitively. Gestures can also add
some gamification and may help you gain particular audiences, like
teenagers.
 Mobile devices are designed for gestures, so try to get the most out of
it and become a source of inspiration for other apps.
 Simultaneously, try use gestures that are familiar to your users and
keep in mind how your users will be handling their device and in what
context.
 Let’s say if the user is holding the handrail on a public transport with
one hand and trying to work an app with the other hand, it might be
annoying if there are no other gestures but to pinch to expand, since
this gesture requires two hands.
5. Tolerance
50

 App interface design should be created in a way that


if some options come up along the way, the system
would suggest by default such variants that will be
most beneficial to the user.
 Make sure your app allows users to undo certain
actions and there are notifications showing that some
changes will be made and can be undone.
 Tolerance means allowing users to make mistakes
and giving them the opportunity to revoke changes.
6. Consistency
51

 If there are several elements serving one and the same purpose in
the app, they should look and function the same way. No
exceptions.
 Changing one element means changing all other variants.
 If there are several styles of “submit” buttons on different pages, it
can be frustrating and the app would look messy.
 Consistency means tidiness and it is certainly a must-have in every
app, which is why in the majority of mobile app design companies
there’s a rule to create a UI kit for every project.
 This includes all elements of the app, and it becomes easier to
follow the consistency principle with a UI kit.
7. Communication
52

 The core idea here is to let users know your app registered
the action and processing it even if it is not possible to give
an immediate result.
 When the user performs a certain action, it can be
considered an act of communication with your app, which
is why the app should respond with something.
 Sometimes even the loader sign can be enough.
 From a psychological perspective, people need to get
acknowledgment for their actions, and it is especially
important in the banking sphere
Cont’d…
53

 Design of right UIs


Multichannel and Multimodal UI
54

 One of the breakthroughs users can benefit of is that


automatic speech recognition (ASR) improved highly
significant over the last years.
 ASR now works good for dictation tasks.
 However, dictation is a highly specific use case
which does not require the extraction of semantics
from the utterances.
 Some applications use speech input for form filling.
However, filling each single slot by speech is often
not more efficient then typing.
Cont’d…
55

 The question arises: What are important challenges in


using speech as a “mainstream” modality?
 While ASR made significant efforts within the last years,
 e.g. partly driven by the successful application of deep
neural networks, the identification of the intended
semantic for a further processing by the dialog manager
is still a rather difficult process.
 ASR capabilities are easy to integrate into new user
interfaces by making use of available programming
APIs.
Cont’d…
56

 On the technical side one of the next challenges is


therefore to realize conversational speech interaction in
many applications.
 This requires to simplify the usage of NLP methods for
information extraction, dialog processing and presentation,
so that developers can easily deploy speech interfaces.
 Since the Internet is mobile nowadays and conversational
speech is the most convenient interaction mode of
complex applications that require more than simple
gestures, this will enable even more services at the hand of
the users.

You might also like