Skip to content
soprez
Vision · Journal

What's new in Vision: music, widgets and a reworked interface

What changed in Vision since October 10: the TV becomes a music player, widgets you can tap, a reworked interface, support codes, and what comes next.

The last post introduced Vision. Since then: a few very busy days, some twenty test builds, new features and a lot of fixes. Here is where things stand, without polish, keeping what is shipped clearly apart from what is in progress.

These builds run on the author's own installation and test update channel. They are not published on HACS yet.

The TV becomes the house music player

This is the biggest change of the period: "Party mode" has grown into a real shared-music experience.

Shipped

  • Vision plays music on the TV. The screen shows the cover of the current track, the queue, and a QR code for guests. The whole queue can be driven from the remote.
  • A guest page, designed for phones: scan the QR code, search for a track, add it.
  • A real queue. Adding a track no longer cuts the music: it goes "next in line", with "Play next" and its position shown. For a playlist, you choose between replacing the queue and adding it after.
  • Party open to everyone. During a Party, every device can pick music. Starting, stopping and choosing the speaker remain with Deciders.
  • Covers everywhere: in the playlist, the queue and the Music widget.
  • Volume is set on the TV itself, not in the app, so there are no longer two volumes fighting each other. An external speaker can still be adjusted.
  • Events for your automations when a Party starts and stops. They replace the old "Party Mode" switch: lights and mood are up to you.

In progress

  • Automatic stop after inactivity: stop the music when nobody is listening anymore, after an adjustable delay, with a warning just before. Planned, not shipped yet.
  • Sendspin, a native player. Today, music goes through a compressed format. Sendspin is a new player built into the app: lossless FLAC, no gap between tracks, tight sync between devices, and nearly three times less memory than the first prototype. It is written and lab-tested. It will first arrive "on trial", to switch on in the TV settings, once validated on real TVs. The current player stays the default.

Widgets you can tap

Shipped. Widgets in the mobile app no longer just display things: they act.

  • Each Home Assistant item gets a role that fits its type: Read, Switch, Button or Setting (with "− / +" or a list of choices).
  • You decide who can act: Deciders only, or everyone for that one item. A "For everyone" section then appears on every device.
  • Each widget shows the value, the details, or both. A to-do list can show its items, for instance.
  • To be safe, scripts, shutters and heating ask for confirmation by default. Locks and alarms can never be controlled from a widget.
  • On the TV, widgets stay read-only.

An interface reworked from the ground up

Vision did a lot, but it was, in the words of a review carried out this week, "designed by and for its author". That review went through the whole tool: dashboard, settings, the app on phone, tablet and TV. It found 93 friction points, four of them serious enough to fix before any wider release.

Batch 1, shipped

  • Risky actions ask for confirmation: removing a device means typing its name, and "Close everything" asks first.
  • Permission settings are finally usable on a phone.
  • Clearer words: "Close everything", "Reopen", "Pause protection", instead of one word used for two opposite actions.
  • A Today tab, and notifications take you straight to where you decide.
  • In the app: a device never links to a server without asking, the QR code comes first, and a TV that is not linked says so clearly instead of looking protected.
  • Better contrast and button sizes, checked on every screen size.

Note: to get the new dashboard, you have to regenerate it, and manual edits made to the old one are lost.

Batch 2, in progress: a single "To decide" inbox, and notifications with buttons on Deciders' phones, to answer a request in one tap.

Supporting Vision, with no account and no tracking

Shipped. Vision is free and will stay free. The app now discreetly offers a way to buy a coffee through Buy Me a Coffee: a small QR code in the TV settings, an "About" section on the phone.

In return, a small decorative "♥ Supporter" badge, unlocked with a code checked offline, or simply on your word. Nothing gets unlocked: every feature stays available to everyone. No account, no tracking.

In progress: the service that automatically sends codes to people who buy a coffee is not online yet.

A more reliable PC agent

  • Shipped. An issue kept some PCs from receiving their updates for a few hours. It is fixed, and an automated test now covers that case.
  • The PC screensaver is gone. It has been switched off everywhere, and its full removal comes with the next agent release. It caused too many problems for little benefit on a computer: black screen, frozen screensaver, stutter. TV and Android screensavers are not affected.

Alarm clock and clock

  • The Alarm becomes a module, off by default. The Home Assistant side is shipped: weekly or one-off alarms, or alarms based on a calendar, with daylight-saving handling. An automation template for school days uses the time of the first lesson and skips holidays.
  • In progress: ringing on the devices themselves (Android, TV, PC) and music to wake up to. The module stays off until that is done.
  • Clock: the time that sometimes vanished from the home screen is fixed. A choice of clock styles will come with the next screensaver work.

Also

  • Six languages: French, English, German, Spanish, Italian and Dutch. The last four still need a review by native speakers: help is welcome.
  • One version for every home: nothing specific to one installation remains in the code; everything is set in the interface.
  • A gentler Android home screen: an adjustable warning before access ends, customisable welcome messages, a block screen that follows the theme.

Coming next: simpler permissions

The design is approved, and nothing is coded yet. The idea: for each Requester and each app or website, three clear choices.

  • For a while: open for a set time, even during a closed time range, then closed again automatically.
  • Exception: open even when its category is closed, but still subject to time ranges and screen time.
  • Always available: never closed by Vision.

Websites linked to software will follow: the sites a game or app needs will be suggested automatically, approved by the Decider, open while the software runs and closed right after. An explicit block always has the last word. Existing settings will be carried over with a simulation and an approval step before anything changes.

The roadmap will track progress. And if Vision helps you, you can buy me a coffee.