lOMoARcPSD|16960609
Unit 5 APP development
app development (Anna University)
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
UNIT-V
Comparison of Different Frameworks
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5.2 BUILD PERFORMANCE
Performance defined as how many simultaneous users or transactions the system is
to service and its response time. The performance itself is made up of multiple
factors: the device, server, network, and
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
how the app is programmed 71% of app Uninstalls are down to app crashes. 70%
of users abandon an app that takes too long to load.
Measuring your mobile app's performance at kp
different KP General app KPIs
General app KPIs can typically be tracked by anyone as they don't require a
technical understanding of mobile technology or development.
The importance of certain KPIs will differ according to the functionality and
objective of the app. For instance, subscription-only app won't worry about the
number individual downloads of the app in question. Rather, they concentrate on
user engagement.
General mobile app KPIs:
Downloads
• The success of a mobile app is often dire proportional to the number of
downloads it has.
• A social media app's twenty million downloads doesn't stand equally with
a paid subscription service's one million downloads, for instance.
User growth rate
• To properly measure the performance of your rate at which your user base is
growing to predict future growth.
• You simply calculate the number of daily active users over a given time
period and average them out.
Organic conversion rate
The organic conversion rate is the rate at which you're converting users through
non-paid channels like word-of-mouth, social media mentions, PR, organic search.
Paid conversion rate
leverage paid ads to reach your goals faster via From paid tweets to sponsored
Instagram posts,
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Uninstalls
If too many people are uninstalling, this can indicate an issue with your mobile
app's performance - an issue you should quickly.
Ratings
A high user rating means your users are sending your app useful and can also be a
sign that your user engagement is effective.
We will track negative reviews to be looking at in terms of improvements for your
functionality.
Reach vs impressions
Reach refers to the number of people who see your content while impressions
refer to the number of times your content was displayed.
UX and performance KPIs
To improve the performance of your app from a technical standpoint and make
changes that will improve the user experience.
Load speed
people expect lightning-fast loads and, for the most part, they receive them. If your
mobile app isn't toeing the line, you have to x the issue fast.
Screen resolution
Screen resolutions of your users is essential to ensure you're delivering an app
that works as designed for every user.
Crash reports
Apps will crash. Many devices, operating systems, and specifications to
comprehensively test every possible circumstance.
By keeping track of crashes, ensuring the functionality of your app going forward.
Devices
Peoples are they using tablets or smartphones? Are there more Andriod users than
iPhone users? Was any device used the most?
Operating systems
Knowing what operating system, a device is running is crucial to 昀椀xing known issues
like crashes.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
For example, if you're seeing more crashes from users with iPhones, this probably
means your app hasn't been properly optimized for iOS users.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5.3 APP PERFORMANCE
Mobile app performance refers to how well an app runs on a mobile device under
various loads and circumstances. It might require measuring how long an app takes
to load, mitigating crashes during peaks in user activity, or monitoring battery
usage.
1. Use a CDN to accelerate APIs
• APIs are responsible for communicating and displaying information
received from other applications.
• To speeds up an API's content delivery networks or CDNS come in.
• A CDN uses servers all around the world to accelerate API communication.
• In using an edge server that's close to the user in a geographical sense,
latency, round-trip time, payload, and size are all mitigated.
• Essentially the distance to the user is reduced, resulting in a boost to the API's
speed.
2. Optimize images
The bigger the image, the slower it will load - and the slower your app will
operate while trying to display it. Properly optimizing your images ensures this
load time is kept to a minimum.
Optimization can be looked at as a three-step process:
• Compression
• Resizing
• Caching
Compression is the process of encoding digital image information using fewer bits
to kepp load time is minimum.
Resizing images involves changing the resolution of the network into the device's
memory to fast the load time.
Caching is the practice of downloading images from a network into the device’s
memory fast the load time.
3. Cut down on super昀氀uous features
If a feature isn't essential to the app's performance, you should consider cutting it
for the betterment of your overall performance.
App to be fast and responsive, super昀氀uous features tend to bog apps down,
increasing the load time and slowing down performance.
4. Load data as you need it
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Loading all of an app's data at once is a quick way to slow or even crash it. split-up
assemblies to beak the data down into easily retrievable chunks.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5. Create an o昀툀ine mode
An app's o昀툀ine mode is designed to create a bu昀昀er for your information to be
safely housed in the case of a loss of network connectivity. It essentially means
reliability, security in information, and user ease of mind.
6. Optimize your code
Unoptimized code can lead to slower performance or even clean and compressed.
potential crashes so you want to make sure your code is clean and compressed
7. Test your app across multiple devices
To test your app across multiple devices. Device testing ensures your 昀椀nal
product will perform as designed no matter what device your user base is using.
8. Monitor crashes: Monitoring your crash reports will ensure you're across any
issues that may spring up once your app is live. Ensure they don't happen for the
same reason a second time.
9.Display a loading state
If your audience is simply staring at a blank screen while your app loads, they will
perceive the load time as longer than it actually .Displaying a loading state with a
colorful animation or helpful messages is a great way to help users tolerate the
wait.
10. Go native
App develop using native apps to make faster and more intuitive for the users. It
also gives you the ability to make full use of the device features such as GPS or
images, etc.
5.4 DEBUGGING CAPABILITIES
• Enable debugging.
• Start debugging. Attach the debugger to a running app.
• Change the debugger type.
• Use the system log. Write log messages in your code. View the system log.
• Work with breakpoints. View and con昀椀gure breakpoints. Debug window frames.
• Inspect variables. Add watchpoints.
• View and change resource value display format
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5.5 TIME TO MARKET
Time to market (TTM) refers to the amount of time it takes market. TTM is
measured in units of time. Depending for a product or application to be developed
and released to the type of product, you might perhaps measure it in months,
weeks, or days. Time to market is the period of time from product conception to it
being available for purchase or use. If you come up with an idea for a mobile app
today, the day it's ready to be downloaded on the Apple Store or Google Play will
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
mark your TTM.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Time to market is how long it takes for you to develop and launch a product.
App Type Estimated
time
Simple App 2-4 months
Development
Average App 4-6 months
Development
Complex App 9+ months
Development
Reducing time to market is a viable goal to strive for, as it brings a number of
desirable outcomes, including:
• Competitive advantage
• Reduced R&D costs
• Improved customer satisfaction
• Bigger market share
• Being able to look for new investors
Reduce time to market in product development:
1. Estimate required budget
Estimated the budget properly, and this can be tricky, to a point where you can't even
deliver an MVP.
2. Reduce scope and build an MVP
Detailed project scope is de昀椀nitely needed but on the other hand, sticking to it too
rigidly may prevent you from testing the feasibility of your idea in the real world
and collecting valuable feedback.
3. Follow agile development process
Agile product development is a widely assumed methodology allowing teams to
work e昀케ciently, respond to any changes in requirements that may occur, and
deliver quality products on time, meeting end-user needs. The agile framework
involves the following:
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• De昀椀ne the product vision and goal
• Create a product backlog
• Plan and prioritize
• Plan a sprint
• Develop and test
• Review
• Rinse and repeat
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Time Taken UI/UX Design Alpha Test Beta test Example
Small App 2-3 weeks 6-7 weeks 1 Week Business cards
Mid Size App 5-6 weeks 14-15 Weeks 2 Week Online
stores,
Booking
systems
Big Size App 9-10 weeks 20-22 Weeks 3 Week Social media
Factors That Impact the Development Timeline
• The Complexity of an Idea
• The Precise Requirements
• The Accuracy of the Final Result
• The Business Expertise
Importance of Time to Market
• Lower costs
• Increase potential market share
• Increase
revenues Time to
Market Examples
So昀琀ware - TTM in this industry may be anything from half a year to up to 昀椀ve years,
depending on the complexity of the product. For example, the 昀椀rst version of Airbnb
launched in 10 months.
Cell phones - cell phones commonly have a TTM measurement of between one and
three years.
Vehicle manufacturing industry - the TTM for cars tends to be somewhere
between three and 昀椀ve years.
Energy products and services - in this sector, TTM can start out at the low end at
approximately seven years. It can increase to 20 years for some types of products
and services.
Pharmaceutical sector - in this area, time taken is typically from around nine to
ten years up to 19 to 20 years. Covid-19 vaccines were the exception to this rule,
due to tremendous international pressure.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Aerospace and Defense industry - in this sector the time frame can range from
anywhere between three or four years up to 22 years.
Impact of Delayed Time to Market
• Loss of potential revenue
• Missed opportunities for market share
• Decreased customer satisfaction
• Increased competition
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5.6 MAINTAINABILITY
Mobile app maintenance refers to the entire process that is followed to ensure a
bug-free and seamless working mobile The app maintenance process includes
monitoring, 昀椀xing, re昀椀ning, and updating the elements that can provide a user
experience.
The progress of an app not only depends on the higher number of app downloads.
Instead, a large number of active users speci昀椀es the success of a mobile app.
According to a survey, around 56% of users uninstall mobile applications within 7
days of the installation period.
Types of Mobile App
Maintenance 1.Perfective
Maintenance
Perfective maintenance is a process that considers those feedbacks. It also
involves some functional modi昀椀cations in the source code to provide a perfect
user experience to the active users. When the targeted user uses the app, speci昀
椀c new user requirements are discovered.
2. Preventive Maintenance
Preventive maintenance is the intervention that aims at reducing or eliminating
the occurrence of errors. It improves the maintainability and understandability
factor.
3.Adaptive Maintenance
Adaptive maitenence is concerned with updating the system to keep it
informed with the changing software or hardware environment.
4.Emergency Maintenance
Emergency maintenance takes care of unexpected errors and problems that plague the
system.
5.Corrective Maintenance
Corrective maintenance involves repairing of residual errors and faults in the daily
app functions. These errors are errors in coding, designing, and logic.
High maintainability practices
• Fix issues or add new features without introducing new bugs.
• Improve performance or other attributes.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Adapt to a changing environment e昀케ciently. On-board new developers quickly.
• Have a minimal impact on other components because of change to one
component.
• Establish test criteria e昀昀ectively and e昀케ciently.
Best practices to build an easily maintainable application
• App Support
• Keep Updating the User Interface
• Add New Features
• Performance Monitoring
• Bug Fixing
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Check Licenses
• Scheduled System Maintenance
• Eliminate Dependencies To Clear Technical Debt
• Balance Modularization And Re-Usability
• Incorporate Automation
• Adopt Test Driven Development
• Incorporate Automation
• Create API And Method-Level Documentation Bene昀椀ts of App Maintenance
Bene昀椀ts of App Maintenance
• Better User Experience
• Maintains Brand Image
• Minimizes Uninstalls
• Keeps Up the Competition
• Financial Bene昀椀ts
5.7 EASE OF DEVELOPMENT
Making the experience of your mobile app superior for your users, its ease of
deployment is equally important.
What to identify before developing a mobile app?
• Decide on your operating system
• Know your target audience
• Concept proof your app idea
• Know what's out there
• Plan your app design and security
Steps to guide for start on developing a new mobile app:
1. Establish a team
2. Conduct competitive research 2.
3. App Development
4. Outline core features
5. Plan app security
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
6. Begin coding
7. Perform multiple tests
8.Gather and implement
feedback
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
9. Launch in the app store
1. Establish a development team
Developing an app has become easier with software programs and online tools
such as app builders. Form a team of individuals with various backgrounds and
expertise.
The app development process is best done with group of people and
greatly bene昀椀t Building a distributed team with top independent talent.
Instead of being limited to your knowledge or con昀椀ned by geographic lines,.
To get started, look to Upwork to 昀椀nd the best mobile app developers for your
project.
At a minimum, your app development team should include a:
• Product manager
• UX/UI designer.
• Mobile developer
• Quality assurance analyst
• Digital marketer
Conduct competitive research
• Make your product stand out to competitor features
• Find apps produced by your competitors.
• outline competitors where fallen short.
• Gauge speci昀椀c insights into what customers like
• What you should do di昀昀erently to solve problems.
• Get user feedback to 昀椀nd their needs.
• develop features giving your app an edge.
Outline core features
Features of App include:
• missing from the market
• your target users are searching for what.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Develop key features that other development teams have neglected.
• intuitive
• easy to navigate
• personalizable
• simple to use.
• good image resolution
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• speed
• compatibility with both OS.
• search option to keep users engaged
• push noti昀椀cations
• social media linking
• opment
• Incorporate new features or updates once the app is live
• active and engaged users.
4. Create mockups
A mockup is a detailed outline of the appearance of the app with user interface
(UI) and UX designer. It is glimpse how about the app look and operate for
development team.
Mockup includes
• cohesive color scheme
• typography
• images, basic layout
The advantages of a mockup include:
• Allows the development team to revise the app's appearance.
• If you're seeking potential investors, it shows them before the development team
begins coding.
• Explains the expectations for the development team.
5. Plan great app security
• Preventing cybercriminals from stealing user data.
• A single breach of the app causes loss of users and potentially millions of dollars.
Ensure the mobile app and mobile platform are both secure through:
• Encrypted data and Authorized APIs
• Strong authentication
• Tamper-detection software
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Constant testing for potential breaches
6. Begin coding
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Front-end development refers the code what the end-user will see.
• Back-end development refers code, which dictates how the app functions.
• Using an Agile methodology of project management can be useful
allowing for e昀케cient, adaptable and 昀氀exible coding.
• Test environment to check 昀椀nal app. Test environment considerations
include the database server, front-end environment, operating system and
network.
• bug reporting tool used to ensure accurate and granular test data.
7. Perform multiple tests
• To develop a successful app skip rigorous testing when the project is
on a tight budget, quality assurance (QA). QA helps teams ensure the
app is ready to enter the market.
• To identify any bugs and quickly make improvements to the app
before going live to customers.
QA team think about when testing include:
Front-end vs. back-end functionality:
For the front end, does the mobile app look like it's supposed to from the
user side of things? For the back- end, does the app function as it's supposed
to? For example, if a pop-up message is supposed to disappear when the
user clicks on it, does it? Is the little "X" to
click it away properly displayed?
• App integration.
• Application type.
• Installation and storage.
• Security optimization.
Gather and implement user feedback
• Development team should have based features on customer needs.
• Feedback from who doesn't know the app can help provide invaluable user
feedback to ensure it is ready for many users with di昀昀erent experience
levels.
• Testing the app with various users should give your development team a better
understanding
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• One way you can gain feedback after the launch of the app is by looking at
analytics.
• To help your development team understand customer behavior and identify
any confusing areas for modi昀椀cation.
• To help the team make adjustments to the application before the market launch.
• Once the app is live, it's a good idea to continue receiving feedback so you
can make necessary updates and adjustments as needed.
Launch in the app store
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Developers may only focus on releasing their app to the Google Play Store or
Apple App Store.
5.8 UI/UX
User Interface (UI) design what you see when you use an application. A user
interface (Mobile UI) allows users to interact with the device's apps, features,
content, and functions. Ulconsists of the visual representation, interface,
navigation, and processes that work behind the functional and structural actions in
the mobile app.
User experience (UX) appearance and function of the app, while UI is all of the
interaction in the application.
Types of User Interfaces
1. Splash Screen
2. Onboarding
Screen 3.Home
Screen
4. Login and Pro昀椀le Screens
5. App Screens
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Best Mobile-app Design Examples
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Bumble
• Starbucks
• Venmo
• Whatsapp and Airbnb
Ten rules of good UI design
• Match between system and real world
• User control and freedom
• Consistency and standards
• Error prevention
• Recognition rather than recall
• Flexibility and e昀케ciency of use
• Aesthetic and minimalist design
• Recognize, diagnose, and recover from errors
• Help and documentation
• Visibility of system status
Eight golden rules of interface design
• Strive for consistency
• Enable Frequent Users to Use Shortcuts
• O昀昀er Informative Feedback
• Design Dialog to Yield Closure
• O昀昀er Simple Error Handling
• Permit Easy Reversal of Actions
• Support Internal Locus of Control
• Reduce Short-Term Memory Load
UX vs UI
UX design UI design
Human-昀椀rst approach to product’s Human-昀椀rst approach to design the
design aesthetic experience of a product.
Process of building products Process of transformation
Process of transformation that wireframes into attractive and
provide great user easy to use interfaces.
Experience
Focused on users and their journey Focused on visual and interactive
through the
product.
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
Aims to improve the user Aims to create attractive, Simple
interaction and experience of to use and scalable products.
simple to use and scalable
products. Example: Uber, Spotify, Paybal,
Bigbasket
Example: ASOS, Evernote, Tumblr
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
5.9 REUSABILITY
Reusability refers building a new app (mobile and web) using pre-existing components.
Common features of all app to reuse of code:
1. Build a mobile app design repository componentizing the functions that can be
reused.
Common features like:
• Registration
• Login / Login Help
• Pro昀椀le
• Location Services
• Search
2. De昀椀ne the requirements for common mobile app functions at a parent level.
• Password changes
• Managing User Sessions bong
• Managing User Pro昀椀les
• Search Behavior
• Location Services
• Push Noti昀椀cation Handling
3. Build a framework library of these common functions for integration into the app.
• Authentication and Authorization
• Geo-Location Functions
• Maps Functionality
• Managing User Pro昀椀les
• Photo and Video Capture via the device camera
.
4.Use the existing backend components and infrastructure to provide the
data that drives the app.
5. Build a test suite that handles common test scenarios across all your mobile apps.
• Memory Testing
• App Impact on Battery Life
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• App Performance for Geo-Location Scenarios
• Testing App on Multiple OS, Screen Sizes and Resolution
Bene昀椀ts of Reusable
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)
lOMoAR cPSD| 16960609
• Quicker development/testing
• Deal with less code at once
• Makes bug tracing easier
• Reduces size of app install
Downloaded by Udhaya Varshini (udhaya75sankar@gmail.com)