i18n and l10n

Probably you hear talk about i18n and l10n, but not know the meaning or importance in the current technology ecosystem. Let’s start with the basics. With the boom of the internet, territorial boundaries were broken allowing people to get their ideas and products to where ever they thought. This is how a photo of your kitty in your living room can be seen by the entire world thanks to applications like Instagram.

But not exclusively the fact uploading on the internet is enough. Behind everything  coming a huge effort to take these applications, products, web sites to the context of each individual or culture, and it can be used. I still remember when I opened my first comic of Dragon Ball and was surprised that the book was read from right to left, although was fully translated the original format had kept, It take me a couple of minutes to get used.

In digital products or services, if we want to skip the linguistic and cultural boundaries is necessary to include an effort that allows this to be completely customizable to the user’s need, and that these changes are made ​​in an intelligent and least expensive way, every change should not involve reopen code.

The word “localization”, can be written in a short way as “l10n” (10 the number of letters between the lyn) Localization is the adaptation of a product, application or document content in order to adapt to the needs (Linguistic, cultural, etc.) of the target market.

Although it is thought than just corresponds to the field of user interface and documentation, localization is a deeper concept to apply, we must also consider:

  • Numeric formats, date and time;
  • Use of currency symbols;
  • Using the keyboard;
  • Comparison and sorting algorithms;
  • Symbols, icons and colors;
  • Text and graphics containing references to objects, actions or ideas which, within a given culture, may be subject misinterpretation or viewed as insensitive
  • Different legal requirements;

In extreme cases, the location can tell us the need to rework the logical and design, for instance changes in accounting standards or learning paradigms.

The word internationalization can be written in a short way as “i18n” (18 is the number of letters between the i and n) The concept of internationalization is often taken as “globalization” depends on the context it is applied, but for the W3C, corresponds to design and development of a product, application or document content in a way that allows for easy Localization (l10n) with target audiences of different cultures, regions or languages. In other words i18n tells us how to apply the Smart Way l10n

 Will depend about the kind of technology to which we want to apply i18n, web there are several guidelines to help us with the programming language (PHP, Asp), or CMS Framework you are using. so too will help decide what encoding or handle style sheets for compatibility in vertical text. Each technology has its guidelines but all find a common point : “Separate code and localizable elements “

For web, found

The W3C Internationalization (I18n) Activity http://www.w3.org/International/

For development of mobile applications, have official guidelines:

IOS: How to prepare your app for a global audience.

Android: Localizing with Resources

6 Rules of Mobile Design

Hampton Catlin, inventor of Sass, and the original creator mobile version of Wikipedia, presented at a conference in Webinar the “6 Rules of Mobile Design” in which shared the experience he had when he began the hard task of creating the mobile site for Wikipedia , that is not only a version for small screens of the site, the most important thing was to pass usability testing.


He started for recognizing the types of designers involved in the production of software, which have completely different roles :

  • Graphic Designer:  responsible for the graphics and image
  • Designer Software:  responsible for making a scalable software
  • User interface design:  responsible for the user experience


In the first graph see as in a normal and equal environment, each area can contribute and generate a product containing the best of the three areas of design.

But really the UI department is very small or poorly understood, so many companies, even large ones, are forgotten improvements on the user experience.

Depending on the type of development, each of the three areas can contribute more than the others, so in large software projects that run on command line, the GUI and the user experience is not a strong point.


For developments on phones, especially the Wikipedia project, definitely the best in each area is needed, Hampton defined and applied his three laws to enhance the user experience until then was reduced almost to a minimum.

I. Simplicity is a requirement

Understanding the constraints a mobile device has by its nature (screen size, bandwidth, processor, memory), site development should be a lot simpler compared to its desktop version. We should think that we will place each item on the mobile site as a resource hog, whether in bandwidth or space, so we will be very selective when defining what item goes to the main page. Under this principle to Hampton Wikipedia logo should disappear or be reduced to a minimum without losing context.

II. Balance brevity and comprehension

The fine art of balance between brevity and comprehension, is something that Google realized a long time ago. To do this Hampton spread the minimum required to place on the screen without removing the factor of comprehension by user. If you placed a empty text box, it does not say anything, if you put a search icon and we will know that it is a tool to search, using the simplified icon wikipedia we send a complete message to the user. Search Wikipedia.


III. Understand, then optimize, your core value proposition

First you need to find the core value of your site, which is the main thing it offers and what users do with it. In the case of Wikipedia is “Read” Hampton therefore optimized data collection leaving aside the other options, including editing, because I knew that when mobile users used Wikipedia its main objective was to read the articles.

IV. “Where” is more important than “who”

This rule tells us to look the environment in which the user interacts with our application oddly enough for Wikipedia mobile use most traffic coming in night places or bars.

 Instead of adapting the things to users it is better focus on its context – who are trying to do right now and what we can do to facilitate this. Think about the environment your users, outdoor, dark with poor visibility to provide a good experience with your product.

V. Assume terrible dexterity

Hampton summarizes this rule as “should perform use test of your product, with a child, an older person and a drunk, if can use it, you got it.” But beyond this, remember that an application one of the main elements of the user’s interaction with his hands, so we must avoid errors when interacting for leaving very small elements that interact with very big fingers. Apple’s Human-computer Interaction Guidelines suggest that touch targets, at a minimum, be 44px by 44px.

VI. The footer is a dead zone

This rule is an adaptation of the web world, everything goes in the footer is virtually imperceptible to the user, so that all the most important product should be on the top of the site.


The 6 rules are not an established policy because in the mobile development world everything changes daily but worthwhile check them and include in our next Heuristic Evaluation. If you want to see the entire conference with slides of the talk I leave the link:


Heuristics, usability guidelines and fun!

I would like to share some clear concepts and review the famous “golden rules” prior to entering the fun. Let’s get the basics quickly. ISO 9241-11:1998 “Guidance on usability defines usability as: “The measure to which a product can be used by specific users to achieve specified goals with effectiveness, efficiency and satisfaction in a specific context of use ” Also includes three metrics:

  • Effectiveness: Accuracy and completeness of users achieving set goals
  • Efficiency:  the resources expended to complete goals
  • Satisfaction: the users’ attitude

Heuristic evaluation is very similar to the inspections of software in which software quality through reviews is analyzed, in this case the method is based on guidelines developed by usability guru Jakob Nielsen together with Rolf Molich. Basically the evaluator determines if the interface of a product meets with the principles and guidelines of the “golden rules”.

Let’s review the 10 rules proposed Nielsen in 1994 and named them “10 Usability Heuristic “

Nielsen’s Heuristic 1: Visibility of System Status

The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. Let’s take the first rule to an example of the physical world, consider a lamp, always know their status by the light emits to us ( on or off). Likewise systems should indicate what is happening.

entrada 139d

Nielsen’s Heuristic 2: Match between the system and the real world

The system should speak the users language using words, phrases and concepts that are familiar to the user, rather than with system-related terms. Follow real-world conventions, making information appear in a natural and logical order.

Nielsen’s Heuristic 3: User Control and Freedom

There are times when users choose system functions by mistake and will need an “emergency exit”. clearly marked, to quit undesired state to which they agreed, without having to go through a series of steps. It should support undo and redo.

Basically in systems as we know it Ctrl + Z

Nielsen’s Heuristic 4: Consistency and Standards

Users should not wonder if actions, situations or different words actually mean the same thing; follow the conventions established especially right through the entire system. This helps the user to quickly identify something in the system, also avoid errors. Consider how many involuntary mistakes would occur daily if there is no standard for the following logo:


Nielsen’s Heuristic 5: Error Prevention

Better than a good design of error messages is a careful design which prevents the occurrence of problems. In other words, much better than validate that the date entered in the field on a form, is to give the user a calendar.

Nielsen’s Heuristic 6: Recognition rather than recall

Should be made visible objects, actions and options, the user would not have to remember information that is given on a part of the process to move forward. Instructions for use of the system should be visible or easily retrievable when needed.

A good example Google gives when offers predictive text search


Nielsen’s Heuristic 7: Flexibility and efficiency of use

The presence of accelerators, which are not seen by novice users, can provide faster interaction at experienced users that the system can provide users of all kinds. It should allow users to adapt the system for frequent use.
Can we talk about shortcuts in programs for daily use, such as Ctrl-V Ctrl-A word processors but as we are getting closer to the fun we will use an example to Conter Strike, the game allows access to all its functionality using mouse and menus screen, but experienced players will provides a variety of shortcuts to help you save time when you are in battle.

Nielsen’s Heuristic 8: Aesthetic and minimalist design

Dialogues should not contain information which is irrelevant or rarely used. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility.

Nielsen’s Heuristic 9: Help users recognize, diagnose, and recover from errors

Diagnose and recover from errors: Error messages should be delivered in clear and simple language, precisely indicate the problem and constructively suggest a solution to the problem. Our friends at Microsoft are trying it but still fail to improve the fearsome BSOD:

BSOD Windows XP
BSOD Windows 8

Nielsen’s Heuristic 10: Help and documentation

Even in the cases where the system can be used without documentationcould be necessary to provide help and documentation. Such information should be easy to find, be focused on user tasks, with a list of steps to develop and not be too extensive, but most important is that this online.

”Let The Fun Begin’ 

As we saw the standard offers three metrics: effectiveness, efficiency, satisfaction but the authors as Frokjaer, Hertzum, and Horbaek (2000) cast doubt about the relationship of these metrics on usability, in their argument tell us that will depend on a complex way on the application domain, user experience, and the context of use.

Other kind of software that fit between which mention Frokjaer, Hertzum, and Horbaek enter the games.

Games are basically a computer program that has an interface through which the user interacts and it could be inspected like any other, and looking EFFICIENCY effectividad, but when we entered the details would have to measure Playability. We realize that certain concepts would have to be adapted slightly when we enter the world of games, such as efficiency, achieve a goal, using few resources, would result in a boring game, the player needs challenges, adventure, fun. You can read more about the fun in the work of David Myers “A Q-Study of Game Player Aesthetics

What We evaluate in games?

Chuck Clanton (1998) tells us that we can encapsulate in three areas: game interface, game mechanics, and game play, the controls, the game engine and physics of the game and the gameplay respectively. The work of Melissa A. Federoff “Heuristics USABILITY AND GUIDELINES FOR THE CREATION AND EVALUATION OF FUN IN VIDEO GAMES”, provides a table to heuristic evaluations for games based on the literature by various authors.
And to finish the blog post I will share a real evaluation of a game that everyone knows “Farmville”



  • Melissa A. Federoff, HEURISTICS AND USABILITY GUIDELINES FOR THE CREATION AND EVALUATION OF FUN IN VIDEO GAMES http://citeseerx.ist.psu.edu/viewdoc/download?rep=rep1&type=pdf&doi=
  • Using Heuristics to Evaluate the Playability of Games  http://userbehavioristics.com/downloads/usingheuristics.pdf
  • Samuel Almeida | Óscar Mealha | Ana Veloso, Heuristic Evaluation of “FarmVille”  http://gaips.inesc-id.pt/videojogos2010/actas/Actas_Videojogos2010_files/VJ2010-FP_P_21-30.pdf
  • David Myers “A Q-Study of Game Player Aesthetics “
  • Frokjaer, Hertzum, and Horbaek (2000), Measuring Usability: Are Effectiveness, Efficiency, and
  • Satisfaction Really Correlated?  http://www.akira.ruc.dk/~mhz/Research/Publ/CHI2000_preprint.pdf

Measuring Usability

Usability is the ability of people to learn to use a tool with a purpose in HCI is known as the clarity and elegance with which the interaction with a computer program or a website is designed. But when we are going to build a software product to fit the client, is very common and a very big mistake to find that in the “requirements” particularities that its competence directly to the HCI and defined in vague language of the user and are included the following example:

“The module must be easy to use”

The ambiguity of the phrase “easy to use” makes us ask, What is user friendly?

This clearly is in the field of non-functional requirements of the software and that somehow we need to include in the process, but we will need to determine a more accurate way, what is easy to use¨ for the user.

Do you need to write specifications Usability?

In order to identify when an interface or task is good enough and acceptable and to set a limit and stop the interaction.

Exist within the field of usability some common factors that can determine the easy way to achieve target with system. Some like:

  • Operation Speed
  • Completion Rate
  • Rate No Errors
  • Satisfaction Rating
  • Ease of Learning
  • Retention Facility
  • Using Advanced Features

Usability is an abstract concept it needs to be decomposed into several measurable components, these components are referred to as attributes of usability,

  • Performance: Speed execution
  • Ease of Learning: Time and effort required to achieve a level of use
  • Flexibility: Accommodate to changes
  • Attitude: positive attitude on users

Lately talks about the evolution of these factors over time. For example, how an interface can be adapted to growth in efficiency and user knowledge, initial performance, long-term, first impression, user satisfaction in the long term.

Measuring Instruments

An instrument to measure usability is a method to help us to set values ​​to a factor of usability in particular
The measuring instrument should always be quantitative, in other words we should always get a numeric value with which to work but it can be objective or subjective.

Objective: To the performance of observable and measurable from the user like  the registered as evidence.
Subjective: Based on the opinion of users, usually using surveys.

Usability  Specification Process

The following steps will help to define specifications for usability

  1. Define usability  through  metrics
  2.  Establish and agree the levels planned for metrics
  3.  Analyze the impact of design decisions
  4.  Incorporate feedback from users
  5.  Iterate until reach the desired levels.

Usability Specification Table

The table is a method for indicate measuring parameters

  • Usability Attribute
  • Measuring Instrument
  • Value to be Measured
  • Current Level
  • Worst Acceptable Level
  • Planned Target Level
  • Best Possible Level
  • Observed ResultstableShould be determined the user classes and for each class a set of tasks to be performed is determined. The goal is to determine how acceptable is the execution of the user. Contains attributes such as:
  • Initial Performance
  • Long-term Performance
  • Learnability
  • Retainability
  • Advanced Feature Usage
  • First Impression
  • Long-term User Satisfaction

Typical values ​​to be measured (metric)

  • Time for task completion
  • Number of errors
  • Average scores/ratings on questionnaire
  • Percentage of task completed in a given time
  • Ratio of successes to failures
  • Time spent in errors and recovery
  • Number of commands/actions used to perform task
  • Frequency of help/documentation use
  • Number of repetitions of failed commands
  • Number of available commands not invoked
  • Number of times user expresses frustration or satisfaction

Setting levels in the table


Setting levels helps us determine what and how to measure, such levels will help us determine which interfaces reached an appropriate level of use.

Current Level It is the current level to be measured, the values ​​can be determined by manual or prototypes. Is the baseline against which the new system will be measured.

Worst Acceptable Level The lowest acceptable level

Planned Target Level The ideal level plan could be based on a competitor product.

Best Possible Level The highest level, can provide targets for the next versions.

Observed Results This field is filled with the result of the values ​​obtained from the user, from this value will be compared to previously established levels.


 Common Industry Specification for Usability Requirements (CISUR)

It is a standard CISUR was developed by  National Institute of Standards and Technology (NIST) for usability requirements that provides tools to developers, usability professionals and IT project managers to

  • Define usability requirements for a project
  • Define performance measures for usability.
  • Define test methods to validate the product

CISUR has three key areas and three levels of user requirements, Each level is based on its predecessor, allowing usability requirements that are increasingly developed in greater detail over time

Context of use: Identifies intended user groups and stakeholders; main goals for each user group; intended computing or other technical environment; intended physical and social environments; scenarios of use specifying how users carry out their tasks in a specified context; and any prerequisite documentation or training materials

Usability measures: Identifies performance measures, such as effectiveness and efficiency of achieving user goals; and satisfaction measures using an established questionnaire

Test method: Specifies how the usability requirements will be tested and validated

Let’s talk about good design.

Some people when they hear the phrase “good design” comes to their mind a graphic designer, a tool for editing and visual design, but make a good design extends beyond the boundary of the visual. What do you think if I say “good design” could be used and tested by people with low visual capacity,  even someone whose vision does not know about colors or shapes. Thus the design can be judged by other senses, sight, touch and why not smell and taste.

First we must understand the concept of design, various authors define design as:

“Design is the creative process in which we use our intuition and analytical ability to understand the opportunities and constraints business goals, competitive markets, customer needs, and technologies present, then envision, comunicate, and realize that practical solutions meet customer needs and create business value. ” Pabini Gabriel-Petit.

“Design That Involves finding solutions fit the user, task, and context of use Properly designed objects -. Including software, tools, and web sites -. Their context fit so well That They are easy to use and beneficial to the user” – Usability Book
And the dictionary defines it as: “A plan or drawing produced to show the look and function or workings of a building, garment, or other object before it is made”.

Therefore some known as “design” it is actually a sub-area of ​​Design and is called “Graphic Design” in this post will talk about the design of things and looking for a practical solution that meets user needs and create business value.

The design can be seen as:

  • A discipline: explores the dialogue between products, people and contexts.
  • A process: a solution to help people achieve their defined goals.
  • An artifact: produced as a result of the definition of solution.

Design of Everyday Things

The result of a good or bad design is seen in everyday life, in every utensil that humans create and refined over time. Now there are methods in order to achieve not just the best design that meets the specific need also complying with essential requirements such as security, if we are talking about vital devices.

Just imagine what would happen with the design of this gun?


This really is a joke, but for centuries the loading system of the guns was changing, the models that need to be loaded through the canon with black powderapart from being a waste of time if the charger did in the wrong way could lose their hands.
Not all bad design is a mistake some have a bad design because their purpose is hinder the use, let us remember the saying “it fails more than fair shotgun” shotguns fairs have the canon deflected to fail, another example, a little more practical: the locked the car doors for children, are intentionally locked, caps medicine bottles rigged to avoid being opened by children.

tapa medicamento

So we could say that the design of things defines the ways in which we do our daily activities, remember when the first phones only had numeric keypad and letters were distributed in the few keys on the device, to save time we used the T9, we learned order, until the design of mobile changed again, bringing the usual QWERTY in my case.

We can also be victims of poor design, pictured below is a Kitchen Cabinet in my apartment. As you can see has two glass doors (they open normally) and a third white wooden door, but ups it is no door, the real door is in the back of the Kitchen Cabinets, this corresponds to the back of the rack, but for whatever reason looks like a door handle even has, during the first week always unconsciously pulled the handle, despite internally I knew that it would not open. I think the builder put the handle to look and feel “pretty”, but did not see it that ruined the overall design.


Achieving usability through Interaction Design

Good products are achieved through design based on an understanding of physical features, psychological and  natural emotions of human beings, their tasks and work environment; limitations of technology and the creation of interactive experience that “fits” better context and allows users to succeed. (Usability Book).

Well-designed products:

  • Easy to use.
  • Increases productivity, satisfaction and acceptance.
  • Impact the commercial success.

Development of the product concept

Is a process to create and release a new product in the market, either for sale or free distribution. In this process there are two aspects:

Product engineering: everything related to your interaction and physical functioning of the product.
Market analysis helps to collect the user’s need and expectation about the product.

Mental model and design

Book vs Digital Book (Tablet)
Book vs Digital Book (Tablet)

Imagine that a person in his life has never seen or interacted with a tablet, the first thing that we can say to him is that with a tablet can read books, this person has his own mental model of books because in the past he has interacted with books, so  quickly relate the actions that he can do with the tablet. Still without turning on the device,  model mental take him to think that letters appear  and will create a mental model of what  a tablet is.

Once the person interacts with the device and compare the reality with its preloaded mental model, start to adjust the mental model of the tablet to reality. For example  can not wet fingers for changing  pages.

Those are studying mental models to construct good designs they know that a mental model changes from person to person and is related to the previous interaction over the object to which analogy is done, thus a person who ever saw an e-book (prior to the tablet) device will have a different mental model that never saw it. For the creators of products is important to know if the conceptual model of a product does not match with the mental model of the user, the users will find the product difficult to learn and use.

Generating Ideas

There are several mechanisms that help to generate ideas:

  • Brainstorming
  • Future workshops
  • Parallel design
  • Scenarios
  • Storyboards
  • Physical ergonomics


A method for generating ideas, Intended to inspire the free-flowing sharing of thoughts of an Individual or a group of people. There are several tools that help manage or guide the development of this practice, some can find them in http://www.7ideas.net/solo-brainstorming/

Future workshop

Specially designed for groups who have little experience in generating ideas, such as young people or children, the process is in stages and guided.

Parallel design
A design method where several groups produce alternative designs in parallel, With the objective of Incorporating the best aspects of each design in the final solution. Obviously it requires a greater amount of time and staff to perform parallel processing

A scenario is a description of a person’s interaction with a system or products. Scenarios are appropriate whenever you need to describe a system interaction from the user’s perspective.

A storyboard is a technique for illustrating an interaction between a person and a product (or multiple people and multiple products) in narrative format, which includes a series of drawings, sketches, or pictures and sometimes words that tell a story.

Physical ergonomics
Physical ergonomics is about the human body’s responses to physical and physiological work demands. Repetitive strain injuries from repetition, vibration, force, and posture are the most common types of issues, and thus have design implications.

Recently we found improved devices are labeled ergonomic, promise to be comfortable in use. also another approach is being born: New Wearable Technology, such as watches, sunglasses, shirts that have embedded smart systems must be careful ergonomics also because its use will be physically linked to their owners.

Wearable Technology

Review “Metaphor, myth and mimicry: The bases of software engineering”

This post corresponds to the analysis of the paper “Metaphor, myth and mimicry: The bases of software engineering ” – Antony Bryant

Bryant in his work invites the reader to a brief tour of the history of software engineering, but seen from a point on which the reader gets to know the reasons why terms like “software engineering”, “software developer “” IT “” information Technology “are related to a concise concept in our mind which we can differentiate today.

Bryant relates how the term engineering was so severely questioned regarding the construction of pieces of software, begin quoting the paper of Brooks ‘silver bullet’ and Sommerville that defines software engineering as being “concerned with theories, methods and tools Which are needed Develop software for … to computers. “

At this time mention the role of metaphors in software development also the reason for which could be stagnant the concept and scope of software engineering itself.

Bryant reminds us of those studying and working in software engineering, in contrast to other engineering, which for centuries have manufactured tangible products, software development does not have the physical facility to be touched, the need and practice achieved today can be conceived as “Engineering”

Finally the author reveals the purpose of his work, the current demand in software engineering goes beyond regarding what metaphor introduced in engineering, breaking the profile of pure engineer. invites the reader to think about what will be the next step in the release cycle of “Software Engineering”

But what’s the next step for Software engineering? To answer this we must first review which is the role that is currently developing software in society?

Today we can be enjoying a game in your living room, a nice conversation between two distant points in the world, an effect of lights in a nightclub,  army system control,  operation in computer-guided medicine. But to achieve these synapses, communication role plays an important role between a area and the other.

Take the example of a traditional systems engineer with the challenge of building a system to digitally analyze the radiographs and tomograms in one of the areas of image of a Hospital. The response of the system depends on treatment to be applied to hundreds of patients, a major challenge for the hospital and to the engineers in charge. Although it is true we can not put 10 years of medical study to the engineers, neither the years of engineering to the doctors  in order to finally  they can talk between both groups using a common language. It is at this point that currently the Software Engineering it is evolving

The software is becoming more important in the creation of devices or services that the market requires for basic needs or for  entertainment, the problems of software engineering are no longer only focused on traditional or core part of the system (code issues) . The evolution of software engineering, which mentions the author is chiefly understand the problems since a macro viewpoint (viewpoint of the product, service, stakeholder),  the product issues  are not directly related to the problems of code, and believe otherwise is is turn your back to reality. It is the time when the Engineering Requirements, comes to find the solution to the problem or user need, sharing a common communications protocol, in order to reduce lack information  by the contexts change. This link must not only be present in the first stage of creating the product or service must be present throughout the entire life cycle. The evolution of software engineering is not a subtlety it is imperativeit becomes an essential part for the future of the practice of software engineering