<?xml version="1.0" encoding="utf-8"?>
			
			<rss version="2.0">
			<channel>
			<title>Iterate Me: Brian Klaas: Blog - UI</title>
			<link>http://www.iterateme.com/blog/index.cfm</link>
			<description>Educational, software development and pop culture all mashed up.</description>
			<language>en-us</language>
			<pubDate>Mon, 06 Sep 2010 20:35:53-0400</pubDate>
			<lastBuildDate>Mon, 12 Jul 2010 09:08:00-0400</lastBuildDate>
			<generator>BlogCFC</generator>
			<docs>http://blogs.law.harvard.edu/tech/rss</docs>
			<managingEditor>brian@iterateme.com</managingEditor>
			<webMaster>brian@iterateme.com</webMaster>
			
			<item>
				<title>On App Inventor: Speaking the Language of Novices</title>
				<link>http://www.iterateme.com/blog/index.cfm/2010/7/12/On-App-Inventor-Speaking-the-Language-of-Novices</link>
				<description>
				
				&lt;a href=&quot;http://appinventor.googlelabs.com/about/&quot;&gt;Google&apos;s App Inventor&lt;/a&gt; is a great idea. Empowering consumers to create is always a good thing. Visual Basic was the key to Microsoft&apos;s long-time success. Map making tools are the reason why Warcraft III and Starcraft still sell on retail shelves, more than a decade after their release. iMovie, Windows Movie Maker and its counterparts have helped make YouTube the site for almost every Web meme of the last five years.

Visually-oriented IDEs are a great way to develop software quickly. Visual Basic and Delphi are two classic examples of this, and their tradition of partial WYSIWYG views carries on to Visual Studio and Flex Builder today. (I&apos;ve also made the argument that if Adobe wants CFBuilder extensions to really take off, they need a visual UI to create them.)  They&apos;ve even evolved to have a similar visual language: panels spread out on the screen which allow for inter-panel communication and interaction, playing off visual and interaction patterns common to many IDEs. When you fire up Eclipse or Visual Studio, you, as a programmer, can say &quot;Oh, I know the basics of how this IDE works because it looks like other IDEs I&apos;ve worked with.&quot;

All of those tools, however, expect that the user has some kind of fundamental understanding of the basics of programming: simple data structures, simple logic controllers, and so on. You simply can&apos;t get by without them.

Now let me say that I&apos;ve had minimal direct experience with Google&apos;s App Inventor. I don&apos;t think that&apos;s a problem here because I want to talk about &lt;em&gt;first impressions&lt;/em&gt;, as those mean a lot to the average, non-technical user at whom Google is targeting the product.

Take a look at this screenshot from the product&apos;s home page:

&lt;img src=&quot;/blog/images/posts/appInventor.png&quot; align=&quot;center&quot; width=&quot;600&quot; height=&quot;369&quot; border=&quot;1&quot; alt=&quot;App Inventor Demo Screen&quot; /&gt;

The focus of the UI is on the simulated phone screen in the middle of the window, as it should be. Take a look at the list of controls under &quot;Palette,&quot; on the left. There you&apos;ll see titles for controls such as &quot;Canvas,&quot; &quot;ListPicker,&quot; and &quot;TinyDB.&quot; Although there is a question mark next to each which, when clicked, tells the user what the control is, that text (and other text on the screen) is very much the language of the programmer and not the user. A non-technical, non-programmer, average, everyday Android phone user (who is the target user of App Inventor) would probably look at that and say &quot;What the heck is a ListPicker?&quot; I&apos;ve worked with a lot of &quot;non-technical, non-programmer users,&quot; and know pretty well that when any &quot;programmer-ese&quot; comes in to play in the UI, users tend to be taken aback and almost immediately take a combative approach to this UI written in a language other than their own.

This programmer-centric language works its way in to other elements in very subtle ways. Look at the properties you can manipulate in the &quot;Components&quot; and &quot;Properties&quot; panels. The text which describes the properties you can manipulate, while clear, is written in camel case &amp;mdash; a programmer&apos;s, not average user&apos;s, convention. &quot;CheckBox1&quot; could just as easily have been displayed as &quot;Check Box 1.&quot; The same goes for &quot;BackgroundColor&quot; and &quot;BackgroundImage.&quot; I know this sounds trivial, but it&apos;s clearly the work of programmers who expect that users will get or, at least, grow accustomed to the way software is written by programmers, not &quot;average end users.&quot;

I also have to wonder if the basic assumption of the standard IDE UI as the default UI is an appropriate one. In my experience, users are task-focused. They want to be able to make a movie from video on their camera and upload it to YouTube. They want to write a letter to their congressman about an issue that is important to them. They want to set up a quiz for the students in their class to take. As users are task-focused (and not document focused), an application should start with smart defaults and help a user accomplish basic tasks quickly. Instead of showing the standard IDE UI at startup, App Inventor may be better served with a &quot;Start Screen&quot; which could ask:

&lt;blockquote&gt;
What kind of application would you like to build?
&lt;ul&gt;
&lt;li&gt;One that uses data from my Twitter account.&lt;/li&gt;
&lt;li&gt;One that uses maps to display places that are important to me.&lt;/li&gt;
&lt;li&gt;One that lets me chat with my friends.&lt;/li&gt;
&lt;li&gt;None of the above.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;

The options presented here, when selected, would then pull together some of the basics for the application, saving the &quot;average user&quot; quite a bit of time and lay out most of hte plumbing required to get their desired application off the ground. This &quot;Start Screen&quot; could be turned off in the application&apos;s preferences for user who don&apos;t want to be bothered with this kind of getting started page.

The blocks tool that the team has devised to map out the internal logic of the application is really smart. It makes visualizing the logic clear and it&apos;s easy to drag and drop components in to the right order. No-code development environments like this are key to getting &quot;average users&quot; to use the tool to create applications that do what they want.

I&apos;ve used &quot;average users&quot; in quotation marks throughout this entry. That&apos;s because I don&apos;t think the real audience is &quot;average users&quot; &amp;mdash; meaning someone who owns a smartphone but hasn&apos;t developed software before. The tool was developed by university-level faculty and targeted towards students at various levels (elementary, middle, high and university) but in the context of teaching software development. As such, I believe the tool makes the fundamental assumption that you have to have &lt;em&gt;some&lt;/em&gt; knowledge of the art of programming. That assumption informs the design of the UI and how users interact with it. It makes it vastly simpler for individuals to develop applications (even me!), but it&apos;s not a tool that can be used by just anyone with experience with smartphones.

App Inventor was created by a lot of people much smarter than I. It&apos;s also still in beta and something I know that the team will improve upon over time. I just have to point out that if they really want to create something which allows the average user of a cell phone to build their own applications, they need to create a UI that, from start to end, reads in the way that an average, non-programmer user would understand. 
				</description>
				
				<category>UI</category>				
				
				<category>Educational Technology</category>				
				
				<pubDate>Mon, 12 Jul 2010 09:08:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2010/7/12/On-App-Inventor-Speaking-the-Language-of-Novices</guid>
				
			</item>
			
			<item>
				<title>Making Your Web Apps More Human</title>
				<link>http://www.iterateme.com/blog/index.cfm/2009/4/28/Making-Your-Web-Apps-More-Human</link>
				<description>
				
				I was reading &lt;a href=&quot;http://www.lukew.com/ff/entry.asp?808&quot;&gt;a post on Luke Wroblewski&apos;s blog recapping&lt;/a&gt; a presentation on &amp;quot;Designing Humanity in to Your Products&amp;quot; at the &lt;a href=&quot;http://www.uie.com/events/web_app_summit/2009/&quot;&gt;Web App Summit 2009&lt;/a&gt; and it got me thinking about the tensions I often find in creating the text for the Web applications I build. 

We have an interdisciplinary team responsible for all the educational and training content developed at &lt;a href=&quot;http://distance.jhsph.edu/&quot;&gt;my place of work&lt;/a&gt;. They&apos;re very smart, talented people who know a lot about their specific area of expertise. Over time, we&apos;ve settled on a writing style that&apos;s, well, a bit formal. We&apos;re an academic institution, after all, and &lt;a href=&quot;http://www.chicagomanualofstyle.org/home.html&quot;&gt;the Chicago Manual of Style&lt;/a&gt; is pretty clear on how words should be crafted for the page.

The problem with sticking to a standard like Chicago is twofold:

&lt;ol&gt;
&lt;li&gt;We&apos;re on the Web, not the page. The Web really is different from the printed page.&lt;/li&gt;
&lt;li&gt;Web 2.0 experiences are fast becoming (if not already) the standard. Users &lt;em&gt;expect&lt;/em&gt; to be referred to in the first or second person. Users &lt;em&gt;expect&lt;/em&gt; to take center stage in all the activities available in a Web app. They expect the casual, conversational style of &lt;a href=&quot;http://www.facebook.com/&quot;&gt;Facebook&lt;/a&gt; to be how all Web apps should work. &lt;/li&gt;
&lt;/ol&gt;

I&apos;m not trying to single out the technical writers and editors that we have on our team. They&apos;re great and really know what they&apos;re doing. I&apos;m also not abdicating the &lt;a href=&quot;http://www.dartmouth.edu/~writing/materials/student/ac_paper/what.shtml&quot;&gt;basic rules of academic writing&lt;/a&gt; to Facebook or IM style. (&lt;a href=&quot;http://distance.jhsph.edu/iol/&quot;&gt;I teach an online course&lt;/a&gt; at a graduate institution, after all, and I see how lazy students can be when it comes to writing.) What I am trying to point out is that often when we generate the text for our Web applications, we&apos;re bound by a sense of obligation to &quot;proper style&quot; or &quot;business tone&quot; that&apos;s so formal it only reinforces the stereotype that computers (and by extension, the Web applications that run on computers) are so devoid of anything resembling personality or idiosyncratic style that we can&apos;t, fundamentally, connect with them. 

Part of the success of Facebook or Twitter or any number of Web 2.0 sites is the way in which they approach the user: a friendly, conversational tone with human-readable (and understandable) messages. As pointed out in the blog post, we need to take a conversational rather than formal tone, &lt;em&gt;especially when it comes to error messages&lt;/em&gt; or other &amp;quot;system guidance&amp;quot; to users. This may result in a site with a less authoritative (as in totalitarian) voice, but the benefit is that users feel assisted, not punished, when they need to ask a question or something goes wrong.

As I&apos;ve been implementing newer apps, and those using my &lt;a href=&quot;http://www.iterateme.com/blog/index.cfm?mode=entry&amp;entry=E91330BA-E98F-CE36-71F8BF3E34F23EA5&quot;&gt;Contextual Guidance API&lt;/a&gt;, I&apos;ve made a conscious effort to keep the tone less formal and more conversational. This has resulted in a few discussions about what&apos;s appropriate (contractions seem to be a sticking point), but I think the upshot are apps that are more approachable and, by extension, more human. People have such limited time to get anything that they don&apos;t see as non-essential done, it&apos;s important to make them feel that they&apos;re dealing with an app made by humans, for humans. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Tue, 28 Apr 2009 09:08:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2009/4/28/Making-Your-Web-Apps-More-Human</guid>
				
			</item>
			
			<item>
				<title>30 Essential Controls for Web Interfaces</title>
				<link>http://www.iterateme.com/blog/index.cfm/2009/2/4/30-Essential-Controls-for-Web-Interfaces</link>
				<description>
				
				I realize that I&apos;ve been posting a lot on user interface design for Web applications, but it seems that there are more and more excellent resources becoming freely available on this front every day. What&apos;s even better is that many of these resources provide simple, clear examples for best practices.

Thanks to the good folks at Ajaxian, I came across &lt;a href=&quot;http://designingwebinterfaces.com/essential_controls&quot;&gt;30 Essential Controls&lt;/a&gt;, a page which lists frequently used Web UI controls (ie; multi-select box, rich text editor, autosuggest, etc.) and which RIA frameworks use them. So if you&apos;re prototyping a particular UI and want to know if the framework you&apos;re considering (because you are using frameworks and not trying to reinvent the wheel, right?) supports that type of control. There are handy links to many specific control implementations inline, so it&apos;s pretty easy to find some of these controls while others you&apos;ll have to go searching for.

The parent site for this page, which is for the book &amp;quot;&lt;a href=&quot;http://www.amazon.com/gp/product/0596516258?ie=UTF8&amp;tag=looksgoodwork-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0596516258&quot;&gt;Designing Web Interfaces: Principles and Patterns for Rich Interactions&lt;/a&gt;&amp;quot; has quite a few good resources itself, including a blog from the authors. If you haven&apos;t seen Bill Scott&apos;s presentation on &lt;a href=&quot;http://www.slideshare.net/billwscott/designing-web-interfaces-book-oreilly-webcast&quot;&gt;Designing Web Interfaces&lt;/a&gt; on Slideshare, it&apos;s definitely worth checking out and making it through the 300+ slides. He just did a &lt;a href=&quot;http://designingwebinterfaces.com/oreilly-webcast-presentation-available&quot;&gt;webcast on O&apos;Reilly and should be posting the audio from the session soon&lt;/a&gt;. Take a look at the &amp;quot;&lt;a href=&quot;http://designingwebinterfaces.com/explore&quot;&gt;Explore the Book&lt;/a&gt;&amp;quot; page as well, as it summarizes most of the content of the book into an easily usable page.

It looks like I&apos;ll be picking up their book shortly. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Wed, 04 Feb 2009 09:31:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2009/2/4/30-Essential-Controls-for-Web-Interfaces</guid>
				
			</item>
			
			<item>
				<title>10 Useful Web Application Interface Techniques</title>
				<link>http://www.iterateme.com/blog/index.cfm/2009/1/13/10-Useful-Web-Application-Interface-Techniques</link>
				<description>
				
				&lt;img align=&quot;right&quot; src=&quot;/blog/images/posts/smashingMaglogo.gif&quot; width=&quot;187&quot; height=&quot;60&quot; border=&quot;0&quot; hspace=&quot;10&quot; /&gt;I&apos;m rarely disappointed when the smart folks who put together &lt;a href=&quot;http://www.smashingmagazine.com/&quot;&gt;Smashing Magazine&lt;/a&gt; come out with a new article on Web application design and information architecture. Their style is straightforward and remarkably jargon-free, especially when compared to other UI design-focused sites.

&lt;a href=&quot;http://www.smashingmagazine.com/2009/01/12/10-useful-web-application-interface-techniques/&quot;&gt;10 Useful Web Application Interface Techniques&lt;/a&gt; is their latest posting on the subject (see that article for even more, related articles on effective UI design techniques). While I do get a lot out of reading these articles, and the tips and strategies are usually dead-on (and make good common sense), one of the things I love about what they do is that they provide &lt;em&gt;visual examples&lt;/em&gt; for nearly every tip and technique. It&apos;s a great way to quickly survey what other sites are doing, and how they&apos;re working to innovate in UI design. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Tue, 13 Jan 2009 09:10:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2009/1/13/10-Useful-Web-Application-Interface-Techniques</guid>
				
			</item>
			
			<item>
				<title>Neuro Web Design</title>
				<link>http://www.iterateme.com/blog/index.cfm/2009/1/9/Neuro-Web-Design</link>
				<description>
				
				&lt;img src=&quot;/blog/images/posts/neuroWebDesign.jpg&quot; align=&quot;right&quot; width=&quot;160&quot; height=&quot;207&quot; border=&quot;0&quot; hspace=&quot;10&quot; /&gt;A less buzzwordy title for this book would be &amp;quot;The Neurosociology of Effective eCommerce Design,&amp;quot; but I suppose that&apos;s not as pithy as &amp;quot;&lt;a href=&quot;http://www.peachpit.com/store/product.aspx?isbn=0321603605&quot;&gt;Neuro Web Design&lt;/a&gt;.&amp;quot; This brief, clearly written and surprisingly obvious book by Susan M. Weinschenk examines the neuroscience behind effective Web marketing and design, focusing in particular on eCommerce.

Quite a bit of the book covers how the &amp;quot;old, mid and new&amp;quot; parts of the brain affect our decisions to buy and act in the ways that we do. (I&apos;d argue that you could interchange those three terms with &amp;quot;id, ego and superego,&amp;quot; but there are physical parts of the brain which map to these concepts.) Weinschenk focuses quite a bit on socialization and how we &lt;em&gt;need&lt;/em&gt; to be a part of a group, especially when we make decisions about buying. She focuses on the effectiveness of public reviews, reciprocity, immediacy, and threat in designing your Web commerce and marketing strategy. 

It was interesting to read that psychologists are now demonstrating, though data, the effectiveness of &amp;quot;chunking&amp;quot; content &amp;mdash; a practice that &lt;a href=&quot;http://distance.jhsph.edu/&quot;&gt;my work&lt;/a&gt; has put to use for over a decade now in long-form online educational content. Learners provided much anecdotal data about preferring chunked content, but Weinschenk points to studies that back this up with numbers.

A lot of what she says makes great common sense and is, honestly, pretty obvious when you think about it. She presents things in a very easy-to-read and understand style. I did find, though, that the overall book is a bit thin as the core concepts are repeated in a number of different ways over 132 pages (padded with elegant spacing, pictures, and reminder boxes throughout). It also ends rather abruptly, providing very little wrap-up, but this isn&apos;t fiction. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Fri, 09 Jan 2009 10:10:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2009/1/9/Neuro-Web-Design</guid>
				
			</item>
			
			<item>
				<title>Web App Design Anti-Patterns</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/12/4/Web-App-Design-AntiPatterns</link>
				<description>
				
				&lt;a href=&quot;http://slideshare.net/&quot;&gt;Slideshare&lt;/a&gt; is a great learning resource. There are presentations from top-level presenters in a number of fields (particularly Web design and development) posted there, although you sometimes have to wade through the litany of &amp;quot;Hot Brazillian Girls&amp;quot; slideshows that never quite seem to go away. You can subscribe to their very convenient RSS feed of latest presentations submitted to the site, or the most viewed presentations within a given day or week or month, and so on. I usually review one or two presentations a day on the site.

Bill Scott, the Director of UI Engineering for Netflix, posted a great and detailed presentation on &quot;Designing Web Interfaces: Principles and Patterns for Rich Interaction.&quot; What&apos;s really useful about this presentation is not just the depth of examples but also his pointing out &lt;a href=&quot;http://en.wikipedia.org/wiki/Anti-pattern&quot;&gt;anti-patterns&lt;/a&gt; in Web application interface design. Anti-patterns aren&apos;t well discussed in this area, and I think he makes some great points about common approaches to interaction which may be less helpful than we expect them to be.

The presentation is below, but you should definitely head on over to &lt;a href=&quot;http://slideshare.net/&quot;&gt;Slideshare&lt;/a&gt; if you haven&apos;t already, as there&apos;s a wealth of useful presentations there.

&lt;div style=&quot;width:425px;text-align:left&quot; id=&quot;__ss_676167&quot;&gt;&lt;a style=&quot;font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/billwscott/designing-web-interfaces-presentation?type=powerpoint&quot; title=&quot;Designing Web Interfaces&quot;&gt;Designing Web Interfaces&lt;/a&gt;&lt;object style=&quot;margin:0px&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=designingwebinterfaces-1224606662700341-8&amp;stripped_title=designing-web-interfaces-presentation&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&gt;&lt;param name=&quot;allowScriptAccess&quot; value=&quot;always&quot;/&gt;&lt;embed src=&quot;http://static.slideshare.net/swf/ssplayer2.swf?doc=designingwebinterfaces-1224606662700341-8&amp;stripped_title=designing-web-interfaces-presentation&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;425&quot; height=&quot;355&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style=&quot;font-size:11px;font-family:tahoma,arial;height:26px;padding-top:2px;&quot;&gt;View SlideShare &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/billwscott/designing-web-interfaces-presentation?type=powerpoint&quot; title=&quot;View Designing Web Interfaces on SlideShare&quot;&gt;presentation&lt;/a&gt; or &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://www.slideshare.net/upload?type=powerpoint&quot;&gt;Upload&lt;/a&gt; your own. (tags: &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://slideshare.net/tag/ajax&quot;&gt;ajax&lt;/a&gt; &lt;a style=&quot;text-decoration:underline;&quot; href=&quot;http://slideshare.net/tag/rich&quot;&gt;rich&lt;/a&gt;)&lt;/div&gt;&lt;/div&gt; 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Thu, 04 Dec 2008 22:37:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/12/4/Web-App-Design-AntiPatterns</guid>
				
			</item>
			
			<item>
				<title>Protoshare: Sweet Collaborative Wireframing</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/10/9/Protoshare-Sweet-Collaborative-Wireframing</link>
				<description>
				
				&lt;img src=&quot;/blog/images/posts/protoshareLogo.png&quot; align=&quot;right&quot; width=&quot;60&quot; height=&quot;59&quot; border=&quot;0&quot; hspace=&quot;10&quot; /&gt;&lt;a href=&quot;http://www.protoshare.com/&quot;&gt;Protoshare&lt;/a&gt; is a full Web application that enables Web application teams to collaborate with clients and customers on prototyping Web sites. I&apos;m a big proponent of prototype-based development, but one of the drawbacks to this methodology is that there aren&apos;t a number of really good tools to facilitate the process. Those that do exist are desktop-only and somewhat expensive. Protoshare enables you and your team and your clients to build out protoypes completely online in a surprisingly rich, drag-and-drop environment with smartly integrated commenting and discussion.

Where Protoshare really shines is in the wireframing layout process. They&apos;ve done some very impressive work with JavaScript on the browser, and the very rich UI is fluid and responsive.  Even more impressive, you can make your wireframes fairly interactive, utilizing RSS for dynamic data display, or menu drop-downs or flyouts that really let you and your clients see the workflow, rather than just talk about it. You can certainly build HTML prototypes that do the same thing (and we do!), but Protoshare helps to automate that process. 

I&apos;ve been looking at it as a way to enable our team and our clients to work remotely and still collaborate effectively, and I think it meets that requirement. However, as most of my team and our clients are all within a short walk of each other, I&apos;m not sure that the fees (which are not steep) and the lock in to the product are worth the investment. We can also generate richer prototypes on our own, but certainly not as fast. If our designer/developer team and clients were more geographically dispersed, Protoshare might be a great tool for us to use. I think the product is really excellent for smaller design shops or independent designers who want to collaborate with their clients without driving around (or flying to) a lot of meetings. I don&apos;t know if you&apos;d use Protoshare to protoype a fairly large corporate intranet, but I think that aside from not being able to handle the full scope of AJAX-based interactivity (though you can address that by building Flash movies and inserting those in to the Protoshare wireframe), it&apos;s a very capable tool. (Though I would like to see real-time audio communication built in to the tool. It&apos;s very, very useful to &lt;em&gt;talk&lt;/em&gt; through the workflow with collaborators, rather than just post comments asynchronously.)

Interestingly, Protoshare requires that you use Firefox 3. While IE is almost fully supported, Firefox is what you need to be using to fully engage with the application. It&apos;s unusual for almost any Web-based application to require Firefox over IE, but that&apos;s what they&apos;ve done. I&apos;m not sure that this isn&apos;t a problem, as home business or corporate clients may not want or be able to install Firefox just to collaborate with you. They may just ask that you meet with them in person instead. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Thu, 09 Oct 2008 08:44:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/10/9/Protoshare-Sweet-Collaborative-Wireframing</guid>
				
			</item>
			
			<item>
				<title>Designing the Obvious Moment</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/9/12/Designing-the-Obvious-Moment</link>
				<description>
				
				&lt;img align=&quot;right&quot; src=&quot;/blog/images/posts/designingTheObvious.jpg&quot; width=&quot;125&quot; height=&quot;188&quot; border=&quot;0&quot; hspace=&quot;10&quot; /&gt;&lt;a href=&quot;http://rhjr.net&quot;&gt;Robert Hoekman Jr.&lt;/a&gt; has written two quite excellent books on user interface and interaction design. I read these books earlier this year, but thought I&apos;d finally get to blogging about them as part of my ongoing book reviews.

&lt;a href=&quot;http://rhjr.net/dto/&quot;&gt;Designing the Obvious&lt;/a&gt; was the first of the two books and, for me, the more successful of the two. It&apos;s rich with UI design aphorisms that simply make good common sense. Written in a simple, conversational style that draws heavily from actual Web application development experience, this book, and its counterpart just make sense. The book deserves to be read by anyone who actually builds any kind of Web application user interface, no matter how simple or complex. One of the things I really liked about his approach was the whole concept of turning beginning users into intermediate users quickly. That was the inspiration for my whole series of posts on the &lt;a href=&quot;http://www.iterateme.com/blog/index.cfm?mode=entry&amp;entry=BFD57087-D227-BED8-3CCFA05C6845D9B4&quot;&gt;Contextual Guidance API&lt;/a&gt;. His outright demand that you make it simple, eliminate anything unnecessary in the app and in the design, and focusing on how you accomplish a task at every moment within the application is great advice. My team has taken that advice to heart and has begun designing our new applications around much of Hoekman&apos;s advice in this book. The result has been applications that visually make more sense to our clients, and clients that are really happy with what we&apos;re developing.

&lt;a href=&quot;http://rhjr.net/dtm/&quot;&gt;Designing the Moment&lt;/a&gt; is focused on very common, very specific moments of interaction with a Web application and how they can be made better. It&apos;s less cohesive as the previous book, which took more of a big-picture view to the art and process of designing user interfaces. In this book, the examples are very specific, somewhat less generalizable, but many of the same principles from Designing the Obvious come in to play. My sincere feeling is that a number of the solutions presented in this book will become outdated over the next couple of years (ie; blog and social networking site design) but, again, the basic principles of clarity, task-orientation and removing all but the essential are more than sound.

Designing the Obvious should be mandatory reading for all Web application developers, even those who rarely work on the UI. At the end of the day, the interface is the application, no matter what application you&apos;re using. Knowing how to create great interfaces is key to building great applications. 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Fri, 12 Sep 2008 09:37:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/9/12/Designing-the-Obvious-Moment</guid>
				
			</item>
			
			<item>
				<title>Getting Back to the Original Pointing Device</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/8/18/Getting-Back-to-the-Original-Pointing-Device</link>
				<description>
				
				Smashing Magazine is a great site that frequently provides inspiration and illumination about all things design (and technology design in particular). I stumbled across the site a couple years ago and I&apos;m always impressed with the quality of inspiration they provide. 

They recently put together &amp;quot;&lt;a href=&quot;http://www.smashingmagazine.com/2008/08/17/10-futuristic-user-interfaces/&quot;&gt;10 Futuristic User Interfaces&lt;/a&gt;,&amp;quot; a look at where user interfaces might go in the not-too-distant future. Interestingly, a lot of the interfaces point (no pun intended) to heavy use of the original pointing device: the finger. Of particular note are the interfaces for Futuristic Glass, Motorola Sparrow, Composition of the table, and Ringo. All of these interfaces rely primarily on hand-based motor skills to grab and manipulate information in a meaningful way.

Pointing as the primary means of communication isn&apos;t exactly new, or futuristic. We can see lots of implementations of &amp;quot;touch&amp;quot; devices in use today. Microsoft has &lt;a href=&quot;&quot;http://www.microsoft.com/surface/&gt;Surface&lt;/a&gt; and its various, manufactured-real-soon now incarnations. There&apos;s the Wii. There&apos;s a number of new multi-touch computers, including the &lt;a href=&quot;http://h71036.www7.hp.com/hho/cache/447010-0-0-39-121.html&quot;&gt;well-advertised one from HP&lt;/a&gt;. And there&apos;s the iPhone. A combination of devices are making touch-based interaction (computing) a reality.

My question, though, is this: will people forgo a century or more of developed typing skills for a touch-based interface. Touch-based interfaces are largely serial input devices. You can&apos;t type more than one letter at a time on the iPhone. Multiple touches signifies a single, special action in multi-touch interfaces. I suppose you could make the argument, however, that keyboards work the same way: a machine only accepts one key as input at at time. However, keyboards are fast. You can use all 10 pointing devices on your hands at an incredibly rapid rate to generate input. Touch devices expect that you&apos;ll be using a single input . Given the range of motion required for or the limited space available in touch interfaces, it&apos;s nearly impossible, at this point, to provide input at the same rate as a keyboard. A common complaint that Blackberry device users have about the iPhone is that it&apos;s much slower to create responses/entries on the iPhone than it is on the Blackberry because of the keyboard and because you&apos;re able to provide input at a much faster rate.

This is a problem that time and ingenuity will probably solve. However, the miniaturization of technology prevents a major barrier to rapid input via touch. The average finger size of our species isn&apos;t going to get smaller any time soon.

Another major obstacle to input interfaces like Ringo (which is pretty dang cool) is the need for small, inexpensive and completely proliferated holographic projectors. That day is probably coming too, with the march toward technology miniaturization.

So touch input, glass-as-the-computer, and the proliferation of holographic projectors. Maybe &lt;a href=&quot;http://www.imdb.com/title/tt0181689/&quot;&gt;Minority Report&lt;/a&gt; had it right all along. 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Mon, 18 Aug 2008 09:11:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/8/18/Getting-Back-to-the-Original-Pointing-Device</guid>
				
			</item>
			
			<item>
				<title>Getting Users Up to Speed, But Not Getting in Their Way</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/5/9/Getting-Users-Up-to-Speed-But-Not-Getting-in-Their-Way</link>
				<description>
				
				&lt;p&gt;&lt;img align=&quot;right&quot; src=&quot;/blog/images/posts/speedometer.jpg&quot; width=&quot;328&quot; height=&quot;210&quot; hspace=&quot;10&quot; /&gt;I&apos;ve mentioned Robert Hoekman, Jr.&apos;s excellent book &amp;quot;&lt;a href=&quot;http://www.amazon.com/Designing-Obvious-Common-Approach-Application/dp/032145345X/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1210103766&amp;sr=8-1&quot;&gt;Designing the Obvious&lt;/a&gt;&amp;quot; a number of times in previous posts. Hoekman devotes an entire chapter (&amp;quot;Turn Beginners Into Intermediates, Immediately&amp;quot;) to the subject of getting users up to speed with applications as quickly and unobtrusively as possible. He argues that most of the users who stick around long enogh to use your application don&apos;t ever get beyond being &amp;quot;intermediate&amp;quot;-level users, and that:

&lt;div align=&quot;center&quot;&gt;
&lt;p align=&quot;left&quot; style=&quot;width:80%; background:#ffff99; border: 1px solid; padding: 4px;&quot;&gt;We need to implement some tools that stick around long enough to help users learn what they need to know, but then disappear once their purpose has been served.&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;So how do we do this? How do we know someone is a real beginner, an intermediate user, or an expert user (for those rare people who really want to take the time to learn all the nooks and crannies of the application)? How do we then track they they are gaining experience with the application so we no longer treat them as beginners but as intermediate users (or advanced users, as appropriate)?&lt;/p&gt;

&lt;p&gt;I&apos;m working on a simple API to help provide the appropriate level of contextual guidance to users of an application. The focus here is really on the backend tracking and determination of a user&apos;s experience level with an application. The contextual guidance API would be called before a page-view is rendered and the view itself would determine what to display based on the &quot;experience level&quot; of the user that has been passed along to it. With this system, we can hopefully begin to provide users instructive text (aka help) in a way that&apos;s useful and appropriate to their experience with the application, and that adapts over time to get out of their way or change to show them new tools at their disposal.&lt;/p&gt;

&lt;p&gt;The core function would look something like this:&lt;/p&gt;

&lt;code&gt;
function getExperienceLevel(userID, applicationName [, applicationSection]):string {}
&lt;/code&gt;

&lt;p&gt;The arguments would be:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;userID (numeric)&lt;/strong&gt;: The PKEY userID of the user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;applicationName (string)&lt;/strong&gt;: The string name of the application, so that multiple applications could be tracked within the same table, if appropriate. This could also be an applicationID value, if you have an applications table to work with which defined each application and gave it an ID.&lt;/li&gt;
&lt;li&gt;Optional: &lt;strong&gt;applicationSection (string)&lt;/strong&gt;: The string value of the &lt;em&gt;section&lt;/em&gt; of the application in which the user is working. This is useful in larger applications, where a user may spend most of their time in sections A and B but not in C. The user would need more help in section C of the application, and less in A and B. You need a way to be able to discern this, and this is the proposed way.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The function would return a string containing one of three values:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;beginner&lt;/li&gt;
&lt;li&gt;intermediate&lt;/li&gt;
&lt;li&gt;expert&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You could return a numeric value that somehow translated in to a range (eg; 1-10 = super noob, 10-20 = inexperienced, 20-30 = lower intermediate, and so on), but that level of granularity is probably more trouble than its worth &amp;mdash; especially in the view where you&apos;d have to write a whole lot of conditional logic to handle the appropriate display for each of those value ranges.&lt;/p&gt;

&lt;p&gt;So those are the basics of the method. In the next post on this topic, I&apos;ll talk about internal logic and the fact that we can&apos;t reduce experience to simple numbers. We have to take in to account the fallibility of memory in our business logic.&lt;/p&gt;

&lt;p&gt;If you have any questions or comments, I&apos;d love to hear them!&lt;/p&gt; 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Fri, 09 May 2008 09:31:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/5/9/Getting-Users-Up-to-Speed-But-Not-Getting-in-Their-Way</guid>
				
			</item>
			
			<item>
				<title>If You Need to Explain, You&apos;ve Got a Design Problem</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/5/1/If-You-Need-to-Explain-Youve-Got-a-Design-Problem</link>
				<description>
				
				&lt;p&gt;The title of this post is a wee bit binary, but it&apos;s a topic worth discussing. I was just reading a &lt;a href=&quot;http://usereccentric.com/entries/000333.html&quot;&gt;post by Rob Adams&lt;/a&gt;, who is working on Adobe&apos;s &lt;a href=&quot;http://www.iterateme.com/blog/index.cfm/2008/4/24/A-Demo-of-Thermo-a-Wicked-Good-Tool-for-RIAs&quot;&gt;Thermo&lt;/a&gt; project, about the value he finds in paper prototypes, and some of the problems.&lt;/p&gt;

&lt;p&gt;I&apos;m in the middle of developing a new application with my super-great team, and we&apos;re moving from paper prototypes to a clickable, HTML prototype. There&apos;s a lot of discussion with the client during this time, and they&apos;ve now seen four versions of the application on paper. At one point in his post, Adams makes the following salient point:&lt;/p&gt;

&lt;div align=&quot;center&quot;&gt;
&lt;p align=&quot;left&quot; style=&quot;width:80%; background:#ffff99; border: 1px solid; padding: 4px;&quot;&gt;
Correct any mistaken assumptions that are an artifact of the low-fidelity paper, but make sure you record points where you have to help them or explain something - these are design problems you need to fix.
&lt;/p&gt;
&lt;/div&gt;

&lt;p&gt;It&apos;s very, very easy when settling in to a routine of back-and-forth and discussion with a client to easily explain away a question they have about the interface (and therefore the workflow) without realizing that this, in all likelihood, is a design problem that needs to be solved. If they&apos;re asking you &quot;How will this work?&quot; or &quot;What is this for?&quot; or &quot;Will it do [x]?&quot; when that task is represented on the prototype (or is supposed to be represented or implied in the prototype), then you&apos;ve got a design issue that you need to handle. If they&apos;re asking about how data is stored or background workflows not covered by the prototype at hand, then that&apos;s not necessarily a design issue that needs to be addressed.&lt;/p&gt;

&lt;p&gt;Sometimes you&apos;re so focused on just getting through the key aspects of the prototype in the hour that the client allows you to meet with them that it&apos;s easy to quickly explain something they don&apos;t understand in regards to how the application will work. Have a second set of hands with you to note all the questions (something else that Adams recommends) so that you can go back later and say &quot;They didn&apos;t understand this, and it&apos;s supposed to be self-evident. Let&apos;s take a look at how we can improve the design.&quot;&lt;/p&gt;

&lt;p&gt;If someone in the prototyping process has a question about how the app is supposed to work, then you can be sure that there will be lots of people who use the app who have the same question. By listening to the workflow or application operation questions being asked and not quickly explaining them away, you&apos;ll find the design flaws and be able to fix them before they become a headache in production.&lt;/p&gt; 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Thu, 01 May 2008 09:49:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/5/1/If-You-Need-to-Explain-Youve-Got-a-Design-Problem</guid>
				
			</item>
			
			<item>
				<title>Good Defaults = Good Instructive Design</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/2/21/Good-Defaults--Good-Instructive-Design</link>
				<description>
				
				&lt;p&gt;Many &lt;a href=&quot;http://www.useit.com/&quot;&gt;user interface&lt;/a&gt; and &lt;a href=&quot;http://www.rhjr.net/&quot;&gt;interaction design&lt;/a&gt; experts will tell you that you should not ask users to make choices &lt;a href=&quot;http://www.useit.com/alertbox/20020609.html&quot;&gt;when they don&apos;t have to&lt;/a&gt;. Unnecessary choices presented to the user are the sign of laziness on the part of the development team and ultimately work to the detriment of a user&apos;s experience in your application. As a result, it&apos;s also extremely important to choose good default values for any choices you do ask users to make. This applies to not only things like &amp;quot;Create New...&amp;quot; tasks, but also to things like &lt;a href=&quot;http://www.useit.com/alertbox/defaults.html&quot;&gt;search&lt;/a&gt;. Let me give you two examples from my own development projects.&lt;/p&gt;

&lt;p&gt;First up is a wiki tool we built for our &lt;a href=&quot;http://distance.jhsph.edu/&quot;&gt;online course system&lt;/a&gt;. Everyone&apos;s used wikis, right? Wrong. A &lt;a href=&quot;http://www.pewinternet.org/PPF/r/184/report_display.asp&quot;&gt;Pew report&lt;/a&gt; from 2007 indicated that less than 15% of all surveyed users (and their survey size is around 2000 people, from which they extrapolate the activities of most US citizens) had a blog, or created a Web page, or posted to a blog. I know that a blog is not a wiki, but the reality is that blog usage is generally considered higher than wiki usage from a content contribution perspective. (The percentage of US citizens who have used &lt;a href=&quot;http://www.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt; is probably a whole lot higher than 15%).&lt;/p&gt;

&lt;p&gt;Anyway, the point is this: most of our users weren&apos;t familiar with what a wiki was or what they could do with the tool. We provided a simple editing interface, thorough help documentation, and even Flash-based demonstrations of how to use the tool &amp;mdash; all accessible from within the wiki interface. That wasn&apos;t enough. Users still didn&apos;t know what to &lt;em&gt;do&lt;/em&gt; with the page by just looking at it. Here&apos;s what it looked like to them:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/posts/wikiSampleBefore.jpg&quot; width=&quot;600&quot; height=&quot;490&quot; alt=&quot;Wiki Before&quot; /&gt;&lt;/p&gt;

&lt;p&gt;A big white space isn&apos;t the most inviting of interfaces to get users started creating content. Robert Hokeman, Jr., makes a strong case for this in his excellent book &amp;quot;&lt;a href=&quot;http://www.rhjr.net/dto&quot;&gt;Designing the Obvious&lt;/a&gt;:&amp;quot;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;For users just getting to know a Web application, a blank slate can be a barrier in the learning process. Instead of knowing what to do first, users can become stalled when faced with the empty canvas.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;By providing a sample of content or automatically selecting a &amp;quot;getting started&amp;quot; template, users can see what they might be able to build with the tool, or can start clicking and editing what&apos;s provided. They don&apos;t have to do a lot of figuring out &lt;em&gt;how&lt;/em&gt; the tool might be used &amp;mdash; you&apos;re doing that for them, saving them time and confusion in the process. (Of course, you&apos;re also proscribing how the tool can/should be used to them, which can be a detriment to creativity. Creative users, however, will find a way to bend the tool to their own ends. They always do.)&lt;/p&gt;

&lt;p&gt;So we went back to the wiki tool and addressed the number one question users had: &amp;quot;I&apos;m not sure what I can do with this thing.&amp;quot; By displaying a default preview of what a wiki page &lt;em&gt;could&lt;/em&gt; look like, rather than presenting them with a blank screen (or a screen with a tiny bit of text that says &amp;quot;Insert text here&amp;quot; on it), we give the users ideas on how to get started and what, specifically, the tool is designed to do. The updated default view of a wiki page now looks like this:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/posts/wikiSampleAfter.jpg&quot; width=&quot;600&quot; height=&quot;490&quot; alt=&quot;Wiki After&quot; /&gt;&lt;/p&gt;

&lt;p&gt;That&apos;s a heck of a lot clearer.&lt;/p&gt;

&lt;p&gt;The second example starts to cross in to the realm of &lt;a href=&quot;http://www.thinkvitamin.com/features/design/communicating-web-20-through-design&quot;&gt;instructive design&lt;/a&gt;: that is, providing tips and context and the right kind of default values so that the user knows what they are supposed to do with the application, registration form, etc.&lt;/p&gt;

&lt;p&gt;Everyone&apos;s had the very annoying experience of filling out a form and entering something like a phone number, only to have the system come back to you once you&apos;ve clicked the &amp;quot;Submit&amp;quot; button and say &amp;quot;Phone numbers must be in the (xxx) xxx-xxxx format.&amp;quot; or something equally annoying. A well-designed form that wants to be instructive and help the user enter information in the expected way from the start would pre-populate that phone number field with (xxx) xxx-xxxx so that you could click on it, and start typing in the right format.&lt;/p&gt;

&lt;p&gt;In building a survey tool, we decided that a &lt;a href=&quot;http://en.wikipedia.org/wiki/Likert_scale&quot;&gt;Likert scale&lt;/a&gt; question (or matrix question) would be one of the supported question types. The tricky part with supporting that question is getting users to enter in the appropriate setup information for the question. A Likert scale question can be represented by a series of columns (which are the evaluative scale, such as &quot;Excellent, Good, Fair, Poor&quot;) and a series of rows (which are the items to be evaluated, such as &quot;Checkout time, Cashier friendliness&quot; and so on).&lt;/p&gt;

&lt;p&gt;This was our original design:&lt;/p&gt; 

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/posts/likertSampleBefore.gif&quot; width=&quot;600&quot; height=&quot;340&quot; alt=&quot;Likert question before&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Most users could figure out how we wanted the information required using this form. However, we&apos;d still get users who would put all choices on a single line, or separate them using commas or tabs. How to make it clearer? Here&apos;s a recent revision:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/posts/likertSampleAfter.jpg&quot; width=&quot;600&quot; height=&quot;490&quot; alt=&quot;Likert question after&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This is better, as it tells the user exactly what to enter and where to enter it. The design is being instructive. We&apos;ve provided &amp;quot;defaults&amp;quot; which tell the user what they need to know, and save them from guessing, or confusion about what to put in each of the fields.&lt;/p&gt;

&lt;p&gt;We could go farther, however, and create a dynamic preview of the question as the user entered both rows and columns to make up the matrix/Likert question. That&apos;s something we&apos;re looking into. (There&apos;s debate on the value of that, as once a user makes a couple of matrix questions, they pretty much get how to do it and don&apos;t need to see a whole lot of other stuff cluttering up the interface.)&lt;/p&gt;

&lt;p&gt;So the point here is this: choose good defaults, and make them instructive. The more unobtrusive guidance you can give to your users, the faster they&apos;ll get up to speed with your application, and the less (wrong) decisions they&apos;ll make in the process.&lt;/p&gt; 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Thu, 21 Feb 2008 09:38:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/2/21/Good-Defaults--Good-Instructive-Design</guid>
				
			</item>
			
			<item>
				<title>More on Magic Ink: Or, Has 20 Years of the GUI Ruined Us?</title>
				<link>http://www.iterateme.com/blog/index.cfm/2008/2/11/More-on-Magic-Ink-Or-Has-20-Years-of-the-GUI-Ruined-Us</link>
				<description>
				
				&lt;p&gt;As I mentioned in my last post on Bret Victor&apos;s excellent paper, &lt;a href=&quot;http://www.worrydream.com/MagicInk/&quot;&gt;Magic Ink&lt;/a&gt;, there was so much food for thought for software and UI developers in his article that I took the rare step of making my staff read the article and discuss it in a group setting. One point which arose during that discussion bears further elaboration here.&lt;/p&gt;

&lt;p&gt;Victor spends a good bit of time talking about developer/machine representations of a data model versus how real, actual human beings are able to represent data, and, more specifically to my point, choices. In particular, he takes to task the standard &amp;quot;Preferences&amp;quot; (or, in Microsoft parlance) &amp;quot;Options&amp;quot; screen found in pretty much every desktop application. What we are frequently presented with is something like this:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;img src=&quot;/blog/images/posts/samplePreferencesWin.png&quot; width=&quot;600&quot; height=&quot;418&quot; border=&quot;0&quot;&gt;&lt;/p&gt;

&lt;p&gt;But this is a machine&apos;s (or, better yet, a developer&apos;s) representation of a series of choices. It&apos;s all binary and fairly decontextualized. Now, the trend in UI design to categorize preferences or choices into a larger context such as &amp;quot;Security&amp;quot; or &amp;quot;Bookmarks&amp;quot; is helpful, but a lot of these preferences are still represented in the machine model, not the cognitive model the user has. Victor points us to a better way:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;For presenting abstract, non-comparative information such as this, an excellent graphical element is simply a concise sentence.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Victor&apos;s BART schedule widget, which he uses as a case study for many of the ideas in the article, uses just this approach when setting user preferences. For example, here is a preference setting which lets a user decide if they want to announce upcoming  trains, and when those announcements should go off:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://http://www.worrydream.com/MagicInk/&quot;&gt;&lt;img src=&quot;/blog/images/posts/widget_demo_sentence.png&quot; width=&quot;310&quot; height=&quot;55&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is very succinct and tells the user, in plain English, what&apos;s going to happen.&lt;/p&gt;

&lt;p&gt;But would this pass the Mom test? (AKA &amp;quot;Could your less-than-technology-savvy mother figure it out without any help?&amp;quot;)&lt;/p&gt;

&lt;p&gt;I&apos;m not sure.&lt;/p&gt;

&lt;p&gt;Look at the example. What are the visual indicators that you can actually interact with this? How do I know that I can &lt;em&gt;change&lt;/em&gt; the text in this sentence?&lt;/p&gt;

&lt;p&gt;Granted, most users, when presented with a new piece of software or a Web application that they can&apos;t immediately figure out, just start clicking until something happens. Someone clicking that preference sentence would see, in short order, that you can change quite a few things, as evidenced in additional shots from the BART widget:&lt;/p&gt;

&lt;p align=&quot;center&quot;&gt;&lt;a href=&quot;http://http://www.worrydream.com/MagicInk/&quot;&gt;&lt;img src=&quot;/blog/images/posts/widget_sentences.png&quot; width=&quot;352&quot; height=&quot;546&quot; border=&quot;0&quot;&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But the question, for me, remains: would a user be able to figure this out? Would they get stymied by this and not really know what to do next and instead click on things elsewhere that they &lt;em&gt;had&lt;/em&gt; already figured out. I&apos;m inclined to believe that is exactly what most users would do.&lt;/p&gt;

&lt;p&gt;Users have become so inured to the checkbox/radio button preferences dialog box that I&apos;m not sure they&apos;d intuit how to manipulate preferences in any other way. Users have been working with that kind of preferences model for over 20 years, and I don&apos;t know that it&apos;s a &amp;quot;design pattern&amp;quot; that can be broken without a heck of a lot of effort. (Then again, clicking around on the screen until something happens isn&apos;t a lot of effort.) What I suspect would happen is that a user would see this and then say &amp;quot;Well what do I do now?&amp;quot; and call the help desk (or a tech-savvy family member or friend). Users who feel they don&apos;t have the time to figure things out (and who does?) often just stop their task when the path to accomplishment isn&apos;t immediately available. Worse yet, if they&apos;ve been burned in the past by randomly clicking around on the screen (resulting in an application or system crash), they won&apos;t be able to move forward with manipulating the application for fear of wrecking everything.&lt;/p&gt;

&lt;p&gt;I know that Victor&apos;s article is forward-thinking, and it&apos;s great that it is, but in considering how users interact with interfaces right now and the years of &amp;quot;standard&amp;quot; experience that they have, the preference as a sentence to manipulate concept is slightly problematic.&lt;/p&gt;

&lt;p&gt;Perhaps stronger default visual indicators, like hyperlink-style underlines under items than can be changed, would alleviate this problem and quickly teach users that those items were changeable. It&apos;s a nitpicky point, but important, because without those extra visual indicators, a heck of a lot of people would be calling the help desk.&lt;/p&gt; 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Mon, 11 Feb 2008 11:16:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2008/2/11/More-on-Magic-Ink-Or-Has-20-Years-of-the-GUI-Ruined-Us</guid>
				
			</item>
			
			<item>
				<title>The Virtues of the Simple Home Page</title>
				<link>http://www.iterateme.com/blog/index.cfm/2007/8/14/The-Virtues-of-the-Simple-Home-Page</link>
				<description>
				
				&lt;p&gt;&lt;image align=&quot;right&quot; src=&quot;/blog/images/posts/googleHomepage.jpg&quot; width=&quot;300&quot; height=&quot;167&quot; hspace=&quot;10&quot;&gt;The good folks over at &lt;a href=&quot;http://www.thinkvitamin.com/&quot;&gt;Vitamin&lt;/a&gt; have written another useful and insightful article about Web application design, this one talking about the nightmare that can become the &lt;a href=&quot;http://www.thinkvitamin.com/features/design/home-sweet-home&quot;&gt;home page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A couple of key points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Less is more. I cannot stress this enough. Their example of the Apple home page is good, but Google is an even better example. Part of the reason Google attained such dominance in the search industry is because their home page is simple: a search box with a minimum of fuss. People like simple. Believe you me, I do understand how clients will want to cram as much information on to the home page as possible (if you ever saw some of my earlier site designs, you&apos;d know I was a perpetrator of this crime). But less is always more &amp;mdash; you point out what&apos;s truly important by not dumping everything you &lt;em&gt;think&lt;/em&gt; is important on to the home page.&lt;/li&gt;
&lt;li&gt;I really like the idea of designing the &quot;interior&quot; pages first. This makes a lot of sense in that it gets the client to think about the application (or site) as a whole, and not spend all their energy on the home page and then not have any time to spend where it really counts: focusing on how people use the internals of the app.&lt;/li&gt;
&lt;li&gt;If you don&apos;t believe people enter Web sites via pages other than the home page, I guess you haven&apos;t heard of bookmarks.&lt;/li&gt;
&lt;/ul&gt; 
				</description>
				
				<category>UI</category>				
				
				<category>Software Development</category>				
				
				<pubDate>Tue, 14 Aug 2007 09:15:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2007/8/14/The-Virtues-of-the-Simple-Home-Page</guid>
				
			</item>
			
			<item>
				<title>Data Visualizations Galore</title>
				<link>http://www.iterateme.com/blog/index.cfm/2007/8/8/Data-Visualizations-Galore</link>
				<description>
				
				&lt;p&gt;&lt;a href=&quot;http://www.munterbund.de/visualisierung_textaehnlichkeiten/essay.html&quot;&gt;&lt;img align=&quot;right&quot; src=&quot;/blog/images/posts/buurman.jpg&quot; width=&quot;286&quot; height=&quot;324&quot; border=&quot;0&quot; hspace=&quot;10&quot;&gt;&lt;/a&gt;I just came across &lt;a href=&quot;http://www.smashingmagazine.com/2007/08/02/data-visualization-modern-approaches/&quot;&gt;this great resource&lt;/a&gt; from Smashing Magazine exploring many modern approaches to data visualization. I really liked the work my Munterbund and the Shape of Song projects, but some of the examples simply contained too much information to make the resultant display understandable. Maybe I prefer to see smaller sets of data, but layers on layers of data make it difficult to discern patterns to all but the most expertly trained of eyes.&lt;/p&gt; 
				</description>
				
				<category>UI</category>				
				
				<pubDate>Wed, 08 Aug 2007 09:30:00-0400</pubDate>
				<guid>http://www.iterateme.com/blog/index.cfm/2007/8/8/Data-Visualizations-Galore</guid>
				
			</item>
			</channel></rss>