User interface adalah cara program dan user berkomunikasi. Istilah user interface atau interface kadang-kadang digunakan sebagai pengganti istilah HCI (Human Computer Interaction). HCI (Human Computer Interface) adalah semua aspek dari interaksi pengguna dan computer, tidak hanya hardware. Semuanya yang terlhat dilayar, membaca dalam dokumentasi dan dimanipulasi dengan keyboard (atau mouse) merupaka bagian dari user interface.
User Interface berfungsi untuk menghubungkan atau penterjemah informasi antara pengguna dengan system operasi, sehingga computer dapat digunakan. Dengan demikian, user interface bisa juga diartikan sebagai mekanisme inter-relasi atau integrasi total dari perangkat keras dan lunak yang membentuk pengalaman bekomputer. Use interface dari sisi software bias berbentuk Graphical User Interface (GUI) atau Command Line Interfae (CLI), sedangkan dari sisi hardware bias berbentuk Aplle Desktop Bus (ADB), USB, dan fire wire.
Pertama kali diperkenalkan oleh Deborah J. Mayhew setidaknya ada sekitar 17 prinsip yang harus dipahami para perancang system, terutama untuk mendapatkan hasil maksimal dari tampilan yang dibuat. Namun yang akan kita bahas secara lebih mendalam hanya 3 kategori antara lain, Learnability, Flexibility, dan Robustness.
1. Learnability Principles
Merupakan suatu cara yang dapat memudahkan user baru agar dapat memulai interaksi dengan efektif dan mencapai kemampuan secara maksimal. Adapun kategori dari learnability principles adalah:
a. Predictability
Operasi visibilitas dapat melihat atau mengecek setiap aksi yang gagal.
b. Synthesizability
Dukungan untuk pengguna dalam menilai dampak operasi pada sistem masa lalu dan sistem yang sekarang.
Dukungan untuk pengguna dalam menilai dampak operasi pada sistem masa lalu dan sistem yang sekarang.
c. Familiarity
Icon disket akan lebih familiar jika digunakan untuk perintah menyimpan. Dengan kata lain arti dari kata ini adalah sesuatu yang lebih dikenal oleh orang atas fungsinya.
d. Generalizability
Contoh sederhana adalah pada perintah cut dan paste dalam aplikasi yang berbeda.
e. Consistency
Konsisten. Contohnya, jika kita menggunakan istilah save yang berarti simpan, maka istilah tersebut akan digunakan secara terus menerus.
2. Flexibility Principles
Merupakan tool/alat yang bisa digunakan user. Jangan hanya terpaku pada keyboard atau mouse saja. Adapun kategori dari flexibility principles adalah:
a. Dialog Initiative
Tidak menghambat pengguna dengan menempatkan batasan tentang bagaimana dialog dilakukan
b. Multithreading
Memungkinkan pengguna untuk melakukan lebih dari satu tugas pada satu waktu
c. Task Migratability
Kemampuan untuk memindahkan tugas / kinerja untuk entitas (user atau sistem) yang dapat melakukan tugas tersebut dengan lebih baik
d. Substitutivity
Fleksibilitas dalam rincian operasi.
e. Customizability
Kemampuan user untuk merubah interface
3. Robustness Principles
Merupakan handal. Dapat mengakomodir kesalahan user. jangan malah error, apalagi sampai crash. Adapun kategori dari Robustness Principles adalah:
a. Observability
Pengguna dapat menentukan keadaan internal sistem dari apa yang mereka rasakan.
b. Recoverability
Kemampuan untuk mengambil tindakan korektif atas mengakui kesalahan.
c. Responsiveness
Persepsi pengguna laju komunikasi dengan sistem.
d. Task Conformance
Sistem tidak mendukung semua tugas-tugas pengguna yang ingin tampil di cara-cara yang diharapkan.