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:

  1. ION is a notation system used to describe RIAs and complex interface behavior, though it is also applicable to standard interface behavior as well.
  2. ION strives to be a standardized notation used to describe wireframes and interface objects, in order to promote clarity and consistency.
  3. 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 entry
No Trackbacks

Comments


I was just looking at the last example I gave above after responding to an offline comment and I realized it might be more readable if we took this:

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.

Leave a comment?





To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA

Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.



 

 

Copyright © 2004–2008, Clearwired Web Services, LLC :: Terms & Conditions :: Privacy Policy :: Client Login