Monday, February 14, 2011

Principles of User Interface

This article simply lists down in brief the few principles that need to be adhered to and kept in mind, while creating or analyzing user interfaces. Following this, we'll take a look at few examples for each points in question, as series of features.

Principles



  • structure

    • organize user interface purposefully

    • make it meaningful and useful based on clear, consistent models apparent and recognizable to users

    • put related things together; separate unrelated things

    • differentiate dissimilar things, make similar things resemble one another



  • simplicity

    • make simple, common tasks simple to do

    • communicate clearly and simply in user's own language

    • provide good shortcuts that are meaningfully related to longer procedures



  • visibility

    • keep all needed options and materials for a given task visible

    • do not distract user with extraneous and redundant information

    • do not confuse user with too many alternatives for performing same task



  • feedback

    • inform actions or interpretations

    • inform changes of state or condition

    • inform errors or exceptions

    • keep model of communication - relevant, clear, concise, and in language familiar to user



  • tolerance

    • reduce cost of mistakes and misuse by allowing 'undo' and 'redo'

    • prevent errors by tolerating varied inputs and sequences and by interpreting reasonable actions



  • reuse

    • reuse internal and external components and behaviors; maintaining consistency with purpose

    • reduce the need for users to rethink and remember




Watch this space for some concrete examples...

Saturday, February 12, 2011

SAP R/3 Customization with GuiXT

Preamble


This feature examines some of the major challenges faced by industries running on SAP in leveraging their staff and existing investment in an era of constrained budgets and expanded demands. The article is predominantly written from the perspective of the C level executive with some reference to the technical, distinguishing points of the solution. GuiXT product suite is very innovative and readily delivers 4 key economic advantages:

  • Reuse of current investment;

  • Simplification of increasingly complex business processes;

  • Increase in productivity; and

  • Lower maintenance costs.


We describe some of the challenges created by the current trends in ERP implementation, specific to SAP, and the potential solution.

Executive Summary


CIOs face the challenge of adapting to an increasingly complex software world with yesterday's tool sets. The Internet, e-commerce, internal integration demands, supply chain re-engineering, and customer relationship management are all contributors to the growing demands on today's developer. How does one deal with all this complexity and the difficulty in employing the necessary IT talent to successfully wade through this quagmire? Conceptually, the perfect system would be one in which we could reuse our software, describe software architecture so that a non-expert could successfully execute and simplify complex business modeling, and automate most user tasks.

Synactive is a products company, always at the forefront of technology since its inception, developing and providing user-friendly solutions, adding exponential value to customer businesses. Synactive GmbH is a member of SAP's Complementary Software Program. Their product GuiXT enables easy reuse of existing SAP investments.

GuiXT Software Suite allows corporations to adopt a user-friendly and intuitive SAP by introducing a modular scripting technology that dramatically increases productivity with its powerful automation and customization features. Web interactivity and external application interactivity with SAP is introduced; which takes business processes to an entirely new level. Repetitive processes cease to be painful with excessive data entry and navigation, and instead become automated and accelerated workflows. All of the above is  achieved without adding to or modifying the underlying business layer (ABAP code) of SAP. Core runtime engine of GuiXT is a part of SAP Front-end and hence is present at every client installation.

End users have realized in years that with complete training and adoption of customized processes throughout an organization, they experience total ROI gains for SAP's past infrastructure investment of 50% plus.

GuiXT layers into an organization's existing SAP implementation to seamlessly bridge together disparate technologies available for enterprise implementation. Most organizations have made significant investments in existing SAP model to achieve the benefits of user-friendly and intuitive interface to simplify their processes; however, these investments have not produced the expected results. This is because they are either difficult to develop using or they achieve the results by altering the business logic of SAP, making it difficult to maintain and change. GuiXT shields the developer from ABAP and allows them to focus on writing business logic.

Challenges


With ever increasing changes, CIOs of companies are acutely aware of the need to choose the right technologies that will enable them to remain agile and to respond rapidly to the changing demands of the marketplace. The pace is demanding with changing distribution patterns, globalization of commerce, and mergers and acquisition activity allowing little time for reflection.
Recently, the push has been for user interfaces to be simple, clear, and intuitive. Users want a system that is easy to learn and use, and is flexible. Challenges faced by CIOs of SAP customers are, having:

  • User-friendly screens,

  • Error-free and tedium-free data entry,

  • Low training and maintenance costs,

  • Automated business processes, and

  • Integration with web and other applications.


GuiXT solutions have multi-dimensional value, which addresses and overcomes the aforementioned challenges, both in less time and less cost.

Reuse of current investment


With the growth of the Internet and interdependent software systems, the need to leverage existing systems has grown enormously. Call of the hour is ‘reusable’ systems. Solutions that are reusable and scalable to prevent or minimize costly upgrades would be ideal.

GuiXT solution not only ensures reuse of current investment, but also spares future recurring investments, in terms of training and retraining SAP users. Ease of use; scalability; reliability; manageability; and flexibility are some of the highlights of GuiXT solutions.

Solution Overview


You can use GuiXT components to implement a whole range of screen customization options. With GuiXT components, you can:

  • Combine and consolidate SAP screens to reduce the number of screens users have to wade through; in most cases up to a single screen,

  • Change the layout (i.e., refine terminology or delete/move screen elements) of any SAP screen to improve productivity and reduce errors in data entry,

  • Add relevant documentation by integrating web based help within SAP Front end itself, and reduce training costs,

  • Add automation driven by one-click process; hence simplifying the business processes.




Inside GuiXT Components



  • GuiXT (Shipped with SAP GUI) – Allows you to change text and remove redundant data-entry fields in R/3 without touching core R/3 data. The runtime engine is bundled with SAP GUI.

  • InputAssistant – InputAssistant allows you to streamline business processes by combining stock R/3 screens and transactions into a customized, personalized, error-free data-entry screen.

  • Designer – Allows you to add or change R/3 text and remove redundant data-entry fields in R/3 by simple mouse ‘click-drag-drop’ operations, without touching core R/3 data. The result of the screen modifications as GuiXT scripts.

  • Viewer – Allows you to embed any HTML or RTF page inside any R/3 screen for Help or Internet lookup.


Strengths



  • Ease of use – Screen customizations are done using Designer, a WYSIWYG tool that empowers users to click-drag-drop elements in an editable SAP GUI screen.

  • Scalability – GuiXT supports wide range of implementation sizes; from small businesses to large corporations. GuiXT supports R/3 installations 3.x to 4.x.

  • Reliability – Since GuiXT is bundled within SAP, it eliminates the need of any additional development activity within SAP.

  • Manageability – Personalization and customization are script-driven. GuiXT scripts (simple ASCII text files) can be stored and managed within R/3 database.

  • Flexibility – Once GuiXT is activated, all SAP transactions become candidates for simplification and personalization. All it takes is additional GuiXT scripts.


Benefits For Users



  • Intuitive R/3; Easy to understand and use

  • Process automation; Minimal errors

  • Tedium-free; Smart and quick data-entry

  • Huge time savings; Allows them to focus on their actual tasks


Benefits For Management



  • Proven and scalable (bundled by SAP AG)

  • Data consistency and integrity

  • No ABAP necessary; Ensures swift implementation

  • Transparent deployment

  • Low cost; Less training for users

  • Error-free, streamlined processes; Increased productivity


For further details, you can visit: GuiXT Site and get in touch.

Friday, February 11, 2011

Business Applications Usability & Recurring Benefits

In your business environment and the spread of IT landscape comprising of huge distributed business applications like ERPs, what are your primary goals when it comes to assessment of the entire system metrics?

Primary Goals



  • Reduce training time and increase user comprehension;

  • Increase productivity, efficiency, and data integrity;

  • Increase speed, ease of navigation, and ensure a comprehensive data footprint.


Depending on specific platforms and technologies in use, without compromising on their internal functionalities and rich features, what are the few generic and common customization approaches to achieve the above goals?

Few ways to achieve customizations in business applications



  • Change standard terminology to those your organization's pervasive business terms thus eliminating ambiguity and uncertainty;

  • Reduce manual data entry by automating redundancies;

  • Rearrange your tabs, buttons, workflow elements and fields to match those of your internal processes;

  • Hide unused workflow elements and fields and create validations for all of the fields necessary to achieve a complete set of mandatory data;

  • Consolidate multiple tabs, screens within your workflows and create a streamlined and easy to navigate environment;

  • Consolidate multiple workflows and shortcuts in a dashboard and one-click interface if feasible and ensure that users provide all necessary data and jump across relevant areas without expending extra effort.


A summary of recurring benefits



  • Increase in productivity creates direct full time employee benefits thereby enabling a redeployment of resources to other areas of business;

  • Increase in efficiency improves employee experience and reduces training and retraining burden from the company and management;

  • Speed, clarity and easy navigation creates enhanced customer satisfaction and leads to more happy and reference-able clients;

  • Automation and validation reduces the time required to navigate through systems and ensures a more comprehensive data set for management reporting;

  • Consolidation and streamlining creates a cleaner and more scalable environment that is more conducive to retention of existing workforce without the need for additional resource expenditure;

  • Survival of enhancements through upgrades ensures that your investment is preserved and additional resources are used for additional enhancements;

  • Ease and speed of deployment ensures that you can create a multitude of enhancements in a very short time with near immediate results.


Thoughts?

Tuesday, February 8, 2011

Techniques/Guidelines for User Interface Creation

GRAPHICAL USER INTERFACE - visualizes complexity to make confusing and business technology issues clear, concise and concrete; helping people to make better, faster decisions, leading to action and results.

Dilbert.com

We've discussed examples of many principles and concepts of usability and user interface design in the previous blog posts. This feature lists down several concrete techniques and steps to be followed while creating a user interface. Future posts will cover most of these guidelines in depth with live examples.

  • Consistency

    • Buttons/Menus in consistent places on all screens

    • Same wording in labels/titles and messages

    • Consistent color scheme



  • Standardization

    • Setting standards and sticking to those; for example: Agile Modeling Standards



  • Holding the line

    • Control over “unusual ideas” on how the screen should look like, by re-iteration of corporate goals, application needs and standards



  • Explanation of rules

    • Application to “explain” rules to end-users to perform their tasks



  • Navigation (external)

    • Easy access to relevant functional screens, from all screens



  • Navigation (internal)

    • Co-relation of logical eye movement of user and the functional flow within a screen



  • Terminology

    • Text (primary source of information for users) – proper choice of words

    • Less abbreviations; more complete words/sentences

    • Informative error messages



  • Understanding UI widgets

    • Right widget for the right task



  • Drawing parallel

    • Looking at other similar applications for standards/guidelines of usability

    • Avoiding imitation of user interface



  • Color

    • Sparing use

    • Secondary indicator



  • Contrast Rule

    • Dark text on Light background

    • Light text on Dark background



  • Alignment

    • Organization of UI elements (left justified, right justified, etc.)



  • Expecting mistakes

    • Designing for users to recover from their mistakes



  • Intuitive design

    • Empowering users to make educative guesses for using the application



  • Evolutionary approach

    • Mock-up, prototype leading to final output



  • Grouping

    • Grouping logically connected items

    • Separating disconnected items




Remember, in order to reduce operating and opportunity costs, it's better to build it right the first time. More to follow on this subject...

Wednesday, February 2, 2011

Usability Characteristic: "Easy To Learn"

The last feature in Usability Characteristics. An easy to learn site/product is one that supports both the initial orientation and continued learning throughout the complete lifetime of use.

Most usability exercises applied to sites and products achieve an end result that assures low entry barrier, i.e., initially easy to learn. However, very few result in having the same ease of learning in a sustained usage. In other words, we need to exercise usability in anticipation of future directions of the product to see that it's not just easy to learn, but easy to master as well.

Few examples of products that are easy-to-learn:

Generally, easy to learn interfaces allow users to build on their prior knowledge. Also, it allows them to build on any interaction patterns they have learned through use in a predictable way. Consistency in user interfaces drives predictability. Software products that achieve and maintain consistency even across years of upgrade are the easiest to learn and master. For instance, keeping terminology unchanged, having design elements and controls in familiar location, maintaining similar behavior for similar functions, and so on. Users see what they expect to see. This philosophy lays the foundation for the process of user observation and task analysis, leading to superior usability and user experience from a learning angle.

Watch this space for more discussions and guidelines around usability.

Tuesday, February 1, 2011

Usability Characteristic: "Error Tolerant"

Error Tolerant User Interface.

Your site/application ideally needs to prevent user errors and provide easy means to recover from them if they occur. This characteristic is also far too critical to be ignored or taken lightly. For achieving this, your current site or application may need a strong revamp, focusing on all critical tasks and paths of the user; the steps involved; the language used; alternate and recovery paths available; error message structuring; guiding tips and instructions; memory features; and so on. Basically, everything that makes the intended audience to explore and make optimum use, without fear - about loss of time and effort.

An error-free system, while being the ultimate desire, is far from being a reality. It may be far more usable, if the system considers comprehensible error-messages as part of its user interface, and with possible inclusion of a clear description and direct links to correct the problems. Some guidelines based on Whitney Quesenbery's theory and research, to make your interface error-tolerant are:

  • Make it difficult to take incorrect actions; Design links and buttons to be distinctive, use clear language, avoid technical jargon, and make dependent and relevant fields appear together

  • Make it difficult to take invalid actions; Limit user choices, provide clear examples for data entry, present appropriate navigation options

  • Make it difficult to take irreversible actions; Provide back-tracking capability, provide undo/redo, avoid dead screens, don't indiscriminately use confirmations

  • Plan for the unexpected; Allow user to add new entries, take exceptional routes through the interface, make choices you did not predict


It is important for the interface to be polite about correcting mistakes that typical arise from lack of foresight - that of the designer/developer.

I'm hunting for some good examples to add to this post, as done in my previous features. Feel free to contribute if you have any thoughts and suggestions. I'll update this feature with examples, very soon.

Next Characteristic: Easy To Learn.