על Azure, מה זה Hyppic והפחד שלי מ- Refactoring

<פוסט אורח>

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

לא אלאה אתכם בפתרונות שקיימים, יש לא מעט, אבל את הפתרון הכי פשוט להבנה וביצוע מצאתי ב BLOB’s של Azure. שלחתי את הלינק למפתח ה- Server (הוא לא הכיר את סביבת Azure לפני) ולאחר חצי שעה קיבלתי תשובה מפורטת להפליא – “סבבה” (אחת התשובות האהובות עלי ממפתחים).

יום אחרי כבר היה לנו Service על גבי ה- Mobile Services (וגם פה, כמה קליקים ויש לנו תשתית מאובטחת ומהירה לקליינט) ומכאן הכל רץ – היינו צריכים מיקום אז יצרנו SQL לחישובים, עוד כמה Services לניהול משתמשים וקבוצות, Table Storage בשביל לעשות קצת סדר ב Blob’s. אני מתאר את זה כמו שאני זוכר את זה – בקלילות. לעומת זאת אם תשאלו אותי איך היה הפיתוח על אנדרויד (פלטפורמת הקליינט הראשונה) אני אצטרך בלוג נפרד עם נושאים כמו – למה תמונת Portrait מוצגת כ- Landscape? למה יש שתי גרסאות של SDK לעבודה עם מפה? ולמה עדיף להתחיל עם iOS?

בקיצור, אין כל כך מה להשוות את הזמן שהושקע ב Server לעומת ה- Client. והיו טעויות גם פה וגם פה אבל עלות השגיאות – Cost of failure נמוכה משמעותית ב- Azure. אחת הטעויות שעשינו היתה ליצור את ה- Storage איפשהו ב Southeast Asia משום מה וגם פה, יוצרים חדש, מעתיקים את המידע החשוב (יש כלים חיצוניים) ועוברים לשרת באירופה. עצה קטנה – תתמקדו, הפלטפורמה ענקית ומאוד “מושך” לחקור אותה. תתמקדו במה שאתם צריכים באותו הרגע כדי לקבל  את הפונקציונליות שאתם צריכים. לטייב את זה אחר כך תמיד תוכלו.

מה יצא בסוף? אפליקציית Hyppic

Hyppic App

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

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

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

האח בצבא? החברה בחו”ל? לא נורא, יש אפשרות לשלוח הזמנה בקלות לאנשים שאינם נמצאים באיזור אבל מגיע להם גם להנות מהאלבום המשותף.

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

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

(לא לשכוח להוריד את האפליקציה 🙂 – לינק ישיר ל Google Play, גירסא לאייפון תצא בחודש הקרוב)

טל יהב

יוצר Hyppic

contact@hyppic.com

www.hyppic.com

Hyppic Screen shots

אנחנו מזמינים אתכם להכיר את Microsoft Azure

או להתנסות בשירותי Azure במשך חודש עם 200$ חינם.

אנחנו תמיד עומדים כאן לשירותיכם אז אנא – צרו עימנו קשר

צוות Microsoft Azure, ישראל