In the first part of this article, I explained that I put together a system for producing user guides for apps, by writing the guides in Swift itself, and having the compiler turn that into code/data. It can then be turned into HTML on demand, or inspected by the app to generate the table of contents, search indices, and so on.
In this part, we’re going to look into how that actually happens: How does it work? How does the code get turned into a data structure? And most importantly, how do you make it easy and comfortable for a human to write a user guide in a language intended for programming computers?
There’s a school of thought that says iOS apps shouldn’t have user guides, because they should be simple enough not to require them. This is a pretty good rule of thumb for many consumer apps, but for Pro apps like Ferrite or Hokusai it breaks down, because if you simplified them enough that a user guide was never required, they would no longer be Pro apps.
This is another post in which we discuss a common issue that’s useful to know when working with audio (in any app, but also showing how it can be relevant to Wooji Juice apps like Ferrite Recording Studio or Hokusai Audio Editor).
Today, we’ll be discussing “clipping”. As we’ve discussed previously, audio is represented by a waveform that represents the movement of the mic/speakers over time:
Welcome to 2020! This post is going to cover a common audio editing issue, something called “Zero Crossings”. It’s not specific to any one app — it can be useful background info for anyone who edits audio — but I’ll also mention how it can be relevant when working with Wooji Juice apps like Ferrite Recording Studio or Hokusai Audio Editor
One of the things that has characterised iOS apps from the outset has been smooth animation. This is helped by the fact that there’s a shared animation engine running on the system that keeps everything ticking along while apps are doing other work, and also by the fact that animations are very easy to add:
Ten years ago today, the App Store opened for the first time.
Ten years ago today, Wooji Juice began selling its first iOS app in the App Store.
In the following months, there would be something of a “gold rush” as people piled in to try and capitalise on the success of the iPhone, but Wooji Juice was there on day one.
I’d quit my job a month or two earlier. When the iPhone was announced, I believed that if Apple did what they said they were going to, then it would be a breakthrough product that upended the technology world. But the software was the missing piece of the puzzle.
The latest update to Hokusai Audio Editor is out today, and it’s pretty packed. Everyone gets access to new features, and if you have the Pro Pack, there’s even more. Here’s what’s new:
Apple recently released iOS 11, and one of the headline features is drag and drop support on iPad.
Of course, apps have long been able to implement their own drag and drop features — it’s a major part of how you edit audio in Ferrite, and it makes smaller appearances in other Wooji Juice apps too. Both Grain Science and Mitosynth let you use drag and drop to change the order of special effects, for example.
One of the biggest new features in Ferrite v1.5 is Auto-Levelling. Often I make a video to show off new features of Ferrite, but with Auto-Levelling there’s not a lot to see on-screen: you just switch it on, and let it work its magic. I thought I’d write up a post about it instead, rather than trying to explain it in subtitles on what would be a mostly-static video!
Last week, Apple announced their new iPhone 7 and iPhone 7 Plus devices, and the internet collectively flipped its shit. The reason? The removal of the standard headphone socket.
Like any product engineering decision, this one comes with trade-offs. There are advantages and disadvantages; if the disadvantages outweigh the advantages, for you personally, it’s completely reasonable for you to be disappointed.
On the other hand, the degree of shit-flipping over the past few days has been spectacular — and most of it has been based on what could, charitably, be called misunderstandings at best.