CS70 wrote:Thing is, writing a driver is not particularly difficult.
It's actually much easier than building a complex business application or even a website. Drivers are easy simply because if you have a very well defined scope and clear interfaces both on the OS side and on the hardware side.
First up full disclosure, I work for Focusrite and have really debated commenting on this thread, Forte was before my time and support decisions aren't my area, so my comments are personal thoughts, from a position of working with the Windows driver team and having worked in Windows software development, since Win 2.x ran on top of MS-DOS, in various companies, small and large, desktop, server and cloud side.
I have a life time of blue screens and crash dumps and must respectfully disagree with writing Windows drivers is not particularly difficult. As part of my some of my roles as a software developer in test, causing drivers to crash is something I've been paid to do and sometimes it really isn't that hard. Getting things fixed however is usually significantly harder task especially when things are happening in real time and sometimes running with the debugger or on a checked build is enough to change timings so things no longer break, or just plain behave differently.
Writing drivers for some peripherals such as printers is easier than others (but the recent MS screw up with printing is a reminder that even with their resources, things still break ), but writing threaded kernel mode drivers is requires considerable dev chops and even if they weren't difficult to write, testing them against the myriad of chipsets / motherboards / DAWs and OS versions is a massive and expensive undertaking. There's always one laptop or PC type where things don't work properly or reliably.
Documentation goes out of date and is sometimes just plain wrong or incomplete. APIs get deprecated - I have some sampler software that broke because access to the registry was changed and it happened to use that for it's licensing protection to name but just one. Timings and security permissions change. Other kernel mode drivers don't play nice. For audio if we miss a window you get dropouts and glitches and reproducing those can be especially time consuming. Windows audio is a nightmare of shifting sands and changing APIs. WDM audio is especially problematic. There's always the worry that the next Windows 10 update will just break things "for a small % of customers" as the saying goes.
It is very frustrating when a manufacturer stops supporting a device and I've been burned many times over the years, especially when there's a switch from hardware or software formats - Vesa Local Bus to PCI, firewire to USB that are just two that I've been through.
Ending support will inevitably might cause some people to vow to never buy from a company again and there are plenty of competitors to chose from. I have a lot of respect for RME, their drivers are excellent both from a technical and long term support perspective and they will have taken financial decisions for levels of support.
As I say, support decisions are not my area and none of the above is from any official Focusrite position, but I think suggesting that any company, Focusrite included, doesn't take careful consideration of the impact of stopping support is a bit on the harsh side, but understand and respect your decision not to chose any more products because of support ending.
I wish the outcome were different and I can't offer any remediation, only that I know the decision wouldn't have been taken lightly.