Subscribe by Email


Showing posts with label User Interface. Show all posts
Showing posts with label User Interface. Show all posts

Tuesday, July 2, 2019

The Unseen Barrier: Why Usability and Readability Are Crucial for Effective Design

The Unseen Barrier: Why Usability and Readability Are Crucial for Effective Design (And What a Gas Station Sign Taught Me)

Recently, I had a simple yet profoundly illustrative experience while driving. I was passing a familiar gas station next to the highway, one I’d driven by countless times. This time, however, a brand-new, brightly lit board caught my eye, announcing some new eating options available there. Normally, even at highway speeds, I can quickly scan and comprehend such signs. But this particular board was different. The names of the food outlets were rendered in an elaborate, fancy script. In the fleeting moments I had while driving past, my brain struggled to decipher the ornate lettering. It wasn't that the words were complex, but the style of the text made them incredibly difficult to process rapidly. I asked the other people in the car if they’d managed to read the names – a unanimous "no" was the answer. We simply didn't have enough time to decode the visual puzzle before we'd sped past. Interestingly, this wasn't an issue with other signboards along the same stretch of road that used plain, simple, and instantly legible scripts.

This seemingly minor incident immediately brought my years of experience in the IT industry flooding back, specifically the countless discussions, debates, and sometimes hard-won battles surrounding usability and user experience (UX). If that gas station signboard had been designed after consulting with a usability expert, the outcome would likely have been very different. The expert would have immediately recognized the primary use case: drivers needing to make a quick decision, often at speed, about whether to stop. They would have championed a design that prioritized instant readability, ensuring potential customers could grasp the information and perhaps be enticed to pull over before they’d missed their chance. Instead, a visually "fancy" choice likely resulted in lost opportunities.

And this, in essence, is what usability is all about. It's about designing with the end-user firmly in mind, ensuring that whatever we create – be it a physical sign, a software interface, a website, or a mobile app – is not just functional, but also intuitive, efficient, and satisfying to use.

The Core of Usability: Designing for the User, Not for Ourselves

When we embark on the design of any new user-facing element, whether it's a completely new software screen, a redesign of an existing interface, or even something as seemingly simple as a public notice, the paramount question should always be: "How will this look and function for the users?" This might sound obvious, but it’s a principle that is surprisingly easy to overlook, especially by those deeply embedded in the creation process.

The team behind a product – the developers, the testers, the product managers – lives and breathes that product day in and day out. They develop an intimate familiarity with its intricacies, its workflows, and its terminology. This deep immersion, while beneficial for development, can inadvertently create blind spots. What seems perfectly logical and intuitive to an internal team member might be confusing or cumbersome to a first-time user or even a regular user approaching a feature from a different context. This is precisely why the role of a usability expert (often a UX Designer, UX Researcher, or Human Factors Specialist) is so incredibly vital.

The Usability Expert: An Indispensable Advocate for the User

A usability expert brings an objective, user-centered perspective to the design process. Their expertise lies in understanding human-computer interaction, cognitive psychology, information architecture, and interaction design principles. They employ various methodologies – user research, persona development, journey mapping, wireframing, prototyping, and, crucially, usability testing – to ensure that the design is:

  1. Effective: Can users successfully achieve their goals? (e.g., Can a driver read the sign and understand the offerings?)

  2. Efficient: How much effort (time, clicks, cognitive load) does it take for users to achieve their goals? (e.g., Can the sign be read in the 2-3 seconds available?)

  3. Engaging: Is the interaction pleasant and appropriate for the user and the context? (While less critical for a highway sign, still relevant for its visual appeal and non-distracting nature).

  4. Error Tolerant: How well does the system prevent errors, and how well does it help users recover from them?

  5. Easy to Learn: How quickly can a new user become proficient?

In the case of my gas station sign, a usability expert would have flagged the fancy script as a major impediment to efficiency and effectiveness given the specific "user" (a driver at speed) and the "task" (quickly identifying food options). They would have advocated for clear, high-contrast, sans-serif fonts known for their legibility at a distance and with brief exposure.

The Challenge of Internal Resistance: "We Know What the Customer Wants"

It's important to emphasize a common hurdle: internal resistance to the recommendations of usability experts. I've witnessed numerous instances where development teams, deeply invested and proud of their work, feel they inherently understand what the customer wants. They might perceive usability-driven changes to workflows or screen designs as unnecessary, an underestimation of the user's intelligence, or even as a criticism of their existing efforts.

There are specific examples I recall where a usability expert, backed by user testing data, recommended significant changes to a complex software screen or a convoluted workflow. The development team, having worked on the product for so long, often struggled to appreciate the user's pain points. Their arguments might include:

  • "Users will get used to it."

  • "It’s powerful; they just need to learn it."

  • "Changing it now will be too much work."

  • "Our current users haven't complained that much."

This resistance isn't usually born out of malice, but rather from a combination of familiarity blindness (the "curse of knowledge"), attachment to one's own creations, and sometimes, a lack of direct, unfiltered exposure to genuine user struggles.

Bridging the Gap: Fostering Empathy Within Development Teams

So, how can organizations ensure that the invaluable insights of usability experts are not just heard but embraced and acted upon? One of the most effective ways is to cultivate empathy for the user directly within the development and product teams. Simply presenting usability reports isn't always enough; teams need to feel the user's experience.

Here are some powerful strategies:

  1. Direct Exposure to User Feedback:

    • User Forums and Community Channels: Encourage team members (not just support staff) to regularly monitor user forums, social media discussions, and online communities related to the product. Reading firsthand accounts of frustrations, confusion, and desired features can be incredibly eye-opening.

    • Customer Support Tickets and Defect Logs: Analyzing patterns in support tickets and customer-logged defects can highlight recurring usability issues that might not be obvious from an internal perspective. This is raw data directly from the trenches.

  2. Active Participation in User Research and Testing:

    • Observing Usability Tests: Having developers, testers, and product managers observe live (or recorded) usability testing sessions is perhaps the most impactful way to build empathy. Watching a real user struggle with an interface they helped build, click in the wrong places, or express confusion can be a humbling and highly motivating experience. It shifts the perspective from "the user should know this" to "how can we make this clearer?"

    • Beta Programs: Encourage active participation in beta programs, not just for bug hunting, but for interacting directly with beta users. Soliciting feedback on new designs and workflows during the beta phase allows for course correction before a wider release.

    • "Dogfooding" (Using Your Own Product): While valuable, dogfooding alone isn't enough, as internal users are still subject to familiarity bias. However, it can help identify glaring issues.

  3. Involving Users Early and Often:

    • Don't wait until the end to test usability. Incorporate user feedback loops throughout the design and development process, from early concepts and wireframes to interactive prototypes. This iterative approach makes changes less daunting and more collaborative.

  4. Creating User Personas and Journey Maps:

    • These tools, often developed by UX professionals, help the entire team visualize and empathize with different types_of users and their experiences interacting with the product to achieve their goals. They make the abstract "user" more concrete and relatable.

When team members witness firsthand the challenges users face, their perspective on what is "important for the product" often undergoes a rapid and significant transformation. The focus shifts from internal logic or technical elegance (though still important) towards genuine user-centricity. The fancy script on the gas station sign, which might have looked aesthetically pleasing to its creators in isolation, would quickly be seen as a functional failure when viewed through the lens of a driver’s fleeting glance.

Readability: A Cornerstone of Usability

The gas station example specifically highlights the critical role of readability within the broader concept of usability. Readability refers to the ease with which a reader can understand a written text. In visual design, this extends to:

  • Typography: Choice of font (serif vs. sans-serif, script vs. block), font size, weight, line spacing (leading), and line length. For quick scanning (like a highway sign or a button label), sans-serif fonts are generally preferred for their clarity.

  • Contrast: The difference in brightness or color between the text and its background. High contrast (e.g., black text on a white background, or vice-versa) is crucial for legibility, especially for users with visual impairments or in varying lighting conditions.

  • Layout and Whitespace: How text is arranged on the page or screen. Adequate whitespace (negative space) around text blocks reduces clutter and improves focus.

  • Language and Wording: Using clear, concise, and simple language, avoiding jargon or overly complex sentence structures.

Poor readability creates a cognitive burden, forcing users to expend more mental effort to simply understand the information presented, let alone act upon it. This can lead to frustration, errors, and abandonment of a task or product.

Conclusion: Prioritizing Clarity for User Success

The simple act of choosing a fancy, hard-to-read script for a highway sign serves as a potent metaphor for a common pitfall in design: prioritizing aesthetics or internal preferences over fundamental usability and the user's actual context. Whether designing a physical object, a software interface, or a piece of written communication, the principles remain the same. If the intended audience cannot easily perceive, understand, and interact with the design to achieve their goals, then the design, no matter how clever or visually appealing to its creators, has ultimately failed.

Investing in usability expertise, fostering a culture of user empathy within development teams, and paying close attention to foundational elements like readability are not just "nice-to-haves"; they are essential ingredients for creating products and experiences that are effective, efficient, and genuinely valued by the people they are meant to serve. After all, the goal isn't just to display information or offer functionality, but to ensure it can be effortlessly accessed and utilized, turning a fleeting glance into a satisfied customer, or a complex task into a smooth interaction.

Further References & Learning:

Books on Usability, UX Design, and Readability:

  1. "Don't Make Me Think, Revisited: A Common Sense Approach to Web Usability" by Steve Krug (Buy book - Affiliate link) A foundational, highly readable classic on web usability principles.

  2. "The Design of Everyday Things" by Don Norman (Buy book - affiliate link) Explores the psychology of how people interact with objects and systems, crucial for understanding usability.

  3. "About Face: The Essentials of Interaction Design" by Alan Cooper, Robert Reimann, David Cronin, Christopher Noessel (Buy book - affiliate link) A comprehensive guide to interaction design principles and practices.

  4. "Measuring the User Experience: Collecting, Analyzing, and Presenting Usability Metrics" by Tom Tullis and Bill Albert (Buy book - Affiliate link) For those interested in quantifying usability.

  5. "Letting Go of the Words: Writing Web Content that Works" by Janice (Ginny) Redish (Buy book - affiliate link) Focuses on writing clear, user-centered content.

  6. "Typography for Lawyers" by Matthew Butterick (Buy book - affiliate link) (surprisingly relevant for anyone wanting to understand document readability and professional typography).











Tuesday, April 16, 2013

What are the basic functions of an operating system?


Operating system is the program that takes care of all the computer operations. It acts like a software link between the computer hardware and you. The link that it provides is nothing but an interface via which several other programs are managed. Computer systems come pre-installed with an OS. The place of storage of the operating system is the hard disk drive of the computer system. As soon as you boot in or turn on the computer system, the operating system is the first thing to be loaded in to the memory. Bootstrap loader is the program responsible for carrying out this task and this whole process is termed as booting. The bootstrap loader resides permanently in the electronic circuitry of the computer i.e., on the ROM chip to be more precise. There are various functions of an operating system about which we will be discussing in this article. 

Every system has an OS and every OS has some basic functions that do not depend up on its size or complexity.

1. Management of the resources: 
- Every OS has some managing resources through which it manages all the resources attached to a computer such as keyboard, mouse and monitor (at which you are looking presently) etc. plus it also manages the memory. 
- A file structure is created on the hard drive of the system which becomes a place for storage and retrieval of data. 
- Whenever a file is created, it is named by the OS and assigned an address in order to remember where it has been stored.
- This makes it easy to be accessed in the future. 
- This system is called the file system and this is usually hierarchical in nature. - Here the files are organized in directories or folders.

2. Provides a user interface: 
- Through user interface, the user is able to interact with the hardware resources and other software applications in a system.
- Almost all the operating systems that we have today come with a GUI or graphical user interface.
- In such as interface icons are the graphical objects that represent most of the features.

3. Execution of the processes: 
- It is the operating system that is responsible for the execution of the applications. 
- Multi – tasking is a major feature of today’s operating systems.
- Multi –tasking is the ability of an OS for running a number of tasks simultaneously. 
- Whenever a program is requested by the user, it located by the OS and loaded in to the system’s main memory i.e., RAM. 
- As more and more programs are requested, OS allocates resources to them.

4. Provides support for the utility programs: 
- Utilities are the programs that perform the repair and maintenance tasks on a computer system. 
- With these programs, back up of data can be taken, damaged files can be repaired, lost files can be located, other problems can be identified. 
- One example of such utility is the disk de-fragmenter.

5. Controls the hardware: 
- Operating system lies between the application software and the basic input and output system or BIOS. 
- This is the system that maintains a control over the hardware resources and their functioning. 
- All the hardware processes need to undergo processing via the OS. 
- Device driver help OS access the hardware via BIOS.

The nature of the OS required depends up on the application for which it is required. For example, OS required for running an airline seat reservation system differs from that required by the scientific experiments. And so its design is also defined by the application. 


Tuesday, February 26, 2013

Explain Tellurium - Web Functional/Regression Test Tool


- Tellurium is an automated testing framework developed exclusively for the web–based applications.
- It is an open source tool and based up on user interface module.
- All UI elements grouped together are called as the UI module. 
- Usually, a composite UI object is what that a UI module represents in a format similar to that of the basic nested UI elements. 
- Building of UI locators is actually possible because of the UI module. 
- This tool comes with a Firefox plug – in called the TrUMP (tellurium UI model plugin) using which one can create UI modules automatically.
The duty of the framework is to perform object to locator mapping or OLM. 
- It does this at the execution time automatically so that the user finds it easy to define the UI objects just by their respective attributes. 
- Another technique used by tellurium is the GLC or the group locating concept for the exploitation of the information contained in the UI components. 
- This information is used for locating the locators.
- It defines a complete new language for web testing known as the domain specific language or DSL. 
- UI templates are one of the powerful features of tellurium. 
- These templates can be used for representing many identical UI elements with their dynamic size at the run time. 
- These elements are quite useful for testing dynamic web elements like for example a data grid.
- Another characteristic feature of tellurium is that it can composite the UI objects very nicely in to tellurium widget objects. 
- The tellurium widgets thus obtained can be packed as a jar file. 
- Each of these widgets can be used as a single tellurium UI object once included with the jar file. Java and groovy wrote the code for the tellurium core. 
- However, tellurium trump and engine can be implemented with jQuery and JavaScript. 
- Users are free to test cases in any of these languages: groovy, pure DSL, or java. 
- Tellurium is kind of a portable framework and runs up on selenium. 
JUnit and TestNG testing frameworks are both supported by tellurium. 
- Tellurium is hosted on Google code as an open source project.
- It comes with Apache license 2. 
- The credit for the creation of this tool goes to Jian Fang of the Georgia institute of technology.
- The major flagship project of the tellurium team is the tellurium core. 
- The UI modules act as a backbone to the tellurium tests since they define the html content of the page that is being tested. 
- But it does not make use of CSS and xpaths for defining the UI elements as selenium do. 
- It uses a much better thing i.e., DSL that also defines the relationships among those modules. 
- JUnit or TestNG can be used as testing container as preferred by you. 
- It is required to write the UI module DSL for writing a selenium test case. 
This can be either be done using TrUMP or manually. 
- The robustness of the tests are further improved by the tellurium’s santa algorithm. 
- This algorithm locates the UI module at the execution time DOM. 
- But this feature is only available in 0.7.0 and higher versions.
- The lower versions require that the run – time locators are generated by the tellurium core based up on the definition of the UI module. 
- The selenium commands are then passed by to the tellurium for locating individual UI elements. 
- Using trump UI module DSL can be generated just by clicking on the page elements. 
- The DSL then can be saved to a groovy class and can be used by the tests any time. 
It is the use of UI modules that have made the tellurium so expressive.



Wednesday, October 24, 2012

Explain advantages of DOM extension over VO extension?


In this article we shall discuss the advantages DOM has over VO. First, we shall discuss about these two silk test browser extensions individually. 

About VO Extension

- VO browser extension is related to the concept of virtual object. 
- An extension is a supplementary add–on component required for carrying out certain tests for web sites and web applications using silk test. 
- This virtual browser extension operates using a technique called the “sophisticated pattern recognition technique”.
- This technique helps in facilitating the object identification process and provides an actual view of the web sites and web applications.
- However, the HTML tags cannot be recognized with the help of this extension. - One thing to be noted is that only the objects present in the web pages can be recognized by the virtual object browser extension. 
- This extension however does not care about the implementation of these objects. 
- Identification of the object is done based up on the following:
  1. Control type
  2. Caption
  3. Associated text
  4. Control index
  5. Location and
  6. Window ID
- This browser extension is one of the methods used by the silk test for object recognition. 

About DOM Extension

- The second method is the Document Object Model and makes use of the DOM browser extension. 
- DOM browser extension is basically used for establishing a direct communication between the web application and web browser.
- The following tasks can be carried out:
  1. Recognition of the objects
  2. Categorization of the objects and
  3. Manipulation of the objects
- The DOM browser extensions works with the HTML code rather than working up on the visual patterns like the virtual browser extension does.
- Firstly, it identifies the browser window of the application which consists of the application that is currently being executed. 
- The object among the other web UI objects is identified based unique HTML elements that represent that particular UI object. 
- This is done by concatenating the following two things:
  1. HTML element identification and
  2. Browser window identification
- This DOM browser extension is known to operate on the standards laid down by the W3C or world wide web consortium.
- However, till date there are only two browsers which support this extension namely internet explorer 5+ versions and netscape 6. 
- These two web browsers provide the provision to silk test for making direct queries to them.

Advantages of DOM over VO

Now let us see what all advantages DOM has got over the VO browser extension:
  1. A rectangle is displayed over the VO or virtual object by the recorder as the recording is carried out by the quality assurance engineer.
  2. The text size as well as the actual name of the objects is easily recognized by the DOM extension as compared with the VO browser extension.
  3. The DOM extension is not dependent on the text size setting and browser size like the VO browser.
  4. DOM extension provides a better support to the border-less tables.
  5. More classes and properties are available in DOM extension as compared to the VO browser extension.
  6. Using DOM extension, you can maintain a great consistency over the object recognition process.
  7. DOM extension is quite fast in working as compared to the slow VO browser extension.
  8. One can expect some gain in the playback speed in DOM extension but the same is not possible with the VO browser extension.
  9. There is less crashing or freezing events in the recorder with the DOM extension and more in the VO browser extension.
  10. In VO browser extension the conversion of scripts is more like a daunting task but this not so with DOM.


Sunday, September 30, 2012

What are the Features & Benefits of Quick Test Pro (QTP 8.0)?


The first version of the quick test professional had its launch in the month of November of the year 2002 by its sole creator mercury interactive. Later in the year of 2007, HP (Hewlett Packard) took over mercury interactive and quick test professional became its sole property. 

Features and Benefits of the Quick Test Professional 8.0


a) Quick test professional is a tool that follows the object based approach. This means that the quick test professional operates on the principles of test object model for carrying out various testing operations. Therefore, by using quick test professional the test operations can be automated based on either test objects, automation objects or utility objects.

b)The quick test professional has been solely created for carrying out regression as well as functional testing. However, sometimes it may be employed for performing performance testing and compatibility testing.

c)Like a keyword driven test automation frame work, the quick test professional also follows a key word driven approach.

d)Only windows operating environment is supported by the quick test professional. What the quick test professional is actually dependent on is the user interface for the automation of the test objects rather then depending up on the server side interactions.

e)CUI or command user interface is not supported by the quick test professional but it does support the web based and GUI based application software.

f) No matter in which language you are comfortable, the quick test professional provides a multilingual environment to work in. It supports chinese, japanese, korean etc. depending on the license.

g) For data driven testing the excel like sheet has been adopted by the quick test professional and also it has adapted the VBScript by Microsoft for scripting the test cases.

h)  A lot of tool support is available for quick test professional like:
- An integrated VBScript engine so that file system can be used along with the scripting features.
- An integrated SQL engine for using SQL statements to carry out data base operations in quick test professional.
- Integrated spread sheets to carry out data driven testing.
- XML format is available.
- Integration with other tools like quality center and winrunner is possible.
- User interface test case automation is possible along with some non UI test case automation like data base operations and file system operations.

i) It has been derived from the mother tool of quick test professional i.e., the Astra Quick test.

j) Microsoft internet explorer is very well supported by the quick test professional for the purpose of recording tests.

k) It is desk top application.

l) Quick test professional was developed in cooperation with .NET technology.

m) Quick test professional is a stand alone or a first tier application since resources are stored as external and internal files due to the lack of a data base.

n) Two types of licenses have been granted to quick test professional:
- Float license or concurrent license: this license grants access to only one user at a time.
- Node locked license or seat license: this is used from a fixed machine or system.

o) Quick test professional has got support for Unicode.

p) Though the services of the quick test professional cannot be shared from one machine to another, the sharing of resources is on different machines is possible. 


Facebook activity