Pages

Thursday, May 12, 2011

Human Computer Interaction for interAct

A basic goal of HCI is to improve the interaction between users and computers by making computers more usable and receptive to the user's needs.

User Interface designing is a sub area of Human Computer Interaction. The design should be centred around the user and his requirements. The golden rule in User Interface designing is “Know your user”. So before starting the design should gather the user requirements including his personal desires. Then the user satisfaction could be maximized and the user will not refuse the system.


Human Emotions

User should not be stressed by the User Interfaces. So the UI should be kept simple as possible according to KISS, keep it simple as possible.

Human are prone to errors. There are two types of errors in the study of Human Computer Interaction. Those are slips and mistakes. In slips user know what to do and how to do but he might do some other thing than expected. The target should be enough in size to do the required operation. So the controls should be designed in enough size to facilitate dragging and dropping and on clicks.
Users do mistakes when they do not know what to do. So there should be help pages and proper documentation to guide the user.


Display Devices

The designed UIs should be displayed in various display devices like monitors, mobile screen, touch sensitive display. The resolution or number of pixels on screen and aspect ratio, ratio between width and height should be considered before sending the UIs for a device. Color depth and anti aliasing or soften edges using shades of colors should be considered when developing the user interfaces.

Input Devices

We are dealing with PC and mobile so we have to consider the input devices, touch pad, track ball, cursor keys, mouse, touch screens and keyboards(QWERTY). User Interfaces should provide the facility to deal all the types of users. The beginners might be slow and after some learning user expect to do the same work in less time. So keyboard short cuts should be provided targeting those users.

Selecting the colors

The colors should not be used to convey the messages because 8% of men and 1% of women are color blind and they are not able to understand the difference between some colors. Usually red is used for important things and blue should not be used for important things.

Aesthetic pleasing

Aesthetic pleasing can be achieved by adding only the required controls and the user preferred colors. The design should facilitate the designer to select the colors for the end user.

Fonts

Square ended strokes are good on screens so it is recommended to use san-serif in UIs. Lowercase enhance the readability. Uppercase should only be used for individual letters and non words.

WYSIWYG – What You See Is What You Get

The designed UIs could be run on sandbox environment first to give the designer a feeling about how it is displayed in the real environment. Android emulator is integrated to the interAct IDE in order to support the mobile view. The UIs should be automatically adapt the user interface into the mobile environment by having paging with navigation.

Input validation

The controls should have input validation. This can be automatically done using HTML5 input type validation but only the latest version of Opera support all the features of HTML5. Google chrome browser supports most of the features, Mozilla firefox supports very few features and Microsoft Internet Explorer does not support HTML5.

The improvements to the UIs can only be measured by a user survey.

Tuesday, April 26, 2011

The Reason to Select Eclipse Platform for interAct IDE

There are 2 options we can go for. Those are Graphical User Interface based IDE or Web Interface based IDE.

HTML5 can be used to develop a web based IDE. Drawing, drag and drop are possible with its canvas element.

The implementation of the web based IDE should be done from scratch with the use of javascript along with the HTML5 and there are no projects available out there to reuse and go for Component Based Software Engineering.


Only the latest versions of opera browser supports most of the features specified in HTML5 and the other browsers like Google Chrome and Mozilla Firefox does not support most of the features of HTML5.


So if we develop a web based IDE users have to limit to the browser, Opera which is used only by 2.5% [1] of the internet users.

By becoming a part of eclipse framework, the interAct IDE becomes immediately usable by the large community of eclipse users and the plug-in based approach allows to tap into various existing and future components being added to the eclipse platform.

Eclipse framework itself provides the editors, viewers and registries and facilitates the integration of the system. Since eclipse is a stable framework there is very low possibility to suspect about the security loop holes and it provides a sandbox development environment.

There are hundreds of documents and tutorials out there to study and the support is very high with an active group of users and contributors.

After studying the advantages and disadvantages we selected eclipse as our development framework for the Graphical User Interface based IDE.

References:
[1]Browser Statistics . [Online]. Viewed 2011 April 26 Available:http://www.w3schools.com/browsers/browsers_stats.asp
[2]G. Chafle et al. , (2006, Nov) . An Integrated Development Environment for Web Service Composition. IBM Research Report [Online] Available:http://domino.research.ibm.com/library/cyberdig.nsf/papers/866C3DF536954F458525722E0046C9C9/$File/RI06009.pdf
[3]Wilbert O. Galitz, The essential guide to user interface design, 3rd ed., Wiley Publishing Inc, 2007

Monday, April 25, 2011

Our Solution



Hi friends, I think all of you are clear with the problem we are about to solve. Our solution is basically to design the User Interfaces separately and deeploy them in the WSO2 Business Process Server.

We are proposing to develop an Integrated Development Environment (IDE) including the basic features to drag and drop the elements like textboxes, buttons etc and draw the UIs manually by a UI developer.



Then the designed UIs should be saved in an intermediate format which facilitate to convert them into another formats which are possible to display in different environments like a PC and a mobile.



Sunday, April 24, 2011

The Problem

Hi friends,I think now your are clear why do we need human interaction in a business process. Let me go ahead with our project idea.

WSO2 , an opensource middleware company in Sri Lanka has developed a Business Process Server . There we can deploy business processes written in WS-BPEL (Web Services Business Process Execution Language). To get the human interaction in the middle of a business process the human tasks are written in WS-Human Task. It will invoke the WSDL when a human interaction is needed.

A user interface (UI) is needed to get the human interaction to a business process. Currently the UI is limited to a textbox and a submit button and it is automatically generated using JSP. In Shahani madam's words "it is ugly as ever". A textbox and a submit button is not enough to capture the various types of user inputs. With the limited features in the UI users can do lots of mistakes.

As an example they can enter anything where they only supposed to type their gender in the textbox. But there will not be any mistakes if we put two option buttons grouped together to get the gender input.



Our project is to address these issues and come up with a solution to design UIs considering the best practices of User Interface designing, a sub area of Human Computer Interaction. The designed UIs should also be displayed in the web browsers and android phones.

I will write you about our proposed solution in my next post.
take care friends.

Friday, April 22, 2011

Human Computer Interaction for a Business Process

Hi friends, I am writing here to give to some idea about our final year project idea.
I'll start my story assuming all of you are dumb, as much as we were at the start of the project.

Today's world there are so many technologies invented to make our lives easy and to make our selves little bit lazy. And all of us know the easiest way to climb the ladder of success is having good communication. So communication also plays a major role in modern business world.

Web service is also such a method of communication between two electronic devices over a network and it can convert our applications into web-applications. They are published, found and used through the web. "AH" that sounds good. Then we can easily access some application over internet with the help of web services.

We all know now most of the things are automated, but in some situations the system give you (assume u are a human, well vampires are also count) the chance to make a decision. Now you might wonder what are those occasions.



Think about a web service which gives you details about bank loans. It is up to you to decide which loan suites you the best. You will make the decision by looking at the interest rate and the loan duration, monthly payments etc. Now see, it is clear that at some point a business process might need your decision to proceed and that is a human task, only a human can decide and choose. At that point point human will interact with the system and human computer interaction happens.

Thursday, March 31, 2011

Introduction

Humans often need to participate in the execution of a business process.User interactions range from simple scenarios, such as manual approval, to complex scenarios where data is entered by the user.

The services “implemented” by people are known as Human tasks. They allow the integration of humans in service-oriented applications. A human task has two interfaces. One interface exposes the services offered by the task, like a translation service or an approval service. The second interface allows people to deal with tasks, for example to query for human tasks waiting for them, and to work on these tasks.

This scenario introduces new aspects in to developers consideration such as interaction between the process and user interface, and taking into account human behavior. When designing user interfaces, designer should care about HCI (Human Computer Interaction) aspects. So, the need of a dedicated tool for generating user interfaces is important in many ways.

Under this project, we are going to implement a tool for creating user interfaces.It will also consider the HCI aspects. We will integrate the tool to WSO2 Business Process Server ( an open source business process server that executes business processes written using the WS-BPEL ;Web Service-Business Process Execution Language standard.) Support for different views (web interfaces, mobile interfaces) will be also taken in to account.