About this project

Advantages of the app

  • Native Functionality: SondeView leverages native components such as maps (Google Maps or Apple Maps) to enhance your experience.
  • Push Notifications: Future updates may introduce GEO Alerts, allowing you to set boundaries around a location and receive push notifications. Individual accounts will be required to store user preferences in a database.
  • Personalization: Customize filters, maps, and user settings, and save them for future use.
  • Enhanced User Experience: Enjoy a smoother and more intuitive user interface designed for ease of use.

Technical details

Websockets and Live Updates

The Sonde View app uses SondeHub's MQTT (Message Queuing Telemetry Transport) Websocket for live updates via a proxy server.

  • Connection to Proxy Server: The Sonde View app connects directly to the SondeView proxy server, which allows multiple app connections without putting any extra load on SondeHub. This proxy server acts as an intermediary between the app and SondeHub.
  • Proxy Server Connection: The proxy server maintains a single active connection to one endpoint of SondeHub's MQTT Websocket. This centralized connection provides the app with essential data such as latitude, longitude, time, and serial number of the balloon.
  • Proxy Server Management: The proxy server efficiently manages its connection to SondeHub:
    • Single Connection: The proxy server connects to SondeHub with a single persistent connection, which supports multiple app connections simultaneously.
    • Dynamic Disconnection: If there are no active clients connected to the Sonde View proxy, the server will disconnect from SondeHub to save data and resources.
  • Balloon Selection: When a user taps on a live balloon within the app, the app connects to the proxy server, which in turn provides a dedicated connection to SondeHub's full endpoint for that specific balloon. This allows the user to access comprehensive live data for the selected balloon.
  • Selective Data Streaming: The app streams live data only for the balloon selected by the user, optimizing data usage and ensuring the user receives relevant and detailed information.

By maintaining a single connection between SondeHub and the proxy server, and allowing multiple connections from the app, Sonde View ensures a smooth and efficient experience for users tracking live balloons without overloading SondeHub.

Technical Diagrams

SondeView Diagram

Technical Diagram

Websocket Diagram

Websocket Diagram

Motivation

The Sonde View app was developed as a side project with the goal of providing a modern, user-friendly experience for tracking and monitoring weather balloons. Here are some of the key motivations behind its creation:

  • Advanced Mobile Features: Sonde View was built with advanced mobile features in mind, aiming to provide functionality and capabilities that are unique to mobile platforms. These include real-time notifications, advanced location monitoring, and other features designed specifically for mobile devices.
  • Passion for Weather Balloon Tracking: The primary goal of creating Sonde View was to offer a more advanced and intuitive platform for tracking weather balloons. This includes incorporating mobile-specific features that enhance the user experience.
  • Modern User Interface: A major motivation behind the app's creation was to provide a better, more modern user interface. This focus on design aims to improve accessibility and ease of use for all users.
  • Support for SondeHub: While making a profit is not the primary goal, there is an intention to monetize the app and donate a portion of the proceeds to SondeHub when the project gains traction. This will help support the ongoing development and sustainability of SondeHub.