Selasa, 09 Maret 2010

Usability Principles (Terjemahan)


Setelah kita mengetahu Sejarah tentang HCI, sekarang kita akan mempelajari tentang Usability Principle.
Disain UI (UI Design):
Ada beberapa kategori dari UI Design:
1. Learnability Principle.
Artinya setiap alat (HCI) yang kita buat harus mudah dipelajari oleh user yang masih awam. Dan sebagai aspek yang harus diperhatikan adalah.
  1. Predictability (Bisa Diprediksi)
Artinya user yang melakukan sebuah aksi pada HCI dapat memperkirakan apa yang akan terjadi selanjutnya seperti yang pernah dialaminya.
  1. Synthesizability
Sebuah sistem HCI bisa membantu user memperkirakan apa yang akan terjadi dari aksinya.
  1. Familiarity (Ramah)
Artinya disini adalah dasar prinsip HCI tentunya harus ramah digunakan. Jadi sudah tidak asing bagi penggunanya.
  1. Generalizability
Bisa menambah wawasan bagi pengguna apabila menggunakannya.
  1. Consistency (Konsisten)
Memiliki kesamaan karakter dari tugas-tugas (tasks) yang dijalankan dalam hal berkaitan dengan output.
2. Flexibility (Memiliki Fleksibilitas)
Artinya disain HCI kita harus memiliki keluwesan dalam pemaiakiannya. Artinya bisa dipakai untuk langan apa saja. Baik yang masih level awam hingga professional. Misalnya :
  1. Dialog Initiative
User dapat melukan hal-hal apa saja tanpa harus dipaksa oleh sistem untuk melakukan hal-hal yang dianggap bisa membatasi ruang gerak user
  1. Multithreading
Memungkankan user bisa melakukan berbagai pekerjaan dalam waktu yang bersamaan dalam satu waktu. Multithreading terbagu menjadi dua:
- Concurrent
Memasukkan/menjalankan beberapa tugas/tasks secara simultan.
- Interleaved
Langsung memasukkan/memberi perintah tasks secara bersamaan sekaligus namun pengerjaannya satu persatu.
  1. Task migratability
Kemampuan suatu HCI untuk memindahkan performa tugas (tasks) ke entitas(bisa pemakai atau sistem) yang dapat melakukannya lebih baik lagi.
  1. Substitutivity
Kelwesan dalam operasi yang lebih rinci. Misalkan:
- Mengijinkan pemakai untuk memilih metode interaksi mana yang cocok.
- Mengijinkan perbedaan cara untuk memperformakan aksi, spesifikasi data, dan mengatur.
- Mengijinkan perbedaan cara dalam menerangkan output untuk tugas dan pemakai.
  1. Customizability
Kemampuan yang diberikan ke pemakai untuk merubah antarmuka. Misalnya Windows dalam Bahasa Indonesia.
3. Robustness
Dukungan dari Hci untuk pemakai dalam menentukan keberhasilan dan tujuan yang ingin dicapai. Seperti di bawah ini:
  1. Observability
Pemakai dapat menentukan keadaan internal sistem dari yang dia mengerti. Misalnya:
- Browsability
Kemampuan untuk menjelajahi sistem walaupun tanpa harus merubahnya.
- Reachability
Menavigasi kemampuan pendalaman.
- Persistence
Mengetahui seberapa lama pendalaman perlu dilakukan?
  1. Recoverability
Kemampuan untuk memperbaiki apabila terjadi kesalahan(error).
- Kesulitan dalam memulihkan prosedur sebaiknya sesulit dari tugas aslinya.
- Forward recovery artinya kemampuan untuk menangani error yang tidak dapat kita kembalikan(undo).
- Backward recovery artinya kita mengembalikannya kekejadian sebelum terjadinya error.
  1. Responsiveness
Sejauh mana besarnya persepsi pemakai terhadap laju rata-rata komunikasinya dengan sistem. Seperti:
- Response time (Waktu tanggap)
Waktu yang digunakan sistem untuk merespun beberapa aksi yang diberikan pemakai.
- Persepsi pengguna kadang tidak selalu benar.
- Konsistensi dalam hal ini sangat penting
- Tanggapan akan baik apabila sudah sesuai dengan yang diinginkan pemakai.
d. Task Conformance
Dimana sistem dapat mendukung sepenuhnya semua tugas yang diinginkan oleh pemakai. Misalnya:
- Task completeness
Tugas Kelengkapan
- Task adequacy
Tugas pengetahuan

Usability Principles

After we knew the history of HCI, now we will learn about “Usability Principle”.
UI Design:
Any some categories of UI Design:
1. Learnability Principle.
Ease with which new users can begin effective interaction and achieve maximal performance.
In simply it’s easy to learn.
Learnability reveres to
a. Predictability
It’s mean the tools function have to be prediction. And user could be know what will be
happened if “I click it”. Or we can say “I think that this action will do…”.
b. Synthesizability
Support for user in assessing the effect of past operations on current system state.
c. Familiarity
That mean, everything about our design was known by user. Such us if we write “apple”
like “aple” we know that mean “apple” the fruit wit the sweet meal and the red skin.
In headline “what people used to”.
d. Generalizability
Can knowledge of one system/UI be extended to other similar ones?
 Example: cut & paste in different applications
 Does knowledge of one aspect of a UI apply to rest of the UI?
 Aid: UI Developers guidelines
e. Consistency
Likeness in behavior between similar tasks/operations/situations

2. Flexibility
Multiplicity of ways that users and system exchange information:
a. Dialog Initiative
Not hampering the user by placing constraints on how dialog is done
 User pre-emptive
User initiates actions. More flexible, generally more desirable
 System pre-emptive
System does all prompts, user responds. Sometimes necessary

b. Multithreading
Allowing user to perform more than one task at a time. Any two types e.g.
 Concurrent
Input to multiple tasks simultaneously
 Interleaved
Many tasks, but input to one at a time

c. Task migratability
Ability to move performance of task to entity (user or system) who can do it better.
 Spell-checking, safety controls in plant
 For what kinds of tasks should the user be in control?

d. Substitutivity
Flexibility in details of operations. That means:
 Allow user to choose suitable interaction methods
 Allow different ways to perform actions, specify data, configure
 Allow different ways of presenting output to suit task & user

e. Customizability
Ability of user to modify interface e.g. Windows in Bahasa (Indonesian Language).

3. Robustness
Supporting user in determining successful achievement and assessment of goals. It reverses
to:
a. Observability
User can determine internal state of system from what he understand. Such us:
 Browsability
Explore current state (without changing it)
 Reachability
Navigate through observable states
 Persistence
How long does observable state persist?

b. Recoverability
Ability to take corrective action upon recognizing error
 Difficulty of recovery procedure should relate to difficulty of original task
 Forward recovery Ability to fix when we can’t undo
 Backward recovery Undo previous error(s)

c. Responsiveness
How Users perception of rate of communication with system. Such us know about
 Response time
Time for system to respond in some way to user action(s)
 Users perceptions not always right
 Consistency important
 Response OK if matches user expectations

d. Task Conformance
That system can serve/support all tasks what user want. It’s like
 Task completeness
Can system do all tasks of interest?
 Task adequacy
Can user understand how to do tasks?
 Does it allow user to define new tasks?