Skip to content

{ Category Archives } design

frameworks and building blocks

Between early 2006 and early this year, my team at IBM Rational and I built a framework for component-based Ajax development for use in the Rational Jazz platform. The framework’s capabilities aren’t the focus of this entry, so I’ll just list some of them briefly:

A nice component model based on OSGi bundles and the Dojo [...]

Tagged

RIA weekly podcast and errata

Last Friday I did an RIA weekly podcast (mp3) with Michael Coté of Redmonk and Ryan Stewart of Adobe. This was a fun and interesting experience. Fun because I like Coté and Ryan a great deal and enjoy talking to them and interesting because of the subject matter and also because it was the first [...]

measures of progress

I had an insight a few weeks ago that I thought was worth sharing. First some context.
On the Jazz project, one of my jobs is leading the software development for our platform-level web UI stuff [1]. Erich Gamma is the overall Jazz technology lead. Twice a month we have a sync up meeting where we [...]

the Uncanny Valley of user interface design

19 May 2007 update: This became a pretty popular blog entry after Tim O’Reilly linked to it. Because of the attention it’s received, I’d like to belatedly recognize Anne Zelenka and Redmonk’s James Governor and Coté for a series of January email conversations regarding Ajax UIs that generated interesting discussion and ideas which inspired me [...]

the value of UI consistency

Andrew Shebanow of Adobe recently wrote an interesting blog entry with the unfortunate title of “The Death of UI Consistency“. A few excerpts:
What I’m really talking about here is how the goal of complete UI consistency is a quest for the grail, a quest for a goal that can never be reached.

The reason I [...]

eXtreme UI design

In the last week of the most recent Jazz milestone, I realized that I was running out of time to give one of the web features a UI overhaul. Jen Hayes, the primary web UI designer, had sent me a spec more than a month before but I hadn’t implemented it because I was [...]

disciplined laziness

The other day, I thought of a clever solution to speed up an important Jazz function by perhaps 20-40% (depending on a set of environmental factors). I eagerly documented the solution in a bug report and CC’d several teammates. Several times over the past week, I almost went ahead and just coded the [...]

others on transparency and abstraction

Some excerpts below.  Click on the person’s name for the full content.
Grady:
There’s a phrase from systems engineering that applies here, the principal of least astonishment. When an abstraction fails, a well-designed one will (hopefully) fail in predictable ways. It’s when an abstraction fails and it fails in an unexpected way that we have evidence of [...]

the tension between transparency and abstraction

After finishing Brand’s How Buildings Learn a few weeks ago, I picked up another Brand book: The Clock of the Long Now which discusses (among other things) how one would design a clock intended to keep accurate time for 10,000 years. Chapter 11 lists the key design principles that the clock’s principal designer decided [...]