{"id":29280,"date":"2024-05-23T06:00:00","date_gmt":"2024-05-23T05:00:00","guid":{"rendered":"https:\/\/www.web-systems.pl\/web-app-or-mobile-app-7-signals\/"},"modified":"2024-05-23T06:00:00","modified_gmt":"2024-05-23T05:00:00","slug":"web-app-or-mobile-app-7-signals","status":"publish","type":"post","link":"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/","title":{"rendered":"Web app or mobile app? 7 signals your digital product does not need a phone app"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">At Web Systems we have been designing and delivering custom software for companies from \u0141\u00f3d\u017a and all over Poland since 2006. Over all those years, one question kept coming back in almost every sales conversation: &#8220;How much will a mobile app cost?&#8221;. Exactly. The problem is that very often a client who asks for a phone app actually needs something completely different. The decision whether you build a web application or a mobile one is not a matter of taste or of what happens to be fashionable. It is an architectural choice that will shape your budget, your release pace and the cost of maintaining the product for years.<\/p>\n\n\n\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Spis tre\u015bci<\/p>\n<span class=\"ez-toc-title-toggle\"><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#A_decision_that_will_shape_your_budget_and_product_maintenance\" >A decision that will shape your budget and product maintenance<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_1_your_users_work_at_a_desk_not_on_the_move\" >Signal 1: your users work at a desk, not on the move<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_2_you_need_fast_releases_and_one_version_for_everyone\" >Signal 2: you need fast releases and one version for everyone<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_3_the_heart_of_the_product_is_data_integrations_and_business_logic\" >Signal 3: the heart of the product is data, integrations and business logic<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_4_scalability_and_security_weigh_more_than_touch_gestures\" >Signal 4: scalability and security weigh more than touch gestures<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_5_you_are_building_an_MVP_and_need_to_validate_the_market_fast\" >Signal 5: you are building an MVP and need to validate the market fast<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_6_a_PWA_covers_your_mobility_needs\" >Signal 6: a PWA covers your mobility needs<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Signal_7_your_team_and_budget_will_not_carry_two_separate_apps\" >Signal 7: your team and budget will not carry two separate apps<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-9\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Summary_how_to_choose_consciously_between_web_and_mobile\" >Summary: how to choose consciously between web and mobile<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-10\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#When_should_you_choose_a_mobile_app_anyway\" >When should you choose a mobile app anyway?<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-11\" href=\"https:\/\/www.web-systems.pl\/en\/web-app-or-mobile-app-7-signals\/#Will_a_PWA_completely_replace_a_native_app\" >Will a PWA completely replace a native app?<\/a><\/li><\/ul><\/li><\/ul><\/nav><\/div>\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"A_decision_that_will_shape_your_budget_and_product_maintenance\"><\/span>A decision that will shape your budget and product maintenance<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Let us start by dealing with a popular misconception. In the minds of many business owners, a &#8220;serious digital product&#8221; has to have an icon on a phone screen, preferably in the App Store and Google Play. And that belief can cost a lot. A native application for iOS and Android means two separate code bases, two publishing processes, two sets of tests and a backend that you have to build separately anyway. Before you even reach your first user, you have tripled the cost.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The choice between a web application and a mobile one is an architectural decision, not an aesthetic one. It is not about &#8220;what looks better in a board presentation&#8221;, but about where your users really live, what data you process, how often you ship changes and how many people will maintain the product after launch. Architecture is the foundation on which development, security and scalability will rest for years to come. And a mistake at this stage does not cost a few hundred zloty. It costs months of work and tens of thousands of zloty in technical debt.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A typical mistake we see in practice looks like this: a B2B company orders a mobile application for its sales reps or for an internal team, and after the rollout it turns out that employees use it mostly at their computers anyway. Because entering data on a phone screen is slow and tiring. They paid for native mobility that nobody actually uses. On the other side, we meet startups that want to conquer the app stores immediately, even though their business hypothesis has not been tested on a single user yet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This article is not a neutral, encyclopedic comparison of &#8220;web versus mobile&#8221;. We will show you something more practical: <strong>7 concrete signals<\/strong> that in our project work most often mean a digital product does not need a native phone app, but a well-designed web application or PWA. These signals come from real problems: cost, integration, security and maintenance. Not from theory.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We look at each of these signals from the point of view of the contractor who will later have to develop and service the application. Because it is easy to sell a client what they want. It is harder, but more honest, to advise them on what they really need. If you recognize your product in several of the points below, your money and your team&#8217;s time are probably better invested in a solid web solution. And if you do not, you will learn when a mobile application actually makes sense. Treat the sections that follow as a checklist for an informed decision, before you sign the first development invoice.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_1_your_users_work_at_a_desk_not_on_the_move\"><\/span>Signal 1: your users work at a desk, not on the move<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The first question we ask every client is: where and how does your user physically use the product? The answer says more than ten pages of specification. If the typical scenario is a person sitting at a desk, with a large monitor, a keyboard, a mouse and a dozen browser tabs open at once, then we are talking about a stationary context. And a stationary context almost always argues for a web application.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Think about the real work done in such systems: a store admin panel, a CRM where a sales rep enters call notes, a project management tool, an ERP system, an order handling panel or an internal accounting application. In all of these cases the user needs screen space, fast switching between views, copying data between modules and comfortable typing of longer texts. A phone here is not so much a limitation as a real obstacle to productivity.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A mobile application makes sense when the product uses what is called a mobile context: precise GPS location, the camera, the accelerometer, push notifications that reach the user during the day, work in the field without access to a computer. A courier scanning parcels, a driver in a ride-hailing app, a fitness trainer, a contactless payment app: these are natural mobile scenarios. But if your product needs neither the camera nor location, and notifications can easily be handled by email or the browser, the mobile context simply is not needed here.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The most important factor, however, is the economics. The cost of building and maintaining a native mobile application does not pay off when the user works at a desk anyway. You are paying for access to phone features that nobody will use, and for a presence in stores your audience never even opens, because they log in from an office computer in the morning. An expense with no return on investment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the B2B segment this is exceptionally clear. Decision makers often say &#8220;we want an app&#8221; when they simply mean &#8220;we want a modern tool&#8221;. Yet being modern is not an icon on a phone home screen, it is a responsive, fast web interface available from any device after logging in. A well-designed web application will open on a desktop in the office, on a tablet in the meeting room and, in a pinch, on a phone on the way there. Without having to build three separate products.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tip:<\/strong> Before you decide on a platform, run a simple experiment. Ask 5 target users to note down for a week which device they would use your tool on most often and in what situation. If the vast majority of answers are &#8220;computer, at my desk, during working hours&#8221;, you have your first strong signal that a phone app is an unnecessary cost, and that the budget is better spent on polishing the web version and its integration with the rest of the company&#8217;s systems.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_2_you_need_fast_releases_and_one_version_for_everyone\"><\/span>Signal 2: you need fast releases and one version for everyone<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The second signal concerns the pace at which you want to introduce changes. For us this is often the deciding factor, because it translates directly into business agility. A web application gives you something a native mobile app will never provide: full control over the moment of release. You upload a new version to the server and in that same second every user is working with the current code. No waiting, no intermediaries, no queues.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the world of mobile applications, every update goes through an approval process in the App Store and Google Play. An Apple review can take from a few hours to a few days, and if it is rejected the whole cycle starts again. You find a critical bug on a Friday evening? In the mobile model, the fix may reach users only next week. In the web model you deploy the patch immediately. For a product that changes fast, that difference is fundamental.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On top of that there is the number of code bases. A fully native approach means maintaining three separate worlds: the iOS application, the Android application and the backend that serves both. Every new feature has to be implemented, tested and released three times over. A web application means one frontend code base and one backend. Less code means fewer places where a bug can appear, fewer tests and a clearly lower cost of development over time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It is worth gathering these advantages in one place, because they are easy to overlook in the rush of feature planning:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Instant releases<\/strong> &#8211; a change reaches all users the moment it is published on the server, with no store review process.<\/li>\n<li><strong>One code base<\/strong> &#8211; instead of separate teams for iOS, Android and the backend, you maintain one consistent frontend project.<\/li>\n<li><strong>No installation<\/strong> &#8211; the user opens a link in the browser and starts working right away, which lowers the barrier to entry almost to zero.<\/li>\n<li><strong>Version consistency<\/strong> &#8211; there is no problem of users working for months on an outdated, un-updated version of the app.<\/li>\n<li><strong>Lower technical debt<\/strong> &#8211; fewer platforms means fewer dependencies to update and less risk of them drifting apart.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">The lack of installation deserves separate attention. In a mobile application, a whole path stands between your product and the user: finding it in the store, downloading it, granting permissions, creating an account. Each of these steps is a point where some of your audience drops out. A web application works right after clicking a link, which matters enormously, especially when acquiring new customers and testing a product.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A lower maintenance cost and less technical debt over time are not brochure slogans, they are real savings. The fewer platforms you have to keep in sync, the slower the complexity of the system grows and the longer your team can focus on development instead of putting out fires caused by differences between iOS and Android. For most business products, that predictability is worth more than native animations.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_3_the_heart_of_the_product_is_data_integrations_and_business_logic\"><\/span>Signal 3: the heart of the product is data, integrations and business logic<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We recognize the third signal when we start talking about what really makes up the value of the product. If it turns out that it is not about a flashy interface but about data, processing it, connecting it with other systems and applying business rules, then what you are building is in fact an information system. And information systems feel best in a web architecture, where all the logic lives on the server, close to the data and the integrations.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In B2B projects, the need to connect with other systems comes up almost every time. In practice this is a whole list of typical integrations that we handle day to day:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>REST API and webhooks<\/strong> &#8211; exchanging data with external services in real time.<\/li>\n<li><strong>ERP systems<\/strong> &#8211; synchronizing stock levels, orders and accounting documents.<\/li>\n<li><strong>CRM systems<\/strong> &#8211; the flow of information about customers, leads and contact history.<\/li>\n<li><strong>Payment gateways<\/strong> &#8211; handling transactions, subscriptions and settlements.<\/li>\n<li><strong>Data warehouses and BI tools<\/strong> &#8211; feeding business reports and analyses.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">A web application plugs into such an ecosystem far more easily. It works in the same network layer as the company&#8217;s other services and communicates with them server to server, without the limits imposed by phone operating systems or app store policies. Automations, scheduled jobs, background processing, integrations with partner systems: all of this is more natural when the product logic lives on the server rather than being scattered across users&#8217; devices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The right internal architecture becomes key here. In a well-designed system we clearly separate the interface layer from the business logic layer and from the data layer. The logic is enclosed in repositories, which are the only place responsible for reading and writing a given type of data. The interface only displays what the layer below provides and passes down the events triggered by the user. That separation makes the system testable, resilient to change and easy for the next developers to extend.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Industry material on application architecture states this principle directly. As the authors of architecture documentation emphasize:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">The most important principle is separation of concerns: dividing the application into methods, classes, files, packages, modules and layers with clearly defined responsibilities and boundaries.<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Closely related to separation of concerns is the idea of a single source of truth. Every type of data should have one owner, the only one allowed to modify it and the one that shares that data with the rest of the system. As a result, all changes to a given type of data happen in one place, are protected from accidental interference from outside and are easier to trace when you need to find the source of a bug. In a web application, that source of truth is usually the database on the server side.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">And this is exactly where the advantage over the distributed mobile approach shows, where application state often lives on many devices at once and has to be laboriously synchronized. One central source of truth means data consistency, simpler logic and fewer opportunities for bugs that are hard to detect. If data and integrations are the heart of your product, a web architecture gives you the control over them that the distributed mobile world simply does not provide without an enormous amount of work.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_4_scalability_and_security_weigh_more_than_touch_gestures\"><\/span>Signal 4: scalability and security weigh more than touch gestures<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fourth signal appears wherever a product processes sensitive data or has to serve a growing number of users. In such projects, success is decided not by smooth animations or impressive touch gestures, but by how the system handles security, access control and load. Web architecture offers advantages here that are hard to overstate.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let us start with access control. In a web application, managing permissions, roles and auditing happens centrally, on the server side. The server decides who has access to what, and the server records who performed a given operation and when. In one place you can revoke the permissions of a dismissed employee, change the access policy for an entire group or trace the full history of changes. In a model where the logic is distributed across devices, such central command over access is much harder to achieve.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second big advantage? Patching vulnerabilities. When you find a security hole in a web application, you deploy the fix on the server and the problem disappears for all users at the same moment. In the mobile world, the fix has to go through the store, and then you wait for users to update the app on their phones. Some of them will not do it for weeks, leaving the door open. From a security point of view, the difference between an instant patch and an update that depends on the user is enormous.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The third aspect is scalability. We design the backend of a web application so that it can be scaled horizontally, that is, by adding more server instances as traffic and the number of customers grow. When the number of users rises, you add computing power and the architecture distributes the load across it. This approach has been proven in countless production systems. A well-designed web application grows together with your business instead of becoming a bottleneck.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The fourth, often underestimated element is control over sensitive data. In a web architecture you store data centrally, in a controlled and secured server environment. In the mobile model, a significant portion of the data ends up on users&#8217; devices, and every lost or stolen phone becomes a potential leak. The more sensitive the data you process, for example medical, financial or personal data, the stronger the argument for keeping it in one well-protected place rather than scattering it across hundreds of devices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Tip:<\/strong> When preparing the assumptions for a project, draw up a simple data map. List what information the system will store, which of it is sensitive and who should have access to it. If the map quickly fills up with personal, financial or confidential company data, that is a clear sign you need an architecture with central access control and auditing, which means a web solution with a strong backend, not an application that scatters that data across the phones of employees and customers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To boil this signal down to one sentence: if the conversation about your product turns more often to roles, auditing, GDPR compliance and resilience under load than to how nicely a card slides under a finger, then you are building a system whose natural home is a well-secured web architecture. Security and scalability are foundations, not add-ons. And they are what should drive the platform decision.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_5_you_are_building_an_MVP_and_need_to_validate_the_market_fast\"><\/span>Signal 5: you are building an MVP and need to validate the market fast<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The fifth signal is aimed above all at startup founders and companies launching new product lines. If your goal is to check as quickly as possible whether the idea has a market at all, a web application is almost always the right first step. An MVP, a product with the minimum necessary functionality, has one job: to validate a business hypothesis with the smallest possible outlay of time and money. The web achieves that goal better than any other platform.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The biggest advantage is the absence of a barrier to entry. You share the web version with testers using an ordinary link. You send the link by email, paste it into a message, put it in an ad, and the recipient clicks and is already using the product. They do not have to look for the app in a store, download it, agree to permissions or create an account just to take a look. In the mobile world, each of these steps filters out some of your potential testers, and at an early stage you want to gather as many observations as possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second advantage is the speed and cost of iteration. Validating an idea is not a single shot, it is a series of fast cycles: you release a version, watch the reactions, make changes, release again. In the web model such a cycle takes hours, because the new version reaches users immediately after deployment. In the mobile model, every iteration gets stuck in the store publishing process. For a startup racing against time and a burning budget, that difference can decide survival.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The third benefit is how easy it is to collect data. In a web application you can easily plug in analytics tools, heat maps, session recordings and feedback forms. Everything happens in one environment, without having to reconcile different measurement systems for iOS and Android. You get a consistent picture of how users move through the product, where they get lost and what attracts them. That data is the fuel for decisions about further development.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where our most frequent recommendation for clients at the idea stage comes in. <strong>Tip: start with a web application or a PWA, and add a native mobile app only when the data you have gathered clearly justifies it.<\/strong> In other words, let real user behavior, not an assumption from a business plan, decide about investing in mobility. If it turns out that your audience really would use the product in the field, needs the camera or location, then extending it with a mobile layer will be a deliberate decision backed by evidence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In practice, many of our clients discover after the web MVP phase that they do not need a mobile application at all, because the product works great in the browser. Others move on to mobility, but they do it with full knowledge of which features users expect. In both cases they save money, because they did not invest in an expensive native solution before anyone confirmed it was needed. A sensible order, first web and then possibly mobile, protects the budget and brings order to product development.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_6_a_PWA_covers_your_mobility_needs\"><\/span>Signal 6: a PWA covers your mobility needs<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The sixth signal concerns the in-between situations, where you need a bit of mobility but not necessarily a full native application. The answer here is often a Progressive Web App, or PWA. It is a technology that makes a web application behave largely like an app installed on a phone, while remaining an ordinary site running in the browser. For many products it is the sweet spot between cost and capability.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">What exactly does a PWA give you? The user can add the application to the phone&#8217;s home screen and launch it with an icon, exactly like a native one. The application can work offline, using previously saved data when the connection disappears. It can also send notifications, reminding the user that it is there. All of this without publishing in the stores, without a review process and without maintaining a separate code base for each system.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The second pillar is responsiveness. A well-designed web application uses adaptive layouts that adjust to the size of the screen. The same product looks and works sensibly on a phone, on a tablet and on a large monitor. Industry material on application architecture explicitly recommends building interfaces that are resilient to configuration changes, such as rotating the device or resizing the window, and preserving the user&#8217;s state despite those changes. A responsive layout is a standard today, not a luxury.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">It has to be said honestly, though, where the capabilities of a PWA end. If your product requires deep access to native system features, such as advanced image processing from the camera, running in the background for a long time, integration with system contacts, Bluetooth Low Energy for specialized devices or the highest possible graphics performance in games, then you genuinely need a native application. A PWA covers the vast majority of typical mobile needs, but not all of them. Our job as the contractor is to assess honestly which side of that line your product falls on.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For mobile products, the topic of offline data availability and freshness is especially important. In applications used in the field, the connection can be unreliable, and the user should not be left with an empty screen. Architecture documentation puts this principle plainly:<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">Store as much relevant and fresh data as possible. That way users can use the features of your app even when their device is offline. Remember that not all your users have constant, high-speed connectivity, and even if they do, they may get poor reception in crowded places.<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">This principle can be implemented effectively in a PWA. The application saves the needed data locally, works with a weak or no connection, and once the network is back it synchronizes the changes with the central source of truth on the server. For many products that clients initially see as a &#8220;must-have mobile app&#8221;, a PWA turns out to be a sufficient solution, far cheaper to build and maintain, while still delivering the most important qualities of mobility. Before you commit to going fully native, check whether a progressive web app does not already cover everything you really need.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Signal_7_your_team_and_budget_will_not_carry_two_separate_apps\"><\/span>Signal 7: your team and budget will not carry two separate apps<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The seventh signal is the most down to earth and, at the same time, the one that most often decides in practice: resources. You may have the ambition to build native applications for iOS and Android, but the real question is whether your team and your budget can carry maintaining them for years to come. In our experience it is the maintenance stage, not the first rollout, that most often overwhelms companies that chose full native development without a cool-headed calculation.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Maintaining native applications is a double, and often triple, cost. Every new feature has to be built separately for iOS and separately for Android, tested on both platforms and synchronized with the backend. You need developers who know different technologies, separate test cycles and separate handling of bugs specific to each system. Where a web application requires one team working on one code base, the native model multiplies the workload and the cost.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Having several platforms brings the risk of features drifting apart. When iOS, Android and the backend are developed in parallel, it is easy to end up in a situation where something works differently on one system than on the other, and the differences grow over time. You get bugs present on only one platform, features shipped in one app and forgotten in the other, discrepancies in how the same data is handled. Every such inconsistency is extra time for diagnosis and repair, and for the user it is a frustrating experience that depends on which phone they happen to own.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On top of that come the real, hard costs tied to being present in the stores at all, which are easy to forget at the planning stage. It is worth listing them:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Fees and developer accounts<\/strong> &#8211; the annual cost of maintaining accounts in the app stores.<\/li>\n<li><strong>Certificates and signing<\/strong> &#8211; managing the certificates, keys and profiles required for publishing.<\/li>\n<li><strong>The review process<\/strong> &#8211; the time and work involved in getting each version approved.<\/li>\n<li><strong>Compliance with platform requirements<\/strong> &#8211; adapting the app to the changing policies of Apple and Google.<\/li>\n<li><strong>Support for older system versions<\/strong> &#8211; tests and fixes for the various versions of iOS and Android still in use.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">These costs do not disappear after launch. They come back with every release and with every change in store policy. For a small team they can consume more energy than developing the product itself. A web application eliminates most of them, because it is not subject to store processes or their certification requirements.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The core of this signal is one principle we keep repeating to clients: base the platform decision on the real resources of your team, not on technological fashion. The fact that a competitor has an app in the store does not mean you need one. If you know that after the rollout the product will be maintained by a small team or a single external partner, go for an architecture you can realistically carry. In most cases that means one well-designed web application, possibly enriched with a PWA, and not a costly pair of separate native apps that will become a ball and chain over time.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Summary_how_to_choose_consciously_between_web_and_mobile\"><\/span>Summary: how to choose consciously between web and mobile<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">We have gone through seven signals which, in our project practice, most often indicate that a digital product does not need a native phone app. Before you make a decision worth tens of thousands of zloty, treat them as a concrete checklist for the decision maker:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Work context<\/strong> &#8211; do users work at a desk rather than on the move with a phone in hand?<\/li>\n<li><strong>Release pace<\/strong> &#8211; do you need instant updates and one consistent version for everyone?<\/li>\n<li><strong>The role of data<\/strong> &#8211; is the heart of the product data, integrations and business logic rather than a flashy interface?<\/li>\n<li><strong>Security and scale<\/strong> &#8211; do central access control, auditing and scalability weigh more than touch gestures?<\/li>\n<li><strong>Market validation<\/strong> &#8211; are you building an MVP and do you need to test a business hypothesis fast and cheaply?<\/li>\n<li><strong>Scope of mobility<\/strong> &#8211; does a PWA with offline mode and home screen installation cover your needs?<\/li>\n<li><strong>Team resources<\/strong> &#8211; can your budget and people realistically carry the maintenance of two separate native apps?<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The more yes answers, the stronger the signal that your natural choice is a web application or a PWA, and that the investment in native mobility is better postponed until the data clearly justifies it. This is not an argument against mobile applications as such, but a call for a conscious decision grounded in practice.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"When_should_you_choose_a_mobile_app_anyway\"><\/span>When should you choose a mobile app anyway?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">When the product really lives in a mobile context and cannot sensibly be operated from a browser. We are talking about intensive use of the camera, precise GPS location, work in the field without a computer, integration with device sensors, contactless payments or demanding graphics. If that is the foundation of your idea rather than an add-on, a native application is the right choice. The question you have to ask yourself is: is mobility the essence of the product, or just a nice extra without which everything works equally well in a browser?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Will_a_PWA_completely_replace_a_native_app\"><\/span>Will a PWA completely replace a native app?<span class=\"ez-toc-section-end\"><\/span><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">In most typical business use cases yes, but not always. A PWA handles home screen installation, offline mode, notifications and responsiveness very well, covering the needs of a huge share of products. It falls short of native where deep access to system APIs, maximum performance or specialized hardware features are required. Our role as the contractor is to assess honestly which side of that line a given project falls on, instead of promising that one technology will solve everything.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">At Web Systems we have been advising clients since 2006 as if we were going to maintain the product ourselves for years to come. Because usually that is exactly what happens. We do not sell technological fashion or the most expensive solution available. We help choose an architecture that fits the real needs, budget and capabilities of the team, and then we build it: solidly, with data, security, integrations and scaling in mind.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you are facing a web versus mobile decision, planning an MVP, need a web application, integrations with B2B systems, process automation, <a href=\"https:\/\/www.web-systems.pl\/en\/development-of-artificial-intelligence-based-applications\/\">AI-based solutions<\/a> or the modernization of an existing system, <strong>let&#8217;s talk<\/strong>. Get in touch &#8211; together we will analyze your case and propose a solution that really holds up, both technically and financially.<\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>At Web Systems we have been designing and delivering custom software for companies from \u0141\u00f3d\u017a and all over Poland since 2006. Over all those years, one question kept coming back in almost every sales conversation: &#8220;How much will a mobile app cost?&#8221;. Exactly. The problem is that very often a client who asks for a [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":28378,"comment_status":"","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[816,810,808],"tags":[1357,1089,1081,1555,1061,1112,858],"class_list":["post-29280","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-applications","category-artificial-intelligence","category-it-en","tag-application-architecture","tag-digital-product","tag-guide","tag-mobile-app-en","tag-software-en","tag-software-development","tag-web-application"],"acf":[],"_links":{"self":[{"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/posts\/29280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/comments?post=29280"}],"version-history":[{"count":0,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/posts\/29280\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/media\/28378"}],"wp:attachment":[{"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/media?parent=29280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/categories?post=29280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.web-systems.pl\/en\/wp-json\/wp\/v2\/tags?post=29280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}