devlog > beta
Demo mode, first-launch flow, and more
Captain's Log: Stardate 78738
In my last update I wrote about how I had gotten the website mostly ready for accepting payments for the public Beta. Since then, I have spent most of my time working on Anukari itself.
Demo mode
Anukari now has a working free demo mode. When there's no valid paid license, it operates normally with all features available, except that periodically the output sound is significantly ducked and some white noise plays, so that you can try everything out and hear how things sound, but can't really use it for anything productive.
Originally I started with just adding periodic white noise, but what I found was that on different speaker configurations, the same level of white noise varied from "not that motivating" to "shockingly loud." When Jason first tested the demo mode, the white noise was so loud that it startled him. That's no good! So the new mechanism where the gain on the plugin output is ducked is much better. The white noise can be a lot quieter in an absolute sense white still being loud relative to the plugin signal.
In addition to the periodic noise, the demo mode shows a little "DEMO MODE" panel with a "buy now" button and a button to register if you already have a product key. This panel pulses brightly during the white noise periods, to hopefully make it super clear that the noise is related to the demo mode, and the plugin's not just broken or something.

First-launch flow
For users that have paid for Anukari, I don't want them to always have to go through the free demo mode to unlock it, which seems mildly annoying to me. So I added a first-launch dialog flow where you can choose to launch the free demo, or you can just directly enter your product key and skip that.
I've wanted this flow for a long time, since it does some other nice things. One really important part is that it prompts you to pick an initial 3D visual theme. Our 3D artist, Amfivolia, made a ton of cool skins and skyboxes, and we were debating what the best default was. I came to the conclusion that this is not a one-size-fits-all scenario, and the best thing is to let the user pick the starting skin. This also serves to let the user know that the 3D graphics can be customized, which might not be otherwise obvious.

Preset chooser
Jason has been working to create a bunch more presets, and at this point he's as much of a power user as I am. He brought to my attention how annoying it was to audition presets by going to File > Open > Factory > click for each preset, and he also pointed out that the lack of folders for organization was a pain. He suggested adding a simple preset chooser widget.
I was a bit reluctant to add any feature with the Beta so close, but I decided to hack together a quick version of the chooser, and immediately I realized that it was very worth including this as a feature in the Beta. It makes it dramatically easier to try a bunch of presets, which is exactly what I want people to do for the free demo.
I've spent a lot of effort over the last couple of years to make Anukari load really quickly, both at cold start, and when opening presets. And all that work paid off when I first started mashing the "next preset" button -- cycling through presets is virtually instantaneous, even for huge, complex ones. It is really satisfying.

Preset properties in the accordion
Another thing that Jason pointed out was that the "Options > Preset properties" menu was a little bit buried. This menu contains the settings for the polyphonic instancing mode, global pitch controls, MPE settings, etc, and it was pretty hard to discover. And despite the name of the menu, it was still a little unclear that it was preset-specific.
Again, I was hesitant to slow down the Beta by changing this, but the fix I had in mind involved some noticeable visual changes, and Jason is working on tutorial videos as well as screenshots for the user manual, etc, and especially for the videos I wanted to get any big layout changes done so that the videos aren't out of date immediately.
The big improvement here was something I'd wanted to do for a long time but was never certain about until now: I moved the "Master" panel with master gain, etc, which used to be a fixed rectangle in the lower right of the window, into the property-editor accordion. So instead of a fixed box taking up a bunch of valuable pixels, the Master panel is now a "Preset Properties" panel that can be fully-collapsed.
This has two major advantages:
Since the Preset Properties panel is in the accordion, it can now scroll, and so the stuff that was formerly buried under "Options > Preset preferences" is now directly available from the main screen.
The Preset Properties panel can be hidden completely, and thus the entire vertical real estate on the right-hand side can be opened up for editing other objects. Especially for objects with a lot of properties, like Mics or Oscillators, having all this space available to see the properties is really nice.
What's left for the Beta?
The website and Anukari itself are both pretty much ready for the Beta. There are a couple of small bugs I want to resolve, but nothing big.
So now the remaining pieces are mostly non-engineering details. Jason is going to finalize the new factory presets, which should bring us close to shipping with 200 presets. He's also working on tutorial videos and a first-time walkthrough video.
And I am starting to work on the Beta launch video for YouTube. My plan is to make something similar to the original "Introducing Anukari" video from 2023, but updated to announce the Beta, and show off all the stuff that Anukari is capable of now.
So... we're getting close. :)
Preparing for the open (paid) Beta
Captain's Log: Stardate 78674.7
It's been a while since I wrote a devlog update, but I promise it's not for a lack of stuff to talk about. Rather, it's the opposite: I've been so busy with Anukari work I haven't had time to write up a devlog entry!
Anukari is feeling extremely stable at this point, and I'm up to about 85 factory presets. I did a pass through all the existing presets and made sure that all of them have about 2 DAW host automation parameters, which made them dramatically more fun to play with. And, in an exciting development, I've contracted with someone awesome to make more presets, along with tutorial videos and a few other things.
With someone else working on presets and tutorials, I've been free the last week or two to work on preparing for the open Beta. This will be the first public (non-invitation) release of Anukari, which is extremely exciting. While there is still a little work left in the Anukari product itself, mostly revolving around implementing the free trial mode, adding some first-time startup screens, etc, what I've been working on recently is getting the web site ready.
The biggest thing was figuring out how I want to do payments. I toyed with a bunch of possibilities, but in the end I settled on using Shopify. The biggest part of my rationale is that, at least in the US, Shopify has become so ubiquitous that I think when I direct my customers to the Shopify checkout flow, they'll be very comfortable with it, and will probably trust Shopify with their credit card number much more than if I implemented CC# collection myself.
But also, using Shopify saves me from a bunch of other tedious work, like implementing admin dashboards for looking at order history, issuing refunds, and so on. The basic integration with Shopify really only took a couple of days.
Overall I'm happy enough with Shopify. But of course I have complaints. My biggest gripe is that Shopify has to do with Shopify's developer ecosystem. It seems to me that a large part of their success is their "partner program," which is a Shopify-supported system for software developers to offer their services to businesses that want Shopify storefronts. So far so good -- this makes a ton of sense, as most local/small businesses that use Shopify are not going to have software engineers to do this stuff.
However my gripe has to do with the app ecosystem. Shopify developers can create apps that add helpful features to a store, which shop owners can then install. So for example, there's an app to add a warning to a cart when too many of one item are added to the cart. Many of the apps are extremely simple stuff like that. Which sounds fine, right?
It is not fine. The problem is that since developers sell these Shopify apps on Shopify's app store, Shopify gets a cut. And all the apps I've seen have a recurring subscription payment. The simple 10-lines-of-code app I described above is $6/month. So, because Shopify gets a cut of $6/month, they are hugely disincentivized to add these kinds of simple features to the core platform. They are also disincentivized to make the core platform easier to use in general, because then maybe users would solve their own problems without paying $6/month to solve them.
Obviously for me this is not such a big problem, since I'm a software engineer and can mostly do these things myself. Though, I'd really prefer not to have to learn any more about Shopify's reprehensible template system than I have already. But for local/small business owners, Shopify's app store is just going to nickel-and-dime them to death. I can easily see a specialty business having to pay subscriptions for a handful of apps (many of which cost a lot more than $6/month) just to do the basic things they need.
Anyway, that's enough ranting about Shopify. I have things pretty much working, so I shouldn't complain too much.