The Psychology of Time Perception in Software: Expressing Time in Your UI- Steven C. Seow
How you express time in the user interface (UI) can determine how your user experiences and perceives your solution. This chapter discusses when and how you should express time in the UI of your solution and introduces the use of time anchors.
In many instances, especially in progress indications, you need to communicate to your user some aspect of time, such as remaining time or estimated completion time. Although it may seem trivial and superficial, how you express time in the user interface (UI) can determine how your user experiences and perceives your solution. Simple words—for good or bad—can alter perception and affect tolerance.
The Timing of Time: Past, Present, Future
Besides what you express (phrases, time units, etc.) and how you express it (text, graphical, etc.), you also need to consider when you provide timing information to your user. For example, telling a person who is about to stand in line how long it will take to get to the front of the line has a different effect and serves a different purpose than informing the person who is already standing halfway in the line. Simply put, when you release information can make or break an experience. We all have our share of horror stories of how the mistiming of some information, sometimes by a matter of mere seconds, changed the course of events.
Users will use any information revealed by the UI—by design or otherwise—to form a perception of an interaction or process. This shouldn't be a surprise because we all do something similar every day. We make predictions based on patterns we see (long lines equal long wait), evaluate the quality of things based on signs and symptoms (blemishes equal carelessness), and form theories about why things happen the way they did (broken because of poor-quality parts). Likewise, users will use any timing information to help them understand and decide how they feel about and respond to the duration of an interaction.
Consider the following questions:
• How long will this take?
• How much longer will this take?
• How much time did that take?
Each of these three questions relates to a different temporal perspective; that is, where you are in temporal relation to some event. We can perceive durations from three basic temporal perspectives. First, we can anticipate, set expectations, or predict the duration of an event before it begins. Because the event has not happened, we'll describe this as prospective. In the UI, informing users how long a download will take, for example, is giving users a prospective estimate of the duration of the download. Second, we assess the duration of an event in real time while it is transpiring. A great example is reporting remaining time as the download is progressing. Finally, we can also evaluate the duration after event has transpired. We describe this last one as retrospective. Telling users how much time the download took after it has completed is an example. As mentioned, when you provide information about the duration of some event can influence user perception and shape user experience.
Wednesday, August 11, 2010
Tuesday, August 10, 2010
Mind Iteration: A Perception of Repetition for Programmers
who here is a software engineer?
Certainly, all of us find it hard at one point or another. We have to go through the whole process of learning everything.
From the logical operations (if-else statements) to all the different kinds of loops (for, while, do-while).
Haven't you been wondering why all of these are repeated every single semester?
Why does it seem that everything we are being taught, we already know?
well, in my opinion, there is a purpose for everything.
consider this story of a young man and his brother Xian..
when it comes right down to it, Xian's decision is based on his own perception. as a software engineer, his mind set is that when everything gets repeated every time, you tend to memorize them and make it a part of you.
Being a software engineer is tough specially when time goes by because new languages are coming up. For instance, updates from the current language you're using are coming up so you need to study them all over again. but a good thing about it is that the logic is still the same. yes, new technologies are coming up but the logic stays the same, and that is the core part of programming.
take this for example
The conditional operation evolved from if-else to switch. but the logic stays the same.
The for loops, the conditional operations, everything is still the same. what usually changes is the syntax.
Beyond all that, you can still manage to study it.
When it gets repeated, it again becomes a part of you.
now if everything is repeated - from learning to learning - then it becomes a lifestyle. then you base your perception on what you've learned from it due to repetition.
now do you have what it takes to be a software engineer?
are you ready for the advancement of the whole world?
bring it on! and bring the best out of what a software engineer could be!
Certainly, all of us find it hard at one point or another. We have to go through the whole process of learning everything.
From the logical operations (if-else statements) to all the different kinds of loops (for, while, do-while).
Haven't you been wondering why all of these are repeated every single semester?
Why does it seem that everything we are being taught, we already know?
well, in my opinion, there is a purpose for everything.
consider this story of a young man and his brother Xian..
Copyright 2010 Ronchristian R. Gruspe |
when it comes right down to it, Xian's decision is based on his own perception. as a software engineer, his mind set is that when everything gets repeated every time, you tend to memorize them and make it a part of you.
Being a software engineer is tough specially when time goes by because new languages are coming up. For instance, updates from the current language you're using are coming up so you need to study them all over again. but a good thing about it is that the logic is still the same. yes, new technologies are coming up but the logic stays the same, and that is the core part of programming.
take this for example
Code in late 80's |
Code in late 90's |
The for loops, the conditional operations, everything is still the same. what usually changes is the syntax.
Beyond all that, you can still manage to study it.
When it gets repeated, it again becomes a part of you.
now if everything is repeated - from learning to learning - then it becomes a lifestyle. then you base your perception on what you've learned from it due to repetition.
now do you have what it takes to be a software engineer?
are you ready for the advancement of the whole world?
bring it on! and bring the best out of what a software engineer could be!
Sunday, August 8, 2010
Perception for Progammers: Inheritance
Overview
We were asked to do do a project on perception as it relates to our course. Well, that is a
rather vague request; thus, I decided to narrow down things by first answering the question, "What is perception?
Perception - process by which organisms interpret and organize sensation to produce a meaningful experience of the world.
Then that leads us to another question on what sensation is.
Sensation - a process wherein sense organs receive stimulation and relay the messages to the brain.
A Rebuttal
Contrary to what the rest of the world thinks, software engineers actually make software based on objects
modeled from the real world. If we face it, the real world is what actually uses these software, so it only makes sense that real world processes are mimiced and automated in software created by --surprise surprise! -- programmers. In some ways, we actually create another world where objects live and interact among each other in their own realm. For example, look at an attendance system. Isn't that automating/imitating a real world process? Thus, we actually make systems based on how we perceive the real world. How we see it, hear it, feel it. But that discussion deserves its own post in itself..so instead, I will elaborate on a more specific way wherein a principle of perception affects what we do as programmers - the Law of Similarity.
The Law of Similarity
According to this Gestalt Law of Perception, items that are similar or alike tend to be grouped together. Programmer Peeps, sounds familiar? Doesn't it sound like INHERITANCE? A common start in finding if inheritance is possible is by...
Inheritance
But wait! What is inheritance again?
Inheritance: Object-oriented programming allows classes to inherit commonly used state and behavior from other classes.
Inheritance lets us group together similar attributes and functionality in a more general class, whether it be abstract or not.We can even lump those up into an interface so that all other classes, which are more specific, will just inherit the general functionality of the more general or parent(super)class. Therefore, from our example above, this is what programmers do. The classes in this UML-like diagram will look like; all the similar functionality are grouped in the parent class Animal and all the other species inherit from it.
Another Example
Look at the example below. Stop and think. Don't books, CD's, and travel guides all have a price? Don't all products have an name and a description? This is a perfect example of inheritance. Instead of repeating the same code over and over, we group the similar things together, such as id, name, description, and price, and put them in a more general class. That way, the more specific classes can inherit from them, instead of res re-specifying them in their own respective classes.
Conclusion
Thus, we have related a principle of perception to the course of Software Engineering. Just because we deal with high technology, codes, programs, and software doesn't mean that we do not participate in the real world around us.
Definitions and Images:
Sensation and Perception : Rizalee Rowan D.
Head First Java
Definitions and Images:
Sensation and Perception : Rizalee Rowan D.
Head First Java
Figure-Ground Perception :)
What is perception?
“Perception” refers to our internal mind or what we actually think. It is about what’s going on our mind and how things mean to us. It is how we see and understand things in our own little world. Since that is what perception means then let me share to you what I perceived about “figure-ground perception”.
According to Wikipedia….
* Figure - a definite shape or the object that you focused on.
*Ground - appears to be shapeless or serves as the “background”
According to Ms. Riza… (Our professor in INTPSYCH)
“Figure-ground is the moment that when you focus on one object, it serves as the focused object and the others are the background.”
Figure-ground perception is the ability to distinguish an object from a background. As a Software Engineering student, I can say that figure-ground perception is like abstraction. Abstraction, from what I learned, allows us to ignore unessential details. It allows us to focus on the important parts rather than focusing on the unimportant ones. As a result, it makes things less complicated or understandable.
----------------------------------------------------------------------------------------------------------------------------------------------
Picture 1:
So… as I looked at the picture I saw an air conditioner.
I just saw it as that. My focus went to the air conditioner alone. The other details such as the rust, window, and the wall served as the background or ground.
There is a possibility that what I saw might have been different from what others have seen. You may have seen the other details first or focused more on them rather than the air conditioner for the reason that, it is what you chose to focus on.
In the abstraction perspective, you just see the air conditioner and might know how it works. You know that it gives air to the people to make them relax or it cools down a hot place, but the idea on how it works inside is abstracted from you. These are the things like how it was built and the parts that form an air conditioner. You just focus on what you see, which is the “air conditioner.”
----------------------------------------------------------------------------------------------------------------------------------------------
Picture 2:
It was said that “by concentrating on the white center you can see a woman in the arms of a man. Then if you focus on the dark gray in the center of the picture, you can see dolphins.”
It is just a matter of what you want to focus on depending on what’s stored in your mind or how you want to interpret the picture. You can also perceive any other idea through that picture if you want to.
Figure-ground perception is how we mentally establish what we see. It is usually different from the external physical word that we live in. We sometimes choose to see things beyond the normal in our “own little world”. We sometimes choose to hide the other details in our mind to make things more interesting. We can relate the same logic to abstraction…. Abstraction is applied to manage complexities in the real world. This simply means that you can just focus on what you think are essential and avoid stressing yourself from thinking about all the other details that should not be considered.
----------------------------------------------------------------------------------------------------------------------------------------------
I tried to bing the word “predefined function” and this statement showed up… “A sequence of instructions that is identified by name in a computer program but is built into the high-level programming language from which the program is compiled or is retrieved from somewhere outside the program, such as a subroutine library.” In short….. it was predefined or a function that is previously written by someone else, and it “lives” in a certain library! You don’t have to worry about how it was made, just how to use it! You “focus” on how to use that specific function and the rest (like how it was made) should be of no concern to you, like the background.
See? You don’t have to know everything or sweat every little detail out. You just focus on how to use that predefined function and let the code someone else wrote for you do all the work!
The program that happens behind a predefined function is abstracted from the programmer (Abstracted simply means they don’t have to know everything about it.) They just have to know how it works, or its purpose, for it to be functional in their programs. As I again relate it to figure-ground perception , I would like to emphasize again the word “focus”. Programmers will focus more on a certain predefined function (HOW TO USE IT) ; the rest of the gory code is already written, tested, etc. by someone else and it disappears in the “background.” It’s like just focusing on a certain object (function) in a picture and the other unnecessary things (code, extra details) serves only as a background.
Here’s a picture of a sample program… I used the rand() function as an example. Its purpose is to return a random integer from zero to 32767. It was said that you need to use “stdlib.h” as a header file in order to use rand() function. As you can see I just use the rand() predefined function and it generated a random number. No need to know what happens behind that predefined function.
“Perception” refers to our internal mind or what we actually think. It is about what’s going on our mind and how things mean to us. It is how we see and understand things in our own little world. Since that is what perception means then let me share to you what I perceived about “figure-ground perception”.
According to Wikipedia….
* Figure - a definite shape or the object that you focused on.
*Ground - appears to be shapeless or serves as the “background”
According to Ms. Riza… (Our professor in INTPSYCH)
“Figure-ground is the moment that when you focus on one object, it serves as the focused object and the others are the background.”
Figure-ground perception is the ability to distinguish an object from a background. As a Software Engineering student, I can say that figure-ground perception is like abstraction. Abstraction, from what I learned, allows us to ignore unessential details. It allows us to focus on the important parts rather than focusing on the unimportant ones. As a result, it makes things less complicated or understandable.
----------------------------------------------------------------------------------------------------------------------------------------------
Picture 1:
So… as I looked at the picture I saw an air conditioner.
I just saw it as that. My focus went to the air conditioner alone. The other details such as the rust, window, and the wall served as the background or ground.
There is a possibility that what I saw might have been different from what others have seen. You may have seen the other details first or focused more on them rather than the air conditioner for the reason that, it is what you chose to focus on.
In the abstraction perspective, you just see the air conditioner and might know how it works. You know that it gives air to the people to make them relax or it cools down a hot place, but the idea on how it works inside is abstracted from you. These are the things like how it was built and the parts that form an air conditioner. You just focus on what you see, which is the “air conditioner.”
----------------------------------------------------------------------------------------------------------------------------------------------
Picture 2:
It was said that “by concentrating on the white center you can see a woman in the arms of a man. Then if you focus on the dark gray in the center of the picture, you can see dolphins.”
It is just a matter of what you want to focus on depending on what’s stored in your mind or how you want to interpret the picture. You can also perceive any other idea through that picture if you want to.
Figure-ground perception is how we mentally establish what we see. It is usually different from the external physical word that we live in. We sometimes choose to see things beyond the normal in our “own little world”. We sometimes choose to hide the other details in our mind to make things more interesting. We can relate the same logic to abstraction…. Abstraction is applied to manage complexities in the real world. This simply means that you can just focus on what you think are essential and avoid stressing yourself from thinking about all the other details that should not be considered.
----------------------------------------------------------------------------------------------------------------------------------------------
I tried to bing the word “predefined function” and this statement showed up… “A sequence of instructions that is identified by name in a computer program but is built into the high-level programming language from which the program is compiled or is retrieved from somewhere outside the program, such as a subroutine library.” In short….. it was predefined or a function that is previously written by someone else, and it “lives” in a certain library! You don’t have to worry about how it was made, just how to use it! You “focus” on how to use that specific function and the rest (like how it was made) should be of no concern to you, like the background.
See? You don’t have to know everything or sweat every little detail out. You just focus on how to use that predefined function and let the code someone else wrote for you do all the work!
The program that happens behind a predefined function is abstracted from the programmer (Abstracted simply means they don’t have to know everything about it.) They just have to know how it works, or its purpose, for it to be functional in their programs. As I again relate it to figure-ground perception , I would like to emphasize again the word “focus”. Programmers will focus more on a certain predefined function (HOW TO USE IT) ; the rest of the gory code is already written, tested, etc. by someone else and it disappears in the “background.” It’s like just focusing on a certain object (function) in a picture and the other unnecessary things (code, extra details) serves only as a background.
Subscribe to:
Posts (Atom)