Thursday, 26 February 2009

Difference between iterative and incremental development and a bit for agile

A really useful perspective on iterative and incremental development from JanBlog

"Do you sometimes also have problem to make clear distinction between iterative and incremental development? What if you should explain difference to customer or friend?

Hopefully these two pictures taken from Don’t know what I want, but I know how to get it will help you understand it.

When you work incrementally you are adding piece by piece but expect that each piece if fully finished. One picture is worth of thousands words :)
When you work iteratively you create rough product or product piece in one iteration, then review it and improve it in next iteration and so on until its finished. One picture is worth of thousands words :)
So is Scrum incremental or iterative?

It is iterative by the definition as we are running sprints. We are improving application iteration after iteration.

But I believe it is also incremental because user stories finished in sprint should be of shippable quality and therefore we should not return to them in next iterations.

So Scrum is iterative incremental process.

Is this your opinion too?"


I currently thinking scrum/agile must draw on a iterative incremental process.

This links with a a recently read question asked to Alan Cooper on
asking “Is incremental design the wave of the future, or just a flash in the pan?”

"As agile methods take over the programming world (and they will), EVERYONE else will adjust accordingly. The old paradigm of everyone hunkering down and protecting their turf from everyone else is what gave rise to the "traditional cycle" (which is, by the way, uniquely ill-suited to software construction and design).

The new (agile) paradigm isn't at all defined yet, but it characteristically includes a) Generation Y programmers; b) a refreshing belief in the potential for change; c) the understanding that satisfying human users requires special efforts and probably special skills; d) a belief that software should be built in continuous increments; e) a corresponding belief that everything else in the world relating to software would benefit from such continuous increments; f) that building software is a team endeavor; and g) that nobody has solved these problems before.

It's very reminiscent of the way I felt in 1976. At that time, all computers were multi-million-dollar affairs, residing in specialized corporate bunkers, owned only by large corporations, and used to perform operational business functions. I, on the other hand, had just purchased my first computer.

It was a 1MHz, 8-bit microcomputer with 8" floppy drives and 64K of memory. All of the then-current assumptions about software development, creation and use were marked for death as we Boomer Generation programmers began to invert the dominant paradigm.

Within 15 years, we had utterly changed every aspect of software and computing, and today's agile, Web 2.0, open source, Gen Y programmers will do the same, only faster.

Interestingly, the changes we wrought were almost all bottom-up. The only influence large corporations had on the great microcomputer software revolution were to obfuscate and delay it. And, of course, the reason why we study history is so that we can chuckle at the irony of its inevitable repetition. Today's changes are also coming up from the bottom, and big companies are doing little to help and much to hinder.

Thanks,
Alan"


Is there more scope now for understanding and demonstrating how the agile process should be without such hinder with the understanding how it can be used with UCD ?

Sunday, 22 February 2009

The role of software design

A useful quote to draw on for how the act of a designer for software should
be perceived - is this where the role of the interaction designer defines itself to exist within?

"Software design is the act of determining the user's experience with a piece of software. It has nothing to do with how the code works inside, or how big or small the code is. The designer's task is to specify completely and unambiguously the user's whole experience"

. -- DavidLiddle, From Bringing Design to Software, edited by Terry Winograd, 1996

Tuesday, 17 February 2009

Monday, 16 February 2009

What is Information?





A very neat and original animated infographic film about the concept of information. It was created by Maya Design, a design consultancy and technology research lab. Although most of us think we know what we mean when we say "information," the movie claims we sometimes confuse the medium with the message.

What is Information?

What is Systems Design?

An useful definition to be aware of for my own process and the overlap that software developers have found themselves in. The lack of clarity that has gone before and continues to go on in the understanding of the system design I feel is connected to the thoughts of Alan Cooper and the goal directed design process. (More thoughts on Goal directed design documented in the next post)

The following text is the pre-edited version of an interview of Hugh Dubberly by Dan Saffer. The interview was performed via email in February of 2006, and was later published in Designing for Interaction: Creating Smart Applications and Clever Devices.


What is system design?

Systems design is simply the design of systems. It implies a systematic and rigorous approach to design—an approach demanded by the scale and complexity of many systems problems.


Where did it come from?

Systems design first appeared shortly before World War II as engineers grappled with complex communications and control problems. They formalized their work in the new disciplines of information theory, operations research, and cybernetics. In the 1960s, members of the design methods movement (especially Horst Rittel and others at Ulm and Berkeley) transferred this knowledge to the design world.

(This can be used in the background in the literature review)

Systems design continues to flourish at schools interested in design planning and within the world of computer science. Among its most important legacies is a research field known as design rationale, which concerns systems for making and documenting design decisions.


What can designers learn from system design?

Today, ideas from design methods and systems design may be more relevant to designers than ever before—as more and more designers collaborate on designing software and complex information spaces. Frameworks suggested by systems design are especially useful in modeling interaction and conversation. They are also useful in modeling the design process itself.

This is significant to the IEAT process in order to ask and further test my own ideas against how system design communicates the information in the design process?


What is the most important thing to be aware of in system design

A system design approach asks

For this situation, what is the system?
  • What is the environment?
  • What goal does the system have in relation to its environment?
  • What is the feedback loop by which the system corrects its actions?
  • How does the system measure whether it has achieved its goal?
  • Who defines the system, environment, goal, etc.—and monitors it?
  • What resources does the system have for maintaining the relationship it desires?
  • Are its resources sufficient to meet its purpose?

A initial comparison draw from this and applied to the IEAT process?

A systems approach to design asks: - to help provide questions/perspective for a developer ?

  • For this situation, what is the information ecology?
  • What is the ecology?
  • this asks what goal does the system have in relation to its information ecology?
  • What is the feedback loop by which the system corrects its actions?
  • How does the system measure whether it has achieved its goal?
  • Who defines the system, environment, goal, etc.—and monitors it?
  • What resources does the system have for maintaining the relationship it desires?
  • Are its resources sufficient to meet its purpose?


Is system design incompatible with the user centered design approach?

A systems approach to design is entirely compatible with a user-centered approach. Indeed, the core of both approaches is understanding user goals. A systems approach looks at users in relation to a context and in terms of their interaction with devices, with each other, and with themselves.


What is the relationship between system design and Cybernetics?

Cybernetics (the science of feedback) provides an approach to systems and a set of frameworks and tools. Among the most important ideas for designers:

  • Definition of a system depends on point of view (subjectivity)
  • We are responsible for our actions (ethical stance)
  • All interaction is a form of conversation
  • All conversation involves goals, understandings, and agreements

Are there times when a system design approach is inappropriate?

A systems approach to design is most appropriate for projects involving large systems or systems of systems. Such projects typically involve many people, from many disciplines, working together over an extended period of time. They need tools to cope with their project’s complexity: to define goals, facilitate communications, and manage processes. Solo designers working on small projects may find the same tools a bit cumbersome for their needs.

- A difference noted here is that system design deals with 'projects involving large
systems
or systems of systems.' With the information ecology the purpose is to reduce down the complexities and have the focus upon the information movement within the ecology.

Will the IEAT process required similar identification to say when and when not it is
appropriate for the perspective of selling the idea to a software developer, interaction designer?


Friday, 13 February 2009

IA Summit Keynote: Journey to the Center of Design

A interesting presentation from Jared Spool that is talking of some interesting aspects for the evolving concept of UCD.
(seen on the usability engineering website )

Here’s the description of the talk:
"Journey to the Center of Design User-centered design was born in the 1980s, amidst a world filled with frustration with blinking VCR clocks and computer command lines. Up until this time, developers focused on making the devices work, giving little heed to how they’d be used. Terms like “user friendly” and “easy to use,” buzzwords for the UCD movement, soon became as common as “new and improved” on laundry soap. Fast forward 25 years and it now seems the foundations of user-centered design are now disintegrating. Notable community members are suggesting UCD practice is burdensome and returns little value. There’s a growing sentiment that spending limited resources on user research takes away from essential design activities. Previously fundamental techniques, such as usability testing and persona development, are now regularly under attack. And let’s not forget that today’s shining stars, such as Google, Facebook, Twitter, and the iPod, came to their success without UCD practices. Is it time for user-centered design to evolve into something else? Or is there something else happening in our world of experience design that makes UCD obsolete? Should something else occupy the center of design? These are just the questions that this year’s keynote presenter, Jared Spool, likes to answer. Especially after a few drinks. And while a Saturday morning keynote may seem early for the kind of heavy drinking these particular questions demand, Jared will have just arrived from Italy, a nation with a long tradition of philosophical intoxication. This will set the perfect stage for an entertaining and insightful presentation to open our conference."


Journey To The Center Of Design
View more presentations from Jared Spool. (tags: paradigms design)


Thursday, 12 February 2009

Are We Designing Interactions or Designing Software?

A really useful article from the blog - graphpaper

Are We Designing Interactions or Designing Software?

February 11th, 2009

spreadsheet_metaphor2_320.jpg

One of the problems faced by designers trying to integrate their work with most software development processes, even (or possibly especially) with Agile development, is that the literature makes no distinction between software development and software design, or at least no distinction that makes any sense to dedicated user experience designers.

The common complaint among interaction designers working with Agile is that, with some important exceptions, the design of the “user interface” is seen as a cosmetic final stage in the overall software development process. The fundamental designing of the software itself, however — the interactions, the mental models, the metaphors and behaviors — is built-in to the overall Agile process, woven in with with and indistinguishable from the software architecture and code development.

In Mitch Kapor’s Software Design Manifesto, originally delivered in 1990 and included in Terry Winograd’s Bringing Design to Software (1996), it’s clear that this ambiguity has deep roots:

Software design is not the same as user interface design.

The overall design of a program is to be clearly distinguished from the design of its user interface. If a user interface is designed after the fact, that is like designing an automobile’s dashboard after the engine, chassis, and all other components and functions are specified. The separation of the user interface from the overall design process fundamentally disenfranchises designers at the expense of programmers and relegates them to the status of second-class citizens.

The software designer is concerned primarily with the overall conception of the product. Dan Bricklin’s invention of the electronic spreadsheet is one of the crowning achievements of software design. It is the metaphor of the spreadsheet itself, its tableau of rows and columns with their precisely interrelated labels, numbers, and formulas—rather than the user interface of VisiCalc—for which he will be remembered. The look and feel of a product is but one part of its design.

On my first read, the whole terminology of this felt alien to me. Is the paper spreadsheet metaphor not the “user interface design”? It seems “look and feel” is being equated with “user interface” here, but I think he’s implying that what I consider the user interface is, in fact, the software itself. I suppose this is a more glorified definition of the word “software” than what I am accustomed to, one in which the software design included the mental model of the user’s approach to the software.

On my second read, though, it became clear that Kapor is in fact laying the early groundwork for what we now call interaction design. He still sees it as closely bound with programming, although he is clear that it’s not the same thing. He is also working in a climate where user experiences are far simpler than they are now — graphic capabilities were primitive, network interactions were almost non-existent, and interfraces had few modes, even few features. Today, with the high level of complexity of both computer code and user interfaces, it’s easier to consider the two challenges (user experience and code) separately — or even better giving primacy to the user interface — the part that people actually see and use.

Design and Technology

It’s obviously important that interaction designers are well-versed in what the technologies they are designing for can actually do. I wonder, however, what interaction designers today would think of the degree of technical expertise Kapor requires of designers:

Technology courses for the student designer should deal with the principles and methods of computer program construction. Topics would include computer systems architecture, microprocessor architectures, operating systems, network communications, data structures and algorithms, databases, distributed computing, programming environments, and object-oriented development methodologies.

Designers must have a solid working knowledge of at least one modern programming language (C or Pascal) in addition to exposure to a wide variety of languages and tools, including Forth and Lisp.

In preparing the syllabus for my upcoming course this fall at SVA, I am quite certain that I don’t share Kapor’s technical requirements for a software design education, neither specifically (Forth?) or generally. Instead, I think a firm grounding in a broad range of designed experiences far outweighs any need for hands-on experience in the deepest challenges of technology implementation.

Yes, some designers will delve deep into technology, being hands-on coders and fabricators of interactive artifacts. In fact, some great interaction designers already spend most of their days thinking of themselves primarily as technologists. Others, however, will focus on the design parts of interaction design. These people will most often work closely with other individuals and teams to implement their designs.

In short, great design will come from great designers, and great technologists will make those designs happen. Sometimes these skills will be found the same person, but increasingly not. An interaction design education should support both models, of course.

Interfaces and Software

Despite my difference with Kapor’s admonition, I still think that in a way we are coming full circle. The recently-articulated idea that the “interface is the spec“, or even “the interface is the product“, isn’t so different from Kapor’s thinking. The metaphors, mental models, and processes that users experience using the software are, in both cases, the most definitive and salient qualities of the “design” of the software (not, as many software development processes presume, the architecture of the code or the technical features that happen under the hood).
The important thing that Kapor left out, however, is that the “user interface” — the stuff that comes between human beings and cold hard technology – should be thought of as including graphic design as well as the underlying conceptual models of the interactive experience he rightly praises. In fact, the “user interface” concept should also include the software’s motion graphics, its sound and music, the copywriting, voice and personality, the community that builds around the product, and so many other qualities of software design that, frankly, had not really come to maturity yet in 1990.

We are only recently starting to appreciate the idea that interaction design is really about the intersection of the behaviors of systems and people (a favorite word of mine for obvious reasons). The explosion of new and innovative software experiences brought on since 1990 by the World Wide Web and console video games, I think, has fundamentally changed our understanding of what software can be.

Open source user experience - IxDA discussion

A useful thread from IxDA on Open source user experience useful to use for the further discussion of OSS with ID and the way in which this may continue to be developed further.

"Q - I've been thinking about the open source movement.

I know very little of the UX community's involvement, so firstly I'm posting to ask what has been happening so far. Mozilla, Open Office and some others must have had serious UX involvement. Secondly, if it doesn't already exist, I wonder if there's the potential for us to structure some kind of virtual agency that would allow us to engage effectively.

Few thoughts

- In my opinion, several OS projects are incredible achievements that are hampered by small usability problems or even just language issues. I really believe in the movement. I think some corners of it need our help.

- UX involvement, unlike coder involvement, might be more effective if the people weren't aligned to a single project, so maybe the movement doesn't naturally structure itself to include us.

- Be a good way to spread the UX word, and a good way for us to collaborate and learn from each other. Might be especially useful for people trainign in UX. Maybe meetings like the book club but instead the topic is an open source project that everyone's looked in advance.

Any thoughts? Knowledge of UX involvement so far?

Tom "


And some further comments from the thread

"I just ran into Paula Bach's work on UX and Open Source, in particular:

"Designers Wanted: Participation and the User Experience in Open Source Software"

http://cscl.ist.psu.edu/public /users /pbach /paper1367 -bach.pdf

A nice read ..."


"For more linkage, see http://delicious.com/andyed/opensource+usability The openusability.org site Adrian referenced is a sort of "virtual agency". The Mozilla efforts are I think the culmination of a rising trend here, capping work in Usability sprints, along with more dedicated projects in GIMP, Drupal, and Wordpress.

There's more to the Mozilla picture than described here so far — "Test Pilot" aims to get a representative 1% of the firefox user base for instrumentation aided remote usability exercises:
http://labs.mozilla.com/2009/01/test-pilot-vision/

Cheers,
Andy "


I haven't gone and read those links yet and maybe the answer is there, but I would be interested to hear about how interaction/user- experience design can be worked into the open-source model.

I can't help feeling I'm being naive here, but the checking in and out of code, branching and patching and the control of that process seems to suit code way more than it does, say, wireframes or design concepts.

The latter are, by their nature, rougher than finished code would be, yet would need to go through a typical open-source process of being added to the 'build' in some way and good ideas, or too rough ideas might get killed off in the process.

How have people gone about this workflow and process in existing open- source projects? The Yahoo! pattern library process seems like it could be a good model: http://tinyurl.com/by4bq

Best,

Andy Poline "


"While bring UX to open source is not impossible and there are great people putting up a great fight. These are more the exceptions than the rule.

We need to realize that until the culture of OSS evolves from one where code contribution is king, to one where idea contribution (in ALL its forms, including code) is king, it will remain difficult.

I think there needs to be a bit of a revolution and one I'm hoping to have something to do with (maybe even with Aza's help) . In the spirit of Carpe Diem, I really want to "just do it" and create an OSS project, even if only experimental that starts out with attempting to answer the question, "What would a designer led open source software project look like?"

The goal isn't to negate the developer, but create a space totally different from before. The outcome is not to learn how to lead developers, but to create a space for exploring design in its relation to development in a new way and see what succeeds and what fails. The ultimate goal would be to work towards modeling a new culture where business, development and design can co-mingle/lead OSS initiatives/projects.

-- dave "

A great and useful point made here with how to lead developers to a new space for the design and development of software - this is a perspective that the IEAT process for me is having to incorporate and provide a bridge for the development process into the design/design ethnography process and vice versa.

Again more about dealing with the multiple perspectives that technolgoy design is facing.

Tuesday, 10 February 2009

Usabilty of the post-it

A great piece on why computers have such a long way to catch up on the usability of the
post-it, can the argument of Activity Centred Design be a way in that the usability of technology can edge closer to such integration in understanding.

MIT researchers argue that computers need to become as easy to use as those yellow sticky notes.

Office workers are like electricity: When they want to get something done, they follow the path of least resistance.

Which is why, say researchers at MIT, the Post-it note continues to flourish on every surface of the contemporary office, despite all those expensive computers ready and willing to help.

David Karger helps lead a group at MIT exploring the way people work with computers. A recent paper from his team chronicled the attraction of “information scraps” like Post-Its, which, says Karger, are actually near-perfect data base tools. They’re accessible and easy to use, and they take advantage of the brain’s facility to remember an object’s location in the three-dimensional world."


A further great point from David Karger recent paper
"We started out asking what people do with Post-it notes, and it spiraled into something much bigger -- a study of how people intentionally misuse all of those systems that are supposed to help you," says Bernstein, who has worked closely with graduate student Max Van Kleek on the information scrap project.

In a similar manner I can think about how my own work own work evolved from the focus of paper use in the lab to the larger issues of how to design for such scientific software systems in the context of understanding the information workflow.

Follow up research to be presented at CHI 09 - to read

Tuesday, 3 February 2009

What do you think should be the 3 primary roles/objectives of an interaction designer?

An interesting discussion on the role of an interaction designer - interesting how the context
for the role would be very different from my own 3 primary roles/objectives within the context of the IEAT.

What do you think should be the 3 primary roles/objectives

of an interaction designer?

"I've been asked to update a job description for the purpose of performance reviews, etc. over the coming year. I'd be interested in hearing what you think the primary 3 roles of interaction designer should be. For a bit of context, the role sits in the IT projects team along with project managers, business analysts and the in-house developers. The organisation is small-medium but with multiple international presences and would be best classed as a membership body / service provider"


Monday, 2 February 2009

Thoughts on the Relation between concept design and visual design

A useful thought for me from the blog "transforming grounds" and stressing the importance of portraying the ideas in a simple fashion can just be as effective to begin and once known then it can then be made beautiful aka iPhone....

"In their patent application for the iPhone, it is interesting to see the sketch from Apple that shows the interface. It is very clear that it is the iPhone as we know it, even though it is a very simple sketch without any efforts made to make the appearance aestheticlly pleasing. For interaction designers there is a lesson to be learned here about the relationships between ideas and manifestations, between sketches and final designs. Almost anyone could have made this sketch of the iPhone with the purpose to portray the ideas. This is comforting for those of you who are afraid that you do not have enough visual skills. If you can do this, you can then get help from someone to make this into a full and beautiful deisgn."