Home

Blog

CONTACT US

BLE

Bluetooth

Device

Mobile App Development Case for Await

ABOUT PROJECT

Rolling Square is a technology company focused on creating innovative consumer hardware products combined with modern digital experiences.

Await was developed as a connected mobile platform for their camera ecosystem, allowing users to transfer, process, organize, and print photos directly from their phones. The project was important because it combined hardware interaction, cloud infrastructure, image processing, and print fulfillment into one seamless user experience.

CLIENT REQUIREMENT

“The goal was to build a mobile application that could reliably communicate with a dedicated camera device, manage roll transfers, process photos, and support printing flows while maintaining a smooth and user-friendly experience.“

Flutter & Dart

Supabase

Stripe

Cloudinary

Cloudprinter

Firebase Cloud Messaging

Google Places API

Flutter & Dart

Supabase

Stripe

Cloudinary

Cloudprinter

Firebase Cloud Messaging

Google Places API

Outcomes

Camera Connection & Roll Transfer

The app establishes communication between the Await camera and mobile devices, allowing users to transfer photo rolls directly into the app.

The transfer process includes:

  • Camera-to-phone synchronization
  • Roll management
  • Transfer progress loaders
  • Error handling for interrupted transfers

Special attention was given to transfer stability and handling edge cases related to Wi-Fi communication and device state changes. The implementation included complex synchronization logic, connection recovery handling, multi-stage roll processing flows, and transfer retry logic designed to improve stability across real-world device conditions.

Photo Processing & Delivery

Transferred photos are processed and prepared for viewing, storage, and print fulfillment.

The system supports:

  • Cloud-based image delivery
  • Dynamic image transformations
  • Thumbnail generation
  • Watermark support
  • Optimized image loading for mobile devices

This architecture allows scalable image management while keeping the user experience responsive.

Gallery & Photo Management

The application includes a gallery system where all synchronized rolls and processed photos are stored and organized inside the app.

Users can:

  • Browse rolls and individual photos
  • View processing and print statuses
  • Select multiple photos
  • Download photos to their devices
  • Share photos externally
  • Delete selected photos
  • Manage print-related photo actions

The gallery flow was designed to provide a smooth and intuitive experience while handling large image collections, synchronization states, and cloud-delivered content.

Special attention was given to roll organization, photo state management, and responsive gallery performance during synchronization and processing-heavy flows.

Printing Flow Integration

The application supports print ordering directly from the mobile experience.

Users can:

  • Select roles for printing or use automatic mode
  • Receive quote calculations
  • Submit print orders
  • Track fulfillment statuses

The system integrates with Cloudprinter APIs to automate print workflows and order processing.

Payments & Checkout

Stripe integration enables users to complete purchases directly inside the application.

The implementation supports:

  • PaymentSheet flows
  • Apple Pay
  • Google Pay
  • Saved payment methods
  • Webhook-based payment confirmation handling

This ensured a streamlined and secure checkout experience across platforms.

Camera Ownership & Unlink Protection Flow

The application includes a protected camera ownership system designed to improve device security and user privacy.

Once a camera is connected to a user account, another user cannot connect the same device without first unlinking it from the original account.

The unlink flow includes:

  • Secure camera ownership validation
  • Camera unlinking from the current account
  • Protection against unauthorized device reassignment
  • Automatic deletion of unfinished rolls from the camera during unlinking
  •  Prevention of accidental personal data transfer between users

This flow was implemented to improve privacy protection, secure user-generated content, and reduce risks related to stolen or reassigned devices.

Notifications & User Communication

Push notifications help users stay informed about:

  • Transfer completion
  • Processing status
  • Print order updates
  • General app communication

Firebase Cloud Messaging was integrated for both iOS and Android platforms.

Challenges

Camera Connectivity & Device Communication

One of the biggest technical challenges was maintaining stable communication between the physical camera and mobile devices.

Key complexities included:

  • Handling unstable Wi-Fi states during transfer
  • Managing app lifecycle interruptions during roll synchronization
  • Supporting different device-specific networking behaviors
  • Handling edge cases when users background or close the app during transfer

Additionally, all cameras used the same SSID pattern, creating limitations when multiple cameras were nearby simultaneously.

Background Transfer Limitations

The transfer flow required careful handling of operating system restrictions.

A particularly sensitive stage was the initial camera-to-phone transfer process, where backgrounding the app could interrupt synchronization or freeze the process.

The application required custom logic and user guidance to reduce the risk of incomplete transfers or photo loss.

Long-Cycle Testing & QA Complexity

Testing required full real-device interaction cycles, including physical photo creation, roll synchronization, processing, and transfer validation.

Challenges included:

  • Long end-to-end testing cycles
  • Repeated retesting after connection-related fixes
  • Hardware-dependent QA scenarios
  • Cross-platform connection validation
  • Real-device instability reproduction
  • Testing dependency on physical camera availability

Multi-Camera Environment Limitations

During development, additional complexity appeared when multiple Await cameras were active nearby simultaneously.

Challenges included:

  • All cameras using similar SSID patterns
  • Device discovery conflicts during connection flows
  • Difficulty identifying the correct target camera
  • Edge cases related to simultaneous nearby device availability
  • Additional synchronization and reconnection complexity

The issue required additional investigation, connection flow adjustments, and edge-case handling to improve stability in multi-device environments.

CONTACT US

Request a free consultation
with our experts & estimate
your project

SEND REQUEST

case img case img case img case img case img