This is interesting. When you are entering mohammad'/*, that could have triggered an SQL exception, since your input would probably be used in the SQL query (without bind variables). For example (a trivial example),
select * from usertable where user='mohammad'/*' and password='123'
So you haven't actually entered any terminating */, since the DB would expect that. I mean /* */ is used for SQL query commenting. Hence it could have triggered an exception. So you assumed that the programmer actually did put comments (which is not a bad assumption):
select * from usertable where user='mohammad'/*' and password='123' /* should return something if both match */
In this case it would have worked. since the DB will probably ignore the second /* it gets.
But if you had entered mohammad'-- that would have worked in both cases listed above:
select * from usertable where user='mohammad'--' and password='123' /* should return something if both match */
Since everything after "--" would have been treated as a comment, without expecting any terminating string. But even that would not have worked if the query was written differently. I am just blabbering here, mostly to clear my own thoughts. There are so many ways to write SQL injection vectors, without any guarantee to expose the code vulnerability. I mean just because an attack vector didn't work wouldn't mean that it's immune to SQL injection.
Hackers have it tough, since they have to use systematic techniques to find that vulnerability. Testers or programmers probably have it easier, since they have access to the actual query itself.
On Wed, Dec 30, 2009 at 4:43 PM, Abu Mohammad Omar Shehab Uddin Ayub <shehab@bdosn.org> wrote: > > > > You may like to start with Wikipedia articles. > > http://en.wikipedia.org/wiki/Computer_security > > Let me give you an example. > > In the earlier version of Prothom Alo website, they introduced a paid subscription for daily updates. If you haven't bought the account there you will be able to see the headline of the updates. But for the details you had to log in as a paid subscriber. > > We used to use mohammad'/* as the user name and 123 (or any other character sequence) as password and could break in and read the details. So what went there? > > As Mohammad is a very common Bangladeshi name there is a good chance that someone has created an account with this user name. And as we have used ' after it, it comples the SQL statement while checking credentials before matching the password and allowed us to log in. It is an example of SQL injection. > > > |=============| > Regards, > Abu Mohammad Omar Shehab Uddin Ayub > (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব) > Senior Software Engineer, Nilavo Technologies, Banani, Dhaka > Bangladesh Open Source Network, Dhaka > 2000 batch, Dept. of CSE, SUST > Sent from Dhaka, Bangladesh > > On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@dhaka.net> wrote: >> >> >> >> While surfing on the net, I came across a site which said "Concepts of Hacking you all should know about": >> >> Desktop Programming >> Buffer Overflow (buffer-over-run) >> Dll Injection >> API Hooking >> Masquerading >> Hex Editing >> >> Web Hacking >> XSS Cross Site Scripting >> SQL Injection >> HTTP response splitting >> Directory Travesal >> Googling >> >> Network >> Reflection Attack >> Man in Middle Attack >> Packet sniffing (capture) >> Session Hijacking >> SYN flooding >> Smurf Attack >> UDP flooding >> Ping of Death >> I was wondering if is there was any one who would care to enlighten me/some of us about these techniques succintly. > >
Hi,
First of all, whoever is tampering with a URL at sqabd.com, it isn't me :).
Secondly, my intensions are not to become a cracker at this stage, but
rather learn about these hacking/cracking techniques so that I could be more
careful with my own coding. (I use the term cracker here because hacker is a
good term I believe, please check
http://msdn.microsoft.com/en-us/magazine/bb985003.aspx).
I can give a small example of how the knowledge of the buffer overrun issue
made me more careful about my own coding.
Earlier (3/4 years back), I didn't differentiate much between signed and
unsigned variables.
But knowing about the famous Microsoft Windows Integer Overflow and buffer
overrun security issue
Microsoft Windows LoadImage API Function Integer Overflow Vulnerability
http://www.securityfocus.com/bid/12095
(which would allow even opening a image with IE or some other software to
cause a security breach) helped me to become wiser.
The only silly little mistake the poor MS Developer made was to use a signed
value instead of an unsigned one at a critical place in the LoadImage API.
This allowed a clever hacker (I believe he was not the cracker) to come up
with the idea of how this vulnerability can be used to run a series of codes
encrypted in the Image itself. You don't even need to run an exe, you only
need to open an image and the next thing you know, your defenses are down.
Well we are safe now, after the advent of Windows XP, but not too safe.
Please check out :)
Microsoft Security Bulletin MS04-028
Buffer Overrun in JPEG Processing (GDI+) Could Allow Code Execution (833987)
http://www.microsoft.com/technet/security/Bulletin/MS04-028.mspx
So, I hope I have clarified my intensions behind learning more about the
concepts of hacking and certainly it is not about being the best new cracker
in town.
Best Regards,
Mukit
----- Original Message -----
From: "Sajjadul Hakim" <sajjadul@...>
To: <sqa_bangladesh@yahoogroups.com>
Sent: Thursday, December 31, 2009 11:37 AM
Subject: Re: [SQABD] Concepts of hacking!!
Congrats Kaisar. You just motivated someone to tamper a URL at
sqabd.com. :D Good thing we were prepared for that.
Anyways, I find this topic fascinating. I have a lot to learn here.
Maybe we can share some practical experiences we have here on some of
the topics and move ahead. What do you say Mukit? Let me warn you, I
am not that reliable in being "succinct" :)
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
On Thu, Dec 31, 2009 at 1:29 AM, M. Kaisar Ul Haque <m.kaisar@...>
wrote:
>
>
>
> Mukit bhai,
>
> When you are learning these stuff, perhaps sqabd.com would be a good place
> to start your experiments :).. (kidding)
>
> Good luck and do keep us posted on your experiments :).. (not kidding)
>
> Regards.
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@...> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of
>> Hacking you all should know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over-run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care to enlighten
>> me/some of us about these techniques succintly.
>
>
------------------------------------
************************
************************
Visit www.sqabd.com
************************
************************Yahoo! Groups Links
Thanks for your insights. |=============| Regards, Abu Mohammad Omar Shehab Uddin Ayub (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব) Senior Software Engineer, Nilavo Technologies, Banani, Dhaka
Bangladesh Open Source Network, Dhaka 2000 batch, Dept. of CSE, SUST Sent from Dhaka, Bangladesh
On Thu, Dec 31, 2009 at 12:35 PM, Monirul Islam <monirul4islam@...> wrote:
Oh, I missed the Shehab's post. I also read the prothom alo "Shandho Kaleen Version" regularly almost in that way but my vector was a common vector which is:
1' or 1=1--
Putting that one in both username an password field allowed me to login as an ambiguous user everytime. Well, now the bug is fixed. As far as I can remember I reported this issue to prothom-alo though didn't hear back from them. Actually I test the SQL Injection vulnerabilities in several steps:
1. First I test with some common vectors like:
1 OR 1=1--
1' OR '1'='1--
1" OR "1"="1--
etc.
2. If I don't see any LUCK then I use the following cheat sheet for sql injection testing. This is the one of most updated and popular cheat sheet for SQL Injection. http://ha.ckers.org/sqlinjection/
3. Still there is no LUCK then I
do blind SQL injection attack with tools.
When I say 'there is no LUCK' that means, I don't see any alluring error messages or something odd in the system. All the above procedures I follow when I have no source code but If I have the source code then no need to follow the above steps, just checking the source code is enough.
For the testers who don't really want to learn hacking just want to do some basic test for SQL Injection they can use this add-on for firefox, I used this once upon a time. https://addons.mozilla.org/en-US/firefox/addon/6727
Thanks, Monirul
--- On Thu, 12/31/09, Sajjadul Hakim <sajjadul@...> wrote:
This is interesting. When you are entering mohammad'/*, that could
have triggered an SQL exception, since your input would probably be
used in the SQL query (without bind variables). For example (a trivial
example),
select * from usertable where user='mohammad' /*' and password='123'
So you haven't actually entered any terminating */, since the DB would
expect that. I mean /* */ is used for SQL query commenting. Hence it
could have triggered an exception. So you assumed that the programmer
actually did put comments (which is not a bad assumption):
select * from usertable where user='mohammad' /*' and password='123'
/* should return something if both match */
In this case it would have worked. since the DB will probably ignore
the second /* it gets.
But if you had entered mohammad'-- that would have worked in both
cases listed above:
select * from usertable where user='mohammad' --' and password='123'
/* should return something if both match */
Since everything after "--" would have been treated as a comment,
without expecting any terminating string. But even that would not have
worked if the query was written differently. I am just blabbering
here, mostly to clear my own thoughts. There are so many ways to write
SQL injection vectors, without any guarantee to expose the code
vulnerability. I mean just because an attack vector didn't work
wouldn't mean that it's immune to SQL injection.
Hackers have it tough, since they have to use systematic techniques to
find that vulnerability. Testers or programmers probably have it
easier, since they have access to the actual query itself.
On Wed, Dec 30, 2009 at 4:43 PM, Abu Mohammad Omar Shehab Uddin Ayub
<shehab@bdosn. org> wrote:
>
>
>
> You may like to start with Wikipedia articles.
>
> http://en.wikipedia .org/wiki/ Computer_ security
>
> Let me give you an example.
>
> In the earlier version of Prothom Alo website, they introduced a paid subscription for daily updates. If you haven't bought the account there you will be able to see the headline of the updates. But for the details you had to log in as a paid subscriber.
>
> We used to use mohammad'/* as the user name and 123 (or any other character sequence) as password and could break in and read the details. So what went there?
>
> As Mohammad is a very common Bangladeshi name there is a good chance that someone has created an account with this user name. And as we have used ' after it, it comples the SQL statement while checking credentials before matching the password and allowed us to log in. It is an example of SQL injection.
>
>
> |=========== ==|
> Regards,
> Abu Mohammad Omar Shehab Uddin Ayub
> (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব)
> Senior Software Engineer, Nilavo Technologies, Banani, Dhaka
> Bangladesh Open Source Network, Dhaka
> 2000 batch, Dept. of CSE, SUST
> Sent from Dhaka, Bangladesh
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@dhaka. net> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of Hacking you all should know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over- run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care to enlighten me/some of us about these techniques succintly.
>
>
In my previous reply I said http://ha.ckers.org/sqlinjection/ this is one of the most updated cheat sheet for SQL Injection. It's a wrong information.
But this blog owner maintains a XSS cheat sheet which is very interesting, updated and most popular I believe and I use this.
http://ha.ckers.org/xss.html
Thanks, Monirul
--- On Thu, 12/31/09, Sajjadul Hakim <sajjadul@...> wrote:
From: Sajjadul Hakim <sajjadul@...> Subject: Re: [SQABD] Concepts of hacking!! To: sqa_bangladesh@yahoogroups.com Date: Thursday, December 31, 2009, 11:12 AM
Hey Shehab,
This is interesting. When you are entering mohammad'/*, that could
have triggered an SQL exception, since your input would probably be
used in the SQL query (without bind variables). For example (a trivial
example),
select * from usertable where user='mohammad' /*' and password='123'
So you haven't actually entered any terminating */, since the DB would
expect that. I mean /* */ is used for SQL query commenting. Hence it
could have triggered an exception. So you assumed that the programmer
actually did put comments (which is not a bad assumption):
select * from usertable where user='mohammad' /*' and password='123'
/* should return something if both match */
In this case it would have worked. since the DB will probably ignore
the second /* it gets.
But if you had entered mohammad'-- that would have worked in both
cases listed above:
select * from usertable where user='mohammad' --' and password='123'
/* should return something if both match */
Since everything after "--" would have been treated as a comment,
without expecting any terminating string. But even that would not have
worked if the query was written differently. I am just blabbering
here, mostly to clear my own thoughts. There are so many ways to write
SQL injection vectors, without any guarantee to expose the code
vulnerability. I mean just because an attack vector didn't work
wouldn't mean that it's immune to SQL injection.
Hackers have it tough, since they have to use systematic techniques to
find that vulnerability. Testers or programmers probably have it
easier, since they have access to the actual query itself.
On Wed, Dec 30, 2009 at 4:43 PM, Abu Mohammad Omar Shehab Uddin Ayub
<shehab@bdosn. org> wrote:
>
>
>
> You may like to start with Wikipedia articles.
>
> http://en.wikipedia .org/wiki/ Computer_ security
>
> Let me give you an example.
>
> In the earlier version of Prothom Alo website, they introduced a paid subscription for daily updates. If you haven't bought the account there you will be able to see the headline of the updates. But for the details you had to log in as a paid subscriber.
>
> We used to use mohammad'/* as the user name and 123 (or any other character sequence) as password and could break in and read the details. So what went there?
>
> As Mohammad is a very common Bangladeshi name there is a good chance that someone has created an account with this user name. And as we have used ' after it, it comples the SQL statement while checking credentials before matching the password and allowed us to log in. It is an example of SQL injection.
>
>
> |=========== ==|
> Regards,
> Abu Mohammad Omar Shehab Uddin Ayub
> (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব)
> Senior Software Engineer, Nilavo Technologies, Banani, Dhaka
> Bangladesh Open Source Network, Dhaka
> 2000 batch, Dept. of CSE, SUST
> Sent from Dhaka, Bangladesh
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@dhaka. net> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of Hacking you all should know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over- run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care to enlighten me/some of us about these techniques succintly.
>
>
Oh, I missed the Shehab's post. I also read the prothom alo "Shandho Kaleen Version" regularly almost in that way but my vector was a common vector which is:
1' or 1=1--
Putting that one in both username an password field allowed me to login as an ambiguous user everytime. Well, now the bug is fixed. As far as I can remember I reported this issue to prothom-alo though didn't hear back from them. Actually I test the SQL Injection vulnerabilities in several steps:
1. First I test with some common vectors like:
1 OR 1=1--
1' OR '1'='1--
1" OR "1"="1--
etc.
2. If I don't see any LUCK then I use the following cheat sheet for sql injection testing. This is the one of most updated and popular cheat sheet for SQL Injection. http://ha.ckers.org/sqlinjection/
3. Still there is no LUCK then I
do blind SQL injection attack with tools.
When I say 'there is no LUCK' that means, I don't see any alluring error messages or something odd in the system. All the above procedures I follow when I have no source code but If I have the source code then no need to follow the above steps, just checking the source code is enough.
For the testers who don't really want to learn hacking just want to do some basic test for SQL Injection they can use this add-on for firefox, I used this once upon a time. https://addons.mozilla.org/en-US/firefox/addon/6727
Thanks, Monirul
--- On Thu, 12/31/09, Sajjadul Hakim <sajjadul@...> wrote:
From: Sajjadul Hakim <sajjadul@...> Subject: Re: [SQABD] Concepts of hacking!! To: sqa_bangladesh@yahoogroups.com Date: Thursday, December 31, 2009,
11:12 AM
Hey Shehab,
This is interesting. When you are entering mohammad'/*, that could
have triggered an SQL exception, since your input would probably be
used in the SQL query (without bind variables). For example (a trivial
example),
select * from usertable where user='mohammad' /*' and password='123'
So you haven't actually entered any terminating */, since the DB would
expect that. I mean /* */ is used for SQL query commenting. Hence it
could have triggered an exception. So you assumed that the programmer
actually did put comments (which is not a bad assumption):
select * from usertable where user='mohammad' /*' and password='123'
/* should return something if both match */
In this case it would have worked. since the DB will probably ignore
the second /* it gets.
But if you had entered mohammad'-- that would have worked in both
cases listed above:
select * from usertable where user='mohammad' --' and password='123'
/* should return something if both match */
Since everything after "--" would have been treated as a comment,
without expecting any terminating string. But even that would not have
worked if the query was written differently. I am just blabbering
here, mostly to clear my own thoughts. There are so many ways to write
SQL injection vectors, without any guarantee to expose the code
vulnerability. I mean just because an attack vector didn't work
wouldn't mean that it's immune to SQL injection.
Hackers have it tough, since they have to use systematic techniques to
find that vulnerability. Testers or programmers probably have it
easier, since they have access to the actual query itself.
On Wed, Dec 30, 2009 at 4:43 PM, Abu Mohammad Omar Shehab Uddin Ayub
<shehab@bdosn. org> wrote:
>
>
>
> You may like to start with Wikipedia articles.
>
> http://en.wikipedia .org/wiki/ Computer_ security
>
> Let me give you an example.
>
> In the earlier version of Prothom Alo website, they introduced a paid subscription for daily updates. If you haven't bought the account there you will be able to see the headline of the updates. But for the details you had to log in as a paid subscriber.
>
> We used to use mohammad'/* as the user name and 123 (or any other character sequence) as password and could break in and read the details. So what went there?
>
> As Mohammad is a very common Bangladeshi name there is a good chance that someone has created an account with this user name. And as we have used ' after it, it comples the SQL statement while checking credentials before matching the password and allowed us to log in. It is an example of SQL injection.
>
>
> |=========== ==|
> Regards,
> Abu Mohammad Omar Shehab Uddin Ayub
> (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব)
> Senior Software Engineer, Nilavo Technologies, Banani, Dhaka
> Bangladesh Open Source Network, Dhaka
> 2000 batch, Dept. of CSE, SUST
> Sent from Dhaka, Bangladesh
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@dhaka. net> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of Hacking you all should know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over- run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care to enlighten me/some of us about these techniques succintly.
>
>
Hey Shehab,
This is interesting. When you are entering mohammad'/*, that could
have triggered an SQL exception, since your input would probably be
used in the SQL query (without bind variables). For example (a trivial
example),
select * from usertable where user='mohammad'/*' and password='123'
So you haven't actually entered any terminating */, since the DB would
expect that. I mean /* */ is used for SQL query commenting. Hence it
could have triggered an exception. So you assumed that the programmer
actually did put comments (which is not a bad assumption):
select * from usertable where user='mohammad'/*' and password='123'
/* should return something if both match */
In this case it would have worked. since the DB will probably ignore
the second /* it gets.
But if you had entered mohammad'-- that would have worked in both
cases listed above:
select * from usertable where user='mohammad'--' and password='123'
/* should return something if both match */
Since everything after "--" would have been treated as a comment,
without expecting any terminating string. But even that would not have
worked if the query was written differently. I am just blabbering
here, mostly to clear my own thoughts. There are so many ways to write
SQL injection vectors, without any guarantee to expose the code
vulnerability. I mean just because an attack vector didn't work
wouldn't mean that it's immune to SQL injection.
Hackers have it tough, since they have to use systematic techniques to
find that vulnerability. Testers or programmers probably have it
easier, since they have access to the actual query itself.
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
On Wed, Dec 30, 2009 at 4:43 PM, Abu Mohammad Omar Shehab Uddin Ayub
<shehab@...> wrote:
>
>
>
> You may like to start with Wikipedia articles.
>
> http://en.wikipedia.org/wiki/Computer_security
>
> Let me give you an example.
>
> In the earlier version of Prothom Alo website, they introduced a paid
subscription for daily updates. If you haven't bought the account there you will
be able to see the headline of the updates. But for the details you had to log
in as a paid subscriber.
>
> We used to use mohammad'/* as the user name and 123 (or any other character
sequence) as password and could break in and read the details. So what went
there?
>
> As Mohammad is a very common Bangladeshi name there is a good chance that
someone has created an account with this user name. And as we have used ' after
it, it comples the SQL statement while checking credentials before matching the
password and allowed us to log in. It is an example of SQL injection.
>
>
> |=============|
> Regards,
> Abu Mohammad Omar Shehab Uddin Ayub
> (আবু মোহাম্মদ ওমর
শেহাবউদ্দীন আইয়ুব)
> Senior Software Engineer, Nilavo Technologies, Banani, Dhaka
> Bangladesh Open Source Network, Dhaka
> 2000 batch, Dept. of CSE, SUST
> Sent from Dhaka, Bangladesh
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@...> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of
Hacking you all should know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over-run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care to enlighten me/some
of us about these techniques succintly.
>
>
Congrats Kaisar. You just motivated someone to tamper a URL at
sqabd.com. :D Good thing we were prepared for that.
Anyways, I find this topic fascinating. I have a lot to learn here.
Maybe we can share some practical experiences we have here on some of
the topics and move ahead. What do you say Mukit? Let me warn you, I
am not that reliable in being "succinct" :)
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
On Thu, Dec 31, 2009 at 1:29 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
>
>
>
> Mukit bhai,
>
> When you are learning these stuff, perhaps sqabd.com would be a good place to
start your experiments :).. (kidding)
>
> Good luck and do keep us posted on your experiments :).. (not kidding)
>
> Regards.
>
> On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@...> wrote:
>>
>>
>>
>> While surfing on the net, I came across a site which said "Concepts of
Hackingyou allshould know about":
>>
>> Desktop Programming
>> Buffer Overflow (buffer-over-run)
>> Dll Injection
>> API Hooking
>> Masquerading
>> Hex Editing
>>
>> Web Hacking
>> XSS Cross Site Scripting
>> SQL Injection
>> HTTP response splitting
>> Directory Travesal
>> Googling
>>
>> Network
>> Reflection Attack
>> Man in Middle Attack
>> Packet sniffing (capture)
>> Session Hijacking
>> SYN flooding
>> Smurf Attack
>> UDP flooding
>> Ping of Death
>> I was wondering if is there was any one who would care toenlighten me/some
of us about these techniques succintly.
>
>
In the earlier version of Prothom Alo website, they introduced a paid subscription for daily updates. If you haven't bought the account there you will be able to see the headline of the updates. But for the details you had to log in as a paid subscriber.
We used to use mohammad'/* as the user name and 123 (or any other character sequence) as password and could break in and read the details. So what went there?
As Mohammad is a very common Bangladeshi name there is a good chance that someone has created an account with this user name. And as we have used ' after it, it comples the SQL statement while checking credentials before matching the password and allowed us to log in. It is an example of SQL injection.
|=============| Regards, Abu Mohammad Omar Shehab Uddin Ayub (আবু মোহাম্মদ ওমর শেহাবউদ্দীন আইয়ুব) Senior Software Engineer, Nilavo Technologies, Banani, Dhaka Bangladesh Open Source Network, Dhaka
2000 batch, Dept. of CSE, SUST Sent from Dhaka, Bangladesh
On Wed, Dec 30, 2009 at 3:19 PM, Mukit, Ataul <epolymer@...> wrote:
While surfing on the net, I came across a site which said "Concepts of Hacking you all should know about":
Desktop Programming
Buffer Overflow (buffer-over-run) Dll Injection API Hooking Masquerading Hex Editing
Agreed, software systems will evolve over time. They will probably get easier/more user centric, more integrated and more complex in terms of architecture and we have hope for better business as well :).
Regards.
On Sun, Nov 15, 2009 at 12:32 PM, SLee <shiblee.sqa@...> wrote:
Your logic is correct. But again, everything will gradually change and evolve. Say, expectation to the Y generation is little bit different that what we expect. So, may be future sites will have many options for many cultures, countries, generations, religions. OR may be only one option :)
On Sun, Nov 15, 2009 at 1:07 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Would like to add a comment on this one:
Shiblee bhai mentioned:
"the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)"
Well, I guess the airlines, who are doing billions of dollars of business for decades, know more about how their software should work and what (software system) they are spending their money on. They probably are more aware that how experienced passengers would like or dislike it, and they still have that system in place. Because with this system, they are making majority of the passenger's life easier. The bored one will get bored with any system and will stop using it at some point :). And for them, there's always the manual check-in counter!
Regards, -Kaisar
On Sun, Nov 15, 2009 at 12:52 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Dear Shiblee bhai,
I think I couldn't express my points very well. I wanted to point out two issues:
1. Tahmid and rest of us were giving examples of usability issues that take days to develop. I wanted to share some examples which may take years to develop. All works, small or large, are very important and we all know that. I do not think anybody neglects the login box. However, it's not the size of the feature, it's the amount of work I am pointing out. We do not handle a two days tasks and a year long task in the same way, I'm trying to highlight that.
2. I wanted to point out the importance of handling usability issues during the requirements capturing phase of a project or iteration. Some of us overlooked the need of understanding/defining the details of work during the requirements phase and suggested to do it on ad-hoc basis during development. This is something I don't agree with and I tried to show by examples where this approach will not work and we'll need proper requirments analysis, because, again, usability doesn't alway mean small amount of work.
My points are addressing the original question asked by Tahmid was "When and How do you prioritize your usability features for your Online Application/Service?...Will you include that? OR what's your reason behind not accepting the new idea?" (the first para, the first mail).
Thanks! -Kaisar
On Sat, Nov 14, 2009 at 10:42 PM, SLee <shiblee.sqa@...> wrote:
Hi Brother Kaisar,
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosingairplaneseat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be aboringway. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
Your logic is correct. But again, everything will gradually change and evolve. Say, expectation to the Y generation is little bit different that what we expect. So, may be future sites will have many options for many cultures, countries, generations, religions. OR may be only one option :)
On Sun, Nov 15, 2009 at 1:07 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Would like to add a comment on this one:
Shiblee bhai mentioned:
"the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)"
Well, I guess the airlines, who are doing billions of dollars of business for decades, know more about how their software should work and what (software system) they are spending their money on. They probably are more aware that how experienced passengers would like or dislike it, and they still have that system in place. Because with this system, they are making majority of the passenger's life easier. The bored one will get bored with any system and will stop using it at some point :). And for them, there's always the manual check-in counter!
Regards, -Kaisar
On Sun, Nov 15, 2009 at 12:52 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Dear Shiblee bhai,
I think I couldn't express my points very well. I wanted to point out two issues:
1. Tahmid and rest of us were giving examples of usability issues that take days to develop. I wanted to share some examples which may take years to develop. All works, small or large, are very important and we all know that. I do not think anybody neglects the login box. However, it's not the size of the feature, it's the amount of work I am pointing out. We do not handle a two days tasks and a year long task in the same way, I'm trying to highlight that.
2. I wanted to point out the importance of handling usability issues during the requirements capturing phase of a project or iteration. Some of us overlooked the need of understanding/defining the details of work during the requirements phase and suggested to do it on ad-hoc basis during development. This is something I don't agree with and I tried to show by examples where this approach will not work and we'll need proper requirments analysis, because, again, usability doesn't alway mean small amount of work.
My points are addressing the original question asked by Tahmid was "When and How do you prioritize your usability features for your Online Application/Service?...Will you include that? OR what's your reason behind not accepting the new idea?" (the first para, the first mail).
Thanks! -Kaisar
On Sat, Nov 14, 2009 at 10:42 PM, SLee <shiblee.sqa@...> wrote:
Hi Brother Kaisar,
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
Hummm.... Now I got it more clearly. Thanks Kaisar vhai for clarifying.
On Sun, Nov 15, 2009 at 12:52 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Dear Shiblee bhai,
I think I couldn't express my points very well. I wanted to point out two issues:
1. Tahmid and rest of us were giving examples of usability issues that take days to develop. I wanted to share some examples which may take years to develop. All works, small or large, are very important and we all know that. I do not think anybody neglects the login box. However, it's not the size of the feature, it's the amount of work I am pointing out. We do not handle a two days tasks and a year long task in the same way, I'm trying to highlight that.
2. I wanted to point out the importance of handling usability issues during the requirements capturing phase of a project or iteration. Some of us overlooked the need of understanding/defining the details of work during the requirements phase and suggested to do it on ad-hoc basis during development. This is something I don't agree with and I tried to show by examples where this approach will not work and we'll need proper requirments analysis, because, again, usability doesn't alway mean small amount of work.
My points are addressing the original question asked by Tahmid was "When and How do you prioritize your usability features for your Online Application/Service?...Will you include that? OR what's your reason behind not accepting the new idea?" (the first para, the first mail).
Thanks! -Kaisar
On Sat, Nov 14, 2009 at 10:42 PM, SLee <shiblee.sqa@...> wrote:
Hi Brother Kaisar,
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
Shiblee bhai mentioned: "the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)"
Well, I guess the airlines, who are doing billions of dollars of business for decades, know more about how their software should work and what (software system) they are spending their money on. They probably are more aware that how experienced passengers would like or dislike it, and they still have that system in place. Because with this system, they are making majority of the passenger's life easier. The bored one will get bored with any system and will stop using it at some point :). And for them, there's always the manual check-in counter!
Regards, -Kaisar
On Sun, Nov 15, 2009 at 12:52 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
Dear Shiblee bhai,
I think I couldn't express my points very well. I wanted to point out two issues:
1. Tahmid and rest of us were giving examples of usability issues that take days to develop. I wanted to share some examples which may take years to develop. All works, small or large, are very important and we all know that. I do not think anybody neglects the login box. However, it's not the size of the feature, it's the amount of work I am pointing out. We do not handle a two days tasks and a year long task in the same way, I'm trying to highlight that.
2. I wanted to point out the importance of handling usability issues during the requirements capturing phase of a project or iteration. Some of us overlooked the need of understanding/defining the details of work during the requirements phase and suggested to do it on ad-hoc basis during development. This is something I don't agree with and I tried to show by examples where this approach will not work and we'll need proper requirments analysis, because, again, usability doesn't alway mean small amount of work.
My points are addressing the original question asked by Tahmid was "When and How do you prioritize your usability features for your Online Application/Service?...Will you include that? OR what's your reason behind not accepting the new idea?" (the first para, the first mail).
Thanks! -Kaisar
On Sat, Nov 14, 2009 at 10:42 PM, SLee <shiblee.sqa@...> wrote:
Hi Brother Kaisar,
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosingairplaneseat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be aboringway. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
I think I couldn't express my points very well. I wanted to point out two issues:
1. Tahmid and rest of us were giving examples of usability issues that take days to develop. I wanted to share some examples which may take years to develop. All works, small or large, are very important and we all know that. I do not think anybody neglects the login box. However, it's not the size of the feature, it's the amount of work I am pointing out. We do not handle a two days tasks and a year long task in the same way, I'm trying to highlight that.
2. I wanted to point out the importance of handling usability issues during the requirements capturing phase of a project or iteration. Some of us overlooked the need of understanding/defining the details of work during the requirements phase and suggested to do it on ad-hoc basis during development. This is something I don't agree with and I tried to show by examples where this approach will not work and we'll need proper requirments analysis, because, again, usability doesn't alway mean small amount of work.
My points are addressing the original question asked by Tahmid was "When and How do you prioritize your usability features for your Online Application/Service?...Will you include that? OR what's your reason behind not accepting the new idea?" (the first para, the first mail).
Thanks! -Kaisar
On Sat, Nov 14, 2009 at 10:42 PM, SLee <shiblee.sqa@...> wrote:
Hi Brother Kaisar,
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosingairplaneseat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be aboringway. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
Same like you I was also equally impressed by example on choosing airline seat while I was preparing myself for the exam on 'Principles Of Software Testing'. But that is really not the whole world. So I don't think we can say any usability feature is small (less important) than another one. Well, for a particular project of particular client we can identify priority usability issues. But in general nothing is less priority. Even a tiny search box with a small 'go' button can have lot and lot usability features in it. And my believe is that human will always invent new things even with a simple search box.
the way you've described on choosing airplane seat would be a very very nice one for a new passenger (who recently started to journey by air). But a person who has been flying for long 30 years and more than 10 times in a year, that way would be a boring way. (In fact all usability cannot make happy everyone.)
What I believe, each of us are working on different different areas and with different cultured clients, we all should learn on our client and gradually should develop system with usability features that can help our client (and may be client's client).
Here goes what a client asked for:
"I clicked to download protected document and KOPA asked me to login. That is fine. I typed my username but I could not see it. Later on I noticed, cursor was not focused in username textbox. So, by the help of mouse, I moved the cursor in username text box first and then typed username... After successful login, KOPA allowed me to download the document I wanted to...blah..blah..blah..."
Can you imagine, what client asked for! and somehow that was the only place where we missed to do that in the whole system.
On Sat, Nov 14, 2009 at 10:39 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
That's not all flocks!
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
A question crossed my mind: "are we thinking small?" :)
Some of us are referring to placement of the login box, the forgot password link, hyperlink colors, captcha, re-type of password, etc as some examples of usability issues or improvements. Some of us are suggesting that these are naturally expected from programmers and they decide as they go on development whether or not they should include that in the project. Hmm.. yes, these might be some examples of usability and that might be an ad-hoc way to change requirements on the fly.
Now I am a little confused about the magnitude of usabilities we are thinking about. All of these looks very minor issues. Adding a forgot password (sending out emails with reset links and an option to reset it), hyperlink color in css, re-type of password, captcha, etc look like work of a day or two for a developer.
I think there are also examples of large usability implementations. Following are some:
Example 1: Choosing or changing a seat in an airline.
If we ask a developer to design a UI for choosing or changing a seat in an airline, most likely, he will sketch a form where users will be able to select the next available seats from a list box or dropdown. Now, to give an option to choose 5 seats for 5 passengers, he might list the 5 passenger names and put a list box or dropdown beside each of them.. just some quick thoughts. I'm not saying he will not think of anything better, it's just a quick thought for the typical quality of work our local clients expect/accept.
Now here is how real airlines (for example: British Airways or Emirates) do it: The passenger gets to choose the seats graphically. User sees a photo of the plane with the actual seat plan of the model of aircraft, user can scroll from head to tail of airplane. Initially his 5 seats (the number is an example), are placed in the 5 best positions. He sees 5 human icons on the 5 seats, available seats are empty, taken seats by others are invisible/grayed out. User can click on a passenger icons and click on any empty seat he likes to choose. In this way, he can graphically plan seating for a group of people (can be 1 or 20, for example). He can choose each passenger's preferred location including window, aisle, wing, or can place a group of people together or in a particular order. This certainly is a huge usability improvement and our grandparents probably can use these systems for planning seats for a trip.
Example 2: Expending area covered.
Some mobile wireless enabled devices communicate to a fixed wireless gateway within a specified range, for example within 400 ft. Users need to have the devices in the area of the gateway range to make the communication work. Marketing team suggests a larger range for the devices to make them usable in a larger area (looks like an usability improvement, even though no UI is improved). Making them working in a larger area may sound simple but in practice it's a whole new engineering of the gateway and mobile devices. Typical solution is to design wireless repeater which forwards the gateway messages to a larger area. This require design new hardware and firmware and changes in the wireless protocol the devices and gateway uses.
Sorry for the long descriptions, I wanted to indicate the amount of work required for such changes. The volume of work is huge, the choosing airlines seat itself can be a year long project of a bunch of developers. If the development team planned to implement a simple form with list boxes and then someone suggest for this graphical implementation, it would simply be impossible to make such a huge change. This amount of work cannot be chosen in the middle of a project and decisions cannot be taken within minutes. As you can see, these type of usability work require huge time, dedicated thinking, strongly done requirements analysis and strong project plan, it is important to suggest/decide your scope of work during requirements analysis. If the client agrees with these type of large but cool usability, it's brings huge business for the company as well. So I think it's very important to do proper requirement analysis and coming up with the detailed scope of work when projects start.
The examples are not something I just came up with. The choosing airlines seat is something I got fascinated with sometime ago and honestly, this is probably the most user friendly application I have ever seen. The wireless device is my current embedded project but we're not currently improving the range, it was already done.
Now, I started to feel like 'I want to think I understand what usability is but am not really sure :S'.. need to start some reading..
Thanks, -Kaisar
On Wed, Nov 11, 2009 at 2:55 PM, Tahmid Munaz <to.munaz@...> wrote:
Additional ideas to make things better or more easy - doesn't need to be something very unknown or new in all the cases. I think proposing a better system is always something we propose in respect of Usability whether we do it directly or indirectly - intentionally or unintentionally, but we are always trying to make a better system. So when we think of a better system we do it even in unintentionally on basis of our experience. It doesn't need to have a long hour meeting with list of proposed changes on Clients requirements. e.g.
1. CAPTCHA : A widely used module for protecting from spammers and reduce unnecessary form submissions. Why shouldn't i promote of using it ? Yes i know complex CAPTCHA's are not user friendly at all. But there are lots CAPTCHA modules available online and better CAPTCHA modules might even change your mind! :) Facebook starts giving you pain with CAPTCHA all over for a certain time when you a new account holder. But after a certain time (they might have their own logic in behind) you even forget that you have ever typed CATPCHA for each and every stuff you did in FB while you were a beginner. This is another usability feature that FB got its own.
2. Gmail: Listing down all your emails under same subject line is a feature which was 1st introduced by Gmail though people were little confused about Gmail email listing at the very beginning. But now most of the people loves it cause we can track down our lists of emails. I don't see any major difference with current Yahoo mail and Hotmail though the new Hotmail has nothing additional new changes or took my attention at all. But even than there are thousand of people who are still using Yahoo and Hotmail.
3. Email verification: You might have seen email verification emails with only a single URL or with a Code where they have asked for clicking on the URL or pasting the Code on certain URL. Sometimes it just gives you the random new password and asks you to loging with that and confirm the email address from their site after an activation. There are lots of ways and it depends on which purpose how you are dealing on this email verifications.
4. Forgot password: Some website asks you just entering a single email address or using their userID's - some gives you the both options. There are sites who has list of questions where you had a predefined answers to recover your Account. So which one is better?
5. Re-Type Password: Keeping the password masking is so that anyone sitting beside you will not be able to read your password. (personal feedback) This could be the reason why many of the new site registration doesn't even email your account password to your emails but asks you to click on a link and change your password in reference of their sent Random Password. Re-Type password field takes your attention to be more serious about filling up the form and type the password exactly what you have written on the Password.
I don't know about anyone else - but personally i believe Google must be tracking down all end users activities to get an idea on the best usable options for their application. So i took it as an experimental implementation of Google - Gmail on Google Apps if it's on the Left of the Screen.
Facebook is doing their own experiments changing their UI very frequent - i don't know whether they are capturing anything already or not. But they way of interaction is changing too frequent. And sometime we are getting pissed of because of frequent changes. But end of the day there must be something better! That's what we are expecting and your end users will expect the same too! This analysis is a long time process on based on user interactions - where in our cases we programmers or technical consultants do on basis of our previous experience and based on domain knowledge which type of flexibility for what and how it will help and on which basis it will be secured and in-secured.
So usability issues are not a single test script or just a choice list but it's a combination of lists of requirements with a certain returns on their implementation. It depends on certain purpose of security, flexibility, easiness or simplicity. Dependent on it's purpose. I will not be asking anyone to put a CAPTCHA on a RSS Feed subscription form. I need to have that idea what i am expecting in return. And obviously in the other case I don't expect to see someone missing to put Forget password beside the Login form. So this is what type of usability features i think we need to have at least in our basic understanding.
I can see the discussion have went into different directions because of it's vastness :) Let me narrow down where my question was for the Team leads and the Testers.
As for example you have a website built and you forgot to put Forgot password for your End users or your Client didn't even ask for it. Isn't it a basic usability issue? is it what you gonna ask your tester to Test it after development done and let your tester put it as a note / bug / Enhancement on issue tracker? OR we should have defined these basic stuff while we were consolidating the requirements ? Do i we really need to train our Client for that? or Do we need to train our developers for that? What if i made a site limited to IE and doesn't support Firefox? Unless your clients says so? Should i give an excuse claiming the there are 60% of users are still using IE? This is just an excuse of a half baked cake.
I call them as an incomplete project - or a half baked Cake. How do you deal in this practical situation? :)
Regards, Tahmid Munaz
--- In sqa_bangladesh@yahoogroups.com, "M. Kaisar Ul Haque" <m.kaisar@...> wrote:
> > Thanks for the further explanation Shiblee bhai. Yes, "thinking towards > making client's business successful" makes more sense for 'Thilient'. > > Regards. >
> On Wed, Nov 11, 2009 at 1:09 AM, SLee shiblee.sqa@... wrote: > > > > > > > Hi Brother Kaisar, > > :) well forget what ever the term I've said. Let me try to explain. umm,
> > here client mean the owner of the application I'm working for (who is paying > > me), not the end user really. (But somehow the end users will automatically > > come [if any] in my thought, recommendation, proposal, invention, idea,
> > thilient). Beside developing an application for my client, my another > > concern is to make my client's business successful as much as possible > > through the application I'm developing for her. So, I always give a thought
> > in my client's business and try to find out what more/change/new I can give > > to my client so that she become successful in her business. OR so that she > > can feel that the money she spent for the web app, was a good investment.
> > So, when I'm thinking for my client I do think of clients of my client (if > > any). > > > > many of times clients do not think like or do not want to think like > > end-users as well.
> > > > > > So, there is a scope we can help our client to think like her client. We > > can educate our client on it. > > > > Just giving you a real example on what I've worked recently. my client had
> > a form that had 194 input fields. before she came to us, I mean before she > > decided to make it a web app, she had a word document that had the 194 > > fields in it. And she was running her business by that word document. yes
> > word document had lot of limitations and that is why at one time she thought > > of a web application. But amazingly her business was a big business! So, > > here we got huge chance to contribute. She was so happy with the product we
> > delivered. And we not only delivered her a product but also educated her. > > Now, yes right now, we are working for her another big project. So by making > > her business successful, actually I'm making my business successful. So
> > selfish I'm nah...!? > > > >
> > On Tue, Nov 10, 2009 at 11:17 PM, M. Kaisar Ul Haque m.kaisar@...wrote:
> > > >>
> >> > >> I couldn't help but asking this: Is usability an art or science? or both? > >> (I guess 'none' is not an option). > >> > >> Following are a few reasons for my question:
> >> > >> 1. An improvement in usability in a web application was commented as > >> 'awesome' by some users and 'not-friendly' by some others at the same time. > >>
> >> 2. An obvious improvement suggestion in a embedded application looked > >> 'brilliant' to the engineering department but was suggested as 'confusing to > >> end-users' by customer service department. We had to stick to the legacy
> >> user experiences. > >> > >> Few more comments: > >> > >> Sajjad bhai mentioned: > >> > >> "If Google is an international standard, then there are very few
> >> applications following it." > >> > >> Google obviously made a break through in defining web application > >> interfaces for rich internet applications, or the so called Web 2.0. It's
> >> both interesting and important to see how Google simplified usability both > >> in terms of work-flow and richness of UI for many of its web based > >> applications, including Google reader, adsense, code, documents, calendar,
> >> maps, mail, just to name a few. Almost all of these applications are Web 2.0 > >> which is more difficult and expensive to development. The development cost > >> might be one of the reasons why many companies can not effort following it.
> >> Irrespective of anyone following it or not, Google is given the credit for > >> defining the usability of Web 2.0 applications. Following are some > >> references: > >>
> >> http://oreilly.com/web2/archive/what-is-web-20.html > >> http://en.wikipedia.org/wiki/Web_2.0
> >> > >> About Shiblee bhai's Thilient: > >> > >> It's a nice term. However, I have this question about the term 'client' in > >> "think like client", do we mean our client or the end-users? In many of the
> >> cases, the clients are not end-users. As Ayman mentioned, many of times > >> clients do not think like or do not want to think like end-users as well. In > >> that case, whom should we think like? :) I am not suggesting a change in the
> >> term but just tought of sharing this question. > >> > >> Thanks, > >> -Kaisar > >> > >>
> >> On Tue, Nov 10, 2009 at 5:35 PM, ayman aymannr@... wrote:
> >> > >>> > >>> > >>> Hello Sajjad Vai, > >>> It's good to hear few words from you on usability issues. However, I'hv > >>> some queries related to this topic. How far is it feasible to accomplish the
> >>> goal of usability testing? Especially when you have the global market as the > >>> target end user domain. How much feasible is it to get indicative end users > >>> to represent the different cross-sections of demographic, attitudinal and
> >>> behavioral types? Is it really feasible for us (testers) to play such > >>> roles(end-user) and even then, how fruitful such usability tests would be? > >>> > >>> Most of the companies/clients we work for are the product
> >>> owners/developers. That means they are not the real end users. Hence, their > >>> thinkings might not resemble those of the end-users. In most cases they > >>> gather knowledge from similar products out there in the market and then add
> >>> some guess work. How would you like to address the usability testing for > >>> such products? > >>> > >>> Regards, > >>> Ayman > >>>
> >>> --- On *Mon, 11/9/09, Sajjadul Hakim sajjadul@...* wrote: > >>> > >>> > >>> From: Sajjadul Hakim sajjadul@...
> >>> Subject: Re: [SQABD] What will you do regarding Usability issues?
> >>> To: sqa_bangladesh@yahoogroups.com > >>> Date: Monday, November 9, 2009, 7:00 PM > >>> > >>>
> >>> > >>> > >>> Hi Shiblee bhai, > >>> > >>> Always glad to hear from you :) Find my comments below: > >>> > >>> > In my case, usability is defined as per client. you may come to
> >>> remember 'thilient'. 'think like client' was/is my one of the goals. > >>> > >>> I do like the concept of thilient, i.e. thinking about what your > >>> client would want, and recommending features and modifications.
> >>> However I disagree with your talk, where you presented this as the way > >>> to "Improving status of testers/QA Engineers in team". Anyways that is > >>> another topic, which I am happy to discuss as well :)
> >>> > >>> > as me and my team always develop application for specific client, we > >>> cannot implement all international usability features (though we'd like to). > >>> by the way, here by 'international' I actually meant the features of some
> >>> famous web applications (say, google, facebook, blah...blah. ..). > >>> > >>> I remember about 3 years back I was having a debate with one of my > >>> testers about international usability standards. She was telling me
> >>> there is one, or there should be one, otherwise how can she tell the > >>> programmers that something is a usability problem. I guess it is not a > >>> surprise to any one here that I disagreed :)
> >>> > >>> If Google is an international standard, then there are very few > >>> applications following it. In my opinion (and a lot of people I spoke > >>> to, but not all) Facebook had one of the most cluttered and least
> >>> intuitive UI I had ever seen, even a year ago. Yet that had nothing to > >>> do with its quick success. Usability is dependent on how it will ease > >>> the way the end users would want to achieve their purpose, as well as
> >>> their culture, experience and expectations. I am sure there are a lot > >>> more to this, and I am not a usability expert. > >>> > >>> When I used to develop apps for Japanese end users, I hated the UI
> >>> that they proposed. Yet I saw that many of the applications built in > >>> Japan resembled similar properties. They would fill the UI with > >>> contrasting colors, unusually large and small fonts, and even use
> >>> excessive menu buttons instead of drop down menus. I don't know if > >>> this has changed over the years. > >>> > >>> > anyway, some of my clients really don't bother for any usability
> >>> features that modern web applications have. they just want what they asked > >>> for. they even don't like fantastic thinks in their application free. even > >>> sometimes, it becomes tough for me to make them understand a thilient. they
> >>> simply cannot understand how the usability going to help them. > >>> > >>> It strikes me as ironic that you are trying to "think like client" and > >>> yet promoting features or changes that they do not value. However, I
> >>> have nothing against this, because I know that there is more to your > >>> "thilient" than you had expressed. I suspect you are not only > >>> concerned with your clients who recommended the features and will
> >>> probably pay for the product. I think you are also concerned about the > >>> end users (who are not necessarily your clients -- and in most cases > >>> they are not) and the purpose of the product. Probably, that is what
> >>> frustrates you when your clients don't get it. > >>> > >>> > anyway, some clients are very advanced. they love usability and even > >>> though not a single usability are written in spec, they notice that we've
> >>> developed it. some clients are too much sensetive, font face, size, case, > >>> color, bg color, a dash, thickness of line, breathing space, icon, button > >>> size, cursor focus, error message, notification message everything bothers
> >>> them. they just want the perfect out of all perfect things. these clients > >>> are very good for me. can anyone guess why? correct. one reason is I get > >>> satisfied by making such application that has lot of my thilients
> >>> implemented. and second one is, these clients are ready to pay even for > >>> small (very small) usability feature. > >>> > >>> Cool! > >>>
> >>> > I'd lot in my mind to discuss on it. but my kids are really angry on me > >>> to see setting on pc. let me satisfy them first. I'll try to catch further > >>> discussions on it...
> >>> > >>> Family first :) Thanks for sharing your experience. > >>> > >>> Regards, > >>> Sajjadul Hakim
Hi All,
This discussion going to be more interesting as well as useful. I have
few experiences on usability testing which i like to share here. A years
back, our CEO was asked to make a plan to perform usability testing of
our own developed S60 application. Accordingly, we prepared a usability
test plan based on
User_Experience_Checklist_For_Symbian_Cpp_Applications_v1_1_en.pdf and
Nokia Standard S60 UI specifications. But expectedly that plan was not
approved by CEO and commented "Plan should be real-stick, feasible,
effective....". So, we started to rethink how we can make a better and
effective plan based on our available resources (we had limited S60
devices), time, experience and application type. Final plan were like,
randomly selected 5-6 BJIT employees (not project team members) will
participate on usability testing to use the application. Project team
members (testers/developers) will observe and note feedback &
observations, try to catch which features make users confused etc. At
the end, that testing was effective and helped to increase usability of
that product :)
I agree, we should consider usability issues from the beginning of the
project (during designing, prototyping) but which usability issues need
to be considered may vary client to client which also depends on
application type, end users type, required development effort (in which
development phase issue is raised), time, budget etc.
I am following this discussion to learn more about usability testing.
Thanks & regards,
- Selim
Looks very interesting.. shall try to read more on this, testing as a social science. Thanks Sajjad bhai!
On Wed, Nov 11, 2009 at 11:10 PM, Sajjadul Hakim <sajjadul@...> wrote:
Hey Kaisar,
Good points regarding Google, and a great question on usability being
an art or science.
I am not an expert in this topic, but if I had to guess, I would say
usability testing is probably a social science, just like software
testing. I am saying this because when I read Cem Kaner's presentation
on "Software Testing as a Social Science"
(http://www.kaner.com/pdfs/KanerSocialScienceSTEP.pdf), I find his
description very similar to how usability testing relates:
"Social sciences study humans, especially humans in society. The
social scientists core question, for any new product or technology
is, What will be the impact of X on people? Social scientists
normally deal with ambiguous issues, partial answers, situationally
specific results, diverse interpretations and values and they often
use qualitative research methods."
Wikipedia explains qualitative research as the following:
"Qualitative researchers aim to gather an in-depth understanding of
human behavior and the reasons that govern such behavior. The
qualitative method investigates the why and how of decision making,
not just what, where, when. Hence, smaller but focused samples are
more often needed, rather than large random samples."
I think this is what Ayman's concern was, when he asked how a tester
is expected to achieve this.
On Wed, Nov 11, 2009 at 12:17 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
>
>
>
> I couldn't help but asking this: Is usability an art or science? or both? (I guess 'none' is not an option).
>
> Following are a few reasons for my question:
>
> 1. An improvement in usability in a web application was commented as 'awesome' by some users and 'not-friendly' by some others at the same time.
>
> 2. An obvious improvement suggestion in a embedded application looked 'brilliant' to the engineering department but was suggested as 'confusing to end-users' by customer service department. We had to stick to the legacy user experiences.
>
> Few more comments:
>
> Sajjad bhai mentioned:
>
> "If Google is an international standard, then there are very few
> applications following it."
>
> Google obviously made a break through in defining web application interfaces for rich internet applications, or the so called Web 2.0. It's both interesting and important to see how Google simplified usability both in terms of work-flow and richness of UI for many of its web based applications, including Google reader, adsense, code, documents, calendar, maps, mail, just to name a few. Almost all of these applications are Web 2.0 which is more difficult and expensive to development. The development cost might be one of the reasons why many companies can not effort following it. Irrespective of anyone following it or not, Google is given the credit for defining the usability of Web 2.0 applications. Following are some references:
>
> http://oreilly.com/web2/archive/what-is-web-20.html
> http://en.wikipedia.org/wiki/Web_2.0
>
> About Shiblee bhai's Thilient:
>
> It's a nice term. However, I have this question about the term 'client' in "think like client", do we mean our client or the end-users? In many of the cases, the clients are not end-users. As Ayman mentioned, many of times clients do not think like or do not want to think like end-users as well. In that case, whom should we think like? :) I am not suggesting a change in the term but just tought of sharing this question.
>
> Thanks,
> -Kaisar
>
> On Tue, Nov 10, 2009 at 5:35 PM, ayman <aymannr@...> wrote:
>>
>>
>>
>> Hello Sajjad Vai,
>> It's good to hear few words from you on usability issues. However, I'hv some queries related to this topic. How far is it feasible to accomplish the goal of usability testing? Especially when you have the global market as the target end user domain. How much feasible is it to get indicative end users to represent the different cross-sections of demographic, attitudinal and behavioral types? Is it really feasible for us (testers) to play such roles(end-user) and even then, how fruitful such usability tests would be?
>>
>> Most of the companies/clients we work for are the product owners/developers. That means they are not the real end users. Hence, their thinkings might not resemble those of the end-users. In most cases they gather knowledge from similar products out there in the market and then add some guess work. How would you like to address the usability testing for such products?
>>
>> Regards,
>> Ayman
>>
>> --- On Mon, 11/9/09, Sajjadul Hakim <sajjadul@...> wrote:
>>
>> From: Sajjadul Hakim <sajjadul@...>
>> Subject: Re: [SQABD] What will you do regarding Usability issues?
>> To: sqa_bangladesh@yahoogroups.com
>> Date: Monday, November 9, 2009, 7:00 PM
>>
>>
>>
>> Hi Shiblee bhai,
>>
>> Always glad to hear from you :) Find my comments below:
>>
>> > In my case, usability is defined as per client. you may come to remember 'thilient'. 'think like client' was/is my one of the goals.
>>
>> I do like the concept of thilient, i.e. thinking about what your
>> client would want, and recommending features and modifications.
>> However I disagree with your talk, where you presented this as the way
>> to "Improving status of testers/QA Engineers in team". Anyways that is
>> another topic, which I am happy to discuss as well :)
>>
>> > as me and my team always develop application for specific client, we cannot implement all international usability features (though we'd like to). by the way, here by 'international' I actually meant the features of some famous web applications (say, google, facebook, blah...blah. ..).
>>
>> I remember about 3 years back I was having a debate with one of my
>> testers about international usability standards. She was telling me
>> there is one, or there should be one, otherwise how can she tell the
>> programmers that something is a usability problem. I guess it is not a
>> surprise to any one here that I disagreed :)
>>
>> If Google is an international standard, then there are very few
>> applications following it. In my opinion (and a lot of people I spoke
>> to, but not all) Facebook had one of the most cluttered and least
>> intuitive UI I had ever seen, even a year ago. Yet that had nothing to
>> do with its quick success. Usability is dependent on how it will ease
>> the way the end users would want to achieve their purpose, as well as
>> their culture, experience and expectations. I am sure there are a lot
>> more to this, and I am not a usability expert.
>>
>> When I used to develop apps for Japanese end users, I hated the UI
>> that they proposed. Yet I saw that many of the applications built in
>> Japan resembled similar properties. They would fill the UI with
>> contrasting colors, unusually large and small fonts, and even use
>> excessive menu buttons instead of drop down menus. I don't know if
>> this has changed over the years.
>>
>> > anyway, some of my clients really don't bother for any usability features that modern web applications have. they just want what they asked for. they even don't like fantastic thinks in their application free. even sometimes, it becomes tough for me to make them understand a thilient. they simply cannot understand how the usability going to help them.
>>
>> It strikes me as ironic that you are trying to "think like client" and
>> yet promoting features or changes that they do not value. However, I
>> have nothing against this, because I know that there is more to your
>> "thilient" than you had expressed. I suspect you are not only
>> concerned with your clients who recommended the features and will
>> probably pay for the product. I think you are also concerned about the
>> end users (who are not necessarily your clients -- and in most cases
>> they are not) and the purpose of the product. Probably, that is what
>> frustrates you when your clients don't get it.
>>
>> > anyway, some clients are very advanced. they love usability and even though not a single usability are written in spec, they notice that we've developed it. some clients are too much sensetive, font face, size, case, color, bg color, a dash, thickness of line, breathing space, icon, button size, cursor focus, error message, notification message everything bothers them. they just want the perfect out of all perfect things. these clients are very good for me. can anyone guess why? correct. one reason is I get satisfied by making such application that has lot of my thilients implemented. and second one is, these clients are ready to pay even for small (very small) usability feature.
>>
>> Cool!
>>
>> > I'd lot in my mind to discuss on it. but my kids are really angry on me to see setting on pc. let me satisfy them first. I'll try to catch further discussions on it...
>>
>> Family first :) Thanks for sharing your experience.
>>
>> Regards,
>> Sajjadul Hakim
>> http://rapidtester. blogspot. com/
>>
>
>
------------------------------------
************************
************************
Visit www.sqabd.com
************************
************************Yahoo! Groups Links
Tahmid...Buddy...You've been with me long enough to know that context
matters. There are no best practices. I am glad Shiblee bhai pointed
out some of the contexts of not following the trend for Forgot
Password and browser compatibility. I just want to address your
fascination towards captchas :) I know, it's not just you...
> 1. CAPTCHA :
> A widely used module for protecting from spammers and reduce unnecessary form
submissions. Why shouldn't i promote of using it ? Yes i know complex CAPTCHA's
are not user friendly at all. But there are lots CAPTCHA modules available
online and better CAPTCHA modules might even change your mind! :)
Captcha stands for, Completely Automated Public Turing test to tell
Computers and Humans Apart. Phew...that's a mouthful. Its arguable
that captcha is effective in preventing spam. There is quite a number
of captcha busting apps out there. Here are a couple:
http://www.cs.sfu.ca/~mori/research/gimpy/http://caca.zoy.org/wiki/PWNtcha
There is even a practice of offering free porn if you (a human) solve
a captcha that is picked up from another legit site (hotmail, yahoo
etc). You've got to admit that's pretty clever:
http://www.silicon.com/research/specialreports/thespamreport/0,39025001,39120541\
,00.htm
Even W3C does not recommend it because it is an accessibility nightmare:
http://www.w3.org/2004/Talks/0319-csun-m3m/slide1-0.html
It is a fact that it deters a certain number of users from submitting
your form because they just don't want to go through the hassle:
http://www.uxbooth.com/blog/captchas-tough-on-sales-common-way-to-test-user-tole\
rance/
We have intentionally not put captchas on sqabd.com contact form (even
though you have been pursuing this with me for quite some time),
because we don't get too many feedback or queries from the site, and
since the number of people sending their comments from the site are so
less (everyone's talking in the yahoo group) we don't want to decrease
the chances of them using the form. We do get spams, but its so so so
few that its just not a nuisance at the moment. The little spam we get
are mostly handled by Gmail.
I guess these are enough reasons to prove that there will be contexts
where captcha should not be used. But that does not mean I am going to
go around discouraging people to use captchas, because there certainly
are contexts where it should be, which you already mentioned.
If we get enough spam, I will certainly consider it for sqabd.com :)
Naaah...On second thought, this test looks much more interesting
(hint: look at "Qualifying question"):
http://random.irb.hr/signup.php
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
Sounds good to me! Cool!
Regards,
Sajjadul Hakim
http://roundtables.blogspot.com/
On Thu, Nov 12, 2009 at 2:06 PM, SLee <shiblee.sqa@...> wrote:
>
>
>
> Sajjad vhai,
> I have no idea how I missed this. Sorry for that. But nice is, later
discussions clarified many things that I could reply on this mail. By the way,
to me, it seems this whole discussion turned into a different track (again, to
me). So, let us turn it back to what brother Tahmid was actually started with.
Well, if I want to answer in very short of the question "What will you do
regarding Usability issues?", it goes in this way:
>
> There are some common usability things that we don't ask to develop and
naturally programmers code for that.
>
> Often my team comes up with usability issues and first I listen to it and then
I judge. When I judge, I think about these:
> a) In how many places this usability will have to be implemented to keep
consistency?
> b) In how many places this would put an impact for what tester and programmers
would have to work more?
> c) How many hours this would take for the whole team?
> d) based on the project contract either I implement it or I ask to my client
with detail.
>
> Answers of above questions guide me to take decision. if yes, I show my
positive sign, otherwise not. But my team may miss understand me, so I try to
explain why I said 'NO' this time. If the usability idea was a good catch , I
put + sign against that team member (this was off the toipc statement) ;)
perhaps we talked on 'evaluation' on a round table session few years back...
>
>
>
> On Tue, Nov 10, 2009 at 9:00 AM, Sajjadul Hakim <sajjadul@...> wrote:
>>
>> Hi Shiblee bhai,
>>
>> Always glad to hear from you :) Find my comments below:
>>
>>
>> > In my case, usability is defined as per client. you may come to remember
'thilient'. 'think like client' was/is my one of the goals.
>>
>>
>> I do like the concept of thilient, i.e. thinking about what your
>> client would want, and recommending features and modifications.
>> However I disagree with your talk, where you presented this as the way
>> to "Improving status of testers/QA Engineers in team". Anyways that is
>> another topic, which I am happy to discuss as well :)
>>
>>
>> > as me and my team always develop application for specific client, we cannot
implement all international usability features (though we'd like to). by the
way, here by 'international' I actually meant the features of some famous web
applications (say, google, facebook, blah...blah...).
>>
>>
>> I remember about 3 years back I was having a debate with one of my
>> testers about international usability standards. She was telling me
>> there is one, or there should be one, otherwise how can she tell the
>> programmers that something is a usability problem. I guess it is not a
>> surprise to any one here that I disagreed :)
>>
>> If Google is an international standard, then there are very few
>> applications following it. In my opinion (and a lot of people I spoke
>> to, but not all) Facebook had one of the most cluttered and least
>> intuitive UI I had ever seen, even a year ago. Yet that had nothing to
>> do with its quick success. Usability is dependent on how it will ease
>> the way the end users would want to achieve their purpose, as well as
>> their culture, experience and expectations. I am sure there are a lot
>> more to this, and I am not a usability expert.
>>
>> When I used to develop apps for Japanese end users, I hated the UI
>> that they proposed. Yet I saw that many of the applications built in
>> Japan resembled similar properties. They would fill the UI with
>> contrasting colors, unusually large and small fonts, and even use
>> excessive menu buttons instead of drop down menus. I don't know if
>> this has changed over the years.
>>
>>
>> > anyway, some of my clients really don't bother for any usability features
that modern web applications have. they just want what they asked for. they even
don't like fantastic thinks in their application free. even sometimes, it
becomes tough for me to make them understand a thilient. they simply cannot
understand how the usability going to help them.
>>
>>
>> It strikes me as ironic that you are trying to "think like client" and
>> yet promoting features or changes that they do not value. However, I
>> have nothing against this, because I know that there is more to your
>> "thilient" than you had expressed. I suspect you are not only
>> concerned with your clients who recommended the features and will
>> probably pay for the product. I think you are also concerned about the
>> end users (who are not necessarily your clients -- and in most cases
>> they are not) and the purpose of the product. Probably, that is what
>> frustrates you when your clients don't get it.
>>
>>
>> > anyway, some clients are very advanced. they love usability and even though
not a single usability are written in spec, they notice that we've developed it.
some clients are too much sensetive, font face, size, case, color, bg color, a
dash, thickness of line, breathing space, icon, button size, cursor focus, error
message, notification message everything bothers them. they just want the
perfect out of all perfect things. these clients are very good for me. can
anyone guess why? correct. one reason is I get satisfied by making such
application that has lot of my thilients implemented. and second one is, these
clients are ready to pay even for small (very small) usability feature.
>>
>>
>> Cool!
>>
>>
>> > I'd lot in my mind to discuss on it. but my kids are really angry on me to
see setting on pc. let me satisfy them first. I'll try to catch further
discussions on it...
>>
>>
>> Family first :) Thanks for sharing your experience.
>>
>>
>> Regards,
>> Sajjadul Hakim
>> http://rapidtester.blogspot.com/
>>
>>
>> ------------------------------------
>>
>> ************************
>> ************************
>> Visit www.sqabd.com
>> ************************
>> ************************Yahoo! Groups Links
>>
>>
>>
>
>
little correction: "I believe both client and you will not argue with the
placement of Login/logout link placement unless client has some creative
thinking."
thanks :)
--- In sqa_bangladesh@yahoogroups.com, "Shahid" <shahidmasif@...> wrote:
>
>
> Interesting topic indeed. Actually I got a very little chance to work with
usability. It was really a good journey. Based on my little past experience I
want to express my thoughts on these issues.
>
> Before start/discuss any project with your client you must have the general
knowledge on usability only if you want to take is issue seriously. More
knowledge/experience on this helps you to serve better to discuss with your
clients. Therefore I prefer to discuss or find out usability issues in first
meeting if possible. A client may not know what usability is but he knows what
"ease of use" is. So it's our responsibility to ensure those issues as much as
we can.
>
> For an example, in first meeting client is describing his features of his web
application. I believe both client and you will argue with the placement of
Login/logout link placement unless client has some creative thinking. Yes I am
meaning the link at the top right corner. I always get confused when I login
into yahoo mail. First few seconds I usually find the "logout" link. Yes it is
in top left. Another example where I also spend few seconds to find the "logout"
link is www.virginmobile.com.au. It is in the bottom left. May be that was their
creative thinking or tried to stand out from any other applications. But as a
user I always become confused and use less among all other sites that I usually
browse in daily basis. May be I am used to find those links at the top corner.
>
> Another scenario could be in you meeting, client may ask the link colors
purple. I had a very healthy discussion on this in 2 years ago with one of my
colleagues that link color should be "blue". He was saying why blue? Why not
other colors. Finally we found out that "blue" is used in most of the common
applications like gmail, youtube, hotmail, yahoo etc for so many years. So by
this time people can map blue text with a link. But it doesn't mean that you
have to keep always link color blue. For branding purposes so many companies are
using different shades of color for the link. But ensure "Automatic Learning"
which allows your visitor to differentiate "purple" is the link color of the
site he is visiting. If it fails, you will be in danger. It's a great challenge
for a designer who is designing the page. So by keeping that in mind you can
discuss the other colors with your client in 1st/2nd meeting (Though in 1st
meeting it is very earlier :) ) beside important features. This is a very silly
example. But I've just used this for an idea.
>
>
> For testers find out:
> ---------------------
> I feel it totally depends on project status, time to redesign/develop,
deadline. Serious issues must be included/fixed.
>
> We found lot of usability issues in Therap applications. Few were fixed, few
were avoided, few were kept for next version, few were "nothing to do" at this
stage :)
>
> Finally I always prefer user testing in every major step. We developers,
designers, managers know so many thing, so many opinions, so many debates.
Finally user talks. So try to arrange a small session for user testing with some
tricky questions. User could be your colleagues to next tables. He will change
your perception immediately.
>
> Again, I just expressed my thoughts and experience (gaa bachai age :) ).
Comments are really appreciable.
>
> many thanks
> S M Asif
>
>
> --- In sqa_bangladesh@yahoogroups.com, "Tahmid Munaz" <to.munaz@> wrote:
> >
> > Hello friends,
> >
> > Suddenly a few questions came up into my mind and here they are as
> > follows:
> >
> > For Project Managers/Development Leads:
> > ---------------------------------------
> > When and How do you prioritize your usability features for your Online
> > Application/Service? Do you really think about those while you discuss
> > with your Clients? What will you do if your Testers are coming up with
> > issues and new ideas or way around for any of your already developed
> > application? Will you include that? OR what's your reason behind not
> > accepting the new idea? :)
> >
> >
> > For Testers/Test Managers:
> > ---------------------------
> > Suddenly if you are assigned to a schedule to Test an Online Application
> > - but you start facing lots of issues regarding Usability - And you
> > ended up with lots of issues that those could have been done with more
> > care or in a different workflow and features could have been easy for
> > the End users? What do you do then?
> >
> > You find nothing mentioned about these Usability features in to the
> > Requirement Specification Document and no one of the whole team was too
> > worried about it. Most of your expert developers were too busy in
> > developing the features step by step and they ended up with a complete
> > module or integrated module according to their understanding. And they
> > thinks they are the Best in understanding the requirement. Will you
> > initiate to argue about the better Options? When will you give up and
> > accept them as usual feature? :P Otherwise will you start posting them
> > as a Defect into your issue/bug tracker? :)
> >
> > Actually i was searching on different articles today on usability
> > heuristics, usability tests, www.Usability.gov - Guidelines, Seven
> > Common Usability Testing Mistakes and etc. (Googling...). Let's
> > discuss on it if you are interested in this topics. We most often come
> > up with better ideas for any new website or an Online Application and
> > always expect a better one replacing the old styles. So how do you deal
> > with them?
> >
> > I know this is a vast topic to discuss if we want to dig into it.. :P
> > but I am waiting for your replies and Sajjad bhai's reply where he may
> > ask me some specific questions where i may find few more clues to narrow
> > down my discussion or thoughts into a specific area! :)
> >
> > It may even end up in a single Line. Aah! Tahmid.. you are making it too
> > complex! :P See? This is how you should deal with it! This is the best
> > feature we are giving!! :P
> >
> >
> > Regards,
> > Tahmid Munaz
> > Cell: +8801713115496
> >
>
Hi All, Thank you very much for sending everyone's perspective on the topic. Here I'm summing up what I tried to ask through my question:
As far as I understand - the ability of customer to effectively complete a task, with high satisfaction levels is the bottom line of usability. As some of us have mentioned that this might sometimes launch the security and other issues (patients are dying). That means we need to be aware of the possible side effect of the to be implemented usability features. The most important thing is whether it could give me a business success or not. Some of us also mentioned that products with poor usability design might end up with huge success. Again, that doesn't mean that we won't focus on the usability aspect much. In general (on average case) the probability is very high that
products with good usability features will survive. That means we are for good usabilities with acceptable side effects. Some of us stated that we should be careful during the requirement capture phase with these usabilities. It was mentioned that we can easily get some already established usability standards from the market. It's also mentioned that the usabilities appeared after the requirement capture phase might be handled through the Change Reuest tracking system/cycle.
Now lets talk about the usability testing. How can we perform the usability testing? As per definition this is something to do with the end-users, not testers, not coders, not PMs, not clients. What are the attributs of possible the end-users? There are so many different types out there, how do you even sample them? They represent diffrent culture, locality, norm, ethnicity, attitude, abilities, etc. We (testers) could replicate only few of those. Yes, some of us raised the
use of our peer persons with zero knowledge on the project. Few mentioned about the use of some end-user testing sessions. It's true that these prople belongs to our end-user group. Then again, the question is what percentage of the huge end-user group they might represent? Sitting in Bangladesh, I can't manage a end-user who belongs China or Japan. In the USA I have seen companies assign beta testers who belongs to the product end-user group/forum. But, how much replication of end-user environment is possible in an in-hoise beta testing session? What do you think of it, if a user knows that s/he is being watched, will s/he be able to perform his/her normal behavior? Further, end-user sessions sometimes become costly and impose heavy load on the projects.
I think there exist a lot of limitations with usability testing. It is practically impossible to acomplish the true usability objectives. However, we have to live with this limitations focusing
on whatever is feasible with our limited domain with the hope that no more patient will die :)
Regards, Ayman
--- On Wed, 11/11/09, Sajjadul Hakim <sajjadul@...> wrote:
From: Sajjadul Hakim <sajjadul@...> Subject: Re: [SQABD] What will you do regarding Usability issues? To: sqa_bangladesh@yahoogroups.com Date: Wednesday, November 11, 2009, 8:10 AM
Hey Kaisar,
Good points regarding Google, and a great question on usability being an art or science.
I am not an expert in this topic, but if I had to guess, I would say usability testing is probably a social science, just like software testing. I am saying this because when I read Cem Kaner's presentation on "Software Testing as a Social Science" (http://www.kaner.com/pdfs/KanerSocialScienceSTEP.pdf), I find his description very similar to how usability testing relates:
"Social sciences study humans, especially humans in society. The social scientist’s core question, for any new product or technology is, “What will be the impact of X on people?” Social scientists normally deal with ambiguous issues, partial answers, situationally specific results, diverse interpretations and values– and they often use qualitative research methods."
Wikipedia explains qualitative research as the following:
"Qualitative researchers aim to gather an in-depth understanding of human behavior and the reasons that govern such behavior. The qualitative method investigates the why and how of decision making, not just what, where, when. Hence, smaller but focused samples are more
often needed, rather than large random samples."
I think this is what Ayman's concern was, when he asked how a tester is expected to achieve this.
On Wed, Nov 11, 2009 at 12:17 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote: > > > > I couldn't help but asking this: Is usability an art or science? or both? (I guess 'none' is not an option). > > Following are a few reasons for my question: > > 1. An improvement in usability in a web application was commented as 'awesome' by some users and 'not-friendly' by some others at the same time. > > 2. An obvious improvement suggestion in a embedded application looked 'brilliant' to the engineering department
but was suggested as 'confusing to end-users' by customer service department. We had to stick to the legacy user experiences. > > Few more comments: > > Sajjad bhai mentioned: > > "If Google is an international standard, then there are very few > applications following it." > > Google obviously made a break through in defining web application interfaces for rich internet applications, or the so called Web 2.0. It's both interesting and important to see how Google simplified usability both in terms of work-flow and richness of UI for many of its web based applications, including Google reader, adsense, code, documents, calendar, maps, mail, just to name a few. Almost all of these applications are Web 2.0 which is more difficult and expensive to development. The development cost might be one of the reasons why many companies can not effort following it. Irrespective of anyone following it or not,
Google is given the credit for defining the usability of Web 2.0 applications. Following are some references: > > http://oreilly.com/web2/archive/what-is-web-20.html > http://en.wikipedia.org/wiki/Web_2.0 > > About Shiblee bhai's Thilient: > > It's a nice term. However, I have this question about the term 'client' in "think like client", do we mean our client or the end-users? In many of the cases, the clients are not end-users. As Ayman mentioned, many of times clients do not think like or do not want to think like end-users as well. In that case, whom should we think like? :) I am not suggesting a change in the term but just tought of sharing this question. > > Thanks, > -Kaisar > > On Tue, Nov 10, 2009 at 5:35 PM, ayman <aymannr@...> wrote: >> >> >> >> Hello Sajjad Vai, >> It's good to hear few words from you on usability issues. However, I'hv some queries related to this topic. How far is it feasible to accomplish the goal of usability testing? Especially when you have the global market as the target end user domain. How much feasible is it to get indicative end users to represent the different cross-sections of demographic, attitudinal and behavioral types? Is it really feasible for us (testers) to play such roles(end-user) and even then, how fruitful such usability tests would be? >> >> Most of the companies/clients we work for are the product owners/developers. That means they are not the real end users. Hence, their thinkings might not resemble those of the end-users. In most cases they gather knowledge from similar
products out there in the market and then add some guess work. How would you like to address the usability testing for such products? >> >> Regards, >> Ayman >> >> --- On Mon, 11/9/09, Sajjadul Hakim <sajjadul@...> wrote: >> >> From: Sajjadul Hakim <sajjadul@...> >> Subject: Re: [SQABD] What will you do regarding Usability issues? >> To: sqa_bangladesh@yahoogroups.com >> Date: Monday, November 9, 2009, 7:00 PM >> >> >> >> Hi Shiblee bhai, >> >> Always glad to hear from you :) Find my comments
below: >> >> > In my case, usability is defined as per client. you may come to remember 'thilient'. 'think like client' was/is my one of the goals. >> >> I do like the concept of thilient, i.e. thinking about what your >> client would want, and recommending features and modifications. >> However I disagree with your talk, where you presented this as the way >> to "Improving status of testers/QA Engineers in team". Anyways that is >> another topic, which I am happy to discuss as well :) >> >> > as me and my team always develop application for specific client, we cannot implement all international usability features (though we'd like to). by the way, here by 'international' I actually meant the features of some famous web applications (say, google, facebook, blah...blah. ..). >> >> I remember about 3 years back I was having a debate with one
of my >> testers about international usability standards. She was telling me >> there is one, or there should be one, otherwise how can she tell the >> programmers that something is a usability problem. I guess it is not a >> surprise to any one here that I disagreed :) >> >> If Google is an international standard, then there are very few >> applications following it. In my opinion (and a lot of people I spoke >> to, but not all) Facebook had one of the most cluttered and least >> intuitive UI I had ever seen, even a year ago. Yet that had nothing to >> do with its quick success. Usability is dependent on how it will ease >> the way the end users would want to achieve their purpose, as well as >> their culture, experience and expectations. I am sure there are a lot >> more to this, and I am not a usability expert. >> >>
When I used to develop apps for Japanese end users, I hated the UI >> that they proposed. Yet I saw that many of the applications built in >> Japan resembled similar properties. They would fill the UI with >> contrasting colors, unusually large and small fonts, and even use >> excessive menu buttons instead of drop down menus. I don't know if >> this has changed over the years. >> >> > anyway, some of my clients really don't bother for any usability features that modern web applications have. they just want what they asked for. they even don't like fantastic thinks in their application free. even sometimes, it becomes tough for me to make them understand a thilient. they simply cannot understand how the usability going to help them. >> >> It strikes me as ironic that you are trying to "think like client" and >> yet promoting features or changes that they do not
value. However, I >> have nothing against this, because I know that there is more to your >> "thilient" than you had expressed. I suspect you are not only >> concerned with your clients who recommended the features and will >> probably pay for the product. I think you are also concerned about the >> end users (who are not necessarily your clients -- and in most cases >> they are not) and the purpose of the product. Probably, that is what >> frustrates you when your clients don't get it. >> >> > anyway, some clients are very advanced. they love usability and even though not a single usability are written in spec, they notice that we've developed it. some clients are too much sensetive, font face, size, case, color, bg color, a dash, thickness of line, breathing space, icon, button size, cursor focus, error message, notification message everything bothers them. they just
want the perfect out of all perfect things. these clients are very good for me. can anyone guess why? correct. one reason is I get satisfied by making such application that has lot of my thilients implemented. and second one is, these clients are ready to pay even for small (very small) usability feature. >> >> Cool! >> >> > I'd lot in my mind to discuss on it. but my kids are really angry on me to see setting on pc. let me satisfy them first. I'll try to catch further discussions on it... >> >> Family first :) Thanks for sharing your experience. >> >> Regards, >> Sajjadul Hakim >> http://rapidtester. blogspot. com/ >> > >
------------------------------------
************************ ************************ Visit
www.sqabd.com ************************ ************************Yahoo! Groups Links
Sajjad vhai, I have no idea how I missed this. Sorry for that. But nice is, later discussions clarified many things that I could reply on this mail. By the way, to me, it seems this whole discussion turned into a different track (again, to me). So, let us turn it back to what brother Tahmid was actually started with. Well, if I want to answer in very short of the question "What will you do regarding Usability issues?", it goes in this way:
There are some common usability things that we don't ask to develop and naturally programmers code for that.
Often my team comes up with usability issues and first I listen to it and then I judge. When I judge, I think about these:
a) In how many places this usability will have to be implemented to keep consistency? b) In how many places this would put an impact for what tester and programmers would have to work more? c) How many hours this would take for the whole team?
d) based on the project contract either I implement it or I ask to my client with detail.
Answers of above questions guide me to take decision. if yes, I show my positive sign, otherwise not. But my team may miss understand me, so I try to explain why I said 'NO' this time. If the usability idea was a good catch
, I put + sign against that team member (this was off the toipc statement) ;) perhaps we talked on 'evaluation' on a round table session few years back...
On Tue, Nov 10, 2009 at 9:00 AM, Sajjadul Hakim <sajjadul@...> wrote:
Hi Shiblee bhai,
Always glad to hear from you :) Find my comments below:
> In my case, usability is defined as per client. you may come to remember 'thilient'. 'think like client' was/is my one of the goals.
I do like the concept of thilient, i.e. thinking about what your
client would want, and recommending features and modifications.
However I disagree with your talk, where you presented this as the way
to "Improving status of testers/QA Engineers in team". Anyways that is
another topic, which I am happy to discuss as well :)
> as me and my team always develop application for specific client, we cannot implement all international usability features (though we'd like to). by the way, here by 'international' I actually meant the features of some famous web applications (say, google, facebook, blah...blah...).
I remember about 3 years back I was having a debate with one of my
testers about international usability standards. She was telling me
there is one, or there should be one, otherwise how can she tell the
programmers that something is a usability problem. I guess it is not a
surprise to any one here that I disagreed :)
If Google is an international standard, then there are very few
applications following it. In my opinion (and a lot of people I spoke
to, but not all) Facebook had one of the most cluttered and least
intuitive UI I had ever seen, even a year ago. Yet that had nothing to
do with its quick success. Usability is dependent on how it will ease
the way the end users would want to achieve their purpose, as well as
their culture, experience and expectations. I am sure there are a lot
more to this, and I am not a usability expert.
When I used to develop apps for Japanese end users, I hated the UI
that they proposed. Yet I saw that many of the applications built in
Japan resembled similar properties. They would fill the UI with
contrasting colors, unusually large and small fonts, and even use
excessive menu buttons instead of drop down menus. I don't know if
this has changed over the years.
> anyway, some of my clients really don't bother for any usability features that modern web applications have. they just want what they asked for. they even don't like fantastic thinks in their application free. even sometimes, it becomes tough for me to make them understand a thilient. they simply cannot understand how the usability going to help them.
It strikes me as ironic that you are trying to "think like client" and
yet promoting features or changes that they do not value. However, I
have nothing against this, because I know that there is more to your
"thilient" than you had expressed. I suspect you are not only
concerned with your clients who recommended the features and will
probably pay for the product. I think you are also concerned about the
end users (who are not necessarily your clients -- and in most cases
they are not) and the purpose of the product. Probably, that is what
frustrates you when your clients don't get it.
> anyway, some clients are very advanced. they love usability and even though not a single usability are written in spec, they notice that we've developed it. some clients are too much sensetive, font face, size, case, color, bg color, a dash, thickness of line, breathing space, icon, button size, cursor focus, error message, notification message everything bothers them. they just want the perfect out of all perfect things. these clients are very good for me. can anyone guess why? correct. one reason is I get satisfied by making such application that has lot of my thilients implemented. and second one is, these clients are ready to pay even for small (very small) usability feature.
Cool!
> I'd lot in my mind to discuss on it. but my kids are really angry on me to see setting on pc. let me satisfy them first. I'll try to catch further discussions on it...
Family first :) Thanks for sharing your experience.
It was good food. I appreciate such constructive, informative one that does not ONLY have theory but have real experience. Thanks Asif.
On Thu, Nov 12, 2009 at 9:09 AM, Shahid <shahidmasif@...> wrote:
Interesting topic indeed. Actually I got a very little chance to work with usability. It was really a good journey. Based on my little past experience I want to express my thoughts on these issues.
Before start/discuss any project with your client you must have the general knowledge on usability only if you want to take is issue seriously. More knowledge/experience on this helps you to serve better to discuss with your clients. Therefore I prefer to discuss or find out usability issues in first meeting if possible. A client may not know what usability is but he knows what "ease of use" is. So it's our responsibility to ensure those issues as much as we can.
For an example, in first meeting client is describing his features of his web application. I believe both client and you will argue with the placement of Login/logout link placement unless client has some creative thinking. Yes I am meaning the link at the top right corner. I always get confused when I login into yahoo mail. First few seconds I usually find the "logout" link. Yes it is in top left. Another example where I also spend few seconds to find the "logout" link is www.virginmobile.com.au. It is in the bottom left. May be that was their creative thinking or tried to stand out from any other applications. But as a user I always become confused and use less among all other sites that I usually browse in daily basis. May be I am used to find those links at the top corner.
Another scenario could be in you meeting, client may ask the link colors purple. I had a very healthy discussion on this in 2 years ago with one of my colleagues that link color should be "blue". He was saying why blue? Why not other colors. Finally we found out that "blue" is used in most of the common applications like gmail, youtube, hotmail, yahoo etc for so many years. So by this time people can map blue text with a link. But it doesn't mean that you have to keep always link color blue. For branding purposes so many companies are using different shades of color for the link. But ensure "Automatic Learning" which allows your visitor to differentiate "purple" is the link color of the site he is visiting. If it fails, you will be in danger. It's a great challenge for a designer who is designing the page. So by keeping that in mind you can discuss the other colors with your client in 1st/2nd meeting (Though in 1st meeting it is very earlier :) ) beside important features. This is a very silly example. But I've just used this for an idea.
For testers find out:
---------------------
I feel it totally depends on project status, time to redesign/develop, deadline. Serious issues must be included/fixed.
We found lot of usability issues in Therap applications. Few were fixed, few were avoided, few were kept for next version, few were "nothing to do" at this stage :)
Finally I always prefer user testing in every major step. We developers, designers, managers know so many thing, so many opinions, so many debates. Finally user talks. So try to arrange a small session for user testing with some tricky questions. User could be your colleagues to next tables. He will change your perception immediately.
Again, I just expressed my thoughts and experience (gaa bachai age :) ). Comments are really appreciable.
many thanks
S M Asif
--- In sqa_bangladesh@yahoogroups.com, "Tahmid Munaz" <to.munaz@...> wrote:
>
> Hello friends,
>
> Suddenly a few questions came up into my mind and here they are as
> follows:
>
> For Project Managers/Development Leads:
> ---------------------------------------
> When and How do you prioritize your usability features for your Online
> Application/Service? Do you really think about those while you discuss
> with your Clients? What will you do if your Testers are coming up with
> issues and new ideas or way around for any of your already developed
> application? Will you include that? OR what's your reason behind not
> accepting the new idea? :)
>
>
> For Testers/Test Managers:
> ---------------------------
> Suddenly if you are assigned to a schedule to Test an Online Application
> - but you start facing lots of issues regarding Usability - And you
> ended up with lots of issues that those could have been done with more
> care or in a different workflow and features could have been easy for
> the End users? What do you do then?
>
> You find nothing mentioned about these Usability features in to the
> Requirement Specification Document and no one of the whole team was too
> worried about it. Most of your expert developers were too busy in
> developing the features step by step and they ended up with a complete
> module or integrated module according to their understanding. And they
> thinks they are the Best in understanding the requirement. Will you
> initiate to argue about the better Options? When will you give up and
> accept them as usual feature? :P Otherwise will you start posting them
> as a Defect into your issue/bug tracker? :)
>
> Actually i was searching on different articles today on usability
> heuristics, usability tests, www.Usability.gov - Guidelines, Seven
> Common Usability Testing Mistakes and etc. (Googling...). Let's
> discuss on it if you are interested in this topics. We most often come
> up with better ideas for any new website or an Online Application and
> always expect a better one replacing the old styles. So how do you deal
> with them?
>
> I know this is a vast topic to discuss if we want to dig into it.. :P
> but I am waiting for your replies and Sajjad bhai's reply where he may
> ask me some specific questions where i may find few more clues to narrow
> down my discussion or thoughts into a specific area! :)
>
> It may even end up in a single Line. Aah! Tahmid.. you are making it too
> complex! :P See? This is how you should deal with it! This is the best
> feature we are giving!! :P
>
>
> Regards,
> Tahmid Munaz
> Cell: +8801713115496
>
Interesting topic indeed. Actually I got a very little chance to work with
usability. It was really a good journey. Based on my little past experience I
want to express my thoughts on these issues.
Before start/discuss any project with your client you must have the general
knowledge on usability only if you want to take is issue seriously. More
knowledge/experience on this helps you to serve better to discuss with your
clients. Therefore I prefer to discuss or find out usability issues in first
meeting if possible. A client may not know what usability is but he knows what
"ease of use" is. So it's our responsibility to ensure those issues as much as
we can.
For an example, in first meeting client is describing his features of his web
application. I believe both client and you will argue with the placement of
Login/logout link placement unless client has some creative thinking. Yes I am
meaning the link at the top right corner. I always get confused when I login
into yahoo mail. First few seconds I usually find the "logout" link. Yes it is
in top left. Another example where I also spend few seconds to find the "logout"
link is www.virginmobile.com.au. It is in the bottom left. May be that was their
creative thinking or tried to stand out from any other applications. But as a
user I always become confused and use less among all other sites that I usually
browse in daily basis. May be I am used to find those links at the top corner.
Another scenario could be in you meeting, client may ask the link colors purple.
I had a very healthy discussion on this in 2 years ago with one of my colleagues
that link color should be "blue". He was saying why blue? Why not other colors.
Finally we found out that "blue" is used in most of the common applications like
gmail, youtube, hotmail, yahoo etc for so many years. So by this time people can
map blue text with a link. But it doesn't mean that you have to keep always link
color blue. For branding purposes so many companies are using different shades
of color for the link. But ensure "Automatic Learning" which allows your visitor
to differentiate "purple" is the link color of the site he is visiting. If it
fails, you will be in danger. It's a great challenge for a designer who is
designing the page. So by keeping that in mind you can discuss the other colors
with your client in 1st/2nd meeting (Though in 1st meeting it is very earlier :)
) beside important features. This is a very silly example. But I've just used
this for an idea.
For testers find out:
---------------------
I feel it totally depends on project status, time to redesign/develop, deadline.
Serious issues must be included/fixed.
We found lot of usability issues in Therap applications. Few were fixed, few
were avoided, few were kept for next version, few were "nothing to do" at this
stage :)
Finally I always prefer user testing in every major step. We developers,
designers, managers know so many thing, so many opinions, so many debates.
Finally user talks. So try to arrange a small session for user testing with some
tricky questions. User could be your colleagues to next tables. He will change
your perception immediately.
Again, I just expressed my thoughts and experience (gaa bachai age :) ).
Comments are really appreciable.
many thanks
S M Asif
--- In sqa_bangladesh@yahoogroups.com, "Tahmid Munaz" <to.munaz@...> wrote:
>
> Hello friends,
>
> Suddenly a few questions came up into my mind and here they are as
> follows:
>
> For Project Managers/Development Leads:
> ---------------------------------------
> When and How do you prioritize your usability features for your Online
> Application/Service? Do you really think about those while you discuss
> with your Clients? What will you do if your Testers are coming up with
> issues and new ideas or way around for any of your already developed
> application? Will you include that? OR what's your reason behind not
> accepting the new idea? :)
>
>
> For Testers/Test Managers:
> ---------------------------
> Suddenly if you are assigned to a schedule to Test an Online Application
> - but you start facing lots of issues regarding Usability - And you
> ended up with lots of issues that those could have been done with more
> care or in a different workflow and features could have been easy for
> the End users? What do you do then?
>
> You find nothing mentioned about these Usability features in to the
> Requirement Specification Document and no one of the whole team was too
> worried about it. Most of your expert developers were too busy in
> developing the features step by step and they ended up with a complete
> module or integrated module according to their understanding. And they
> thinks they are the Best in understanding the requirement. Will you
> initiate to argue about the better Options? When will you give up and
> accept them as usual feature? :P Otherwise will you start posting them
> as a Defect into your issue/bug tracker? :)
>
> Actually i was searching on different articles today on usability
> heuristics, usability tests, www.Usability.gov - Guidelines, Seven
> Common Usability Testing Mistakes and etc. (Googling...). Let's
> discuss on it if you are interested in this topics. We most often come
> up with better ideas for any new website or an Online Application and
> always expect a better one replacing the old styles. So how do you deal
> with them?
>
> I know this is a vast topic to discuss if we want to dig into it.. :P
> but I am waiting for your replies and Sajjad bhai's reply where he may
> ask me some specific questions where i may find few more clues to narrow
> down my discussion or thoughts into a specific area! :)
>
> It may even end up in a single Line. Aah! Tahmid.. you are making it too
> complex! :P See? This is how you should deal with it! This is the best
> feature we are giving!! :P
>
>
> Regards,
> Tahmid Munaz
> Cell: +8801713115496
>
Hey Kaisar,
Good points regarding Google, and a great question on usability being
an art or science.
I am not an expert in this topic, but if I had to guess, I would say
usability testing is probably a social science, just like software
testing. I am saying this because when I read Cem Kaner's presentation
on "Software Testing as a Social Science"
(http://www.kaner.com/pdfs/KanerSocialScienceSTEP.pdf), I find his
description very similar to how usability testing relates:
"Social sciences study humans, especially humans in society. The
social scientists core question, for any new product or technology
is, What will be the impact of X on people? Social scientists
normally deal with ambiguous issues, partial answers, situationally
specific results, diverse interpretations and values and they often
use qualitative research methods."
Wikipedia explains qualitative research as the following:
"Qualitative researchers aim to gather an in-depth understanding of
human behavior and the reasons that govern such behavior. The
qualitative method investigates the why and how of decision making,
not just what, where, when. Hence, smaller but focused samples are
more often needed, rather than large random samples."
I think this is what Ayman's concern was, when he asked how a tester
is expected to achieve this.
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
On Wed, Nov 11, 2009 at 12:17 AM, M. Kaisar Ul Haque <m.kaisar@...> wrote:
>
>
>
> I couldn't help but asking this: Is usability an art or science? or both? (I
guess 'none' is not an option).
>
> Following are a few reasons for my question:
>
> 1. An improvement in usability in a web application was commented as 'awesome'
by some users and 'not-friendly' by some others at the same time.
>
> 2. An obvious improvement suggestion in a embedded application looked
'brilliant' to the engineering department but was suggested as 'confusing to
end-users' by customer service department. We had to stick to the legacy user
experiences.
>
> Few more comments:
>
> Sajjad bhai mentioned:
>
> "If Google is an international standard, then there are very few
> applications following it."
>
> Google obviously made a break through in defining web application interfaces
for rich internet applications, or the so called Web 2.0. It's both interesting
and important to see how Google simplified usability both in terms of work-flow
and richness of UI for many of its web based applications, including Google
reader, adsense, code, documents, calendar, maps, mail, just to name a few.
Almost all of these applications are Web 2.0 which is more difficult and
expensive to development. The development cost might be one of the reasons why
many companies can not effort following it. Irrespective of anyone following it
or not, Google is given the credit for defining the usability of Web 2.0
applications. Following are some references:
>
> http://oreilly.com/web2/archive/what-is-web-20.html
> http://en.wikipedia.org/wiki/Web_2.0
>
> About Shiblee bhai's Thilient:
>
> It's a nice term. However, I have this question about the term 'client' in
"think like client", do we mean our client or the end-users? In many of the
cases, the clients are not end-users. As Ayman mentioned, many of times clients
do not think like or do not want to think like end-users as well. In that case,
whom should we think like? :) I am not suggesting a change in the term but just
tought of sharing this question.
>
> Thanks,
> -Kaisar
>
> On Tue, Nov 10, 2009 at 5:35 PM, ayman <aymannr@...> wrote:
>>
>>
>>
>> Hello Sajjad Vai,
>> It's good to hear few words from you on usability issues. However, I'hv some
queries related to this topic. How far is it feasible to accomplish the goal of
usability testing? Especially when you have the global market as the target end
user domain. How much feasible is it to get indicative end users to represent
the different cross-sections of demographic, attitudinal and behavioral types?
Is it really feasible for us (testers) to play such roles(end-user) and even
then, how fruitful such usability tests would be?
>>
>> Most of the companies/clients we work for are the product owners/developers.
That means they are not the real end users. Hence, their thinkings might not
resemble those of the end-users. In most cases they gather knowledge from
similar products out there in the market and then add some guess work. How would
you like to address the usability testing for such products?
>>
>> Regards,
>> Ayman
>>
>> --- On Mon, 11/9/09, Sajjadul Hakim <sajjadul@...> wrote:
>>
>> From: Sajjadul Hakim <sajjadul@...>
>> Subject: Re: [SQABD] What will you do regarding Usability issues?
>> To: sqa_bangladesh@yahoogroups.com
>> Date: Monday, November 9, 2009, 7:00 PM
>>
>>
>>
>> Hi Shiblee bhai,
>>
>> Always glad to hear from you :) Find my comments below:
>>
>> > In my case, usability is defined as per client. you may come to remember
'thilient'. 'think like client' was/is my one of the goals.
>>
>> I do like the concept of thilient, i.e. thinking about what your
>> client would want, and recommending features and modifications.
>> However I disagree with your talk, where you presented this as the way
>> to "Improving status of testers/QA Engineers in team". Anyways that is
>> another topic, which I am happy to discuss as well :)
>>
>> > as me and my team always develop application for specific client, we cannot
implement all international usability features (though we'd like to). by the
way, here by 'international' I actually meant the features of some famous web
applications (say, google, facebook, blah...blah. ..).
>>
>> I remember about 3 years back I was having a debate with one of my
>> testers about international usability standards. She was telling me
>> there is one, or there should be one, otherwise how can she tell the
>> programmers that something is a usability problem. I guess it is not a
>> surprise to any one here that I disagreed :)
>>
>> If Google is an international standard, then there are very few
>> applications following it. In my opinion (and a lot of people I spoke
>> to, but not all) Facebook had one of the most cluttered and least
>> intuitive UI I had ever seen, even a year ago. Yet that had nothing to
>> do with its quick success. Usability is dependent on how it will ease
>> the way the end users would want to achieve their purpose, as well as
>> their culture, experience and expectations. I am sure there are a lot
>> more to this, and I am not a usability expert.
>>
>> When I used to develop apps for Japanese end users, I hated the UI
>> that they proposed. Yet I saw that many of the applications built in
>> Japan resembled similar properties. They would fill the UI with
>> contrasting colors, unusually large and small fonts, and even use
>> excessive menu buttons instead of drop down menus. I don't know if
>> this has changed over the years.
>>
>> > anyway, some of my clients really don't bother for any usability features
that modern web applications have. they just want what they asked for. they even
don't like fantastic thinks in their application free. even sometimes, it
becomes tough for me to make them understand a thilient. they simply cannot
understand how the usability going to help them.
>>
>> It strikes me as ironic that you are trying to "think like client" and
>> yet promoting features or changes that they do not value. However, I
>> have nothing against this, because I know that there is more to your
>> "thilient" than you had expressed. I suspect you are not only
>> concerned with your clients who recommended the features and will
>> probably pay for the product. I think you are also concerned about the
>> end users (who are not necessarily your clients -- and in most cases
>> they are not) and the purpose of the product. Probably, that is what
>> frustrates you when your clients don't get it.
>>
>> > anyway, some clients are very advanced. they love usability and even though
not a single usability are written in spec, they notice that we've developed it.
some clients are too much sensetive, font face, size, case, color, bg color, a
dash, thickness of line, breathing space, icon, button size, cursor focus, error
message, notification message everything bothers them. they just want the
perfect out of all perfect things. these clients are very good for me. can
anyone guess why? correct. one reason is I get satisfied by making such
application that has lot of my thilients implemented. and second one is, these
clients are ready to pay even for small (very small) usability feature.
>>
>> Cool!
>>
>> > I'd lot in my mind to discuss on it. but my kids are really angry on me to
see setting on pc. let me satisfy them first. I'll try to catch further
discussions on it...
>>
>> Family first :) Thanks for sharing your experience.
>>
>> Regards,
>> Sajjadul Hakim
>> http://rapidtester. blogspot. com/
>>
>
>
> What if a doctor write (using pen and paper) a wrong prescription to a serious
patient which causes a death? Should the doctor be hang on or the tools (pen &
paper) he used to write it?
I can't believe you evaded my question like that. Anyways, before my
point gets lost and another patient dies (something I picked up from
Kaisar), here is the million dollar question. You are saying you would
sacrifice some usability concerns for the sake of security and keep
the reentering of passwords (that are masked and hard to read) during
user registration, but you will not sacrifice the better usability of
eliminating multiple data entries for the sake of safety? Remember
that the initial Therac-25 prototype had been intentionally developed
to force the entry of the calibration data again in the console (even
though it was manually calibrated before). This was intentionally
there as a safety feature, so as to avoid wrong dosage, that can kill
patients, or cause irreversible damage subjecting them to unbearable
pain! Then there is the lawsuits, where even if its not your fault,
you have to spend a lot of money on attorneys and of course your
valuable time, and then there is the infamous media, and then there is
the compulsory order from the FDA (if in the US) to stop using the
device until this all gets settled. Is this usability, that merely
saves some data entry time, worth all this to you? I am not trying to
provoke you, but merely trying to understand how some testers think.
Regarding your latest question, which I think is not related and is a
trivial simplification, I guess what you are saying is that the doctor
knew the right prescription, but made an error when writing down with
his pen. To relate this to the problem being discussed, the pen would
need to be custom made for writing prescriptions, and have to
classified by the FDA (if in the US) as a device that can be hazardous
if not built or used with certain safety standards, i.e. can take
lives. Since the pen is not any of this, its manufacturers will
probably not be part of any law suits. If there are any lawyers
reading this, correct me if I am wrong. Now, doctors know that your
analogy is pretty silly, so you will notice that doctors would read
their prescriptions to the patient explaining what they wrote. Even
then that is not the final check. In the US, the pharmacist will also
verify the dosage in the prescription. In the case of oncology
patients there are multiple checks and verifications before a
radiation dosage is recommended. If anyone is an expert in this
matter, please correct me if I am wrong. Even if all these checks
fail, even then the pen manufacturer won't get sued, probably because
it is not classified as a health care device that is classified with
safety standards.
Regards,
Sajjadul Hakim
http://rapidtester.blogspot.com/
Thanks for the narrowing down the topic Tahmid before any more patient dies :).
Some thoughts on your questions..
"we should have defined these basic stuff while we were consolidating the requirements ?"
Many of the times we take requirements lightly and overlook a lot of details. Many of the times the engineering team has a mindset that details like the 'forgot password' button can be added/verified from the client when the development starts and the project plan is defined. That is what is called poor requirements engineering. For good requirements engineering, the team should elicit requirements with different techniques, including interviews, questions, modeling, prototyping, etc before the development starts, and also have a requirements change management and requirements traceability method/process in place.
"is it what you gonna ask your tester to Test it after development done and let your tester put it as a note / bug / Enhancement on issue tracker?"
I believe the testers should be part of the requirements analysis team and should put all their inputs defining the detailed quality of the application at the beginning, before the development starts. Then, their base of testing should be the solidified and detailed requirements document. If the developers didn't develop what was asked, they should go ahead bombing with bug posts. In this way, the team will have better chance to save time and making the project successful.
On the other hand, a usability improvement or change suggestion in the middle or end of the development shouldn't be a bug, rather it should be a 'change request', which should go through the 'requirement change management' process of your team or organization.
Thanks.
On Wed, Nov 11, 2009 at 2:55 PM, Tahmid Munaz <to.munaz@...> wrote:
Additional ideas to make things better or more easy - doesn't need to be something very unknown or new in all the cases. I think proposing a better system is always something we propose in respect of Usability whether we do it directly or indirectly - intentionally or unintentionally, but we are always trying to make a better system. So when we think of a better system we do it even in unintentionally on basis of our experience. It doesn't need to have a long hour meeting with list of proposed changes on Clients requirements. e.g.
1. CAPTCHA : A widely used module for protecting from spammers and reduce unnecessary form submissions. Why shouldn't i promote of using it ? Yes i know complex CAPTCHA's are not user friendly at all. But there are lots CAPTCHA modules available online and better CAPTCHA modules might even change your mind! :) Facebook starts giving you pain with CAPTCHA all over for a certain time when you a new account holder. But after a certain time (they might have their own logic in behind) you even forget that you have ever typed CATPCHA for each and every stuff you did in FB while you were a beginner. This is another usability feature that FB got its own.
2. Gmail: Listing down all your emails under same subject line is a feature which was 1st introduced by Gmail though people were little confused about Gmail email listing at the very beginning. But now most of the people loves it cause we can track down our lists of emails. I don't see any major difference with current Yahoo mail and Hotmail though the new Hotmail has nothing additional new changes or took my attention at all. But even than there are thousand of people who are still using Yahoo and Hotmail.
3. Email verification: You might have seen email verification emails with only a single URL or with a Code where they have asked for clicking on the URL or pasting the Code on certain URL. Sometimes it just gives you the random new password and asks you to loging with that and confirm the email address from their site after an activation. There are lots of ways and it depends on which purpose how you are dealing on this email verifications.
4. Forgot password: Some website asks you just entering a single email address or using their userID's - some gives you the both options. There are sites who has list of questions where you had a predefined answers to recover your Account. So which one is better?
5. Re-Type Password: Keeping the password masking is so that anyone sitting beside you will not be able to read your password. (personal feedback) This could be the reason why many of the new site registration doesn't even email your account password to your emails but asks you to click on a link and change your password in reference of their sent Random Password. Re-Type password field takes your attention to be more serious about filling up the form and type the password exactly what you have written on the Password.
I don't know about anyone else - but personally i believe Google must be tracking down all end users activities to get an idea on the best usable options for their application. So i took it as an experimental implementation of Google - Gmail on Google Apps if it's on the Left of the Screen.
Facebook is doing their own experiments changing their UI very frequent - i don't know whether they are capturing anything already or not. But they way of interaction is changing too frequent. And sometime we are getting pissed of because of frequent changes. But end of the day there must be something better! That's what we are expecting and your end users will expect the same too! This analysis is a long time process on based on user interactions - where in our cases we programmers or technical consultants do on basis of our previous experience and based on domain knowledge which type of flexibility for what and how it will help and on which basis it will be secured and in-secured.
So usability issues are not a single test script or just a choice list but it's a combination of lists of requirements with a certain returns on their implementation. It depends on certain purpose of security, flexibility, easiness or simplicity. Dependent on it's purpose. I will not be asking anyone to put a CAPTCHA on a RSS Feed subscription form. I need to have that idea what i am expecting in return. And obviously in the other case I don't expect to see someone missing to put Forget password beside the Login form. So this is what type of usability features i think we need to have at least in our basic understanding.
I can see the discussion have went into different directions because of it's vastness :) Let me narrow down where my question was for the Team leads and the Testers.
As for example you have a website built and you forgot to put Forgot password for your End users or your Client didn't even ask for it. Isn't it a basic usability issue? is it what you gonna ask your tester to Test it after development done and let your tester put it as a note / bug / Enhancement on issue tracker? OR we should have defined these basic stuff while we were consolidating the requirements ? Do i we really need to train our Client for that? or Do we need to train our developers for that? What if i made a site limited to IE and doesn't support Firefox? Unless your clients says so? Should i give an excuse claiming the there are 60% of users are still using IE? This is just an excuse of a half baked cake.
I call them as an incomplete project - or a half baked Cake. How do you deal in this practical situation? :)
Regards, Tahmid Munaz
--- In sqa_bangladesh@yahoogroups.com, "M. Kaisar Ul Haque" <m.kaisar@...> wrote:
> > Thanks for the further explanation Shiblee bhai. Yes, "thinking towards > making client's business successful" makes more sense for 'Thilient'. > > Regards. >
> On Wed, Nov 11, 2009 at 1:09 AM, SLee shiblee.sqa@... wrote: > > > > > > > Hi Brother Kaisar, > > :) well forget what ever the term I've said. Let me try to explain. umm,
> > here client mean the owner of the application I'm working for (who is paying > > me), not the end user really. (But somehow the end users will automatically > > come [if any] in my thought, recommendation, proposal, invention, idea,
> > thilient). Beside developing an application for my client, my another > > concern is to make my client's business successful as much as possible > > through the application I'm developing for her. So, I always give a thought
> > in my client's business and try to find out what more/change/new I can give > > to my client so that she become successful in her business. OR so that she > > can feel that the money she spent for the web app, was a good investment.
> > So, when I'm thinking for my client I do think of clients of my client (if > > any). > > > > many of times clients do not think like or do not want to think like > > end-users as well.
> > > > > > So, there is a scope we can help our client to think like her client. We > > can educate our client on it. > > > > Just giving you a real example on what I've worked recently. my client had
> > a form that had 194 input fields. before she came to us, I mean before she > > decided to make it a web app, she had a word document that had the 194 > > fields in it. And she was running her business by that word document. yes
> > word document had lot of limitations and that is why at one time she thought > > of a web application. But amazingly her business was a big business! So, > > here we got huge chance to contribute. She was so happy with the product we
> > delivered. And we not only delivered her a product but also educated her. > > Now, yes right now, we are working for her another big project. So by making > > her business successful, actually I'm making my business successful. So
> > selfish I'm nah...!? > > > >
> > On Tue, Nov 10, 2009 at 11:17 PM, M. Kaisar Ul Haque m.kaisar@...wrote:
> > > >>
> >> > >> I couldn't help but asking this: Is usability an art or science? or both? > >> (I guess 'none' is not an option). > >> > >> Following are a few reasons for my question:
> >> > >> 1. An improvement in usability in a web application was commented as > >> 'awesome' by some users and 'not-friendly' by some others at the same time. > >>
> >> 2. An obvious improvement suggestion in a embedded application looked > >> 'brilliant' to the engineering department but was suggested as 'confusing to > >> end-users' by customer service department. We had to stick to the legacy
> >> user experiences. > >> > >> Few more comments: > >> > >> Sajjad bhai mentioned: > >> > >> "If Google is an international standard, then there are very few
> >> applications following it." > >> > >> Google obviously made a break through in defining web application > >> interfaces for rich internet applications, or the so called Web 2.0. It's
> >> both interesting and important to see how Google simplified usability both > >> in terms of work-flow and richness of UI for many of its web based > >> applications, including Google reader, adsense, code, documents, calendar,
> >> maps, mail, just to name a few. Almost all of these applications are Web 2.0 > >> which is more difficult and expensive to development. The development cost > >> might be one of the reasons why many companies can not effort following it.
> >> Irrespective of anyone following it or not, Google is given the credit for > >> defining the usability of Web 2.0 applications. Following are some > >> references: > >>
> >> http://oreilly.com/web2/archive/what-is-web-20.html > >> http://en.wikipedia.org/wiki/Web_2.0
> >> > >> About Shiblee bhai's Thilient: > >> > >> It's a nice term. However, I have this question about the term 'client' in > >> "think like client", do we mean our client or the end-users? In many of the
> >> cases, the clients are not end-users. As Ayman mentioned, many of times > >> clients do not think like or do not want to think like end-users as well. In > >> that case, whom should we think like? :) I am not suggesting a change in the
> >> term but just tought of sharing this question. > >> > >> Thanks, > >> -Kaisar > >> > >>
> >> On Tue, Nov 10, 2009 at 5:35 PM, ayman aymannr@... wrote:
> >> > >>> > >>> > >>> Hello Sajjad Vai, > >>> It's good to hear few words from you on usability issues. However, I'hv > >>> some queries related to this topic. How far is it feasible to accomplish the
> >>> goal of usability testing? Especially when you have the global market as the > >>> target end user domain. How much feasible is it to get indicative end users > >>> to represent the different cross-sections of demographic, attitudinal and
> >>> behavioral types? Is it really feasible for us (testers) to play such > >>> roles(end-user) and even then, how fruitful such usability tests would be? > >>> > >>> Most of the companies/clients we work for are the product
> >>> owners/developers. That means they are not the real end users. Hence, their > >>> thinkings might not resemble those of the end-users. In most cases they > >>> gather knowledge from similar products out there in the market and then add
> >>> some guess work. How would you like to address the usability testing for > >>> such products? > >>> > >>> Regards, > >>> Ayman > >>>
> >>> --- On *Mon, 11/9/09, Sajjadul Hakim sajjadul@...* wrote: > >>> > >>> > >>> From: Sajjadul Hakim sajjadul@...
> >>> Subject: Re: [SQABD] What will you do regarding Usability issues?
> >>> To: sqa_bangladesh@yahoogroups.com > >>> Date: Monday, November 9, 2009, 7:00 PM > >>> > >>>
> >>> > >>> > >>> Hi Shiblee bhai, > >>> > >>> Always glad to hear from you :) Find my comments below: > >>> > >>> > In my case, usability is defined as per client. you may come to
> >>> remember 'thilient'. 'think like client' was/is my one of the goals. > >>> > >>> I do like the concept of thilient, i.e. thinking about what your > >>> client would want, and recommending features and modifications.
> >>> However I disagree with your talk, where you presented this as the way > >>> to "Improving status of testers/QA Engineers in team". Anyways that is > >>> another topic, which I am happy to discuss as well :)
> >>> > >>> > as me and my team always develop application for specific client, we > >>> cannot implement all international usability features (though we'd like to). > >>> by the way, here by 'international' I actually meant the features of some
> >>> famous web applications (say, google, facebook, blah...blah. ..). > >>> > >>> I remember about 3 years back I was having a debate with one of my > >>> testers about international usability standards. She was telling me
> >>> there is one, or there should be one, otherwise how can she tell the > >>> programmers that something is a usability problem. I guess it is not a > >>> surprise to any one here that I disagreed :)
> >>> > >>> If Google is an international standard, then there are very few > >>> applications following it. In my opinion (and a lot of people I spoke > >>> to, but not all) Facebook had one of the most cluttered and least
> >>> intuitive UI I had ever seen, even a year ago. Yet that had nothing to > >>> do with its quick success. Usability is dependent on how it will ease > >>> the way the end users would want to achieve their purpose, as well as
> >>> their culture, experience and expectations. I am sure there are a lot > >>> more to this, and I am not a usability expert. > >>> > >>> When I used to develop apps for Japanese end users, I hated the UI
> >>> that they proposed. Yet I saw that many of the applications built in > >>> Japan resembled similar properties. They would fill the UI with > >>> contrasting colors, unusually large and small fonts, and even use
> >>> excessive menu buttons instead of drop down menus. I don't know if > >>> this has changed over the years. > >>> > >>> > anyway, some of my clients really don't bother for any usability
> >>> features that modern web applications have. they just want what they asked > >>> for. they even don't like fantastic thinks in their application free. even > >>> sometimes, it becomes tough for me to make them understand a thilient. they
> >>> simply cannot understand how the usability going to help them. > >>> > >>> It strikes me as ironic that you are trying to "think like client" and > >>> yet promoting features or changes that they do not value. However, I
> >>> have nothing against this, because I know that there is more to your > >>> "thilient" than you had expressed. I suspect you are not only > >>> concerned with your clients who recommended the features and will
> >>> probably pay for the product. I think you are also concerned about the > >>> end users (who are not necessarily your clients -- and in most cases > >>> they are not) and the purpose of the product. Probably, that is what
> >>> frustrates you when your clients don't get it. > >>> > >>> > anyway, some clients are very advanced. they love usability and even > >>> though not a single usability are written in spec, they notice that we've
> >>> developed it. some clients are too much sensetive, font face, size, case, > >>> color, bg color, a dash, thickness of line, breathing space, icon, button > >>> size, cursor focus, error message, notification message everything bothers
> >>> them. they just want the perfect out of all perfect things. these clients > >>> are very good for me. can anyone guess why? correct. one reason is I get > >>> satisfied by making such application that has lot of my thilients
> >>> implemented. and second one is, these clients are ready to pay even for > >>> small (very small) usability feature. > >>> > >>> Cool! > >>>
> >>> > I'd lot in my mind to discuss on it. but my kids are really angry on me > >>> to see setting on pc. let me satisfy them first. I'll try to catch further > >>> discussions on it...
> >>> > >>> Family first :) Thanks for sharing your experience. > >>> > >>> Regards, > >>> Sajjadul Hakim