Why Connected Devices Fail Between Prototype and Production

A manager's guide to the hidden BLE, Wi-Fi, Android/iOS, sync, and architecture challenges that can delay your launch — and how to solve them before development gets expensive.

Connected DevicesBLEWi-FiAndroid & iOSArchitecture
Interactive demo

See the failures — and how to prevent them

Our simulator walks through twelve typical scenarios between a BLE device, mobile app, and cloud account. Pick a scenario and compare bad architecture with a robust solution.

Try the interactive demo

Many connected products look promising in the prototype phase.

The hardware works on the desk.

The app connects.

The demo looks good.

The investor update sounds convincing.

The team says: "We only need to finish the app now."

And then reality starts.

The device does not always appear in the scan list.

The connection drops when the user walks away.

The app says "connected," but the device is not actually ready.

One phone changes settings, another phone still shows old data.

The firmware team changes a byte in the protocol and the app breaks.

The product works in the office, but not in the customer's production environment.

This is the moment where many connected device projects move from "almost ready" to "unexpectedly delayed."

The reason is simple: connected products are not just hardware plus an app. They are systems.

A reliable connected product needs hardware, firmware, wireless communication, mobile apps, cloud infrastructure, data synchronization, UX, diagnostics, and support processes to work together. If one part is treated as an afterthought, the whole product can suffer.

That is why connected devices often do not fail because the team cannot write code. They fail because important architecture decisions were made too late.


The dangerous illusion: "It already works in the prototype"

In early prototypes, teams usually test the happy path.

The device is nearby.

The phone is unlocked.

The developer knows which device to connect to.

The firmware version is known.

The environment is clean.

Only one phone is involved.

The user is patient.

Under those conditions, BLE, Wi-Fi, or another wireless technology can look simple.

But production is different.

Customers use different phones. They walk away during measurements. They deny permissions. They lock the screen. They use the device in factories, basements, vehicles, labs, kitchens, warehouses, or outdoors. They change phones. They share devices with colleagues. They expect the product to recover automatically when something goes wrong.

This is where the real work begins.

A prototype proves that the product can work.

A production-ready product proves that it still works when reality gets messy.


Connectivity is not one feature. It is an architecture decision.

Managers often think of connectivity as a technical module:

"Can the app connect to the device?"

That question is too small.

The better questions are:

What happens if the connection drops mid-operation?

What happens if two phones want to use the same device?

What happens if the app is closed?

What happens if the device firmware is outdated?

What happens if the cloud has newer data than the device?

What happens if a user sees ten similar devices in the scan list?

What happens if the Wi-Fi password changes?

What happens if the phone moves out of range during a firmware update?

These are not edge cases. These are normal product cases.

For a connected product, the unhappy path is not the exception. It is most of the engineering work.


Challenge 1: Wireless connections drop

Wireless connections are unstable by nature.

With BLE, the connection can drop because the phone moves too far away, the user puts the phone in a pocket, the device is inside a metal housing, the sensor is mounted inside a machine, Wi-Fi interferes with the signal, the battery is low, or the operating system decides to save power.

With Wi-Fi, the product may depend on routers, passwords, firewalls, captive portals, DHCP, weak signal, customer IT policies, or unstable local networks.

From a user's perspective, none of this matters. If the app freezes, the product feels broken.

The solution is not to hope for a stable connection. The solution is to design the product around disconnection.

A serious connected product needs:

  • connection state handling,
  • automatic reconnect logic,
  • clear UI states,
  • command retries,
  • timeout handling,
  • data gap detection,
  • and recovery flows.

The app should distinguish between "the user intentionally disconnected" and "the connection was lost." These are different situations. They require different UI messages and different technical behavior.

A good app does not lie to the user. If the device is reconnecting, the UI should say so. If the last value is old, the UI should show when it was last updated. If data was lost during a measurement, the product should make the gap visible instead of pretending the measurement is complete.

The goal is not perfect connectivity.

The goal is honest, recoverable connectivity.


Challenge 2: "Connected" does not mean "ready"

One of the most common mistakes in connected device apps is treating "connected" as the final state.

In reality, connection is only the beginning.

After a BLE connection is established, the app may still need to discover services, enable notifications, read device identity, check firmware version, negotiate protocol capabilities, subscribe to data streams, load configuration, and verify that the device is ready for commands.

The same principle applies to Wi-Fi-connected devices. Being on the same network does not mean the device is authenticated, reachable, configured, synchronized, or ready to perform the intended action.

For users, this distinction matters. If the UI enables buttons too early, the first command may fail. The user taps "Start measurement," but the device has not finished initialization. The result feels random.

The solution is an explicit readiness model.

A production-ready app should usually separate states such as:

  • searching,
  • connecting,
  • connected,
  • initializing,
  • ready,
  • syncing,
  • reconnecting,
  • error,
  • disconnected.

Only the "ready" state should enable critical actions.

This is a small architectural decision with a large product impact. It prevents race conditions, avoids confusing UI behavior, and makes the app feel much more reliable.


Challenge 3: BLE and Wi-Fi are not product protocols

BLE and Wi-Fi are communication technologies. They are not complete product protocols.

BLE gives you a way to exchange small pieces of data. Wi-Fi gives you network access. But your actual product still needs to define what the data means.

For example:

Start measurement.

Stop measurement.

Read battery.

Write configuration.

Sync 64 memory slots.

Change alarm thresholds.

Unlock a premium feature.

Update firmware.

Report an error.

Confirm that a command was applied.

These are product-level operations. They need a protocol.

A real connected product usually needs:

  • command IDs,
  • response types,
  • error codes,
  • timeouts,
  • retries,
  • versioning,
  • data formats,
  • sequence numbers,
  • checksums,
  • and compatibility rules.

Without a written protocol specification, the firmware and app teams begin to depend on assumptions. That may work for a prototype. It rarely works well in production.

The dangerous bugs are not always crashes. Sometimes the app displays numbers that look plausible but are wrong because one side interpreted a byte differently.

That is why protocol design should not live only in code comments or developer memory. It should be a shared, versioned specification between the firmware, mobile, backend, and product teams.


Challenge 4: Android and iOS behave differently

For managers, "mobile app" sounds like one thing.

For connected products, Android and iOS are different operating environments with different rules, permissions, background behavior, APIs, and edge cases.

On Android, Bluetooth and Wi-Fi permissions have changed across platform versions. Android 12 and newer introduced specific Bluetooth permissions such as scanning and connecting permissions, while Android 13 and newer added a nearby Wi-Fi devices permission for certain Wi-Fi use cases. These platform rules influence onboarding, scanning, connection behavior, and user permission flows.

Android also recommends avoiding scan loops, stopping BLE scans once the desired device is found, and setting time limits because continuous scanning drains battery and can lead to poor behavior.

On iOS, Bluetooth behavior is shaped by Core Bluetooth and background execution rules. By default, background Bluetooth capabilities are limited unless the app declares the appropriate background modes and is designed around the system's constraints.

This matters for planning.

A connected product that works well on one Android phone in the office may still fail on another Android manufacturer's device. A flow that works while the app is open may behave differently when the screen is locked. A scanning experience that works on Android may need a different UX on iOS.

The solution is not to treat Android and iOS as identical.

The solution is to plan platform-specific connectivity behavior early:

  • permission flows,
  • onboarding flows,
  • background behavior,
  • app lifecycle handling,
  • test devices,
  • error messages,
  • and recovery instructions.

For managers, the key takeaway is simple:

Mobile platform behavior is not a detail. It is part of the product architecture.


Challenge 5: Multiple phones and users create synchronization problems

Many teams first design the product as if one phone talks to one device.

Then reality appears.

A technician configures the device with one phone.

A colleague opens the app on another phone.

A manager wants to view the data.

A support person needs access.

A customer changes phones.

A device is used across shifts.

Several apps or users interact with the same physical product.

Now the company has a synchronization problem.

Which state is correct?

The phone's local database?

The device's memory?

The cloud backend?

The last connected app?

The admin user's configuration?

If this is not decided early, users may see different data on different phones. One person may overwrite another person's settings. Devices may continue operating with outdated thresholds or stale configuration.

A robust solution needs a clear source of truth.

For some products, the device should be the source of truth. The phone is only a cache. On every connection, the app compares its local data with the device version. If the device changed, the app pulls the newest configuration before allowing edits.

For other products, the cloud is the source of truth. The device syncs with the backend, and phones read from the cloud.

For industrial or offline products, a gateway may become the source of truth because phones are not always present.

The important point is not which model you choose.

The important point is that you choose deliberately.

A synchronization concept should define:

  • source of truth,
  • local cache behavior,
  • conflict rules,
  • timestamps or version numbers,
  • offline behavior,
  • ownership,
  • user roles,
  • and what happens when two users change the same setting.

This cannot be solved cleanly at the end of the project. It shapes the whole architecture.


Challenge 6: One device may not be enough — sometimes you need a gateway

Some connected products should not rely on a smartphone being nearby.

For example, a sensor may need to monitor a machine continuously. A smart home device may need to react even when the user is away. An industrial system may need to run across shifts. A medical, safety, or maintenance product may need more reliability than a phone connection can provide.

In these cases, the smartphone should not be the center of the system.

A gateway can solve this.

A gateway is a dedicated device that stays close to the hardware, manages connections, stores configuration, monitors data, and optionally forwards information to the cloud. The phone becomes a configuration and visualization tool, not the operational heart of the product.

This changes the architecture significantly.

Instead of:

Device → Phone

the system becomes:

Device → Gateway → Phone / Cloud / Dashboard

This can solve several problems at once:

  • long-running monitoring,
  • multi-user access,
  • poor phone availability,
  • background execution limitations,
  • local autonomy,
  • and cloud integration.

But gateways also add complexity. They need their own firmware, update strategy, security model, installation process, diagnostics, and support concept.

For managers, the strategic question is:

Should the phone control the product, or should the phone only configure and visualize a product that can operate independently?

That decision should be made early.


Challenge 7: Firmware updates are a product requirement, not a future detail

Sooner or later, connected devices in the field need updates.

Maybe there is a firmware bug.

Maybe a security issue is discovered.

Maybe a new feature is needed.

Maybe the app and firmware need a compatibility fix.

Maybe customers already have hundreds or thousands of devices installed.

If firmware update was not planned from the beginning, the company may face painful options: expensive recalls, manual service visits, risky update tools, or unsupported devices in the field.

Over-the-air firmware updates sound simple from the outside. In reality, they are a product inside the product.

A firmware update flow needs:

  • compatibility checks,
  • battery checks,
  • secure transfer,
  • progress UI,
  • interruption handling,
  • resume or rollback behavior,
  • recovery mode,
  • and support documentation.

The key question is not only "Can we update firmware?"

The real question is:

What happens if the update fails halfway?

If the answer is "the device may be unusable," the product is not ready.

Firmware update strategy belongs in the architecture phase, not in the emergency phase.


Challenge 8: Diagnostics decide whether support can solve problems

Connectivity bugs are often difficult to reproduce.

They happen at the customer site, with a specific phone, a specific firmware version, a specific machine, a specific signal condition, and a specific sequence of user actions.

Without diagnostics, support only hears:

"It does not connect."

That is not enough.

A professional connected product needs structured diagnostics from the beginning.

The app should be able to collect:

  • phone model,
  • operating system version,
  • app version,
  • firmware version,
  • device identifier,
  • connection state,
  • signal strength,
  • last successful command,
  • error codes,
  • permission state,
  • timestamps,
  • and relevant logs.

The device or gateway should also expose useful information:

  • firmware version,
  • battery state,
  • last reboot reason,
  • last error,
  • connection status,
  • and configuration version.

This turns support from guessing into investigation.

Good diagnostics reduce support cost, shorten bug-fixing cycles, and protect your product reputation after launch.


Challenge 9: The user experience must handle the unhappy paths

Connected product UX is not only about beautiful screens.

It is about helping users understand what is happening when the physical world, wireless connection, app, and device state do not align.

A good connected product should tell the user:

Move closer to the device.

Turn Bluetooth on.

Grant permission.

The device is already connected to another phone.

The device is reconnecting.

The data is from 2 minutes ago.

The firmware version is too old.

The device is busy.

The configuration is syncing.

The update failed and can be retried.

The signal is weak.

Users can accept technical limitations if the product communicates honestly. They lose trust when the app hides problems, freezes, or displays raw error codes.

For managers, this means UX budget must include failure states.

The "unhappy path" screens are not polish. They are core product functionality.


Challenge 10: Testing must reflect reality, not the demo table

A connected device project should not be considered production-ready because it worked on one developer's phone.

Testing needs to reflect the environments where the product will be used.

That means testing different:

  • phone models,
  • Android versions,
  • iOS versions,
  • firmware versions,
  • device hardware revisions,
  • signal conditions,
  • distances,
  • battery levels,
  • network conditions,
  • user roles,
  • and interruption scenarios.

The team should test what happens when:

  • the phone moves out of range,
  • Bluetooth is turned off mid-session,
  • Wi-Fi credentials are wrong,
  • the app is killed,
  • the screen is locked,
  • the firmware restarts,
  • two users access the same device,
  • the cloud is unavailable,
  • the firmware update is interrupted,
  • permissions are denied,
  • the wrong device is selected,
  • the device is already connected elsewhere.

This is where many project estimates are too optimistic.

The happy path may take 20% of the effort. The rest is making the product reliable when the real world interferes.


What managers and founders should decide before development gets expensive

Before building a connected product, leadership should answer these questions:

1. What is the source of truth?

Is the correct state stored on the device, in the app, in the cloud, or in a gateway?

2. What happens when the connection drops?

Should the app reconnect automatically? Should commands be retried? Should the user be warned? What happens to partial data?

3. Can multiple users or phones use the same device?

If yes, how are conflicts prevented? Who owns the device? Who may change settings?

4. Does the product need to work without a phone?

If yes, should the device itself or a gateway handle monitoring and automation?

5. What is the firmware update strategy?

Can devices in the field be updated safely? What happens if the update is interrupted?

6. What is the mobile platform strategy?

Which Android and iOS versions are supported? Which permissions are needed? What happens in the background?

7. What does support need to diagnose problems?

Can the app export logs? Can the device report its state? Can support distinguish between signal, firmware, app, permission, and hardware problems?

8. What should be simulated?

Can developers, testers, sales teams, and app reviewers use the app without real hardware?

9. Which technical decisions must be made before coding?

Architecture, protocol, sync, security, cloud, UX, and testing decisions should be made before the team invests heavily in implementation.

10. What is the cost of getting this wrong?

A wrong architecture can create months of rework. A missing sync concept can break the product model. Poor diagnostics can increase support costs. A bad update strategy can create field failures.

These are not only technical risks. They are business risks.


The solution: architecture before code

The best time to reduce connectivity risk is before the full product build begins.

That does not mean spending months on theory. It means taking the right decisions early enough, before they become expensive to change.

A good connected product planning phase should usually include:

  • product architecture review,
  • BLE / Wi-Fi connectivity risk analysis,
  • Android and iOS mobile strategy,
  • device protocol concept,
  • cloud and data roadmap,
  • sync and multi-user model,
  • firmware update strategy,
  • security and access model,
  • diagnostics concept,
  • test matrix,
  • and prioritized recommendations.

This is exactly where a structured blueprint phase creates value.

Before writing thousands of lines of code, the team gets clarity on what should be built, why it matters, and how the system should evolve from prototype to production.

Because in connected products, speed alone is not enough.

Building fast in the wrong direction creates expensive rework.

Building with the right architecture creates speed later.


Conclusion: connected products fail when complexity is discovered too late

A connected device is not successful because it connects once in a demo.

It is successful when customers can use it reliably in the real world.

That means the product must handle weak signal, reconnects, permissions, background behavior, firmware versions, multiple phones, stale data, cloud sync, diagnostics, support, and future updates.

These challenges are solvable.

But they become expensive when they are discovered after development is already underway.

The companies that succeed with connected products do not simply ask:

"Can we build the app?"

They ask:

"What decisions must we get right before we build?"

That is the difference between a prototype that works and a product that is ready for production.


Ready to reduce connectivity risk before development gets expensive?

If you are building a connected product with BLE, Wi-Fi, Android, iOS, cloud integration, or multiple devices, the most valuable step may not be writing more code.

It may be making the next technical decisions with more clarity.

At Albrecht Apps GmbH, we help companies building connected products reduce technical uncertainty before expensive mistakes happen — from architecture and mobile strategy to BLE connectivity, cloud planning, UX, and production readiness.

Let's identify the decisions that matter most before they become costly rewrites.

Let's talk about your connected product.

Book a 30-minute Product Discovery Call and get clarity on the technical decisions that matter most — before they get expensive.

Book a Product Discovery Call