Decoded Conference

Massimo Banzi at the decoded conference

Yesterday the first decoded conference took place in Munich. There were five speeches that related to the interplay of design and code. The speakers were

1. Benedikt Groß and Hartmut Bonacker, the authors of the book Generative Gestaltung
2. Mario Klingemann, who calls himself a “computational artisan”
3. Moritz Stefaner, who creates beautiful information visualizations
4. Tilman Reiff and Volker Morawe aka //////////fur////, two guys who create incredible gaming machines
5. Massiomo Banzi, co- founder of arduino and chief technical officer of tinker.it

Full article

Working with superclass methods

The superclass constructor

In this post I will explain how to invoke superclass constructors and how to override superclass methods. Let’s start with the superclass constructor:

package
{
	public class ParentClass
	{
		public function ParentClass():void
		{
			trace("Constructor of ParentClass executed");
		}
	}
}
package
{
	public class ChildClass extends ParentClass
	{
		public function ChildClass():void
		{
			super();
		}
	}
}

This is a very easy example. In fact you do not even have to call the super() statement in ChildClass. If you do not explicitly call it, a call with no arguments is automatically inserted before the first statement in the subclass constructor body.
Full article

Prototyping for the iPhone with LiveView

LiveView is a prototyping application for the iPhone

Recently I designed a news app for the iPhone at work. Sadly I have to work on a Windows PC and I could not find an easy way to make a good prototype for the iPhone on Windows. But fortunatelly I have my good old MacBook Pro at home. I found a very usefull prototyping application created by Nicholas Zambetti called LiveView.

LiveView has two parts: A screencaster application for your Mac and the iPhone app. The system allows you to transfer a part of your computer screen to your iPhone.

You can create a prototype in your prefered prototyping application (for example Flash), run this protoype on your computer and transfer the computer screen to the iPhone. It is even possible to use your iPhone touchscreen to interact with the prototype.

How to remove a specific item from an array

To remove a specific item from an array we use the array’s splice method:

function splice(startIndex:int, deleteCount:uint, ... values):Array

startIndex: The first item to be removed
deleteCount: The number of items to be removed
values: is optional and allows you to insert new items into the array.

So let’s say we want to remove a specific item from our array but don’t know the items position inside the array:

var objectToBeRemoved:Sprite = new Sprite();
var myArray:Array = new Array();
myArray.push(objectToBeRemoved);
 
// Remove item from myArray
myArray.splice(myArray.indexOf(objectToBeRemoved), 1);

Remove all children from a Sprite

There are other ways to remove all children of a Sprite, but for me this is the smartest solution:

while(mySprite.numChildren > 0) {
	mySprite.removeChildAt(0);
}

Brandon Morse: A Confidence of Vertices

This video is so beautiful. Seen on generator.x. You can find more of Brandon Morses art on his website coplanar.org.

GridIron Flow

Flow is a visual workflow manager for design projects. It is a little bit like a version control system for designers. Flow visualizes dependencies of files and helps you to handle different versions of a file.
The interface of this beautful software was created by Mark Coleran, who is well known for his fantasy user interfaces for films like Bourne Ultimatum and Tomb Rider.