Monthly Archives: July 2005

The Design of Everyday Things

“Proper design can make a difference in our quality of life.” -Donald Norman

I know that when I’ve replied “cockpit error” in the past to situations involving software and its users that I’ve focused more often than not on the “pilot” rather than the “plane.” Reading the preface of The Design of Everyday Things convinced me to readjust my perspective–focusing more on the design of software and how it contributes to “cockpit errors.” …and the rest of the book didn’t disappoint either!

While I’m studying the “plane” moving forward, I’ll be look for what affordances it provides or lacks. How does the software I’m ultimately responsible for provide strong clues to its operation? Can my user know what to do just by looking at the GUI? Are simple things truly usable without explanation?

I’ll re-double efforts to avoid false causality and false coincidence. Are unnecessary results being logged (e.g. a handled, non-critical error)? Is any user interaction not required or overly complicated (confusing)? Does my user always have a strong sense of feedback from the software? Is the mapping among actions and results natural and intuitive, or arbitray and forced?

“The problem of determining the ‘naturalness’ of mappings is difficult, but crucial.” -Donald Norman

When the author reviewed stereo controls in cars, it got me to think about how content management could become more usable in a more 3D-like setting rather than the two dimensions afforded users today by ECM software (e.g. relationship mapping, content linking, associated discussions, hypertext, virtual documents, etc.). What about ECM software needs to be freed from a linear-only view?

With a deeper appreciation now for mental models and how they explain observations, being able to observe adequate feedback is crucial to forming a desirable impression of software and how one can go about their goals and tasks within it. It’s clearer now why perception becomes reality and how perception is shaped significantly by design. The more I can ensure reasonable ways for a user to digest the unfamiliar, the less mental energy will be required to successfully interact with new software, which should create a favorable impression and ultimately a satisfied user.

The author’s discussion concerning long term memory and short term memory gave me ideas for software improvements, too. The more my software can facilitate past-as-just-present functionality (e.g. saved searches, MRU lists, extensive undo/redo, etc.), the more mental relief can be afforded to my user.

“Try to design the system to allow for errors. Realize the normal behavior isn’t always accurate. Design so that errors are easy to discover and corrections are possible.” -Donald Norman

“The designer shouldn’t think of a simple dichotomy between errors and correct behavior; rather, the entire interaction should be treated as a cooperative endeavor between person and machine, one in which misconceptions can arise on either side.” -Donald Norman (emphasis mine)

“Seven Principles for Transforming Difficult Tasks into Simple Ones

  1. “Use both knowledge in the world and knowledge in the head.
  2. “Simplify the structure of tasks.
  3. “Make things visible: bridge the gulfs of Execution and Evaluation.
  4. “Get the mappings right.
  5. “Exploit the power of constraints, both natural and artificial.
  6. “Design for error.
  7. “When all else fails, standardize.”

-Donald Norman

I’m looking forward to reading Emotional Design: Why We Love (or Hate) Everyday Things next.

What’s more Mr. Norman has a blog. Subscribed!

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.

The World Is Flat

Within the past month, I finished reading The World Is Flat: A Brief History of the Twenty-first Century. Now I can follow-up my previous post on this book.

For expediency’s sake, here are my take-aways in rougher, list-oriented form:

  • Capitalism – unequal wealth; communism – equal poverty
  • RSS/Atom (feeds), blogs, tags – open, standard formats … but not open enough (e.g. annotations) … potential for integration with open, standard document-based metadata (e.g. XMP) … what I’m currently calling “fluid content dynamics” – more closely reflects the very nature of content–what do I really want to do?–capture thoughts and ideas … what is a .doc? why be forced to or choose to use Word? is the value Word provides worthy of my usage/loyalty/goals? what is the price of overkill over adequacy?
  • “Standards don’t eliminate innovation, they just allow you to focus it. They allow you to focus on where the real value lies, which is usually everything you can add above and around the standard.” -Joel Cawley (e.g. e.g. VoIP – voice is free; surrounding service add value)
  • “Software is not gold, it is lettuce–it is a perishable good.” -Brian Behlendorf
  • “This emerging era [open-sourcing] is characterized by the collaborative innovation of many people working in gifted communities, just as innovation in the industrial era was characterized by individual genius.” -Irving Wladawsky-Berger
  • Blogging as open-source intelligence gathering/dissemination
  • Don’t confuse a competitive race to the top for a competitive race to the bottom (e.g. China’s global economic strategy, “ECM lite” (Gartner’s “Basic Content Services”), etc.).
  • Get flat or be flattened!
  • Align ILM/ECM/CM/DM to its flatteners (i.e. blogs, wikis, feeds, tag clouds, etc.). Re-engineer yourself, your workgroup, your company and your culture (think BIG!) accordingly.
  • Are you transparent or translucent? I’m only the latter if I have no effective means to handle feedback.
  • The Triple Convergence – new players, new playing field, new processes and habits for horizontal collaboration
  • The state of being “legacy free” and the past’s drag on the present
  • The Great Sorting Out – understand when friction is to be kept, modified or eliminated (e.g. legitimate barriers to entry, etc.)
  • Value creation today is horizontal, not vertical–connect and collaborate, not command and control
  • Power of perspective and anticipating its effects (e.g. the empowerment of those benefiting the most profoundly from flattening)
  • Power of being able to assign or take action instead of asking for information because the information is already known
  • IP ownership – CC mark on blogs, living wills and trusts (e.g. include “my bits”)
  • Knowledge work and services (idea-based goods), not just (physical) goods, are tradeable.
  • Wants today become needs tomorrow.
  • “Sure, there is fear, and that fear is good because that stimulates a willingness to change and explore and find more things to do better.” -Vivek Paul
  • “You have to constantly upgrade your skills.” – mediocre was never an option, but now mediocrity has been permanently kicked out of the proverbial closet (thank goodness!)
  • Know how to “learn how to learn”
  • Laws -> Markets -> Innovation (i.e. why I’ve been reading books on the judicial system in America and blogging about it)
  • Running a marathon involves different musculature, breathing capacity and mental toughness than running a sprint
  • “In China today, Bill Gates is Britney Spears. In America today, Britney Spears is Britney Spears–and that is our problem.” -Thomas Friedman
  • Strive for the top but have a plan that accounts for arrival
  • “Transformation of an enterprise begins with a sense of crisis or urgency. No institution will go through fundamental change unless it believes it is in deep trouble and needs to do something different to survive.” -Lou Gerstner
  • “A crisis is a terrible thing to waste.” -Paul Romer
  • Versatilist (Gartner) – not specialist and not generalist
  • Values > Value; Values chains > Value chains
  • Liberating technology that enslaves
  • “Imagination is more important than knowledge.” -Albert Einstein
  • “…in a flat world so many of the inputs and tools of collaboration are becoming commodities available to everyone. They are all out there for anyone to grasp. There is one thing, though, that has not and can never be commoditized–and that is imagination.”

In reply to Erik’s comment, a very sensible reason for a corporation or company to pursue outsourcing is when it must do so to effectively engage critical knowledge workers. The talent pool is global; it’s not local. I want the best candidates to be employees. I prefer to work locally and draw from my communities; however, I can see when this may not always be possible. Thomas Friedman makes the point of saying that today natural talent trumps geography.

Some of the complaint I hear to outsourcing tends to be focused on cost rather than talent. I see an emerging rationale swinging more toward talent. This is why it’s extremely critical that our educational system catch up and surpass corporate knowledge worker requirements. If we don’t educate the best and the brightest, someone else will. If we can’t attract and retain local talent, then we’ll be forced to “go remote.” (Assuming that a corporation wants to be a global leader in the marketplace.)

A cost-based competitive advantage implies a volume-based corporate economy. Knowledge work and its enabling technologies and products are not yet entirely volume commodities. To become such implies that something else–not based on cost/volume–has taken its place. Whatever this is will likely be what future talent is attracted to.

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.

More Outlook observations

First another annoyance and then a plug for a forthcoming development tool…

Another annoying observation…when I delete a folder (e.g. a sub-folder under my Exchange-based account Inbox folder) why does Outlook regularly prevent me from emptying my Deleted Items folder on the same mail account (i.e. complain that synchronization between Outlook and Exchange must first be completed before deletion can occurr)?

This is nonsense; I’m deleting a folder. I don’t care about Exchange’s problems–I don’t want to see this folder and its content any more (sync or no sync). The dialog Outlook 2003 is presenting to me smacks of poorly crafted UI such as “you asked to do Foo…are you sure that you really want to do that?”

It strikes me that a better user experiences would be to allow my delete/empty operation to complete successfully at least from a presentation viewpoint if not also from a mailbox perspective. If mailbox processing is still required, Outlook can privately tell Exchange of this requirement. Unless someone can explain to me why transaction support for this processing is required, Outlook doesn’t have to worry about Exchange failing to carry out mailbox cleanup in regards to this operation (i.e. no rollback semantics).

On the upside for Outlook developers, later this year Microsoft will ship Outlook support for the first time as part of Visual Studio Tools for Office 2005–what those of us in the early access program (and elsewhere) have come to call VSTO-O (e.g. Kjell-Sverre Jerijærvi). While it doesn’t cause any underlying change to the Outlook 2003 data model, it does reduce the amount of effort to produce compelling solutions that leverage Outlook 2003. If you’re looking for object model changes, you’ll have to wait for “Outlook 12.” Hopefully there will VSTO-O coverage (sessions + BOFs) in LA during PDC 2005.

One of my MAAB colleagues, David Hill, was heavily involved in the architecture of VSTO-O. I have a lot of respect for David’s insights into Smart Clients–we work together on the Smart Client Architectures working group within MAAB–hence, my involvement in and support of VSTO-O.

On a historical note, VSTO-O supersedes a previous effort called “Elixir” that was never released but used primarily as a vehicle for early architectural feedback.

Outlook observations

There are few things recently that peeve me about Outlook–actually one really has to do with Hotmail integration in Outlook–as follows:

  1. At some point, some hotfix or other Office patch has caused my Outlook to forget the state of my main (Exchange-based) personal folders node (i.e. it always starts fully collapsed). It would be nice if tree-based application UIs all supported an “Expand All” command, and I’d love to see Outlook pioneer this feature.
  2. Somehow my Outlook has gotten into a state where it shows duplicate PST-level nodes for the same PST file: one that works and one that doesn’t in any way other than taking up a line of tree real estate. (Others have too.) I, too, have checked with Sue Mosher and other Outlook experts, but no one has been able to resolve this annoyance. Any thoughts?
  3. Despite the fact that Hotmail (Passport) supports periods (.’s) in user names, it appears that not all Hotmail accounts are created equal. At some point, a decision was made to require an upgraded Hotmail account/subscription in order to gain access to Outlook integration with Hotmail accounts. This is lame for two reasons: (1) GMail has no such restriction, and (2) users with old and new Hotmail accounts can only access a subset of their Hotmail-based messages from Outlook.

BTW, on the subject of Hotmail, I’m looking forward to experiencing “Kahuna” (i.e. the forthcoming “Wave 11” UI). Then my brother-in-law can actually talk more about what he’s been doing recently on the Hotmail team.

Dual citizenship and object identity

After finishing The World Is Flat, I picked up Winning The Future: A 21st Century Contract with America by Newt Gingrich, which I received for Father’s Day. (More on The World Is Flat in a separate post–excellent book on timely subject matter!)

I haven’t yet finished Mr. Gingrich’s book about a 21st century contract with America, but Winning The Future: A 21st Century Contract with America is a thought-provoking read. It’s not as substantial as some of the other books I’ve read recently (e.g. The World Is Flat, Men in Black), but it does offer new connections for the more detailed coverage these other books present (e.g. (threat #4) “America’s economic supremacy will yield to China and India because of failing schools and weakening scientific and technological leadership”, the historic balance of our three branches of government–that two branches combined (e.g. legislative and executive) can reign in the third branch (judicial), etc.).

In “Patriotic Immigration” Mr. Gingrich raises the subject of dual citizenship as “one of the most insidious assaults on American exceptionalism.”

Before I continue, I should state up front that I have a brother-in-law who is a dual citizen. He’s just as patriotic as I am. After passing all requirements and becoming a citizen, when he “interviewed” mutual family members, it was clear that in some cases, he knew more facts about America than some of those born in this country. So, up to reading this chapter, I really haven’t viewed dual citizenship in a bad light–I’m not certain that I do now either.

However, when taken to a logical end, dual citizenship can create a detrimental tension between two national, geographical, culture, ideal–identity–concerns. This reminds me of my own brief, prior post about absolutes versus relativism. On the surface, dual citizenship appears harmless, but when pressed all the way to the wall, it may yield an undesirable, if not unacceptable, result.

For whatever reason–probably because of my profession as a software architect–this got me to thinking about object identity. Java, C# and other languages have done away with the potential nightmare of multiple implementation inheritance supported by C++. However these languages prominently support multiple interface inheritance, which still has the potential for creating tenuous object identity. That is, if FooBar implements IFoo and IBar, is a FooBar object’s existence truly independent of its value? Of course, this depends on the function of IFoo and IBar, but my observation is that there are no formal checks in Java or C# to prevent a condition of “dual citizenship” in FooBar. And in the end, FooBar is conflicted, which will force the software above to accommodate, defend against, isolate, coax, placate, attack or ignore (at its peril) the inherent conflict.

Clearly, I’m “in process” on this connection. Thoughts?

Update 12/1/2008: For more of my book reviews and to see what else is in my book library (i.e. just the business-related or software-related non-fiction therein), please visit my Books page.