Leveraging Collective Intelligence in Product Design

I was reading Getting New Ideas from Customers. On Emphatic Design:

While empathic design suggests companies watch their customers use products within the customer’s environment, for most marketing organizations this is not always practical.

Which lead me to this article on  Emphatic Design. I like the way the article opens with this great insight.

What customers can’t tell you might be just what you need to develop successful new products.

Some notes:

Empathic design is a relatively low-cost, low-risk way to identify potentially critical customer needs. It’s an important source of new product ideas, and it has the potential to redirect a company’s technological capabilities toward entirely new businesses.

If no current product exists in the market that embodies at least the most primitive form of a new product, consumers have no foundation on which to formulate their opinions.

But sometimes, customers are so accustomed to current conditions that they don’t think to ask for a new solution – even if they have real needs that could be addressed. Habit tends to inure us to inconvenience; as consumers, we create “work-arounds” that become so familiar we may forget that we are being forced to behave in a less-than-optimal fashion – and thus we may be incapable of telling market researchers what we really want.

Watching consumers has always yielded obvious, but still tremendously valuable, basic information. Consider usability: Is the package difficult to open? Does the user have to resort to the manual, or are operating principles clearly telegraphed by the design? Are handles, knobs, and distances from the floor designed ergonomically? Does the user hesitate or seem confused at any point? What unspoken and possibly false assumptions are guiding the user’s interaction with the product?

Unanticipated usage patterns can identify opportunities not only for innovation and product redesign but also for entering entirely new markets.

If the collective intelligence of the customers on unusual uses of the products can be tapped, it will be a gold mine of ideas for improving products. But how can you motivate the customers to share these stories with you? The blog entry suggests some ideas. Share yours in comments.

Links: Interaction Design Patterns

Interaction Design Patterns for web development is probably one of the most useful resources for application developers. We already see many of these patterns in applications today. I am really thankful to Martijn van Welie, for taking the effort to list these patterns and document them in such a high quality blog list.

This is such a wonderful effort to take each pattern, describe it and identify implementations and usability information. For example, look at Accordion Pattern which includes very useful notes on Thoughts on Usability. In addition to a nice categorization list, there are good links to resources and code for implementation. Found the following links to interaction design patterns from this site.

The overall goal of this work is to aid practice by speeding up the diffusion of new interaction techniques and evaluation results from researchers, presenting the information in a form more palatable and usable to practicing designers. Towards this end, we have developed an initial and emerging pattern language for ubiquitous computing, consisting of 45 pre-patterns describing application genres, physical-virtual spaces, interaction and systems techniques for managing privacy, and techniques for fluid interactions.

It will be nice to see the following additions. This can be actually built from inputs by the community.

  • A tag map based on interaction-idioms
  • A tag map or feature-matrix (like the mashup matrix) based on products where these patterns are used.

Little Innovations: Plone 3.0 and Wikiness

I have been talking about some of the wiki attributes for normal text. For lack of a better term I called it Wikiness. It is nice to see that as one of the new features added to Plone 3.0 which was released recently. From the Plone.org:

Lets you use the wiki markup to create and link documents in any content.

Plone takes a novel approach to the wiki format — incorporating support for it in all existing documents. That means that we support wiki markup in any type of content — be it plain text, any of the text-based markups, HTML — it even works with Word and PDF documents if you have display transforms set up for these.

A common complaint about wikis is that they have weak access control, and promote bad site structure. This new approach to wiki in Plone means that you can get the benefits of the quick and easy wiki content generation and linking, housed in a world-class content management system with proper access controls and the multitude of features exclusive to Plone.

It’s wiki, without the wiki aftertaste!

It is one of the many little innovations in this new version of Plone.  Other notable innovations include support for Microformats. Here is a list of new features in Plone 3.

Links: Programming and Programmers

Programmers don’t like coding, they like problem solving

From an outsider’s vantage, I can see why they’d think we like coding. We solve problems by coding, and we’re all happy and enthused while typing away or talking code. But they’re confusing the action and the intention. It’s not pulling the trigger that makes me happy, it’s hitting the target. The action approaches incidental.

Programmers desire to rewrite because they know that after starting with a clean sheet of paper and building it all again, at the end they’ll understand the whole. Programmers write code to learn. Software has this double-edged sword where you can’t just wave your hands instead of implementing a particular function. It all has to be crystal. Programmers know this. They know when they’re done, they’ll have a complete understanding. It’s a noble desire.

The second and final deep reason behind the desire to rewrite is elegance. Like rewrite-to-understand, this reason is also founded in understanding.

The principal programming paradigms(a pdf diagram) – Declarative to Less Declarative

“More is not better (or worse) than less, just different.”
Each language is placed next to a programming paradigm it supports well.
Inspired by “Concepts, Techniques, and Models of Computer Programming.”

If you don’t know the domain, take a look at  these “project risk reduction patterns”

1. Knowledge: Clear the Fog

You don’t know the issues well enough to put together a sound plan, so…

Try to deliver something (almost anything); this tell you what the real issues are.

2. Knowledge: Early and Regular Delivery You don’t know what problems you will encounter during development, so…

Deliver something early – discover what you don’t know you don’t know.

Deliver regularly – improve each time.

3. Knowledge: Prototype

You don’t know how some design decision will work out, so…

Build an isolated solution – discover how it really works.

4. Knowledge: Microcosm

You have to create a real plan, but have never done this sort of project, so…

Run an 8-12 week instrumented pilot to get productivity and throughput data for your plan.

I only listed four of them. Go to the link for a full list.

Links: RDF, Semantic Web Tools

RDF 123 – A mechanism to transform spreadsheets to RDF graphs:

RDF123 is an application and web service for converting data in simple spreadsheets to an RDF graph. Users control how the spreadsheet’s data is converted to RDF by constructing a graphical RDF123 template that specifies how each row in the spreadsheet is converted as well as metadata for the spreadsheet and its RDF translation. The template can map spreadsheet cells to a new RDF node or to a literal value. Labels on the nodes in the map can be used to create blank nodes or labeled nodes, attach a XSD datatype, and invoke simple functions (e.g., string concatenation). The graph produced for the spreadsheet is the union of the sub-graphs created for each row. The template itself is stored as a valid RDF document encouraging reuse and extensibility.

Semantic Web and Related Tools (over 500)

This posting of Sweet Tools — semantic Web and related tools — is now in version 9, with 542 tools, an addition of 42 newly listed tools since the previous version. It was last updated on 6/19/07.

Over 49% of them are Java based.

CWM -A general purpose data processor for the semantic web

Cwm (pronounced coom) is a general-purpose data processor for the semantic web, somewhat like sed, awk, etc. for text files or XSLT for XML. It is a forward chaining reasoner which can be used for querying, checking, transforming and filtering information. Its core language is RDF, extended to include rules, and it uses RDF/XML or RDF/N3 (see Notation3 Primer) serializations as required.