Designing of Input, Output and Program

Explain features of good GUI Design with example.

Elements of good design
  • The interaction mode is defined in such a way that it does not force a user into unnecessary or undesired action.
  • Allow the interaction to be customized.
  • Technical internal details are hidden from the casual user.
  • Design for direct interaction with object that appear on the screen.
To reduce the memory load of users:
  • The demand are reduce for short term memory.
  • Shortcuts are defined that are intuitive.
  • The layout of the interface is based on the real world metaphor.
  • Disclose the information in a progressive fashion.
The interface should present and acquire information in a consistent fashion:
  • All the information is organized in design standard that is maintained throughout the screen display.
  • Consistently use the input mechanism constrained to a limited set throughout the application.
  • Mechanisms for navigation from task to task are consistently defined and implemented.
To make the interface consistent:
  • Allow the user to put the current task into a meaningful context.
  • Consistency is maintained across a family of applications.
  • The past interactive model is created according to user expectation and do not make a change unless there is a compelling reason for making changes.
A good user interface needs the following characteristic/features:

1. Clarity
  • It is the most important feature of the user interface design.
  • The purpose of the user interface design is the interaction between people and system by communicating with its meaning and function.
  • If people cannot find out how an application works or where to get diverted they may get confused or frustrated.
  • For example, pop up explanations on buttons so that it clears function of it.
2. Concise
  • Clarity in user interface is great but care should be taken so as to not fall into any trap over clarifying.
  • It is easy to add explanations and definitions but by adding too many explanations the users may spend lot of time on reading them.
  • The things should be kept clear and concise. If features are explained in short then it may help to save a lot of time. Efforts should be taken to achieve clear and concise at the same time.
  • For example, the volume control in operating system use a small icon to show each side of the scale from high to low.
3. Familiar
  • Familiar means something which appears same or something that was seen before.
  • If you are familiar with something it means you know its behavior. The things that are familiar to user are identified and integrated into a user interface.
  • For example, tabs are familiar. If we click on a tab it will navigate on that section and the rest of tab remain same for future navigation.
4. Responsive
  • Responsive means fast and it also means that the interface provides a feedback. The interface shows the user what is happening and talk back to the users.
  • For example, play spinning wheel or show a progress bar to keep in touch with the user just like gmail while logging in gmail it shows a progress bar and on its completion it goes go to the inbox.
5. Consistent
  • Consistent interface allows user to develop usage patterns of button, tabs, icons and other interface and recognize them and realize what are different contexts.
  • For example, The Microsoft office interface is consistent.
6. Attractive
  • It means that the usage of the interface should be enjoyable. For example, to make interface attractive polishing buttons and icons to make them attractive.
7. Efficient
  • To make an interface, efficient it should be figured out as to what exactly the user is trying to achieve.
  • For example, apple identified three key things people want to do with photos on their iphones and they provided buttons to accomplish each of them in the photo controls.
8. Forgiving
  • This interface is one that can save the users from committing costly mistakes. If someone deletes an important information then it must be easily retrievable.
  • For example, if a wrong mail is deleted gmail has an undo feature which helps in retrieving last action.

Explain the features of a modern GUI form with a suitable example.

  • The analysis and design process for an user interface is iterative and can be represented using a spiral model.
  • There are four distinct activities:
    1) User, task and environment analysis and modeling
    2) Interface design
    3) Interface construction or implementation
    4) Interface validation
  • The interface analysis focuses on the profile of users those are interact with the system.
  • In analysis activity information is gathered and it is used to create an analysis model for the interface.
  • The goal of interface design is to define a set of interface objects and actions and their screen representations that are enabling a user to perform all defined tasks in a way that every usability goal is defined for the system.
  • At the time of creation of prototype construction activity begins.
  • To complete the construction of the interface uses the user interface development tools.
Validation focuses on:
  • The ability of this interface is to implement every task correctly and accommodate all task variations to achieve all general user requirements.
  • The degree of the interface is easy to use and easy to learn.
  • In their work user acceptance of the interface is the useful tool.
  • It is designed based on the basis of user and not on the basis of the behavior of the system.
  • The design model of GUI is event driven and the events are triggered by the user.
  • It uses bit mapped displays and have different characteristic.
  • It supports action through window, icon, pointers and menu and helps in navigation, evaluation, refinement and demonstration.
  • It is based on the principle that a picture speaks more than words.
  • To execute an interface it uses a number of window.
  • The execution is through event processing, using window and action suggested into it.
  • The events are mouse event, keyboard event, menu event, activate and deactivate event, initialize and terminate event,
  • The events are manage by the combination of interface software and predefined routines known as Application Programming interface (API).
  • Many competing GUI products are available in market.
  • Most familiar is Microsoft window.
All GUI product have the following features in common:
  • They display overlapping window on screen. Each window consist of a document or application program. User can switch back and forth between window or tasks assigned to them.
  • Windows are operated by pointing and clicking on the screen display with this features available and user do not have to remember how to execute the application.
  • The screen display is similar in layout and presentation to the real document.
  • Command are consistent from program to program. For example, A delete instruction is executed in same manner in word application such as drawing an application, database record management application and translation program system.

Write a note on code design.

  • The purpose of code is make the task easy for identification and retrieval information of items.
  • If there are many items in a group then it is difficult to retrieve the specified information for a particular item, so the data which is to be processed has codes which make sorting, retrieving more efficient.
Why codes are efficient?
  • Codes are efficient for easily identifying data.
  • If code are efficient then data processing operations are done easily.
  • To make the computer system work more efficiently the codes should be efficient.
  • The number of mistakes are reduced when data is simplified and standardized.
Principles of code design:
  • Uniqueness: The code for any particular item should be unique. For example, Examination seat number should be unique for each candidate.
  • Compactness: Compactness means the length of code should be as minimum as possible. A code is not sufficient for easy identification and verification. For example, the code used for male is M and female is F.
  • Uniformity: Uniform sign and format is highly desirable in data processing system. It avoid confusion and inconsistencies in result.
  • Expansibility: It means that a new functionality is extended or allowed and significant extension is accepted, but precaution has to be taken that the internal structure and data flow are not affected or any major changes should not be made.
  • Simplicity: The code should be simple and easy to understand for each user.
  • Versatility: It should be easy to modify the changes reflected in conditions, characteristics and relationships.
  • Clarification: If output data is sorted in predetermined format, then it's value increases for the users. This can be achieved by correlating the representative code with another code which is already sortable.
  • Meaningfulness: Codes should be meaningful and the value of code should echo the characteristic of the encoded entity.

What are the types of codification schemes?

1. Significant codes
  • In this code, digits or letters are described in a measurable or identifiable characteristic of item. These codes are frequently used for coding inventory items.
2. Logical codes
In logical code values are derived with consistent and well defined procedure.

There are two types of logical code:
  • a. Check digit code: When an additional digit is appended to the base code to check the consistency of a character it is called as a check character. It is derived by using some mathematical algorithm.
  • b. Matrix code: It is useful in coding relationship between two entities. The code is based on X-Y coordinate locations.
3. Collating codes
Collating codes are a widely used code system. Item represented in this code are placed in a predetermined sequence. Collating code has four types.
  • a. Alphabetic codes: For effectiveness, alphabetical coding requires all items in an alphabetical sequence and it assigns a code for increasing value.
  • b. Hierarchical codes: Hierarchical codes provides a top down interpretation for an item. Every item is coded into groups and subgroups.
  • c. Classification Codes: Classification code has separate entities such as event, people or objects into distinct groups.
Classification code has two types:
  • Decimal codes: These are widely used classification code commonly used in libraries for uniquely coding books.
  • Faceted codes: Certain kind of classification code are the faceted codes.
4. Chronological codes
  • Each code has a higher value than the last code assigned. For example, code a list of student according to their date of birth starting with the one whose born early.
5. Abbreviation
Many times coding is done with abbreviation of the entity.

There are two methods of abbreviations:
  • Mnemonic codes:
  • This codes convey the meaning quickly to the users. For example, A code like TV-CL-21 can be used for 21 inch color television set.
  • Acronyms codes: It constructs a mnemonic type representation. It becomes a word itself.
  • For example, COBOL is common business oriented language.
5. Non significant codes
No information code are conveys to itself. For example, a range of number allocated to customer account number, stock codes.

These are of two types:
  • Sequential codes: These codes are either numbers or letters which are assigned in series.
  • Random codes: These codes drawn from a number list which is not in sequence. This list of random number is available in a statistical table or it can be created through a computer program.