סמינר על פיתוח למובייל בכנס MOBI WEB של ג\'ון ברייס

אודה לכם אם תפיצו למי שעשוי להיות רלוונטי ו/או מעוניין.
עדכון: גיל גבעתי, מנכ\"ל Efficens Software, יצטרף אלי וידבר על ניתוח התנהגות משתמשים בתוך אפליקציית המובייל.
כנס MOBI WEB כולל מגוון מרצים ונושאים סביב לנושא המובייל – יש עוד הרבה נושאים מעניינים (חלקם גם בחינם).
תודה מראש,
ליאור

במה שונה פיתוח למובייל?

נאמר שממחר אתם נדרשים לספק את המוצר שלכם למכשירי מובייל. מה ההבדל, בעצם?
מסך יותר קטן – או אולי קצת יותר מזה…?

שפה חדשה

האם אתם שולטים ב Objective-C? ב JavaScript? ב HTML5 וב CSS3? ב ++C/C?
אם אתם הולכים לפתח למובייל – ייתכן ותאלצו ללמוד שפת תכנות חדשה: זו כבר לא כל-כך בחירה שלכם מה אתם מעדיפים – זו דרישה של הפלטפורמה.

סביבת עבודה חדשה

כמה מכם מכירים Linux או Unix? כמה רגילים לעבוד ב Mac OS או חלונות 8 (שבה חוויית השימוש שונה לחלוטין)?
האם אתם רגילים ל Visual Studio, Eclipse וגם Xcode?
ייתכן ותאלצו להתרגל לסביבה חדשה וכלים חדשים.

ספריות חדשות

הביטו במפה הבאה שיצרתי. עם כמה מהספריות הללו עבדתם כבר? האם אתם מזהים לאיזה תחום כל ספרייה שייכת?

אתם בוודאי יודעים שלהשתמש בצורה יעילה בספריה – לוקח זמן. ייתכן ויש לא-מעט ללמוד על מנת לפתח אפליקציות מובייל בצורה יעילה.
(נכון: חלק מהספריות ה javaScript נכונות גם לפתרונות Desktop)

חזרה לפיתוח של אפליקציות מקומיות / Rich Client  / אפליקציות שולחניות

מאז שנת 2000 בערך, היה מעבר משמעותי של פיתוח אפליקציות ווב על חשבון האפליקציות השולחניות. במובייל יש חזרה במידה רבה לפיתוח אפליקציות מקומיות למערכת ההפעלה (מה שנקרא גם native).

משתמשים חדשים

כמה מהמשתמשים שלכם כיום:

  • נמצאים במרחק-נגיעה מהמחשב 90% מהזמן?
  • אומרים: \"אל תתן לי להקליד במקלדת\"?
  • מסירים תוכנה אם היא לא הגיבה תוך 2-3 שניות?
  • עובדים בתנאי רעש ותאורה לקויה?
אנו נוהגים לומר שאותם האנשים, עם אותם צרכים והעדפות, ברגע שהם נוגעים במכשיר מובייל – הופכים למשתמשים מזן חדש.

מומחיות חדשה

האם אתם מומחים למגע (Touch) ומחוות (Gestures)? יודעים להבדיל בין \"התנהגות חלקה\", \"קצת מקרטע\" ו \"ממש flickering!\"? ואם ההתנהגות לא-טובה, מה עושים בכדי לשפר אותה?
האם אתם מכירים את רוב הדגמים של המחשבים של הלקוחות שלכם ואיזו חומרה יש להם? חומרת Desktop היא סטנדרטית למדי – לא כך במובייל.
האם אתם יודעים למה אין (כמעט) סמארטפונים עם חלת-דבש? (גרסת אנדרואיד)
כיצד אתם בוחרים מה ייכנס ל Notification Area, ל Action Bar או כ Charm?

שינוי בסדרי-גודל

מעבר מפיתוח אפליקציות (Application) יחידה עם הרבה פונקציות –> לפיתוח אפליקציות (Apps) רבות בעלות פונקציה יחידה כל אחת. סביר להניח שאם לתוכנה שלכם יש כיום תפריט ראשי עם 6 פריטים, נכון יהיה בעולם המובייל להפוך 4 מהם ל-Apps* ו 2 אחרים \"להעלים\" (כלומר לומר למשתמש: עבור פעולה זו – לך לממשק ה Desktop).
* בלתי-תלויים!

חוקי עיצוב UI חדשים

נכון – מעולם לא הייתם מעצבי ה UI באופן רשמי, אבל תמיד הייתה לכם השפעה.
בעולם המובייל יש רף חדש של חוויית משתמש של אפליקציות פשוטות ו\"זורמות\". אפליקציות שלא מתנהגת בהתאם – בולטות לרעה.
יש אתגרים חדשים כאשר עובדים על מסך של \"3 עד \"5 (לסמארטפון) או \"7 עד \"10 (טאבלט) כאשר אמצעי ההצבעה הוא אצבע ולא עכבר / עט.
יש כמובן גם כמה קונבנציות חדשות, לכל מערכת הפעלה – וגם בכלל בין מערכות ההפעלה השונות.

חזרה לתכנות מוגבל-משאבים

למכשיר סמארטפון ממוצע יש 512MB זכרון סה\"כ – לפעמים פחות. 
המעבד חלש משמעותית יותר, ה Storage קטן יותר והרשת אטית יותר.
מתי בפעם האחרונה לא היה לכם 1MB של זיכרון כשרציתם אותו??

חוקי ביצועים חדשים

ביצועים של אפליקציית מובייל מודדים במילי-שניות (זמן תגובה), צריכת זיכרון (ב MB) וכו\' – כל אלה כנראה לא חדשים.
מדד חשוב חדש הוא (O(watt – מדד הסוללה. סוללה היא תמיד משאב בחסר כשמדובר במכשירים ניידים – וחשוב מאוד לתכנן את המערכת שלכם על מנת לנצל אותה בצורה נכונה. לדוגמה: להביא מידע קצת פחות עדכני ובאצוות גדולות, כי העלות של \"יצירת connection\", מבחינת הסוללה – היא אדירה.

ערוצי הפצה חדשים

כלומר אפ סטורס, כפי שכבר כתבתי עליהם בפוסט הזה

אינטגרציה הדוקה יותר עם מערכת ההפעלה

בפיתוח אפליקציה למערכת ההפעלה \"חלונות\" יש כמה אפשרויות אינטגרציה – אולם מלבד הוספה של Tray Icon, מעטות האפליקציות שאכן התממשקו למערכת ההפעלה מעבר ל\"ריצה בחלון שהוקצה להן\".
במובייל – אנו רואים הרבה יותר אפשרויות מצד מערכת ההפעלה והרבה יותר הענות מהמפתחים להתממשק למערכת ההפעלה. הסיבות העיקריות לכך הן שטח המסך המוגבל ורף חוויית המשתמש הגבוה יותר המקובל. בניגוד לחלונות, בה לרוב האפליקציות המגיעות עם מערכת ההפעלה (Notepad, Calculator) לא הייתה אינטגרציה משמעותית עם מערכת ההפעלה, מלבד ההפעלה הבסיסית, אפל דווקא הדגימה באפליקציות שהגיעו עם האייפון אינטגרציה גבוהה – והמפתחים הלכו בעקבותיה.

חלונות 8 מנחה את המפתחים לא לספק חיפוש-בתוך-האפליקציה מתוך ה UI של האפליקציה, אלא מתוך מקום מרכזי במערכת ההפעלה. כך היא נהגה גם עבור האפליקציות שלה.

ב iOS מנחים את האפליקציות לנהל את ההגדרות (Settings) שלהם מתוך מסך מרכזי של מערכת ולא מתוך האפליקציה. רוב המפתחים אכן הולכים בעקבות הנחייה זו.
שיהיה לכם בהצלחה!

האם כתיבת אפליקציות (Apps) היא דרך קלה להתעשר?

שאל אותי מישהו, לא מזמן, למה אני לא כותב אפליקציה או שתיים \"סתם כדי לעשות כמה אלפי שקלים מהצד\". לא חשבתי על זה בכלל. הוא אמר: \"אם הייתי יודע לתכנת – הייתי עושה קצת כסף מהסיפור הזה, לפני שייגמר\". התחלתי לתהות: האם באמת מספיק לדעת לתכנת ו\"לזרוק\" אפליקציה לאפ-סטור על מנת לקבל כמה אלפיות? הרי אפליקציות מגוחכות כגון \"I am Rich\" (אפליקציה של מסך בודד עם תמונת יהלום, שנמכרה ב 1000$ ליח\') הצליחו להעניק לבעליהם \"כסף קל\" (לכאורה).

זה פשוט מכרה זהב!

איי שם ב 2008, כחודש לאחר השקת ה App Store של אפל, היו כבר כשישים מליון הורדות (!!) ל ~3000 האפליקציות שבחנות.

סכום מדהים של כ 9 מיליון דולר בחודש אחד (מתוך 30 מיליון דולר הכנסות סה\"כ) התחלק בין 10 המפתחים המובילים[א]. הבהלה לזהב החלה.
תוך שנה אחת היו באפ סטור כ 55,000 אפליקציות מאושרות. אם לוקחים את זמן הלמידה של פיתוח על פלטפורמה חדשה + זמן הפיתוח עצמו – ברור שזה מספר מדהים.

למה כולם רצים, כל-כך מהר, לכתוב אפליקציות באפ-סטור?
זה לא ברור?? בואו ניקח סתם לדוגמה אפליקציה שהאחיינים שלי אוהבים, Temple Run:

האפליקציה הזו הכניסה מעל 7 מיליון דולר בחמישה חודשים, שזה בערך 46 אלף דולר ביום. איזו חברת ענק עמלה כדי להגיע לכאלו הכנסות? האם חברת משחקים ענקית הקצתה מחלקה של 50 מפתחים? אולי וולט דיסני? האמת… הגרפיקה לא-משהו, אבל בטח בכדי להכניס כזה סכום בכזו מהירות זקוקים להשקעה רצינית…

האמת היא שהאפליקציה פותחה ע\"י זוג נשוי, עם עוד גרפיקאי שעזר להם:

קית\', נטלי וקיריל (מימין לשמאל). מקור: gamespot.com

…והאפליקציה מחולקת היום בחינם. מה יותר נחמד מזה?

רוצים עוד סתם דוגמה? ידידה שלי הכירה לי לפני שנה וחצי משחק קטן שנקרא \"ציפורים כעוסות\". כמה סדרת המשחקים הזו הרוויחה? – אין לי מספרים מדויקים, אבל הנה כמה נתונים: משחקים בסדרה הורדו לפחות 200 מיליון פעם, לפחות 12 מיליון פעמים בתשלום (יש גם גרסת חינם). בשנת 2011 רוביו (החברה שכתבה את המשחק) הכניסה 106 מיליון דולר, כאשר 67 מיליון מהם הם רווחים (אחוז רווח גבוה מאוד). ההכנסות כוללות גם מכירה של האפליקציה, אבל גם תמלוגים על צעצועים, בובות, סרטים, פריטי לבוש, כלי מטבח ועוד הממותגים עם \"ציפורים כעוסות\", המהווים כ30% מהכנסות החברה וצפויים לגדול. נראה שהחברה הזו מיצתה את הרווחים עד תום.

\"מלחמת הכוכבים של הציפורים הכעוסות\" – מותג בתוך מותג. מתי אמרתם שיהיה שת\"פ עם ג\'אסטין ביבר וליידי גאגא?!

זה קפיטליזם אכזרי!

מעניין להכיר גם את הצד השני של הסיפור הנוצץ. שימו לב לזה:
25 חברות / מפתחים – אחראים לכ 50% מההכנסות באפ-סטור (מקור), כל השאר (כ 199,975 חברות / מפתחים) – אחראים ל 50% השני. (מזכיר לכם במשהו את מבנה ההון במשק הישראלי?!)

יש ייתרון ברור מאוד לאפליקציות שנמצאות ברשימת ה \"100 המובילות\": היכולת, ממעמדן הגבוה, \"להמליץ\" על אפליקציות אחרות של אותו מפתח וכך לסייע מאוד למכירות. כשיש באפ-סטור כ 700,000 אפליקציות, קשה מאוד להתבלט. כשמייקרוסופט ניסתה למשוך מפתחים לפתח עבור Windows Phone 8, היא קראה: \"בואו לפתח עבור חנות אפליקציות כמעט ריקה\" – וזכתה להיענות רבה ביותר.

הכנסה ממוצעת לאפליקציה היא מעט יותר מדולר-וחצי לאפליקציה (שאינה משחק) או כ 90 סנט למשחק. משחקים נמכרים בפחות. ע\"פ Vision Mobile (בדו\"ח המלא), אחד מכל 3 מפתחי אפליקציות \"חי מתחת לקו העוני\" – כלומר, מפסיד על האפליקציה שכתב. כשביעית נוספים מרוויחים מהאפליקציות 500$ עד 1000$ לחודש – שזה סכום נמוך למדי, אם אתה מתכנת במדינה מערבית. סה״כ כמעט חצי לא מרוויחים ״כסף טוב״, לפחות ברמת התשלומים הישירים על האפליקציה.

בואו נחזור ל 2 ה Block Busters שלנו ש\"הצליחו בגדול\":
Temple Run – אמנם מכרה כ 40,000 יחידות ב 99 סנט, אבל אז המכירות החלו לצנוח. בראשית היא השתחלה ל \"50 האפליקציות הנמכרות\" – אך היא לא החזיקה שם מעמד זמן רב. המפתחים היו זריזים מספיק בכדי לשנות מודל כלכלי לפני שהיא תצא מרשימת ה Top 100 (אליה מגיעים באפ-סטור בדפדוף, אל השאר מגיעים בחיפוש) והחלו לחלק אותה בחינם.
כנראה שהמודל החינמי התאים יותר לקהל היעד – שהוריד הפעם 46 מיליון עותקים.
המפתחים הוסיפו למשחק אופציה לרכוש בכסף אמיתי, מטבעות שמסייעים להתקדם במשחק (מה שנקרא \"in-game purchase\"). כ 2% מהשחקנים שהורידו את האפליקציה בחינם, אכן קנו כאלו מטבעות – מודל שהוביל את האפליקציה לרווחים האדירים שהיא מרוויחה כיום. כדרך אגב, אפל גובה 30% גם על ה in-game purchases, והיא דורשת את הסכום גם כאשר לא נעשה דרך המנגנונים שלה – מה שהיה הרקע למריבה האחרונה עם מייקרוסופט.

ציפורים כעוסות – היא האפליקציה ה 52 (!!) של חברת Rovio. החברה כתבה 51 אפליקציות שלא הגיעו להיות Block Busters, ואולי אפילו הפסידו. לא יודע מה אתכם, אבל אני קצת הפסקתי לכעוס על זה שיש \"ציפורים כעוסות\" בכל פינה – אחרי ששמעתי את הסיפור הזה. אני מניח שגם אני הייתי \"סוחט כל מה שאפשר מההצלחה\", לו הייתי מגיע אליה לאחר כ\"כ הרבה ניסיונות.

כלכלת אפליקציות

הנה כמה מספרים:

אפליקציות שנכתבות במערב עושות יותר כסף. אולי בגלל פנייה לשוק \"רווחי\" יותר, או הבנה יותר טובה של קהל היעד שלו.

אפליקציות מושקעות יותר – מכניסות יותר.
מצד שני, הסקר מראה שלאפליקציות שפותחו במשך שבוע או פחות – לוקח כחודש-חודשיים מרגע ההפצה להגיע לנקודת הרווח. לאפליקציות שפותחו במשך עד שלושה חודשים – לוקח כחצי שנה להגיע בממוצע לנקודת הרווח ולאפליקציות שהושקע בהן 12 חודשי-מפתח או יותר, לוקח שנה או יותר מרגע שנחתו באפ-סטור עד שהן מגיעות לנקודת הרווח, בממוצע.

כלומר – אפליקציה יקרה יותר = סיכון גבוה יותר.

משחקים הם לרוב פחות רווחיים, לפחות ברווחים ישירים, מה שנרחיב לגביו בהמשך.





אולי זה צפוי, אך כדאי להזכיר זאת: בממוצע, רווחי יותר למכור \"שעות פיתוח\" מאשר למכור אפליקציות. שוק המובייל הוא בזינוק ומתכנתים תמיד נמצאים בחסר – ויש מי שמוכן לשלם עבורם.
דומה מאוד לטענה של נאסים טאלב ש\"רופא שיניים מרוויח יותר מברוקר בבנק-השקעות גדול\".

מעניין לציין, שע\"פ Vision Mobile, התחום הרווחי ביותר הוא פיתוח אפליקציות עסקיות עבור פלטפורמת RIM (בלאקברי), יכול להיות שזה דומה למקרה בו גם מפתחי Cobol מרוויחים יפה…

השפעת האפ-סטור

עם ההצלחה של האפ-סטור, נוצרו בעיות חדשות למפתחי האפליקציות: שברגע שיש 700K אפליקציות שונות, קשה מאוד להתבלט. ישנו כבר תחום שלם של SEO באפ-סטור (לינק לדוגמה) וסדנאות / יועצים (כובעים לבנים וכובעים אפורים) שיסייעו לכם לקדם את האפליקציה שלכם בתוך החנות. למפתחים עצמיים, זה לא כ\"כ שונה מקידום אתרים אצל גוגל – כך שהמגמה מתקבלת בהבנה.

כחצי מהמפתחים מציעים את האפליקציה שלהם ביותר מחנות אחת, וע\"פ סקרים – רובם מתכננים להגדיל את מספר החנויות שהאפליקציה שלהם חשופה בהן.

לשימוש באפ-סטור יש בעיות נוספות:

  • \"מתג המוות\" של אפל – אפל יכולה להסיר מיידית אפליקציה, מבלי לתת הסבר מנומק. זה לא קורה הרבה – אך כשזה קורה, זה יכול לכאוב מאוד למפתח האפליקציה שזו פרנסתו. כנ\"ל לגבי אי-אישור של אפליקציה מסיבה כזו או אחרת.
  • העמלה שאפל גובה על כל אפליקציה או רכישה בתוך האפליקציה, כ 30%, יכולה להיות מחיר גבוה מדי לחלק מהעסקים, בעיקר לגדולים. העיתון הכלכלי המצליח Financial Times הבין שעבורו 30% זה ההבדל בין \"רווחי\" ל\"לא-רווחי\". אפל לא נותנת הנחות.
    FT הסירו את האפליקציה שלהם מהאפ-סטור ועברו ל Mobile Web, שם אין עמלות.
  • לאפ-סטור יש מערכת דירוג / Review יחידה – עובדה זו מסייעת לצרכן לערוך השוואות, אך מצד שני אפליקציה שמסיבה כלשהי לא ״עוברת מסך״ במערכת הדירוג של החנות – עלולה להיפגע מאוד. בעולם שלפני האפ-סטור, אפליקציה הייתה יכולה למצוא סוג דירוג / ביקורת שמחמיא לה.
  • מחסור באנליטיקס – כשנקודת המכירה / פרסום היא בידי המפתח, הוא יכול לאסוף מידע דיי מדויק על התנהגות הצרכנים – מידע חשוב מאוד מבחינה שיווקית / הגדרת מוצר. אפל מספקת מידע בסיסי ביותר, גוגל מספקת יותר. כל מיני פתרונות 3rd Party מנסים בדרכים שונות ומשנות להשיג אנליטיקס על האפליקציות שלכם. קצת מידע: לינק1, לינק2.
  • עדכונים דחופים – אם יש לי בעיית אבטחה קריטית באפליקציה עסקית, הייתי רוצה להגיש תיקון ברגע שהוא מוכן. אם אני משתמש באפ-סטור של אפל – זה אישור של אפליקציה לכל דבר, ויכול לקחת גם שבוע. רק הלקוחות הגדולים ביותר של אפל מצליחים \"לזרז\" ולו במעט את התהליך. כנ\"ל אם אני רוצה לעבוד ע\"פ ה Lean Startup ולשחרר גרסאות באופן תדיר מאוד.
  • תמיכה – דוחות על תקלות גם הם מוגבלים למה שפלטפורמת האפ-סטור מספקת, וזה לרוב לא הרבה.

נושאים אלו הן נקודות לתחרות ויש אפ-סטורס שגובים פחות עמלה, מספקים יותר אנליטיקס או אפשרויות תמיכה טובות יותר. יש לציין, שהאפ-סטורס של אפל וגוגל משתפרות בתחומים אלו באופן תדיר. באפ-סטור, אנו כצרכנים, רואים שיפורים מעטים – אולם כמוכרים ניתן לראות קצב שיפורים גבוה בהרבה.

חשוב לציין שבעוד שאפליקציות למשתמש-קצה (Consumer) נשלטות באופן גורף ע\"י האפ-סטור, אפליקציות לעסקים נמכרות גם בדרכים אחרות:

מודלים לרווחים מאפליקציה

  • מכירת אפליקציות – הלקוח משלם בזמן הקנייה על האפליקציה.
  • Freemium – יש 2 גרסאות לאפליקציה: גרסה \"Lite\" עם מגבלות / פרסומות המחולקת בחינם + אפליקציה עם יכולות מלאות בתשלום. Freemium היא דרך להתמודד עם החשש של הלקוחות מתשלום על אפליקציה שהם עוד לא ניסו.
  • פרסום – פרסומות בתוך האפליקציה. פרסומות יכולות לבוא עד כמה-שאפשר כשירות (כמו למשל ב Waze) ולא דווקא \"לתפוס חצי מסך\". מודל זה נפוץ במיוחד באנדרואיד.
  • In-App purchases – האפליקציה בחינם/תשלום נמוך כאשר לקוחות שרוצים יותר – משלמים על השירות. התשלום יכול לעשות עבור \"כסף משחק\" (לרוב במשחקים), תוכן נוסף (כתבות, מפות) או שירות חד-פעמי שהאפליקציה מספקת. ניתן לראות היום מודל זה גם באפליקציות עסקיות: סוג של גבייה ע\"פ שימוש.
  • Mobile-Payments או M-Payments – לקיחת עמלה על עסקה שהאפליקציה סייעה לקיימה: ארוחה במשלוח, מוסיקה, הזמנת שירות וכו\'. טכנולוגיית NFC מרחיבה את האפשרויות עבור תחום זה.
  • מינויים (subscription) – ניתן להוריד את האפליקציה בחינם, אך יש לשלם דמי-שימוש.
  • קידום לעסק חיצוני – האפליקציה לא מניבה רווח ישיר כלל, אך היא מגבה את העסק שעומד מאחוריה. דוגמה: אפליקציה עם פרטים על רכבי מאזדה (לא ניתן לרכוש רכב באפליקציה). זה מודל נפוץ בקרב עסקים.

נתון חשוב ומעניין הוא שאפליקציות לאייפד נמכרות בממוצע בכמעט פי-5 מאפליקציות לאייפון – למרות שההשקעה איננה גדולה יותר בכמו מידה. העניין הוא שמשתמשי Smartphone משווים את המחיר ל״1$״ – מספר שאפל השליטה, בעוד באייפד נוטים במידה חלקית להשוות את המחירים לאלו של תוכנה על מחשב נייד (Laptop) – הכל עניין של תפיסה.

נתונים רבים נוספים על כלכלת אפליקציות תוכלו למצוא כאן: http://www.visualisations.visionmobile.com

שיהיה בהצלחה!

—-

[א] ככל הנראה היו ל 10 המפתחים האלו יותר מ10 אפליקציות.

על חנויות אפליקציה (App Stores)

דמיינו שאתם עובדים לבד על פיתוח אפליקציה לאייפון. מחיר סביר שאתם יכולים לדרוש, בלי לקבל הרמת גבה, הוא דולר או שניים ליחידה. אתם מאוד מעוניינים להתחיל ולמכור, הדבקתם כבר מודעות של האפליקציה על האוטו שלכם ועל האוטו של אמא (ואתם עושים כל יום כמה סיבובים ברוטשילד, היכן שיש הרבה לקוחות פוטנציאליים) – אבל איך ממשיכים הלאה?

  • האגדה על מכירה ויראלית (\"כל קונה יספר ל 3-4 חברים ותגיעו למיליון מכירות בחודש\") – לא ממש עובדת.
  • איש מכירות ייקח מכם בערך 50$ למכירה, מה שישאיר אתכם עם 48$- לעסקה, במקרה הטוב.
  • פרסומות (שלטי חוצות, עיתונים, רדיו) יעלו עשרות אלפי דולרים, אולי יותר. ספק אם תוכלו לכסות את ההוצאות
  • נניח שכבר הייתה לכם שיחה אקראית ב\"סנטר\" ועניינתם מישהו באפליקציה, אבל הוא מפחד להתקין על המכשיר מן קובץ ipa[א] ממישהו שהוא לא ממש מכיר!

אם אפל הייתה מספקת רק SDK, ואומרת למפתחים: \"אתם יכולים להפיץ את האפליקציה איך שאתם רוצים! אנחנו לא מגבילים אתכם בכלל\" – ספק אם מישהו היום היה מתרגש מ\"דגם חדש של הטלפון ההוא שנקרא אייפון\".

העסקה (נוסח אפל)

נניח שהיה בא מישהו ומציע לכם את העסקה הבאה:

  • אני אמכור עבורכם את האפליקציה. אם היא טובה, היא יכולה להימכר בעשרות אלפי, מאות אלפי או אולי מליוני עותקים.
  • אני אגבה מחיר צנוע: 30% מסכום המכירה. כלומר: 30 סנט לעסקה (לאפליקציה של דולר) – לא תמצאו עסקה טובה יותר!
  • הסיכון שלכם – מזערי. תשלום של 99$ לשנה בכדי להיכנס לעסקה.
  • אני אבצע את הפעולה הכספית מול הלקוח, בצורה מאובטחת, במדינות שונות, מול חברות אשראי שונות – אתם תקבלי ממני העברה בנקאית של 70% מסך המכירות (החלק שלכם) בסוף החודש.
  • אני מתווך מהימן ביותר – לקוחות מרגישים טוב מאוד לרכוש ממני אפליקציות.
  • אני מתווך מאוד ממוקד: מי שיראה פרסומת לאפליקציה שלכם, הוא רק לקוח פוטנציאלי רלוונטי (עם חומרה מתאימה). לא עוד \"פרסומת לטמפונים שמשודרת לגבר בן 60\".
  • אם אתם רוצים לשווק את האפליקציה שלכם בחינם – אדרבא, אני אפילו לא אקח עמלת מכירה.

איך אפשר לסרב לכזו הצעה? 700,000 אפליקציות אמנם לא סירבו, יצרו +35 מיליארד הורדות ומפתחיהם גרפו לכיסם סכום של כ6.5 מיליארד דולר בארבע השנים האחרונות.

הצמיחה במכירות אפליקציות למובייל. מקור: http://kpcb.com/insights/2012-internet-trends-update
CAGR היא גדילה שנתית ממוצעת (במקרה זה אכן נראית כמו טיל).

האפ סטור, אגב, הופיע רק עם ה iPhone 3G – הדגם השני של האייפון, באמצע 2008. למשתמשי הדגם הראשון לא היה אפ-סטור. אם אתם תוהים \"כיצד זה ייתכן?\" – קראו את הפוסט הזה.

בעקבות ההצלחה המטאורית של האפ-סטור של אפל החל לצוץ חנויות מקבילות אצל המתחרים הישירים: Android Market (שאח\"כ הפך ל Google Play), חנות של נוקיה בשם Nokia Store (לשעבר Ovi), מייקרוסופט עם Windows Phone Store.

איך זה עובד?

אפ סטור היא לא רק \"חנות\": זהו ערוץ שלם של הפצה, תשלומים ותמיכה.
על מנת להוסיף אפליקציה לאפ סטור של אפל, יש לעבור תהליך אישור לאפליקציה.
המפתח יכול לשחרר גרסה מוקדמת של האפליקציה בהפצת \"ad-hoc\" לצורך בדיקות תקינות / שימושיות / בדיקות-ביטא למספר מצומצם של מכשירים שהוא יודע את ה Unique Id שלהם. משתמשים של מכשירים אלו בלבד יכולים למצוא את האפליקציה ולהוריד אותה. על מנת לצאת ל\"תפוצה מלאה\" – על האפליקציה לקבל את האישור של אפל.

כשמפתח מגיש את האפליקציה שלו לבדיקה – עליו להגיש את ה source code עצמו. תיקון: רק ה binaries נארזים ועל פהם יש static analysis. מסמך NDA דו-כיווני מבטיח שאפל לא תחשוף את הקוד ומצד שני אסור על המפתח לחשוף את ההערות שהוא קיבל מאפל על הקוד שלו, או לפרסם את הסיבה בגינה אפל פסלה את האפליקציה. מסך ברזל קטן, אם תשאלו אותי.
תהליך האישור כולל כנראה כלי Static Analysis אוטומטיים ומרכיב מסוים של בדיקה אנושית. בעבר, התהליך ארך מספר שבועות – אולם מאז הוא התייעל וכיום הוא לוקח לרוב פחות משבוע. בסוף התהליך האפליקציה מאושרת ומשוחררת לאפ-סטור או נדחית עם פירוט הדחייה והצעות לתיקונים – למפתח האפליקציה.

על מה פוסלים אפליקציות? לאף אחד אסור לומר! בכל זאת התגנבו ידיעות על הסיבות הבאות:

  • אפליקציה שאינה עומדת בסטנדרטי איכות מסוימים (לא גמורה או בעלת באגים חמורים וברורים).
  • אפליקציה שמכילה רכיבים זדוניים, או כאלו שיכולים לשמש כעזר לתוקף פוטנציאלי בפריצה למכשיר.
  • שימוש ב APIs של iOS שאינם מתועדים (כלומר, לא מיועדים לשימוש).
  • חריגה בוטה מהנחויות עיצוב ה UI של אפל לאפליקציות.
  • אפליקציות שדומות מדיי לאפליקציות של אפל, במראה או בסט היכולות (פתח למניעת תחרות, אם כי אפל טוענת שזו דרך להגן על הלקוחות בפני \"הטעייה\").
  • יש אפליקציות שנפסלו על עירום עדין (\"עמוד 3\" במגזין בריטי) בעוד אפליקציה של פלייבוי זכתה לאישור.
  • כמה משחקים נפסלו על אלימות יתר או מסרים גזעניים.
  • לסיכום: אפליקציות נפסלות על חריגה מהמדיניות של אפל, הן לגבי תוכן והן לגבי כללים לכתיבת קוד. פרטי המדיניות מתעדכנים מעת לעת.

האפ סטור של אפל בגרסתו הראשונה. מקור: techCrunch

שינוי פרדיגמה

מעבר להצלחה המיידית – נוצר כאן שינוי פרדיגמה משמעותי. רבים מייחסים את ה\"חדשנות\" של אפל לשימושיות הטובה של המכשירים שלה, למוצר הבסיס. אולי דווקא המוצר המקיף (\"Whole Product\") שהוא המכשיר + האפ-סטור או חנות התוכן iTunes הם אלו שבהם טמונה ה\"חדשנות\" המשמעותית-יותר של חברת אפל.

מצד הלקוח: האפ-סטור מאפשר חווית קנייה פשוטה, מהירה ומהנה – ישר מהמכשיר. חוויה שגורמת למשתמש iDevice לקנות יותר.
מצד הספק: האפ-סטור הוביל לכך שאפשר להרוויח מאפליקציות קטנות מאוד שמפותחות ע\"י מפתחים בודדים (איך בדיוק מרוויחים – אולי בפוסט המשך). המתווכים הקלאסיים – נעלמו, ואיתם הוצאות רבות הקשורות להפצה. אפליקציות קטנות => פשטות שימוש => חוויות שימוש טובה יותר של ה Whole Product. אפל טיפלה בכל שרשרת הערך של המוצרים שלה, בלי להשאיר אף חלק ל\"יד המקרה\". הכל הרמוני, seamless, ומוכן לשימוש. דוגמאות נוספות:

  • אפל איננה ספקית תוכן, אך על מנת שהמוצר שהיא מוכרת (חומרה/תוכנה) יצליח: היא נכנסה לביזנס, יצרה את iTunes, ועשתה את הבלתי-יאמן כשהחתימה חברות מוסיקה גדולות על הסכמים למכירת שירים ב 1$ (עוד בימי ה iPod). חברה אחרת יכלה בקלות \"לחתום על כמה הסכמים עם שותפים\" ולקוות לטוב.
  • iCloud שירות האכסון / סנכרון בין מכשירים. למי שיש יותר ממכשיר אחד קל מאוד להבין מדוע זה \"נדרש\".

הרעיון של ה App Store גלש מעבר למכשירי המובייל לעולמות אחרים והופך, אט אט, לסטנדרט חדש להפצת תוכנה:

  • Chrome Store – עבור Plugins לדפדפן הפופולרי.
  • Mac App Store ו Windows 8 Store – אפ סטור למחשבים שולחניים. אם הקונספט עובד היטב למכשירי מובייל, למה שלא יעבוד גם למחשבים שולחניים?
  • App Stores אלטרנטיביים. בעולם האנדרואיד, היכן שיש חופש ופחות שליטה מרכזית, צצו כ +20 AppStores שונים כמו ה Amazon App Store למכשירי קינדל (תוכן הוא הביזנס העיקרי של אמאזון), אפאיה, LG World או Samsung Apps. יש גם אלטרנטיבות \"מחתרתיות\" לעולם ה iOS, \"מחתרתיות\" כי בסוף הם מפנות לאפ סטור של אפל להורדה.
  • App Store ל HTML5 apps, כמו זו של מוזילה או OpenAppMarket.
  • ספקיות הסלולר, בפעם המי-יודע כמה, ובאיחור שגרתי מנסות לחזור למרכז הבמה עם אפ-סטור משלהן: Vodafone, Horizon ואחרים.
  • App Store קהילתי מסביב לתחום עיסוק מסויים כמו ה SAP Store, לאפליקציות עסקיות (בעיקר סביב מערכות סאפ).
  • App Store ארגוני המשמש לתוך הארגון.

המעניין מכולם, עבורי, הוא ה Enterprise App Stores, בהם מנסים ארגונים להפיץ תוכנות שהארגון קנה בין העובדים. לארגונים יש כמה נקודות כאב (pain points) ייחודיות:

  1. הארגון קנה \"רשיון רוחבי לכל העובדים\" בסכום גבוה – אבל עובדים רבים לא מודעים לכך ולא משתמשים בתוכנה.
  2. תהליך הרכש בארגון, אפילו לסכומים קטנים, הוא מייגע. מה שהייתי יכול לקנות online בחמש דקות עם כרטיס אשראי עלול לקחת חודש או יותר, כשהוא עובר במערכת הרכש של ארגון גדול.
  3. ניהול רשיונות (מבחינה חוקית + כספית) הוא אתגר לארגון, ש App Store הוא נקודת כניסה נוחה שיכולה לסייע מאוד.
ספקי תוכנה ארגונית כבר מספקים בימים אלו \"App Store ארגוני\" ואפילו גוגל הכריזה על הפצה של Play גם כחנות ארגונית סגורה (SaaS).
אין כמובן מניעה מאפליקציה להפיץ עצמה במספר רב של App Stores, כל פעם תחת חוזה קצת אחר. גם אם אפליקציה תופץ ב 20 App Stores שונים – זה עדיין שבריר ממספר המפיצים / מפרסמים שחברות היו צריכות לנהל עימן קשר עד לא מזמן, בכדי להפיץ תוכנה.

סיכום

קונספט האפ-סטור משפיע לא רק על הדרך בה תוכנה מופצת ונמכרת, אבל באופן עקיף גם על הדרך בה תוכנה נכתבת:

  • ישנם חסמי כניסה נמוכים יותר כך שמפתחים בודדים / חברות קטנות יכולים להתחרות בחברות גדולות יותר. אי אפשר קשה יותר \"לשלוט\" בערוצי ההפצה, כפי שחברות גדולות נהגו לעשות, כדי לפגוע בתחרות.
  • קל יותר, למשל, למכור באמריקה תוכנה שנכתבה בסין – הגבולות הגיאוגרפים מטשטשים אפילו יותר.
  • התוכנה צריכה לעשות רושם ראשוני חיובי ומייד – אחרת המשתמש יחזיר אותה (החזרה תוך רבע שעה ב Google Play) או בכלל לא יקנה אותה (אם ה screenshots לא נראים לו).

שיהיה בהצלחה!

[א] IPhone Application = ipa

סדרה: MVC בצד-הלקוח ובכלל

תבנית העיצוב (Design Pattern) המורכבת Model-View-Controller (בקיצור: MVC) היא בסיס היסטורי לכתיבת אפליקציות UI ב\"צורה נכונה\", אבן יסוד של ארכיטקטורות UI.
אך אליה וקוץ בה:  כששני אנשים מדברים על MVC בסבירות גבוהה הם לא מדברים בדיוק על אותו הדבר. ישנן וריאציות שונות ופרשנויות שונות לתבנית-עיצוב זו, הנובעות בעיקר מצרכים של טכנולוגיות UI שונות: Command Line או Desktop application, טרמינל או אפליקציות ווב.

בסדרה זו נדון ב MVC אך לא מהצד התאורטי-הכללתי, כי אם מהצד המעשי ובעזרת דוגמאות. בגלל הפריחה של ספריות MVC ל javaScript (בערך 15 שאני מודע אליהן) וההתעסקות השוטפת שלי לאחרונה עם פיתוח ב javaScript – החלטתי להקדיש את הסדרה ל MVC צד-לקוח בג\'אווהסקריפט. זו זווית אחת שלא תכסה את הנושא התאורטי בשלמותו – אך לעתים עדיפה דוגמה אחת או שתיים שמבינים מאשר הכללה שאין אנו \"חשים\".

ספרייה: Backbone.js

הצצה מהירה על Backbone.js (ספריית MVC לצד-הלקוח)
סקירה כללית על ספריות Client-Side MVC, וריאציות שונות (MVP, MVVM), וכיצד שימוש בספרייה לדוגמה, Backbone.js, נראה.

אוספים (Collections) ב Backbone.js
לאחר הצצה מאוד בסיסית על קוד Backbone הגיע הזמן לתת תמונה קצת יותר מציאותית. זאת נעשה בעזרת סקירה של אחד המרכיבים המרכזיים ב Backbone: אוספים.

Backbone.js – ספגטי או רביולי?
שימוש בספרייה כמו Backbone.js לא בהכרח יבטיח לנו קוד מסודר וקל-לתחזוקה. בעצם, אולי Backbone.js היא דוגמה לספרייה שנותנת חופש רב מהרגיל, לטוב ולרע.
הנה דוגמה להתמודדות \"מהעולם האמיתי\" עם דילמות שנובעות משימוש ב Backbone.js.



AMD ו Require.js



AMD ו Require.js
תבנית העיצוב AMD איננה קשורה ישירות ל MVC – אך היא משרתת אותה מטרה ומסתדרת איתה מצויין.
פוסט זה סוקר את AMD ומספק מבוא ל Require.js – המימוש הנפוץ ביותר של תבנית-עיצוב זו.