0% found this document useful (0 votes)
269 views13 pages

Usability of Computer Programming Language

The document discusses the importance of usability testing for programming languages. It notes that while some aspects of programming language design have been studied, many have received little human factors evaluation. This limits guidance for language designers and users' ability to choose languages based on usability. The SIG aims to bring together researchers to increase studies on programming language usability and improve the usability of future languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
269 views13 pages

Usability of Computer Programming Language

The document discusses the importance of usability testing for programming languages. It notes that while some aspects of programming language design have been studied, many have received little human factors evaluation. This limits guidance for language designers and users' ability to choose languages based on usability. The SIG aims to bring together researchers to increase studies on programming language usability and improve the usability of future languages.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 13

ABSTRACT

Programming languages form the interface between programmers (the users) and the

computation that they desire the computer to execute. Although studies exist for some

aspects of programming language design (such as conditionals), other aspects have

received little or no human factors evaluations. Designers thus have little they can rely

on if they want to make new languages highly usable, and users cannot easily choose a

language based on usability criteria. This SIG will bring together researchers and

practitioners interested in increasing the depth and breadth of studies on the usability

of programming languages, and ultimately in improving the usability of future

languages.

1
1.0 INTRODUCTION

The empirical studies of programmers (ESP), which was also called the psychology of

programming, dates back to before the CHI conference was formed (e.g.,), and yet

programming is still a difficult human task. A human-centered definition says that

“Programming is the process of transforming a mental plan into one that Permission to

make digital or hard copies of part or all of this work for personal or classroom use is

granted without fee provided that copies are not made or distributed for profit or

commercial advantage. The programming language is the way that this transformation

is expressed, and the smaller the transformation, the easier the programming task is

likely to be (Carrol, J.M., 1997).

However, few human factors studies provide guidance to language designers or users.

In fact, are cent survey found only randomized controlled trials (RCTs) of features of

textual languages between the early 1950s through 2012. Even modern changes (e.g.,

Java with JDK 8 and 9, C++ 11 or 14, ECMA Script 6) have not been vetted from a

human factors point of view. A group of researchers working at the intersection of

human-computer interaction (HCI), software engineering (SE), and programming

language design (PL) are trying to provide appropriate methods for evaluating

languages, as well as valid, empirically grounded evidence to guide design decisions.

We hope that this can alleviate “programming language wars” based purely on

unsubstantiated claims. This special interest group (SIG) meeting will bring together

these researchers, along with practitioners who have insights into usability issues for

particular domains and situations, and programmers who want to evaluate

2
1.1 BACKGROUND OF THE STUDY

Usability is the ease of use and learnability of a human-made object such as a tool or

device. In software engineering, usability is the degree to which software can be used

by specified consumers to achieve quantified objectives with effectiveness, efficiency,

and satisfaction in a quantified context of use. The object of use can be a software

application, website, book, tool, machine, process, vehicle, or anything a human

interacts with. A usability study may be conducted as a primary job function by a

usability analyst or as a secondary job function by designers, technical writers,

marketing personnel, and others. It is widely used in consumer electronics,

communication, and knowledge transfer objects (such as a cookbook, a document or

online help) and mechanical objects such as a door handle or a hammer (Evertson,

2001).

Usability includes methods of measuring usability, such as needs analysis and the

study of the principles behind an object's perceived efficiency or elegance. In human-

computer interaction and computer science, usability studies the elegance and clarity

with which the interaction with a computer program or a web site (web usability) is

designed. Usability differs from user satisfaction and user experience because

usability does not directly consider usefulness or utility.

Complex computer systems find their way into everyday life, and at the same time the

market is saturated with competing brands. This has made usability more popular and

widely recognized in recent years, as companies see the benefits of researching and

developing their products with user-oriented methods instead of technology-oriented

methods. By understanding and researching the interaction between product and user,

3
the usability expert can also provide insight that is unattainable by traditional

company-oriented market research. For example, after observing and interviewing

users, the usability expert may identify needed functionality or design flaws that were

not anticipated. A method called contextual inquiry does this in the naturally

occurring context of the users own environment. In the user-centered design

paradigm, the product is designed with its intended users in mind at all times. In the

user-driven or participatory design paradigm, some of the users become actual or de

facto members of the design team.

The term user friendly is often used as a synonym for usable, though it may also refer

to accessibility. Usability describes the quality of user experience across websites,

software, products, and environments. There is no consensus about the relation of the

terms ergonomics (or human factors) and usability. Some think of usability as the

software specialization of the larger topic of ergonomics. Others view these topics as

tangential, with ergonomics focusing on physiological matters (e.g., turning a door

handle) and usability focusing on psychological matters (e.g., recognizing that a door

can be opened by turning its handle). Usability is also important in website

development (web usability). According to (Jakob Nielsen, 2010) "Studies of user

behavior on the Web find a low tolerance for difficult designs or slow sites. People

don't want to wait. And they don't want to learn how to use a home page.

2.0 LITERATURE REVIEW

2.1 User-Centered System Design

In order for computer-based systems to be widely accepted and used effectively, they

need to be well designed via a “user-centered” approach. This is not to say that all

4
systems have to be designed to accommodate everyone, but that computer-based

systems should be designed for the needs and capabilities of the people for whom they

are intended. In the end, users should not even have to think about the complexity of

how to use a computer. For that reason, computers and related devices have to be

designed with an understanding that people with specific tasks in mind will want to

use them in a way that is seamless with respect to their work. Additionally, it is very

important to “define style, norms, roles and even mores of human and computer

relationship that each side can live with, as computers become more complex, smarter

and more capable,” and as we allow them to “take on autonomous or semi-

autonomous control of more critical aspects of our lives and society (Miller 2004, p.

34).

Systems designers need to know how to think in terms of future users’ tasks and how

to translate that knowledge into an executable system. This can be accomplished by

establishing a good interface design to let the user interact and deal with the computer

without any difficulties and to have more control of the system. Head (2015, p. 6)

stated that good interface design “is a reliable and effective intermediary, sending us

the right cues so that tasks get done regardless of how trivial, incidental, or artful

the design might seem to be”.

Recently, as we know, user-centered design has become an important “concept in the

design of interactive system[s]. It is primarily concerned with the design of socio

technical systems that take into account not only their users, but also the use of

technologies in users’ everyday activities, it can be thought of as the design of

spaces for human communications and interaction” (Rosson M., 2002).

5
HCI “is recognized as an interdisciplinary subject” (Dix et al. 2008, p. 4). HCI needs

input from a range of disciplines; for example, “computer science (application design

and engineering of human interfaces), psychology (the application of theories of

cognitive processes and the empirical analysis of user behavior), sociology and

anthropology (interactions between technology, work, and organization), and

industrial design (interactive products)”. Therefore, HCI has “science, engineering,

and design aspects” (Rosson M., 2002),

2.2 USABILITY

Usability is the measure of the quality of a user's experience when interacting with a

product or system - whether a web site, software application, mobile technology, or

any user-operated device.

There are several definitions for usability, but basically the following 4 characteristics

can be considered usable:

i. Quick and easy to learn;

ii. Efficient to use;

iii. Allows rapid recovery from errors;

iv. Easy to remember;

Does your product or web site have the above characteristics? Usability increases

benefits for both parties: the User (potential customers) and the Provider (yourself).

2.3 Users’ benefits from usability

Your visitors can benefit from usability, because:

i. They will be satisfied, not frustrated, with the web site or product;

ii. They will enjoy interacting with the web site or product;

6
iii. They will achieve their goals effectively and efficiently;

iv. They will cultivate confidence and trust in the product or web site.

If your users are satisfied, they will become loyal, and may even recommend your

product or service to others.

2.4 Providers’ benefits from usability

As a provider, you may benefit from usability in many ways, including:

i. Reduced development time and costs;

ii. Reduced support costs;

iii. Reduced user errors;

iv. Reduced training time and costs;

v. Return on Investment.

2.5 Advantages and Disadvantages of Modular Programming

The advantages of using modular programming:

i. fewer bug because each set of programming commands is shorter

ii. algorithm is more easily understood

iii. many programmers can be employed, one on each of the modules

iv. programmers can use their expertise on particular techniques

v. testing can be more thorough on each of the modules

vi. allows library programs to be inserted

vii. all of which saves time and means the finished program can be completed more

quickly

7
2.6 The disadvantages of using modular programming:

i. can lead to problems with variable names

ii. means documentation of modules must be thorough

iii. can lead to problems when modules are linked because link must thoroughly

tested

Usability testing includes the following five components:

i. Learnability: How easy is it for users to accomplish basic tasks the first time

they encounter the design?

ii. Efficiency: How fast can experienced users accomplish tasks?

iii. Memorability: When users return to the design after a period of not using it,

does the user remember enough to use it effectively the next time, or does the

user have to start over again learning everything?

iv. Errors: How many errors do users make, how severe are these errors and how

easily can they recover from the errors?

v. Satisfaction: How much does the user like using the system?

2.7 Benefits of usability testing to the end user or the customer:

i. Better quality software

ii. Software is easier to use

iii. Software is more readily accepted by users

iv. Shortens the learning curve for new users

2.8 Advantages of usability testing:

i. Usability test can be modified to cover many other types of testing such

as functional testing, system integration testing, unit testing, smoke testing etc.

8
ii. Usability testing can be very economical if planned properly, yet highly

effective and beneficial.

iii. If proper resources (experienced and creative testers) are used, usability test

can help in fixing all the problems that user may face even before the system is

finally released to the user. This may result in better performance and a

standard system.

iv. Usability testing can help in discovering potential bugs and potholes in the

system which generally are not visible to developers and even escape the other

type of testing.

v. Usability testing is a very wide area of testing and it needs fairly high level of

understanding of this field along with creative mind. People involved in the

usability testing are required to possess skills like patience, ability to listen to

the suggestions, openness to welcome any idea, and the most important of them

all is that they should have good observation skills to spot and fix the issues or

problems.

2.9 INTERACTION AND INTERACTIVITY

According to Dix, “Interaction involves at least two participants: the user and the

system. Both are complex, as we have seen and are very different from each other in

the way that they communicate and view the domain and the task. The interface must,

therefore, effectively translate between them to allow the interaction to be successful”

(Preece, 1994).

Users can interact with computer systems in a variety of ways. At the lowest level is

batch input, in which the user provides all the information to the computer at once and

9
leaves the machine to perform the task. This approach is called indirect interaction.

An approach which involves a real-time interaction between the users and the

computer is called direct interaction, as a dialogue between the user and computer will

be established and at the same time will provide feedback and control right through to

achieving the task.

The study of interaction can help both the HCI specialists and the users

simultaneously; for example, analysis of interaction will help HCI specialists to

understand exactly what is going on in the interaction, and identify the likely root of

difficulties.

It can compare different interaction styles and take into account the interaction

problems. On the other hand, the users are able to achieve their goals successfully.

Fig 2.1: HCI Interactional Diagram

10
2.9.1 Relationship between the HCI and Human Dialogue

HCI is the study and theory of the interaction between humans and complex

technology and is concerned with how current input and output technologies affect

interaction, and the situations in which these technologies and techniques might be put

to best use. Therefore, the relationship between HCI and human dialogue may be

summarized as follows: (Booth 1989 , p. 54–55).

Human Computer interaction, like human dialogue, is a form of communication where

a degree of understanding can be achieved. Admittedly, this understanding may be

limited in some respects, but if designed properly, a computer system will do as its

user wishes, provided the user knows what is possible and how to give commands.

Communications requires agreement on the terms used in the dialogue. When humans

successfully communicate, they usually have a shared understanding of the words

used and the concepts to which they refer. This is also true of human computer

communication. When a user gives commands to a system, then the system must have

an understanding of these commands if the interaction is going to succeed.

Communications requires agreement, not only upon the terms and concepts used, but

also upon the context of the communication. For example, if two people are speaking

to one another, then there needs to be an agreed understanding of what they are

speaking about.

11
CONCLUSION

The generic aspects of usability of programming language can be used in the

development of many different kinds of real time software system. By making easy

access to previous work, work once done can be reused and there is a possibility that

more innovative ideas will come. The reviews with users of their requirements, use of

prototypes and the design of the final product in an iterative manner makes the user an

active part of the process and results in a higher level of the system usability and user

satisfaction, since designers are continually working according to their needs. Our

objective here is to lay out the foundation of tools that helps the designer to design

Human Factor Based User Interface, in order to tackle usability issues of modern

systems.

12
REFERENCES

Carrol, J.M. (1997), Human-Computer Interaction: Psychology as a Science of

Design, Annual Reviews, Inc., USA,pp.48, 61-83

Evertsson Gustav(2001), Human Computer Interaction pp.6-8

Karray Fakhreddine et al (2008), Human-Computer Interaction: Overview on State

of the Art, International Journal On Smart Sensing And Intelligent Systems,

Vol. 1, NO. 1 pp.1-3

Myers, B. & Rosson M. (2002), Survey on user interface programming,Proceedings

SIGCHI'92: Human Factors in Computing Systems, 195-202

Myers Brad, Hudson Scott E., Pausch Randy (2010), Past, Present and Future of User

Interface Software Tools, ACM Transactions on Computer-Human Interaction

, Carnegie Mellon University , pp.1,32-33

Obrenović Željko , Starčević Dušan(2006),Adapting the Unified Software

Development Process for User Interface Development, ComSIS,pp.34-35

Preece Jenny (1994), Human Computer Interaction, Addison Wesley pp.6,26,

13

You might also like