Author |
Topic: user interfaces as a more abstract topic (Read 368 times) |
|
Damian Stewart
|
|
user interfaces as a more abstract topic
« on: Aug 1st, 2005, 6:10pm » |
Report
Quote Modify
|
so as with most other Comp300 papers I've taken comp311 seems to be
taking on the trades-centred, get-graduates-into-the-workforce
approach, rather than grasping the opportunities that operating in a
university environment allow for some theoretical/abstract approach.
It struck me when we were having our first lecture, and discussing what
computers were for, that we were talking about what computers are used
for now, in boring practical senses, rather than what we as
geeks/enthusiasts use them or would like to use them for; or what we
might in some future fantasy use them for. Now, I
use a computer to write text because it's more fun on a computer than
on paper; it's closer to the way my brain works. I use a computer for
written communication (ie email) because it's more fun than paper (ie
snailmail). I use a computer to write music because it's more fun on a
computer than on paper. I'd imagine most of us are the same: we use
computers because they're a more fun way of completing our tasks than
not using computers. (Add this point in time, I
should point out that for the sake of this thread the general non-it
world, ie the 'clients' that we as 'professionals in the it industry'
might be providing software for, can go and get shafted.)
I used to work for a computer game programming company, and it struck
me that a good game just is a good user interface. If you're playing
SSX (snowboarding game) or Wipeout (future racing/zoomy game) or even
something like Tekken, it really doesn't matter what the visuals are
about. It doesn't matter that tweaking the buttons and winding the
joystick makes a guy on a snowboard board down a hill, but that when i tweak the buttons pretty things happen on screen, such that I forget I'm tweaking buttons and it just feels like there's a direct connection between my brain and the screen.
Friends of mine talk about the experience of playing Tekken: once
you've mastered it, it's no longer a fighting game, it's a dance, where
your hands dancing across the control surface map directly to a kind of
dancing motion of the character models on screen, and you end up
forgetting that you're pressing buttons and tweaking joysticks, you're
just moving, and the images on screen are moving with you.
This isn't limited to games, of course. I have a laptop which I use as
a live musical instrument (oh, you should all come down to Happy this
Wednesday and Thursday nights to see me play!). The thing I notice
about the UI of the program I'm using (Ableton Live) is that it has
been built in such a way as to facilitate this
dissolving-of-the-hardware that I talk about above. I can get totally
lost in the music I'm making, forgetting that I'm using a keyboard and
a mouse to do so. I didn't sign up to Comp311 to learn
about how to make user interfaces that will make other people give me
money, I signed up to Comp311 to learn about user interfaces. What I'm
being taught is stunningly boring when I think about what we could be
learning. So I guess this thread is an attempt to engage with some of
the ideas surrounding user interfaces that I find interesting.
I also strongly believe that engaging with user interfaces on this
level will inform our decisions when we step back to the boring, boring
business application development level: thinking about the experience
the individual users will be having when they use our software is going
to help us make software which facilitates a more enjoyable, ie better,
software use experience. I'm assuming of course that the idea of
'enjoyable' captures all or most of the requirements of a good user
interface, feel free to refute me on this point if you disagree.
|
« Last Edit: Aug 1st, 2005, 6:12pm by Damian Stewart » |
|
|
|
|
Tim Wright
|
|
Re: user interfaces as a more abstract topic
« Reply #1 on: Aug 2nd, 2005, 8:31am » |
Report
Quote Modify
|
What you're essentially talking about is the difference between novice
and expert users. We have a lecture on this later in the year. We also
have a lecture about advanced interfaces and other interesting things.
However, it's kinda pointless arguing about the use of metaphor in a
user interface (as we do in Comp453) if you don't know how to build a
user-interface. You should also note that the material
you learn in Comp311 is equally applicable to software like Abelton
Live, games, and anything else. In fact, you could try writing
essential use cases for all the tasks you do with your music software
and then desigining a user interface based on that - you might just
come up with something better than abelton. (However, the demo last year by the abelton designer was very cool.) Tim
|
|
|
|
Damian Stewart
|
|
Re: user interfaces as a more abstract topic
« Reply #2 on: Aug 9th, 2005, 1:05am » |
Report
Quote Modify
|
i'm not sure that the concept of 'essential use cases' is helpful in
the interestings cases of something like a live music performance tool.
For instance, if the potential use cases won't categorise or simplify,
or if use cases are interrelated (ie if the effect of a particular
operation depends upon the effect of the previous operation), how can
writing essential use cases work here?
You'd either have to write use cases for each potential combination of
states (which is silly) or make the use cases able to cope with
different states leading to different effects - which I imagine would
lead to much less useful use cases. I suppose I'm
challenging what seems to be one of the central premises of this
course, that is, that essential use cases, ie unchanging patterns of
interaction, do exist for any task-driven operation of a computer. Like
many other ideas in academic computer science, we're being offered this
without proof or argument, or discussion of possible alternatives. (And
as it tends to make life more fun, and also as I have somewhat
anarchist tendencies, I'm inclined to question everything I'm given
without proof.)
|
« Last Edit: Aug 9th, 2005, 1:07am by Damian Stewart » |
|
|
|
|
Tim Wright
|
|
Re: user interfaces as a more abstract topic
« Reply #3 on: Aug 9th, 2005, 2:37pm » |
Report
Quote Modify
|
on Aug 9th, 2005, 1:05am, Damian Stewart wrote:i'm
not sure that the concept of 'essential use cases' is helpful in the
interestings cases of something like a live music performance tool. For
instance, if the potential use cases won't categorise or simplify, or
if use cases are interrelated (ie if the effect of a particular
operation depends upon the effect of the previous operation), how can
writing essential use cases work here? |
| Can you give me a concrete example? Generally use cases specify user interactions rather than effects on program artifacts. Quote:
I suppose I'm challenging what seems to be one of the central premises
of this course, that is, that essential use cases, ie unchanging
patterns of interaction, do exist for any task-driven operation of a
computer. Like many other ideas in academic computer science, we're
being offered this without proof or argument, or discussion of possible
alternatives. (And as it tends to make life more fun, and also as I
have somewhat anarchist tendencies, I'm inclined to question everything
I'm given without proof.) |
|
Unfortunatly, we have given you alternatives. Personas and Scenarios
immediatly spring to mind as a competing methodology we have covered
(allbeit not in depth) that do not rely on user tasks.
And, like I wrote above, give me a concrete example of a usage pattern
that cannot be specified in use cases. However, I respectfully suggest
that this discussion is best done in the form of an honours report.
What are you doing next year?
|
|
|
|
Tu Nguyen
|
|
Re: user interfaces as a more abstract topic
« Reply #5 on: Aug 17th, 2005, 10:54pm » |
Report
Quote Modify
|
on Aug 17th, 2005, 3:25pm, Darren Willis wrote: D4mn... that is the funky stuff right there!! PS: Eh... what can't you say D4mn d4mmit!!
|
« Last Edit: Aug 17th, 2005, 10:54pm by Tu Nguyen » |
|
|
|
|
Damian Stewart
|
|
Re: user interfaces as a more abstract topic
« Reply #6 on: Aug 18th, 2005, 9:52am » |
Report
Quote Modify
|
cheers! it's all creative commons licensed so please spread far and wide! http://www.frey.co.nz/ also come down to Thistle Hall on Saturday to watch me slice up a spoken word piece in real time.. peace
|
« Last Edit: Aug 18th, 2005, 9:53am by Damian Stewart » |
|
|
|
|
Damian Stewart
|
|
Re: user interfaces as a more abstract topic
« Reply #7 on: Aug 29th, 2005, 11:48pm » |
Report
Quote Modify
|
I suppose an example of where the kind of groupthink we're being taught
to practise in these projects falls through is if you're trying to
design a new paradigm in user interfaces.
Thinking about user interfaces in the way we are being taught to
doesn't even begin to address the question of whether the window
paradigm is actually the only sensible way to interact with a computer.
The window system is just a system after all -
I'm reading a book at the moment about the creation of the original
Macintosh, and the development of the scrollbar - yep, hard to imagine
it but at one point in time the scrollbar was this crazy mad concept
that no-one had worked out how to code yet. User interfaces these days could probably fall into three main categories: - Command line interfaces - Window/mouse-based interfaces (this includes things like Photoshop) - 3D interfaces (3d editing applications) - Game interfaces Game interfaces then breaks down into * zoomy games * sports games * fps games/3rd person games * top-down map games * more abstract game interfaces, like tetris * shoot-em-ups games: http://www.llamasoft.co.uk/gridrunner.php * beat-em-ups (eg Tekken)
hmm. and we're learning a bunch of very tightly process-bound terms,
which are probably going to be obsolete in 10 years when a new paradigm
comes around. why aren't we learning how to think about user interfaces
as a whole, rather than just learning how to think about a specific
type of user interface?
|
|
|
|
Darren Willis
|
|
Re: user interfaces as a more abstract topic
« Reply #8 on: Oct 3rd, 2005, 3:23pm » |
Report
Quote Modify
|
My solution to the groupthink is simple: Re-conceptualize the personal
computer as an intelligence-amplification tool in terms of enhancing
in-the-moment experience.
Design a software tool that is more efficient and easier to use than
the mainstream desktop PC paradigm (as-of Oct 2005). A powerful
abstract data-model with system-wide synergistic functionality
controlled by an intuitive and immediate user interface allows
transcendence of the boundaries of ordinary desktop and internet
environments which have been arbitrarily segregating activity between
individual programs, applications, files, or websites.
When observing a computer desktop environment in Windows, XWindows, or
MacOS, one can see that the entire immediately apparent environment
(what is on the video screen) can be described as an arrangement of
symbols and images that may react to keyboard presses, or perhaps mouse
clicks. Conventional GUIs generally allow a relatively restricted,
rigid, and indirect control of the fundamental information about which
the user is concerned. Instead, if a user works with 'ideas' directly,
information can be connected, related, and transformed in a staggering
variety of possibilities. This tool would be
essentially a smart memory field of imagination. It powerfully
re-describes what would be ordinary computer activity in terms of
information, communication, and goal-driven intent. An environment
connects to other environments via a P2P network that integrates data
coherency and persistency. This results in a global holographic memory
system. Consider the desktop as an extension of one's
visual system. This is an intelligence-amplifier in the form of an
active imagination space that solves, communicates, calculates,
analyzes, and remembers. We can not predict the ways in which this tool
would be used. The high degree of freedom may encourage entirely new
forms of communication and thinking to emerge.
|
|
|
|
Konstantyn Dymnikov
|
|
Re: user interfaces as a more abstract topic
« Reply #9 on: Oct 5th, 2005, 6:10pm » |
Report
Quote Modify
|
This is an interesting idea, but it suffers from a number of critical
flaws that must be ameliorated for it to have any applicability to the
dominant Turing paradigm. We need to consider the use cases and user
roles very carefully. To bind our semantic analyses of user interface
design to the WIMP environment, when all computers are truly von
Neumann machines, is overly restrictive. I think it is important
instead to harken back to the early conception of information
processing machines, as explicated by von Neumann (e.g. Theory of Self-Reproducing Automata, he also touched on them in his work Mathematical Foundations of Quantum Mechanics).
When you consider these machines and the surrounding quine-theory
developed as a result of his work, one immediately sees that the point
of a user interface is not to allow a user to interact with some form
of "artificial system", but instead to allow a user to replicate his
thoughts directly into the machine. Memory is not relevant to this and
in fact risks turning the system into an aspectational mirror, rather
than a replicator. This distinction is important, because a mirror is
not interactive or emergent. What we must seek in a computer system is
more than a reflection: we must seek to develop an affector (effector?)
mutagenic flow, in which our ideas are made explicit so that we can
work directly on them rather than in the abstract and imprecise manner
in which we do in, e.g. our heads - see for example Dennett or
Sterelny's work on the human mind (Sterelny works at Vic!). If we do
this we see that we are not seeking to "re-describe" - such a
re-description is merely a fanciful term for a WIMP environment and not
an agile immersive user interface. You are engaging in trivial,
semantic quibbles. But now you ask me the question -
how would this system work, if it is not some sort of holographic
memory system but instead a mutagen? The crucial element will be the
introduction of stochastic competitive climbing. This will obviously
have to be modelled in a recurrent and abstract manner (I'm not
suggesting we actually involve real climbers!), perhaps using a BSP or
BMX tree? Once we have done that we can start integrating this first
true user interface into the existing systems. This will allow us to
massively leverage their funtionality and epistemology. The computing
ontology will be dramatically altered, and much for the better I think.
What is your opinion Darren, I feel the zeitgeist changing - you?
|
|
|
|
Konstantyn Dymnikov
|
|
Re: user interfaces as a more abstract topic
« Reply #10 on: Oct 5th, 2005, 6:36pm » |
Report
Quote Modify
|
Oh, I've just thought of a classic Russian phrase which expresses this idea so beautifully: ""
The idea cannot be expressed as well in English, but I hope that
there are some among you who can appreciate the sentiment thus exposed.
I leave you with a last question:
|
« Last Edit: Oct 5th, 2005, 6:46pm by Konstantyn Dymnikov » |
|
|
|
|
Donald Gordon
|
|
Re: user interfaces as a more abstract topic
« Reply #11 on: Oct 5th, 2005, 8:30pm » |
Report
Quote Modify
|
I believe that relating everything to computers is too restrictive.
We should be viewing the entire universe, nay, multi-verse as an
interface with which we interact via our senses. When
contextualising the information space, we need to ensure that all
paradigms are synergistically integrated into a comprehensive and
cohesive theory of interaction that transcends its component parts.
This theory, this system of thought should provide a framework
for every possible form of interaction between our brains -- our minds
-- and the outside world as perceived by our senses, quod est veritas.
The conventional patterns expressed in human-computer interaction
attempt to preserve an ivory tower immune to change, expelling the
invading challenges of nondiscriminatory, nonconformist thought --
manifesting the strident claim: "Extra Ecclesiam Nulla Salus".
However, to illustrate the ineffectiveness of the prevailing
thought-structure, it is valuable to point out that to be forced to
identify ourselves as the demeaning "little man" icon et alii, when we may not indeed be, ipso facto,
a "little man", is in and of itself restrictive to our ability to
express ourselves and thus impedes our attempts to identify personally
with the interface with which we are presented. Rather, we may
only achieve self-identification, and through this, self-actualization,
via the hitherto underutilised icon of a brain, id est,
the ubiquitous symbolization of human thought. And real thought,
not merely the coagulate cluster of neologisms jostling with one
another in a futile attempt to achieve cohesivity that commonly passes
for an outward display of sagacity in these troubled times of crisis
and universal brouhaha1. (quod vide our unfortunate predecessors in this thread.)
But even restricting ourselves to human thought places inequitable
bounds on the utility-scope of an interface system. What of
interfaces for other actors within the universal system? A
house-cat has a clearly different view of the world, yet should not be
constrained to the hegemonic homocentricity imposed by the
largely-human architects of these extemporaneously constructed
frameworks. We have a dream that one day each and every member of
the noble species of house-cats, orca, humans and perhaps even more may
interact with information -- with the world -- in such a way as that
support and respect their fundamental cultural and mental constructs,
yet is in union with all other parts of the thought ontology which we
here construct, transcending our inherently introspective processes of
reasoning to achieve truly externally aware meditation. Though it
may be said, "de minimus non curat praetor"; as culturally- and
speciesally-responsible implementors, we must consider these issues
with the utmost sincerity and rigor, lest we be reminded that Facilis descensus Averno.
We further surmise that the very concept of human-computer interaction
is obsolete. The user should not be restricted to a concretized
target of interaction in the form of lines and text, which are in their
very form unrelated to hir fundamental task. He should be able to
conceptualise the idea-space, or ontology, in so much as to
consequentially actualise her desire upon that which is before him, be
it machine or otherwise, ergo our fundamental paradigmatic shift.
In this instance it is truly well-said that aegroto dum anima est, spes est. Inter alia, we can plainly see the value proposition in the classic expression "messy is good"2. Unix may leave room for lunch3,
but it is clear to us all that the flavour fails to present a
culturally appropriate level of satisfaction for all potential users4.It may be true that de gustibus non est disputandum, but in this case we are simply forced to exclaim: Nunc est bibendum.
I shall attempt to rejoin our discourse via the internet once I return
to my abode; but for the moment I must concentrate on my thesis,
tentatively titled "Transcending Interaction: A new paradigm for
heterogeneous interface". 1 We Will All Go Together When We Go: Tom Lehrer (1959) http://members.aol.com/_ht_a/quentncree/lehrer/allgo.htm 2 Notes on Postmodern Programming: James Noble, Robert Biddle, Elvis Software Design Research Group (2002) http://www.mcs.vuw.ac.nz/comp/Publications/CS-TR-02-9.abs.html 3 Notes on Notes on Postmodern Programming: James Noble, Robert Biddle (2004) http://portal.acm.org/ft_gateway.cfm?id=1052890&type=pdf 4 UNIX-Haters Handbook: Simson Garfinkle, Daniel Weise and Steven Strassmann (1994), IDG Books Worldwide, Inc.
|
|
|
|
Damian Stewart
|
|
Re: user interfaces as a more abstract topic
« Reply #12 on: Today at 12:32am » |
Report
Quote Modify
|
on Aug 9th, 2005, 2:37pm, Tim Wright wrote: Can you give me a concrete example? Generally use cases specify user interactions rather than effects on program artifacts. |
|
I never really addressed this point, but seeing as how this thread
seems to be alive again (hey Donald! how's things? I've been meaning to
come say hi for ages) and it's very late and I'm procrastinating going
home, I might as well reply now. I find when
performing music it is important to get lost, literally, in the
interface - be this a musical keyboard, a guitar with strings, a
control surface with physical knobs, or a mouse/keyboard/screen
computer setup. Lost is really the key here - I aim for a state
of confusion where i'm creating noises that I've never heard before and
that I'm unsure even how they're being created, because then I can hear
them like the audience might be hearing them - as new sounds - and thus
hopefully explore them in ways that the audience can hear and that make
musical sense. The way I have been going about doing
this lately is by establishing feedback loops involving DSP units on
the send channels of the software I'm using. When you make feedback
loops, the effect that each control on each of the effect units slips
away from its designed-and-labelled pattern of effect. For example, in
a feedback loop containing just a reverb unit, the reverb's 'decay
time' parameter becomes a kind of a complex 'this is how long before it
screeches at you' control. With no driving input to the loop, if you
put it too low the sound will stop; if you put it too high, the
feedback will become horribly unstable and lead to nasty clipping and
your audience clapping their hands over their ears and hating you.
Effective performance with feedback is about riding the transition
point between a stable system and an unstable system, trying to follow
the patterns of sound that the instabilities cause and guide them into
something musically interesting. I typically work with
upwards of 10 or so dsp units in multiple loops, with signals tapped at
various points along the chains and sent to other chains, so the
patterns of interaction rapidly become unguessable. Performing in this
context is a case of playing with a parameter and listening to
try and figure out just what effect it is having on the noises coming
out the speakers - and then, with that noise-structure shifting as
other aspects of the processing system as a whole come into play, being
able to figure out why its shifting, where it's shifting to, and how to
keep the whole thing from becoming pathologically unstable. On the surface of it, then, a 'use case' for me might be 'change parameter x on dsp unit y to level z'.
But I've been thinking about this a lot lately (and thinking about
doing research into it as well), and it seems that use cases that would
actually be more useful for me would end up being something more like
'isolate that "cool-sounding" (musical) thing that's going on there' and 'wow! that's awesome, make it louder!' or 'kill everything that isn't that'.
I find the process of developing as a musician to be a simultaneously
frustrating and amazing one. Amazing because the noises I make blow me
away sometimes - frustrating because every time I write a new
piece of music it's not just a case of coming up with a new 'song',
it's a case of coming up with an entirely new method of coming up with
a new 'song', per se. If I get into 'the zone' when making music, and
discover a technique with a particular piece of software, I can
typically never use that technique again, because hearing it the second
time round deprives it of that magical sense of 'oh wow I had no idea
that sound could even exist' which is why I make music in the first
place. My fear then is that in trying to decompose
this with a 'this is the X use case' and 'this is the Y use case'
approach we'd somehow lose the totality that is Music. There
really only is a single use case - MakingMusic - and it just may be the
case that further decomposition doesn't help. Sure, it helps in the
simple (boring) cases, but in the cases of experimentation with noise
and audience reaction to and interaction with noise ('research' into
music if you like) a system built around a particular pattern of use
cases based on decomposition of a particular process or series of
processes would end up locking the musician too closely in to that
process. So perhaps the clearest use
case (singular) in this example then seems to be
ComeUpWithNewInteraction. And if use cases are about interactions, it
kind of collapses to ComeUpWithNewUseCase. An effective music creation
and performance system for me would be all about generating new ways in
which to interact with it. The way I have to do that with existing
software is by breaking the interaction patterns their interfaces set
up: you're not supposed to be able to do what I'm doing with
the software, and it's clear from the documentation, implementation,
and upgrade patterns that the developers are unaware of my particular
usage patterns. I would love to see something
built from the ground up to be broken: a user interface built around
the concept of no fixed interaction patterns, and indeed one that
actually encouraged constant change in interaction patterns. Which is,
of course, part of why what these people --> http://www.toplap.org/index.php/ManifestoDraft
are doing is so interesting: live coding. get up on stage, write the
program live. the audience hears the sound develop as you write the
code.
|
« Last Edit: Today at 1:16am by Damian Stewart » |
|
|
|
|
James Noble
|
|
Re: user interfaces as a more abstract topic
« Reply #13 on: Today at 8:38am » |
Report
Quote Modify
|
Hey - interesting discussion (got here by way of Donald's blog)
I'd argue that - yes - essential use cases do have an underlying
metaphor - that of "computer as tool" perhaps more than the Alan Kay-
"computer as medium". But when it comes to something like
Live, I think if you do the essential use cases and compared them to
the Live interface, you'll find live really is pretty good there.
Trying to do the same things in - I dunno - Protools? and you'll find
that they key things you need to do are in Live in a way they just
aren't in Protools. The again, Matt Duignan (doing a PhD here, currently away in Canada) is looking at something related for his degree: http://www.elvis.ac.nz/brain?MattPhD Alan Blackwell at Cambridge (who visits here most summers) also has this on livecoding: http://www.informatics.sussex.ac.uk/events/ppig2005/papers/Blackwell.pdf
|
|
|
|
|