Under The Microscope

Using Airfoil to Send Audio to the Raspberry Pi

Since way back in 2008, we’ve offered various versions of Airfoil Speakers for Linux. By coupling Airfoil Speakers for Linux with Airfoil for Mac or Airfoil for Windows, you can turn your Linux machine into an audio receiver.

Raspberry Pi LogoOne of the most exciting Linux machines out there is the Raspberry Pi. While still a fully-capable computer, it’s also a tiny, inexpensive device which makes computing and programming more accessible to everyone. The Raspberry Pi is also tremendously popular with hackers, who’ve used it to do all manner of amazing things.

One thing the Raspberry Pi hasn’t yet been able to do, however, is run Airfoil Speakers for Linux! There were a few issues, including troubles with ARM architecture compatibility, as well as encoding and floating point handling. Thankfully, recent updates have cured some of these issues, and we’ve worked around the rest.

Thus, as you may have guessed, today, we’re finally making it possible for Airfoil to play with the Raspberry Pi. If you’ve been looking to send audio from your Mac or Windows machine over to your Raspberry Pi (as well as to other AirPlay outputs), grab the latest update to Airfoil Speakers for Linux, right here. Happy listening!

User Hostile Experiences

Recently, Fraser Speirs tweeted about some lousy behavior from the current version of Apple’s iWork suite. If you attempt to use iWork 2013 or later to open a file created by iWork ’08 or earlier, you’ll get an error. Apparently the file has gone stale, and possibly moldy. It’s “too old” to be opened by the current iWork, and must first be opened and re-saved with iWork ’09.

This presentation can't be opened because it's too old. To open it, save it with Keynote ’09 first

This makes for quite a lousy experience. At best, you need to use a second application to manually do something that the software should instantly and automatically handle for you. Worse, if you don’t have iWork ’09, you could be entirely out of luck in opening a document that may be just a few years old.

That’s troubling, and it’s not the only crime of which iWork is guilty. Fraser’s tweet reminded me of several gripes I’ve recently had with iWork, so I decided to detail them.

OS Upgrades Are Still a Big Deal

In 2011, Apple greatly simplified the installation of operating system upgrades. With the release of Mac OS X 10.7 (Lion), major OS upgrades could be purchased via the Mac App Store. Two years later, with Mac OS X 10.9 (Mavericks), Apple made their OS upgrades free. It’s now possible to trigger an upgrade to your OS with just a few clicks, and at no cost.

However, while the logistical and financial barriers have now been removed, the technological changes found in any major operating system upgrade are as real as ever. Upgrading your OS still makes major changes under the hood which can have far-reaching impact. Users with a functioning workflow have always been wise to take a cautious path when it comes to OS upgrades, and that remains true.

And yet, frequently when I open an iWork app on a Mavericks machine, I’m greeted by this message:

Install the latest version of OS X, then visit the Mac App Store to download the latest version of Keynote.

Suggesting that users upgrade, when their current OS doesn’t support the new version, is just irksome. Wait until they’re on the new operating system, then pitch the upgrade.

Similarly frustrating is this dialog, which appears every time an iWork app is launched on Mavericks:

iCloud Drive isn't compatible with OS X Mavericks.

These dialogs both pretend that an OS upgrade is no big deal. That’s a grave disservice to users whose workflows are very likely to be disrupted in some fashion with the OS upgrade. To top it off, they fail to offer a “Don’t Show Again” checkbox. They never stop appearing, until you finally do upgrade your OS.

Opening Yosemite Files on Mavericks

While the above dialogs are obnoxious, they’re at least accurate. An OS upgrade is indeed required to use the very latest iWork app versions, or iCloud Drive. More recently, I’ve run up against a problem which claims to require an OS upgrade, despite the fact that one is not actually required. I’m detailing the workaround here, in the hopes that others can find it.

If you create a document in the latest iWork apps on Mac OS X 10.10 (Yosemite), and then attempt to open it in the latest iWork apps on Mac OS X 10.9 (Mavericks), you’ll get this error:

iCloud Drive isn't compatible with OS X Mavericks.

Earlier, we saw that the iWork team was willing to treat files that were current as little as five years ago as “too old”. Now, it seems that a file made just six months ago may require the very newest OS to be opened! While griping about this to a friend, he sought out someone he knew on the iWork team, who was able to provide a workaround to the problem.

It turns out this dialog is somewhat misleading. While that particular copy of the file can’t be opened on Mavericks, it is possible for the iWork apps on Yosemite to create files which are compatible with both OSes. To do so, you’ll need to go to the “File” menu, then selected ”Advanced”, then “Change File Type”. On Yosemite, this defaults to “Single File”. Switch this to “Package” and re-save. The file will now be openable on Mavericks as well.

iCloud Drive isn't compatible with OS X Mavericks.

This option is not available on the initial save, so you need to first save, then change the file type and re-save. It’s also tremendously well-hidden. In my case, finding it required the indirect help of an actual iWork engineer. Hopefully, future users who run into issues opening an iWork file from 10.10 on 10.9 will find this post and the workaround.

Closing

Ultimately, none of this should be necessary. When a file is “too old”, the software should contain the necessary code to update it, without requiring another app to act as intermediary. When an update requires a new OS, it shouldn’t be mentioned to users, and certainly not repeatedly. File compatibility between versions should be maintained for years, even decades, rather than being lost in a matter of months.

The above problems all result from poor product management. Decision makers either didn’t consider people not running the very latest versions, or worse, they just didn’t care about them. Users should never have to worry that their data will be unavailable to them, particularly when it comes to productivity apps. Unfortunately, rather than providing a user friendly experience, iWork is currently outright hostile to its users.

I hope we’ll see improvements in the future. To that end, I have indeed filed some radars.

rdar://20325798 – Files Should Never Be “Too Old”

rdar://20325848 – Enough About the OS Update

rdar://20325823 – Enough with iCloud Drive Already

rdar://20325881 – iWork Files From Yosemite Can’t Be Opened on Mavericks, by Default

Get the Latest Audio Hijack for Latency Reduction and More

Audio Hijack IconYesterday, we posted version 3.0.3 of our audio recording tool Audio Hijack. While that’s certainly not the most exciting version number, this update does contain several important fixes and improvements. Perhaps most importantly, we’ve drastically reduced the amount of latency which occurs when capturing audio with Audio Hijack. If you’ve tried Audio Hijack 3 but run into troubles with latency, we urge you to get the newest version and test it out again.

There are many other enhancements and fixes as well. We solved a snag where timers would be off-by-one-hour on days when the clocks changed for Daylight Saving Time. We improved the finalization of AAC and Apple Lossless recording files. To make it more obvious how to remove items from the Recordings and Schedule tab, we’ve added “Delete” buttons in those places. While we were at it, we managed to stomp out a few more rare bugs and issues.

All that is to say that you should make sure you have the latest Audio Hijack by selecting “Check for Update” from the Audio Hijack menu. If you haven’t tried Audio Hijack yet, you can download it here. There’s plenty more on our roadmap, so be sure to stay tuned for further updates as well. Until then, enjoy Audio Hijack 3.0.3!

ScreenCastsOnline Helps You Get Started With Audio Hijack 3

Our pal Allison Sheridan, of the NosillaCast and podfeet.com, recently created an excellent in-depth tutorial on Audio Hijack. In it, she goes over the very basics of getting started with the app, before moving on to cover many of Audio Hijack’s uses. It’s a great 30 minute tutorial, rich in detail and sure to help anyone getting started with our audio recording tool. Check out a preview of the video to see the first ten minutes. To watch the full video, just sign up with ScreenCastsOnline.

If you haven’t heard of ScreenCastsOnline before, you’re in for a treat. For nearly a decade, Don McAllister has been providing the Apple community with a great resource for learning about Mac and iOS apps. For just $8 a month, you’ll get full access to hundreds of tutorial videos, with more added each month. Best of all, you can check out previews of much of the content, and even take a free 14-day trial. Get more details right here.

Capture iPhone Calls Using Audio Hijack

Audio Hijack IconMany users of the new Audio Hijack 3 have asked about recording phone calls from their iPhone. If you’re using Mac OS X 10.10 (Yosemite) and iOS 8.1, it’s easy to record these calls with Audio Hijack.

Thanks to a new feature called Phone Relay1, you can use your Mac as the receiver for making and receiving phone calls. That can be handy on its own, but adding Audio Hijack makes it even better. By setting FaceTime as the source in Audio Hijack, you can record those calls for later reference!2 Have a look:

Audio Hijack Capturing FaceTime
Audio Hijack recording a Phone Relay call via FaceTime

In-Depth Explanation

If you set up your pipeline as above, you’ll be in great shape. Some explanation of just what the pipeline is doing may be helpful though.

This setup began with the “Voice Chat” template, found in Audio Hijack’s Template Chooser (just select “New Session” to get it). We set the Application Block’s source to FaceTime, as that’s the source through which Phone Relay routes audio. The audio then flows through VU meters before branching off. At the top, the audio is simply recorded to MP3 (you can of course change the recording format and other settings).

The bottom portion of the chain is the audio you’ll hear through your headphones, and Audio Hijack makes some adjustments to optimize this. The Channels block duplicates the right channel, which contains the remote audio, so you’ll hear the other party and not your own voice. The Volume block then overdrives their audio – this is done to overcome a “feature” of Mac OS X, where FaceTime lowers other volumes on the system, including Audio Hijack’s audio.3

Make It Go

Once you’ve got your Session setup, just hit the Record button in the lower left, then make your call in FaceTime, or just pass it over from the iPhone. You’ll see it recorded, just as desired!

Many people have asked about recording iPhone calls, so we’re certainly glad to show how it’s done. If you don’t have Audio Hijack yet, just download the latest from our site and get recording!


Footnotes:

  1. 9to5Mac has a great overview of Phone Relay.

  2. People are sometimes unclear on the legality of call recording, but in most places it is entirely legal. In the United States, you’re always allowed to record your own calls, though you may also be required to inform the other parties on the line that you’re recording, and obtain their consent. You’ll want to research the laws in your area and consult a lawyer if necessary.

  3. See “Why is the audio so quiet when I capture FaceTime?” in our Knowledge Base for more details. We’re hoping to find a workaround for this, but for now, the Volume Overdrive functionality should suffice.