media theory

Jon Stewart’s extended cuts of conversations with politicians cut through a lot the problems with the television format. He’s managed to take advantage of the internet’s potential to transform the sort of conversation that can happen. His recent conversation with Jim DeMint is the clearest example of this I’ve seen (though I’ve probably missed better ones): http://www.thedailyshow.com/full-episodes/wed-january-11-2012-jim-demint

It’s inspiring to watch these two guys open up each other’s minds a little bit (though I do feel like jon is the one with the pry bar in this case).

Posted in context | Leave a comment

trees in the future

Looking at the dieter rams exhibit at sfmoma I was struck by the luxuriousness of using real, solid hardwoods in a mass-produced product. It may have seemed like a leftover or a throwback then, but now it’s the realm of tiny specialist firms and makers. I can’t imagine a way to make wood part of the integral functionality of anything I’ll soon design professionally, but even as a superficial design element on a cellphone or tablet computer it could be quite compelling to feel and live with a beautifully crafted pice of hardwood. Ibm, apple, and their ilk should invest in forests of ebony and mahogony now to prepare for a line of products in 60 or 100 years. I refuse to be impressed by the environmentally sustainable attitude that would demonstrate – but it would be a noteworthy step towards socio-economic sustainability to have to harness and develop an army of skilled woodcrafters to marry the nonuniform results of gnarled old trees to a streamlined global production and distribution apparatus.

Posted in context | Tagged | Leave a comment

a big view of interaction design

“Historically, machines have been viewed as tools to be applied directly by people to perform tasks. … the tool is an extension of the human and is under the human’s control. … an intelligent machine could aid a person by suggesting ways to perform a task, explicate features of a problem, generate approaches (options) to problem solution, and/or evaluate alternative solutions to a problem. *Aiding* of this type is clearly different from *using* a machine to directly manipulate something physically present in the environment. …”
- R. G. Eggleston, Changing the Nature of the Human-Machine Design Problem; System Design; 1986; Rouse, William B. and Boff, Kenneth R.

Posted in context | Leave a comment

InDesign Styles as Dependency Trees

InDesign’s Styles palatte is an advanced way to make documents more efficiently by quickly assigning attributes like color, size, font, etc. to an item. Below is a demonstration of how the dependency-tree organization that Adobe’s style sheets allow can also help to organize a document’s elements and standardize layouts. Because this dependency structure is a key aspect of object-oriented programming, it is similar to the relationships at the heart of HTML’s Cascading Style Sheets and it is a basic part of modern programming languages like Java.

As a step toward demonstrating how Object Oriented Design principles can amplify the effectiveness of designers, I’ll show how styles work in Adobe’s InDesign software. Eventually I’ll connect the dots to show how this is like Java:

a. Using InDesign Paragraph Styles to Assign and to Organize (today)
b. Other Dependency Tools in Creative Suite (May 2011 – soon if you let me know this is useful!)
c. Dependency Trees in Programming (June 2011)

a. Using Styles to Assign and to Organize


1. I’ll start by looking at paragraph styles. If you create a new text box and find the “Paragraph Styles” palatte, you’ll see that – by default – InDesign is already using paragraph styles. It assigns text to the “Basic Paragraph” style, which is typically set to 12pt Times New Roman.


2. If you copy that textbox (leaving the original there for reference) and change the text in any way – by making it bigger, for example – you’ll see that InDesign still highlights the “Basic Paragraph” style in connection with the new textbox. However, if you look closely you’ll see it’s added a plus sign “+” beside the style name – this indicates that there is something else besides “Basic Pargraph” happening with this textbox. Adobe calls this deviation from the assigned style an “override”, meaning that this textbox has a paragraph attribute that overrides the paragraph attributes defined for “Basic Paragraph”. InDesign will show you specifically what has changed in a tooltip for an overridden paragraph style. In my example – with an invisible cursor, like all the others – the font size is all that’s different between the selected textbox and anything with a non-overridden “Basic Paragraph” style assigned.

3. [to do: show an insert -> Use Styles to Change Many Items at Once]


4. If you click the “new style” button within the Paragraph Styles palatte, InDesign will create a new style called “Paragraph Style 1″. InDesign doesn’t automatically assign the selected item to the new style – but it does create the style defined with all of the attributes of the selected item. To assign a style to the selected item, click the style. (You’ll notice that when you select another item – the original textbox for example – the Paragraph Styles box will reflect the style of that now-selected item.)


5. Creating another box helps to understand style dependencies*. If you select the second box (assuming you set it to Paragraph Style 1) then copy and paste it (or use the alt+click&drag shortcut) and create a new style for it as before (don’t forget to click the “Paragraph Style 2″ list item in the paragraph styles box), InDesign will automatically make the new style dependent on Paragraph Style 1. I’ve changed the font face of box 3 (before creating Paragraph Style 2) to help distinguish the boxes.


6. A style dependency allows us to change the look of many items with a single action – even if they’re assigned to multiple different paragraph styles. In particular: a base style (the style that another style is “based on”, in Adobe’s language) will pass on its attributes to dependent styles.** In the current example, this means that if Paragraph Style 1 is changed, items with Paragraph Style 2 assigned will inherit the new attribute (as long as that attribute isn’t one of Paragaph Style 2′s overrides).
To see this in practice, right-click (option-click for mac) on “Paragraph Style 1″ and select “Edit Style” to see the options panel. Select the “Character Color” palette and choose something other than default black and the textboxes assigned to both Pargraph Style 1 and 2 will respond (they’ll respond immediately if you select “Preview” at bottom left).


7. The first screen – the “General” palatte -  in the Style Options panel makes explicit (if not entirely clear***) how the attributes are assigned. In the current example, Paragraph Style 2 has been created based on Paragraph Style 1, as indicated in the “Based On” field. This means that all of the attributes not listed under “Style Settings” are defined by Paragraph Style 1.


8. The interface doesn’t do a very good job at showing which attributes are inherited from Paragraph Style 1. Changing “Based On” from “Paragraph Style 1″ to “Basic Paragraph” will give a sense of which attributes come from the currently selected style (the ones that don’t change – in the example, the font face), and which ones come from the base style (any attributes which change – in the example, the color. This still leaves plenty of ambiguity if both base styles define any attributes the same way****.)


To demonstrate this relationship structurally, I’ve created a network diagram showing which attributes are passed to which textbox for each of the previous two steps.


The real power of this method is in creating more complex layouts. Let’s assume, for example, you wanted to create a document with multiple levels of headings and multiple kinds of annotations – you might end up with something like this.


The diagram detailing which attributes are overridden for each dependent style shows how a given change would cascade through the network. For example, changing the font of “Body Text” to Futura would also cause all the other styles to become Futura; adding a Futura override to “Heading” would cause all three headings to become Futura without affecting any of the annotations.

* why does indesign automatically make a style dependent on a created style, but not automatically make it dependent on the default one? Probably an interaction design thing – not forcing you to understand this palatte.
** This base/based-on relationship is known by many names, such as a parent/child relationship or an ancestor/descendent relationship.
*** Anybody know what “Next Style” means, is, or does?
**** A solution exists in the Firebug CSS module.
These examples all use Adobe’s Creative Suite 4.
Posted in context | Leave a comment

levels of abstraction

A conversation over beer with a tech guy I’m working with at Toca brought up the open systems interconnection model, a seven-layer technical protocol that underlies the internet and most other networking hardware/software. This is relevant because it occurred to me that this is a stellar example of the levels of abstraction concept (aka ladder of abstraction) – in that there is widespread agreement on what it means and what is on any particular one of these levels, despite the fact that the meaning and/or referent of “more abstract” and “more concrete” often depend on where one spends the most of one’s time.

Posted in context | Tagged | Leave a comment

perception close-up

A New Yorker piece compares the way the media presented (a particular event during) the Iraq war to the way one chooses to frame a scene:

“a famous study carried out more than half a century ago, when General Douglas MacArthur, who had just been relieved of his command by President Truman, visited Chicago for a parade and a speech that were expected to attract enormous public support. The study, conducted by the sociologists Kurt and Gladys Lang, found that the Chicago events, as experienced by people who attended them, were largely passionless. But for television viewers the events were dramatic and inspiring, owing to the cropped framing of what they saw.”

Read more http://www.newyorker.com/reporting/2011/01/10/110110fa_fact_maass#ixzz1A0Yt4l2X

This reminds me of one of John Grimes’ great observations about photographs: the photographer’s primary tool is the edges of the picture, or choosing what gets left out.

It’s clear this principle applies at a more abstract level: any story or communication is more about the frame in which it’s presented than it is about the details of the content or the texture of the wording or other media. This is sufficiently closely linked with the concept of the lens or perspective of the presenter as to be considered identical – but what is its relationship to the context in which it’s presented (physical, timeous, and social) or the identity (ethos) of the presenter?

Posted in context | Leave a comment

emergent-unit centered design

Design is a confusing field because any project involves the design of a space, a product, an interaction, a strategy, and a communication (and because each of those can be a super- and sub-category of all the others).
What if the confusion comes from being at the wrong level of abstraction?
The myriad branches of design – product, service, interaction, communication, planning, etc – tend to focus on individual users, and increasingly on communities or local networks of individuals. This is a great and useful counterpoint to the corporate culture that has ubiquitous and intense deleterious effects on the modern world. But it leaves out one of the primary forces that brings order and meaning into being: culture.
What would culture-centered design be like? While cultural human factors has long been a key design consideration, it is still practiced as a way to shed light on the needs, experiences, and possibilities of individuals. In the past few years there have been many efforts to address the needs and desires of groups through design methods, with some of the most interesting work happening at the intersection of urban planning, politics, and architecture. But is there any attempt to understand the experience and possibilities of a culture (where it refers to the whole, not to that of an individual within the whole)?
The next question I think gets at the heart of the matter, but with language that is very easy to confuse with an individual-centered perspective: Is there any attempt to design for the values of a culture (again, as a whole)? I think this is a provocative question because values don’t happen outside of a culture – in isolation a person doesn’t have values but rather preferences, idiosyncracies, perhaps dogma. Values come into being only when a person participates in a group and works out some agreement or understanding – whether tacit or explicit – about what the group wants. An individual’s values require the context of a group to exist – thus the attribute for a group which is parallel to an individual’s “values” require some reflection of a larger context; it must embody some compromise built with other groups; it must at once define the group and transcend the group’s singular identity and purpose. It must be an abstraction that the group (as a whole) uses to understand, direct, and identify itself [in relation to other groups?].

Another perspective on my view of emergence in design

Posted in context | Leave a comment

Object-oriented design principles

encapsulation explained with an API target and vending machine source metaphor

An exploration of some of these concepts through the metaphor of a vending machine

I’m exploring how to present object-oriented principles to non-programmers. An overview of some of the basic OOP principles from Robert Lewallen was an inspiration for the following brief descriptions. A parallel illustration below expands on a metaphor from Modelling the World With Objects by Sully, Phil.

Encapsulation & Abstraction

Encapsulation is the implementation: we can’t access the low-level details of a class
Abstraction is the implication: objects interface each other at a high level.

In a more general way:
Complexity is hidden (i.e. locked away; not just out of sight, but you are denied access to it) and (selectively) revealed as high-level information (i.e. useful information, attributes, functionality)

Interhitance & Polymorphism
Inheritance and Overriding are the implementation: classes can be defined in an efficient manner that re-uses code, despite a broad range of differences between individual objects.
Classes are organized in an additive modular hierarchy (such that each successive level of the hierarchy inherits every attribute and action that the previous level does) – but each particular class may override anything it inherits.
Polymorphism is the implication: We can generally rely on children or instantiations of a class to have similar features as their siblings, yet that is not a hard-and-fast rule such as would prevent useful variations.
In a more general way:
Objects are defined in terms of increasingly specific categories, and any individual can define how it deviates from its parent (or archetype). This allows objects to have broadly recognizable features based on their lineage (i.e., their identity) without losing the ability to have additional features – even ones that conflict with the standard features.

[Lewallen confuses the discussion by talking about overloading in this context. From the perspective presented here, overloading should be discussed as a detail of function parameters, passing information between objects, and the like]

Posted in interaction, interaction_design | Leave a comment

light software

I’ve been using open office for a few months, and it has just occurred to me that I like using google docs better:
- it loads faster
- the interface is not as cluttered
- it doesn’t have those annoying bugs such as making you choose between several delete options when clearing a cell.

I mostly use spreadsheets to organize my thoughts in two dimensions (rather than the single linear dimension which is the most well-supported by text editors). This suggests to me that what would be even better is a light, simple spreadsheet editor much like notepad. (I avoid even wordpad, as the myriad formatting options are useless when I’m just taking notes).

Does anyone have any idea how hard it would be to cut all the advanced junk out of the open office spreadsheet module and just be left with a streamlined set of boxes to type into?

Posted in interaction, interaction_design | Tagged | Leave a comment

LOA and solution-space constraints

John H Holland, in his book Emergence on page 185, amplifies a description of the creative process that I presented to my students in Mexico (though – like almost all of the quotes and references I write about – it’s not at all his intent to make this particular point).
He points out that adding another constraint to a set (for example, constraining geometry to obeying the axiom of parallel lines, in addition to Euclid’s four axioms) is like changing the “level of description” (i.e. level of abstraction) at which the problem is defined. With four constraints, the problem space is huge – but (for example) the solution may be known to lie definitely within it. Adding a fifth constraint may narrow the space enough for a more robust search, eventually exhausting all the possibilities within those constraints.
Holland focuses on describing how finding the right constraint can lead to an answer – for me this is a foregone conclusion once we understand what he is basically talking about. If it is possible to say, “the interesting stuff is definitely happening inside this set of boundaries,” then of course the more dimensions or detail we can add to those dimensions will simplify finding the solution. In my opinion – and I’m sure he’d agree (except for the need to stretch things out in order to have a book rather than a blog post) – a sufficiently detailed description of the boundaries wherein a solution lies is a description of the solution.

Posted in design theory, meta recursion philosophy loa, theory of knowledge | Leave a comment