---------- Forwarded message ----------
Message-ID: <[EMAIL PROTECTED]>
Date: Sun, 07 Mar 1999 22:48:29 -0500
From: Abby <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED], [EMAIL PROTECTED]
Subject: Quasimodo art (long)
Dear Paul and jmik,
jmik wrote:
> As you already know, Quasimodo is a real-time MIDI controllable
> software synthesizer. It runs on Linux, is fully compatible with
> csound, and is distributed under the GPL.
I've been checking in on the Quasimodo web page every so often, and
following the project with interest. I've been feeling increasingly
frustrated with Csound and wanting some nicer ways to work with software
synthesis. SAOL also looks interesting, but seems far from ready at this
time. And Quasimodo is GPL'ed-- excellent!
> making music that we're interested in). What we need are a bunch of
> small high quality color images that will look like parts of the front
> panel of an analog modular. Here are our specific needs as outlined
> by Paul himself:
I was wondering whether I had enough time to spare to help with this,
but then I got to thinking about what you're asking for... Interface
design for something this powerful should be very carefully thought out.
Read on.
> Overall, check the Creamware Pulsar Modular image for inspiration, and an
>understanding of the
> kind of thing I'm looking for.
Yes, it _looks_ very nice; looking at it makes you go "Cooool". But
think carefully about _using_ it. Does PULSAR really use the best
strategies for a computer-music / sound GUI? I think the "virtual
analog" visual design warrants careful consideration from a user's point
of view. I don't know what sorts of functionality you guys are planning
to build in to the Quasimodo interface, but I can make some inferences
based on that PULSAR screenshot.
<RANT>
There are two problems I see with emulating analog hardware:
1) Some things don't translate so well, so you end up with a virtual
interface that is harder to use than a physical interface.
2) The mutability of the computer interface is not taken advantage of,
which again makes the interface harder to use than necessary. There is
no good reason for a computer interface to a synthesizer or dsp to
insist that everything has to fit on one screen, or has to look like a
familiar physical object.
For example, I've played around a bit with Rebirth, which pretty much
duplicates the TB-303 and the 808 (or is it 909?) drum machine on a
screen. I've also tried to use SLab, which (among other things) attempts
to emulate an analog mixing desk.
In general, there are many peculiarities and limitations in the design
of hardware. The manufacturers know that every switch, every knob, and
every LED increases the manufacturing costs and decreases the
portability of the instrument. They have to compromise. As a result, the
clarity of the user interface suffers. It takes a lot of practice to
program a hardware drum machine or synth effectively. The tradeoff is a
portable device that's actually quite powerful and cost-effective (at
least by the standards of the 1980s).
I'd like to specifically comment on the items you're asking for help
with.
> 1) images of a small convex philips screw head, lit from the upper left.
Looking at the Pulsar design, I can't see what good these do. Is there
really a good reason to add visual clutter that conveys _no_
information? It makes it look "more like a rack". How does that help?
It's a subtle effect, but I think the screws make it just a bit harder
to "read" the PULSAR display. Please-- leave the screws out!
> 2) a nice knob design, with 12 or more images to represent the knob as it turns.
How much time have you spent using applications with virtual knobs? I've
tried a couple -- Mix2000 (a soundcard mixer) and SLab (a virtual
recording/mixing system) -- and I'm pretty much convinced that knobs
don't work as well on-screen as they do in the physical world. Human
hands find it easy to grasp a knob and twist it. Mouse pointers are
rather more awkward, requiring a very fine control of the mouse in a
circular direction, while eliminating the tactile feedback of the knob
turning in your hand. And what's the benefit of the virtual knob? I
don't see any. Probably a knob _could_ be programmed to "feel" good with
a mouse, but what's the point?
On mixing desks, the "most important" control (Volume) is a fader, not a
circular knob. Why? Because it's easier to "read" at a glance, and easy
to control smoothly. So why aren't all the controls faders instead of
knobs? Three reasons: because high-quality faders are more expensive
than knob-controlled potentiometers of equal quality, and take up more
physical room (miniature sliders are usually not very good pots), and
because for many "set-and-forget" parameters, knobs work just fine. A
professional-quality many-channel mixing desk that used only faders
would be enormously expensive and unworkably large.
But imagine translating that mixing desk onto a computer display. The
display is much smaller, but it can also change itself very quickly, so
it can effectively display _much_more_ information -- just not all at
once. This eliminates any advantage of knobs over faders.
One problem with scrollbars in most applications is that they're all the
same color. Large mixing desks color-code the knobs for good reason.
Whether you use scrollbars or knobs, this is worth considering. The
ultra-coolest would be if the user could specify the colors for their
modules or instruments or whatever you're calling them. So every time I
look at my favorite parametric EQ module, I'd know that the red control
was Gain, the yellow control was Freq, and the purple control was Q. Or
whatever! If coloring the actual controls is difficult to code (I've
never done any GUI coding), at least see if the text labels of the
controls can be color-coded. Anything that reduces the amount of time a
user spends looking for one particular control is good.
As an example of what I think is bad design, SLab attempts to display an
entire mixing desk at once, and as a result is both difficult to "read"
and tricky to control. You can reduce the visual clutter by reducing the
number of channels onscreen, but this design still requires that each
channel must fit into the vertical space available onscreen. The result
is that things feel crowded. I think there is no good reason for that.
> 3) small audio-connector sockets. about 25x25 pixels. Preferably with a colored
>lip around a black
> circle. It might be nice if there was some 3d-ness to the lip, with lighting
>from the upper left.
>
> 4) small MIDI-connector sockets. about the same size as the audio ones, and
>ideally modelled on
> the image of a MIDI connector (aka a DIN plug)
This brings up the issue of the architecture of the whole GUI. Is the
"rack" paradigm really the best way to represent modules onscreen?
Remember that we have no need to worry about the practicalities of
_physical_ design.
This is a tough one. Analog patch synthesizers, which the Pulsar UI
resembles, are lots of fun to play with. They can also confuse the hell
out of you very quickly. Knobs get hidden under a snake-farm of cables,
and tracing the signal path visually can get difficult. Do you really
want virtual cables hanging all over everything? Probably it's still
easier than trying to decipher complex csound instrument code, but you
should think about whether there's a better way.
The goal should always be for the user to be able to:
1) Easily see what they are controlling at the moment, and
2) See how that connects to other things.
I'm not sure how this can best be done. I can imagine a Quasimodo
interface consisting of two windows: let's call them "overview" and
"module". The "overview" window could show a flowchart representation of
all the interconnections between modules, somewhat like Patchwork (which
I must admit I haven't used much... couldn't get Xpatchwork to work, and
I haven't tried Patchwork under WINE yet). The "Module" window shows the
interface for whatever module is currently selected in the "overview"
window. A problem: One module window would probably be insufficient; one
might want to look at several modules simultaneously. What if it were
possible to switch between the PULSAR-style all-at-once view and the
overview/module model I've suggested? That would be more work to code,
but it might be well worth it.
> Less Urgent:
>
> 5) Some nice textures for panels. I'm thinking of stuff with an overall
>metallic feel.
Sounds cool.
> 6) a cool logo for Quasimodo, possibly in 2 or 3 sizes. A good Q would be nice
>too.
Also cool.
> 7) a nice fat push button
See if you can make it obvious at a glance whether the button's on or
off! This is always annoying with analog mixing desks. You get used to
it... but why should you have to?
> 8) a multiposition switch
Same as #7... make it easy to read.
</RANT>
Sorry if I'm coming off overly pedantic or something, but this project
has the potential to be far more than your average software toy. I'd
hate to see Quasimodo settling for the tried-and-tepid design paradigms
when I believe it could be so much better!
Thanks for listening to my rant. I don't ask that you do what I say,
just that you think about it.
PW