twitter
Facebook

Working with Toxiclibs [Processing, Tutorial]

Amnon Owed > Input



Would you like to create what you see in those videos? Well, read on! Because in this article I will show you how you can do just that using Processing and Toxiclibs. As Processing’s biggest open source collection of libraries, Toxiclibs can assist you in areas like geometry, physics, math and color. With so much code candy for the taking, the libs can still be a bit daunting for many people, especially Processing beginners. That’s why – in addition to great functionality and documentation – clear and inspiring examples on how to use the library are so important. Fortunately the collection of code examples bundled with the libs is growing steadily. I hope my examples can add to that and be helpful to those learning how to use this wonderful collection of code which is shared and continuously developed by Karsten Schmidt.

I’ve already shared the two code examples from the first video on my blog. As the video shows these concern creating, picking and dragging polygon shapes (example 1) and the destruction of voronoi tesselated circles (example 2). The full source code and a more detailed explanation of those two examples can be found HERE. In this follow-up I will share the source code for the two brand new examples you see in the second video. This time I’m venturing a little deeper into the physics capabilities of Toxiclibs, more specifically the VerletSpring2D class (example 3) and we will explore a whole new area of the libs, namely the color library (example 4). All of the examples are commented as much as possible. So by running them and looking through the code, you should be able to understand what’s going on. The rest of this blog post can be considered additional background information ranging from general description to specific pointers. Note (06/05/2011): Karsten came up with some useful suggestions to further improve the code, which of course I was happy to apply. This explains why the visuals when running the code may differ ever so slightly from what you see in the movie.

Example 3: The Infinite Rope

What’s better than a rope? Exactly. An INFINITE rope! This example demonstrates both the creation and efficient removal of particles, springs and behaviors. The three pillars of the physics system. Specifically it uses the VerletSpring2D class, which can connect two VerletParticles in space. For simplicity it’s kept 2D, but everything with regard to physics in Toxiclibs also has a 3D equivalent. Let me describe the way it works and some of the specific choices and solutions. When the mouse is dragged a new particle is created and connected to the last one, effectively making a digital rope. Release the mouse to start a new rope. Push behavior is added to each particle to make it look a little more realistic. For aesthetic reasons, the color of every segment is determined by the direction of each spring.

The most important part of the sketch however, is the code that removes off-screen objects. This is absolutely imperative to keep things running smoothly. Let me elaborate on two specific aspects with regard to the removeOffscreen() function. First, it’s running backwards through the for loop! This is because we are removing things from the list. Meaning the list is getting shorter while you are going through it. Therefore you need to go backwards to prevent problems and to make sure you cover every item in the list. Second, notice that I remove behavior(i+1) for particle(i). The reason is that the first behavior on the list is the gravity we added in setup(). Therefore the behavior of particle 1 can be found in position 2 of the behavior list and so on.

//  Toxiclibs Code Example: The Infinite Rope
//  by Amnon Owed (05/05/2011)
//  minor refactorings by Karsten Schmidt (06/05/2011)

import processing.opengl.*;

import toxi.physics2d.behaviors.*;
import toxi.physics2d.*;
import toxi.geom.*;
import toxi.color.*;

VerletPhysics2D physics;
VerletParticle2D prev;

int continuous,current; // variables to create a new continuous line on each mouse drag

void setup() {
  size(1280,720,OPENGL);
  physics = new VerletPhysics2D();
  // add gravity in positive Y direction
  physics.addBehavior(new GravityBehavior(new Vec2D(0,0.1)));
  // set the stroke weight of the line
  strokeWeight(2);
}

void draw() {
  background(255);
  // update all the physics stuff (particles, springs, gravity)
  physics.update();

  // draw a line segment for each spring and change the color of it based on the direction
  for(VerletSpring2D s : physics.springs) {
    // map the direction of each spring to a hue
    float currHue=map(s.b.sub(s.a).heading(),-PI,PI,0,1);
    // define a color in HSV and convert into ARGB format (32bit packed integer)
    stroke(TColor.newHSV(currHue,1,1).toARGB());
    line(s.a.x,s.a.y,s.b.x,s.b.y);
  }

  // remove stuff that is off the screen to keep things running smoothly ;-)
  removeOffscreen();
}

void removeOffscreen() {
  // remove off-screen springs
  for (Iterator<VerletSpring2D> i=physics.springs.iterator(); i.hasNext();) {
    VerletSpring2D s=i.next();
    if (s.a.y > height+100 || s.b.y > height+100) {
      i.remove();
    }
  }

  // remove off-screen particles & behaviors
  for (int i=physics.particles.size()-1; i>=0; i--) {
    VerletParticle2D p = physics.particles.get(i);
    if (p.y > height+200) {
      physics.removeParticle(p);
      ParticleBehavior2D b = physics.behaviors.get(i+1);
      physics.removeBehavior(b);
    }
  }
}

void mouseDragged() {
  // create a locked (unmovable) particle at the mouse position
  VerletParticle2D p = new VerletParticle2D(mouseX,mouseY);
  p.lock();
  // if there is at least one particle and this is the current continuous line
  if (physics.particles.size() > 0 && continuous == current) {
    // get the previous particle (aka the last in the list)
    VerletParticle2D prev = physics.particles.get(physics.particles.size()-1);
    // create a spring between the previous and the current particle of length 10 and strength 1
    VerletSpring2D s = new VerletSpring2D(p,prev,10,1);
    // add the spring to the physics system
    physics.addSpring(s);
  } else {
    current = continuous;
  }
  // unlock previous particle
  if (prev!=null) {
    prev.unlock();
  }
  // add the particle to the physics system
  physics.addParticle(p);
  // create a forcefield around this particle with radius 20 and force -1.5 (aka push)
  ParticleBehavior2D b = new AttractionBehavior(p,20,-1.5);
  // add the behavior to the physics system (will be applied to all particles)
  physics.addBehavior(b);
  // make current particle the previous one...
  prev=p;
}

void mouseReleased() {
  if (prev!=null) {
    prev.unlock();
  }
  continuous++;
}

Example 4: NamedColors

Aesthetically somewhat similar, but technically completely different, this example is meant to demonstrate how to use TColors in general and NamedColors in particular. If Vec2D/Vec3D is the heart of the geometry lib, then you could say TColor is the heart of the color lib. It’s the basis for much greater possibilities such as color ranges, themes and gradients. But to grasp this part of Toxiclibs, I think it’s best to start with a basic example. For this I chose the NamedColors since they are less abstract than working with numbers alone. In the color portion of Toxiclibs there is a list of 143 NamedColors that you can use. They have names like azure, darkturquoise, lavender, orange and last but not least peachpuff. When working with TColors it’s important to remember that you need to convert them into something that can be used in a Processing fill() or stroke() function. In this example you can see that every time the color is actually used, it’s converted into a packed ARGB int using the toARGB() function.

So let me walk through the sketch real quick. In setup() all the names are loaded into an ArrayList of strings for the purpose of sorting them alphabetically. Running the sketch presents you with the full color palette. I’ve applied some ZoomLensInterpolation to bring out the selected color (mouseX) and made it move up and down with the user (mouseY). There are some checks to make sure both the name and it’s background are kept within the boundaries of the screen. The right mouse button changes the background color, while the left mouse button creates a colorWorm at the mouse position. Press any key to toggle the palette on/off, the mouse functionality will keep working. The colorWorm is basically a list of up to 25 points, a direction and a certain color. It starts at the mouse position and then moves randomly, adding new points along the way. Since the directional change is limited to 30 degrees, it will generally keep going into a certain direction instead of wriggling around the same spot. To make it a little smoother all the points are loaded into a Spline2D which is then subdivided. From the vertices that come out, the line is drawn.

//  Toxiclibs Code Example: NamedColors
//  by Amnon Owed (05/05/2011)
//  minor refactorings by Karsten Schmidt (06/05/2011)

import processing.opengl.*;
import toxi.geom.*;
import toxi.color.*;
import toxi.math.*;

ArrayList <String> names = new ArrayList <String> ();
ArrayList <ColorWorm> worms = new ArrayList <ColorWorm> ();

ZoomLensInterpolation zoomLens = new ZoomLensInterpolation();

boolean showColorPalette = true;
int selectedColorID;

// screen center
Vec2D center;

// background color (readonly colors can't be modified)
ReadonlyTColor bg;

void setup() {
  size(1280, 720, OPENGL);
  center = new Vec2D(width/2, height/2);
  // create a list of all the Toxiclibs NamedColors
  names = NamedColor.getNames();
  // sort it alphabetically
  Collections.sort(names);
  textFont(createFont("SansSerif", 28));
  // set zoom lens to a dilating characteristic
  // setting the first parameter to a negative value will create a bundling effect
  zoomLens.setLensStrength(0.45, 1);
  // set the background color to deepskyblue
  bg = NamedColor.getForName("deepskyblue");
}

void draw() {
  // convert the bg color into ARGB color format (32bit packed integer)
  background(bg.toARGB());

  // run through all the worms (backwards cause we are also removing some from the list)
  for (Iterator<ColorWorm> i=worms.iterator(); i.hasNext();) {
    ColorWorm w = i.next();
    // if the worm's last point is 'off the screen' remove the worm
    // distanceToSquared() is faster than distanceTo() since it avoids
    // the square root calculation and we don't need precise values here...
    if (w.points.get(0).distanceToSquared(center) > 640000) {
      i.remove();
    }
    else {
      // otherwise update and display the worm
      w.update();
      w.display();
    }
  }

  // set the zoom location based on the normalized mouseX (0.0 .. 1.0 interval)
  float normX=(float)mouseX / width;
  // interpolate focal point to new mouse position (15% step per frame)
  zoomLens.setLensPos(normX, 0.15);
  // determine the selected color based on mouseX
  // by finding which color area contains mouseX
  float focalX=zoomLens.interpolate(0, width, normX);
  for (int i=0, num=names.size()-1; i<=num; i++) {
    float x=zoomLens.interpolate(0, width, (float)i/num);
    float x2=zoomLens.interpolate(0, width, (float)(i+1)/num);
    // select color if focalX is between x and x2
    if (focalX >= x && focalX < x2) {
      selectedColorID=i;
      break;
    }
  }

  // toggle the color palette
  if (showColorPalette) {
    drawColorPalette();
  }

  if (mousePressed) {
    // Create worms with the LEFT mouse button
    if (mouseButton == LEFT) {
      Vec2D mouse = new Vec2D(mouseX, mouseY);
      ReadonlyTColor c = NamedColor.getForName(names.get(selectedColorID));
      worms.add(new ColorWorm(mouse, c));
      // Change the background color with the RIGHT or MIDDLE mouse button
    }
    else {
      bg = NamedColor.getForName(names.get(selectedColorID));
    }
  }
}

// Press ANY key to toggle the color palette
void keyPressed() {
  showColorPalette = !showColorPalette;
}

class ColorWorm {
  List <Vec2D> points = new ArrayList <Vec2D> ();
  Vec2D direction;
  TColor c;

  ColorWorm(Vec2D origin, ReadonlyTColor c) {
    // at the origin point (mouseX,mouseY)
    points.add(origin);
    // create a copy of the readonly color for later manipulation
    this.c = c.copy();
    // create a random direction
    direction = Vec2D.randomVector();
  }

  void update() {
    // every second frame (not too fast, not too slow)
    if (frameCount % 2 == 0) {
      // create a new point given the last point's coordinates
      Vec2D p = points.get(points.size()-1).copy();
      // rotate the direction randomly somewhere between -30 and 30 degrees
      direction.rotate(radians(random(-30, 30)));
      // create a movement vector in that direction with a random magnitude between 15 and 30
      Vec2D move = direction.getNormalizedTo(random(15, 30));
      // move the point in that direction and with that distance
      p.addSelf(move);
      // add the new point to the list
      points.add(p);
    }

    // truncate at 25 points (remove the oldest point)
    while (points.size () > 25) {
      points.remove(0);
    }
  }

  void display() {
    // need at least 3 points to construct a spline
    if (points.size()>2) {
      // create Spline2D from the points
      Spline2D s = new Spline2D(points);
      // subdivide it by 8 into a list of vertices
      List <Vec2D> vertices = s.computeVertices(8);
      noFill();
      strokeWeight(2);
      // draw a line through all the vertices
      beginShape();
      for (int i=0,num=vertices.size()-1; i<=num; i++) {
        Vec2D v = vertices.get(i);
        // the position in the list determines the transparency of the segment
        c.setAlpha(map(i, 0, num, 0, 1));
        // convert the color into ARGB color format (32bit packed integer)
        stroke(c.toARGB());
        vertex(v.x, v.y);
      }
      endShape();
    }
  }
}

void drawColorPalette() {
  noStroke();

  // display all the colors over the width of the screen
  for (int i=0,num=names.size()-1; i<=num; i++) {
    // determine the color swatch's position & width based on
    // it's relative position and the zoom location (mouseX)
    float x = zoomLens.interpolate(0, width, (float)i / num);
    float x2 = zoomLens.interpolate(0, width, (float)(i+1) / num);
    // convert the color into ARGB color format (32bit packed integer)
    fill(NamedColor.getForName(names.get(i)).toARGB());
    // move the colors vertically with mouseY
    rect(x, mouseY-15, x2-x, 30);
  }

  // get the name of the selectedColor
  String name = names.get(selectedColorID);
  float ascent = textAscent();
  float textwidth = textWidth(name);
  // keep the text and it's background fill within screen boundaries
  float x = min(mouseX, width-textwidth-8);
  float y = min(mouseY + 52, height-4);
  // draw a white text background
  fill(255);
  rect(x, y-ascent-4, textwidth+8, ascent+8);
  // draw a black text
  fill(0);
  text(name, x+4, y);
}

That concludes this round of code sharing. For all things Toxiclibs go to toxiclibs.org. A description of how to install contributed libraries for Processing can be found here. If you would like to know if and how Toxiclibs can help you with your project, but are unsure of where to start, I suggest asking for help in the Processing forum. There are quite a few people over there (including Karsten himself sometimes) who can help you out with advice and maybe even code examples. So good luck and get creative! ;-)


Working with Toxiclibs [Processing, Tutorial] is a post from: CreativeApplications.Net | Follow us on TwitterFacebookFlickrVimeo

Related Posts:

Related Posts:

Keywords: , , , , , , , , , ,




May 5, 2011

Leave a Reply

Vimeo Co-founder Starts DIY.org, An Online, Social Scrapbook For Kids

Suzanne Labarre > Input


Used to be, if your kid crayoned a portrait of the family dog, you slapped it on the refrigerator for all to see (“all” being, well, the rest of the household). But such small-time exhibition space doesn’t rate anymore, says Vimeo cofounder Zach Klein: Today, children live effortlessly on the world wide web. So too should their creative output.

Thus was born DIY.org, a digital scrapbook-cum-social network for kids. How it works: A child makes something, captures it using the DIY.org app on his parents’ phone (or digital camera), then adds it to a virtual portfolio. He can then show off his work by sharing the portfolio’s URL with his parents and family. Soon, DIY.org will open up kids’ portfolios so they can scan each other’s assorted doodles, finger paintings, and model Spitfires.

“What’s remarkable is that kids are aware of the possibilities when they share something on the web,” Klein tells Co.Design. “If kids are going to be online… we feel there’s an opportunity to provide them something special, something that encourages creativity and personality, and even gives them incentive to go offline, too. The world is wonderful, we want to help them discover it, learn from it, and contribute to it.” Which makes the whole thing sound like Baby’s First Deepak Chopra. Here’s a less romantic take, and the real reason why DIY.org might take off: Children love promoting themselves almost as much as they love being praised. In a ballet recital, they’re more interested in looking at you–and gauging your approval–than in getting the steps right. DIY.org gives them the biggest stage of all, the web.

And it isn’t just for the good of young minds everywhere; this is a business. The service is free for now, but eventually, it’ll offer paid memberships with “extra features.” (What exactly, Klein won’t say.)

Klein runs the site alongside Isaiah Saxon, Daren Rabinovitch, and Andrew Sliwinski–a bunch of self-described “makers and doers”–from a San Francisco storefront (complete with a paw print on the door). How Klein went from Vimeo, a video-sharing site that attracts 65 million unique users a month, to finger painting and paw prints (with stopovers at Boxee and Svpply) is perhaps not as mysterious as it seems.

As a kid, Klein loved making model railroads, building forts, and writing short stories. As an adult, he prefers the urban woodsman brand of DIY and has constructed a cabin out of old barn wood and maintains the Tumblr freecabinporn.com. “My passion for DIY is driven by what I learned at Vimeo,” he says. “Everyone is able to be creative. And our confidence to be creative flourishes when we’re surrounded by people who positively support it.” There’s something sweetly ironic in that: To do it yourself, you have to do it with others.

Related Posts:

Keywords: , , , , , , ,




May 17, 2012

An Incredible House Built Around A Growing Tree

Suzanne Labarre > Input


House Bern Heim Beuk in Belgium might be the ultimate treehouse. Designed by Ghent studio Architecten De Vylder Vinck Taillieu, it has a giant tree plunging through the roof and lanky wooden slats criss-crossing the facade like a canopy of bare branches. It’s a literal treehouse that is also an abstract interpretation of a treehouse.

Unfortunately, I can’t tell you a whole lot more about the place, because they wouldn’t respond to questions. And their English project description sounds more like bad haiku than a press release (“House. A small site. A small house. The small budget.”) But I think we can all agree, the pictures say enough.

Read about a similar house in Japan here.

[Photos by Filip Dujardin]

Related Posts:

Keywords: , , , , ,




May 17, 2012

TAR

Claudio Franco Netto Pletsch > Input


http://www.tar-mag.com/

Related Posts:

  • No Related Posts




May 17, 2012

Montana can’t sleep

Kim Rees > Input


What's Wrong US?

Help is a drug company that offers you less. Less active ingredients, less waste, less confusion, less greed. Its tongue-in-cheek website has a map of its latest sales data called “What’s wrong U.S.?” A bar chart for each state shows how many people are buying products for particular maladies.

So why are the inner northwest states having problems sleeping? My guess they’re up late worrying about gay marriage.

Related Posts:

Keywords: , , ,




May 17, 2012

A Philips Exec Shares The Keys To An Improbable, Design-Led Turnaround

Kevin McCullagh > Input


Anyone who blithely believes that the return on investment on design is self-evident needs to explain the decline of Philips. In the mid-Noughties, the electronics company boasted 650 designers on its books, more than Samsung at the time. Yet, since a high point in 2008, its stock value has halved. It was no surprise, then, when last year, on Sean Carney’s first day as Philips’s design chief, the CEO took him to one side and told him straight that he was less than convinced about the value of design.


The Fidelio music dock, which has led an unlikely market turnaround for Philips.

Carney is a no-nonsense Brit, with an international corporate pedigree. Most notably, he served as design director at Electrolux in Sweden and Italy, and was group director of experience design at Hewlett Packard’s Imaging and Printing Group in San Diego before being hired away by Philips. Bringing the entrepreneurial spirit he experienced on the West Coast into the 120-year-old Dutch company is very much part of his mission.

His diagnosis of the situation at Philips was that design could improve the company’s standing if it were better integrated with the business. In his words, design was too far removed from “the heat of the battle.” So he gave his design teams the objective of “moving the needle” to help Philips win more business and improve its Net Promoter Score. He set about changing the CEO’s mind by connecting design to different parts of the business.

Carney, who leads 400-plus creatives within Philips, has encouraged his teams to forge new links with departments such as corporate strategy, technology research, new business development, and country sales organizations. As well as breaking out of the bureaucratic structures around design, which were, in his view, the root of the problem, he emphasizes the need for a more networked and expansive view of how design functions. ‘We’re moving from designing individual product experiences to designing wider ecosystems,’ he says. Under his leadership, Philips has gone from designing health-care devices to working alongside its business development teams to devise elements that span a hospital patient’s entire care cycle. His work with corporate strategy often revolves around thinking more widely about new revenue streams.

Another initiative has been to loosen the ties of the design HQ in Eindhoven over the seven regional design studios. Not only are they closer to regional preferences and trends but are also better plugged into specialist technology and industry clusters. Carney is giving them more autonomy and coaxing them to take the lead in more initiatives.

At an executional level, he has also relaxed Philips’s brand guidelines to be more sensitive to regional and category contexts. Effective design languages hit the sweet spot between engaging consumers, expressing brand values, and being aware of category conventions. He gave the example of Philips’s packaging, which was overly consistent across categories as diverse as health care and personal audio, to the extent that it didn’t always sit comfortably or credibly on certain shelves.

Carney now has a story to tell that should soften his CEO’s scepticism. Two years after launch, the Philips Fidelio range of music docks recently displaced Bose from top spot in the European market. This feat was achieved in a category that both Apple and Sony have failed in (remember Apple’s iPod Hi-Fi?). It’s also safe to say that few consumers would have associated the Philips’ brand with audio credentials before the launch of the first model in 2010. However, the docks have picked up hi-fi and design awards, thanks to careful finishes and intuitive UI details. More importantly, it’s selling. And it may not be a one-hit wonder, having been joined recently by the retro L1 headphones, which have garnered good reviews. If Carney moves more needles in this direction, he’ll soon have a much bigger turnaround story to tell.

Sean Carney will give a keynote presentation at the Product Design and Innovation conference in London on May 29-30. For info on attending, click here.

Related Posts:

Keywords: , , , , , , ,




May 17, 2012

Whether the weather

Mark Sinclair > Input


At the National Institute of Standards and Technology in Gaithersburg, Maryland (US) there is a large south facing wall that looks like it might be a piece of abstract public art. Made from 2,352 different samples of stone it is in fact a testing wall where the effects of the weather on building materials are measured…

The wall was built in 1948 in Washington, DC, before being moved to the NIST site in Gaithersburg in 1977. It contains stone from 47 US states and 16 other countries – from varieties of basalt and bluestone, to marble, limestone, sandstone and tuff.

I was led to read up on the NIST Test Wall and its steadfast research into the effects of weathering (as you do) after photographer Thom Atkinson sent over some of his recent pictures of English pavements, or rather of pavement repairs. Perhaps as ordinary a subject matter as you’re likely to find.

But the aged asphalt in his photographs shows the recognisable signs of deterioration and the subsequent fixes made over the years. The use of new materials, usually in a much brighter, blacker hue than that of the existing well-trodden pavement, mean that the flooring takes on that familiar urban scarring, with the cracks, cuts, fill-ins and repairs building up across one another.

Simple as they are, Atkinson’s images record the imperfections of the streets, the marks of things being dug up and replaced; of electrics being tinkered with, water and gas pipes changed. They reveal that something even as robust as the surface of the street is never stable: when they’re not being bashed up by the weather, like that pixellated wall in Maryland, we’re busy taking them apart ourselves.

The series English Pavement Repairs is on Atkinson’s blog at thomatkinson.tumblr.com. His main website is thomatkinson.com.

 

CR for the iPad
Read in-depth features and analysis plus exclusive iPad-only content in the Creative Review iPad App. Longer, more in-depth features than we run on the blog, portfolios of great, full-screen images and hi-res video. If the blog is about news, comment and debate, the iPad is about inspiration, viewing and reading. As well as providing exclusive, iPad-only content, the app will also update with new content throughout each month. Try a free sample issue here


CR in Print
The May issue of Creative Review is the biggest in our 32-year history, with over 200 pages of great content. This speial double issue contains all the selected work for this year’s Annual, our juried showcase of the finest work of the past 12 months. In addition, the May issue contains features on the enduring appeal of John Berger’s Ways of Seeing, a fantastic interview with the irrepressible George Lois, Rick Poynor on the V&A’s British Design show, a preview of the controversial new Stedelijk Museum identity and a report from Flatstock, the US gig poster festival. Plus, in Monograph this month, TwoPoints.net show our subcribers around the pick of Barcelona’s creative scene.

If you would like to buy this issue and are based in the UK, you can search for your nearest stockist here. Based outside the UK? Simply call +44(0)207 292 3703 to find your nearest stockist. Better yet, subscribe to CR for a year here and save yourself almost 30% on the printed magazine.

Related Posts:

Keywords:




May 17, 2012

Why Your Social Media Efforts Aren’t Working

maddiegrant > Input


This great slide deck By Olivier Blanchard from FusionMex, where Jamie spoke recently, is chock full of what you need to know about why your social media efforts are stalling.

Related Posts:

Keywords: , ,




May 17, 2012

Researchers Glean Deep UI Lessons From A Haptic Steering Wheel

Mark Wilson > Input


We’re not supposed to text while driving. That makes sense–it diverts your eyes and mental attention elsewhere. But what about your average turn-by-turn GPS screen? It’s sort of the same idea, no? So especially for seniors on the road, how do we design effective tools to not only get from point A to point B, but to get them there more safely?

Professor SeungJun Kim from Carnegie Mellon’s Human Computer Interaction Institute is playing with new ideas to improve the driving performance of the elderly. In his most recent, still unpublished paper ‘Route Guidance Modality for Elder Driver Navigation,’ Kim shares details of his study in which he tested the performance of both young and old drivers with the assistance of audio cues (“turn left!”), visual cues (think Google Maps navigation) and a special steering wheel that would vibrate to signal the next turn.

(The wheel is of particular note: it was built in a partnership of AT&T. It uses 20 individual motors and a liberal layer of memory foam to create a wheel that vibrates in distinct areas. To signal a left turn, the wheel created an animated vibration of a counterclockwise turn, like a snake passing between your fingers.)

I’ve had a chance to read through the paper, and the findings are fascinating. Kim’s goal was to find a sweet spot of assistance, one where all of these tools (modals) could assist a driver without either taking their attention off the road or weighing down the brain too much in what researchers call “cognitive load.” So he tested all sorts of combinations of modals to see which worked both best and least intrusively–audio and visual, haptic and audio, audio and visual and haptic, and, of course, each of these techniques on their own.

What he found was can probably be applied to products and UIs of all types:

  1. 1. In almost all cases, modals worked best in combination than they did alone, in terms of user preference, cognitive load and actual task performance.
  2. 2. Seniors performed best with audio plus haptics (and audio plus visual)
  3. 3. Seniors preferred audio feedback above all other types of feedback.
  4. 4. Seniors performed worst/had the most cognitive load when fed everything all at once (audio plus visuals plus haptic)
  5. 5. Younger people performed best/had the least cognitive load when fed everything all at once.
  6. 6. Younger people preferred visuals and audio (but they were wrong to–they actually performed WORST under these conditions).

Plus, this gem from the article is particularly fun:

71% of elder drivers thought the auditory modality was the most useful and 59% thought the visual modality was the most annoying. In contrast, 63% of younger drivers thought the visual modality was most useful and 50% of them thought the auditory modality was most annoying. Both groups ranked haptic feedback between auditory and visual feedback.

Kim’s ultimate finding shows that we shouldn’t design in-car navigation the same way for youth and the elderly. Young people performed better with more information being thrown their way. Older people clearly had a penchant for audio over visual cues. But there was a unifying piece: Both groups benefited from haptic feedback. Humans clearly love touch.

It would be interesting if Kim ran this same study 30 years from now. While younger people always kick butt in general cognitive testing (sadly, the mind’s raw horsepower begins a steady decline starting in your early 20s), I’m curious how much of that is actually playing a role in modal preference. In other words, do seniors perform better with less information being thrown at them because their minds can no longer process it, or because today’s young people have been trained to multitask from birth? Is it nature or nurture playing a role here? Kim’s paper doesn’t hazard a guess, but I will.

The seniors of tomorrow will perform better with three types of feedback. But the youth of tomorrow will be able to juggle four, five or six. And in the meantime, there’s no reason we shouldn’t be customizing all sorts of user interfaces–from inside a cars to inside our phones–to accommodate one’s age.

[Image: nito/Shutterstock]

[Hat tip: Core77]

Related Posts:

Keywords: , , , , ,




May 17, 2012

M^C^O

Silvio Lorusso > Input


Related Posts:

Keywords: , , , ,




May 17, 2012

MIT Creates Amazing UI From Levitating Orbs

Mark Wilson > Input


Anyone else see The Avengers? Just like in Iron Man 1 and 2, Tony Stark has the coolest interactive 3-D displays. He can pull a digital wireframe out of a set of blueprints or wrap an exoskeleton around his arm. Those moments aren’t just sci-fi fun; they’re full of visionary ideas to explore and manipulate objects in 3-D space. Except for one thing…how would Stark feel all of these objects to move them around? In reality, he’d be touching nothing but air.

Jinha Lee, from the Tangible Media Group of the MIT Media Lab, has been playing with the idea of manipulating real floating objects in 3-D space to create a truly tactile user interface. His prototype is called the ZeroN, and it will drop your jaw when you see it working for the first (and second and third) time.

It’s essentially a small field in which gravity doesn’t overcome an object. Through the efforts of finely tuned electromagnetism, a user can place a metal ball in midair as easily as they’d place something on a shelf. The ball can be repositioned by hand or by computer, it can be animated on a path, and with the help of software, it can even serve as a virtual camera or light source in a 3-D scene (a sort of 3-D animation suite that you can touch).

“There is something fundamental behind motivations to liberate physical matter from gravity and enable control. The motivation has existed as a shared dream amongst humans for millennia. It is an idea found in mythologies, desired by alchemists, and visualized in Science Fiction movies,” Lee tells Co.Design. “I have aspired to create a space where we can experience a glimpse of this future. A space where materials are free from gravitational constraints and controllable through computing technologies.”

Interviewing Lee, I realized he’s one-part scientist, one-part philosopher. He sees mankind’s ongoing battle against gravity as a poetic parallel to our survival: “We set out to travel across the universe and to develop bio-technologies that resist the natural fall of our bodies to earth. At some level, we are all trying to defy gravity,” he explains. But at the same time, he concisely explains the design of ZeroN–a design that’s so conceptually simple, you may wonder why no one thought of it first.

Whereas we are captivated by this empty pocket of air, Lee has hidden the real magic just above where there’s a 3-D actuator housing an electromagnet. It’s this arm that provides the perfectly tuned magnetic loop (requiring a specialized circuit built by Rehmi Post from MIT’s Center for Bits and Atoms), to keep the ball stable. But to drag that ball around lateral space, the actuator actually just repositions itself, moving in tandem with object, and keeping an eye out on its position with 3D infrared cameras (as you see in the Kinect).

It looks like magic, but it’s largely a mechanical process, powered by a robot in a box holding one of the world’s smartest magnets. But knowing that doesn’t change the ZeroN’s incredible capabilities. “ZeroN can remember how it has been moved. Physical motions of people can be collected in this medium to preserve and play them back indefinitely. When the users move and release the ZeroN, it continues to float and starts to move along the same path. This allows a unique, tangible record of a user’s physical presence and motion which will continue to exist even after the death of the person,” Lee explains. “With this functionality, ZeroN can be adopted in many applications: animation prototyping, physics simulation/education, and 3-D design studios etc. Many of the control that users had to have with mouse and a screen can be tangible and more intuitive.”

As of now, the concept has been proven, and Lee is already focusing on scale. Ditching the mechanical actuator for solenoids could enable the ZeroN to hold and reposition several objects at once (and I’m guessing that this move to solid state electronics would make the idea far more reproducible to boot). But the efforts certainly seem worthwhile. So long as we have hands, we’ll want to touch things. And so long as we have imaginations, we’ll want to grasp that which is just out of our reach. Or as Lee, the scientist-philosopher puts it:

“I think it is important for all of us to reflect on what our essence is, and discuss what kind of world we would like to live in as a human. Asking ‘what if’ questions and prototyping such futures can bring the future a bit closer.”

[Hat tip: designboom]

Related Posts:

Keywords: , , , , , , , , , , , , , , , , , , , ,




May 17, 2012

LIFO

Claudio Franco Netto Pletsch > Input


http://www.lifo.gr/

Related Posts:

  • No Related Posts




May 17, 2012

PORT

Claudio Franco Netto Pletsch > Input


http://port-magazine.com/

Related Posts:

  • No Related Posts




May 17, 2012

FRICOTE

Claudio Franco Netto Pletsch > Input


http://www.fricote.fr/magazine/

Related Posts:

  • No Related Posts




May 17, 2012

La costellazione del caprotoro / Abcasia

Guest > Input


Fazil’ Abdulovič Iskander è nato nel 1929 a Sukhumi, la capitale dell’Abcasia.

Ma che roba è l’Abcasia? L’Abcasia è una piccola regione della Georgia, da qualche anno divenuta repubblica autonoma, e Iskander è considerato il suo cantore. Nonostante scriva in russo. E abbia pubblicato i suoi libri in Russia. E abbia spesso criticato la volontà secessionista dell’Abcasia.

Insomma è considerato il cantore dell’Abcasia più dai russi che dagli abcasi. In ogni caso è uno scrittore di lingua russa i cui libri, spassosissimi, raccontano il suo paese visto dalla Russia.

La Costellazione del Caprotoro (Sozvezdie kozlotura), uscito nel 1966, è il suo esordio letterario. E fa molto ridere.

Il romanzo racconta in poche pagine una montatura, una farsa scientifica, ovvero la nascita di un ibrido, un incrocio tra una capra e un toro che dovrebbe apportare enormi benefici all’economia agricola locale. La bestia in questione, povero caprone, diventa il protagonista di un kolchoz (azienda agricola sovietica) grazie alla fama regalatagli da un’intraprendente giornalista di una piccola testata di provincia.

Di profilo il muso del caprotoro assomigliava al viso di un nobile decaduto, con il labbro inferiore che sporgeva in un’espressione di profondo scetticismo.

Il bestione, il caprotoro, non è solo un bestione ma è anche l’immagine di un periodo storico. Il “periodo della farsa”, in Unione Sovietica, è stata un’epoca caratterizzata da una serie di scoperte scientifiche fasulle, il più delle volte insensate, che avrebbero dovuto dimostrare il talento innovativo degli scienziati sovietici. Il più noto di questi ciarlatani fu Lysenko, famoso per l’affermazione i miei esperimenti non sono ripetibili perché sono geniali.

La costellazione del caprotoro racconta quest’epoca, in cui le difficoltà economiche sovietiche venivano nascoste sotto il tappeto del partito, e racconta anche gli abitanti e le tradizioni patriarcali della Repubblica di Abcasia. Soprattutto la famosissima ospitalità degli Abreki, montanari del Caucaso che combatterono prima lo Zar e poi l’Armata Rossa.

L’anno scorso sono stato a Svanetija – cominciò a raccontare il capitano soffiando verso il soffitto una boccata di fumo -. Il capo della polizia locale organizzò un banchetto in mio onore e dopo aver mangiato e bevuto mi regalò un cervo vivo.

E la loro raffinata cortesia nell’offrirti da bere.

Che io possa disseppellire le vecchie ossa di mio padre e darle in pasto a un branco di cani luridi e fetidi se non ti deciderai a sollevare quel bicchiere […] Le vecchie ossa di mio padre! Ai luridi cani!

A quanto pare Fazil’ pensa che l’umorismo sia un buono strumento per smarcarsi dal terrore della nomenklatura moscovita (номенклатура). Raccontando il rapporto tra l’apparato burocratico sovietico e i metodi della stampa per diffondere la propaganda, La costellazione del caprotoro descrive la distanza che separa questa piccola repubblica caucasica dal sistema centralizzato sovietico, nonostante gli abcasi sembrino decisi, o meglio rassegnati, a convivere con l’assurda realtà imposta dal potere di Mosca. Qui, tra le montagne caucasiche dell’Abcasia, troverai la saggezza simile all’ingenuità, la cortesia simile alla maleducazione e la cultura contadina dei montanari, che pare simile alla vecchia cultura contadina dei montanari di tutto il mondo. Solo che in Abcasia, o per lo meno nell’Abcasia di Fazil’, la logica sembra zoppicare come una vecchia con un secchio di latte in mano.

Il caprotoro: il nostro orgoglio. Presiede la conferenza Vachtang Bočua, dottore in archeologia, membro effettivo della Società per la Diffusione delle Conoscenze Scientifiche e Politiche, presidente dell’Associazione per la Conservazione dei Monumenti Antichi. Alla conferenza seguirà la proiezione del film La Maschera di ferro.

La costellazione del caprotoro, di Fazil’ Iskander, è edito da Sellerio (1988). Ha 196 p. e costa circa 7 carte.



Related Posts:

Keywords: ,




May 17, 2012

Seventy ways to start a novel

Mark Sinclair > Input


Neil Donnelly‘s treatment of the opening page of Great Expectations evokes the layout of a tabloid newspaper

In GraphicDesign&‘s first book, Page 1: Great Expectations, 70 designers reinterpret the opening page of the Charles Dickens classic. The results reveal much about the decisions designer’s face in setting any text, and what effect these choices have on reader experience…

Perhaps one of the more unlikely, certainly more experimental, tie-ins with this year’s Dickens bicentenary, the decision to dissect the opening of his 1861 novel came about because of the references to lettering on its first page. At the beginning of the story, Pip Pirrip’s search for clues towards his own identity has led him to imagine how his parents might have looked, based on the shapes of the letterforms on their tombstones. (“The shape of the letters on my father’s, gave me an odd idea that he was a square, stout, dark man, with curly black hair.”)

So in Page 1: Great Expectations, what may at first seem like rather a repetitive read, the opening page of the novel really serves as the sample material from which the designers work from, with each interpretation of the page offering up a different approach and affect.

Using Caslon, A Practice For Everyday Life built on the symbolism contained within the opening; the obelisk glyphs standing for the five gravestones of Pip’s siblings

While there are, perhaps understandably, a number of examples that take a conventional approach to the typography – set in a range of faces from Caslon (above) and Arnhem Pro Blond, to Fabiol and Miller – there is also a range of more outlandish and conceptual approaches, which occasionally push the boundaries of legibility, let alone a sense of linear narrative. But more often these experiments explore the wider notions of reader interaction and even challenge the preconceptions we bring to the experience of reading.

Julian Morey (abc-xyz) used Helvetica Neue 65 Medium to reimagine Dickens for tablet devices

In Aaron Merrigan and Fred North‘s concept, for example, the text is set over both halves of the page, but readers have to read along with a friend sat opposite, in order to read each alternate word of the sentences. Jon Barnbrook meanwhile, tongue firmly in cheek, has reorganised the words of the opening page in terms of their frequency, the grammar structure, and the use of sentiment which might manipulate the reader’s emotions.

Susanne Dechant has detached the words from the page and rearranged them in alphabetical order, so the opening line runs as “a a a a a a a Above all Also am an and and and and and”. Vivóeusébio studio, however, reduced the page to its initial word, “My”, apparently as a way of “emphasising Pip’s great expectations and delaying the readers’.”

Ian Noble set his text in Mrs Eaves and used symbols to convey a second level of information about the relationships in the novel

Individually, many of these unconventional approaches could appear just a touch indulgent, but as part of a collection of treatments they work as another (esoteric) voice in the larger mix, and as an interesting counterpoint to the more straightforward and accessible versions of the text.

Workshop’s approach was to create a ‘tipped in’ version of All The Year Round, the weekly journal in which Dickens’ novel was first serialised

And some approaches tell us more about the life of the text itself. Alexander Cooper and Rose Gridneff of Workshop, for example, reference the genesis of Dickens’ novel, which first appeared in the weekly publication, All The Year Round. When the story came to be published in book form, the first edition didn’t sell particularly well so publishers Chapman and Hill ‘tipped in’ replacement title pages stating that these were new editions, when in fact they were actually from the existing print run. By the end of 1861, Workshop explain, five of these so called ‘new’ editions of Great Expectations had been published.

In looking at the novel’s movement from an ephemeral state (a weekly magazine) to a more permanent one (a bound book), Workshop address how the format of a text, let alone how that text is displayed, informs a reading. As with the other 69 versions that tell of Pip’s first reading of the gravestone letterforms, context is everything.

Page 1: Great Expectations is published by GraphicDesign& and is currently available for the offer price of £12.50 from graphicdesignand.com. After May 26 the book will be £15. The CR iPad app will also be showing a selection of different treatments from the book very soon.

 

CR for the iPad
Read in-depth features and analysis plus exclusive iPad-only content in the Creative Review iPad App. Longer, more in-depth features than we run on the blog, portfolios of great, full-screen images and hi-res video. If the blog is about news, comment and debate, the iPad is about inspiration, viewing and reading. As well as providing exclusive, iPad-only content, the app will also update with new content throughout each month. Try a free sample issue here


CR in Print
The May issue of Creative Review is the biggest in our 32-year history, with over 200 pages of great content. This speial double issue contains all the selected work for this year’s Annual, our juried showcase of the finest work of the past 12 months. In addition, the May issue contains features on the enduring appeal of John Berger’s Ways of Seeing, a fantastic interview with the irrepressible George Lois, Rick Poynor on the V&A’s British Design show, a preview of the controversial new Stedelijk Museum identity and a report from Flatstock, the US gig poster festival. Plus, in Monograph this month, TwoPoints.net show our subcribers around the pick of Barcelona’s creative scene.

If you would like to buy this issue and are based in the UK, you can search for your nearest stockist here. Based outside the UK? Simply call +44(0)207 292 3703 to find your nearest stockist. Better yet, subscribe to CR for a year here and save yourself almost 30% on the printed magazine.

Related Posts:

Keywords: , ,




May 17, 2012

Music, Film, TV: How social media changed the entertainment experience

BrianSolis > Input


Behavior counts for everything. Studying it is just the beginning of course. In order to understand and eventually steer behavior, we must translate activity into insights and in turn, translate insights into actionable strategies and programs. The Hollywood Reporter recently published an exclusive poll about social media led by market research firm Penn Schoen Berland. As the report opens, THR notes, “There’s a sea change afoot in how Americans discover and consume entertainment.”

Related Posts:

Keywords: , , , , , ,




May 17, 2012