<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>

</description><title>Jamie Bullock</title><generator>Tumblr (3.0; @jamiebullock)</generator><link>http://www.jamiebullock.com/</link><item><title>The Pure Data GUI — a UX study</title><description>&lt;p&gt;There has been some &lt;a href="http://www.mail-archive.com/pd-list@iem.at/msg55250.html" title="http://www.mail-archive.com/pd-list@iem.at/msg55250.html"&gt;recent discussion on the Pd mailing list&lt;/a&gt; about rewriting Pd&amp;#8217;s GUI using a new framework. This was triggered by my announcement of the &lt;a href="http://integralive.org" title="http://integralive.org"&gt;Integra Live&lt;/a&gt; audio processing tool, followed by a number of people on the list commenting on how good the Integra Live GUI looks.&lt;/p&gt;

&lt;p&gt;Integra Live makes use of certain visual effects: gradient filters, glow, anti-aliasing, bezier curves and so on. The line of thinking on the list seemed to be that these things made the UI look good, and that in order to make Pd&amp;#8217;s UI look good, it needed to be rewritten using a different framework, as &lt;a href="http://www.tcl.tk" title="http://www.tcl.tk"&gt;Tcl/Tk&lt;/a&gt; doesn&amp;#8217;t have good graphics support.&lt;/p&gt;

&lt;p&gt;Whilst it&amp;#8217;s encouraging that people feel the Integra Live GUI looks appealing and want to emulate aspects of it, I think that focusing on the graphic effects is missing the point about the nature of good design. &lt;/p&gt;

&lt;p&gt;Specifically:&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;User interface design is primarily about how things work
&lt;/li&gt;&lt;li&gt;Visual appearance should be used to enhance function and user experience
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;I think there are basic problems about the Pd UI that could be addressed without a new framework and code rewrite. I have therefore conducted a brief user experience study on Pure Data partly as a personal exercise, partly to illustrate how much could be done without rewriting the application. My method was to simply download Pd and identify as many user experience issues as I could in 30 minutes.&lt;/p&gt;

&lt;p&gt;The results&amp;#8230;&lt;/p&gt;

&lt;h3&gt;Download and launch&lt;/h3&gt;
&lt;ul&gt;&lt;li&gt;&lt;a href="http://puredata.info" title="http://puredata.info"&gt;The website&lt;/a&gt; is very text heavy, and I&amp;#8217;m confused about the difference between &amp;#8220;Downloads&amp;#8221; and &amp;#8220;Featured Downloads&amp;#8221;
&lt;/li&gt;&lt;li&gt;Clicking &amp;#8220;Downloads&amp;#8221; — I&amp;#8217;m presented with &amp;#8220;Pd-extended&amp;#8221; and &amp;#8220;Pure Data&amp;#8221;. I&amp;#8217;m not sure which one to pick, but go for &amp;#8220;Pd-extended&amp;#8221; since it is at the top, is bigger and claims to be &amp;#8220;easy-to-install&amp;#8221;
&lt;/li&gt;&lt;li&gt;When I download the DMG I get big intimidating license to read — I just click &amp;#8220;agree&amp;#8221; without reading it
&lt;/li&gt;&lt;li&gt;When I double-click the app, I get a warning:
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://i.imgur.com/NbhB4IR.png" alt="Pd Launch Warning" title=""/&gt;&lt;p&gt;I know a way around this, so I ctrl-click and select open&amp;#8230;&lt;/p&gt;


&lt;h3&gt;In Use&lt;/h3&gt;
&lt;br/&gt;&lt;ul&gt;&lt;li&gt;There is no initial call to action when I launch the application
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/v9p4OP1.png" alt="Pd Console" title=""/&gt;&lt;/p&gt;

&lt;h4&gt;Menus&lt;/h4&gt;

&lt;ul&gt;&lt;li&gt;When I launch the About dialog, the window appears on top of the Pd console, obscuring the Pd Console title bar
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/kyMF1YQ.png" alt="About Dialog" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The Preferences panel also appears on top of the Pd Console, but this time, up and to the left, obscuring the Console title bar:
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/teNQZAq.png" alt="Preferences Dialog" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The Preferences dialog itself is not clearly laid out. Due to the placement of buttons and checkboxes, I&amp;#8217;m not clear which controls relate to &amp;#8220;Startup flags&amp;#8221; and which relate to &amp;#8220;Paths&amp;#8221;
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/0pHTx5Q.png" alt="Preferences Detail" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;It is unclear why the dialog has &amp;#8220;Apply&amp;#8221; and &amp;#8220;OK&amp;#8221; and when I would need to click each one
&lt;/li&gt;&lt;li&gt;When I click &amp;#8220;Reset to Defaults&amp;#8221; the dialog just closes. When I reopen, a number of paths have been added to the dialog. I wonder if these are the defaults, why they weren&amp;#8217;t there in the first place. Also, I&amp;#8217;m not clear as to why I need to know about these paths.
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/n75yAlg.png" alt="Font Paths" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;When I select &amp;#8220;New&amp;#8221; from the &amp;#8220;File&amp;#8221; menu, I get an empty window, which again obscures the Console title bar, this time the Window is positioned in the top-left of my screen
&lt;/li&gt;&lt;li&gt;Again, there is no call to action
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/KHrEnm4.png" alt="New Pd Patch" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;Experimenting, I discover that windows always appear in the top-left corner of the screen regardless of where the previous window was. This causes frustration because I&amp;#8217;m constantly moving windows to compensate and resizing as the default size is too small. A quick look through the Pd help files suggests the average Pd patch size is far larger than the default patcher window size
&lt;/li&gt;&lt;li&gt;I notice neither the Pd console nor the patcher window respond to double-click on their title bar by minimising (the standard behaviour on Mac OS)
&lt;/li&gt;&lt;li&gt;Selecting &amp;#8220;Media&amp;#8221; and &amp;#8220;Test Audio and MIDI&amp;#8221;, a patch loads, but it looks jumbled, and I notice the Pd Console fills up with errors:
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/GkM189W.png" alt="Audio Test jumble" title=""/&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i.imgur.com/K03MiGA.png" alt="Audio Test console errors" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The &amp;#8220;Audio settings…&amp;#8221; dialog is unclearly laid out (no vertical alignment?), and I&amp;#8217;m unclear what &amp;#8220;use callbacks&amp;#8221; and &amp;#8220;Delay&amp;#8221; mean
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/KBS5IPX.png" alt="Audio settings" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The Audio and MIDI settings dialogs have two buttons at the far left of the window title bar, but they are greyed out and not-clickable
&lt;/li&gt;
&lt;li&gt;I&amp;#8217;m again confused by the function of &amp;#8220;Apply&amp;#8221; vs &amp;#8220;OK&amp;#8221; buttons
&lt;/li&gt;&lt;li&gt;The font size dialog is not a native font picker, and I&amp;#8217;m confused by the meaning of the &amp;#8220;Stretch&amp;#8221; function
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/bGEElPf.png" alt="Font Dialog" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;All of the settings dialogs seem to be non-modal, but I&amp;#8217;m not sure why I&amp;#8217;d want a settings dialog open whilst operating the main application
&lt;/li&gt;&lt;li&gt;Selecting the &amp;#8220;Help&amp;#8221; menu, I get a native &amp;#8220;Search&amp;#8221; field, but I can&amp;#8217;t type in it
&lt;/li&gt;&lt;li&gt;Selecting &amp;#8220;Help Browser&amp;#8221;, I get a non-native help browser
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/k5j3bIr.png" alt="Help Browser" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;The Help system itself is confounding. Selecting &amp;#8220;Manuals&amp;#8221; then &amp;#8220;+ Start Here&amp;#8221; then &amp;#8220;+start-here.pd&amp;#8221;, I get Pd patch with some errors in
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/wpdJo1b.png" alt="Help Navigation" title=""/&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/rZFKuNQ.png" alt="Start Here" title=""/&gt;&lt;/p&gt;

&lt;h4&gt;Patching&lt;/h4&gt;

&lt;ul&gt;&lt;li&gt;I decide to make a test patch to confirm Pd is actually working
&lt;/li&gt;&lt;li&gt;I create an object, type in the object name and hit enter. I expect the object to be created, but enter inserts a newline instead. I wonder if any objects make of this newline feature…
&lt;/li&gt;&lt;li&gt;Adding a [dac~] object doesn&amp;#8217;t work, I get an error. So I restart Pd
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/ZcAPe31.png" alt="dac error" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;This time dac~ works and I create a test patch with an simple oscillator and amplitude control
&lt;/li&gt;
&lt;li&gt;My patch is a little messy, so I select &amp;#8220;Edit&amp;#8221; -&amp;gt; &amp;#8220;Tidy Up&amp;#8221;. This does nothing except throw the error: &amp;#8220;best vertical distance 4&amp;#8221; in the Pd Console
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src="http://i.imgur.com/8ixUA5o.png" alt="Tidy Up" title=""/&gt;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;I wonder why there isn&amp;#8217;t a keyboard shortcut for &amp;#8220;Tidy Up&amp;#8221; when it may be a common operation
&lt;/li&gt;&lt;li&gt;I arrange my patch until it is nearly tidy, and try &amp;#8220;Tidy Up&amp;#8221; again
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Before:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/NuayvYV.png" alt="Before Tidy" title=""/&gt;&lt;/p&gt;

&lt;p&gt;After:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/IMj8DYV.png" alt="After tidy" title=""/&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;TIME UP!&lt;/strong&gt;&lt;/p&gt;

&lt;h3&gt;Conclusions&lt;/h3&gt;

&lt;p&gt;I&amp;#8217;m sure there are many more UI issues than the ones I&amp;#8217;ve outlined here. This hasn&amp;#8217;t been an in depth study, but a rather haphazard one. It is also a matter of subjective judgement as to whether some of the points I&amp;#8217;ve raised are good design, bad design, or simply bugs.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;d wager at least half of these points are a matter of frustration and / or confusion for the majority of users, and are simply a matter of bad design, or just a lack of design. Many of the issues I&amp;#8217;ve raised may also seem rather minor, but this all adds up.&lt;/p&gt;

&lt;p&gt;There are also many good things about the design of Pd&amp;#8217;s GUI. It&amp;#8217;s clean, concise, simple and portable. I think significant work has probably gone into it.&lt;/p&gt;

&lt;p&gt;Which leads me to my conclusion: it takes a &lt;em&gt;lot&lt;/em&gt; of work to write a UI, and it is certainly easier to improve an existing UI than start a new one from scratch. So, if the Pd community is seriously going to embark on &lt;em&gt;another&lt;/em&gt; GUI rewrite, they need to make sure that they get the design details right. And by that I don&amp;#8217;t mean fancy bezier curves and gradient fills, I mean making sure the basic user flow is good and that everything is clear and purposeful.&lt;/p&gt;

&lt;p&gt;There are also user experience issues to consider. There are already two versions of Pd (Vanilla, Extended) on the main website, and a bunch of UI plugins. I don&amp;#8217;t think adding another alternative will improve user experience, so if a GUI rewrite is undertaken, for good UX, it needs to become &lt;em&gt;the&lt;/em&gt; Pd GUI. &lt;/p&gt;

&lt;h4&gt;Final Words&lt;/h4&gt;

&lt;p&gt;Building software is fun, but doing it well is really really difficult. Any attempt to rewrite the Pd GUI needs to be certain that it will actually be an improvement and not just an equally unusable version with rounded corners and gradient fills. Its important for those involved to understand that simply adding visual effects to Pd&amp;#8217;s GUI isn&amp;#8217;t going to improve the design. The design will only improve if issues of user flow, clarity, learnability and discoverability are addressed and aesthetics are employed to enhance meaning and improve experience rather than simply being a veneer. By contrast, there are many many design issues that can be addressed in Pd without rewriting the GUI at all.&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/41281128485</link><guid>http://www.jamiebullock.com/post/41281128485</guid><pubDate>Wed, 23 Jan 2013 15:46:43 +0000</pubDate></item><item><title>Stravinsky on Constraints</title><description>&lt;p&gt;I love this quote from &lt;em&gt;Poetics of Music: in the form of six lessons&lt;/em&gt; By Igor Stravinsky:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The more constraints one imposes, the more one frees one’s self… the arbitrariness of the constraint serves only to obtain precision of execution.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I wonder how this applies to software design? What is the “sweet spot” between constraint and flexibility that provides the best conditions for creativity?&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/35633060817</link><guid>http://www.jamiebullock.com/post/35633060817</guid><pubDate>Tue, 13 Nov 2012 12:58:13 +0000</pubDate></item><item><title>Slice//Jockey for Pure Data</title><description>&lt;p&gt;This a brilliant piece of work by &lt;a href="http://www.katjaas.nl"&gt;Katja Vetter&lt;/a&gt;. A lovely approach to algorithmic beat composition, where you just make sounds into the computer and it arranges them into something musically interesting. The software also has a nice prototype interface for controlling effects.&lt;/p&gt;

&lt;iframe width="600" height="315" src="http://www.youtube.com/embed/T7AXzuEc_XQ?wmode=transparent&amp;amp;autohide=1&amp;amp;egm=0&amp;amp;hd=1&amp;amp;iv_load_policy=3&amp;amp;modestbranding=1&amp;amp;rel=0&amp;amp;showinfo=0&amp;amp;showsearch=0" frameborder="0" allowfullscreen&gt;&lt;/iframe&gt;</description><link>http://www.jamiebullock.com/post/35270341066</link><guid>http://www.jamiebullock.com/post/35270341066</guid><pubDate>Thu, 08 Nov 2012 14:13:00 +0000</pubDate></item><item><title>How to write an opening statement</title><description>&lt;p&gt;I&amp;#8217;m revising some of my &amp;#8220;about&amp;#8221; and &amp;#8220;biography&amp;#8221; pages at the moment, and looking for inspiration. The opening statement to the MIT Media Lab&amp;#8217;s &amp;#8220;overview&amp;#8221; document is just sublime:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The Media Lab is a place where the future is lived, not imagined. Our domain is applying unorthodox research approaches for envisioning the impact of emerging technologies on everyday life.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Wow! That&amp;#8217;s a seriously well-crafted piece of writing, and something to aspire to on every level.&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/34715120943</link><guid>http://www.jamiebullock.com/post/34715120943</guid><pubDate>Wed, 31 Oct 2012 19:45:01 +0000</pubDate></item><item><title>Orphion: Orphion - Concept and design of a touchscreen musical instrument</title><description>&lt;a href="http://orphion.tumblr.com/post/23934650433/orphion-concept-and-design-of-a-touchscreen-musical"&gt;Orphion: Orphion - Concept and design of a touchscreen musical instrument&lt;/a&gt;: &lt;p&gt;&lt;a href="http://orphion.tumblr.com/post/23934650433/orphion-concept-and-design-of-a-touchscreen-musical" class="tumblr_blog"&gt;orphion&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;&lt;em&gt;The usage of contemporary multitouch devices such as Apples iPad as musical instruments needs to focus on the design of a special interface that incorporates the fact of missing kinesthetic feedback by the device. To form a conclusive instrument this interface has then to be linked directly to the sound generation to create an intuitive feel of control. The Orphion uses virtual pads in a certain layout that represent individual voices. Pitch and timbre of each voice depend on the initial point of touch, the size and variation of size of the touchpoint, and the variation of the position after the initial touch. Parameters control a physical model for sound generation.&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;The development of musical instruments during the last centuries mainly aimed on the improvement of sound generation rather than finding new interfaces. Especially for electronic instruments, apart from exceptional inventions like the Theremin in 1920, the most commonly used interface still is the 18th century approved interface of the piano keyboard.&lt;br/&gt;For the Orphion the goal was to develop an instrument that deliberately departs from that concept and takes advantage of the haptic and technological possibilities of multi-touch devices; it’s sound should be a direct representation of the actions the fingers perform on the pads. My aim was also to create an instrument that feels “natural” to someone familiar with the behavior of existing acoustical instruments like drums and string instruments.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Interfaces for musical instruments&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Acoustical instruments have a natural coupling between inter-face and sound generation, which is defined by the materials used for their construction. For most electronic instruments these two components are separated. The requirements of the interface part for all kinds of musical instruments, however, can be generally defined:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;allow virtuosity/expression&lt;/li&gt;
&lt;li&gt;intuitive playing&lt;/li&gt;
&lt;li&gt;traceability (for the audience)&lt;/li&gt;
&lt;li&gt;predictability (for the player)&lt;/li&gt;
&lt;li&gt;give feedback (acoustic/visual)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Instrument vs. Controller&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Since its mechanical structure and the materials used for build-ing the enclosure of electronic instruments normally do not contribute to their sound whilst played, which is especially true for software based instruments, these instruments needs a strong logical link between the action of the player and the generated sound. This strong link between a very specific inter-face and the sound generation is what defines that structure as an instrument. &lt;br/&gt;Alternatively the interface is an open structure with different functions or sounds for different situations, and can be seen more as a controller rather than as an instrument. Such an interface can work very well for a variety of situations, however the above mentioned properties of an instrument are hard or impossible to achieve. Additional layers of complexity arise, if the interface does not control the sound generation directly but drives e.g. a sequencer. Such a “sequencing instrument” points in a new direction but also marks the strongest possible departure from a traditional musical instrument. For my purposes I decided to focus on the idea of a strong coupling between interface and sound generation.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;The Orphion&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How does a touchscreen sound and what gestures allow expressive playing whilst keeping control? Most applications for touchscreens use the finger or stylus as a replacement for the mouse to control knobs and buttons. Since multitouch has been established, new gestures were created, for example pinching two fingers to resize objects,  but in order to express musical ideas, more specific gestures and input models have to be developed.&lt;br/&gt;&lt;br/&gt;Finding a logic interaction model and thus a suggested way of playing seems to be the main part in the development of a new instrument. The Orphion should allow polyphonic playing of defined pitches with different articulations (staccato, legato) and timbres for each individual voice. When developing Orphion I had to take into account:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;haptic properties of touchscreens (size and tactile or kinesthetic ways of interaction)&lt;/li&gt;
&lt;li&gt;musical playability (recognition of initial touchpoint and matching of pitches), musical expression (dynamics, intonation, vibrato, timbre)&lt;/li&gt;
&lt;li&gt;intuitive and natural feel&lt;/li&gt;
&lt;li&gt;technical possibilities (precision of control data, processing power)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;As guiding models for the behavior of the Orphion I looked at two types of instruments: Drums and string instruments.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;drums: round playing area with different timbres, re-lease time and damping depend on the velocity and du-ration of touch.&lt;/li&gt;
&lt;li&gt;string instruments: multiple individually tuned strings plus ability to play the tuning via tapping the strings, control of tone and articulation during sustain-phase (intonation/vibrato, damping)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;See figure 1 for the connection between the interface and the sound generation by different parameters:&lt;/p&gt;
&lt;p&gt;&lt;img align="middle" height="621" src="http://www.orphion.de/graphics/schema-orphion-en.png" width="435"/&gt;&lt;/p&gt;
&lt;p&gt;Figure 1. Simplified diagram of interface and sound generation&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Interface and sound&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;The interface of the Orphion represents virtual pads, which are capable of sounding either plucked like a guitar string or produce timbres closer to a slap on a conga drum depending on the size of the touch point. The timbre changes when hit closer to the rim like on a real drum, and its pitch is a function of distance from the center hit point, in order to model something that comes close to pulling a string (the range varies by the size of the touch point). Every parameter is controlled by a single finger per note. The iPad currently supports up to eleven touch points. However, internal polyphony of the instrument is de-fined by the number of pads present on the touch screen.&lt;br/&gt;Visually the interface is represented by a defined set of pad drawn as circles of variable size and position. The different sets of layouts allow the instrument to be adapted to multiple musical situations, genres and to match the virtuosity of the player. The arrangement structure with symmetrical intervals (e.g. fig. 2) in each axis can be used to find new harmonic structures by advanced musicians, pad layouts with only pentatonic tone material or other simplified musical concepts (e.g. fig. 3)  make it also interesting for musical beginners. Layouts with less pads can give you the feel of a percussion instrument played with a fixed assignment between finger and pad (e.g. fig. 4).&lt;br/&gt;&lt;br/&gt; &lt;img src="http://www.orphion.de/graphics/symm.png" width="300"/&gt;&lt;br/&gt;  Figure 2. Symmetrical major 3rds horizontally,  &lt;br/&gt;  minor 3rds and semitones vertically, 4ths and 5ths diagonally&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.orphion.de/graphics/blues.png" width="300"/&gt;&lt;br/&gt;  Figure 4. blues-scale layout&lt;br/&gt;&lt;br/&gt; &lt;img src="http://www.orphion.de/graphics/four.png" width="300"/&gt;&lt;br/&gt;  Figure 5. five-finger layout, e.g. as tuned bass drums&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Sound synthesis&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;The sound synthesis is based on physical model that simulates a string (Karplus-Strong algorithm). I use a combination of a pulse of filtered noise and a sustained excitation sound created by a two operator FM synthesis structure. The low-pass filtering of the feedback path is controlled in realtime for lively articulation of the sound after initial touch. The complex excitation model allows a wide spectrum of different sounds from gently plucked strings to xylophone-like hits or damped attack of muted drums. As long a finger is touching  the surface of a pad, the distance from the pad’s center controls slight detuning (intonation) and variation of timbre towards the rim. &lt;br/&gt;We achieve a very natural feeling by dynamical adjusting parameters within a single synthesis model rather than switching between different models for different playing situation, as it would be the case with sample based instruments.&lt;br/&gt;&lt;br/&gt;The visual representation of the pads on iPad is straight for-ward and functional: A pad is defined as a outlined blue circle with it’s note name written in the center. When touching a circle, it is filled with color, ranging from red to yellow depending on touch size, thus indicating the amount of damping.&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" height="253" src="http://player.vimeo.com/video/35131490" width="450"&gt;&lt;/iframe&gt;&lt;/p&gt;&lt;/blockquote&gt;</description><link>http://www.jamiebullock.com/post/33889248168</link><guid>http://www.jamiebullock.com/post/33889248168</guid><pubDate>Fri, 19 Oct 2012 12:55:49 +0100</pubDate></item><item><title>ja.net Streaming Workshop Notes</title><description>&lt;p&gt;Yesterday I attended the &lt;a href="https://www.ja.net/events/arts-and-humanities-streaming-workshop"&gt;ja.net Arts and Humanities Streaming Workshop&lt;/a&gt; at the &lt;a href="http://www.rcm.ac.uk"&gt;Royal College of Music&lt;/a&gt;. Basically the idea of the day was to showcase a number of technologies that make use of ja.net&amp;#8217;s high bandwidth &lt;a href="http://en.wikipedia.org/wiki/National_research_and_education_network"&gt;NREN&lt;/a&gt; backbone.&lt;/p&gt;

&lt;p&gt;The event included an impressive demo from the originators of the &lt;a href="https://community.ja.net/groups/arts-and-humanities/article/lola-low-latency-audio-visual-streaming-system"&gt;Low Latency Audio Visual Streaming System (LOLA)&lt;/a&gt;. The demo was presented as a live performance between a  pianist performing the media room at RCM (the event venue), and a Clarinettist performing at &lt;a href="http://www.napier.ac.uk/Pages/home.aspx"&gt;Napier University&lt;/a&gt; in Edinburgh. The Clarinettist&amp;#8217;s sound was played to the audience through a pair of small near-field monitors, and a live video feed was projected onto a screen at the front of the venue.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/eLnE7.jpg" alt="Networked Performance"/&gt;&lt;/p&gt;

&lt;p&gt;The sound quality was excellent, and there was no &lt;em&gt;significant&lt;/em&gt; musical difficulty related to network latency. When asked in the Q and A session afterwards, the Clarinettist reported that initially, he noticed some difference compared to a same-room performance, but he soon got used to it. My guess is that the performers &lt;em&gt;adjusted&lt;/em&gt; to the slight latency (&amp;lt;50ms) and compensated for it accordingly.&lt;/p&gt;

&lt;p&gt;However, there &lt;em&gt;was&lt;/em&gt; a noticeable difference (from an audience perspective) in terms of the spatial &amp;#8220;presence&amp;#8221; of the Clarinet. Although the performer was moving around as part of the gestural expression of the piece, the audio was captured through a single microphone, with fixed pan-position in the room. This, coupled with a lack of dispersion from the instrument body and natural room response created ear fatigue after several minutes of listening.&lt;/p&gt;

&lt;p&gt;I also strongly missed both the performer-audience interaction and performer-performer interaction we normally get in a concert. This is usually subtle (eye contact, nuances of gesture and posture etc), but important in maintaining focus and interest. The overall effect was of observing a studio recording session.&lt;/p&gt;

&lt;p&gt;LOLA itself, is an &lt;a href="http://en.wikipedia.org/wiki/Audio_codec"&gt;audio codec&lt;/a&gt; for putting audio from a general-purpose computer (e.g. laptop) on a network, with minimal processing delay (latency). It is very similar to &lt;a href="http://code.google.com/p/jacktrip/"&gt;CCRMA&amp;#8217;s JackTrip project&lt;/a&gt;, and aside from some usability nuances, I struggled to understand the key advantages of LOLA over JackTrip. Further research into these systems including quantitive tests and QoS benchmarks are needed, with peer-reviewed publication as a next step.&lt;/p&gt;

&lt;p&gt;To achieve the kind of impressive performance witnessed in the LOLA demo, all of the variables in a fairly complex stack of hardware and software need to be finely tuned. The system needs to be run on a high-speed, high-bandwidth link with minimal round-trip latency. There is also a threshold on the physical geographical distance between the locations involved. The current quoted figure is 1ms network latency per 100km, so whilst the CODEC latency is fixed, the network latency resulting from cable distance is an important variable. Additionally, the microphone and speaker setup needs to be carefully tuned, as does the room itself, including the use of diffusers to avoid noticeable room echo. Finally, a music-optimised echo cancellation system such as&lt;a href="http://echodamp.com/index.html"&gt; Brian Shepard&amp;#8217;s EchoDamp&lt;/a&gt; needs to be used and finely tweaked. Brian demo&amp;#8217;d his software during the event, and whilst it was impressive, I suspect there is much research to be done in this area also.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://echodamp.com/images/Screenshot-Large.jpg" alt="Echo Damp"/&gt;&lt;/p&gt;

&lt;p&gt;In the coffee break, discussion tended focus on possible applications for LOLA, and audio/video streaming in general. The general impression I got was that most of the delegates weren&amp;#8217;t convinced by the notion of a videoconference-type setup being used in a live performance as a &amp;#8220;substitute&amp;#8221; for physical performer presence. The RCM have been using videoconferencing for delivering and receiving one-to-one instrumental tuition, and this seems to be one of the most promising areas for future development. I can also think of many niche &amp;#8220;artistic&amp;#8221; applications. However, the needs of these applications could be fulfilled by existing systems such as DVTS or Conference XP, and wouldn&amp;#8217;t specifically require super-low roundtrip latency. 100ms is perfectly acceptable for delivering a Violin lesson, for example.&lt;/p&gt;

&lt;p&gt;In conclusion, I&amp;#8217;d say that it will only be a matter of time, before low latency audio and video streaming systems are commonplace. The question is, how can we use it to add value to what we do? The first talk in yesterday&amp;#8217;s workshop focused on the non-technical aspect of this - what is the relationship between the &amp;#8220;medium&amp;#8221; and the &amp;#8220;message&amp;#8221;. I think as arts researchers, we should be asking not only how we can deliver existing experiences through a new medium, but also what &lt;em&gt;new&lt;/em&gt; possibilities does the medium offer that we hadn&amp;#8217;t previously considered&amp;#8230;&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/31916308994</link><guid>http://www.jamiebullock.com/post/31916308994</guid><pubDate>Thu, 20 Sep 2012 11:35:00 +0100</pubDate></item><item><title>Coding standards reboot</title><description>&lt;p&gt;Most programmers have a set of coding standards they work to. These range from cosmetics such as &lt;a href="http://en.m.wikipedia.org/wiki/Indent_style"&gt;indentation style&lt;/a&gt; to more fundamental things like acceptable maturity of dependencies or memory management standards.&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve recently given my own standards a reboot and it mostly boils down to the phrase: &lt;strong&gt;&amp;#8220;don&amp;#8217;t ship bugs&amp;#8221;&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;I used to write a lot of code like this:&lt;/p&gt;

&lt;pre class="prettyprint"&gt;
 /* FIX: global - make this thread safe */
float *temp[5000];

/* FIX: eventually pass arguments rather than using globals */
void to_be_replaced(void) 
{
    /* FIX: inline constant */
    for(int i = 0; i &amp;lt; 5000; i++)
    {
         /* FIX: memory leak */
         temp[i] = malloc(sizeof(float));
         /* FIX: inefficient - refactor */
         *temp[i] = cosf(i);
    }
}
/* etc...*/
&lt;/pre&gt;

&lt;p&gt;This code smacks of under-confidence and/or low standards. The issue isn&amp;#8217;t so much the problems it contains, as the fact that they are knowingly left in the code. &amp;#8220;FIX&amp;#8221; comments are added as an acknowledgement as if to say &amp;#8220;I know this is wrong, but I&amp;#8217;ll come back to it later&amp;#8221;.&lt;/p&gt;

&lt;p&gt;This might work for some developers, especially on single-author projects. However if you&amp;#8217;re working as part of a team, seeing a lot of &amp;#8220;FIX&amp;#8221; in code is unnerving and undermines confidence. For me, code comments aren&amp;#8217;t fine-grained enough to serve as a bug reporting mechanism.&lt;/p&gt;

&lt;h3&gt;So what&amp;#8217;s the solution?&lt;/h3&gt;

&lt;p&gt;From now on I&amp;#8217;m going to be doing the following:&lt;/p&gt;

&lt;ol&gt;&lt;li&gt;don&amp;#8217;t commit code that has known problems&lt;/li&gt;
&lt;li&gt;transfer intended improvements from the code to an issue tracker (no &amp;#8220;FIX&amp;#8221;)&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.cincomsmalltalk.com/userblogs/buck/blogView?entry=3311184808"&gt;develop vertically&lt;/a&gt; rather than rushing larger pieces of functionality&lt;/li&gt;
&lt;li&gt;write &lt;a href="http://en.wikipedia.org/wiki/Skeleton_(computer_programming)"&gt;skeleton code&lt;/a&gt; to sketch structure&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;Point 3 is probably the most significant and important. It also implies a shift in approach to architecture &amp;#8212; to facilitate this vertical approach, the software architecture (and development methodology) need to be able to support it.&lt;/p&gt;

&lt;p&gt;In summary: &amp;#8220;working but incomplete&amp;#8221; is better than &amp;#8220;complete but broken&amp;#8221;.&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/27487176280</link><guid>http://www.jamiebullock.com/post/27487176280</guid><pubDate>Wed, 18 Jul 2012 17:19:00 +0100</pubDate></item><item><title>Hello NodeBox!</title><description>&lt;p&gt;I was recently asked to present a workshop at the &lt;a href="http://www.interface2012.org.uk/" title="Interface 2012"&gt;Interface 2012 conference&lt;/a&gt; in Birmingham. The brief I was given was &amp;#8220;programming for the humanities&amp;#8221;. My instinct was to base the workshop around &lt;a href="http://www.python.org/"&gt;Python&lt;/a&gt;, a language I often recommend to students for its general purpose nature and ease-of-learning. I&amp;#8217;ve had a long interest in data visualisation, and been following the NodeBox project for a couple of years, so my hunch was that this might be a good &amp;#8220;top down&amp;#8221; route into Python&amp;#8230;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://nodebox.net"&gt;NodeBox&lt;/a&gt; is a &amp;#8220;procedural graphics&amp;#8221; environment. This means it&amp;#8217;s not like a normal graphics app, where you create an image by drawing shapes on a canvas. Instead you specify a set of rules defining the graphics and the &lt;em&gt;computer&lt;/em&gt; draws it for you. If that sounds like programming, it is. The set of rules is called an algorithm, and in NodeBox the algorithm is determined by connecting up boxes that do things such as draw a shape, apply a transformation, change a colour, apply randomness etc.&lt;/p&gt;

&lt;p&gt;This approach to graphics is useful when&amp;#8230;&lt;/p&gt;

&lt;ul&gt;&lt;li&gt;you don&amp;#8217;t know what you want to create&lt;/li&gt;
&lt;li&gt;the drawing you want to make is very repetitive&lt;/li&gt;
&lt;li&gt;you want to you use external data to determine what the drawing looks like&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;The first incarnation of NodeBox, took influence from &lt;a href="http://www.processing.org"&gt;Ben Fry&amp;#8217;s Processing&lt;/a&gt; environment essentially providing a 2 pane interface with Python code on the right and generated graphics on the left. &lt;strong&gt;NodeBox 2&lt;/strong&gt; goes beyond this, providing tight integration between node-based programming, direct graphical manipulation, and text-based access to the underlying Python code for each node.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://i.imgur.com/OLF5P.png" alt="" title="NodeBox Pattern"/&gt;&lt;/p&gt;

&lt;p&gt;This multi-paradigm single-screen approach is lovely, pre-dating similar approaches taken in environments like Codea, and giving more than a passing nod to &lt;a href="http://worrydream.com/#!/DynamicPicturesMotivation"&gt;Bret Victor&amp;#8217;s concept of &amp;#8220;dynamic pictures&amp;#8221;&lt;/a&gt;. &lt;a href="http://www.emrg.be/software/"&gt;NodeBox 3&lt;/a&gt; gets even closer to this, doing away with the Python panel altogether.&lt;/p&gt;

&lt;p&gt;After a couple of hours working through the online tutorials, I was up-and-running creating complex patterns like the one shown above, just by connecting up a handful of boxes. NodeBox also supports the ability to load data from CSV files and use the values to drive the image generation. This aspect particularly interests me, and is something I&amp;#8217;d like to explore more. Given you can write your own nodes in Python, I presume it would also be possible to make generative graphics using live data from the web&amp;#8230;&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/26977801161</link><guid>http://www.jamiebullock.com/post/26977801161</guid><pubDate>Wed, 11 Jul 2012 15:31:00 +0100</pubDate></item><item><title>The Listening Machine</title><description>&lt;p&gt;The web is literally buzzing about &lt;a href="http://www.thelisteningmachine.org/" title="The Listening Machine"&gt;The Listening Machine&lt;/a&gt;, a new musical work by &lt;a href="http://www.erase.net/" title="Daniel Jones"&gt;Daniel Jones&lt;/a&gt; and &lt;a href="http://petergregson.co.uk" title="Peter Gregson"&gt;Peter Gregson&lt;/a&gt;. The piece takes the content of 500 Twitter accounts, and through some clever computer programming and musical mapping turns them into an indefinite bricolage of sound, which somehow represents their content.&lt;/p&gt;
&lt;p&gt;The result is one of the most successful pieces of data sonification I&amp;#8217;ve heard. What&amp;#8217;s great for me is the clear relationship between the twitter stream content and the end result. If you asked me &amp;#8220;what would Twitter sound like as music?&amp;#8221;, The Listening Machine isn&amp;#8217;t far off. It&amp;#8217;s also aesthetically interesting, visually and musically  &amp;#8212; I wan&amp;#8217;t to keep coming back to hear &amp;#8220;what&amp;#8217;s happening now?&amp;#8221;, &amp;#8220;what does Twitter sound like at night time?&amp;#8221;.&lt;/p&gt;
&lt;p&gt;&lt;img align="middle" alt="The Listening Machine" height="415" src="http://i.imgur.com/l3Oa6.png" width="490"/&gt;&lt;/p&gt;
&lt;p&gt;The piece also presents some interesting ideas about music and technology. The question &amp;#8220;can machines listen?&amp;#8221;, often has the subtext &amp;#8220;&amp;#8230;like humans&amp;#8221;. In The Listening Machine, we have a machine that listens to humans like a machine, and generates music from fragments played by humans. Technology and art serve each other. Beautiful.&lt;/p&gt;
&lt;p&gt;The piece is running from May until October 2012 on &lt;a href="http://www.thespace.org/"&gt;The Space&lt;/a&gt;, the new on-demand digital arts channel from the BBC and Arts Council England. &lt;/p&gt;</description><link>http://www.jamiebullock.com/post/23476050500</link><guid>http://www.jamiebullock.com/post/23476050500</guid><pubDate>Mon, 21 May 2012 12:57:32 +0100</pubDate></item><item><title>How does design work?</title><description>&lt;a href="http://startupsthisishowdesignworks.com/"&gt;How does design work?&lt;/a&gt;: &lt;p&gt;I’ve been &lt;a href="http://www.jamiebullock.com/post/18548792282/musician-centred-design" title="Musician-centred design"&gt;talking recently about researchers collaborating with designers&lt;/a&gt; to make better systems for musicians. But what do I actually mean by that? &lt;a href="http://startupsthisishowdesignworks.com/" title="This is how design works"&gt;This article&lt;/a&gt; gives a lovely, concise overview on the different types of design, who designers are, and why they are important for making software usable:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;a href="http://startupsthisishowdesignworks.com/" title="http://startupsthisishowdesignworks.com/"&gt;&lt;a href="http://startupsthisishowdesignworks.com/"&gt;http://startupsthisishowdesignworks.com/&lt;/a&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://www.jamiebullock.com/post/20401260795</link><guid>http://www.jamiebullock.com/post/20401260795</guid><pubDate>Tue, 03 Apr 2012 10:19:39 +0100</pubDate><category>design</category><category>usability</category><category>ui</category></item><item><title>Musician-centred Design</title><description>&lt;p&gt;&lt;u&gt;Software as medium&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;In live electronic music, software mediates the experience of composition and performance. Software is the medium through which ideas are developed and structured, it is the medium through which sound is generated and processed, and it is the medium through which sound is controlled. The nature and design of the software is therefore critical to an understanding of the ways in which it mediates user experience. Well-designed software can lead to a pleasant and productive experience, poorly-designed software can lead to frustration and rejection.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;img align="middle" alt="Computer Frustration" height="240" src="http://i.imgur.com/VHP8u.jpg" width="360"/&gt;&lt;/div&gt;
&lt;p&gt;&lt;br/&gt;&lt;u&gt;Max and the myth of neutral software&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;It&amp;#8217;s not just a question of learning and software literacy. It&amp;#8217;s true that the notion of &amp;#8216;intuitive&amp;#8217; software is a myth, but software that draws upon users&amp;#8217; existing experiences has been shown to be &lt;a href="http://www.useit.com/alertbox/20030825.html" title="Usability"&gt;more learnable and therefore more usable&lt;/a&gt;. These references to existing experience are called &lt;a href="http://en.wikipedia.org/wiki/Affordance" title="Affordances"&gt;affordances&lt;/a&gt;. Affordances can be used to introduce novelty by calling the user to a given action. Software can also be made more usable by introducing assumptions about how the software will be used. These assumptions can be embodied in structured workflows, which mediate the users&amp;#8217; experiences in such a way that it reinforces their intentions. &lt;/p&gt;
&lt;p&gt;The primary means for people to work with live electronic music is currently &lt;a href="http://cycling74.com/" title="Max"&gt;Max by Cycling 74&lt;/a&gt;. Max is a tour de force of software engineering, and incredibly powerful on a number of levels. It was originally written in the mid-1980&amp;#8217;s as means to control hardware-based audio processing systems. It has since evolved to become very broad in scope, the current website says:&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;
&lt;blockquote&gt;&lt;span&gt;Max gives you the parts to create unique sounds, stunning visuals, and engaging interactive media. These parts are called ‘objects’ – visual boxes that contain tiny programs to do something specific. Each object does something different. Some make noises, some make video effects, others just do simple calculations or make decisions. In Max you add objects to a visual canvas and connect them together with patchcords. You can use as many as you like. By combining objects, you create interactive and unique software without ever writing any code (you can do that too if you really want to). Just connect.&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div&gt;&lt;span&gt;Max makes few assumptions about what it will be used for beyond providing a low-level dataflow and DSP patching language for the creation of anything related to sonic and visual media. Max therefore presents itself as a &amp;#8216;neutral&amp;#8217; tool for creative work, a tool where &amp;#8216;the only limit is your imagination&amp;#8217;. However, in reality Max has deeply embedded in it, the non-neutral assumptions of a software development workflow. Max is actually an advanced integrated development environment (IDE) for programming multimedia interaction and processing. Far from being a neutral tool,&lt;/span&gt;&lt;span&gt; Max mediates the experience of the musician by imposing the workflow, prerequisites and aesthetics of software development on their user experience. With Max, the musician is programmer, instrument maker, designer and composer all in one. Many would argue this to be a positive trait, and in some respects it can be.&lt;/span&gt;&lt;/div&gt;
&lt;p&gt;&lt;u&gt;Musician-centred design&lt;/u&gt;&lt;/p&gt;
&lt;div&gt;I believe that musicians need and deserve software that is better tailored to their specific requirements. They need software that has embedded in it, the assumptions of the musician, not the assumptions of the programmer. I call this musician-centred design. The way in which the software mediates the experience of the musician should be centred around the existing knowledge, practices and thought processes of composers and performers. Workflows should be structured around achieving the most common tasks quickly and easily. Interactive music technology has been through many experimental phases, we now know the creative possibilities are &amp;#8216;endless&amp;#8217;. It&amp;#8217;s time to consolidate these possibilities and make them more accessible and more musically meaningful.&lt;/div&gt;
&lt;p&gt;Some aims of musician-centred software:&lt;/p&gt;
&lt;div&gt;
&lt;ul&gt;&lt;li&gt;Software should encode the assumptions of the musician in how it operates&lt;/li&gt;
&lt;li&gt;Workflows should be structured around musical tasks&lt;/li&gt;
&lt;li&gt;Software should draw upon musicians&amp;#8217; existing experience&lt;/li&gt;
&lt;li&gt;Software should employ innovative UI design to achieve its ends&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;
&lt;p&gt;&lt;u&gt;Conclusions&lt;/u&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;p&gt;&lt;span&gt;Max is a wonderful tool for the technically literate who want to employ creative coding to achieve their goals. However, there are many musicians for whom Max is simply too distant from their existing experiences to even approach. I believe the central challenge ahead for music technology research is to investigate and develop new user interfaces that are musician-centred. I see many possibilities here, and feel we haven&amp;#8217;t started to scratch the surface in solving these problems. I don&amp;#8217;t have the solutions yet, but I believe that collaboration between music technology researchers and designers should be the starting point. Comments welcome&amp;#8230;&lt;/span&gt;&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;</description><link>http://www.jamiebullock.com/post/18548792282</link><guid>http://www.jamiebullock.com/post/18548792282</guid><pubDate>Thu, 01 Mar 2012 12:41:00 +0000</pubDate><category>design</category><category>ui</category><category>live electronics</category></item><item><title>Bret Victor talks about his principle that “creators need...</title><description>&lt;iframe src="http://player.vimeo.com/video/36579366" width="400" height="225" frameborder="0"&gt;&lt;/iframe&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;Bret Victor talks about his principle that “creators need an immediate connection with what they create”.&lt;/p&gt;
&lt;p&gt;This is brilliant stuff. Skip to 12 minutes if you don’t have much time.&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/17938047347</link><guid>http://www.jamiebullock.com/post/17938047347</guid><pubDate>Mon, 20 Feb 2012 08:14:00 +0000</pubDate><category>design</category><category>ui</category><category>interaction</category><category>games</category></item><item><title>Jonathan Harvey: total immersion</title><description>&lt;p&gt;Seven years ago, my colleague &lt;a href="http://www.lambertococcioli.com" title="Lamberto Coccioli"&gt;Lamberto Coccioli&lt;/a&gt; and I wrote a &lt;a href="https://s3-eu-west-1.amazonaws.com/papers/ICMC05-harvey-8.pdf" title="Harvey ICMC paper"&gt;research paper&lt;/a&gt; for the International Computer Music Conference outlining our intentions to develop a new software version of the electronics in Jonathan Harvey&amp;#8217;s&lt;em&gt; Madonna of Winter and Spring&lt;/em&gt;. Last night the system was used for the first time in public performance at the &lt;a href="http://www.bbc.co.uk/orchestras/events/567" title="Total Immersion"&gt;BBC Symphony Orchestra&amp;#8217;s &amp;#8216;total immersion&amp;#8217;&lt;/a&gt; event at the Barbican Centre in London. &lt;/p&gt;
&lt;p&gt;&lt;em&gt;Madonna of Winter and Spring&lt;/em&gt; is an incredible piece, featuring Symphony Orchestra, amplification, ring modulation, reverb, dual panning, Yamaha TX816, Yamaha DX1 and Emulator II sampler. However, these synthesis components have made the piece cumbersome to perform, with hardware versions being rare and unwieldy to setup and &lt;a href="http://www.berlinerfestspiele.de/en/archiv/festivals2006/05_musikfest_berlin06/mfb_06_programm/mfb_06_ProgrammlisteDetailSeite_4582.php" title="Berlin Madonna Performance"&gt;software versions&lt;/a&gt; requiring complex combinations of commercial software, &lt;a href="http://www.musicradar.com/news/tech/native-instruments-discontinues-kore-457945"&gt;some of which&lt;/a&gt; is already obsolete.&lt;/p&gt;
&lt;p&gt;The new version we have developed as part of the EU-funded &lt;a href="http://www.integralive.org" title="Integra Website"&gt;Integra Project&lt;/a&gt;, attempts to make the electronics for the piece both more sustainable and more performable. It achieves this through the use of a fully open source, entirely software based system, which simple to setup and use. This system runs on two computers and consists of:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;the &lt;a href="http://dssi.sourceforge.net/hexter.html" title="Hexter"&gt;Hexter DX7 emulation plugin by Sean Bolton&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;a new external for the &lt;a href="http://www.puredata.info" title="Pure Data"&gt;Pure Data&lt;/a&gt; environment, for hosting DSSI plugins&lt;/li&gt;
&lt;li&gt;a new software sampler implemented entirely in Pure Data&lt;/li&gt;
&lt;li&gt;ring modulation and panning provided by &lt;a href="http://www.integralive.org" title="Integra Live"&gt;Integra Live&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;In the Barbican performance last night, the panning was controlled by an iPad running TouchOSC and communicating with Integra Live via wireless MIDI.&lt;/p&gt;
&lt;p&gt;The performance was played in its entirety on &lt;a href="http://www.bbc.co.uk/programmes/b019pmvq" title="Hear and Now"&gt;BBC Radio 3&amp;#8217;s Hear and Now programme&lt;/a&gt;. Moments where the synths are prominent include 1:01 - 1:07 and 1:17 - 1:20, although synthesis and electronics appear throughout. &lt;/p&gt;
&lt;p&gt;Working with &lt;a href="http://soundintermedia.tumblr.com/" title="Sound Intermedia"&gt;Sound Intermedia&lt;/a&gt; and the the BBC Symphony Orchestra this week has been a delight. It has been both exciting and rewarding to see the results of seven years&amp;#8217; work come to fruition. To my knowledge, this marks the first ever use of open source DX7 emulation software for a large scale orchestral work with electronics. The materials we have developed now reside with Harvey&amp;#8217;s publishers, Faber Music, and will be used in all future performances.&lt;/p&gt;
&lt;p&gt;This is a great achievement for the future performability of works involving DX7-based synthesis and I&amp;#8217;d like to thank all who&amp;#8217;ve made this possible, specifically Sean Bolton, Miller Puckette, Lamberto Coccioli, Dag Henning Kalvøy and &lt;a href="http://jrdooley.com/" title="James Dooley"&gt;James Dooley&lt;/a&gt;. At this moment, I am very proud.&lt;/p&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;
&lt;div&gt;&lt;/div&gt;</description><link>http://www.jamiebullock.com/post/16722469615</link><guid>http://www.jamiebullock.com/post/16722469615</guid><pubDate>Sun, 29 Jan 2012 22:37:00 +0000</pubDate><category>live electronics</category><category>music</category><category>musictech</category><category>dx7</category><category>harvey</category><category>Integra</category></item><item><title>Thoughts on #codingforkids</title><description>&lt;p&gt;This week, government minister &lt;a href="http://www.guardian.co.uk/politics/2012/jan/11/michael-gove-boring-it-lessons"&gt;Michael Gove announced government plans&lt;/a&gt; proposing that current school ICT is replaced by a new Computer Science GCSE. I have no actual numbers for this, but my guess is that most people think this is a great idea. Why wouldn&amp;#8217;t we want kids to learn to code?&lt;/p&gt;
&lt;p&gt;The tricky part comes when we start to dig into the detail. What will the new curriculum contain? How will it be taught? &lt;a href="http://www.edge-online.com/news/only-third-ict-teachers-are-qualified-study"&gt;Who will teach it&lt;/a&gt;? &lt;/p&gt;
&lt;p&gt;One thing I am clear about is that the choice of programming language should be left to individual teachers and pupils.&lt;/p&gt;
&lt;p&gt;What I&amp;#8217;d like to see the new curriculum achieve:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;sharpen creative and analytical skills through projects and play&lt;/li&gt;
&lt;li&gt;understand abstraction and think in an abstracted way&lt;/li&gt;
&lt;li&gt;self-teaching through experimentation and research&lt;/li&gt;
&lt;li&gt;learn to modularise and classify problems and solutions&lt;/li&gt;
&lt;li&gt;understand algorithms, data structures, interface, and state &lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;This is what I personally understand as &amp;#8216;computational thinking&amp;#8217;.&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;end results,&lt;/em&gt; be it an mobile app, a game, or a robot controller and the &lt;em&gt;languages used&lt;/em&gt;, should result from the skills and interests of teachers and students. &lt;/p&gt;</description><link>http://www.jamiebullock.com/post/15772471158</link><guid>http://www.jamiebullock.com/post/15772471158</guid><pubDate>Fri, 13 Jan 2012 12:50:00 +0000</pubDate></item><item><title>Vision: the future of music technology...</title><description>&lt;p&gt;I read with great interest Bret Victor&amp;#8217;s &lt;a title="Future of interaction design" target="_blank" href="http://worrydream.com/ABriefRantOnTheFutureOfInteractionDesign/"&gt;rant on the future of interaction design&lt;/a&gt;. The starting point for his post is Microsoft&amp;#8217;s &amp;#8216;&lt;a title="Productivity Future Vision" href="http://www.microsoft.com/office/vision/"&gt;Productivity Future Vision&lt;/a&gt;&amp;#8217;, which is intended to be utopian, but actually gives a dystopian and de-humanising portrayal of future interaction.&lt;/p&gt;
&lt;p&gt;&lt;iframe frameborder="0" src="http://www.youtube.com/embed/a6cNdhOKwi0" height="270" width="480"&gt;&lt;/iframe&gt;&lt;/p&gt;
&lt;p&gt;Bret&amp;#8217;s response to the video is inspiring, particularly his definition of tools:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;A tool addresses &lt;strong&gt;human needs&lt;/strong&gt; by amplifying &lt;strong&gt;human capabilities&lt;/strong&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lufoed2Gaj1qawe9a.png"/&gt;&lt;/p&gt;
&lt;p&gt;Furthermore:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;A tool converts what we &lt;em&gt;can do&lt;/em&gt; into what we &lt;em&gt;want to do&lt;/em&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_lufoeuqwZE1qawe9a.png"/&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;Reading this has left me thinking about how I can apply this concept in my own field of music technology research. Traditional musical instruments do the job beautifully: they amplify human gestures, ideas and emotions. &lt;a title="Integra project" href="http://www.integralive.org"&gt;Projects I&amp;#8217;ve been working on recently&lt;/a&gt; have the aim of bringing together music and digital technology, but I feel we are still a long way from creating truly musically-meaningful tools. &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;I&amp;#8217;m not really sure how we&amp;#8217;ll get there, but my vision is that we should create digital tools that enable musicians to harness the transformative power of technology through already-learned expressive semantics. Current tools work the other way, and force musicians to understand the semantics of specific technology.&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s &lt;em&gt;your&lt;/em&gt; vision for the future?&lt;/p&gt;
&lt;p&gt;&lt;small&gt;*Hammer Images used by kind permission of &lt;a title="Bret Victor" href="http://worrydream.com/"&gt;Bret Victor&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/12552988195</link><guid>http://www.jamiebullock.com/post/12552988195</guid><pubDate>Wed, 09 Nov 2011 10:52:00 +0000</pubDate><category>interaction</category><category>musictech</category></item><item><title>What makes something a musical instrument?</title><description>&lt;p&gt;I&amp;#8217;ve been thinking about this question since my final year as an undergraduate, and explored it in some detail in my &lt;a title="M.Phil. thesis" target="_blank" href="http://www.jamiebullock.com/publications"&gt;M.Phil. thesis&lt;/a&gt;. I&amp;#8217;ve also &lt;a title="Instrument blog" href="http://www.jamiebullock.com/post/3857988934/beyond-the-controller-thoughts-on-electronic-instrument"&gt;blogged about the subject&lt;/a&gt;, and discussed it many times. I&amp;#8217;m now approaching a kind of opaque definition:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;span&gt;&amp;#8220;If we take two performances of a piece, played on the same instrument, with identical articulation, and subtract one performance from the other,  we&amp;#8217;re left with the instrument&amp;#8221;&lt;/span&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In other words, to be called a musical instrument something must be capable of nuance.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i.imgur.com/1mZN4.jpg" alt="Tone arm" width="512" height="340"/&gt;&lt;/p&gt;
&lt;p&gt;Mechanical and analogue electronic instruments, are broadly predictable in their behaviour, but at a detailed level they constantly produce small, unpredictable variations in tone and response even with the same playing techniques.&lt;/p&gt;
&lt;p&gt;With digital instruments, this capability for nuance and unpredictability isn&amp;#8217;t inherent and therefore needs to be added artificially. For me, providing these nuances of interaction remains one of the key challenges of digital instrument design.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;*Image by Soophoo &lt;a href="http://commons.wikimedia.org/wiki/File:SME_V.jpg"&gt;from Wikimedia commons&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/11858789416</link><guid>http://www.jamiebullock.com/post/11858789416</guid><pubDate>Mon, 24 Oct 2011 10:06:00 +0100</pubDate></item><item><title>Thoughts on sustainability</title><description>&lt;p&gt;Over the last 7 years at least some part of my professional work has involved dealing with the issue of &amp;#8216;sustainability&amp;#8217; in music technology. This has largely centred on the question of &lt;a title="Sustainibility in live electronic music" target="_blank" href="http://scholar.google.co.uk/scholar?q=sustainability+live+electronic+music"&gt;making musical works with live electronics more sustainable&lt;/a&gt;, for instance, by storing data in an application-neutral format or&lt;a title="DSSI hexter research" target="_blank" href="http://www.music.mcgill.ca/~ich/research/misc/papers/cr1070.pdf"&gt; developing software versions of legacy hardware systems&lt;/a&gt;.  &lt;/p&gt;
&lt;p&gt;&lt;img align="middle" src="http://i.imgur.com/9RImk.jpg" alt="Stockhausen Electronics" width="442" height="285"/&gt;&lt;/p&gt;
&lt;p&gt;However, now I&amp;#8217;m coming to the end of a &lt;a title="Integra Project" target="_blank" href="http://www.integralive.org"&gt;six year research project, which has sustainability at its core&lt;/a&gt;, I&amp;#8217;m starting to question whether we have achieved our sustainability goals&amp;#8230;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;What is sustainability?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The first thing we need to acknowledge is that this is a sliding scale. It&amp;#8217;s not a question of whether something is sustainable or not, but rather &lt;em&gt;how&lt;/em&gt; sustainable. Whilst I previously viewed this as a purely technical matter (e.g. binary file formats are less sustainable than text-based formats), I&amp;#8217;m starting to look at the problem along a number of separate dimensions, namely: &lt;em&gt;openness&lt;/em&gt;, &lt;em&gt;funding&lt;/em&gt; and &lt;em&gt;acceptance&lt;/em&gt;. A truly sustainable project needs all three.&lt;/p&gt;
&lt;p&gt;&lt;img align="middle" src="http://i.imgur.com/Q8XCo.png" alt="Sustainability Dimensions" width="366" height="277"/&gt;&lt;/p&gt;
&lt;p&gt;Openness can be achieved through &lt;a title="OSI" target="_blank" href="http://www.opensource.org/"&gt;open licensing&lt;/a&gt; and the use of &lt;a title="Open standards" target="_blank" href="http://en.wikipedia.org/wiki/Open_standard"&gt;open standards&lt;/a&gt;. Funding can potentially be gained through academic or public research funding as well as commercialisation.&lt;/p&gt;
&lt;p&gt;Possibly the most important, but also difficult aspect of sustainability to fulfil is &amp;#8216;acceptance&amp;#8217;. In order to be sustainable, software, protocols and standards need to be &lt;em&gt;accepted&lt;/em&gt; by communities that use them. Without a community of users, contributors, supporters and developers who &amp;#8216;accept&amp;#8217; it, a project ultimately becomes redundant.&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/9914003482</link><guid>http://www.jamiebullock.com/post/9914003482</guid><pubDate>Wed, 07 Sep 2011 11:36:00 +0100</pubDate><category>software</category><category>sustainability</category></item><item><title>How Does 'Incremental' Define Apple?</title><description>&lt;p&gt;&lt;a href="http://www.oddlytogether.com/post/482941709/how-does-incremental-define-apple"&gt;joewilcox&lt;/a&gt;:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;img src="http://media.tumblr.com/tumblr_l02lrzybps1qz9w1n.png" align="left" alt="Apple blue logo"/&gt;I’d like to discuss how Apple innovates, which I understand very well. I posted about Apple’s incremental product strategy last September at Apple Watch: “&lt;a href="http://blogs.eweek.com/applewatch/content/macbook/apple_demands_a_high_price_to_be_cool.html"&gt;Apple Demands a High Price to Be Cool&lt;/a&gt;.”&lt;/p&gt;
&lt;p&gt;The pattern is consistent: Apple launches a “one more thing” product with modest hardware features but something else nevertheless killer—something people want. During the launch, Apple CEO Steve Jobs performs his marketing magic, demonstrating how this “one more thing” product will make peoples’ lives better.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.oddlytogether.com/post/482941709/how-does-incremental-define-apple"&gt;Read More&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;</description><link>http://www.jamiebullock.com/post/7077599633</link><guid>http://www.jamiebullock.com/post/7077599633</guid><pubDate>Thu, 30 Jun 2011 11:01:40 +0100</pubDate></item><item><title>A book about the practice of live electronic music</title><description>&lt;p&gt;&amp;#8230;basically there isn&amp;#8217;t one. &lt;/p&gt;
&lt;p&gt;There seem to three classes of book referring to the subject, the most common are technical books about the theory and techniques of digital audio processing.&lt;/p&gt;
&lt;p&gt;Examples include:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Computer Music (Dodge)&lt;/li&gt;
&lt;li&gt;Elements of Computer Music (Moore)&lt;/li&gt;
&lt;li&gt;Introduction to Computer Music (Collins)&lt;/li&gt;
&lt;li&gt;The Computer Music Tutorial (Roads)&lt;/li&gt;
&lt;li&gt;Theory and Techniques of Electronic Music (Puckette)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;These books are remarkably similar in terms of structure and content. Fundamental digital audio concepts are introduced (bits and bytes), amplitude, periodicity, digital filter theory and delays, frequency domain processing (FFT), synthesis. Additionally psychoacoustics, audio programming, and control processing are usually covered to some extent. Sometimes theory is contextualised with reference to specific musical examples.&lt;/p&gt;
&lt;p&gt;&lt;img height="500" width="500" alt="Dodge - Computer Music" src="http://ecx.images-amazon.com/images/I/71H34BJ3FHL._SS500_.gif"/&gt;&lt;/p&gt;
&lt;p&gt;Additionally, there are discursive books about history and aesthetics, e.g.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Living Electronic Music (Emmerson)&lt;/li&gt;
&lt;li&gt;Electronic and Computer Music (Manning)&lt;/li&gt;
&lt;li&gt;Electronic and Experimental Music (Holmes)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;These books also share common structure and content. Historical overview starting from Cage&amp;#8217;s Imaginary Landscape #1, presentation of the main components of an electronics setup &amp;#8212; the microphone to the loudspeaker  &amp;#8212; the evolution of digital processing, all presented from what might be considered a &amp;#8216;musicological&amp;#8217; perspective.&lt;/p&gt;
&lt;p&gt;Finally, we have books that deal with a specific system or software, e.g.&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The Csound Book (Boulanger)&lt;/li&gt;
&lt;li&gt;The SuperCollider Book (Wilson, Cottle, Collins)&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Electronic Music and Sound Design - Theory and Practice with Max/MSP (Cipriani, Giri)&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span&gt;Loadbang: Programming Electronic Music with Pure Data (Kreidler)&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;These books take the presentation of techniques in the given software as their starting point, providing theoretical background and practical examples as needed. Techniques are sometimes presented in the context of a given musical work.&lt;/p&gt;
&lt;p&gt;What I&amp;#8217;m missing is a book that focuses on &lt;strong&gt;the music &lt;/strong&gt;and  not the technology or the historical context. So, rather than have a section on score following, with Boulez&amp;#8217; Anthèmes given as an example, let&amp;#8217;s have a case study on Anthèmes with score following discussed as one of the many techniques used in the piece. &lt;/p&gt;
&lt;p&gt;I&amp;#8217;d also like to see discussion about the day-to-day practicalities of running concerts with live electronics. How does the process work? How is the electronics rehearsed? What should a technical rider look like? How do/should composers describe electronics in their scores? How is it notated (if at all)? What materials do publishers hold and how do we use them? How do works transfer between venues? Who &lt;em&gt;maintains&lt;/em&gt; the electronics and how?&lt;/p&gt;
&lt;p&gt;Also&amp;#8230;&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;examples of &amp;#8216;typical&amp;#8217; live electronics configurations&lt;/li&gt;
&lt;li&gt;common combinations of processing &amp;#8212; common musical idioms &lt;/li&gt;
&lt;li&gt;approaches to the problems of live electronics and musical time&lt;/li&gt;
&lt;li&gt;how to create effective electronics configurations &amp;#8212; foreground/background&lt;/li&gt;
&lt;li&gt;how to create effective sense of interaction for the performer and audience&lt;/li&gt;
&lt;li&gt;electronics and musical style &amp;#8212; composers and &amp;#8216;schools&amp;#8217;&lt;/li&gt;
&lt;li&gt;scale &amp;#8212; differences in approach between small-scale and large-scale works&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;I guess I&amp;#8217;m looking for something between &lt;a title="Introducing Music" href="http://www.amazon.co.uk/Introducing-Music-Penguin-music-Karolyi/dp/0140135200"&gt;Introducing Music &lt;/a&gt;(Karolyi) and  &lt;a title="Designing Sound" href="http://aspress.co.uk/ds/table_of_contents.php"&gt;Designing Sound&lt;/a&gt; (Farnell), at least in spirit. &lt;/p&gt;
&lt;p&gt;Maybe I&amp;#8217;ll sketch out a chapter outline in a future post&amp;#8230;&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/5303991709</link><guid>http://www.jamiebullock.com/post/5303991709</guid><pubDate>Sun, 08 May 2011 15:01:00 +0100</pubDate><category>live electronics</category><category>music</category><category>books</category></item><item><title>Max, Integra and the Turing Tar Pit</title><description>&lt;p&gt;With &lt;a title="Integra Live" target="_self" href="http://www.integralive.org"&gt;Integra Live&lt;/a&gt;, we&amp;#8217;re trying to make live sound processing simple for musicians. We achieve this by hiding the complexity of signal processing from our users and exposing only musically-useful controls. This technique is known as abstraction because the user-facing representation is more abstract than that used in the underlying software.&lt;/p&gt;
&lt;p&gt;Integra Live modules &amp;#8212; simple-to-use, but the implementation details are hidden:&lt;/p&gt;
&lt;p&gt;&lt;img height="279" width="582" alt="Integra TapDelay" src="http://i.imgur.com/FO9tU.png" align="middle"/&gt;&lt;/p&gt;
&lt;p&gt;The problem with abstraction is that it limits possibilities. Audio programming environments like Pure Data and Max, remove this limitation by providing low-level processing objects that allow the user to make custom abstractions. This means that users coming from a Max or Pd background often find Integra Live constraining. Conversely, Max represents a &lt;a title="Turing Tar Pit" target="_self" href="http://weblog.raganwald.com/2004/10/beware-of-turing-tar-pit.html"&gt;Turing Tar Pit&lt;/a&gt;, requiring significant technical skill for even basic musical tasks.&lt;/p&gt;
&lt;p&gt;Bottom-up approach in Max &amp;#8212; the TapDelay~ abstraction is created by connecting low-level objects:&lt;/p&gt;
&lt;p&gt;&lt;img align="middle" src="http://i.imgur.com/XlJVj.png" alt="Max abstraction" width="405" height="385"/&gt;&lt;/p&gt;
&lt;p&gt;This highlights an interesting design problem: how do we build sound-processing software that makes &lt;a target="_self" href="http://en.wikiquote.org/wiki/Alan_Kay"&gt;simple things simple and complex things possible&lt;/a&gt;?&lt;/p&gt;
&lt;p&gt;My first instinct is that we should invert the Max paradigm and create a &lt;em&gt;top-down&lt;/em&gt; approach where high-level modules can be edited through an integrated UI.&lt;/p&gt;
&lt;p&gt;Any other thoughts&amp;#8230;?&lt;/p&gt;</description><link>http://www.jamiebullock.com/post/4416184139</link><guid>http://www.jamiebullock.com/post/4416184139</guid><pubDate>Thu, 07 Apr 2011 15:31:58 +0100</pubDate><category>Max</category><category>Integra</category><category>Live</category><category>live electronics</category><category>UI</category></item></channel></rss>
