Web Design and App Design: The Complete Guide to Digital UX

The digital landscape is no longer divided by rigid boundaries between websites and mobile applications. Today, the convergence of web design and app design demands a unified approach to crafting digital experiences that are not only visually stunning but also deeply intuitive and highly functional. Whether building a complex enterprise web application or a streamlined mobile tool, modern designers must master the shared methodologies of UI/UX, leveraging robust design systems and iterative user-centered workflows. This comprehensive guide explores the core principles, strategic processes, and technical integrations necessary to design seamless, responsive, and performance-optimized digital products that captivate users across every device and platform.

In this article

  1. The Convergence of Web Design and App Design
    1. Websites vs. Web Applications: Defining the Functional Divergence
    2. The Role of Creative Website UI Design in Driving User Engagement
  2. Core Principles of UI/UX in Digital Product Design
    1. Grid Systems, Visual Hierarchy, and Layout Composition
    2. Color Theory, Contrast, and High-Performance Typography
    3. Micro-Interactions, Animation, and Gamification Techniques
  3. The User-Centered Design (UCD) Process
    1. User Research, Persona Creation, and Discovery Sessions
    2. Information Architecture, Wireframing, and Interactive Prototyping
    3. Mapping and Optimizing Critical User Flows
  4. Scalability, Performance, and Platform Integration
    1. Building Design Systems and Component Pattern Libraries
    2. Responsive Layouts, Core Web Vitals, and Technical Handoff

The Convergence of Web Design and App Design

The boundary between traditional web design and mobile application design is rapidly dissolving as digital ecosystems evolve into highly interconnected, multi-platform experiences.
Today's users do not view an organization's marketing website and its mobile application as separate entities, but rather as different entry points to the same brand. Consequently, modern digital product design requires a highly unified approach. Designers can no longer work in silos, creating a desktop web interface without considering how those visual assets, interactive behaviors, and core brand values translate to a native smartphone interface. Establishing a shared design vocabulary ensures that whether a user is browsing a public-facing page or managing their data within a secure portal, the ecosystem feels instantly familiar and highly reliable.
Focus on the modern user's expectation of device-agnostic continuity. A user transitioning from a desktop marketing website to a mobile application should experience no cognitive friction or visual misalignment, ensuring intuitive navigation across all screen sizes.
Despite this need for visual harmony, designers must carefully navigate the distinct architectural goals inherent to each medium. Traditional web design has historically focused on content delivery, emphasizing information hierarchy, readability, and discoverability to educate and engage visitors. Conversely, application design is fundamentally rooted in task completion and interactive utility. Applications are dynamic tools designed to guide users through complex, multi-step workflows. Bridging these two worlds requires a delicate balance: web environments must adopt more fluid, app-like interactivity, while application interfaces must retain the clear structural communication and accessibility standards native to the web.

Websites vs. Web Applications: Defining the Functional Divergence

Understanding the fundamental distinction between informational websites and dynamic web applications is essential for any designer looking to build effective digital products.
At their core, traditional websites are designed primarily for consumption. Their structural focus lies in information architecture, readability, and discoverability. A standard website acts as a digital brochure or archive, where the primary objective is to convey value to the user through content, such as articles, brand storytelling, or contact information. These interfaces prioritize logical navigation menus and static layouts that ensure content is accessible and engaging for a wide, often passive, audience.
Attribute Informational Websites Dynamic Web Applications
Primary Objective Content Consumption Task Execution
Interaction Level Low (Reading/Browsing) High (Input/Manipulation)
Data Handling Static/Read-Only Real-Time/Interactive
User Workflow Path-based exploration Goal-oriented processes
State Management Minimal Complex and persistent
In contrast, web applications are sophisticated digital tools built for interaction. Unlike a static page, a web app requires complex state management, meaning the interface changes significantly based on user input, session history, and real-time data processing. Designers approaching web app projects must pivot their strategy toward workflows. This involves mapping user interaction loops, such as data entry forms, dashboard manipulation, or transactional flows, where the success of the experience is measured by the efficiency with which a user completes a specific task rather than the amount of time spent reading text.
By correctly identifying whether a project serves as an informational platform or a functional application, designers can align their UI/UX strategies with the specific technical and behavioral needs of the end user.

The Role of Creative Website UI Design in Driving User Engagement

Creative website UI design serves as the bridge between functional utility and emotional connection, transforming standard interfaces into immersive digital experiences that captivate users from the first click.
Effective UI design goes beyond mere decoration; it acts as a silent navigator that guides the user through the brand narrative. By leveraging custom layouts that break away from rigid, cookie-cutter templates, designers can create unique visual rhythms. These bespoke compositions allow for more sophisticated storytelling, ensuring that the brand personality is woven into the very structure of the page rather than being treated as an afterthought.
Intentional negative space is perhaps the most powerful tool in the designer’s arsenal for enhancing engagement. By providing content with room to breathe, UI designers can eliminate visual clutter, which reduces cognitive load and allows the user to focus on what truly matters. When negative space is used strategically, it acts as a frame, drawing the eye toward primary conversion points, such as subscription forms or primary product showcases, without the need for intrusive, aggressive design elements.
Dynamic brand elements—including custom iconography, fluid motion graphics, and integrated video content—add a layer of depth that keeps users visually stimulated. To achieve this without compromising usability, designers must maintain a strict visual hierarchy. By manipulating size, color contrast, and proximity, designers can orchestrate the user's scanning pattern. This ensures that even in highly creative interfaces, the user intuitively understands which interaction is expected next, guiding them naturally from interest to action.
By balancing bold creative expression with user-centered logic, modern website UI design creates a frictionless path that keeps users engaged, informed, and ready to convert.
Understanding this convergence is essential for creating digital experiences that are both informative and highly functional, regardless of the platform your users choose.

Core Principles of UI/UX in Digital Product Design

Establishing a cohesive set of design principles is critical to creating digital products that captivate users while functioning flawlessly across different screen sizes.
Visual hierarchy serves as the invisible guidepost of any digital interface, dictating the order in which a user processes information. By leveraging grid systems, strategic whitespace, and size contrast, designers can direct attention to key call-to-action buttons or vital pieces of content. Utilizing established reading patterns, such as the F-shape for content-heavy web layouts or the Z-shape for landing pages, ensures that the structure matches natural human scanning habits, thereby lowering cognitive load right from the first interaction.
Seamless navigation is another non-negotiable tenet of effective product design, working to eliminate friction and prevent user disorientation. Whether designing a bottom tab bar for a mobile application or a persistent navigation menu for a desktop web application, the navigation scheme must be clear, predictable, and highly functional. Ensuring that users can accomplish their desired tasks with a minimal number of steps directly correlates with higher engagement rates and a significant reduction in abandonment.
Color theory and typography form the aesthetic and accessible backbone of web and app design, directly influencing user perception and readability. Selecting a harmonious color palette not only reinforces brand identity but also establishes visual cues, provided that sufficient contrast ratios are maintained to satisfy global accessibility standards. Simultaneously, robust typographic systems ensure that text scales beautifully across devices, utilizing proper line-heights and font hierarchies to make complex data easily digestible.
Dynamic micro-interactions and subtle feedback animations act as the digital glue that makes an interface feel alive and highly responsive. Elements like animated loading states, button-press feedback, and smooth page transitions acknowledge user inputs in real-time, validating their actions and reducing perceived wait times. These micro-moments of delight transform static layouts into interactive experiences, enhancing overall usability without distracting from the main user goals.
Ultimately, the success of a digital product rests on its ability to balance striking visual appeal with strict functional efficiency. An extraordinarily beautiful layout that suffers from confusing controls, sluggish performance, or hidden options will inevitably drive users to abandon the platform in favor of simpler, faster alternatives. By placing functionality and aesthetic harmony on equal footing, designers create intuitive digital spaces that minimize user drop-offs and maximize overall user satisfaction.

Grid Systems, Visual Hierarchy, and Layout Composition

Mastering layout composition is essential for creating digital experiences that are both visually balanced and highly functional.
The foundation of effective web and app design lies in the implementation of robust grid systems. These frameworks provide a skeletal structure that ensures consistency across varying screen dimensions. Modern design relies heavily on flexible methodologies like CSS Grid and Flexbox, which allow designers to move beyond rigid, fixed layouts toward fluid structures that adapt dynamically to the user's viewport. By utilizing these responsive frameworks, designers can orchestrate content placement, ensuring that elements maintain their intended relationship whether viewed on a handheld device or an ultrawide desktop monitor.
Once the grid is established, visual hierarchy guides the user's eye through the interface in a logical, intentional order. This is achieved through the strategic application of size contrast, where critical actions or headings are scaled to dominate the user's attention. To manage content consumption, designers must align their layouts with natural human scanning behaviors. Most users navigate content through F-shaped patterns—scanning across the top and down the left side—or Z-shaped patterns, which are particularly effective for landing pages that lead toward a single call to action.
Beyond movement patterns, effective composition relies on whitespace, alignment, and spatial distribution. Proper use of negative space prevents cognitive overload and clarifies the relationships between disparate UI elements. By strictly adhering to an alignment grid, designers eliminate visual clutter, creating a sense of professional polish that reinforces brand reliability. These combined structural elements do more than organize pixels; they build an intuitive path that minimizes user effort and maximizes conversion potential.
Applying these structural principles creates a predictable yet engaging environment where users can effortlessly navigate complex digital products.

Color Theory, Contrast, and High-Performance Typography

Color theory and typography serve as the primary levers for guiding user perception and ensuring cognitive ease within digital environments.
Strategic color application goes beyond mere aesthetics; it functions as a critical semantic tool that informs the user about hierarchy and system behavior. By utilizing color palettes to establish visual depth, designers can draw focus to primary action buttons while muting secondary information. A well-constructed palette typically follows the 60-30-10 rule to maintain balance, utilizing a neutral base, a dominant brand color, and a high-contrast accent color to lead the eye through the layout.
Never use color as the sole indicator of system states, actions, or validation errors. Always support color states with clear text labels or explicit iconography to accommodate color-blind users and ensure full compliance with accessibility standards.
Achieving accessibility is non-negotiable for high-performance digital products. Designers must ensure that foreground and background colors meet Web Content Accessibility Guidelines (WCAG) requirements. The industry standard is a contrast ratio of at least 4.5:1 for normal text and 3:1 for large text to reach AA compliance, while AAA compliance requires a more stringent 7:1 ratio. Utilizing tools like contrast checkers during the wireframing phase allows teams to adjust luminosity and saturation levels before high-fidelity implementation, preventing costly retrofitting.
Typography functions as the voice of the interface and a cornerstone of readable content. Establishing a systematic typographic scale—often rooted in a modular scale like 1.250 (Major Third)—ensures consistent text sizing across the application. Designers should prioritize line-height settings (generally 1.4 to 1.6 for body text) to optimize legibility and prevent eye strain. When selecting fonts, a clean pairing of a sans-serif for UI elements and a complementary face for headers provides clarity, but performance must remain a priority.
To ensure high-performance rendering, designers should favor system font stacks for primary interface text to eliminate heavy external network requests. If custom web fonts are necessary for branding, they must be subsetted to include only required characters and served using modern formats like WOFF2. This approach minimizes layout shifts and keeps page load times optimized for mobile and desktop environments alike, contributing positively to Core Web Vitals.
By harmonizing rigorous contrast standards with disciplined typographic systems, designers build interfaces that are both emotionally resonant and universally functional.

Micro-Interactions, Animation, and Gamification Techniques

The strategic integration of micro-interactions, custom animations, and gamification is essential for transforming static digital interfaces into responsive, living environments that drive long-term user retention.
Micro-interactions are the subtle, single-purpose movements that provide immediate feedback during a user’s journey. By acknowledging an action—such as a button glow upon hovering, a checkmark appearing after form submission, or a smooth slide transition when toggling a setting—you reassure the user that the system is responsive. These granular interactions serve as the invisible glue of digital experience, reducing cognitive load and preventing user frustration by clarifying the status of an application in real-time.
Beyond simple feedback, animations play a critical role in guiding the user's focus and storytelling. Utilizing tools like Lottie for lightweight vector animations allows designers to incorporate complex, scalable motion without sacrificing site performance. For interface transitions, CSS transitions and keyframe animations provide a polished feel that guides the eye toward important content blocks or call-to-action buttons. When designing these elements, consistency is key; animations should follow a natural easing curve to mimic real-world physics, ensuring the user feels a sense of control rather than being bombarded by jarring motion.
Gamification introduces game-design mechanics to non-game contexts, effectively increasing user loyalty and task completion rates. Techniques such as progress bars in onboarding sequences, achievement badges for profile completion, or satisfying haptic feedback upon reaching a goal create a psychological reward system. These elements encourage users to invest more time in the application by transforming routine tasks into engaging milestones. When combined with rigorous interactive prototyping—using platforms that allow for dynamic previews—designers can stress-test these gamified states to ensure they remain intuitive and helpful rather than intrusive.
By balancing these interactive elements, designers create a cohesive product that feels thoughtful, rewarding, and highly performant.
Adhering to these core tenets allows design teams to build cohesive, high-performing digital environments that consistently delight and retain users.

The User-Centered Design (UCD) Process

Designing digital platforms without a deep understanding of the end user leads to products that fail to engage, making the User-Centered Design (UCD) process indispensable for both web design and app design.
The UCD lifecycle begins with the discovery phase, which is dedicated to uncovering genuine user needs through empirical research rather than intuitive guesswork. Designers gather qualitative insights through in-depth user interviews and ethnographic studies, alongside quantitative data from surveys and analytics tools. This initial phase helps product teams map out the existing pain points and motivations of their target audience. By gathering concrete behavioral data early on, design teams can sidestep the trap of designing for themselves, ensuring that every subsequent creative decision is anchored in verified user requirements.
Once raw data is collected, the next phase focuses on defining the strategy by synthesizing findings into actionable artifacts like user personas and empathy maps. These tools represent archetypal users and help align cross-functional teams around shared user goals. During this stage, designers prioritize features and map out high-level user journeys to outline how a user will complete tasks. Aligning these flows with business objectives ensures that the product remains highly functional and task-oriented, preventing feature creep and keeping the visual layout focused on what matters most to the end user.
With a clear strategic roadmap in place, the process transitions into the tangible phase of wireframing and prototyping. This step translates conceptual workflows into low-fidelity sketches and digital wireframes that establish the structural framework of the web or mobile application. As these structures mature, designers build clickable, interactive prototypes that simulate the actual digital experience. These interactive models allow teams to evaluate the flow and usability of the interface before investing heavy development resources, making it easy to spot friction points in navigation or layout logic early in the design cycle.
The final and most crucial stage of the iterative UCD process is usability testing and validation, where prototypes are placed in front of real users. Through structured design sprints, observation sessions, and the analysis of user interaction patterns, teams gather direct feedback on how easily users navigate the interface. Quantitative usability metrics, such as task success rates and time-on-task, are paired with qualitative feedback to refine the product continuously. This cycle of testing, learning, and refining guarantees that the finalized website or app interface relies on verified behavioral patterns instead of unproven assumptions.

User Research, Persona Creation, and Discovery Sessions

Effective digital product design begins long before a single pixel is placed, rooted firmly in the investigative phase of user research and discovery.
The foundation of any successful design project is a deep, empathetic understanding of the target audience. Designers must look beyond surface-level assumptions to uncover the psychological motivations and operational pain points that drive user behavior. This is achieved through a mix of quantitative data—such as analytics, heatmaps, and conversion tracking—and qualitative insights derived from one-on-one user interviews, contextual inquiries, and usability benchmarking. By employing methodologies like card sorting, designers can also gain insight into the mental models users have regarding information structure, ensuring that the eventual architecture of a website or application aligns with intuitive expectations.
Once raw data is collected, the synthesis phase translates these findings into actionable tools. User personas are not merely fictional representations; they are strategic documents that embody the needs, frustrations, and professional goals of distinct user segments. When paired with a robust product requirement matrix, these personas provide a constant reference point throughout the design cycle. This ensures that every feature, button, and layout decision remains tied to solving a specific user problem, rather than succumbing to subjective design preferences or feature creep.
By anchoring design decisions in rigorous research and collaborative discovery, teams create digital products that are not just visually compelling, but functionally essential.

Information Architecture, Wireframing, and Interactive Prototyping

The transformation of abstract concepts into functional digital products relies on a structured progression from architectural planning to interactive representation.
Information Architecture (IA) serves as the blueprint for any digital experience. Before aesthetic elements are considered, designers must organize data into intuitive structures that align with user expectations. This involves creating site maps and navigation trees that simplify complex databases into manageable user paths. By focusing on how content is categorized and linked, designers ensure that both websites and web applications provide a frictionless journey, preventing the disorientation that often leads to high bounce rates.
Low-fidelity wireframing acts as the skeletal framework of the project. These grayscale representations prioritize layout, spacing, and functional placement over visual flair. By utilizing simple boxes, placeholders, and basic typography, designers can validate the feasibility of a layout without the distraction of colors or images. This stage is critical for identifying logical errors in the user flow early in the process, allowing for rapid iterations that save significant development time downstream.
Once the skeletal structure is approved, the transition to high-fidelity interactive prototyping brings the vision to life. Modern design platforms such as Figma, Sketch, and Adobe XD are essential tools in this phase. Designers translate static wireframes into clickable previews that mimic the actual behavior of the final application. By defining transition animations, hover states, and input field responses, these tools allow stakeholders to interact with the product as if it were fully coded. This phase is vital for testing the technical feasibility of complex user interactions and gathering qualitative feedback before any front-end development begins.
Mastering the progression from information architecture to high-fidelity prototyping ensures that final designs are both aesthetically compelling and fundamentally functional.

Mapping and Optimizing Critical User Flows

Mapping and optimizing critical user flows is the practice of designing the precise sequences of actions a user takes to achieve a goal within a digital product, ensuring each step is intuitive and frictionless.
At the heart of high-converting web and app design lies the optimization of primary user journeys, such as onboarding, account registration, secure authentication, and the final checkout process. These flows represent the backbone of user retention. By visualizing the user journey as a step-by-step path, designers can eliminate unnecessary barriers—such as excessive form fields during registration or ambiguous navigation prompts during checkout—that frequently lead to high abandonment and churn rates. A well-mapped flow ensures that every interaction is purposeful, guiding the user naturally from their intent to a successful outcome.
To identify hidden friction points, teams utilize iterative methodologies like design sprints and rigorous user testing. During a design sprint, cross-functional teams rapidly prototype and test specific flows to validate assumptions before significant development resources are deployed. Supplementing this with annotated screen recordings allows designers to observe exactly where users hesitate, backtrack, or struggle with navigation. By analyzing heatmaps and session playbacks, designers can pinpoint where the interface fails to communicate its purpose, allowing for precise adjustments to layout or micro-copy that improve the overall UX.
Refining these flows is a continuous process of data-driven improvement. For instance, simplifying a search navigation sequence involves optimizing the query feedback loop so that results appear near-instantaneously, minimizing the cognitive load on the user. When a flow is optimized correctly, the technical architecture remains invisible to the user, allowing them to complete complex tasks—like updating payment information or finding specific product categories—with minimal effort. This commitment to refining core user paths directly translates into increased user satisfaction and improved operational metrics, such as higher conversion rates and reduced support inquiries.
By systematically mapping and testing these critical paths, designers can create seamless, reliable experiences that convert casual visitors into loyal users.
By committing to this rigorous, iterative loop of research, prototyping, and testing, design teams can confidently deliver digital products that are inherently intuitive and highly valuable to their target audience.

Scalability, Performance, and Platform Integration

Transitioning a digital design from static visuals into a high-performing interactive system requires a strategic approach to technical scalability, platform performance, and engineering integration.
Digital product performance starts directly on the design canvas, where decisions regarding visual assets, typography, and complex interactive animations dictate subsequent system load speeds. Heavy, unoptimized imagery and excessive custom web fonts slow down rendering pipelines, resulting in higher bounce rates and degraded user experiences. By prioritizing lightweight vector graphics, employing modern image formats, and carefully planning layout structures, designers work in tandem with development teams to keep initial page sizes minimal and application runtime highly efficient.
Truly scalable design systems inherently prioritize accessibility compliance, ensuring that digital applications are usable by individuals with varying abilities. Adhering to Web Content Accessibility Guidelines (WCAG) standards requires designers to establish sufficient color contrast ratios, logical keyboard navigation paths, and structured heading hierarchies from the very beginning of the creative cycle. Integrating these accessibility parameters into the core component library ensures that every future product iteration or added feature remains compliant without requiring costly, retrospective development fixes.
Seamless integration between design and engineering teams depends on a unified design system powered by semantic tokens and standardized component libraries. Defining variables for colors, spacing, and typography ensures that visual updates automatically cascade through the codebase, reducing manual translation errors and development friction. A well-documented design system acts as a single source of truth, enabling developers to translate high-fidelity prototypes into functional code swiftly and reliably while maintaining absolute visual fidelity.

Building Design Systems and Component Pattern Libraries

Building a robust design system is the most effective way to unify the visual language across complex web design and app design projects, ensuring that teams work from a single source of truth.
A design system begins with defining foundational design tokens. These tokens translate high-level brand decisions into scalable, actionable variables such as spacing scales, color palettes, border radii, and typographic hierarchies. By codifying these values, designers and developers eliminate ambiguity, ensuring that every button or container feels native to the broader ecosystem. Once these foundations are established, the next step involves building a component pattern library. This library acts as a collection of reusable building blocks—including inputs, form fields, cards, modals, and navigation bars—that are systematically coded to maintain consistency regardless of the specific interface or platform.
Implementing a component-driven design workflow significantly accelerates development cycles by minimizing the need to recreate common elements from scratch. Developers benefit from pre-tested, modular code, which reduces technical debt and simplifies updates; when a global design change occurs—such as updating a primary brand color or adjusting a button's padding—it only needs to be updated once in the system to reflect across all connected applications. This creates a highly efficient feedback loop that empowers design teams to focus on solving complex user experience challenges rather than spending time on redundant visual updates.
By standardizing these assets into a living library, organizations can achieve a seamless transition from initial web design to complex app development, ensuring the final product remains cohesive and scalable.

Responsive Layouts, Core Web Vitals, and Technical Handoff

Achieving a high-performance digital product requires a seamless transition from creative vision to functional code, where responsiveness and speed are treated as fundamental design constraints rather than post-development afterthoughts.
Ensuring perfect platform responsiveness demands a mobile-first philosophy. Designers should prioritize liquid grid systems and flexible containers that adapt gracefully across viewports. By utilizing CSS Grid and Flexbox within the design stage, teams can ensure that layouts maintain structural integrity whether viewed on a high-density desktop monitor or a compact mobile device. This approach allows for the intelligent reflowing of content, ensuring that primary calls-to-action remain accessible and legible regardless of the screen size.
Optimizing for Core Web Vitals is an essential aspect of modern UI design. To improve Largest Contentful Paint (LCP), designers must favor lightweight assets and prioritize the loading of critical hero elements. Interaction to Next Paint (INP) is heavily influenced by the complexity of JavaScript-heavy animations; keeping micro-interactions performant and non-blocking is vital for perceived responsiveness. Furthermore, Cumulative Layout Shift (CLS) can be mitigated by strictly defining aspect ratios for images and containers during the wireframing phase, ensuring that dynamic content does not shift the page layout while loading.
Poor design choices act as significant roadblocks to performance. When designers integrate excessively large, unoptimized high-resolution imagery or implement complex, non-standard layouts that require heavy computational rendering, page-load times inevitably skyrocket. This technical debt directly triggers a drop in Core Web Vitals scores, which search engines interpret as a poor user experience. Consequently, these aesthetic-first, performance-blind decisions lead to immediate search engine ranking penalties and increased bounce rates, proving that visual flair must be balanced with technical efficiency.
The design-to-development handoff marks the final bridge between the visual interface and front-end reality. Utilizing modern design software to provide automated redlines—which specify exact padding, margins, font weights, and color hex codes—eliminates ambiguity for developers. By maintaining a centralized design system, designers ensure that every button, form field, and navigation element is mapped to a reusable code component. This synchronization, supported by detailed documentation of hover states, focus indicators, and transition timings, ensures that the final product remains pixel-perfect and highly performant during the implementation phase.
By integrating technical performance standards directly into the design workflow, teams can create digital experiences that are as fast and reliable as they are visually compelling.
Ultimately, aligning design decisions with technical execution and accessibility standards ensures a highly performant, scalable product that delivers consistent value across all digital touchpoints.
Ultimately, bridging the gap between web design and app design is about creating a cohesive, fluid experience that prioritizes the user at every touchpoint. By applying core visual hierarchy principles, establishing scalable component libraries, and adhering to strict user-centered workflows, design teams can deliver digital products that are both aesthetically exceptional and structurally sound. To put these concepts into practice, start by unifying your design and development workflows, building a centralized design system, and continuously validating your design choices through live behavioral metrics and user testing. In doing so, you ensure your digital interfaces remain intuitive, accessible, and ready to scale alongside evolving user needs.