עיצוב ממשק משתמש שונה בצורה מהותית מכל עיצוב אחר. אם עיצוב בדרך כלל דורש טעם אסתטי טוב, יכולת טכנית טובה בתוכנה גרפית, היחשפות להרבה עיצובים איכותיים וחשיבה קריאטיבית, עיצוב ממשק משתמש דורש גם רגישות ודמיון לאיך המשתמש ירגיש כאשר הוא יכנס לאתר, האפליקציה או כל מוצר או שירות שדורש אינטראקציה בין אדם למכונה. האתגר הוא יצירת ממשק פשוט לשימוש, למרות המורכבות הגבוהה והפונקציונליות הרבה של התוכנות של ימינו. אם בעבר מכשיר חשמלי היה מבצע פעולה אחת פשוטה כגון לקלות פרוסת לחם או להעלות בני אדם לקומה ספציפית בבניין רב קומות, התוכנות שאנו מכירים היום יודעים לבצע אין ספור משימות ולכן רמת הידע שהמשתמש זקוק לה היא גבוהה בהרבה.
השאלה הראשונה שצריך לשאול לפני עיצוב ממשק משתמש הוא מי קהלי היעד של התוכנה או האתר. אם מדובר על זקנים, הממשק יראה לגמרי אחרת מ-UI שמיועד למתכנתים, הדבר ישפיע כמובן גם על העיצוב הויזואלי כי קבוצות משתמשים שונות הם בעלי טעם אסתטי שונה.
הדבר הבא שכדאי לעשות הוא לעשות רשימת פיצ'רים באפליקציה או באתר ולדרג אותם לפי סדר של כמה פעמים היוזרים הולכים ללחוץ ולהשתמש בכל פיצ'ר. נתון זה ניתן יהיה לבדיקה לאחר שיש כבר גרסת דמו או prototype באמצעות צפייה מאחורי משתמשים שונים וספירת מספר הפעמים שהם לוחצים על כל כפתור. מידע זה הוא חשוב ביותר על מנת להחליט היכן למקם כפתורים, אילו לחצנים יהיו גדולים ובמיקומים מרכזיים ואילו פיצ'רים יתחבאו מאחורי תפריטים. צריך לזכור שאסור לתת את אותה היררכיה לכל הפיצ'רים ומאוד מומלץ לנקות פיצ'רים שהם לא מאוד שימושיים, מכיוון שנקיון וסינון הכרחיים לחווית משתמש נעימה ולא עמוסה. כפתורים ופיצ'רים מסויימים יכולים להופיע רק במצב רלוונטי ולא להופיע תמיד ובכך לתרום לנקיון זה. למשל רק אחרי שמסמנים מספר תמונות, מופיעים מספר אופציות שקיימות רק עבור תמונות.
אחת מהשיטות החשובות כאשר מעוניינים בעיצוב ממשק משתמש ידידותי, הוא שימוש בסטנדרטים קיימים ופופולאריים שהמשתמשים כבר מכירים מאתרים ואפליקציות אחרות, ובצורה כזאת היוזר יוכל כבר מהשנייה הראשונה לדעת מה כפתורים מסויימים עושים. לדוגמא שימוש באייקונים מוכרים קיימים עוזר מאוד להבנה של המשתמש כמו גם שימוש במיקומים קבועים. זה לא אומר שאין עבודה למעצב. נהפוכו הוא הנכון, האתגר נהיה רק גדול יותר על מנת לחדש וליצור עיצובים מרעננים אך עם עקומת לימוד מדורגת.
באופן מאוד כללי, אדם שעוסק בעיצוב ממשק משתמש זקוק לרגישות והבנה עמוקה לאיך משתמשים מרגישים, את התסכולים שלהם כאשר משהו לא עובד או הם מקבלים הודעת שגיאה, את ההנאות הקטנות בשימוש במחשב כאשר הם מסיימים בהצלחה פעולה כלשהי וכו'. המעצב יכול לגרום לחוויה נעימה בשימוש על ידי תוכן קריאטיבי בהודעות חיוביות של המערכת (כגון שמירה, יצירת מסמך חדש) והודעות שליליות (כאשר המשתמש לא יכול לבצע פעולה כלשהי). בשנים האחרונות יש שינוי של ממש כאשר מבינים שהודעות אלו יכולים להיות מצחיקות, מלוות בגרפיקה כיפית ושימוש במס' הודעות רנדומליות שמתחלפות באותו מצב על מנת להחליף שעמום ותסכול עם צחוק והנאה ועל מנת לתת למחשב או לתוכנה נופך יותר אנושי.