Thursday, May 22, 2008

Unlock Your Creative Side And Create More Compelling Designs

Programmers and IT types in general are not usually well known for their creative and spontaneous ways. Most in this profession are very logical and linear thinkers, and often those qualities lend themselves nicely to this field. An unfortunate byproduct of this fact, however, are the thousands upon thousands of badly designed applications that have been forced upon poor, unsuspecting end users. If you've been here for any length of time, you know that I have a couple of sacred mantras. One is that the interface is the application as far as the end user is concerned. They could care less about your SQL backend or cool use of classes in OO to abstract the blah, blah, blah. :-) Another is that because of mantra #1, it is our duty as developers to design everything with the end user in mind. Now...if you are a logical and linear thinker, then this might not be the easiest thing in the world for you to do. The key is to recognize that you need to work on developing your design skills and to continually grow them. One technique that can help in that regard is mind mapping.

Mind mapping is a technique used to visually depict concepts in a non-linear way, with lines radiating out from a central concept that group related items together. They are very useful in allowing you to see relationships in seemingly non-connected information. Mind maps are also great devices for brainstorming. The power of mind mapping comes from the fact that it allows you to utilize both sides of your brain, the creative and the logical. One of the key concepts of mind mapping is including multiple colors and pictures within your map. In doing so, you draw upon those creative tendencies, which just in itself provides value by keeping your brain sharp. Mind mapping began by using the same kind of tools you use for low-fidelity prototyping...pens, crayons, pencils, paper, etc., but you can also now find many mind mapping applications for the computer (stay tuned for an upcoming review of my favorite, MindManager). To learn more about Mind Mapping, check out the definitive work by Tony Buzan (The Mind Map Book) and another great work by Jamie Nast (Idea Mapping)


Click to enlarge


I think that mind mapping provides some great benefits for programmers and designers. One way I use mind mapping is to capture and display all of the little nuggets of information that I come across during the requirements gathering phase. I often find that seemingly insignificant remarks or off the cuff comments that don't appear important at the time make a huge difference to some design aspect of my application later down the line. By having these bits of information laid out in front of me in a mind map, I can occasionally find relationships in the ideas that the end users didn't explicitly spell out or I can identify areas where further interviews and exploration is necessary.

Mind maps work very well for project tracking and managing programming tasks as well. When I get down to the point of writing code, I try to capture the major design points in a map. I know many programmers who do this with basic To Do or feature lists, but by using a map, you can see how the various components of your design are related. It also allows me to visually represent the importance of one item over another, so at a glance it is easier for me to see what I should be working on.

I find mind maps are a perfect way to begin thinking about the hierarchy of a new application design. Items like navigation structure and UI design elements naturally lend themselves to the kind of relationships a mind map is designed to convey. If I'm working on a new website, for example, I'll create a mind map of the taxonomy. When I share this with end users, it's a lot easier for them to understand since they "see" how the website will be laid out. Remember the old cliche..."a picture is worth a thousand words". I think as much as you can simplify the design process for the end users with pictures and easy to read visuals, the closer you will get to meeting their requirements when you deliver the application to them.

Although I have not done this yet, I think mind mapping would be an ideal way to visually see how your LotusScript or Java code is laid out. I remember working on an application for "Really Big Company" that had tons of script libraries. I spent a lot of time when I was first learning the system digging through the various functions and methods and taking notes on what called what, how they were related, etc. I think a mind map could show these relationships much more elegantly. I'm going to try this whenever I get back to writing code.

Beside the applications mind mapping has in a professional development capacity, they can be used for almost anything else. I find that my memory of certain things is improved when I use a map over a standard linear way of writing information down. Mind maps are great for capturing meeting minutes, brainstorming, taking notes on a book you are reading, etc. But the biggest benefit and why I bring this topic up has to do with the creative nature of mind mapping. When you follow the "tricks of the trade", you begin to rely on both sides of your brain and unlock that creative potential that you have inside. In doing so, you'll find that your problem solving skills are sharpened and you can more easily envision the various dimensions of a given issue or task. I believe mind mapping also helps you become a better observer and certainly the act of creating a map helps commit what you are writing to memory much faster than any other method I've used before.


Click to enlarge


Don't just take my word for it. Some superheroes from the Notes community that use mind maps (or have at least dabbled with them) include Bruce Elgort, Eric Mack, Tim Tripcony and Stephan Wissel.

When it comes to designing innovative UIs that your users enjoy working with, creativity is key. I hope you'll consider mind mapping as one possible way to help cultivate your creative side.


P.S. Here's a short little interview on what I do with MindManager.

Wednesday, May 14, 2008

Collaborate From Anywhere...The Value Proposition of Lotus Quickr

If I had to pick a common Achilles' Heel among the various collaboration systems I've worked with through the years, I would probably point to the fact that each system usually has a single point of entry. That is, you have to (virtually) leave the place you are currently working in order to go to the "place to collaborate". I've found this to be true of Lotus Notes document libraries and Team Rooms, Documentum, Quickplace and other web-based repositories and even Sharepoint (depending on the tools you are using). This creates a barrier of entry for a lot of people. They just don't want to have to open yet another window on their already crowded workspace in order to use collaboration tools. In addition, having to leave the context we are currently working in in order to share with our colleagues interrupts our flow state and makes us less productive. Just as effective collaboration has a cultural component that is vitally important, so too must the tools facilitate easily contributing to and consuming from the collective knowledge pool. Thus, one way to shore up that Achilles' Heel is to provide multiple entry points into the collaboration tool of choice. Lotus Quickr has introduced such mechanisms and by doing so really provides a compelling value proposition for team collaboration.

One of the driving goals for Lotus Quickr (and indeed the entire line of Lotus products) is the concept of collaborating in context. Collaboration in context is all about integrating content, tools and people (all the important components of the collaboration equation) within your business process. A great example of this is the Sametime presence awareness capability. If I'm in a TeamRoom and have a question about a document, I can immediately see if the author is online and can initiate a new chat session with them all from the place where my attention is currently focused. Quickr takes this idea to a new level through the Quickr Connectors.

If you've seen Quickr out in the wild, you've probably seen the web-based UI. While certainly shiny and new, this UI only shows one facet of the product. If you choose to, you can access all of the collaborative features of Quickr by opening your browser and navigating to your Team Place, but the beauty of the Quickr Connectors means you don't have to. Instead, you can access Quickr content and add to Team Places from where you already are. This includes:


  • Lotus Notes

  • Microsoft Office

  • Lotus Symphony (coming soon)

  • Windows Explorer

  • Lotus Sametime


Quite an impressive list! IBM rightly realized that when people collaborate, there is usually some artifact that prompted the collaboration process. For most knowledge workers, this means we are authoring documents, usually in one of the tools listed above. Rather than making users take extra steps to get that content to the "place to collaborate", Quickr was designed to meet people where they are actually doing their work. This is a huge leap forward in my mind, as it removes that big stumbling block that plagues many collaboration initiatives.

Let's look at a couple of simple scenarios so that you see the power of Quickr. I think these will help in articulating the value proposition.

Scenario 1: Jim is an HR employee responsible for updating the company policy manual. This process involves making the changes in MS Word and then getting feedback from his colleagues before the changes are published.

Old Way: Jim has to locate the current, official policy document, copy it to his hard drive and open it in Word. He then makes the necessary modifications and makes sure he saves a new version on his computer. In order to collaborate with his colleagues and get their feedback, Jim then opens the Lotus Notes HR TeamRoom and creates a new document, attaching the Word file to it. This process, while not difficult, is inefficient and requires that Jim do a lot of task switching.

New Way: With Quickr, Jim's life will be a lot easier. If the HR policy exists in a Quickr site, he can open it directly from Word, make his changes, and save a new copy back to Quickr...collaboration in context.


Click to enlarge


Scenario 2: So much collaboration takes place today by people sending attachments back and forth in e-mail. This is extremely inefficient for many reasons. For users, attachments are the single biggest cause of being thrown into "mail jail" (i.e. exceeding quotas). In addition to the requirements from a storage perspective, there can be version angst...you find yourself wondering if the version you have is the most current one. With the integrated Quickr shelf in Notes 8, you can solve these problems. The Quickr shelf allows you to see all of your Team Places and access data from them directly from Notes. You can drag and drop attachments from an e-mail message into a Place. You can also drag an attachment out of a Place and into an e-mail message. Quickr is smart enough to add this attachment as a link rather than an actual attachment.


Click to enlarge


To help you remember to use your collaboration tools when you are sending e-mails, Quickr will detect if you have any attachments in your message and will prompt you to save them into Quickr. You can select the Place to move the attachments into and then the attachments will be replaced with links to the newly added Quickr content.



Many of the other integration points work in the same way, utilizing common actions that meld very nicely with the system we are interacting with (drag and drop into Quickr from Windows Explorer, for example).

In my experience as a collaborative technologies consultant, once you get people on board with the idea that collaboration is important and valuable for them, the next hurdle is getting them to actually use the tools. Lotus Quickr with the Quickr Connectors makes a very compelling case for simplifying adoption and helping your users get over that hurdle. I think we'll see this idea of collaboration in context start to embed itself in more and more collaborative tools and I am really looking forward to that experience. I know for me that working with Quickr has been a pretty enjoyable ride so far.

New Blogger @ Dominoblog.com

Yo, yo...welcome to my peeps...Andrea Waugh-Metzger is now blogging at Dominoblog.com. She is one of my colleagues, but way, way smarter than me, so you should definitely get over there and visit. Tell her I sent you and maybe I'll get some brownie points. :-D Peace out...

Thursday, May 01, 2008

Say It With Me Now...User Focused Design Is KEY

If there's a particular drum I bang over and over again, it's the "keep it simple, stupid" drum. This term has almost become a cliché , but hey, "if the shoe fits, wear it". (Oh sorry, that was bad...just couldn't help myself ;-)

Anyway, when I was doing project work, I was always the guy advocating for people to "take it slow", "do things in stages", "no big bangs", "Amazon wasn't built in a day", etc., etc. I believe that quick, iterative steps yield better results, less bugs and get you to the end goal faster than big, monumental projects. The problem, it seems, is that companies like to have big, monumental projects. The bigger the company, the more monumental the projects seem to be. I think this is dead wrong. It's not the way our brains work, it's not the way people are most efficient and looking at the abysmal failure of so many IT projects, it sure doesn't seem to be the way to run a business. So why do we keep doing it? I guess if I knew the answer, I'd be running a shop somewhere instead of pushing software. :-)

In my "To Read" stack of magazines, I recently came across a jewel of an article in the April 2008 issue of Baseline. The cover story in this issue was a piece outlining the failure and eventual redemption of Symantec's new ERP implementation. A classic "big, monumental project", it was undertaken without really understanding the needs of the very people that would be using it. As they found out, such an oversight almost completely crippled their business. In the end, what saved them was a new project that put the focus on the user experience.

I don't want to rehash the article here...I highly recommend you go and read it...but I do want to point it out as a prime example of a project gone wrong because the final end goal wasn't made clear. That final end goal always has to answer the question "Who is going to be using this and how will this project help them do their job". If you're not asking this question and getting the answer in your project, then you are doing your users a disservice. Keep their goals in the forefront...that's why you're there.