- Features and functionality of the web application
- Complexity of the application
- Phase-wise development plan
- Development team size
- Platforms selected to develop the app
- Technology stacks selected
- Estimated project timelines
Table of Contents
- Web Application Development Process
- Web Application Development Validation And Deployment
- Web Application Development Trends
- The Future of Web Application Development
- Cost of Web Application Development
- Top 5 Web Apps that Revolutionized the World
- What Can A Web Application Do for Your Business?
- Why develop your Web Application with Fingent
- Most Common Q&As on Web Development
What is a Web Application?
A decade ago, web pages were mostly static, with a few images and videos scattered around. In 2005, thanks to Ajax, it made it possible to create better, faster, and more interactive web applications.
A web application, also known as a web app, is nothing but a computer program that uses a web browser to perform a specific function. A web application is a client-server program that comprises a client-side and a server-side. The user enters data through the client-side (front-end), while the server-side (back-end) of the application stores and processes the information. For example, shopping carts, content management systems, and online forms are typical web applications.
Both enterprises and individuals develop web applications to fulfill different purposes. Web apps help integrate the tailored experience of native apps with easy access on a website browser from any device. For example, LinkedIn, Basecamp, MailChimp, or even Facebook, have web apps that provide immersive and tailored experiences like the native apps directly from the browser. Hence, web application development is gaining a lot of popularity in almost all industries, including banking, eCommerce, education, healthcare, and more.
How does a Web Application Work?
Web applications are accessed over a network and need not be downloaded. Instead, users can access web applications through browsers like Google Chrome, Mozilla Firefox, Opera, or Safari.
A web application is built around three components- a Web Server, an Application Server, and a Database. The web server manages requests from the client, the application server processes requests, and the database stores the information.
A typical web application workflow looks like this:
Web apps are generally coded using JavaScript, HTML5, or Cascading Style Sheets (CSS) for the client-side programming (front-end). ASP.NET, PHP, Java, and Ruby are commonly used for server-side programming.
What is Web Application Development?
Web application development refers to the process of using client-side and server-side programming to develop an application that is accessible over the web browser.
The web application development process begins by; first, the developer trying to find a solution to a specific problem, then designing the web app by choosing the appropriate development framework. Next, the developer tests the solution and finally deploys the web app.
Types of Web Applications
Now that we’ve covered the various aspects of web applications let’s deep dive into the different categories of web applications. Web apps are classified based on their functionalities, tools, and technologies.
Static Web Application
Dynamic Web Application
eCommerce Web Application
CMS Web Apps
Portal Web Application
Single-Page Application
Multi-Page Application
Rich-Internet Web Applications
Progressive Web Apps
Static Web Application
Static Web Application
A static web application does not involve any interaction between the user and the server. It directly displays the content to the end user’s browser without fetching any data from the server-side. Static web apps are built using simple HTML, CSS, and JavaScript to display relevant content. In some cases, GIFs, videos, and animations are also used to attract and engage visitors. Static web apps are pretty simple and easy to manage.A company website or a person’s portfolio website are examples of static web applications.
Dynamic Web Application
Dynamic Web Application
A web application that interacts with the client and generates real-time data based on user requests is called a dynamic web application. It includes various interactive elements and functions to engage the visitor. Dynamic web applications are substantially more complex and intricate on a technical level. A wide range of programming languages are used for building dynamic web applications, and the most common ones are PHP and ASP.NET.An example of a dynamic web application is Facebook, where you can login easily and communicate with your friends seamlessly.
eCommerce Web Application
eCommerce Web Application
A web application in the form of a store or shop that promotes buying or selling anything online is classified as e-commerce. This web application requires some core features like electronic payment integration, transaction integration, an effective management panel for administrators (listing/updating/deleting products and managing orders/payments), and a personal cabinet for users. eCommerce apps are centered around technologies like electronic payment gateways, inventory management systems, mobile commerce, supply chain management, and the internet market.Some popular eCommerce websites include Amazon, eBay, Walmart, Swiggy, Zomato, etc.
CMS Web Apps
CMS Web Apps
A content management system (CMS) software lets users create, manage, and modify content on a website without possessing any technical knowledge of web programming or markup languages. CMS is popular for its usage in personal blogs, corporate blogs, media sources, etc. The most commonly used content management systems are:- WordPress: This is the most popular and trusted choice among individuals and professionals for developing a website. There are numerous plugins, themes, and online tutorials available to build unique and intuitive websites without the backup of any technical support.
- Joomla: This is an open-source CMS platform and comes next to WordPress. It comes with an intuitive interface that helps users create, manage, and modify content on a website and blogs.
- Drupal: A free CMS with an adaptable interface for building up online communities. Individuals widely use it for personal blogs, online news pages, media, corporate blogs, professional blogs, etc.
Portal Web Application
Portal Web Application
Portal web apps refer to applications that allow authenticated and authorized user access to a company’s data repository. Portals are best suited for businesses and enterprises that let users create a personal profile and include various details such as chats, emails, and forums to publish content. Only members of the portal can solely access data. Whenever a user signs in to the portal, the service provider keeps track of the user’s website activity. There are various types of web portals often associated with different industries.Education Portals, Student Portals, Employee Portals, Banking Portals, Patient Portals, etc., are examples of portal web apps.
Single-Page Application
Single-Page Application
Single Page Application or SPA is a dynamic application that empowers visitors to communicate within a browser with no hindrances at a pace. User requests and responses occur effectively and faster than conventional web applications because SPA executes logic on the internet browser rather than the server. The SPAs are relatively simple and easy to build and debug while deploying.For instance, while browsing your email app, the headers and sidebars stay intact while accessing your inbox. Most social network sites, email services, online video/audio players benefit swiftly from single web applications and agility. Gmail, Paypal, Netflix, Twitter, Google Maps, etc., implement single-page applications.
Multi-Page Application
Multi-Page Application
Multi-page applications or MPAs consist of multiple pages and reload the entire page from the server whenever a user navigates to a different page. MPAs are built using different languages such as HTML, CSS, JavaScript, AJAX, jQuery, etc. These applications are worthwhile for their scalability with no page limits and provide vast information about company products or services.Examples of MPA s include catalogs, web portals, business web applications, and online stores.
Rich-Internet Web Applications
Rich-Internet Web Applications
Rich Internet Applications is an application with many of the same features and appearances as a desktop application. It primarily has a lot of functionalities and is more engaging and faster than standard web-based applications. They rely upon customer-side plugins because of their browser limitations. These applications are built using tools like AJAX, Java, JavaFX, Adobe Flash, Adobe Flex and can be used offline as well. Rich-internet web apps are visually appealing and provide a great user experience.Google docs, Youtube, Google maps are popular examples of rich-internet web applications.
Progressive Web Apps
Progressive Web Apps
Progressive web applications (PWA) are the most popular and well-developed types of web applications that look similar to mobile applications. They are also known as cross-platform web applications, which use the latest browser APIs and progressive enhancement methods to offer a native mobile app experience. The primary goal of PWA is to enhance the speed and versatility of web applications in the face of slow internet connections.Some notable examples of progressive web applications are MakeMyTrip, Forbes, OLX, Starbucks.
Web App vs. Websites
Web applications are indeed websites. Users can access both via web browsers, and both require access to the internet. It may seem that there’s no difference between them. However, the lines between a website and a web app are blurred. Web application development differs substantially from website development. Here’s a simplified rundown on the differences between a website and a web application.
Web Application
- A web application is dynamic and is designed for user engagement.
- A web application is interactive and responds to user input.
- Web applications mostly require authentication.
- The functions in a web application are quite higher and more complex.
- The web application needs precompilation before deployment.
- Integration with other software for web applications is complex.
Website
- A website basically contains static content.
- A website is a one-way informational feed and does not allow user interaction.
- Authentication is not obligatory for informational websites.
- The functions of a website are relatively simple.
- A website does not need not be pre-compiled.
- Integration is hassle-free for websites.
Web Apps vs. Mobile Apps
While web apps and mobile apps are similar in many ways, both are different in many ways. Mobile apps are made exclusively for mobile gadgets and are suitable for Android, iOS, and cross-platform operating systems. Usually, mobile apps are mobile-first, meaning they work effectively on smartphones, tablets, or other handheld mobile devices. Most mobile apps work offline too. Examples include Google Maps, Amazon Kindle, Uber, etc.
On the other hand, web apps function only with internet connectivity. A web app functions in real-time in a web browser with CPU resources. With adequate internal storage, mobile apps can be downloaded from the app store or play store.
Benefits of Web Application Development
Web application comes along with an array of benefits for businesses and users.
Speed and cost
Web application development is faster and more economical than building native apps. Therefore, if the primary goal is to accelerate time-to-market, web application development is the best choice for businesses.
Cross-platform capabilities
Web applications are programmed to run on any operating system. Due to their cross-platform capabilities, web applications can adapt well to Android, iOS, Mac OS, and Windows phones. In addition, the device responsiveness of web applications helps to get rid of OS dependencies.
Browser compatibility
A web application runs on the device’s browser using an accessible URL. Modern web applications are compatible with all browsers, such as Google Chrome, Internet Explorer, Firefox, and Bing. Hence, software compatibility challenges are never roadblocks.
Reduced operating costs
Web application development is a great way to cut down operating costs. It drives to eliminate unnecessary expenses such as hardware purchases, frequent device updates, and maintenance of numerous systems.
Easy to update
Updating web applications is easy, as only the server(s) would require upgrades.
Customization
Custom web application development offers several benefits, such as tailored features for the users. These applications are easily accessible via browsers with a stable internet connection. Custom web apps help cut unnecessary expenses and save time as only required features need to be developed. A custom web app can significantly improve your business traction brand awareness, communicate your brand ideology and help you gain a competitive edge in the chosen target market.
Expanded Security
Web applications are typically deployed on dedicated servers, constantly monitored, and managed by experienced server administrators. This is more effective than monitoring hundreds or even thousands of client computers, as with desktop applications. In addition, it ensures tighter security and identifies any potential breaches that could slip off.
Zero downloads
Web apps don’t need to be downloaded from app stores such as Apple’s App Store or Google Play. This helps save money since having a direct link through a web app is free.
Technology Stack for Web Application Development
The following web development technologies enable the creation of high-performing, fast, and advanced web applications.
1. Database Technologies
2. Client-Side Programming
3. Server-Side Programming
1. Database Technologies
Due to its simplicity and multifunctionality, MySQL is
one of the most preferred databases utilized for web application development.
Other popular database technologies include Oracle Database, PostgreSQL,
Microsoft SQL Server, Microsoft Access, MongoDB, and RavenDB.
2. Client-Side Programming
To develop the client-side of an app that the users interact with, you can choose
highly efficient front-end JavaScript frameworks such as
React JS
This is a robust and widely used JS framework for developing large-scale and complex dynamic web apps.
Angular JS
A popular front-end framework by Google, Angular JS is suitable for building dynamic web apps, using HTML for static web pages.
Vue JS:
Fairly new, this JS framework does wonders for applications. Vue JS provides an ecosystem of assisting libraries and an accessible primary library for applying huge complex page apps.
Backbone JS
This lightweight JS library has a RESTful JSON interface that follows the MVC (Model-View-Controller) application design standard. Backbone JS helps develop and structure the client-side applications in a web browser.
Node JS:
It is a cross-platform, open-source JS runtime that runs on the V8 engine and is designed to build scalable network applications.
Ember JS:
An open-source JS framework ideal for developing single-page applications.
3. Server-Side Programming
Frameworks such as Go, Ruby, Java, Django & Python are some of the most
powerful back-end development technologies.
Ruby
Ruby is an open-source, general-purpose, object-oriented programming language used to build highly secure and fast web applications.
PHP
PHP is a popular general-purpose scripting language that is fast, flexible, and pragmatic, suited especially for web development. It is a powerful tool for making dynamic and interactive websites.
Java:
A multi-purpose programming language, Java is leveraged for Android app development, desktop apps, and web app development. Java offers excellent security and stability.
Django & Python:
Python is flexible, advanced, and has a low learning curve. This programming language covers back-end web development. Python, along with its framework Django, can meet back-end development tasks efficiently.
Go:
Designed by Google’s developers, Go is an open-source programming language that is fast and statistically compiled. It helps build simple, reliable, and concurrent web applications.
Web Application Development Process
Whether you decide to develop your web application in-house team or outsource to a company like Fingent, your project will be more successful if you understand the process involved in web application development in advance.
The number of steps in the web application development process can vary.
The first step is to define the problem you want to solve with a web application and collect all the relevant information needed for app development. A well-defined problem will give an excellent head-start to the project and help you identify the best solution. Next, clarify the purpose and the end goals of the application.
During the planning phase, the developers will take a run to answer the following questions.
- What app do you want to build?
- What features and functions should it include?
- What is the audience of your product?
The development phase involves creating a wireframe or prototype to communicate the solution to target users.
First, the developers will lay out the design elements to provide a delightful user experience to the target audience. The wireframe is then presented to potential users, considers their feedback, and iterates until they're satisfied.
Post-design, the next step is to build the application. The following steps will happen in this phase.
- To create a database for storage, the developers need to determine what data and data types are required for the application to perform well.
- Based on the elements approved by the users during the wireframing process, developers will create the front-end application. The developers need to identify the best frameworks for front-end development.
- Developers will create interaction between the user and the server.
- Developers either code from scratch or use front-end and back-end frameworks to develop the web app.
- Based on the application type, that is, client-side/ server-side/ single-page, programming is done.
Whether an automated or manual web application, testing for the web application is an ongoing process throughout the software development lifecycle. Testing is an inevitable part of the software development process.
The Testing (QA) team will test the app for usability, compatibility, functionality, security, and performance to eliminate bugs and ensure that the application works without any glitches.Testing also helps identify any possible improvements and upgrades to make in the future.Once the testing is complete, you can finally implement the application in your company or your customer's side.
When using it for your company, you will have to train your employees to use the app productively (if the app requires training). In addition, you will have to create a communication strategy for customers and decide on the appropriate timing to launch the application in the market.
At Fingent, we help you perform all the mandatory software and usability testing to ensure that your web app functions seamlessly. We also provide training and support to use the apps effectively.
You must buy a domain and choose a hosting provider to create a server location for the app. We help you choose shared hosting, dedicated hosting, or cloud hosting based on your requirements. Be it a simple website or complex web application, and every digital product needs routine checks and enhancements. Maintenance of the application or website includes:
- Ongoing QA testing
- Bug fixes and improvements
- Addressing changes and adding features based on user feedback
- Providing regular updates and technical support
Web Application Development Validation And Deployment
Once your web app is developed and ready to be launched, it is critical to perform testing to ensure that the application functions correctly before its deployment. Bug fixing alone is not sufficient. Therefore, testing is vital to web application development.
A standard web application undergoes the following testing,
After completing the quality assurance process, your web app is ready for launch. You can use GitHub, Beanstalk App, and Bitbucket App to deploy the web app to your servers. Any new features, changes, and improvements to the deployed application are implemented according to the user’s feedback.
Web Development Trends for 2022
Web development has progressed over the years and is progressing with the emergence of newer technologies. A website is the face of a business rather than mere codes. More than one-third of visitors prefer to hold on to websites with attractive content and a clean layout. In 2022, companies are more than ready to apply the latest web development trends to improve conversions and develop engaging websites without having to code. If you want to stay ahead, it is vital to focus on the latest trends, updates, techniques, and web development approaches. Why developers should bring out more innovative web development approaches- the fact is it boosts business growth rather exponentially and globally.
Apps For Multiple Domains With .NET CoreBuilding Exceptional Apps With C#Enterprise Web Applications With ASP.NETMicrosoft Azure Cloud ServicesEnhance Collaboration With SharePoint DevelopmentStreamline Processes With PowerAppsBusiness Analytics Service Using Power BI Universal Windows Platform (UWP)Windows Presentation Foundation (WPF)Business Intelligence With SQL ServerHighly Responsive Applications With Cosmos DB
The Future of Web Application Development
The web development industry is in flux and is constantly evolving. Therefore, it is paramount for us always to look ahead and learn about what's coming up or any risk being left in the web development dust. Web development is defined through the upcoming trends and changes in the digital world. Businesses around the globe are in a quest to build outstanding websites to up their online presence with all-new frameworks, tools, and advancements. If you want your business to stay ahead of the race, the smartest thing u can do is to try out innovative and experimental things like Augmented Reality (AR) or Artificial Intelligence. Here's a quick glance at some of the exciting developments likely to happen in the near future.
Smarter Apps with Data Science
Data Science is impacting web development positively. Data science helps extract significant user information on a large scale using statistics, analytics, artificial intelligence, and machine learning. Using the extraction of meaningful information, web development is now guided into a more fruitful system to impact the business's bottom line. With data science and machine learning, you can target the right customers with personalized content at the right time within your application.
Augmented Reality
Product visualization is the most sought-after requirement among today's customers. Augmented reality has the potential to change the shopping game. Most online shoppers prefer shopping sites to integrate some form of augmented reality for a personalized experience. AR experiences in different ways are the key for customers to become more engaged in various platforms and the digital world overall. The future is not too far, where AR experiences will move into the mainstream and cease to be viewed as a niche technology.
Pageless Websites
Pageless website is a new-age concept that takes an alternative choice on web design. The entire contents of a website are displayed on a single page with an endless scroll instead of having multiple pages. With responsive elements, guided narrative, and intuitive scrolling, users can surf the entire contents of the website with ease.
Metaverse
The Metaverse is the new kid on the block that seeks to bring together many different technologies to offer users a new web experience. Today, users view content on the web. But on the Metaverse, users will be immersed in the content. Thanks to technologies like Virtual Reality, Augmented Reality, Machine Learning, and other forms of Artificial Intelligence. Metaverse is the next iteration of the internet where users can navigate through a virtual space instead of the current two-dimensional screen.
Cost of Web Application Development
The cost of a complicated and custom web application development process would again differ from pre-defined, packaged, and general-purpose applications. For example, suppose the app requires developing APIs and plugins or complex technical stacks, separate UX/UI elements, brand identity development, etc. In that case, the pricing will go up as the advantages are humongous.
Top 5 Web Apps that Revolutionized the World
A polished web app is almost a mandate for successful digital businesses today. Many apps have changed the public's perception of what they can expect and what is possible. It includes everything a typical user might look for in an app regarding design, usability, reliability, and security. Here's a rundown on five apps that has made a difference to the world.
Facebook is a free social networking website that allows people to connect with others online. It lets users share photographs, post comments, post links to interesting content on the web, live chat, and watch videos. Facebook's success is attributed to its ability to appeal to both people and businesses and its ability to interact with websites around the web by providing a single login that works across multiple sites.
WhatsApp is a free, multi-platform messaging app that lets users make video and voice calls, send text messages, share their status, and make payments, all with just an internet connection. The most appealing feature of this app is that it works on various phones and computer operating systems, which bestows uninterrupted conversations anytime, anywhere. WhatsApp serves more than 2 billion people in over 180 countries, with over a billion daily active users.
Uber is a transportation company that has developed an app to allow passengers to hail a ride, and drivers get paid. The app integrates with Google maps for tracking locations, routes and directing people to their destination. Uber uses smartphone app technology to connect passengers and drivers via a car-for-hire method. Most people love the simplicity of opening the app, telling where they want to go, and then seeing an Uber driver show up in a matter of minutes.
Instagram is a free, popular photo-sharing app that Facebook acquired in 2012. It allows users to edit and upload photos and short videos through a mobile app. Like other social networking platforms, Instagram users can like, comment, share and bookmark others' posts. It also includes a feature of private chats and video conferencing with friends.
TikTok is a social media platform that allows users to create and share short videos. A young crowd commonly uses the app as an outlet to express themselves through singing, dancing, comics, and lip-syncing, making fun videos and sharing them across a community. In addition, users can follow other users, like, and comment on other users' videos. TikTok app quickly soared to popularity and amassed over 500 million monthly active users, the US being the most popular country where it is downloaded over 80 million times.
What Can A Web Application Do for Your Business?
With the internet being commonplace for most modern-day businesses, web applications are a quintessential tool for better growth in their market share. If you need to bring your company or business before the right users, the secret is to be found online with a creative and engaging web application. Web applications are of paramount importance than official websites when it comes to winning business goals and generating profits. Let’s explain the different areas a web application can help your business.
-
1
First Point of Engagement
-
2
Boost Online Brand Visibility
-
3
Improve Customer Loyalty
-
4
Easily Customizable and Scalable
-
5
Enhanced Customer Support
A web application is the first point of access to your business and brand for your customers. Your app is the place that reflects what you do, your services, products, and your reputation. You can stand out from your competitors by having a web application that looks interesting and clearly communicates quality information to your customers. Therefore, hiring a professional web application development company is judicious to understand your vision and shape the application accordingly.
A company or business without a web app or website may question the legitimacy of the business. So, having an app is an opportunity to build a great first impression and give people assurance that you’re a genuine business.
Web applications play a crucial role in the branding process of a business. Showcasing your brand to your prospective customers is the key to positioning your business in the market. A web application is an underlying framework for branding your products or services because branding acts as the bridge to maintain a proper communication channel between potential customers and your business.
Clearly conveying to the customers who you are, what you provide, and what your brand represents raises your business popularity coupled with building a customer base. A web application is your brand's voice that reaches out to the world through multiple social media platforms.
Your app is one of the most powerful assets for helping business owners improve customer relationships and increase efficiency. In addition to showcasing your offering or describing who you are, your application is one of the key tools for connecting with your existing customers and keeping them engaged. In order to create customer loyalty, you need to give your customers a reason to return.
Web applications come in handy with a lot of scopes to build customer loyalty programs to win customers’ hearts. Even simple changes to your app can go a long way toward building your brand and encouraging more customers to use your app frequently. Your application can be the key to increasing customer loyalty, a critical piece of the puzzle.
As your business expands, your web applications need upgrades. Off-the-shelf applications are neither flexible nor scalable, limiting their capabilities. Custom web applications are developed specifically to suit your business requirements. It is completely scalable and flexible, harmonizing with your business growth and demands. Custom applications grow with your business without any hassles of switching to new applications or extra license purchases. Moreover, the advent of cloud-native apps further enhances the flexibility and scalability of applications by adding more value to the business.
The prompt and user-friendly customer support offered by web applications becomes more approachable and less intimidating for customers. So, the users of the app feel more comfortable with the company and are likely to stick on for a long time.
Web apps help to create an engaging space for customers to interact with brands and provide a dedicated space to track and manage all the customer support queries. The beauty of web applications is that they can be accessed at any time from any location. Hence, providing any customer assistance is never an obstacle.
Why develop your Web Application with Fingent?
Web application development is a mandate for your organization to lead the digital space and reach out to more customers in the future. Fingent provides a wide array of software development services from software customization to building Web, Mobile, Enterprise, and Cloud applications across various industries.
Fingent is a high-end custom software development company that has been helping businesses -small and large- across the globe with innovative solutions. We help build your brand, increase your brand identity, promote your products and services to help you gain a competitive advantage.
Explore our range of services.
Our web application development services are specifically designed to help you meet your goals, considering your business infrastructure and key facets of your industry.
18+
Years of Experience
8
Centers of Excellence (CoE)
800+
Completed Projects
Transparent Project Management
500+
Qualified Professionals
Dedicated QA Practices
Most Common Q&As on Web Development
While both are good at their place, most people prefer the single-page website. This is because a single-page website offers ease of interaction and access compared to a Multi-page website.
If your business has a lot to do with queries and solutions or customer interactions, it is recommended you get a chat window.
For quality web application development, you should include both to help you avail more benefits. A combination of frameworks and pure codes will work as it will take less time and ensure quality development.
Some of the renowned web app development technologies are:
- Models:
HTML, XSL, XML - Animation: AJAX, Flash, jQuery UI, ActionScript, JavaScript
- Databases: MS SQL, MySQL, Microsoft Access, SQLite, Oracle, PostgreSQL
- CMS: WordPress, Drupal, Joomla, Kentico, Sitecore, Sitefinity, Sanity
- Programming: C#, PHP, ASP, ASP.NET, ASP.NET+MVC, Python, Ruby, Django, Go
- Payment Systems: PayPal, Assist, MoneyBookers, SMS, OSMP
The choice to outsource or hire in-house solely depends on your specific business situation.
Hiring an in-house developer will ensure that you have complete control over the entire development process, which is definitely great for some businesses. But it also calls for long preparation time and extra expenses. On the contrary, outsourcing cuts down costs and avoids hiring new employees altogether – which can be very useful if you are short of time or money.
If your outsourcing partner is a reputable and experienced agency, you can rest assured that they will care for all your web development needs without sacrificing quality.
Hiring an in-house developer will ensure that you have complete control over the entire development process, which is definitely great for some businesses. But it also calls for long preparation time and extra expenses. On the contrary, outsourcing cuts down costs and avoids hiring new employees altogether – which can be very useful if you are short of time or money.
If your outsourcing partner is a reputable and experienced agency, you can rest assured that they will care for all your web development needs without sacrificing quality.