Hi @jstewart01
Do I sense some pitch forks and burning torches near by 
On a serious note, there is no excuse for the delay on Tidal Connect. We had it certified back in November, but a stack up of events have meant that we had to delay the launch multiple times, otherwise we would of ended up introducing quite a few bugs into the Naim streaming eco-system.
Let me explain a bit of how things work internally and why sometimes it can end up with various features all bunched up into one release.
On the core streaming services, Naim use a third party company who develop a stack that has all the stream services in. This is a very fast moving “main line” code base and often large areas of it get recoded so a new feature can work. Typically new security requirements, lower latency, large updates to some core services and so on. Each customer of this third party have code branches and each customer has a dedicated team of engineers who manage the branch + all the customer customisations and product centric bug fixes / integration issues. Naim has about 1600 patches for reference.
To gain any new feature you must take from the “main line” and integrate it back into your branch. This is sometimes easy, other times its a huge unit of work and you can’t just cherry pick one feature - vast chunks must be taken and this often upsets all the patches done in the past + you inherit new bugs from the main-line code as well.
If you’re a tier1 customer (of which we are) then often new features are not debugged by the time we have to merge, so its a battle to get code stability as all the suppliers debug and often do radical last minute changes to their code.
In parallel we have:
- Streaming services like Google, Apple, Tidal, Spotify all wanting library updates pushed out into new releases. Some we are under contractual obligation to release.
- End of life hardware components. For example, front displays which can introduce a huge amount of software work and also block production if we don’t do it in time.
- New product development - all those lovely new products don’t make themselves
- General bug fixes to keep the peace with other apps that have changed how they work. Quite often these fixes are quite niche, but rather critical to a customer if they have that stack up of requirements to trigger the bug.
- Recertification of code - unlike opensource code, we have to go through official cert labs and this can take months.
- Sound sign off to get everything electrically all balanced so it really sings.
- All the code stacks & apps that we do inhouse that fit on top of the streaming stack and the n’th other dedicated processors in the devices. This is not just a third party exercise as a huge amount of code is developed at Naim as well.
So inhouse we use pretty modern development techniques (Agile, all tracked in Jira, daily standups, MoSCoW priortisation etc etc), but the reality is that nothing will pause if something delays a unit of work. The new libraries updates keep on stacking up, the new “must have” features keep on arriving, etc etc. so if we focus just on getting one feature out, all the rest then build up and we have big problems 6 months later.
Overall though, the v3.7 release is very close now and it carries a lot of good stuff (some hidden…). We’ve had it in public beta for quite a long time, but we want it right, and not be going from one collection of bugs to a new collection of bugs. The current production v3.6 release represented a lot of work to get a stable codebase and as you can tell from the forum, the amount of quirky issues being reported have dropped off massively.
I hope that clarifies a few things and gives a bit of insight of what goes on in the world of R&D.
Best wishes
Steve Harris
Software Director
Naim Audio Ltd.