If An Audio Framework Falls Online, Does it Still Make Sound?

About a week ago I finished my first programming book ever. I finished reading and coding the projects in “Learning Core Audio” by Chris Adamson. I wanted to get that done before this past weekend. I attended CocoaConf in Boston solely because Chris was going to be there and do a full day workshop on Core Audio. I will talk more about my experiences in another post.

One of the last chapters was about OpenAL. OpenAL is a framework that allows the user to create three-dimensional sound. One of the few links hardcoded into the book was for their site, OpenAL.org. I wanted to get the programming guide to read later, so I went to the site. It was down. I checked it a few days later, same thing.

I emailed Chris to ask him if this was a known issue. The book is a few years old, which is forever in programmer years. He wasn’t aware of it being down.

We began to look into this issue. We knew it was down and it had been for a while.

So I did some digging into OpenAL and what the hell is going on with it.

It looks like it began as an open source project. It was embraced, extended, and taken over by a company called Creative Labs back about five years ago. Their last update on OpenAL was version 2.1. OpenAL is now a proprietary technology owned by Creative Labs.

For some reason a few years ago they stopped doing any work on it and they have killed it off. They cut off all links to developers using it and stopped updating OpenAL.org. It is still owned by Creative so no one can go in and purchase the domain, but it looks very much like what happens when a large company buys a patent for something that they want to sit on to prevent anyone else from implementing it.

Correction: I have since been told that APIs are not copyrightable. Anyone is free to write their own implements of the OpenAL spec. If you want to go and make your own variation on OpenAL as Apple has you are free to do so.

My limited experience with programming frameworks and languages is that once they are abandoned they eventually go away. Apple might still have that implemented within their framework, but if the platform isn’t going forward then it might change.

Also, did slightly more digging and there is a different industry standard: FMOD.

This is not open source. It is owned by Firelight Technologies, but it is still being supported and maintained. It is multi-platform and there is a programmer API that is free to mess around with but they ask that you pay them a license fee if you plan to make money off it.

There seems to be a flourishing developer community in gaming forums, so that is one place to look if one were inclined to do 3D audio programming. I think it is just a bunch of C and C++, so you drag, drop, and include it in your project.

I don’t know if this would replace OpenAL within the Apple frameworks, but I don’t have high hopes for OpenAL. I am just very happy to know that it didn’t leave a vacuum. I was concerned that 3D audio was being abandoned totally and that would be a tragedy. I know there are a limited number of audio nerds out there in the world, but I am one of them. I aspire to accomplish some awesome stuff with audio and I am stoked to know that this possibility isn’t closed to me quite yet.

WWDC 2013 Disappointment

I did not win a scholarship to WWDC 2013.

I can understand why. I am 31 years old. Programming is my second career. I have only been programming Objective-C for nine months. I have classmates that have been programming longer than I have who can do really cool stuff.

If I had to compete against just the people I know I don’t think I would pick me.

I am happy for the people who got to go. I have been prepping for the fact that it was a long shot that I would win.

I am in good company. There are a lot of amazing programmers that did not get to go.

I really feel glad that I tried. I crashed and burned when I tried to create an app for Cocoa Camp. The fact that I had less time to complete an app but I was able to make it work and do exactly what I planned is a huge accomplishment, at least to me.

I am going to go back and revamp my app to make it work the way that I would like it to. I am going to keep focusing on doing the things that are important to me.

This isn’t my time. I can acknowledge that I have quite a ways to go and that I can get to where I want to be if I have focus and tenacity.

After I get the app to where I want it I will submit it to the App store and possibly throw it on GitHub. It isn’t super cool yet, but I have an interrupted block of time to make it what I want.

Eyes on the destination. Dust yourself off. Keep moving forward.