WhiteboardQ - From Demo to Durable

WhiteboardQ - from demo to durable

WhiteboardQ is taking shape. This week was about making it survive real world “small business IT”: weird networks, locked-down (and wide open) PCs, and “Front Desk server has to work for a non-techie”. Handed version 0.9.7 off yesterday to channel partner for a demo to our first dental client soon! In parallel to supporting real local clients through established channel partners, I am getting whiteboardq.com production ready to sell as a full B2C application (business-to-consumer… think “buy now” button, credit card, download your software").

WhiteboardQ 0.9.7

This week (1/20-1/23) I worked on WhiteboardQ for 27 hours. Since I am a one-human show, I get to do design and implementation, documentation, and test. Other stuff too. The loop is tight, but it’s a large volume of work and lots of context switching. Here’s what I got done in the last three days:

Architecture

  • Split server manager into two separate executables (FrontDesk vs BackOffice) instead of runtime detection…

    • FrontDesk: tray app, subprocess control
    • BackOffice: stand alone app, Windows Service control
  • Server-authoritative config (thresholds, sounds moved from client to server. This is a much better “real world” fit than each client having its own configuration (Chaos!) Threshold times and sounds need to be consistent office wide.

Installers (Inno Setup)

Install/uninstall hygiene is what earns trust from end users and IT. First (and last) impressions matter a lot.

  • FrontDesk installer (tray flavor)
  • BackOffice installer (service flavor)
  • Client installer
  • Firewall rules baked in for ports 5000 (comms) and 5001 (discovery)
  • Got all of the default settings “right” for real world scenarios (front desk = less technical, back office = IT pro)
  • Pre-install notice for BackOffice explaining to IT staff about Windows Service + auto-start
  • Uninstallers offer option to remove data files
  • Servers require admin, client does not
  • Wrote an IT tool to detect if WhiteboardQ files / service / registry keys / firewall rules are present.

Server Discovery

  • UDP broadcast discovery (port 5001) - zero configuration
  • Client broadcasts, server responds with IP
  • Discovery enumerates all network interfaces, broadcasts on each interface’s broadcast address
  • Works on dual-NIC, multi-homed, VPN systems
  • Client reconnect on discovery implemented
  • Logging added to client discovery (for initial setup debug)

Client UX

  • Settings simplified: just IP/hostname and port, not wss:// format
  • First-run wizard auto-detects server, sets hostname, allows override
  • Auto-start on Windows boot (configurable)
  • Auto-reconnect if server goes away
  • Settings UI and About dialog cleanup
  • –debug flag for verbose logging
  • Logs to %APPDATA%\WhiteboardQ\logs\client.log

Server Manager UX

  • New UI layout: License → Status → Logs → Thresholds & Sounds
  • Threshold inputs are just integers (removed “minutes” from editable text)
  • Green/yellow/red tray status icons
  • UI sizing fixed (was unreadable on small displays)
  • Admin warning for service start/stop in BackOffice mode

FrontDesk Server

  • Windows mutex + RegisterWindowMessage broadcast
  • Double-click shortcut while running in tray → brings existing window to front

Network and Firewall

  • Tested Multi-homed system network configurations for real world hardening

    • Mix of wired, wifi, and VPN networks
    • broadcast out through each adapter
    • handle edge case of no server, multiple servers found
  • Allow any firewall profile - important for demos, industry standard, let IT lock down if needed

Testing

  • Multiple code reviews on all 3 codebases (peer, security-focused, compatibility-focused, redistributable-focused…)
  • Verified on Windows Server 2019+ (full support)
  • Windows Server 2012 (and earlier) NOT supported in mainline product, but will offer white glove support for channel partners for 2012).
  • Multi-homed / VPN systems tested with various firewall configurations
  • Tested on 6 different Win10/11 systems ranging from potato to my gaming rig. All performed great.
  • Slow, busy, error conditions on network tested
  • 113 automated unit / function tests all passing
  • Load test: 60 clients × 10 msgs/min × 10 min. Even “Wipe all messages” + “Restore all messages” (worst case) stayed stable.

Documentation

  • End user readmes created
  • Updated spec for iterative changes during test / code review loop

Anyone can build a demo. Production-ready is different work entirely. If you’re a SMB IT channel partner serving local businesses, this is the kind of ‘simple, local, works’ software I ship fast. B2C site coming soon. If you’ve got an idea to optimize your business workflow, or even one that needs to become a product, hit me up on my Calendly at johnbrantly.com while I’m still taking on new clients. Look forward to chatting!