Ever wondered how a piece of software was built? Apart from all the technical details, which are not always easy to understand or interesting, the process for creating a program is actually pretty cool, yet something you rarely hear developers taking the time to explain to users.
Over on his blog, SuperMegaUltraGroovy, the developer explains from the ground up how his latest Mac program, TapeDeck, was built. TapeDeck is an audio recorder that looks and sounds just like your old cassette recorder. It even hisses and crackles and has that whirring sound when rewinding or fast forwarding. All your saved recordings are stacked in a pile of cassette tapes.
So how did he go about? The developer first started with a UI sketch, to have an idea of what interface he wanted and see how the program was going to work. Bit by bit he then implemented the different elements of the program using applications like Quartz or Core Animation. According to him the most difficult part was then creating an Objective-C library to handle metadata (all the information like song name, title, track number or artist) of M4A files, the audio format that TapeDeck was going to work with.
More work was then done on the design of the interface and the logo. When the application almost looked like it was finished, the developer realized he want to add forward/rewind and rendering tape image in album art (so it shows in Cover Flow in iTunes). This meant more code rewriting was needed.
The next step was the so important Beta release, which allowed users to test out the program and give feedback, so the developers could add finishing touches and tweaks to TapeDeck, fix some bugs and clean the interface. And then the program was released.
The whole process took the developers eight months and one of them even decided to leave his day job to spend full time working on TapeDeck. This goes to show what sort of dedication most independent developers have. But when you have a great idea, it’s usually well worth it.