Subscribe by Email


Showing posts with label Graphical User Interface. Show all posts
Showing posts with label Graphical 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).











Wednesday, February 20, 2013

What are key technologies supported by Maveryx? - Part 2


In this part of the article we shall discuss about the remaining 3 key technologies of the Maveryx automated testing tool:

5. Extensibility: 
- The plug–in system of the Maveryx is quite extensible.
- It can be made richer by customizing. 
- Maveryx allows the users to customize the default functionality and other specific desired capabilities using individual plug – ins.
- A number of plug–ins for a number of reasons are supported by the Maveryx tool. 
- Few of those reasons have been listed below:
a) For adding support dedicated to the complex as well as custom GUI controls.
b)  For adding test actions such as APIs that are proprietary.
c)  For adding new algorithms for matching.
d) For integrating the maveryx with a number of other tools like bug tracking tools, SCM tools and so on.
- Maveryx has got it all: the reliable and easy to use testing environment and intuitive testing functionality to help you create the best test project. 
- Maveryx holds a collection of powerful but easy to use java APIs that help in creating better regression and functional test cases. 
- Since Maveryx is an open source tool so you have the power of modifying it or extending it any way to fit your requirements. 
- Plug–ins are the things that help you in this regard. 
- They can be installed and removed at any times. 
- Maveryx has been designed so as to allow the mechanisms and hooks that help in enhancing the frame work without calling for any major changes in the infrastructure of the system. 
- Extensions can be made in either of the two ways:
Ø  By adding a new functionality or
Ø  By modifying an existing one
- Programming interface is another thing that helps with the extension of the maveryx tool. 
- By installing core plug–ins, you enhance the capabilities of the Maveryx making it to adapt your specific requirements or your organization’s specific requirements. 
- Customizing Maveryx increases its functionality and increases the speed of the testing process.

6. Eclipse plug–in
- Maveryx comes with a separate plug – in for the eclipse tool. 
- It consists of the software tools that can be deployed to make use of the java eclipse IDE, thus granting the developers and software testers with an ability of designing, building and executing the automated test scripts using the Maveryx testing tool.
- This plug–in provides assistance to the software testers who are using Maveryx in the creation of the new test classes for test projects and generation of the java code via Maveryx’s frame work.

7. Test Reporting
- When you execute a test case, you do not have to worry about generating the metrics. 
- Maveryx does it all for you through its test reporting key technology. 
- It automatically generates the metrics. 
- Plus, it also puts all the detailed reports at your fingertips.
- The results of the tests execution are also displayed automatically. 
- Actually, all this is done in coordination with the eclipse plug–in.
- The plug–in in turn makes use of a number of Maveryx’s reporting features for the creation of the reports and live charts during the execution process of the tests.
- The plug–in only creates the finalized test reports that give an explanation regarding the results of the tests through visual aids such as charts, tables, statistics and so on.

The maveryx software testing tool has got a number of other features such as:
- Test logging capabilities
- Automated verification points
- Multi – application testing
- Distributed application testing
- Error handling feature that is customizable
- Multilingual testing
- Keywords



Tuesday, February 19, 2013

What are key technologies supported by Maveryx? - Part 1


Maveryx’s unique key technologies are what that makes it so useful. There are 7 of them and we shall discuss about only 4 here.

1. No GUI Maps: 
- Maveryx is an automated testing tool that it does not makes use of GUI maps for locating the GUI objects.
- It carries out the analyzation and the identification of the GUI objects to know their properties at the time of the scripts execution without taking help from a GUI map. 
- When a test is run, a scan is carried out by the Maveryx software and it takes some of the snap shots of the interface of the application under testing or AUT. 
Maveryx then processes each of the snap shots using an advanced GUI objects finder. 
- This object finder then recognizes the object and locates it so that you can straightaway start writing the test cases and you don’t have to wait. 
Automated scripts can be developed early by the testers during the software development life cycle. 
- This is done in parallel with the development of the application. 
- However, the test scripts are developed only when the application is ready to be tested. 

2. GUI objects finder: 
- This advanced finder identifies as well as locates the objects very well that have been embedded in the scripts during the run time itself using many of its pattern – matching capabilities. 
- A number of searching algorithms are used by Maveryx for the recognition and the location of the objects during the execution session of the tests. 
- These algorithms remain applicable even for the objects to which changes have been made since the creation of the tests and partial descriptions have been encoded in to the test scripts. 
- It also carries out a search for the run – time objects that seem to match the test object fully or partially.

Below mentioned are the matching algorithms that are supported:
- Exact: This algorithm lets you search for a test object that is exactly same as the one mentioned in the test scripts.
-  Case insensitive: This algorithm is somewhat same as that of the first one but ignores the case.
- Partial: This algorithm lets you find a match based up on the partial data.
- Wild card: Using this algorithm you can match objects using the common regular expressions.
- Levenshtein distance: This algorithm lets you perform approximate matching through some fuzzy logic and edit distance.
- Thesaurus searching: This algorithm lets you find related terms be it in broader terms or in narrow terms or conceptual in a vocabulary called ‘wordnet’.
- Google translation: This algorithm is best suited for internationalization testing or multilingual testing and it lets you find translations.

   With so many algorithms the objects finder has proved to be quite effective in cutting down the time and effort made by the testers in maintaining the scripts. It also provides all the facilities to the testers to write the automated tests from the partial, lacking and unstable specifications. Further the testers are also enabled to automate the test cases that have developed resilience against frequent changes that are made to the interface of the application thus avoiding the need for the continuous rework on the scripts. 
    
     3. Data driven testing: 
    This maveryx implements through Microsoft office excel spreadsheets as well as XML files.  A number of data bases are also supported by the maveryx tool.

   4. Keyword driven testing: Using excel spreadsheets Mavryx creates data tables which it uses for developing test cases. Test actions or the keywords are stored in the spreadsheets and XML files. 



Monday, February 18, 2013

Explain Maveryx? For what purposes it is designed?


About Maveryx Testing Tool

- Maveryx has been developed as a GUI, Regression testing and automated functional testing tool for applications written in java. 
- But Maveryx is different from the other automated GUI testing tools in the way that it does not make use of GUI maps for the creation and execution of the automated tests. 
- The recognition of the GUI objects to be tested takes place at the time of the execution. 
- This is done using an advanced GUI objects finder. 
- Fuzzy and exact matching algorithms are supported by this search engine. 
Such algorithms are also used in the identification of the test objects present in the application user interface. 
- With GUI maps, the automation process cannot be started early and so this search engine avoids GUI maps thus enabling the automation process start before the application is actually made available for testing. 
- On the other hand, possibility for deriving the tests from requirements that are either partial or lacking is achieved through approximate matching. 
Approximate testing also allows for the scripts that have resilience against the frequently changing nature of the application. 
- Many of the software quality assurance teams deploy Maveryx primarily for carrying out automated testing in agile and traditional environments as well. 
Data driven testing is also supported by the Maveryx for java applications. - It also supports a number of platforms such as:
  1. Windows
  2. Linux
  3. Mac
- Maveryx does not use GUI maps for objects recognition rather it locates the objects at the run time directly when the scripts execution is in progress. 
- While the Maveryx runs a test, simultaneously it also carry out a scanning of the interface of the application under test or AUT and also searches for controls as well as the objects that require manipulation. 
- The GUI objects finder carries out an unique identification process for every test object. 
But what powers this advanced search engine?
- It is powered by a set of algorithms inclusive of the approximate as well as exact matching. 
- This technology makes it possible to get a closest match between the objects in AUT and GUI object encoded in the test scripts. 
- GUI object finder can perform this operation even if the full operation regarding the GUI object is not available. 
- The scripting language used by the Maveryx is of course the java. 
- It is because of this that Maveryx can be integrated with any of the java IDE such as netbeans, eclipse and so on. 
- Further, it can also be integrated with testing framework such as the IBM rational functional tester, JUnit and so on.
- In addition to the above mentioned testing methodologies, it also allows for using the keywords and verification points so that the test coverage can be increased, script reuse can be promoted and number of automated tests can be increased. 
- Various key technologies employed by the Maveryx are:
  1. No GUI maps
  2. GUI objects finder
  3. Data driven testing
  4. Keyword driven testing
  5. Extensibility
  6. Eclipse plug in
  7. Test reporting
- Few characteristics features of maveryx are:
  1. Test logging capabilities
  2. Automated verification points
  3. Multi – application testing
  4. Distributed application testing
  5. Error handling feature that is customizable
  6. Multilingual testing
  7. Keywords
- Metrics regarding the test cases are generated automatically by the Maveryx software.
- It also produces detailed reports with results.
- A number of reporting features are available with the eclipse plug – in of the Maveryx using which live reports and performance charts can be created during the run time of the test. 
- It also helps in the production of the final reports accompanied by statistics and table charts. 


Thursday, February 7, 2013

What are two methods provided by TestPartner for functional test development?


TestPartner is quite a successful GUI software testing tool. Micro focus developed this product with the intention of providing means for functional testing and GUI testing to the software developers and testers who have hard deadlines to work up on. This testing tool helps these software developers and testers to achieve more of testing in less time. 

Two primary methods  are provided by the TestPartner for functional test development:
1. Code oriented development
2. Visual storyboard – based development environment

About Code Oriented Development

- Code oriented development uses the Microsft VBA (visual basic for applications). 
- The major benefit of including this in the development environment is that using it, users can access the rich IDE (integrated development environment). 
- Access to IDE is important since it contains all the core visual basic application libraries plus the capabilities that are inheritable in VBA such as error handling, ability to reference public libraries, debugging and so on.
- A library of VBA – based functionality is provided by the Compuware TestPartner and has been specifically built to be used in the functional test automation.

About Visual Storyboard

- Visual storyboard – based development environment interface is also known as the “visual navigator”.
- It is used extensively for developing the functional test automation. 
- The following things are provided to the user through this capability:
Ø  A screen preview i.e., the screen shot of window of application under test.
Ø A list of test automation steps. These are the steps are the steps that were performed while testing against the screen.
Ø  A story board providing a series of test steps that have been performed against a number of screen previews.
- There is another advantage of this approach which is that the users can access the test automation functionality.
- In addition to this they get the ability to add variabalization, different test logics and so on. 

Advantages and Benefits of TestPartner

- Version 6.3.0 is the latest in the series of Testpartner. 
- Testpartner lets you accelerate the testing process at the same time delivering high quality software products on time. 
- The functional test automation through Testpartner is quite easy and cost effective. 
Testpartner proves to be a powerful tool for functional test automation. 
- The tool is quite easy to understand and use. 
- Users get intuitive insights through the test analysis and visual test creation. 
- Further, there is no requirement of code which it makes usable even for the non – technical business users. 
- Accelerated testing means that the testers and developers can keep pace with the development and quality is no longer seen as a bottleneck. 
- With the visual and storyboard oriented approach of the Testpartner, such business processes can be captured that can empower the experts for creating the sophisticated test cases without being able to write the script code. 
- The analyzation of the test results is simplified by the Testpartner through its visual storyboard. 
- With this story board, it becomes easy to check where the test actually failed and where the modification is required. 
- Testpartner is well equipped with modular structures and powerful extensions. 
- With these, the technical users can access all the debugging and scripting capabilities of VBA for creating advanced test cases that are repeatable.
- Integration of the test cases that have been written in VBA or visually is possible in Testpartner.
- Tests created by the Testpartner are quick in adapting to the changes made to the application. 
- The test results can be used in incorporating the maintenance changes, thus accelerating the maintenance process. 
- The built – in verification capability of the Testpartner lets you add steps for testing the results.


Facebook activity