Brian Eno Bloom App Preservation: iOS Edition

Beneath the Screen - A Code Study

<< Table of Contents

Purpose

Bloom was originally envisioned as an application that could be run with a very different interaction on a personal desktop computer. At the time it was being prototyped, Apple launched the iPhone (2008) and with it the iPhone Software Development Kit (SDK). Brian Eno and Peter Chilvers immediately made the shift toward developing Bloom as a mobile app for iPhone and it has remained an iOS app ever since.

Bloom and Bloom HD are highly algorithmic, interactive, and randomly tuned and there is no single online source of information exposing the base code or its supporting libraries. Both Eno and Chilvers have, however, given a small number of interviews explaining the design ideas behind the app. It is also possible to unpack the contents of locally downloaded instances of the app, to understand its constituent components. Details are below.

Code Status: Closed Proprietary

Code Availability: Mac App Store

Developer Information: Peter Chilvers for Opal Limited

Developer Support: support@generativemusic.com

Base Programming Language: Objective C, iOS (iPhone) SDK/Xcode (2008-present)

"It’s all Objective-C. I hadn’t used the language before, although I’d worked extensively in C++ in the past. It’s an odd language to get used to, but I really like it now." ~ Peter Chilvers (from Digicult article "Peter Chilvers: Visual and Tactical Music")

Graphics & Audio Engine: Custom-Built

"I’ve built up my own sound engine, which I’m constantly refining and use across all the applications. It went through several fairly substantial rewrites before I found something reliable and reusable." ~ Peter Chilvers (from Digicult article "Peter Chilvers: Visual and Tactical Music")

"Bloom is entirely sample based. Brian has a huge library of sounds he’s created, which I was curating while we were working on the Spore soundtrack and other projects. It’s funny, but the ones I picked were just the first I came across that I thought would suit Bloom. We later went through a large number of alternatives, but those remained the best choices. The version of Bloom that’s currently live [Bloom 1.0, 2008/2009] uses fixed stereo samples, but an update we’re releasing soon [Bloom 2.0, late 2009/early 2010] applies some panning to the sounds depending on the position of each ‘bloom’ on screen. It’s a subtle effect, but it works rather well." ~ Peter Chilvers (from Digicult article "Peter Chilvers: Visual and Tactical Music")

"With Bloom I think people wanted more sounds, but that was partly down to a kind of misunderstanding of what Bloom was. We wanted Bloom to be a single piece. At one point we tested out about 14 new sounds and in the end whittled it down to just one extra one, which is a very subtle variation on the original. Which I think did improve Bloom, but it did still feel like Bloom." ~ Brian Eno (from Wired article "Brian Eno on music that thinks for itself", September 2012)

"I came up with the effect of circles expanding and disappearing as part of a technology experiment - Brian saw it and stopped me making it more complex! Much of the iPhone development has worked that way - one of us would suggest something and the other would filter it, and this process repeats until we end up with something neither of us imagined. Trope, our new iPhone application went through a huge number of iterations, both sonically and visually before we were happy with it." ~ Peter Chilvers (from Digicult article "Peter Chilvers: Visual and Tactical Music")

Digging Deeper

Developers who are interested in reverse-engineering Bloom or Bloom HD a bit further can always unpack the downloaded app Contents via Finder > Music > iTunes > iTunes Media > Mobile Applications > Bloom ... (if you copy the .ipa (app archive file) to a new location and change its extension to .zip and then unpack it you will be able to view the Contents per the screenshots below).








Next >>

This page references: