Thursday, May 6, 2010

AFFORDANCE

AFFORDANCE - "action that you can take on an object" (term used by Psychologists)
- Just because an object 'affords' some action, doesn't mean user will take action
- user have to perceive the 'affordance' explosed by the object
- Ex. For some users the START button in XP, is NOT PERCEIVED TO AFFORD
the action of SHUTTING DOWN
- Likewise for APIs exposes affordance
- users might not perceive the affordance that the API offers
- Ex. File I/O API support COPY & DELETE, users might not realize they can
use these two API's to MOVE files by copying first & then deleting original.

Scenario Based Design
- Write lots of sample code that shows how to use APIs in a give set of scenarios
- then API design proceeds in such a way to support devs in writing those sample scenarios