Recent Posts
- Simplicity over Complexity?
- Car Talk
- Subject to Change
- In the Loop this Week
- Inform and UX Workshop
- In the Loop this Week
What’s In The Loop
- Nokia Mobile
- Reading Online
- UX Pioneers
- Am I Seeing Python Everywhere?
- Lazy mom pushes stroller while on a Segway
- The antithesis of usability...
- Secretary with lightning quick hands
- Cooper | Insights | Journal of Design | Articles | About Face 3: Foreword
- Orange Cone: An unusual addition to the UI collection
- National Design Awards | Cooper-Hewitt, National Design Museum
- Read More…
Archives
Categories
RSS – The Loop
The Loop
ION Recap
Chris and I introduced ION (Interface Object Notation) at the IA Summit 07 (our presentation) over the weekend. We were happy to receive many positive comments and helpful suggestions. Most of these reflected some of my concerns and overall hesitance in presenting ION at such an early stage. But let me take a step back and explicitly state what we think ION’s purpose is:
- ION is a notation system used to describe RIAs and complex interface behavior, though it is also applicable to standard interface behavior as well.
- ION strives to be a standardized notation used to describe wireframes and interface objects, in order to promote clarity and consistency.
- ION is meant to facilitate communicate between an Interaction Desiger/Information Architect and a developer or other designers within a team through the use of a common language. ION is especially applicable for dispersed development over multiple location and/or continents. ION potentially can be used to communicate interface behavior to non-technical project stakeholders and clients.
I don’t think we explicitly stated these points in our presentation though we had these ideas in back of our minds. Discussing ION with other conference attendees also helped me clarify ION’s purpose. I would like to tip my hat to Dan Brown for taking the time to chat during lunch about ION and mentioning it in his presentation on documentation. Dan gave me a few ideas which I’ll express here in a moment.
“Is there enough pseudo in the pseudo code?”
I consistently heard from other conference attendees that ION potentially looked and felt too much like code. There simply isn’t enough natural language and maybe there is too much reliance on punctuation, in other words ION needs to be more readable. This is something I grappled with for a long time. I deliberately went in a slightly different direction that felt comfortable and was explicit. I was also interested in expediency and as someone in our presentation elegantly stated: “economy”, which led to the use of shortcuts and the use of punctuation. I thought by including words like “action” and “validation” ION would be inherently more readable. Maybe there’s a happy medium between the use of the dot notation and punctuation such as ( ), [ ], etc... I think there is an easy fix to this, remove some of the punctuation:
Iteration 10 (exemplar version shared in our presentation)
profile_picker.action(display)➝role.action(load[all roles])
Iteration 11 (latest version based upon initial feedback from the conference)
profile_picker display ➝ role load "all roles"
I had toyed with this before, but I always thought the structure provided by the punctuation provided clarity. It’s possible that by adding the bold on the action provides enough structure. I plan on exploring iteration 11 further using Kayak as an example. So, stay tuned.
Lastly, I would like to mention the “Language of Behavior”. This is a concept that came to me at the conference after synthesizing all of my discussions in regards to ION. The “Language of Behavior” might be the overarching theoretical framework that ION fits under, but I think the “Language of Behavior” has more to do with our conversation with computers, devices, machines, etc.. More to come...
Thanks to everyone who came to our presentation and who shared all of their great ideas with us!
Trackbacks
Trackback specific URI for this entryComments
Leave a comment?



profile_picker display ➝ role load “all roles”
and did this:
display profile_picker ➝ load “all roles” into role
This example is action foward and readable. I’m going to have to play around with this a bit more.