We have two items to present today: 1) Multi-channel audio & effects; and 2) Text within iShowU Instant.
We’ve spent the last few weeks working hard on the audio & effects processing system for iShowU Instant, and I’m happy to say we’ve got a preview release ready for you that shows it off! For the first time, iShowU users will be able to use dynamics, compressor and EQ on the microphone to make the spoken part of the recording better! Exciting!
Onto the new iShowU Instant demo app. What does it bring over our previous release?
Audio play through and preview of the selected microphone input
Selectable output formats (PCM, AAC, Lossless and IMA), with both bitrate and sampling rate selection.
Mapping from your input device, to the selected output format. e.g: map your stereo microphone to different (or all) channels of a 5.1 AAC, or map channel 8 of a 32 channel desk to L/R of a stereo out.
Dynamics, Compressor and multi-channel EQ effects, which can be adjusted in realtime.
iShowU Audio Capture extension for the capture of app audio
Configuring the channels of the input device
The above pic shows the default channel configuration for a Lexicon Omega that we have here. iShowU will now let you map channels for whatever device you are using for audio input.
Encoding Format Selection
The output tab now shows a whole bunch of options for audio encoding, including bitrate and sample rate choices. The pic below shows the available channel options for AAC – as you can see, there’s quite a few!
Selecting of the number of output channels for the recording
The cool part – Effects
Want to make your mic/voice sound better? Now you can with the built in audio effects processing. iShowU Instant now has dynamics, compressor and EQ built in to the audio pipeline.
iShowU is primarily an instant recording tool. By “instant” we mean it encodes on the fly and produces a usable movie at the end. In other words, it’s fast. Fast to produce results that you can use right away.
Adding text has traditionally been a “post editing” feature, included in tools like iShowU Studio & Final Cut Pro / iMovie (etc). The downside being that it requires re-encoding the movie to produce one with the text added to it. This can sometimes take an hour or more, depending on the length of the recording!
However we recognise that it would be useful to add text features to the “instant” version of iShowU in some form. We’ve thought about options and have come up with a few ways to do it. Please visit and vote on the one that makes most sense to you.
I have finally dragged the uploading service for YouTube into 2015.
Google are finally turning off their username/pwd based upload interface, which means we have to change how iShowU HD communicates with Google for video upload.
The most recent iShowU HD (v2.3.14) now uses Google API v3. The part visible you as a user, is that authentication changes. Like iShowU Studio, iShowU HD will now direct you to Google via your web browser, where you are asked to authenticate the application using your normal YouTube/Google credentials. When complete, HD gets the info it needs to upload videos. Yay!
This is more secure and it means that iShowU HD doesn’t have to store any of your passwords, so really it’s a good thing ™.
The only “downside” to all this is that I had to raise the minimum requirement for HD to Mountain Lion (10.8.x). Various API’s and tools used had this as their minimum requirement, so it wasn’t possible to keep 10.7 compatibility without quite a lot more effort.
So, there it is! Enjoy being able to upload again!
Greetings from NZ! It seems like only yesterday that we asked for your input on the new iShowU. Thanks for that by the way, it was useful & awesome… Um, turns out it was on 17th of Feb! Now I’m wondering where April is off to!
You might be interested to know what the top requested features were. Here are the top three:
Trim after recording
Addition of text to the recording
more on these later…
So, what have we been doing since? We’ve spent the time since reading feedback & building a new User Interface. The new app doesn’t do a whole lot but it’ll give you an idea of the direction we’re headed. We’re building out the UI and putting place how we think the app will flow. Capture and final recording are simulated so that you can play with the UI in a meaningful way.
Going forward, here’s the plan: We’ll aim to write bi-weekly/monthly updates related to the new iShowU, in which we’re going to ask just one question each time. Focus, grasshopper!
Showing the Advanced tab of the new iShowU UI
This week’s question: What do you think of the new UI?
While trim & text were the top two requested features, the first thing we’d like to ask about is general UI layout.
We’ve tried to create a UI that has two “views”, one being Simple and the other Advanced. The Simple view is supposed to provide an easy way to make a recording without lots of controls and jargon getting in the way. The Advanced view provides access to everything else, but even there we’re aiming to reduce jargon as much as we can.
The primary goal here is to make it really easy to create a recording. You need to be able to select an area, and also choose if you want to record a mic and/or computer audio, but the app will provide reasonable defaults for everything else.
The simple mode UI
The intention is that you’re really modifying the “default” preset when you change things in simple view. So, if you really want to, you can switch to advanced, change things to your liking there (like layouts, for example) and then switch back to simple.
This provides a grouped set of controls for pretty much everything. We thought it was going to be too crazy to present everything all at once like v1 does, so we’ve grouped various controls into tabs and presented them that way.
Showing the layout options in the new UI
There are a couple of ways you can provide feedback:
When you quit the app, it’ll ask if you’d like to provide feedback. This will post a message to us on newishowu.shinywhitebox.com.
Over at shinywhitebox we have begun building the next version of iShowU. This time we want to do it differently. Instead of building the product and putting it out there, we want to involve you, the customer, from day one (that’s today by the way).
The goal is to create the most awesome ‘realtime’ screen recording tool. Part of that is creating an app that doesn’t just have ‘cool features’, but features that provide real utility. We want to drive the development process with way more user interaction than we’ve done in the past. We’re not entirely sure how it’s going to work out, but it should be interesting along the way!
We have this idea that if we can create great discussion around things that people want to do, then we can end up creating something that is far more than just a simple evolution of the existing product. Maybe it’ll even be quite different!
We think you, our users, have awesome ideas to contribute. After all, that’s how iShowU ended up with almost all of it’s existing features in the first place – because users said “hey, can iShowU do this?”.
With this in mind we’ve setup a feature voting system. Jump on over and join in. We look forward to discussing crazy ideas with you!
Oh, we’ve also put this on a tab on the Facebook page if you’re into such things.
I’m pleased to announce the release of iShowU Studio 1.3.0 into beta. This build contains performance improvements and a few bug fixes. Notably, the appearance of the odd black frame when scrubbing across the timeline should now be gone.
As part of this change, overall performance of iShowU Studio improves as well. You can get the beta by enabling “also check for beta updates” in Preferences and then checking for a software update from within iShowU Studio itself.
note: AppStore users – we will submit a build to Apple when we’re sure there’s nothing crazy-wrong with the 1.3.x build.
At the time of release, Studio was extremely conservative with regard to what it would load into memory. This meant that as you scrubbed to a region that contained a new video, that video had to be loaded and initialised before anything could be shown. This is why the black frames existed. There was a very small amount of time (typically about a tenth of a second) where no video frames were available, while the media was being loaded.
From 1.3.0 onwards, Studio preloads project media up front. This results in a slight delay while loading the project, but from then on it’s much smoother / quicker / nicer to edit.
If you load up a project with many segments (particularly video segments), and scrub while holding down the alt key, temporarily disabling playhead snapping, you should notice there’s absolutely no delay in showing the video under the playhead. Everything is entirely fluid and smooth.
After completing the gesture recorder work, it seemed sensible to record the iOS device itself, directly into iShowU Studio. It’s not hard to record using QuickTime X and then drag that into Studio, but it’d be better if Studio recorded directly. That way you could have projects sized exactly to the size of the device, and thing would be … well … nicer!
It almost worked too!
Non Technical Version
It doesn’t work. Hmm. How much more can I say without getting technical? How about: it works if you just record the iOS device itself – but not if you record anything else at the same. In short, not what I had in mind when I started.
iShowU Studio uses a framework called AVFoundation, from Apple. In fact if you want to record the iOS device at all, you must use this framework. No problem, we use it already. How hard can it be?
Getting hold of the device as a camera. Check.
Getting a preview of the camera, including audio. Check.
Recording through an AVAssetWriter via a Session. Check. Er. Not check. Opps. Bang.
It works if I just record the camera. But that seems a little limiting. Sure, it’ll work if all you want is the device itself. But what if you’re recording a companion app that the iOS device is talking to? Surely you’d want to record the screen at the same time?
And this, dear reader, are where the problems begin.
It seems (seems, because while I’ve submitted a DTS to Apple on this, no reply back yet …) that AVFoundation “doesn’t quite work ™” when you start putting on the load.
Recording both a Retina (or 30″ panel) and an iOS session uses ~400-600% CPU load on my MacBookPro. After just a couple of seconds, while the recording seems OK, things are going pretty badly wrong in audio/video land behind the scenes.
When you finish recording & open the project, you can see all kinds of weirdness in the iOS video. Really odd. The sound becomes truncated and the video misses frames completely (yes, I do have code in there to check the destination writer is ready for more frames, so no I’m not swamping it with stuff it can’t handle).
So OK. Maybe using an AVAssetWriter is simply a bad idea and I should just use the MovieWriter instead. It’d be simpler. Less code. Better. Right?
Yeh. It would be. If it didn’t crash. Which is what it does, in the same place, after about 2-3s.
Again, it works if that’s all I’m recording. Use it in conjunction with recording the screen (either using the AssetWriter method or by using other independent sessions for the screen / camera) and you’ll get a crash.
So, as of right now, I don’t have a solution that works. I can preview frames. If I desire just the iOS device I can record that using both methods available to me, but both exhibit odd/crash behaviour in various forms when recording everything at once.
I could I suppose release a restricted version that doesn’t let you do anything other than record the iOS device, but that seems, well, a bit lame. Maybe it’s a reasonable compromise? Listen to me! Am I trying to convince myself here?
Apple have reviewed and accepted the iShowU Studio Gesture Recorder iOS app into the iOS AppStore. If you haven’t read my previous post, the gesture recorder app is a way to get iOS device gestures recorded in iShowU Studio.
Progress: The next step (which I’ve almost completed) is to have iShowU Studio be able to record the iOS device directly, as an additional camera. This is sort-of-working here in a test build. The mechanics, UI changes and so forth are in place, but unfortunately I’m seeing some weird artifacting on the video itself. So, more research required. Odd, since it works fine on it’s own.
I’ve been working on a feature that lets you record iOS gestures (movement / touches) from your iPad/iPhone directly into iShowU Studio. I’ll post up a new build for you to play with real soon! It’s more or less done, I’m just waiting to see what happens with the iOS app (i.e: will Apple accept it?). This build of Studio is intended to become v1.2.0 (stable).
So what is it? Put simply, it’s shinywhitebox’s take on allowing you to represent gestures or touches that occur during the recording of an iOS app. Put simply, once you’ve got the iOS app installed (it’s currently in submission at the App Store) you can connect to Studio and begin recording gestures either directly into the timeline of the project or as “templates” into the Gesture Template Manager.
Design – why direct?
I spent quite a lot of time with different design ideas. The first design involved having somewhat fixed gesture segments, with properties such as “number of touches”, “direction of movement”. I felt this was limiting and really just “meh”.
My second attempt allowed direct on screen editing of the gesture start / end. It was like a simple non-keyframed animation that had a start and end point. You would modify the number of touches via the segment properties, but the actual placement and direction of movement were controller via two “handles” on the gesture itself which represented the starting and ending positions. This was an improvement, but came clunky when I began to work out how to represent rotation. The interface and interaction quickly got messy, I thought.
So, attempt #3 was to discard the entire idea of “editing” the gesture and just record whatever happened on some touch surface. I began by thinking that the touch pad would be a good idea, then I thought: “if you’re recording iOS stuff, you’ve got the perfect recording touch surface – the device itself”. The iShowU Studio Gesture Recorder was born.
Now, a Gesture segment is a container used to playback a series of touch movements that occur over time. If a built in gesture doesn’t fit your needs, no problem! … you can simply record whatever you want and have that played back instead. Of course you can move / scale the recorded gestures as you see fit (which is pretty neat imho).
I’m always keen to get your feedback. Let me know what you think! Let me know what can be improved. My next lot of work will focus on annoying things like the “blackness” that sometimes appears while scrubbing through the timeline, and better performance during editing.
Oh, and let’s not forget: I need to yet add the ability to record the iPhone/iPad directly into Studio. You can do it really easily right now using Quicktime (Yosemite/iOS 8 only), but it’d be nice to be able to make a recording directly without having to go through QT.
Also, be warned: If you try to publish a movie into iTunes Connect that is taken directly with QT, it will likely fail because the FPS is too high. Ask me how I know The upshot is that apps like Studio will offer some time saving, because by default everything will export at a sanity-inducing 30fps, and then (hopefully) iTunes Connect won’t throw a wobbly.