Yet Another Bulletin Board

Logged in as: pricegael
Oct 6th, 2005, 8:53pm

YaBB Home YaBB Home Help Help Search Search Edit Profile Profile Notification Notification Logout Logout
School of Mathematics, Statistics & Computer Science user interfaces as a more abstract topic

[an error occurred while processing this directive]
   School of Mathematics, Statistics & Computer Science
   MSCS Courses
   COMP311 - User Interface Design
(Moderator: Tim Wright)
   user interfaces as a more abstract topic
No topic | Next topic
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print
   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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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?
Darren Willis
Re: user interfaces as a more abstract topic
Reply #4 on: Aug 17th, 2005, 3:25pm
Report Report Quote Quote Modify Modify

on Aug 1st, 2005, 6:10pm, Damian Stewart wrote:
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 also got pretty lost in the music you made
Tu Nguyen
Re: user interfaces as a more abstract topic
Reply #5 on: Aug 17th, 2005, 10:54pm
Report Report Quote Quote Modify Modify

on Aug 17th, 2005, 3:25pm, Darren Willis wrote:
I also got pretty lost in the music you made

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 Report Quote Quote Modify 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 Smiley
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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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 Report Quote Quote Modify 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
Pages: 1  Reply Reply Notify of replies Notify of replies Send Topic Send Topic Print Print

No topic | Next topic

School of Mathematics, Statistics & Computer Science Powered by YaBB 1 Gold - SP 1.2!
YaBB 2000-2003. All Rights Reserved.