Smart User Interface For Ubiquitous Computing Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The ubiquitous computing is the new emerging technology. It has lot of application where designing user interface for ubiquitous computing is a challenging task. In this paper we describe about this challenging task like how to build a smart user interface. We have discussed about different designing methods for the design process and discuss which method is appropriate for which situation. And then discuss how these methods can help that can help to achieve the design goals. Then discuss about different issues and factors from human perspective like how the designer and the user have to overcome these facts. Then discuss about designing smart user interface and what techniques have to use to make the system smarter and better understand for user need and avoid the stupid interface.

Now a day's 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, and 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. To build the user interface used different established methods that can help to meet the design goals.


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].

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:

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,

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: In the character of timeless means, don't need to use the re-start operation and if the system gets any problem then it´s components can upgrade easily.

designing 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 are 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 goals 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] [8]:

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 steps of model

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.

Fig-1: Star model for user-centered design [8]

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.

If a designer wants to build a good user interface then these design steps acts as a 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.


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".


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].

Fig-2: Mapping of design model, mental model and system image [12].

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. 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.

Factors from human perspective

In the previous section we have discussed about how to build a good interface, how what are the issues for ubiquitous computing and these are for classical human computer interaction. But we don't know where the users and what tasks they have to do for ubiquitous computing environment. An interface can create two things like user can feel bored on the system or it can make well suited for user. There are two things adaption and adaptivity from these two concepts we can say like that, a system behaves different in different situation. For example a mobile phone user can automatically adapt to the environment like in meeting he or she can make silent but he or she use ring-tone in other situation. The developers and users have to focus which goal is the important and they have to also consider about factors. In this bellow mention different types of conflicts that developers and users have to overcome to reach the usability goals in ubiquitous computing [7]:

Ability to control: The developers have to mention who will control the system and they have ability to control the system and control the situation?

Mental model support: The developer have to consider also these things that how a user can easily understand the functionality of built system and how they can operate a complex system?

Ability to predict: People want to be able to predict and what are the result of their actions. If a system is too adaptive and autonomous then people cannot understand the functionality of the system people cannot use the system easily.

Ability to learn: If the developer makes a system but the people are not familiar of that system then that system will lost the usability acceptance. The people have to learn and have to understand about this type of system.

From the different human factors we can realize that the designers have to decide about what degree the want to achieve, and which level have to consider for each dimension. Finally they have to decide about adaptivity and autonomy of a system. Generally there are no rules or guidelines that can give the clear direction to make ubiquitous computing a system. The designers have to drive his own solution to achieve his goals. And evaluation process is the main way to achieve these goals that can be fits.


Generally there are two way user can get technical support which we can say "smart" like if they system has an built in agent that will solve the problem automatically otherwise unsolved the problem and another is user can solve the problem using the system otherwise unsolved the problem even system don't do anything from itself. For example, it's really tough to calculate the algorithm value of a number for a human but calculator is a good example for solve this problem. And abacus is a good example for human to solve this problem and empowers the users to solve the problem.

The main and important things of smart interaction are that provides a good mapping of the user's model and the system models. And these mapping depend on the perception of the sign and the symbol for communication between user and the system. In this bellow mention different techniques that make the system smarter [7].

Multimodal Interaction: It´s provides the human ability to combine multiple inputs and output modes for a semantically rich and efficiently communicate. In many ubiquitous computing system uses speech interface, gestures, visual display and graphics, and text are combined to a multimodal system. Multimodality allows for more flexible adaption in the different uses of situation and it's a more natural.

Adaption with different media: For communication with user, ubiquitous computing system use different types of device, different type's media and channels. For example one user can use PDA with tiny display for his specific situation, but for another situation like wall sized display he needs to use only earphones don't need to use his tiny display. So, smart interaction will support for both cases and user can easily cross-connect with different device or media for different situation.

Interaction directly: In some case directly interact is the best process to interact between user and system. For example, driving a car it is easy if interact directly to move the steering left and right. But in multimodal case, have to tell the car which degree should steer to right or to the left. That's why for complete the many tasks direct interaction is the superior process to other way.

Embodied conversational agent (ECA): Human are use to interact with human. The ECA is a like virtual human that has ability to conversation with humans by both like understanding and producing speech recognition, face recognition and hand gesture. And this agent used in a web based banking, an online assistance or navigation guides and avatar has become quite popular.


In the future smart user interface for ubiquitous computing will be a most significant thing. Generally, there are three things could be smart for build smart user interface: the user, the system or the way that means which way they will use for interact. Most of the researchers concentrate on to enhance the system´s smart and it will lead a better usability that is their assumptions. It is acceptable for some case but not for all cases. On the other approach is to say that user is the smartest agent and their intelligence should be enhanced. However, it should do all together like as possible interaction will make easy and efficient. But when they will make decision they have to consider carefully their mind the overall goal of a smart user interface and that should be defined by usability goals.


In general, in this essay introduced the expression of designing user interface for ubiquitous computing and particularly its present smart user interface. At first we have presented how to build a good user interface and that is the basic for building a smart user interface. Then we have introduced different methods of human centered design. These methods or techniques are iteratively design the system with performing the evaluation and get feedback. This approach is important for ubiquitous computing system and it is important to achieve the desired design goals. We have mentioned some basics techniques to build a good user interface and these techniques are also valid for other systems. Later we have discuss different specific issues like design error, design make it visible and transparency, and support mental model and also mentioned different human factors. Finally, present different techniques by using these techniques user can interact smartly like user can connect different types of device, media using cross over connection. Then present three things interface how much will be smart and if we used together these things then that system will be easy to use and feasibility and connect efficient way.