UNIT-V
Comparison of Different Frameworks
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
how the app is programmed71% 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 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,
Uninstalls
If too many people are uninstalling, this can indicate an issue with your mobile app's performance - an
issue you should fix quickly.
Ratings
A high user rating means your users are finding 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 fix 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 fixing known issues like crashes.
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.
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 superfluous 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, superfluous features tend to bog apps down, increasing the load time
and slowing down performance.
4. Load data as you need it
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.
5. Create an offline mode
An app's offline mode is designed to create a buffer 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 final 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 configure breakpoints. Debug window frames.
Inspect variables. Add watchpoints.
View and change resource value display format
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 mark your TTM.
Time to market is how long it takes for you to develop and launch a product.
App Type Estimated time
Simple App Development 2-4 months
Average App Development 4-6 months
Complex App Development 9+ months
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 definitely 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 efficiently,
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:
Define the product vision and goal
Create a product backlog
Plan and prioritize
Plan a sprint
Develop and test
Review
Rinse and repeat
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
Software - TTM in this industry may be anything from half a year to up to five years, depending on the
complexity of the product. For example, the first 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 five
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.
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
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, fixing, refining, 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 specifies 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
modifications in the source code to provide a perfect user experience to the active users. When the
targeted user uses the app, specific 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.
Adapt to a changing environment efficiently. On-board new developers quickly.
Have a minimal impact on other components because of change to one component.
Establish test criteria effectively and efficiently.
Best practices to build an easily maintainable application
App Support
Keep Updating the User Interface
Add New Features
Performance Monitoring
Bug Fixing
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 Benefits of App Maintenance
Benefits of App Maintenance
Better User Experience
Maintains Brand Image
Minimizes Uninstalls
Keeps Up the Competition
Financial Benefits
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
6. Begin coding
7. Perform multiple tests
8.Gather and implement feedback
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 benefit
Building a distributed team with top independent talent.
Instead of being limited to your knowledge or confined by geographic lines,. To get started, look to
Upwork to find 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 specific insights into what customers like
What you should do differently to solve problems.
Get user feedback to find 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.
Develop key features that other development teams have neglected.
intuitive
easy to navigate
personalizable
simple to use.
good image resolution
speed
compatibility with both OS.
search option to keep users engaged
push notifications
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
Constant testing for potential breaches
6.Begin coding
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 efficient,
adaptable and flexible coding.
Test environment to check final 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 different experience levels.
Testing the app with various users should give your development team a better understanding
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 modification.
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
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 Profile Screens
5. App Screens
Best Mobile-app Design Examples
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 efficiency 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
Offer Informative Feedback
Design Dialog to Yield Closure
Offer 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-first approach to product’s design Human-first approach to design the aesthetic
experience of a product.
Process of building products Process of Process of transformation wireframes into
transformation that provide great user attractive and easy to use interfaces.
experience
Focused on users and their journey through the Focused on visual and interactive
product.
Aims to improve the user interaction and Aims to create attractive, Simple to use and
experience of simple to use and scalable scalable products.
products.
Example: Uber, Spotify, Paybal, Bigbasket
Example: ASOS, Evernote, Tumblr
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
Profile
Location Services
Search
2. Define the requirements for common mobile app functions at a parent level.
Password changes
Managing User Sessions bong
Managing User Profiles
Search Behavior
Location Services
Push Notification 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 Profiles
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
App Performance for Geo-Location Scenarios
Testing App on Multiple OS, Screen Sizes and Resolution
Benefits of Reusable
Quicker development/testing
Deal with less code at once
Makes bug tracing easier
Reduces size of app install