Inventions

A Better Search

July 8th, 2008

Recently google has come to see the light: their favicon sucks. This is true. It does not mean google sucks, but it does say something for the value of design.

There are enough people using google, that when they switched their favicon from bad to worse people made a fuss. Funny enough on their blog they had an article about design variation. It was a point where my heart sunk. It seemed that the ideas of variation and selection were being applied, but it didn’t work. In fact, what wasn’t working was the brief. In addition, their design team had no REAL variation.

Engineering vs Design

The examples were trivial changes to a pre-establish idea of what the end would be. This is very much like engineering, but nothing like design process. In engineering you begin with the end. You have a clear idea of what works, the only problem is how to get there. You want to turn water into hydrogen great, just figure out the stuff inside the box. In design, this thinking is turned on its head. You begin to look broader rather than deeper. Of course there is a deeper phase, but that is reserved for the time when you have the right design in mind. So true variation spans ideas you could never fathom from the beginning of the project. It is meaning and insight which drives true variation, and it is with this tone of righteousness and hubris that I bring you the new google favicons…

A redesign

This opportunity was too good to pass up. We wanted to explore different ways a search could be represented. The constraints: a 16×16 canvas.

  • Montage - Show all the favicons, get greasemonkey and install our script
  • Cash - A visualization based on the cost of your search terms in adwords
    google_cash_h google_cash_l google_cash_m
  • Count - Showing the results in the context of the search. ten results out of thousands
    google_count_perspective2 google_count_perspective
  • History - Google tracks my history, here I can see my past months, represented by a colour
    google_history_grid2_2 google_history_grid2 google_history_grid google_history
  • Location - Pin point yourself, a different colour for each continent
    google_location_sa google_location_europe google_location_canada
  • Modified - Show which pages have last been modified, newer isn’t always better
    google_modified2 google_modified_3 google_modified
  • Trends - Show a time series pulled from google trends
    google_zeitgeist_single google_zeitgeist_stacked google_zeitgeist_combo

A bit further

This exercise would not be complete of course without some broader thinking. So when we sought to redesign the favicon we thought we might as well redesign the search. Each google search is essentially a number of properties. These properties, whether they are descriptions, titles, urls, dates, or images, are all driven by the search criteria. In our new search, each facet defined by a user is reflected in the results. Likewise, each result acts as a tool to refine the search results. Key behind this idea is that a search is not an answer, it is a conversation. How to speed up that conversation to arrive at an insight or permanent destination was the challenge.

1


2

3


Technical bottleneck

Unfortunately google’s api did not allow us access to the advanced search data, so we switched to Yahoo. Yahoo’s api allowed us access to terms and through some pipes hackery categories, but alas, not enough. To our disappointment, at the time of this writing, there is no search api which reflects each of its search criteria in the results and vise-versa. This will have to remain a proof of concept until google or yahoo get’s there act together and truly allows people to advance advanced search. One place to look for interesting searches is viewzi. It definitely has the approach of niches rather than one size fits all. But the 3d search is pretty interesting. Also in the realm of search augmentation is piclens. We use this program constantly at the studio, both for its utility, and pure futuristic mega-neato 3dness qualities. Finally to bring it all to a close, our new search might be a throw back to the command line,

Here’s our prototype, its jQuery + Blueprint + Yahoo Pipes, use it if you need it!

Generative Podcasting — The future of Computational Conversation?

Alan
October 14th, 2007

We have a massive set of recorded conversations with industry leaders about the future, and we haven’t found the time to edit them. Ok, so what if we didn’t? What if a user could just pick a few topics and speakers of interest, and have a podcast dynamically edited just for them?

First glance, you think, hmm, that’s kind of like a basic recommendation engine where a user just sets some preferences and get’s what they are looking for from a large data set. Sort of, but not quite. Go a step deeper into the future and start to think what else a simple generative podcast system could do.

  • As you’re listening to a snippet that’s been dropped into your podcast, you like where the speaker is going and want to hear more.
  • The new stream you’re flowing into could keep going and find more snippets like itself, or more from that speaker, or more answers to that question, or whatever facets the dataset has to offer
  • It could fork back and become a non-linear listening stream, allowing you to move in one direction and then move back much like you do on the web

Ok, so now you’re thinking: “I already do that on the web, that’s some pretty basic ask/receive principle of piles of content and surfing the web”. Cigar is all yours. Bonus round: is there another place you do it too? … Yes! When you’re talking to people every day. The reason why this particular use case of speakers, talks, and interviews is interesting is because it is essentially half of a conversation. But when you have the power to say to the podcast “Keep talking, I like where you’re going”, you’re doing something weird.

You’re having a basic conversation with a data set, with 1 to thousands of people at the same time, and for once the computer is delivering audible English.

You’re listening, and guiding the flow conversation in a room full of people either passively or actively by encouraging some people to keep/stop talking, and what about, or letting them feed off each other.

So what would this look like? I’m not exactly sure, but the process would probably run something like this:

  1. Pick some speakers who you like
  2. Select some of the topics you’re interested in
  3. Say “Start talking”, and let the system find some bits and pieces,
  4. Listen and when interested, bored, or wanting to get back onto the original topics, just let the system know.

Why is this so interesting?

Probably because of the blanks. People have an easy time filling in the blanks if you leave them in the right place. People could easily draw connections between two snippets of voice speaking on similar related topics. The recorded voice is a wonderfully simple thing, because you can quickly eliminate spatial, temporal, and personal context. Of course, not from the words themselves, but from the space/time surrounding them. The context can quickly be replaced, and a seamless illusion of “conversation” can start to take hold. People are used to tying together the things others say to each other as language is one of the most fundamental skills we have, and can subconsciously do all of the work to fill in all the blanks and sew one piece of the fabric of conversation to another.

In essense, add simple drivers to a data set (tagged conversations, interviews, lectures,etc), and let it start going. Give the user some simple tools that are dumbed down versions of what we already use in conversation, and let them speak or stay quiet. Now for the strangest part, where you may need to sit down: What if you don’t speak and you just let the room feed off each-other? Is the computer talking to itself? Are these ghost puppets of the people who were originally recorded? Do you even have to be there listening? If you’re not, does that change anything?

Get philosophical about it and you might sprain something. I’m getting back to work before this simple solution to our in-house labour shortage starts creeping me out even more.

Design Patterns: a unified vision

September 26th, 2007

With the release of the jQuery UI library, we can see the adoption of patterns across the board as a base for developing interactions:
Flex & Flash have components
Apple has Cocoa
Mozilla has XUL
Yahoo has their library
etc…
This is a great separation of information(HTML) from presentation(CSS) and behaviour(jQuery). This will allow coders, designers, and developers to collaborate, and maybe even become more like each other.
Unfortunately, though the enabling technology of jQuery has so much potential, there is no mediator between this abstraction of patterns and the potential reuse and rejig of those patterns, other than text.
What I am vying for here is a new type of interaction creator. Dreamweaver & photoshop are not cutting it. Neither are textmate or bbedit. For a few simple reasons: Read the rest of this entry »

Tangible & Usable Project Management

March 1st, 2007

Project Management and planning takes a special breed. Unfortunately, we at The Movement are not of that pedigree, and are therefore we’re hacking some time/project management systems for the rest of us.

Step 1:
Start the old school way, the Gaant chart (we use Omniplan)
Based on the needs of the project break the steps down into jobs, and jobs into items. Estimate the job completion time, and allocate resources (people) for them. Map dependencies (jobs that need others to be completed) and add yourself some contingency (extra time).

Read the rest of this entry »