views:

285

answers:

2

The more I think about how I use computers, the more I become convinced that 'workflow' is the key factor in terms of productivity, and the way I should go about designing interactions. I'm thinking of workflow as the way we approach and manage data, information and knowledge as it relates to a task.

I'm starting out with my first web-framework - I've chosen kohana, because it seems relatively lightweight, well-featured and uses a language I'm already partly familiar with (PHP). Recently I've been studying a book on design-patterns, but feel a little daunted about putting the information to use.

I have a few ideas for simple web-applications, which I think might be useful additions to the web. I've sketched out my data-objects, and I've had a go at post-it-noting the stages involved.

Do any of you have any design tips for ensuring that my webapp grows around this concept of user-workflow? Aside from design-patterns, are there any other concepts I should research?

+2  A: 

Look at the source code to (open source) alternative applications of a similar workflow orientation, and others written in the framework you have chosen.

Theory is excellent, but for true understanding you will need to investigate the actual concrete applications already out there.

Ali A
I like this approach - but as a beginner, it's quite difficult to jump in an examine the source-code for a fully-fledged application. I'll give it a go though, thanks.
codeinthehole
+2  A: 

I think your right on that solid and engaging workflows are the key to successful user applications. As an example, consider this site (stackoverflow) which has an engaging and simple workflow around questions. It's a great example. I have been thinking a lot about this as well. Let me point you to a couple resources. One is a fantastic article by Bret Victor, now of Apple. http://worrydream.com/MagicInk/. It is about software design as information design. This is a different idea than workflow but I think it boils down to the same thing, giving users meaning information graphics that they can act upon easily and answers their top questions. Read that article, it might change your perspective of software, it did mine. Second, is the concept of flow (work flow right?) that is used in game programming. Consider these core ideas from http://www.jenovachen.com/flowingames/flowtheory.htm:

  • We are up to the activity.
  • We are able to concentrate on the activity.
  • The activity has clear goals.
  • The activity has direct feedback.
  • We feel that we control the activity.
  • Our worries and concerns disappear.
  • Our subjective experience of time is altered.

These sound like ingredients of a great workflow to me.

Also you might read the IPhone UI docs and study Apple apps in general, they are generally the best in the world at building UIs with solid workflow.

John Wright
I'm reading through the Bret Victor article - it's really insightful. Thanks. I read this transcript of a chat between the President of Nintendo and Shigesato Itoi a while back, while they talk about problem solving in a different domain - it's very interesting. http://www.1101.com/iwata/index.html
codeinthehole