Hi all,
Q2 is almost done, so I understand this post comes late. I had a DevTalks article prepared for after the subscription launch to discuss the topic of Onboarding, but given the state of Native Access at the moment, it didn’t feel right to publish this at this moment. Instead, we’ve reconvened and readjusted our strategy, and are now ready to talk about what our plans are moving forward for the remainder of the quarter. Let’s jump into the why.
How did we get here?
Native Access is an important tool to the company. It’s the way that we deliver and authenticate products and give you tools to further manage your catalog. The quality of the service has been improving over time as we brushed off our tech debt and made feature enhancements more important.
For those of you who remembered when we first shipped Native Access, all we prioritized was stabilization, considering that the average user would take up to a full minute to start the application up. We made lightweight releases on an almost bi-weekly basis, and we saw a lot of positive growth. But at some point we began undertaking much larger migrations, whilst simultaneously balancing the business needs. This created a scope bloat, and caused us to release very bulky releases from time to time to cover a vast range of topics, from the onboarding journey to how we manage activations. We created a bunch of releases that while enhancing one part of the app created problems for another. We see 3.9.0 as the first of three releases where some issues began to emerge. .
Due to the bulk of the release, our QA process fell short and let through egregious bugs as a result. We then patched three times within a week due to the damage done, leaving other damages still lingering. 3.11.0 released with the intent to fix some of those issues, but due to another migration that happened we unfortunately shipped a new bug yet again.
The goal of all the work on Native Access was to make sure that both subscription and perpetual experiences function seamlessly together. Unfortunately, we missed the mark.
What do we feel needs to happen?
A short while ago we shipped 3.11.0. This is the first of many milder and smaller releases to come, as well as many more bugfixes to address. With all the bugs we’ve introduced this year, our team has decided to restrategize how we ship stuff. Looking back, our releases have gotten bulkier and bulkier, touching various different parts of the application, and causing us to improve one thing that unintentionally messes up another thing. This is something we aim to resolve, and we plan to tackle this in three ways:
- Our releases need to ship smaller improvements with a clearer focus.
- Our releases need to ship more frequently as a result, to further incentivize that focus
- Our releases need to contain more fixes than features.
With the subscription-driven features now winding down, it’s time to focus on these improvements moving forward.
The remainder of Q2
Firstly, 3.11.0 addresses some activation concerns. We addressed how when users cancel products, especially subscription users that own perpetual products that might be of a lower tier, we need to identify what state to bring those products down to so that you don’t lose access to products you’ve bought. With the new homepage we also saw that when we transitioned the Komplete Now subscription to the 360 subscription a lot of “Canceled” products surfaced again, so we’ve cleared those out. It’s a much tamer release, and we’re monitoring the performance of this release closely to see how it performs. It bears noting that we updated our build systems between releases, which caused a familiar crash for MacOS 11 users to appear again, which we resolved in 3.11.1. Special thanks to all of you who flagged this issue when you did!
We are working to have 3.12.0 be a small but impactful release focused on stabilization. For the month of June, our goal is to undo the bugs that we shipped since 3.9.0. The following topics are ones that we’re taking a closer look at:
- Some users are experiencing indefinite load times on the “Loading Products” phase in the startup flow. We’re going to ship a build out to some users soon to verify the fix. Feel free to message me if you would like to receive those!
- Kontakt is appearing in Demo mode for some users. This is an unintended change that was caused by an update we made to how we handle authentications. We’ve also identified the culprit and are working on the change.
- After an uninstall, especially on Windows, some products aren’t properly uninstalled, leaving them in a broken state. We’ve identified the cause as one that will affect a few other bugs, and are working on a fix now as well.
- Users are updating products that suddenly become no longer compatible with their installed version of Kontakt. We own the journey here, and we should be giving you agency before you update your product, so that you can take more time to make the necessary changes to your projects. We’re aware that this issue has been around for a while, and we’re in the process of building a longer term solution that expands to our full product set, as well as a short term one to mitigate the amount of users that will run into the issue in the future.
There are many more bugs that we are aware of, and we do plan to get to those in time. The aforementioned issues are recent and directly block users’ ability to use Native Access as well as their products, and as such we are limiting our focus here for now. As we proceed into Q3, we will be revisiting how we approach our balance of bugs and features as well as our release process moving forward.
That being said, there’s one feature that’s been close to release ready for a while now. We’re not sure if we can make it in by the end of the quarter, but we are eager to get Locate All out. For users with large catalogs, we’re aware that migrating those to new systems can be incredibly frustrating, taking minutes if not hours or days to locate all of your products one by one. We’re working to make that significantly easier by automating that process for all locatable products. We’re aware that this would exclude plugins, applications, and expansions for now, but we’ll address those in a future release. This feature has been promised in the past, so for some assurances, the backend work is complete and the designs have been finalized, so all that’s left is hooking the feature up to Native Access, which is almost done.
It will be located in a brand new Maintenance menu. We plan to relocate some features here, like Relocate All but under a different name, as well as add other diagnostic stuff that we’re looking into. We’re researching a bunch of issues that users could run into that might need a harder reset in some way, so stay tuned. We’ve been working on this feature for some time now, so this is us clearing the pipeline even further to make room for more bugs to fix.
Why do we not disable auto-updates?
We see this question coming up often. We understand that in the software business it can be dangerous for users to feel like they need to update their products. The reality is that Native Access has many improvements and updates that need to happen, to address bugs like the ones above, to adjust to our ever changing product ecosystem, to enable the business to do what our business needs to do, to remain compatible with the operating system and its infrastructures, and to add features that our users are asking for. Having Native Access auto-update is essential for our business to thrive and for us to be able to support our users the best ways we can.
But that last part is where we’re currently falling short, and I can fully empathize with the frustration and distrust. We are taking proactive steps to reduce the scope of our releases and put more emphasis on quality assurance moving forward, and will work hard to earn back the trust of the user base. Our relationship with you goes both ways and lately we’ve been failing you. For that, all we can do is apologize and let our work speak louder than the words in this post.
Thank you all for taking the time to read, and once again apologies for the experience everyone is having. I’m also heading on holiday, so I will be a little less active with my responses. Thank you for the understanding.
Kind regards,
Hayo, PM of Native Access