מה זה Deep Learning

רבים שואלים מה זה Deep Learning. תחום הפיתוח המבוקש היום בתחומי הבינה המלאכותית.

הלמידה העמוקה (Deep Learning) מאפשר למפתחים ׳להכשיר׳ את המכונות (אפליקציות, מערכות, מחשבים וכד׳)
לנתח תהליכי לימוד כך שיהיו דומיים ככל האפשר ליכולות החשיבה והניתוח של מוח אנושי.

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

זהו למעשה תת נושא בתוך עולם ה- AI – בינה מלאכותיתArtificial Intelligence.

Deep Learning
Deep Learning

פיתוח אפליקציית Deep Learning

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

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

 

תעשיית ההיי טק והסטרטאפים משלבים בינה מלאכותית ו- Deep Learning בחלק נכבד מהרעיונות העסקיים שלהם.

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

  • זיהוי דיבור והבנה קולית.
  • Computer Vision – פענוח והבנה של תמונה.
  • ניתוח טקסט.

 

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

לדוגמה:

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


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

כמה עולה לפתח Deep Learning

בארץ ובעולם יש מחסור בענף האקדמי ובסביבה של מפתחי למידה עמוקה, ולכן העלות של פרוייקט בתחום זה תעלה
בדרך כלל לא פחות מ- 300 עד 350 ש״ח לשעת עבודה.

לצורך הדוגמה – מחיר זה גבוה בכ-25% ממחיר שכרו של מפתח אפליקציות בכיר, ועל אף זאת, כל מוצר, פיתוח, אפליקציה
שיכלול יכולות AI –
Artificial Intelligence (בינה מלאכותית) וישלב Deep Learning, מגדיל משמעותית את הסיכוי של הפרוייקט
לעשות אקזיט ולגייס משקיעים איכותיים בעלי כיסים עמוקים.

Deep Learning – שאלות נפוצות

[sc_fs_multi_faq headline-0="h3" question-0="Deep Learning מה זה?" answer-0="זהו למעשה תת נושא בתוך תחום הבינה המלאכותית. למידה עמוקה מאפשר למפתחים להכשיר אפליקציות, מערכות, מחשבים וכדומה לנתח תהליכי לימוד שיהיו דומים ככל האפשר ליכולות הניתוח וחשיבה של המוח האנושי." image-0="" headline-1="h3" question-1="כמה עולה פיתוח למידה עמוקה?" answer-1="עקב מחסור בענף האקדמי ובסביבה של מפתחי למידה עמוקה, עלות של פרוייקט בתחום זה תעלה בדרך כלל לא פחות מ 300 עד 350 ש״ח לשעת עבודה." image-1="" headline-2="h3" question-2="יש לי רעיון לאפליקציה, מה עליי לעשות?" answer-2="אנו נשמח להפוך את הרעיון שלך למציאות. אנו מפתחים אפליקציות ברמה הגבוהה ביותר עם ניסיון של למעלה מ 20 שנה. הכנסו לאתר וצרו קשר." image-2="" count="3" html="true" css_class=""]

פיתוח אפליקציה היברידית

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

פיתוח אפליקציה היברידית
פיתוח אפליקציה היברידית

מדוע פיתוח אפליקציה היברידית משתלם?

 

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

פיתוח אפליקציה היברידית נועד למעשה 'לעקוף' את העניין הזה ולייתר את הצורך בהתאמה ספציפית: האפליקציה מפותחת
על גבי דפדפן, בשפות תכנות הרשת המוכרות כמעט לכולם – HTML5, CSS, JavaScript ועוד, וכך למעשה לייצר אפליקציה
ששתי מערכות ההפעלה יכולות 'לעכל'.

 

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

 

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

 

 

מדוע לא כולם בוחרים פיתוח אפליקציה היברידית ?

 

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

מאותה סיבה גם אפליקציות מורכבות ומסובכות לא תמיד יתאימו לרוב לאופציה ההיברידית.

 

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

לפרטים ולשאלות נוספות ניתן לפנות אלינו לטלפון: 03-5755477 (שלוחה 1)

________

פיתוח אפליקציה – איך עושים מזה כסף

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

 

זה לא פשוט – אבל בהחלט אפשרי

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

 

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

 

ובכל זאת, פיתוח אפליקציה – איך עושים מזה כסף?

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

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

 

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

4 אפליקציות ששינו את העולם

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

4 אפליקציות ששינו את העולם
4 אפליקציות ששינו את העולם

4 המובילות

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

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

 

 

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

 

חושבים על חווית משתמש

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

אפליקציה מפתחים עם מקצוענים

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

האפליקציות המצליחות ביותר לשנת 2017

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

האפליקציות המצליחות ביותר לשנת 2017
האפליקציות המצליחות ביותר לשנת 2017

האפליקציות של השנה

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

  • Anchor – זוהי אפליקציית הקלטה אשר מאפשרת למשתמשים להקליט פודקאסטים שונים ולהאזין להם.
    כך שאם אתם מעוניינים להאזין לתכנית אהובה תוך כדי שטיפת הכלים בבית, זה הזמן להוריד את האפליקציה.
    ________
  • Adobe Photoshop Sketch – בזכות אפליקציה זו יכולים המוכשרים שבינינו לצייר על המכשיר ולאחר מכן להעביר את היצירה לתוכנה של אדובי במטרה לעבד אותה.
    ________
  • Tandem – לומדים צרפתית אבל אין לכם עם מי לתרגל? האפליקציה הזו מפגישה בין דוברי שפות ברחבי העולם ומאפשרת להם לתרגל את השפה שהם לומדים כעת באמצעות דוברים ילידים.
    ________
  • Simple Habit Meditation – מעוניינים להירגע אחרי יום לחוץ בבית או בעבודה?
    האפליקציה הזו מאפשרת לכם לתרגל מדיטציה בקלות וביעילות.
    ________
  • Be My Eyes – מחפשים אפליקציה חברתית?
    האפליקציה הזו מפגישה בין קהילת כבדי הראייה לבין אנשים "רואים".
    כך, כבדי הראייה יכולים לבקש עזרה בפענוח מסמכים וטקסטים בלתי ברורים.
    ________
  • Listy – אפליקציה חברתית אף היא לחובבי הספר שמאפשרת למשתתפים לשתף ציטוטים שונים מספרים.
    ________
  • Kudos – בדומה למבוגרים, גם הילדים אוהבים להירשם לרשת חברתית, אך לא כל הרשתות מאובטחות.
    Kudos מאפשרת להורים לפקח על הילדים ולעקוב אחר הגולשים שעמם הם משוחחים.

 

מפתחים רעיון לאפליקציה

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

 

יש חברה שעושה את זה בשבילכם

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

______________

המאמר תורגם ע״י ורד אברמסון היימן

פיתוח אפליקציה נייטיב או היברידי

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

פיתוח אפליקציה נייטיב או היברידי
פיתוח אפליקציה נייטיב או היברידי

הבדלים מהותיים בין פיתוח אפליקציה נייטיב או היברידי

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

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

כיצד השיטות מיושמות במערכות ההפעלה

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

מגמות עתידיות – פיתוח אפליקציה נייטיב או היברידי

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

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

לסיכום,

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

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

Mobile Error Handling

Mobile Error Handling Guide:

Mobile error handling has always been a difficult thing to tackle. Many issues arise and not always it is clear
how to correctly handle them.

Which errors to catch? What to display to the user (general message, detailed exception, short message)?
how and where to log errors and also what to do when an error occurred.

Mobile applications provide even a greater challenge because the network state is more susceptible to
failures and most applications are heavily depended on it.

Not only that, contrary  to web application, in mobile applications the majority of the code is running
on the user device (as opposed to a centralized server). There are hundreds of device configurations
(device models and os versions) and the need to know that an error occurred  on user devices is critical
for your app success. You need to know about common crashes of your application as it goes out to the
world and fix them, otherwise you are in the dark.

You created the best-app-out-there that you tested on some devices and user flows, but when it goes to
the outside world issues will arise, guaranteed. And you want to know about those issues, fix them and get
a new app to the different stores.

This article was meant to guide you through the process and give you guidelines on how to handle errors
in your mobile application.

What not do

 Before we discuss how to correctly handle errors, we should discuss what not to do.

If you ever find yourself writing a try catch block and write the exception to some local log you are doing
the worst thing that you can possibly do because you are not telling the user that his operation failed and
he is completely in the dark. The user activated some function in your app and you are not giving him feedback that his operation failed nor do you tell him why. You simply ignore him.

Consider you go to your favorite shoe store asking the salesperson to bring you Nike size 36.
The salesperson goes to the back of the store and never comes back. Can you imagine your frustrations?
Sitting there waiting for your shoes not knowing what to do?

This is how your app users will feel.

If you are also calling a network function and on the on failure of your network library, you are simply not doing
anything or write the error to some log, you are not doing the right thing

Not only that, you as the application owner, did not know that an error occurred. This error probably occurred
for other users and you cannot fix it.

Implementing an error handling strategy

Let’s get to the hard core of the issue. Our goals are

  1. Build a strategy to log application errors to the server
  2. Build a strategy on how to handle network errors
  3. Build a strategy to display errors to the user

Log errors to the server

Let’s start with the easy part that most of you probably already do. You need a mechanism to log application
errors to a server. You want to log them to a server in order to monitor those errors and fix them.

Logging unexpected errors

You want to be able to log unexpected errors (errors that you did not have a specific error catching handlers).
Those errors will most likely crash your application, but at least you want to know that they occurred to fix them.

You also want to log expected errors (errors that you are anticipating will occur, but you still want to know that
they occurred (i.e network errors like timeout, but not only).

Luckily, we have 3rd party libraries that will do just that. Take a look at Firebase, ACRA, Crashlytics and many many more.
It is really up to you to decide which one to choose.

I will not guide you on how to install them (typically a few minutes installation and off you go.

As soon as you implement crash reporting, unexpected errors in your application will automatically be recorded
to the server and you will have the tools (provided by the crash reporting platform ) for you to analyze them
including slice and dice the errors based on platform, device, OS version etc…

Logging expected errors

Typically a good crash reporting service will also provide you with the ability to report expected errors to the server.

Errors that you are anticipating will occur and report them to the server. For example, assuming you are depended on an external weather API that could return to you data structure that you are not anticipating.
Since you did not write the service, you know that it is possible. Thus you want to log the incident to the crash
reporting service.You want to log the request and the response from the weather API(as well as a user id ?)
to your crash reporting service such that you can track and fix the issue.

This is an amazing tool for you.

Logging Network Errors

What about network errors? Network errors requires a special attention because those are the majority of the
expected errors. We all know that mobile applications are susceptible to network issues (coverage, phone state etc,
quota etc.) .

If you are using a network library to access your application server you know that there could be network errors.
Typically you will get them as part of an OnFailure callback api (depending on the network library that you are using).

You could get:

  • Local network error (phone connectivity issues)
  • A mobile provider network issues
  • your application server network issues (SSL, server load, server down etc)

So should you log network errors to the server? for those of you that are giggling and asking how is it possible to log
errors to the server while there are network issues, you should know that a good crash reporting service will queue
the log and send it as soon as network state is restored and the app was restarted.

And thus, this is one of the reason why you should not log network errors to the server. After all, what is the point to
get reports on a network error that occurred in the past and is already fixed?

No only that, do you really want to know that a mobile user out there had a bad network coverage or a network failure?

What about network errors that are related to your application server? Should you log those errors?
My view is typically not because you probably implemented a monitoring on your application server and you already know that you have a server issue before it was reported by users.

I may be wrong, but I can not think of of good scenario that make sense to log a network error related to your server
other than for debugging purposes (for example a specific network call that sometimes take longer than expected).

What to show to the user?

 Ha, now comes the hard part and probably controversial. What to show to the user?  The following are my 2 cents
and you can take it to any direction you want to.

We are talking about displaying expected error of course as unexpected errors will most likely crash the app.

So, my point of view that any expected error should be reported to the user and the error is a generic error.

If the expected error is None network error, you may want to show something like “Application failure please try again.
If the issue persists, please report to support@myserver.com”. But, I really leave it up to you.

However when a network error occurred, there could be 2 use cases and you probably want to display a different error
for each use case.

  1. If this a generic network error, you should display “General network error. Please check your phone network
    connectivity and try again later”
  2. If this is your application server error, you should display “Application server error please try again.
    If the error persists, please contact support@myserver.com

I leave it up to you to distinguish between the 2 cases. I typically ping a well known high end server and if the ping is successful I know I have an issue with my application server. Otherwise, it is a general network error of the phone
or the provider. Simple yet effective.

How to show the error to the user

Again, i leave it up to you. I typically like to display a small view on the top of my current screen overlaying the UI.
Of course this view needs to be dismissed somehow, otherwise, it will stay on the screen.
I recommend dismiss it by clicking on it or by executing any other user action. Here is an example of such a view…

Reporting the error to the current screen

Sometimes it is a tedious process to report errors to the current screen. The error occurred few levels down
the call stack and you need to report the error to the user.

I like to use EventBus to report such errors (an event publish/subscribe library). This makes it easier to report errors
across components.

Reversing the UI

Another issue to consider is the UI. Let’s take for example a user trying to delete a post from a feed.
Typically, you would fire off a network call to delete the post and remove the post from the UI.
Now, suppose the network call  reported an error?

You want to show the post again to the user (after all the operation failed and you want to let the user try it again).

You can argue that you should delete the post only if the network call was successful… You can.
It will make a safe app, but not a responsive and user friendly one.

Summary

This article is not bullet proof and definitely not the bible on how to handle errors correctly. But I hope it makes
you think about it and refine your strategy for handling error.

Happy coding..

אפליקציה לעסק במחיר סביר

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

אפליקציה לעסק במחיר סביר
אפליקציה לעסק במחיר סביר

הורדת מחירים לבניית אפליקציה לעסק במחיר סביר

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

כיצד דואגים לכך שאפליקציה לעסק תהיה יעילה?

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

כיצד עושים כיום אפליקציה לחנות אינטרנט או אתר?

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

לסיכום,

אם יש לכם עסק וחשוב לכם הקשר הרציף עם הלקוחות שלכם, אם חשוב לכם לשלוח הודעות ללקוחות מעת לעת, לקדם מבצעים

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

אפליקציה זיהוי פנים

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

זיהוי פנים
אפליקציה זיהוי פנים

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

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

אפליקציות זיהוי פנים לביטחון מדיני

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

מאפיינים נוספים של האפליקציות – עם פנים לעתיד

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

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

לסיכום,

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