Wednesday, March 26, 2014

Interest of navigation maps for web development

A navigation map is a planning tool in interaction design to visualize the structure of an application. This technique can be applied for any kind of applications but navigation maps are most widely used in web development and are called site maps.

Site map of Google

Apart from being a great way to visualize the content and interactions between different screens, the reason site maps are popular in web development is that it's an easy way for webmasters to inform search engines about pages on their sites that are available for crawling.

What's crawling?

Web crawling is a method for collecting data on the current state of the web. A vast number of web pages are continually being added every day and information is constantly changing. A web crawler is a way for the search engines like Google or Yahoo to regularly ensure that their databases are up-to-date for the purpose of web indexing.

To ease the process of web indexing for developers, Google introduced the Sitemaps protocol in 2005.
"Web crawlers usually discover pages from links within the site and from other sites. Sitemaps supplement this data to allow crawlers that support Sitemaps to pick up all URLs in the Sitemap and learn about those URLs using the associated metadata. Using the Sitemap protocol does not guarantee that web pages are included in search engines, but provides hints for web crawlers to do a better job of crawling your site." - sitemaps.org

Why is it essential?

One important goal of most companies is to promote and bring more visitors to their website. And to do so, they need to increase their visibility in search results. This process is called Search Engine Optimization and is a primary concern for Internet marketing.

To conclude, from a tool to detail interaction design, navigation map became a way of increasing websites visibility. Thus, the practice of this technique is more than welcome in web development for its wide range of interesting properties.

Sunday, March 2, 2014

Design: a focus on mental models

According to Don Norman in The Design of Everyday Things (1988), design is a "combination of aesthetics, economics, usability and manufacturability". Therefore, a good design must have a good level of usability, namely effectiveness, efficiency and user satisfaction. To achieve these characteristics, a product needs to be easy to use and easy to learn. That's why it is interesting to focus on mental models when designing a product.

A mental model is an explanation of someone's thought process about how something works in the real world. Don Norman describes mental models in the book Mental Models (1983) as follows:
"In interacting with the environment, with others, and with the artifacts of technology, people form internal, mental models of themselves and of the things with which they are interacting. These models provide predictive and explanatory power for understanding the interaction."
Mental models help a person interact with the world. For example, my mental model of how a bicycle works tells me that this product below won't work.

Bad design of a tandem bicycle

In Mental Models, Don Norman defined the properties of mental models.
"They can be contradictory, incomplete, superstitious, erroneous, and unstable, varying in time. So the job of system designers is to help users form an accurate and useful mental model of a system."
Even if mental models are usually not accurate representations of a phenomenon and they typically contain errors and contradictions, the good thing is that they are constantly evolving as people experience this phenomenon.

Designers "talk" to users through the User Interface of the software, materializing his own mental model. Users compare the UI with their own mental model and adjust it while using the system.

Nevertheless, it is important to design a product which will match quickly users' mental model. In software design, an user interface should be consistent with what people expect from the software. If not, users will have an inaccurate mental model that will leads to errors and misunderstanding of the system. In a perfect world, users are able to use softwares without having to modify the way they usually work. Besides, with an increased and worldwide usage of softwares nowadays, users are more and more heterogeneous and not necessarily used to technology.

By designing a system that fits people's natural mental model, software designers decrease the time needed for a user to learn how to use it leading to a better user satisfaction and - even better - less pages of documentation required.

To conclude, we can notice that creating a good design requires much more than only technical expertise. A good designer is someone aware of the impact of cognitive science on his field because a product - whatever it is - is meant to be used by humans.