DesignOfEverydayThings - Affordances

Chair affordance

  • An affordance is a relationship between the properties of an object and the capabilities of the agent that determine just how the object could possibly be used.
  • Ex. A chair affords support and sitting. It's easy to be discovered
  • Ex. Some chairs afford to be carried by one person

Glass Affordance

  • Affords transparency.
  • It blocks passage of most physical objects
  • The blockage of passage can be considered an anti-affordance: the prevention of interaction
  • Effective affordances and anti-affordances have to be discoverable. This poses a difficulty with glass.
    • Birds often try to fly through windows. 
    • Every year, numerous people injure themselves when they walk through glass windows

Affordance

  • Affordances exist even if they are not visible.
  • For designers, the visibility is critical: Visible affordances provide strong clues to the operations of things.
    • Ex. Slots are for inserting things into
  • Perceived affordances help people figure out what actions are possible without the need for labels or 

Programming Affordance 

(On my own opinion)
Programming language will have method name, already contains signifier, not natural affordance.
  • Perceived affordance
// affordance: Used to trim string
// discoverable: yes
StringUtils.trimToEmpty(String s)
  •  Not easy to be discovered affordance
// affordance: Used to get User data and update read count
// discoverable:  no, unable to know it will update data
UserDao.findById(String id) // Actually it will update read count
  • Anti-affordance

// hard to find an example… .. an anti-affordance in code may be just a bug? 

沒有留言:

張貼留言

別名演算法 Alias Method

 題目 每個伺服器支援不同的 TPM (transaction per minute) 當 request 來的時候, 系統需要馬上根據 TPM 的能力隨機找到一個適合的 server. 雖然稱為 "隨機", 但還是需要有 TPM 作為權重. 解法 別名演算法...