Repository navigation
Releases: naixx/viewapp
Release list
2.2
Keeps the ramping limits working with VIEW firmware 1.8.56.
Works with VIEW firmware 1.8.54+; get 1.8.56 (
naixx/VIEW)
for much lower CPU load and battery drain while shooting, and the new Cable Release mode on the VIEW.
Fixed
- Ramping options of a running time-lapse with VIEW firmware 1.8.56: the ISO, aperture and shutter limits
take the camera's value lists from the settings message. Firmware 1.8.56 no longer repeats those lists in the
status it sends on every frame (1.8 KB instead of 17 KB), so with ViewApp 2.1 the limits had nothing to pick
from. Older firmware keeps working as before.
2.1
[2.1] — 2026-10-18
Camera controls on the status screen, a closer look at a running time-lapse, and a round of fixes from
real night runs.
Works with VIEW firmware 1.8.54+; get 1.8.55 (
naixx/VIEW)
for the drive mode line, a notification when a running time-lapse stops producing frames, and a much
faster VIEW boot.
Added
- Camera controls — shutter, aperture and ISO pickers with the camera's own names, EV −/+, a test
shot and live view, right on the status screen. - Histogram of the frame under the player — follows scrubbing and playback on the running-status
and clip screens; computed in the app with the VIEW's own formula. - Frame progress bar on the running status screen, like the VIEW's OLED: exposure, download and
processing, and the time since the capture started, so a late or stuck frame is visible from the
phone. - Ramping options of a running time-lapse — the exposure limits are shown by the camera's names
(e.g. "Limits: ISO 400-6400, aperture f/1.4-f/8, shutter up to 20""), and the Ramping Options dialog
can change the ramp parameters and the ISO, aperture and shutter limits mid-run; they apply from the
next frame. - Drive mode of the camera under the exposure, e.g. "Drive mode: Continuous Shooting Lo (Single
from the next shot)" — the VIEW switches to Single before it shoots (firmware 1.8.55+).
Changed
- In access-point mode the app keeps the phone on the VIEW hotspot: Android used to leave it for mobile
data (the hotspot has no internet) and not rejoin it after the hotspot restarted.
Fixed
- Connecting when the phone and the VIEW are on different subnets.
- Status and settings parsing for fractional and null values (no camera connected, highlight
protection stepping by 1/3). - "camera disconnected" instead of "unknown connected" when the camera drops off mid-run.
- The clip length on the running status screen (it divided the capture time by 30).
- "Download failed" right after starting a time-lapse: frames are no longer fetched before the first
one. - A time-lapse started from the app after a VIEW reboot could wait forever without a frame: the start
delay is now always sent.
2.0
[2.0] — 2026-06-29
The headline of this release: you can now create and launch time-lapses directly from the app —
the feature that was previously "in development". The app is no longer just a monitor; it's a full
controller for the VIEW.
Requires custom VIEW firmware 1.8.54+ (the
naixx/VIEWfork).
Added
- Create & launch time-lapses from a full program editor with three modes:
- Auto Ramping — automatic exposure ramping with day/night interval, bracketing/HDR, and a
ramping-options dialog (ramp parameters, day/night luminance, highlight protection, ISO/aperture/
shutter EV limits). - Basic Fixed — fixed interval and frame count.
- Eclipse — eclipse-aware planning with pre-eclipse / partial (C1–C4) / post-eclipse phases and
automatic recalculation for your location. - Plus delay-start, optional scheduling, and Save program to store a configuration on the device.
- Auto Ramping — automatic exposure ramping with day/night interval, bracketing/HDR, and a
- Live editing of a running time-lapse — adjust frames, ramp mode, brightness/EV reference
offsets, interval, and day/night interval mid-capture, ramped smoothly over a chosen number of
frames. - New YouTube-style seek bar for the time-lapse player: an overlay scrubber with tap-anywhere-to-
seek and a "go live" pill while a capture is still running. Works for both finished clips and the
live status screen. - A notification bell surfacing device messages/warnings.
Changed
- More reliable per-frame download flow for clips (batched downloads, better cancellation/handling).
- Reworked status and clip-info screens around the new player and seek bar.
- Upgraded the build to AGP 9.2.1 / Kotlin 2.4.0.
Fixed
- Live
intervalometerStatusframes from the device now deserialize correctly — aStatusfield
typed@Contextual Any?had no registered serializer, so every running-status frame failed with
"Serializer for class 'Any' is not found" and was silently dropped. - MP4 export color conversion (YUV) — corrected exported video colors and encoding robustness.
- Various frame-download edge cases during live captures and reconnects.