Hey everyone, Ryan here.
It’s been a busy last month as we finished shipping and continue to improve Arsenal 2. So let’s jump right in to some updates.
What We’ve Been Working On
The team and I have spent most of the past few months working through the remaining Arsenal 2 bugs. Arsenal 2 got a ton more internal testing than Arsenal 1 before it rolled out, and the team did a great job getting through most of the issues before shipping. That said, in a project like this you can’t catch everything and we’ve been focused on making improvements as we see your feedback.
The challenge with Arsenal is what we call the setup permutations. Basically there’s a lot (I mean A LOT) of possible variants of the setups people run Arsenal with.
Arsenal variants = Camera Model * Camera Settings * Lens * Phone Model * Phone OS * Camera firmware
This makes catching every edge case before shipping nearly impossible, especially for a small team like ours. We learned a lot in Arsenal 1, and built better tools for helping us debug any issues users ran into (like the Report a Problem button in the iOS app, that sends us a whole bunch of diagnostics).
Between the start of rolling out Arsenal 2 and now, the dev team has spent most of their time fixing bugs. Software projects tend to have a long tail of issues that take some time to work through. Today we started the roll out of version 2.0.32, which fixes most of the remaining issues (see below for more info.) If your phone hasn’t updated yet, you can get the latest by going here for iOS, or here for Android.
Currently we have around 50 unresolved tickets, many of which we think are fixed in this release. There’s probably at least another month of bug work on our end, but the number of outstanding tickets is quickly approaching zero. Also, the tickets we do see are impacting fewer and fewer users. I’m sure as time goes on we’ll get more in, but we think we’re where we can go back to focusing on getting Panorama and Raw Stackers out the door.
Here’s a few of the things we’ve worked through in the past few months.
Camera Power Draw
A lot of cameras have a way to charge over USB(while Arsenal 2 is controlling the camera). We designed Arsenal 2 to be able to charge the camera over USB. When connected to a camera over USB-C (on A2 Pro), Arsenal specifies the amount of power it can deliver (via a USB-PD negotiation). Unfortunately, a few months ago we realized that some cameras (Fuji’s mostly) were ignoring the spec and pulling a lot more power than Arsenal 2 could deliver when Arsenal 2 isn’t plugged in to USB power itself. This high draw caused Arsenal 2’s battery to drain really quickly (because of excess heat), and in some cases would cause Arsenal 2 to shut down.
Solving this issue took some clever engineering on our dev and embedded team’s part. Some of the cameras required Arsenal 2 to change its PD packets to get the camera to request the right amount, and on a few cameras we’ve designed a system that keeps the camera in a state where it isn’t requesting power. This works in most cases, and for the times it doesn’t (when a few cameras are off, they draw a lot of power), the Arsenal 2 app will now warn you about excessive power draw.
This issue got missed in our testing because we usually test with USB connected to Arsenal 2 (lesson learned.) Thanks to the Arsenal team for the hard work in this one, it took a deep dive to track this one down.
Nikon AF-F Focus
On some Nikons there’s an AF-F (full time) focus mode that is only available in live view. This focus mode–if set–would return an error during tap to focus. Canon cameras had a similar issue, but instead of returning an error, they simply return a different value indicating that focus was successful. This release handles both of these scenarios and prevents false “failed to focus” negatives that a few people were seeing.
Minor Bug Fixes
Here’s the full list of changes in the latest release.
- Fixed an issue on the Fuji XPro2 that would show tap to focus consistently failing
- Fixed an issue on several Canon and Nikon cameras where tap to focus would fail if specific live view focus settings were enabled
- Added an alert to the connection screen when a connected camera (or other device) is charging from Arsenal’s USB port
- Added a similar alert to settings for cameras that have a setting option to disable USB power delivery
- For the Fuji XT-3, XT-2, and XH-1 (these cameras don’t have the option to disable USB power delivery), we implemented a workaround that reduces the amount of power they draw from Arsenal
- Improved performance of memory intensive tasks
- Improved Wi-Fi stability in certain conditions
- Fixed a Sony issue where connecting the camera or triggering a smart mode shot would fail when the camera was in Intelligent Auto Mode
- Fixed an occasional Smart Mode crash
- Optimized performance around the Save to Card settings
- Improved performance around mode changes on several cameras
As mentioned above, the team and I have been pretty heads down working on the rollout and bug fixes. We had hoped to have Panorama and RAW Stackers (stacking RAW outputs from Arsenal 2, not just JPEGs) out before we shipped, but the bug fixes had to take priority. We’re just now starting to get some time to get those out the door.
The RAW Stackers are a pretty big project we’ve been working on for what seems like forever. Once the RAW Stackers are finished, you'll have the option to save DNG files for the stacks we render and you'll be able to apply Deep Color to the stacked image.
The big challenge is Arsenal 2 doesn’t have enough RAM to just load a stack of RAW photos into memory at once. So we have to create our own RAW decoders that stream tiles of the image through our stacker pipeline. This is a pretty big task that’s taken a ton of development hours. A lot of the time has been spent building our own RAW decoders that can stream parts of the image, instead of decoding it all at once.
The stackers themselves all operate in 16 or 32-bit, depending on the number of images, so there was a lot of work to make it all fasthe streaming helps quite a bit since parts of the image can stay in higher level caches). We’ve got a really good pipeline now that can stream the stacked photos through our own raw decoding pipeline, and through to Deep Color as well.
RAW Stackers are really close, we’re finishing getting CR3 and RAF support. There’s a few UI changes we need to get in also. We’re hopeful we can have RAW Stackers out sometime in May, assuming the bug load doesn’t increase much.
Now that we’ve made it through most of the release work, we’re circling back to the Panorama feature. It’s been a lot more work than we originally expected to get Panorama out the door, but we hope to start BETA testing it in the next month. We’ll keep you posted as we go.
A few newer cameras support shooting in HEIF format. We’re hoping to have HEIF support integrated in the next release. One issue you see on some cameras is if shooting in HEIF (for JPEG’s), the RAW files will have their previews in HEIF format as well. We have a HEIF decoder up and working and at this point we just need to tie it into the asset processing system.
There are some bugs at the moment if you are saving JPEG’s to one card and RAW files to the other. The main issue is on some cameras, the files end up with different names and our system was designed expecting the JPEG and RAW files to have the same name. We hope to have this in the next release as well.
First off, I want to thank our incredible backer community for their support. We couldn’t be here without you. Perhaps most notably, your support and understanding during COVID-19. Launching Arsenal 2 during a pandemic, and ensuing massive disruptions to supply chain and logistics, proved even more challenging than anyone could have anticipated. I know everyone wanted their Arsenal 2 sooner, but by and large the community was very supportive and understanding as we dealt with these challenges. Thank you.
Second, I’d like to thank the Arsenal 2 team. The monumental task of developing, manufacturing, testing, and shipping Arsenal 2 alone is worthy of thanks, let alone with the small team we have. And then COVID-19 was thrown in for good measure. The team constantly was finding ways to minimize (or avoid) impact to quality or the schedule as challenges arose, most of which were outside of our control during the pandemic. I’m proud of the team’s accomplishments during these difficult times.
We're seeing a lot of great images being created with Arsenal 2 and can't wait to see what you shoot next. Thanks again for all your support!