10 דברים שלמדתי מפיתוח אפליקציות ל-iPad ול-iPhone

[14 באוגוסט 2010] [14 תגובות]

עד כה פיתחתי שתי אפליקציות לאייפון ולאייפד.

SimpleSense היא אפליקציה המציגה נתונים עבור בעלי חשבון Google AdSense, היא זמינה עבור האייפון והאייפד.

Hebrew On היא אפליקציית דפדפן המוסיפה מקלדת עברית לאייפד (עד רגע זה אין תמיכה רשמית של Apple במקלדת עברית באייפד). Hebrew On זכתה להצלחה בארץ והיא ממוקמת במקום הראשון ב-App Store הישראלי (נכון לרגע זה).

הנה סיכום של מספר נקודות שהבנתי בזמן פיתוח והפצת האפליקציות:

1. האפליקציה חייבת להיות פשוטה

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

שני האפליקציות שפיתחתי הן מאוד פשוטות. ברגע שמפעילים אותן, הן מאפשרות למשתמש לבצע את המשימה שלו באופן המהיר ביותר. Hebrew On ישר מאפשרת לגלוש באינטרנט עם מקלדת בעברית ו-SimpleSense טוענת נתונים ומציגה אותן. לא צריך ללחוץ על כפתור Refresh כדי שזה יקרה. הכל פשוט ומהיר.

מהתגובות שקיבלתי על האפליקציות, אני רואה כי אנשים מאוד מעריכים את העובדה שהאפליקציה פשוטה ומבצעת בדיוק את מה שהתיאור שלה ב-App Store מצהיר. כנראה שלא כל האפליקציות עומדות במשימה הפשוטה הזאת.

2. שם האפליקציה מאוד חשוב

שם האפליקציה לפעמים חשוב יותר מהיכולות שלה. ישנן שתי אפליקציות פופולאריות לאייפון בשם: Doodle Jump ו-Pocket God. אלו הם שתי משחקים שנמצאים כמעט קבוע במקומות הראשונים בחנויות ה-App Store השונות (יש חנות לכל מדינה). הם הצליחו מסיבות שונות, אבל בעיקר כי הם משחקים טובים ומהנים.

המשחק Doodle God, לעומת זאת, הצליח בזכות בחירת שם מצוינת. הבחירה הזאת, המשלבת את שמות שתי האפליקציות הפופולאריות, הקפיצה אותו לרשימת חמשת המשחקים הנרכשים ביותר בחנות עקב מספר החיפושים הרב בהם האפליקציה הופיעה.

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

3. משתמשים מוכנים לשלם

משתמשים מוכנים לשלם!

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

שתי האבחנות האלו לא היה ברורות לי לפני שהתנסיתי ב-App Store, אבל עכשיו אני בטוח.

4. הפצת האפליקציה דורשת תכנון

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

אפליקציה אוניברסלית

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

לכן מפתחים רבים פונים לפתרון אחר, יצירת שתי אפליקציות. אחת במחיר נמוך לאייפון ושניה במחיר גבוה שמותאמת ל-iPad. בדרך כלל אפליקציות שמותאמות לאייפד מקבלות את השם myApp HD כאשר שם המשפחה HD מעיד על תמיכתם במסך הגדול של ה-iPad. אפל אינם מעודדים את אופציה זאת, אך כרגע נראה שהיא מאוד פופולארית בקרב המפתחים.

5. הרגל הראשונה בדלת, השניה והשלישית אחר כך

האפליקציה SimpleSense שכתבתי היא אפליקציה חינמית. כן, השקעתי זמן ומאמץ על מנת לפתח תוכנה שניתן להוריד אותה בחינם מה-App Store.

רוב המשתמשים שהורידו את האפליקציה מצאו כי היא שימושית והם שומרים עליה במכשיר. זאת הרגל הראשונה בדלת של המשתמשים.

לאחר שימוש באפליקציה, הם יגלו שניתן לרכוש תוספות. Apple כללו מנגנון בשם In App Purchases המאפשר למשתמשים לרכוש תוספות לאפליקציות. אם זהו משחק יריות, ניתן לרכוש תחמושת מסוג חדש (בכסף אמיתי). אפליקציה שמנגנת שירים, יכולה להציע לרכוש שירים נוספים. המשחק הפופולארי Angry Birds מציע 12 שלבים חינם אך ניתן לרכוש שלבים נוספים דרך המשחק עצמו. זאת הרגל השניה שנכנסת לתוך הדלת.

דוגמה מ-SimpleSense: האפליקציה מאפשרת למשתמשי AdSense לצפות בנתונים שלהם. לכל משתמש קיימים סוגים שונים של נתונים, נניח שישנם שישה סוגים של נתונים: A, B, C, D, E ו-F. לחלק מהמשתמשים קיימים נתונים מסוג A, לחלק קיימים נתונים מסוג B ולחלק קיימים גם מסוג A וגם מסוג B.

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

בחרתי בשיטה הבאה:

  1. השימוש הבסיסי שרוב המשתמשים חפצים בו מוגש בחינם. למשל, צפיה בנתונים מסוג A, שהוא סוג הנתון הנפוץ ביותר.
  2. המשתמש מקבל הצעה לרכוש תצוגת-נתון-מסוג-חדש רק אם הנתון אכן קיים עבורו.
  3. מחיר כל תוספת הוא הנמוך ביותר שניתן לקבוע ב-AppStore.
  4. לפני הרכישה, ניתן לצפות בהדגמה כיצד האפליקציה תראה לאחר הרכישה. אין הפתעות, אין אכזבות.

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

6. קבלת Feedback

כדאי מאוד לאפשר למשתמשים לשלוח feedback, רעיונות, בעיות והצעות בקשר לתוכנה בצורה קלה. מכיוון שהמשתמשים נמצאים באייפון או באייפד, הם כנראה לא יפתחו את אפליקציית המייל על מנת לשלוח לכם את הפידבק.

האפליקציה Hebrew On כוללת כפתור About המוביל לעמוד באתר שלי. בעמוד זה ניתן לשלוח תגובות בקשר לאפליקציה מתוך האפליקציה ולכן אני מקבל כמות גדולה של הצעות ודיווחים על בעיות. אפליקציות אחרות מאפשרות לשלוח מייל היישר מתוך האפליקציה אל המפתח.

7. מעקב

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

AppAnnie

אם אתם ממש לא רוצים לחלוק את המידע עם אחרים, תוכלו להשתמש בתוכנה SimpleAppReviews שכתבתי עבור Windows או בתוכנה המצויינת AppSales Mobile שרצה על האייפון ועל האייפד.

8. קוד פתוח

אם אתם מעוניינים להאיץ את תהליך פיתוח האפליקציות, שימוש בספריות קוד פתוח הוא מומלץ ביותר. ישנן פעולות שחוזרות על עצמן בכל אפליקציה: התממשקות עם ה-AppStore, שמירת נתונים מאובטחת ל-KeyChain, פירסוס (Parsing) של מחרוזות ועוד.

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

9. עדכונים לתוכנה, לא רק דרך ה-AppStore

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

מנגנון הפצת התוכנות דרך חנות האפליקציות של אפל (ה-App Store) כולל יתרונות רבים: אין צורך לארח את הקבצים, אין צורך לטפל בתשלומים, אין צורך לדאוג להוראות התקנה ועוד. עם זאת ישנו חסרון אחד מאוד בולט: כל אפליקציה חייבת לעבור אישור לפני שהיא נכנסת לחנות. תהליך האישור לוקח בדרך כלל כ-9 ימים, אך יכול להגיע לפעמים לחודש ימים.

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

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

ניהול שכזה יכול להקל מאוד על עדכון התוכנית מעכשיו לעכשיו.

10. אל תפסיקו את הפיתוח

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

ישנם מפתחים שמחכים עד שהאפליקציה תאושר ורק אז הם נזכרים להתחיל להוסיף את התוספות שהם רצו וכך זמן העדכון הופך ארוך מאוד.

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

עוד עוד, רוצים עוד עוד...

למדתם משהו שאני לא? אני אשמח לשמוע בתגובות.

 

אם אהבת את הפוסט, אני שולח מדי פעם למייל עוד פוסטים מעניינים שלא תמיד מגיעים להתפרסם באתר. אתה מוזמן להצטרף לרשימה:
(אני שונא ספאם. אני מבטיח לעולם לא לשלוח משהו לא מעניין)

14 תגובות

  1. ענת | 8/15/2010 1:26:01 AM

    הי טל,

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

  2. מוטי | 8/16/2010 12:49:46 PM

    פוסט ממש יפה ומושקע.

     

  3. יוסי | 8/16/2010 11:01:13 PM

    גם אני בדקתי אפשרות לפיתוח אפליקציה והיו לי הרבה ספקות בקשר לתהליך.

    תודה רבה

     

    בן 10

  4. בן 10 | 8/16/2010 11:04:56 PM

    תודה רבה, התלבטתי הרבה כיצד לקבוע את המחיר לאפליקציה.

     

  5. שחר | 9/16/2010 8:30:54 AM

    הי,

     מאוד נהניתי לקרוא. 

  6. טל | 9/27/2010 5:51:15 PM
    תודה רבה לכולם על התגובות החמות :) זה עושה חשק לכתוב עוד
  7. שניר | 10/2/2010 11:48:43 PM

    טל,
    באמת פוסט מעולה שמעלה את החשק ללמוד כבר O-C ולהתחיל לפתח.


  8. אמיר | 11/4/2010 2:48:40 AM
    מעניין, תודה.
    בקשר לסעיף 9, בדקת באמת שאפל מאשרים פעולה שכזו? כי בגדול הם לא מאשרים פעולות שלא עולות בקנה אחד עם הרצון שלהם - במיוחד שמדובר בעדכון תוכנה "מאחורי הגב" שלהם
  9. טל | 11/10/2010 6:45:18 AM

    @אמיר, תודה על ההערה החשובה. עדכנתי את הפוסט איתה.

  10. האח הגדול | 11/27/2010 6:17:33 AM

    היי, תודה על הכתבה

    אני מחפש כבר הרבה זמן איך ניתן להתאים בצורה פשוטה אפליקציה לאתר קיים?

    משהו בסגנון הפשוט ביותר

    וכמה דבר כזה עשוי לעלות?

     

    תודה

  11. אניה | 4/19/2011 2:08:44 PM

    היי, אחלה כתבה!

    אתה מפתח משחקים גם?

    מחפשת מפתח תותח למשחק גאוני לiPad 

    תודה 

  12. יובל | 10/3/2014 2:44:57 AM

    היי טל,

    ראשית תודה

    אם אפשר אשמח לקבל תשובה לשאלתי

    האם ניתן לפתח תוספת לאפליקציה קיימת(מפורסמת מאוד)  ואם כן מהו התהליך?

    תודה מראש

    יובל 

  13. יובל | 10/3/2014 2:45:02 AM

    היי טל,

    ראשית תודה

    אם אפשר אשמח לקבל תשובה לשאלתי

    האם ניתן לפתח תוספת לאפליקציה קיימת(מפורסמת מאוד)  ואם כן מהו התהליך?

    תודה מראש

    יובל 

  14. יובל | 10/3/2014 2:45:08 AM

    היי טל,

    ראשית תודה

    אם אפשר אשמח לקבל תשובה לשאלתי

    האם ניתן לפתח תוספת לאפליקציה קיימת(מפורסמת מאוד)  ואם כן מהו התהליך?

    תודה מראש

    יובל 

התגובות נעולות