חשוב באופן הבא - אתה רוצה שהתוכנית תהיה הכי ידידותית ואינטואיטיווית שאפשר למשתמש, ושכשהוא מקליד פקודה כלשהי, הוא מקבל את התוצאה שהוא ציפה לה. במילים אחרות, נניח שהראית לו איך משתמשים בתוכנית באופן כללי, ועכשיו הוא יושב ומשתמש בה בכל מיני אופנים. כשהוא מקליד פקודה כלשהי, הוא בדרך כלל יצפה שהיא תתנהג באופן מסויים, ואם הוא יקבל משהו אחר, הוא יהיה "מופתע" (זה לא טוב). זו בעצם צורת החשיבה שדרושה לאורך הפרוייקט (ואגב, בכלל בתכנות) - "אם אני הייתי המשתמש, מה הייתי מצפה שיקרה כשאני מקליד את הפקודה xxx". בכמעט כל המקרים, זאת ההתנהגות ה"נכונה" לאותו מצב.
אתן גם דוגמה ממש בנאלית לזה, מתחום אחר: נניח אתה חדש ל-Powerpoint, ומראים לך שאפשר לסמן מילה במשפט, ללחוץ על Del וזה מוחק את אותה מילה. עכשיו, אם תסמן מלבן ותלחץ על Del, אתה תצפה (כנראה) שהוא גם יימחק, למרות שזה אובייקט שונה מאוד מטקסט. מצד שני, אם תצביע לתפריט File ותלחץ על Del, אתה לא תצפה שהתפריט עצמו ייעלם מהתוכנה (זה יפתיע אותך) וגם לא תצפה למשל לקבל הודעת שגיאה, או קריסה של התוכנית. כנראה שאתה תצפה שפשוט לא ייקרה כלום, כי ל-Del אין שום קשר לתפריטים. זו בעצם גם הגישה לגבי הפרוייקט שלנו.