האם זה לגיטימי לעצב אפליקציות במנותק מהסטייל וההתנהגות של מערכת ההפעלה? מה היתרונות שניתן לקבל מכך, ומה נרוויח אם נבחר דווקא להיצמד לחוקיות שלה?
דיון קצר על השיקולים שצריכים להילקח בחשבון לפני שיוצאים לדרך.
כאשר מעצבים מערכת שחיה בתוך מערכת אחרת, אחד מהשיקולים הראשונים שצריכים להילקח הוא עד כמה להיצמד למערכת האם. אני מדבר בעיקר על עיצוב למערכות הפעלה כמו ווינדוז, מק, iOS, אנדרואיד ודומיהן. לכל אחת מהן יש אופי משלה וסט של חוקים שנקבע מראש וידוע למשתמשים. מנגד עומד הרצון ליצור חוויה מדוייקת, חופשית מכל אילוצים, בעלת אופי מקורי שמבטאת את הרעיונות העיצוביים שלנו במלואם. המאמר הזה עוסק בהשלכות של כל אחת מהדרכים, כפי שהיא מתבטאת בעיצוב האינטרקציה ובעיצוב הגראפי, על חווית המשתמש ותהליך הקמת המוצר.
באחד מהפרוייקטים שלקחתי בו חלק, בחרתי לעצב חווית משתמש עצמאית שלא מנסה להתחקות אחרי האופי של מערכת ההפעלה שהכילה אותה. כך, כל קונטרול עוצב מאפס, כל החלטה נלקחה כדף חדש. התוצאה הייתה סביבת UI מקורית לחלוטין, ממותגת למשעי וקוהרנטית לכל האורך. היום אני כמעט ולא נוקט באסטרטגיה הזאת, ויש לי כל מיני צידוקים לכך.
הגרסה המקורית של הפוסט הזה הייתה ברוח הדברים האלו – למה לא כדאי להתנתק מגבולות מערכת ההפעלה, אבל ככל שחפרתי יותר לעומק של הסיבות והמניעים השונים, הבנתי שהדיון בנושא יכול להוביל למסקנות בשני הכיוונים, תלוי מתי, וכמו כל דבר בחיים תלוי במידה.
הנה שתי דוגמאות להיצמדות והתרחקות מחוקיות של מערכת הפעלה:
נחזור ברשותכם לאותו מזלג החלטה. אילו מניעים יכולים לגרום למעצב ליצור חווית משתמש מקורית לחלוטין?
החוויה הכוללת – השאיפה הקלאסית של המוצר המעוצב היא שלמות. שלמות זאת מושגת ע"י שליטה בכל הגורמים שמשפיעים על החוויה. כך למשל, בנוסף לעיצוב הגראפי, מעצב הספרים יקבע חוקיות לסוג הנייר, לגמישות הכריכה ולנראות המוצר במדף הספרים. הארכיטקט יקח בחשבון את מצבי התאורה השונים לאורך היום והשתקפויות של מבנים סמוכים בחלונות המבנה שלו, בדיוק כפי שידאג לצורה ולחומר. כך גם אנחנו "מעצבי התוכנה" נאלץ לשקול כיצד ישפיעו אלמנטים זרים על היצירה שלנו, למשל ה"כרום" של מערכת ההפעלה, או הדיאלוגים שלה. כאשר אנחנו פוטרים את עצמנו מלשלב חלקים שיוצרו ע"י מישהו אחר לתוך המכונה שלנו, אנחנו מעבירים חוויה שלמה יותר שמיושרת לקו עיצובי אחד – הקו שלנו.
מיתוג – זה המשך ישיר של הנקודה הקודמת, אבל הפעם מזוית ראייה מאוד מסויימת. הרבה פעמים כאשר רוצים לתקשר ערכים של מותג מסויים, דרוש חופש מירבי וחוסר התפשרות, שהכפפה למערכת אם, שיש לה ערכים מותגיים משלה, גוררת. במקרים מסויימים, המוצר שלנו הוא חלק מסדרת מוצרים, שדורשת מיתוג משלה על גבי פלטפורמות שונות, כמו במקרה של אדובי.
פתרון בעיות קיימות במערכת האם – במקרים מסויימים החוקיות שהוגדרה ע"י מערכת ההפעלה לוקה בחסר, ואנחנו לא רוצים לעקוב אחריה באופן עיוור. לנו יש פתרון יותר טוב.
אין ברירה – לפעמים אין דרך לפתור את הבעייה העיצובית שלנו בכלים של מערכת ההפעלה, ואנחנו נדרשים ליצור קונטרול חדש.
חדשנות והתבלטות – לפעמים, אם אנחנו רוצים להתבלט מעל כולם ולהביא בשורה, עלינו להסיר את המעצורים שמערכת ההפעלה כופה עלינו וללכת בדרך שלנו.
בתור מעצב מתחיל, האפשרויות האלה קסמו לי מאוד, והרצון להטביע את החותם שלי הוביל אותי לבחור בדרך הזאת כשיכלתי. לקח לי קצת זמן לצבור מעט צניעות וגם להבין את המחירים שהדרך הזאת מזמנת.
מה הן הסכנות ביצירת סביבה מקורית מאפס?
העמסה מיותרת על המשתמש – המשתמש מכיר את מערכת ההפעלה שלו ממש טוב. הוא מרגיש נוח איתה, הוא מצפה לה, הוא כמעט אינו רואה אותה אפילו. חבל לגרום לו להתמודד עם סט חדש של שאלות, פשוטות ככל שיהיו. כמשתמש, אני לפחות, מרגיש בנוח עם האפליקציות שגורמות לי להרגיש בבית, ומאבד את סבלנותי עם אלה שמתעקשות לעשות דברים בדרך שלהן, כאילו למען האגו-טריפ של עצמן. הסיבה לכך היא שבשימוש טיפוסי אני עובר מאפליקצייה אחת לאחרת ומדלג בינהן לבין מערכת ההפעלה בתנועה מתמדת שיוצרת מעין חוויה רציפה ומתמשכת. לכן ברגע שתוכנה בוחרת ליצור כללים ונראות שייחודיים רק לה, היא כאילו שמה מולי מכשול.
יש מי שאמר ש-UI טוב הוא בלתי מורגש, ושם טמון הכוח המרכזי של ההיטמעות בתוך מערכת ההפעלה, סביבת הממשק הטבעית של המשתמש.
זמן ומאמץ – הרבה זמן, לוגיקה ומאמץ הושקעו ביצירה של קונטרולים מן המוכן, שתומכים בעשרות יכולות קטנות וגדולות. לקחת על עצמינו בנייה מאפס, אומר לקחת בחשבון זמן של איפיון, פיתוח ובדיקות כדי לתמוך בהרבה מהיכולות האלה שודאי נזדקק להם. זה זמן שכמעט תמיד אין אותו, וממילא מוטב שיהיה מושקע בדברים אחרים, מהותיים יותר.
באחד מהפרוייקטים שיצא לי להסתכל עליו מהצד, יוצר ווידג'ט בסגנון מסנג'ר. סביבת ה-UI פותחה מאפס, והפיתוח התארך והסתבך במאבק לתמוך בדברים הבסיסיים והשוליים ביותר. כך למשל הגרסה הראשונה יצאה ללא יכולת של העתק והדבק בשדה הטקסט, יכולת שהייתה מגיעה בחינם בשימוש בשדה הקלט הבסיסי של מערכת ההפעלה.
דוד: שמתי את הקובץ בתיקייה בשרת
שאול: אחלה, שלח לי את הלינק
דוד: >:-0 אני לא מצליח להדביק את הלינק משום מה
דוד: התייאשתי, אני שולח לך במייל
*שיחה אמיתית שנערכה באמצעות הווידג'ט. שמות המציגים שונו כדי להגן על פרטיותם.
יכולות – לסביבה של מערכת ההפעלה יכולות שלסביבה מיוצרת מאפס פשוט אין, היא גמישה, יציבה, חזקה ומהירה יותר. היא מפעילה את החומרה באופן ישיר, לכן הביצועים שלה תמיד מוצלחים יותר. בסביבת הMAC למשל, יש הרבה אפקטים גרפיים built in שפועלים באופן חלק להפליא, משום שהם משתמשים ישירות בכרטיס המסך.
עדכונים – כאשר הסביבה עוברת עדכון, המוצר מתקדם איתה ולא נשאר מאחור. לפעמים זה זניח, אבל במקרים מסויימים זה יכול להיות קריטי, למשל במקרה של פרצת אבטחה.
הרצון להיתפס כאפליקצייה רשמית – במקרים מסויימים, נרצה לתת תחושה שהמוצר שלנו שייך לבית היוצר של מערכת ההפעלה, ובכך להנות מהמוניטין ותפיסת הבטחון והאיכות שהיא משרה.
לסיכום, ישנם טיעונים סבירים לכאן ולכאן, וודאי יש כמה שלא מניתי. בסופו של דבר הבחירה תלוייה ביעד שאותו רוצים להשיג והמחירים שמוכנים לשלם. במקרים מסויימים נאלץ לבחור באופן מוחלט באחת מהדרכים, במקרים אחרים נוכל לשלב בין שתי הגישות ובמקרים נוספים הבחירה לא תיהיה בידנו כלל. כך או כך, נדמה שהבחירה הקלה והבטוחה יותר תיהיה תמיד היצמדות למערכת האם. אם נבחר בדרך השנייה, רצוי להיות מודעים לאתגרים שאנו עתידים לפגוש.
פורסם במקור בבלוג שמונים:עשרים
יש עוד עניין שקשור לזה, באנגלית הוא נקרא
Domain Knowledge
כלומר – מה המשתמש כבר יודע על הסביבה שלו ומה אתה מכריח אותו ללמוד מחדש.
זה קצת דומה למה שאתה כתבת אודות העמסה מיותרת על המשתמש אבל עם טויסט קטן:
אם בדוגמא שנתת אתה מחליף את הקונטרולים המוכרים במערך שלם של אדובי, שגם הוא אמור להיות מוכר למשתמש (ובייחוד לקהל היעד שמשתמש באפליקציות של אדובי באופן תדיר וכולן מתעלמות מהסביבה המוכרת של אייפד לטובת סביבה אחרת קוהרנטית ומוכרת של אדובי), אז יש לזה יותר הצדקה מאשר סתם להחליף את הממשק המוכר במשהו נדיר וחד פעמי אחר וחדש.
כמובן שזה מצטרף לשאר השיקולים שכתבת עליהם
חג שמח
שגיא
תודה שגיא, נקודה מצויינת.
חג שמח