TalQ — a native (non-Electron) Windows desktop client for Nextcloud Talk [open source, beta]

Hi all :waving_hand:

I run a small ISP, and Nextcloud Talk is how my team actually talks all day — support, on-call, the lot. The official Talk desktop app
works and it’s the reference I learned the protocol from, but a Chromium instance per window is real RAM and latency on the machines my
staff use. I wanted something that opens instantly, idles at near-zero CPU, and survives being left running all week.

So I built TalQ — a native Qt / C++ desktop client for Nextcloud Talk. No web view: the conversation list and messages are drawn
directly with QPainter. It speaks the same Talk HTTP API the official client does; it just renders it the way I wanted to look at it
forty times a day. It’s open source (Apache-2.0).

What works today

  • Chat — conversation list (unread / mentions / favorites, sort + filter), bubbles, threads, replies with quoted context, reactions,
    read receipts, in-conversation search.
  • Files — share from disk or Nextcloud, image previews, a per-conversation “shared files” view; large files now upload in chunks
    instead of hitting a size wall.
  • Calls — 1:1 and group audio/video over WebRTC, screen sharing with a live thumbnail picker, noise suppression and automatic mic
    leveling. Simulcast publishing (180p / 360p / 720p) lets a receiver on a weak link drop down without dragging the whole call with
    them.
  • Native desktop feel — a tray that behaves, native notifications, four themes, near-zero idle CPU.
  • Login Flow v2 — browser login, no password stored.

Where it honestly is

  • Windows 10/11 only for now — it uses Windows-specific media/compositor paths; Linux/macOS would need those reworked.
  • Beta. Chat is my daily driver and rock-solid. Calls + screen share + simulcast are verified end to end in real 1:1 and conference
    use, with a headless self-test suite asserting the publish/subscribe path on every release. The areas that most need outside eyes are
    call reliability across the full range of NAT / firewall / device setups and larger (3+) meetings.

Links

What would help most

If you give it a spin, the highest-value feedback is anything about call setup across real networks — if you can reproduce a call
failure with a note on your NAT / firewall / devices, that’s gold. I’m also genuinely curious how much Linux demand there is out
there.

Happy to go into the architecture (native QPainter rendering, GStreamer WebRTC pipelines) if anyone’s interested.

— Kalin


TalQ is an independent, unofficial client. “Nextcloud” is a registered trademark of Nextcloud GmbH; TalQ is not affiliated with or
endorsed by Nextcloud GmbH.

Small update, about a week on — thanks for all the early interest.

I’ve been heads-down on call quality since posting. Video and screen-share now publish in simulcast (several quality layers at once) and adapt the bitrate to your connection live, so everyone on a call gets the best their own link can carry instead of dropping to the weakest one. Screen-share scales up to 4K. And the encoder overload that could freeze video on older or weaker machines is fixed — it now eases quality down under CPU load instead of stalling.

Threads/Topics got proper UI support too: thread-aware message routing and a reply-preview, so a side conversation doesn’t bury the main one.

Also since the post — a few stable releases (latest is 0.50 “Slartibartfast”), a fix so a call survives a peer’s brief Wi-Fi drop, and echo cancellation. Still beta, still Windows-only for now, but it’s getting solid. More soon.