Smart And User Friendly User Interface Information Technology Essay
Now a days ubiquitous computing is one of the most significant field for study and research. There are lots of potential applications of ubiquitous computing and growing number of research lab to work on this field that will be the next computer era [1]. There are working in various research topics in ubicom applications, like sensor network, mobile computing, human computer interaction (HCI), artificial intelligence (AI), distributed computing, augmented reality (AR), wearable computing, tangible interface, robotic and multimodal interface. In my report I am interested in studying designing the user interface for ubiquitous computing. There are number of established methods to build the user interface that will be smart and user friendly.
In this report section 1.1 I will discuss about the different phase of computing while in section 1.2 will describe about ubiquitous computing and section 1.3 will discuss about the characteristics of ubiquitous computing. In the section 2, I will explain about how to build a good interface and what are these contains to build a good interface.
Background
Mark Weiser (1952-1999) is the father of ubiquitous computing (UbiCom). He was the first introduced and coined the term UbiCom and he is the head of UbiCom project at Xerox PARC (Palo Alto Research Center). The PARC is an independent organization and it was a birthplace of most of the development that marked the PC era like, the mouse, windows based user interface, desktop metaphor, the laser printer, and many concept of Computer Supported cooperative work (CSCW) [2].
“Ubiquitous computing names the third wave in computing, just now beginning. First were mainframes, each shared by lots of people. Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop. Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives.” –Mark Weiser and Brown
In the article “The Coming Age of Calm Technology” Mark Weiser and Brown described the evaluation of three phase use of computers. These three phases are mainframe era, personal computer era and the ubiquitous computing era. The first phase we call mainframe era, lots of people share one computer and it has a common sharing resource. And it was allowed many people to use the mainframe at the same time. The second phase we call personal era, one computer use only one person. This phase started from 1984 where number of people uses the personal computer and it was surpassed or achievement in number of people using shared computers. The relationship is personal for personal computer (PC) even intimate. For example, you have a computer so it contains your staff and your information where you can interact directly and deeply with it. The personal computer still used in the pilot, the Newton, the Zaurus and it’s also used as one can own several personal computers for home and work and one can own several cars for road. The concept ubiquitous computing is the third phase of computing and it cross-over point with personal computer within 2005-2020. Internet and distributed computing is a transition step to the third phase of ubiquitous computing. In this phase lot of computers sharing the information each of us and some of these computers will be the hundreds that can access a few minutes for internet browsing and some these will be embedded in chair, wall, clothing, light, cars in everything[1].
What is Ubiquitous Computing?
The word “ubiquitous” derived from Latin word “ubÄ«que” which means everywhere and from “ubÄ«” which means where. According to the oxford dictionary the word “ubiquitous” means “seemingly presents everywhere at the same time”. Consequently “ubiquitous computing” means we can say computing seemingly everywhere at the same time [3].
According to Weiser´s article “Some Computer Science Issues in Ubiquitous Computing”, he mentioned:
“Ubiquitous computing is the method of enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user” [4]
In this article, he wanted to describe that ubiquitous computing offers a framework and its come from various sub-discipline of computer science like: different chips is hardware components, network protocol, interaction substrates is software for screens and pens, privacy and computational methods. By using these device user can compute and communicate and interact with each other in a pervasive way. He also mentioned about phase I in his article, phase I means: to construct, deploy and learn from a computing environment that are consisting of tabs, pads and boards. The aim of this technology to enhance computer to utilize computer resources through the physical environment and it makes invisible for users [4].
In the article “The Computer for the 21st Century” Weiser mentioned,
“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it” [5].
Ubiquitous computing is making life easier everyday in our life through the technology. In his article he also mentioned that for information technology it is a large potential because ubiquitous computing always prepare to write everywhere anytime. Writing anywhere is the simple example of ubiquitous technology like, writing in newspapers, writing in the books, and writing in the billboards in the streets. Ubiquitous computing also makes invisible from users and some devices are embedded in our everyday life like TV, cell phones, cars, clothes, and etc. He also expressed his prediction in his article that computer will disappear from our sight and it will be part of objects that we use in our daily life.
Characteristics of ubiquitous computing
In this section, discuss about different characteristics of ubiquitous computing. It might be ubiquitous, embedded, nomadic and timeless. In this following discuss about these characteristics:
Ubiquity: This is the important character of ubiquitous computing, where user can access his device, can get information from anywhere in anytime.
Embedded: we can say computing and communications both properties are exist in the world. So, these properties user can feel it and user can act on it also.
Nomadic: Nomadic provides that users and the computing can frequently move without a fixed pattern of movement.
Adaptive: According to the user´s activity and their operation condition user´s get more flexibility and autonomy for computing and communication.
Timeless: don’t need to use the re-start operation and if the system gets any problem then it´s components can upgrade easily.
Designing the user interface
A user interface (UI) or simply it called “interface” means user will interact with a computer or other hardware devices. There are different contains to represent user interface like, screen menus and icons, keyboards, command language, physical buttons for dial and levers. All input devices are also included like, mouse, remote control, touch screen, joy stick and etc. In the future, speech recognition and also natural language will bring a standard component of user interface for user [6].
The design of a good user interface is one kind of art. And it is an important thing for information and communication technology (ICT) which has been neglected for a long time. A good user interface provides a “user-friendly” experience where user will interact with computer software or hardware in a natural way and also intuitive way. A software developer implements those things they have found useful themselves and they also think how it will be beneficial for those specific users. But problem is that most of the users are not software developer and they don’t have experience interact with technology that´s why their interacting way also different [7].
If we think for a minute about our typical day, how many interactive products we used in our daily life? We used lot of interactive products in our daily life like: cell phone, remote control, computer, TV, soft drink machine, ATM, personal organizer, coffee machine, ticket machine, in library access, photocopier, printer, calculator, video games, and the list is endless. But if we think form a user point of view, how usable these products, how many are actually easy, effortless, and enjoyable to use? All of them, several or just one or two? We used many interactive products where users have to carry their task to interact with them. But haven’t designed how they will interact with them like: buying a ticket from online, photocopying an article, pre-recording a TV program. Users have been engineered with those systems to perform set functions [8]. Another example of that, when user interact with system and something goes wrong user found a message: “an error occurred code 127” users don’t know what the problem was and why it was happen? [7] [8]
The goal of usability
The main goal of the design user interface is to redress this type of concern by bringing into the design process. The developer has to be concern about their design process that is easy of learning, effective, safety and security, joy and fun to use from user´s perspective. The main goals of usability that we want actually to achieve from a user perspective describe in the bellow [7]:
Easy of learning and memorizing: When designer will design a system then he/she have consider always about novice user. How a novice user will interact with the system easy way and how they will memorize from that system.
Safety and security: A good designer have to consider about the system safety and security that means designer have to ensure that those system is not harmful for users and also other user affected by use those system. It should be protect users from a dangerous or undesirable situation.
Effectiveness: Effectiveness means those systems is effective to use for a user. It refers a user can solve task effectively and he/she can be handled all task.
Joy and fun: If a designer design a system but it is not fun for a user or it’s a pain for user to interact them. Then usability goal will break so, designer has to consider on that things.
Efficiency and functionality: Designer has to ensure that that system is efficient to user and functionality of the system is usable for a user. A good design and user friendly system should allow for quick and timely work. Because people don’t like spending time that how system is work, they want system will start straight away and carrying out task without too much effort.
When a designer will design a system they have to consider this things, otherwise usability will break of the system. And it depends on system like: when designing an interactive game-for that interactive game designer have to concentrate on game might be joy and fun more important and effective is less important for this game. Another example is that a system for fireman, then designer has to concentrate on system might be more efficient and it can be less fun.
The design model steps
In this section describe different steps to design a model, like context definition, user´s description, users task analysis, user requirements, prototyping, how to evaluate, how to implements, who will tests, and maintenance. A number of models have been proposed to build design process like waterfall model, star model that is open and decision can be revised depending on user feedback. The design steps of model describe in the following [7] [8]:
Context definition: Context definition means designer should be define for what reason system will be use. It can be use for life critical or fun purpose, it can use in home or office environment, or in a market. And it is also important to mention that who is going to buy the product for what purpose.
User´s description: User description means user´s must have to carefully analyzed because it’s created based on context definition where each group can affect directly or indirectly.
And for that reason their physical and cognitive abilities and their social and cultural background can be affect the way they interact with the system.
Task analysis: Task analysis or functional analysis defines that designer should find out how a user actually solve their task currently, what type of tools they used to sold their task, and how they are interacting right now with existing system. The designer should collect that type of information and they can collect it from a user ´s informal interviews and observation.
Requirements: This is the important step and it should be first step of the classical software development process. It is called user centered design because it is based on understanding of the users, user´s tasks and user context. The main thing is that requirements can be changed in different iteration and when they will evaluate the system they can get better idea about the system.
Conceptual and formal design: The requirements and specifications of the systems are translated into the system components to build a conceptual and formal design.
Prototyping: Prototyping defines a fundamental version of an interactive system is built, tested, then reworked as necessary until a finer version. It can be very simple design sketch; it might be also working and complete version of a system which is depending on the stage of iteration.
Evaluations: The designers shouldn’t think that everyone is like them and they also shouldn’t assume that their design guideline guarantees good usability. Evaluation is the process to check that user can use the system and user likes to use the system.
Implementation, test and maintenance: After prototyping and evaluation they will get a final version prototype that is full fill the design goal. And then they can implement that final prototype. Test and maintenance of the system is also important in design process, so they can help to further improvement of the system.
For build a good user interface these design steps are the building blocks. In every interactive system they are vary generic and also their also valid. So, without user involvement we cannot derive system requirements from interaction goals. Without taking these steps system will be fail. Many ubiquitous computing prototypes are made totally technology driven where developers actually focus on different smart gadget, network and new infrastructure. But they don’t focus their design effort on users.
Fig-1: Star model for user-centered design [8]
Importance of Evaluation and Prototyping
Evaluation and prototyping is the most important process for iteration to designing smart and user-friendly user interface for ubiquitous computing. Because using evaluation process designer can find difficulties of the system, they can find idea from user experience and then they can try to find the ways to improve the system. To designing the smart user interface designer have to consider these things, like what is happening in existing system for that reason, where they have to start? Which process or method will apply? When they have to stop? Why it is important to evaluate for an interaction designers, mentioned in the following [7]:
Where they have to start?
In the initial stage don’t need any system, can make demo system. Then try to build a real one and that will be easy in the initial stage. They can use different methods like, sketching, Wizard of Oz, mock-ups, and prototypes.
Sketching: Sketching is the design method where designer just draw in paper or on a blackboard from his/her idea and that is looks like a real system. And users and expert user will evaluate that design idea and then they can change their basic idea if they mistake anything [8]. There are three purposes to make the sketching. The first one is, it is way to think where design ideas can develop and grow in the conversation between eye and hand. The second is, it is easy way to communicate because design ideas are made available for other inspection, criticism, appropriation, and development. The last purpose, it is way to persuade where in the design process other stakeholders may be convinced of the value a design idea through sketches [9].
Wizard of Oz Experiments: Using wizard of Oz experiments designer can see the reactions of people as they interact with to be developed technologies. And after experiments designer will get feedback that will inform to design direction and choice of development technologies going forth. The main goal of this technique to collect the information about the nature of the interaction, test and check which input technique and sensing mechanism will better to represent better interaction, find out the problem, and test the interaction of the device before building the functional model Wizard of Oz experiments is very good to test advance system (e.g. NL-systems and such) [10].
Mock-ups: In the design process mock-ups is used for collect feedback from users about designs and idea of this design. It is consists of low-fidelity (e.g. power point) materials. Users will “look and feel” about the design. Mock-ups are “very early prototypes” that means in this stage doesn´t included the real functionality of the system. The main advantages of this method, mock-ups make it possible to usability testing early in the development process, mock-ups experiments is incite and legalize that’s why it is inexpensive to change, and mock-ups concentrate on their content and their functionality and turn away from details of graphics design[11].
Prototypes: In the design process prototype is an easily modified and extensible model. Where it has been including interface and input/output or actual functionalities of the target system. There are two types of prototypes: low-fidelity and high-fidelity. Low-fidelity is a set of drawings (e.g. paper, pen, cardboard, etc) don’t look like final system and it is static, non-computerized user interface where high-fidelity look like a final system. High-fidelity is consists software tools such as Photoshop, HTML, CSS and Java Script [9] [10].
Which method or process will apply?
To evaluation the system uses different methods or process. In this section, describe different methods or process and describe which methods or techniques are better for which situation. There are many factors are involving to select the right technique, like budget of the system, nature of the system and maturity of the design. When designer will choose the method then they have to ensure that the evaluation method and tools using appropriately.
Quantitative or qualitative methods: Quantitative methods deal with numbers that can be measured like length, height, cost, error rates, compilation times, frequency, efficiency of an interface, etc. Quantitative methods provide this type of information and this information is easy to analyze statistically and fairly reliable. Where qualitative methods deal with observation and collecting data from users comments, impression of users, and subjective rating is collected in case studies or interviews or questionnaires.
Field study or study in the lab: Field studies methods is an investigator viewing users or to see the real condition about the system that where the system actually use. The investigation can be in the office or home of the users. And this investigation may be either direct or indirect. In the direct observation, investigator will present during the task and in the indirect observation investigator can see the task using video recorder. Where lab studies method, need more effort to simulate the conditions.
Usability testing or expert evaluation: In the software industry usability testing has proven to very attractive because usability testing involve with real test users. Many companies operate labs to perform usability testing and they have invited the users and technical people for to test the usability of the system. Usability testing is one of the popular methods because it works well with requirements driven system development. Where expert evaluation is more expensive because it’s costly to find the expert user. Expert users have knowledge about different technique to evaluate the system like, cognitive walkthrough, thinking aloud method, discount evaluation, and their combination also helpful in some case [9].
When they have to stop?
The development life cycle (design-prototyping-evaluate the system) can go on forever leading to continuous improve the usability. But designer cannot finish this cycle without finish. It may be number of cycle fixed that they have to stop within like 4steps or have to mention before when loop will stop otherwise they cannot go final design. For example, their goal could be 93% of the test user rate which is very convenient of a system; another example is task compilation rate is 96% of a system with fixed time. In some case we can say like this, “the system is out of budget” or “you have finish within one week”.
Issues of User interface for Ubiquitous Computing
In the previous section we have acquired knowledge about what are the processes to build a good user interface. The principles we have discussed before these are generic and it can also apply to design smart and user-friendly user interface for ubiquitous computing. It is also acceptable for other user interface such as web based user interface or graphical user interface. And these general processes of human centered design we can apply also non-IT product which we used every day in our life like coffee machines, car design, and simple devices like sinks design, doors design, telephones design and other object of our daily life.
On the other side, ubiquitous computing discuss about the integrating things into objects which we used in our regular life. However, usability has ability to understanding and good maturity about ubiquitous computing to do with the usability of everyday things.
The concept “invisible” came from Mark Weiser article “Some computer science issues in ubiquitous computing”. He mentioned, invisible interfaces are naturally usable or that are become from user self-perception. From the concept of invisible, we can say a most simple example about physical objects of our body parts. Where we don’t need to think about what we will do with our arms, but we just do the things that we want. When we go out from our house, we don’t need to remember that to take our arms with us, we might need it today. It’s already exist with us and always ready to use. So, when we speak something about ubiquitous computing interface that is “invisible” or computer that are “disappearing”. That means, we speak about those things that are present and “ready-to-hand” [4] [7].
D. Norman emphasizes in his article “The design of Everyday things” that, a good design is allowing a good mapping. Where a design model is the designer´s conceptual model and user model is the mental model which developed through interaction with system. In the figure mentioned three things: design model from designer point of view, users model from user point of view and system image that is must be design appropriate because if the system in inappropriate then user can´t easily use the design system. D. Norman provides an idea of affordance, which is perceived the actual properties of an object that give clause to its operation. Like mouse pointer and scrollbars functionalities provides the virtual affordance for computer affordance and many metaphors on our computer signal. Where the mapping is provides the relationship to control their effect [12].
Fig: Mapping of design model, mental model and system image [12].
There are number of issues rising from the perspective of ubiquitous computing to interact. And these issues are mentioned in the bellow [12]:
Allow Mental Models: The design model have to support mental model. People think from his or her point of view like, how use a system and they also predict how the system actually react with their actions. The system image should support what the people are thinking then that will be easy to understand about the system.
Respect cognitive economy: People always try to use their own concept and their own idea. So, design model have to consider their idea and they can make a new idea that will be easy to understand for a new artifact.
Make things visible and transparent: Design model have to consider the visibility of a system, like what is the status of a system right now, is it loaded right now or is it empty now. Defining the status of the system user will be able to understand state of the device and the alternatives for action.
Design for errors: Sometimes system can be fail to mapping between user models and the system. People can make error and most of the error comes from human errors and sometimes come from mapping error. That’s why system must guide to users how to resolve the making error or finding the solution against the wrong task. Using undo-actions or sanity checks technique can use for solve
Consistency in internal and external: To designing interface designer have to consider using the elements for similar operation that is user can achieving their task. For example, pushing a red button for a device it means stop the device. So, the meaning and actions are consistent to improve the ability to learn the system and can understand about the actions. Internal consistency with other elements in the system and external consistency refers consistent with other elements in environments. It is more difficult to achieve different system rarely observe the same design object.