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

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

התחיל מנהל פרויקט שהציג את החידושים למנהל הפרויקט שעובד ב TFS עם Project ו Excel, שכללו תמיכה בהירארכיה של משימות (כולל בשאילתות).
אחר כך ליאון כארכיטקט עלה והציג חידושים לארכיטקט. כמובן התמיכה החדשה ב UML, כלי הניתוח של קוד קיים, ולידציה של אלוצים ארכיטקטוניים ונושאים נוספים שכבר התיחסתי אליהם בבלוג שלי ואני מתכנן להתיחס אליהם בהרחבה בסדנה שלי ב Expert Days. משום מה ליאון לא נכנס לקישור הדינמי בין דיאגרמת ה Class ודיאגרמת ה Sequance ב UML שזה ממש צעצוע פגז. אבל גם ככה זה היה צפוף ואני מניח שזה בגלל קוצר הזמן או בגלל שזה עדיין בביתא.
המפתח התרכז משום מה ביכולת של ה Tester לספק למפתח מידע עשיר המצורף ל Bug ולא מאפשר למפתח להתחמק בתרוץ של Non Reproducable. כמו למשל IntelyTrace ויומן ארועים אוטומטי. ה Test Impact Viewer שנותן איזה טסטים (כולל ידניים) מושפעים מכל תיקון. הנושא של Call Hirarchy, ואפילו הנושא של Gated CheckIn שחוסך המן בעיות ב Build הארגוני. היה חסר לי מאד, נושאי פחות סקסי, של החידושים בצורת העבודה של המפתח שנועדו לשפר פרודוקטיביות בעבודה היומיומית של כתיבת קוד שעושה המפתח. זה נושא שהמשמעות הכלכלית שלו גבוהה לארגון פיתוח, וכבר התיחסתי לנושא הזה בבלוג שלי.

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

בשלב הזה קיבלתי קריאה מלקוח ועזבתי מבלי לראות את שוב את כלי ה Testing החדשים.
אחרי שגמרתי לספר לכם בחלק הקודם על כל מה שהיה מסביב לכנס ומה זה בכלל Windows Embedded ולמה צריך את זה. הגיע זמן לספר לכם על ההרצאות והדברים המעניינים ששמעתי שם.
אז הכנס נפתח על ידי Thibault Wache מחברת מיקרוסופט (EMEA), שהוא האבא של השוק הישראלי, שנתן סקירה כללית על כל הנושא.
אחריו עלה על הבמה Greg Peake מ TI ונתן סקירה על משפחות המעבדים של TI, שנתמכות ותומכות בצורה מלאה ב Windows Embedded CE.
שווה להדגיש נקודה מענינת, שמבדילה בצורה חדה, את משפחת ה Embedded CE ממשפחת מערכות ההפעלה הרגילות של מיקרוסופט, והיא מבחר היע"מ-ים שבהם היא תומכת. למשל ARM, שהיא אחת הארכיטקטורות הנפוצות ביותר בעולם המערכות משובצות מחשב, נתמכת בצורה מלאה וגם MIPS ו SH ואתה לא מוגבל רק לארכיטקטורת ה AMD ו Intel שמקובלת בשוק המחשבים השולחניים, הניידים והשרתים. מה שאומר שהשיקול של שימוש ב Windows Embedded ככלי לקיצור זמני פיתוח ועלויות פיתוח, לא תקף רק לחומרות שמבוססות ארכיטקטורת X86 בלבד אלא למשפחות מעבדים נוספים. ההרצאה של TI הדגימה את זה היטב.
נקודה נוספת ששוה להדגיש היא שרוב יצרני היע"מ-ים למערכות משובצות מחשב. ובתערוכת השותפים היתה נציגות לשתיים מהם, TI ו FreeScale (שזה בעצם מוטורולה סמיקונדוקטור לאחר כמה גילגולים). תומכים ב Windows Embedded, עם כל מה שצריך כדי שזה יעבוד עם הציוד שלהם. וזה גם שיקול חשוב, כי אתה לא נשאר לבד, להתמודד עם הפרטים הקטנים, של החיבור בין היע"מ למערכת ההפעלה.
ההרצאה הבאה היתה של Stefano Moccia ממרכז החדשנות של מיקרוסופט שנתן סקירה מקיפה על Windows CE 6.0 R3. כמה נקודות מענינות מההרצאה שלו. למי שנושא UI ואינטראקציה עם המשתמש זה נושא רלונטי, אז SilverLight נתמך. תחשבו על מה SilverLight יכול לעשות לעשות למימשק המשתמש של החפיץ שלכם או לחווית השימוש של כל ציוד אחר שאתם עושים (למשל בתחום הרפואה). ולמי ששאל, לא צריך בשביל זה את NET. זה כתוב כולו ב Native (ורץ גם על ARM). יש כמובן IE ואפילו Flash Light למי שרוצה. יש גם את כל ה viewers של Office וגם PDF אם זה כל כך חשוב לך. תוסיפו לזה תמיכה מובנית ב Zoom ו Tile כדי לטפל בכל הבעיות שיכולות לנבוע מפורם פקטור של מסך קטן מדי. תוסיפו תמיכה במחוות ותקבלו צעצוע בכלל לא רע. שבנוסף ליכולת לקצר זמני פיתוח ולחסוך Time to Market, אתה מקבל באותו מחיר גם חווית משתמש טובה. דבר שרק יכול לשפר את סיכוי ההצלחה של המוצר שלכם בשוק.
ההרצאה הבאה, שלא רשמתי לעצמי את שמו של המרצה (אם מישהו יודע שיגיב בבקשה), אבל הוא היה מחברת Gass Ltd. היתה על נושא מרתק של שימוש ב GPU להורדת עומס מהיע"מ ולביצוע דברים שהיע"מ יכול היה רק לחלום עליהם. רק כדי לסבר את האוזן, מערכת של Quad Core נותנת לך משהו כמו 80 גיגה פלופס, שזה באמת יפה ונחמד, אבל GPU סטנדרטי שנמצא כמעט בכל כרטיס גרפי ממוצע, שבטח יש לכם במחשב, נותן בשקט 2 טרה פלופס, שזה פי 25. זוהי קומבינצית חומרה שעדיין מחכה לרעיונות, כי את היכולת לתקשר עם ה GPU אתה מקבל כמעט מכל Device Driver. השאלה מה אפשר לעשות עם זה מוגבלת רק על ידי היצירתיות שלך (וזה נושא לא רק לפוסט שלם אלא אפילו להרצאה שלמה). בתחום ה Embedded זה מעניין עוד יותר. אם ניקח לדוגמא את נגן ה Zune של מיקרוסופט, הוא מורכב מיע"מ ARM שעל ידו GPU, עם תשתית מערכת הפעלה של Windows CE. הקומבינציה יוצרת מערכת שצורכת פחות או יותר אפס אנרגיה, עם יכולת להציג סרטי HD ללא בעיה, ועם מימשק משתמש מאד חוויתי.
ההרצאה הבאה היתה של Paul Kirty-White על הגירסאות החדשות של Windows 7 for embedded systems, Windows Embedded standard ו Windows Embedded POSReady. כלומר גם חלונות 7 החדש כבר במשחק. חשוב לציין שהרבהמפרדים את גירסת ה POS כאילו היא לקופות רושמות בלבד (Point of sale), אבל התרגום הנכון הוא נקודת שרות (Point of Service) כלומר החל ממפסק חשמלי חכם, וכלה בצג בקרה על טמפרטורת החדר משולב במיקרוגל ובטלויזיה.
בשלב הבא עלה לבמה אסף גליל מנציגות חברת Tenasys בארץ, שיש לה מערכת זמן אמת ששורשיה ב RMX. להזכירם, משפחת ה Embeded אינה נעצרת רק ב CE (שהיא דרך אגב מערכת Real Time בעצמה, ולא כל כך צריכה את המוצר שאסף הציג), אלא כוללת בנוסף ל CE גם אוסף עשיר מאד של גירסאות מותאמות ללקוח של מערכות ההפעלה הרגילות של מיקרוסופט. זו נקודה שלקח לי זמן להבין, כי בהתחלה לא בדיוק הבנתי, מה הקשר של המוצר ליום העיון. המערכת שהציג אסף, נותנת לך את היכולת לתפוס חלק מה Core – ים, ולהריץ עליהם מערכת הפעלה זמן אמת, מבלי שחלונות שרצה על אותם Core – ים (בעדיפות נמוכה יותר) או על Core – ים משל עצמה, תוכל להפריע לדרישות ה Real Time. זה משהו שיכול להיות מאד רלונטי לפיתוחים מסוימים, ולא רק במערכות משובצות.
ההרצאה הבאה היתה של Elaine Bullock ו Myriam Semery ממיקרוסופא (EMEA) וכללה הסבר מלא על תכנית השותפים של מיקרוסופט עם הרחבה על תוכנית השותפים לשותפי Embeded. אני מכיר את תכנית השותפים היטב (זה תחום שנוגע כמעט לכל אחד מהלקוחות שלי). אבל היה מענין לשמוע את הדגשים של נושא ה Embeded.
בהמשך עלה לבמה Oliver Niedung ממיקרוסופט, ונתן סקירה מלאה, על כל סל המוצרים הכלולים תחת שם המותג Embeded Windows. החידוש העיקרי הוא שלמשפחה צורפו גם גירסאות השרתים של חלונות. מה שנותן פתרון שלא היה שם קודם, לשוק, שמיצר קופסאות שחורות, שדורשות יכולות, שיש רק במערכות ההפעלה של השרתים. זה תחום חדש ומענין של אפשרויות. סתם כדוגמא, שרת דיסקים, שיודע מה זה Active Directory, ומשתמש ביכולות האבטחה המובנות של חלונות. ובטח יש עוד הרבה כיווני פיתוח מענינים.
לסיום שוב עלה על הבמה Thinault Wache וסיכם את העבר והעתיד של מערכות Embeded במיקרוסופט. אם מישהו עוסק בציוד רפואי הכולל מערכת משובצת מחשב ויכול להיות ש Windows Embeded יתן לו פתרון, אז שיואיל ליצור עימי קשר דחוף. הנושא הרפואי זה משהו שהצוות שהגיע מאירופה מאד חם עליו כרגע. היתה חסרה לי הרצאה או איזכור של Micro .NET שקשורה גם כן לנושא מערכות משובצות, והיא מערכת מאד מעניינת, שנכנסת בנישה של מערכות קטנות עוד יותר, מתחת למה שמתאים ל Windows CE.
עזבתי קצת לפני הסוף על מנת להספיק להגיע בזמן למפגש ההקמה החגיגי של קבוצת המשתמשים של Windows Platform Developers שעליה כתבתי כבר במקום אחר. סך הכל היה יום מאד מעניין, ותודה לגיא בורשטין, שהזכיר אותו למטה למטה, במשלוח האחרון של MSDN Pulse. אמנם המשלוח יצא בערב שלפני הארוע, וחייב אותי לעשות קצת אקרובטיקה כדי להגיע, אבל מגיע לו תודה, כי ללא זה, לא הייתי יודע על הארוע הזה בכלל. מצד שני גיא שכח להזכיר במשלוח את ה Experd Days שאני משתתף בהם כמרצב במסלול Solving Problems in the Real World, אז הנה תזכורת.
אומרים שרגשות מעורבים, זה כשאתה רואה את החותנת נופלת מצוק עם המכונית החדשה שלך. מפגש בכורה של קהילה, שלפי דעתי אמורה להיות הקהילה המעניינת ביותר. קהילה שעוסקת במה שקורה בפנוכו במערכת ההפעלה. קהילה שעוסקת בשפות שמזמן לא שמענו עליהם בקבוצות המשתמשים, כמו למשל שפת C++. שתי הרצאות פתיחה, אחת על מה השתנה בגרעין של מערכת ההפעלה בגירסא האחרונה. והשניה על שיפורי מימשק המשתמש של חלונות 7. מועברות על ידי שני מרצים מעולים, אלון פליס מסלע ופבל יוספוביץ ממטריקס גלובל. הצפי שלי היה ששני הדקלים יתמלאו ועדיין יהיה חסר מקום. אז ציפיות לחוד ומציאות לחוד. לארוע הגיעו 22 איש + שני מרצים. כן היה לזה יתרון, כי היה הרבה עודף בבורקסים ובעוגות. אבל התחושה האישית שלי היתה שיש פה איזה שהוא פיספוס.
קצת היסטוריה של קבוצות המשתמשים. פעם היתה קבוצת משתמשים של C++ בניהול משה רהב ושי ברלב. היתה גם קבוצת המשתמשים של VB בניהולו של ג'קי גולדשטיין שהיתה בעצם קבוצת המשתמשים הכי ותיקה בין קבוצות המשתמשים במיקרוסופט. דוט נט גרם לכך שלאט לאט שתי הקבוצות התחילו להעביר את אותם תכנים כי בעצם הכל בסופו של דבר זה MSIL ולא משנה מאיזה שפה התחלת. המעבר לעולם המנוהל של דוט נט גרם להעלמות טוטאלית של עולם ה Native ועולם ה C++ מקבוצות המשתמשים. הבעיה היא, שאולי הנושא הזה נעלם מקבוצות המשתמשים, אבל הוא לא נעלם מהעולם. מה לעשות וקריאות ה API של מערכת ההפעלה כתובות עדיין ב C ומה לעשות ושפת C++ לא רק שלא נעלמה, אלא מוציאה לפרקים תוספות ועדכונים לשפה.
אז מיקרוסופט ישבה וחשבה עם מנהלי קבוצות המשתמשים, וסוכם שקבוצות ה C# ו VB יאוחדו לקבוצה שעוסקת בדוט נט, ותוקם קבוצה חדשה, קבוצת ה Windows Platform Developers Group, שהפוקוס שלה יהיה כל מה שלא מנוהל דהינו Windows SDK, קוד לא מנוהל, ואולי אפילו עמוק יותר לתחום של Device Drivers.
אז מה היה לנו בהרצאה של אלון ? אלון סקר חלק נרחב של השינויים שנעשו בגרעין מערכת ההפעלה של חלונות 7 ו Windows Server R2. אתה לא כל כך תופס כמה עבודה הושקעה וכמה שינויים נעשו במערכת ההפעלה עד שאתה לא מנסה להכניס לשעה ורבע של הרצאה את כל הרשימה. אז מה היה לנו (רשימה חלקית): UMS וConCRT ו Core Parking ו UBPM ו Triger Started Services וPower management ו NUMA ו Server Core ו WinMin ו Process Reflection ו Timer Coalescing ובטח שכחתי משהו. שאומרים לי שחלונות 7 זה רק שיפורים קוסמטיים לויסטה, אני לא יודע אפילו מאיפה להתחיל להסביר שזה לא נכון מרוב דברים. אלון הסביר והדגים פה ושם וגם התנצל שאין מספיק קוד כי זו הרצאת Over View והבטיח שבהרצאות הבאות יהיה יותר קוד. לומר את האמת כמעט כל אחד מהנושאים ברשימה יכול לתפוס בין חצי הרצאה להרצאה שלמה כך שלא יהיה חסר חומר למפגשים הבאים. לא צריך לומר שאלון מקצוען ושההרצאה זרמה בכף, זה מובן מאליו.
פבל התמודד בהרצאה שלו עם רשימה לא פחות קטנה של שינויים במימשק המשתמש של חלונות 7. פאבל עבר על הרשימה והדגים כל דבר החל מהשיפורים ביכולות הגרפיות (Direct2D, Direct3D, DirectWrite וגם קצת DXUA ו WIC) דרך המימשק החדש לסנסורים (מיקום, טמפרטורה, אור, וסביבה בכלל), הריבון (שלאלון יש עליו דוקטורט), כמובן Tuch ועוד המון דברים שאני כבר לא זוכר. וגם כאן, זו היתה הרצאת Overview וכל נושא הוא הרצאה שלמה בפני עצמה.
אני יודע שתשאלו אולי למה כל זה מעניין אותי, אז אני אסביר לכם. תכנה על מחשב היא משאב משותף. כמו שאתה לא סובל שנהג בא וחוסם לך את החניה, וכמו שאתה לא סובל נהג שנוסע לאט באמצע הכביש, מדבר בטלפון הסלולרי ולא נותן לעקוף אותו. ככה המשתמש סובל מתכנה שלא מנהלת נכון את ה Timer שלה ובכך גורמת לכך שהמחשב לא יכול להכנס ל Sleep. וככה בדיוק המשתמש סובל מתוכנה שלא מתאימה את עצמה אוטומטית למימשק המגע, אם למחשב יש מסך מגע. זו שאלה שנוגעת באופן העמוק ביותר למקצוענות של המפתח ושל יצרן התכנה. המקום שבו תשמע על הדברים במערכת ההפעלה שאתה צריך לדעת עליהם, על מנת לכתוב קוד נכון, תואם ומקצועי, זה בדיוק קבוצת המשתמשים הזו. מי שלא בא הפסיד שתי הרצאות טובות. ומי שלא יבוא בעתיד פשוט (בעדינות גדי, בעדינות) לא מקצוען.
הבוקר השתתפתי בכנס Hub 2009 שנערך במלון דן אכדיה בהרצליה. הכנס אורגן על ידי מיקרוסופט EMEA ועסק ב Windows Embeded לסוגיו. אני לא יודע כמה מכם מכירים את קבוצת המוצרים הללו במיקרוסופט, כך שאולי יש פה מקום להסבר קצת יותר בסיסי.
נניח שאתה מפתח ציוד כלשהו. זה יכול להיות נגן מוזיקה כמו ה Zune, נווט GPS, יחידת איסוף מידע ניידת, PDA, מסך מגע שמדליק ומכבה את האורות בבית, קופה רושמת, שעון נוכחות, או סתם חפיץ (Gadget). הדבר היחידי שחשוב לצורך העניין הוא שבתוך הדבר הזה יש יע"מ (CPU).
בהנחה שלא נדובר על משהו טרויאלי, אתה תהיה זקוק לאיזה שהוא סוג של מערכת הפעלה שמפעילה את היע"מ שלך. אז מה האפשרויות שעומדות בפניך:
אפשרות אחת לכתוב את כל התכנה על הברזלים בעצמך, כולל את מערכת ההפעלה. זה יכול להיות פרויקט מרתק מבחינה טכנולוגית אבל יש להניח שהוא ידרוש כוח אדם עם יכולות לכתוב ולתחזק מערכת הפעלה, יקח הרבה מאד זמן ויעלה המון כסף.
אפשרות שניה זה להשתמש בגרעין מערכת הפעלה חופשי כבסיס, ועליו להוסיף את התכנה היעודית. זה בטח עולה פחות אבל עדיין זה ידרוש מתכנתים עם ידע באותה מערכת הפעלה ברמת גרעין מערכת ההפעלה ו Device Drivers להתאמת הגרעין וכמובן מפתחים עם מיומנות גבוהה לפיתוח הישום עצמו. עלות הפיתוח היא בהתאם, וגם זמן הפיתוח.
הפתרון של מיקרוסופט הוא להשתמש באחד מהצעות ה Windows Embeded שלה. המחיר, אתה משלם "תמלוגים" על השימוש בגרעין מערכת ההפעלה. היתרונות, יש לך גרעין מערכת הפעלה מוכר וידוע, תמיכה בהמון סוגי חמרה. עלויות מאד נמוכות (עד כדי אפס) להתאמת מערכת ההפעלה לחמרה היעודית שלך. והסוכריה, כל תכנת שעבד אי פעם על פיתוח בחלונות, יכול לפתח ולתחזק את הקוד שלך (אפילו ב VB אם אתה מתעקש). מה שאומר עלויות פיתוח ישום נמוכות משמעותית. מעבר לעלויות יש כאן באותה הזדמנות Time to market קצר יותר שנובע ממבחר ה API ועושר הטכנולוגיות שכבר קימות במערכות ההפעלה של מיקרוסופט.
אני לא רוצה בכלל להיכנס לדיון הדתי של מערכת הפעלה חופשית אל מול מערכת הפעלה Proprietry. זו בכלל לא הנקודה, וזה בכלל לא משהו דתי. בנקודה הזו צריך להחליט כלכלן, שמכמת את החסכון בעבודה בפיתוח, בתחזוקה וב Time to market, לעומת עלות השימוש בהון האינטלקטואלי של מיקרוסופט במערכות ההפעלה שלה. אם המשואה המתמטית/כלכלית מראה שהכיוון של Windows Embeded מתאים, לך על זה ואם לא, בחר בפתרון אחר. מה שאסור לך לעשות בשוק הזה, זה לקחת החלטות על סמך מלחמת דתות.
כדאי אולי לציין בנקודה הזו, שישנם בעולם המיקרוסופט פתרונות רישוי נוספים כמו Windows Mobile שלא שייך לקבוצת ה Embeded וגם מסלול OEM ועוד מסלולים יעודיים. כך שהסקאלה לא נגמרת כאן.
אז מה היה לנו בכנס.
אז קודם כל, מה לא היה לנו בכנס, לא היה אף נציג של מיקרוסופט ישראל. למה ? כי כל נושא ה Embeded מנוהל ישירות באזור שלנו ממיקרוסופט EMEA. זה גרם לכמה קטעים קצת הזויים. מתי בפעם האחרונה במדינת ישראל, היתם בכנס, שבפתיחה של הרצאת המליאה, ניתן הסבר על מיקום פתחי החילוץ במקרה של שריפה ? נכון, צריך לעשות את זה, אבל דחילק. או למשל, מתי הגעתם בפעם הראשונה לכנס חופשי, שאם לא נרשמת מראש, היה צורך באישור מנהל, על מנת להכניס אתכם ? חשוב להבין שאני לא אומר את זה חס וחלילה בשלילה, הכנס תוקתק כמו שעון, עבד לפי לוח זמנים ברזולוציה של 10 דקות ובדיוק מעורר קינאה (ראה כנס היעילות החדשה יום קודם, שהתחיל בפיגור של 45 דקות). אבל יכולת לחוש את ההבדלים במנטליות, בטח אם אתה רגיש לנושא כמוני. לדעתי, אחת הסיבות שהנושא של Windows Embeded לא נפוץ מדי בארצנו, למרות שלדעתי האישית, יש לו שוק פוטנציאלי עצום. זה בין השאר, שאין פה מישהו במיקרוסופט ישראל, שהנושא הזה נמצא תחת הכובע שלו. אי אפשר למכור מוצר כזה ב Remte Control מאירופה. המשפט The man on the spot knows best מאד רלונטי בתחום השיווק והמכירות.
מה כן היה בכנס, היתה תערוכת שותפים, לא הרבה, סך הכל חמישה. שני יצרני חומרה TI ו FreeScale, גוף הדרכה שהוא גם גוף פיתוח Paciphic Soft, נציגות חברת Tenasys בארץ שהציגה מוצר היפרויזור (ששורשיו ב RMX), שמספק יכולות זמן אמת לחלונות (לא בטוח אם זה היה בדיוק מתאים לארוע) וחברת NGSoft שעוסקת בפיתוח בתחום. בהתחשב בזה שיש רק 12 שותפים רשומים של מיקרוסופט בתחום הזה בישראל, זה לא רע, אבל זה מחזיר אותנו לפוטנציאל הלא ממומש של התחום. בלטה בהעדרה נוכחות המפיצים של מיקרוסופט בארץ בתחום הזה.
היו בכנס שלושה מסלולים, מסלול הרצאות ושתי מסלולי מעבדה. חלק מהמעבדות הועברו על ידי אנשי מיקרוסופט וחלק על ידי כוחות מקומיים כמו אבי כחולי, שהוא הגורו של הנושא הזה בארץ (ואפילו יצא לנו לכתוב ביחד מאמר משותף) ואסף שלי, שגם הוא מוכר בקהילה. בכל מעבדה היו 25 עמדות מחשב עם יכולת לטפל בחמישים משתתפים. לאורך היום הועברו במעבדות חמישה תרגולים שונים (אחד מהם פעמיים). כמו שאתם מבינים הלוגיסטיקה של הארוע לא היתה פשוטה, והיא נוהלה ביעילות ובמקצועיות שדי נדירה במקומותינו.
אני ריכזתי את מירב הזמן שלי במסלול ההרצאות בעיקר כדי ללמוד מה חדש ולקבל את התמונה הגדולה (לתרגל אני מעדיף לעשות במעבדה שלי במרתף ולא בסביבה רועשת). אבל אני רואה שכבר כתבתי ארוך מדי, אז תאור הרפתקאותי בהרצאות המרתקות, יאלץ לחכות לפוסט הבא.
אחרי קוין עלה לבמה ניר חינסקי ונתן 7 הדגמות קצרות על למה חלונת 7, למה Windows Server 2008 R2 ולמה הכי טוב כשהם ביחד. על קצה המזלג, שיפורי UI שמשפיעים על ה UX ומיעלים את העבודה בחלונות 7, היכולת להיות מחובר כל הזמן לארגון בצורה מאובטחת עם Alwayse Connect ללא צורך ב VPN גם שאתה נמצא בבית קפה עם אינטרנט אי שם בעולם, יכולות לחפש בכמה מקורות מידע ארגוניים ולא ארגוניים ביחד עם Federation Search, MDOP וכל מה שקשור אליו ליעילות ארגונית בניהול שולחן העבודה של המשתמש, חסימת הרצת ישומים שאינם מאושרים על ידי המשתמש הארגוני באמצעות App Locker, הכנה טובה יותר על חומר מוצפו כולל על Disk On Key, וכל נושא השיפורים בוירטואליזציה, כולל וירטואליזציה של ישומים.
אחרי ניר עלתה לבמה לימור הניג מנהלת תחום Office System במיקרוסופט ישראל והראתה לכולם על קצה המזלג מה הולך להיות עם Office 2010. הביתא יהיה בקרוב זמון לציבור המעונין אבל ההדגמות היו מרשימות כאשר הקטע ששיעשע אותי במיוחד היה היכולת של כמה משתמשים לעבוד בו זמנית על אותו מסמך כאשר כל אחד רואה את השינויים שעושה כל אחד מהאחרים בזמן אמת, מה שנותן מימד חדש לנושא של עבודה משותפת.דרך אגב, השם הרשמי של הריבון זה "מימשק מונחה תוצאות" ושלא תגישו שלא אמרתי את זה. וכמובן שכחתי את הכי חשוב, עבודה עם כל מוצרי Office גם דרך הדפדפן.
כאן המליאה התפצלה למסלולים. וגם אני התפצלתי וטיילתי לי בנחת בין המסלולים השונים, המעבדה ומרכז השותפים, כאשר אני משלב גם גיחות למזח כדי להסתכל על הגלים וגם הסתובבות מאסיבית בתערוכת השותפים.
לאחר מכן חזרו כולם להאנגר 11 למליאת סיכום שכללה בעיקר את Exchange 2010 שעליו חגגו רוני חבס ורונן גבאי.
היום הסתיים באוסף הדגמות קצרות על כל מיני יכולות שונות של הכלים והתכונות החדשות שחלקם היו קצת חזרה על דברים שכבר היו בהרצאות, עם פה ושם דברים חדשים. אחרון המדגימים היה גיא בורשטיין על החידושים ב IE8 וכשהוא סיים השעה היתה כבר 18:00, הרבה אחרי זמן הסיום המתוכנן.
כמובן שלקראת הסוף התחילה נשירה טבעית, ואלה שנשארו זכו במטר כדורי גומי. למי שלא יכל להגיע בגלל הגשם או בגלל חוסר מקום, כל ההרצאות יהיו זמינות באתר הארוע ביום חמישי הקרוב.
.קוין טרנר כמו כל מנהל גדול, דיבר על דברים כמו חזון ואיסטרטגיה, ולא נכנס לפרטים הקטנים. אז להלן תקציר לא הכי מדויק ומלא.
קודם כל החזון החדש של מיקרוסופט Connecting the Digital Work Style and Life Style. אולי בהזדמנות איל"ז אני אכתוב פוסט שלם על למה חזון זה דבר קריטי בחשיבותו לא רק למערכות גדולות אלא גם לצוותים קטנים. החשוב בחזון זה שבדרך כלל הוא מלווה שינוי כיוון ומגמה של הארגון. הנקודה השניה עסקב באתגרים של הארגונים במצב כלכלי בלתי ברור שמתרכזות כמובן בהקטנת הוצאות. אבל הקטנת הוצאות היא רק דרך אחת לחסוך בהוצאות, הגדלת יעילות היא דרך אפילו יותר חזקה ומשמעותית מסתם לחתוך בתקציב. תוסיפו לזה סביבה דינמית ומשתנה בשוק ותקבלו המון סיבות טובת לרוץ עם הטכנולוגיות החדשות של מיקרוסופט. הנקודה הבאה עסקה בכמות ההכרזות הגדולה של מוצרים חדשים השנה. יש המון גירסאות ומוצרים חדשים ובכולם יש גם התקדמויות טכנולוגיות משמעותיות. כך שאם רגע אחד אתה לא עוקב, אחר יכול לפספס משהו חשוב שיכול לחסוך לך הוצאות. ישנם המון יכולות ניהול חדשות לקטע של ניהול שולחן העבודה של המשתמש שנע כיום בין הטלפןן הנייד למחשב הנייד ולמחשב השולחני וגם מהמשרד, לבית, לשטח ואפילו לאינטרנט קפה. היכולות החדשות נותנות המון עוצמה לתרחישים הללו.
עד כאן קוין המשך יבוא
הפעם נרדמתי בשמירה, אני בדרך כלל לא מפספס ארועים חשובים של מיקרוסופט אר האירוע הזה התחלק מתחת למכ"מ וכשנודע לי עליו ב MSDN Plus של גיא, הוא כבר היה מלא. אז נרשמתי ברשימת ההמתנה והתפללתי. למזלי ממש אתמול שאלו אותי אם אני עדיין מעוהיין, אז לא שאלתי פעמיים.
קמתי בבוקר, גשם וקור. אז שמתי משעו מעל ה T-Shirt ואפילו לקחתי מעיל. בדרך כלל א ני חונה בחניוני רידינג וחוצה את הגשר מעל הירקון ומשלב בדרך גם קצת הליכה. הפעם לא לקחתי את הסיכון ונכנסתי לחניה של נמל תל אביב. היה גשום והים סער.
מיקרוסופט שמה אוהל על מנת להבטיח שאף אחד לא ירטב ואלילו דאגה למכוניות חשמליות לרווחת החונים. נכנסתי, נרשמתי והתמנגלתי. פגשתי כמה מכרים והסתובבתי בשטח. היתה שתיה היה אוכל ובכלל נחמד. כמובן שבפנים היה חם מה שעורר בעיה מה לעשות עם המעיל.
להגיע לאזור נמל תל אביב בגשם זה לא קל, קודם כל צריך להגיע לתל אביב, אחר כך לנמל, שני אזורים שמהוים פקק רציני בעיקר בשעות הבוקר. הגשם הפך את זה לבעיה עוד יותר קשה. זו הסיבה שיצאתי מוקדם מהבית והגעתי עוד לפני 8:00 והיה לי זמן לצלם את הנוף. כמה מידידי הקרובים שיצרו עימי קשר טלפוני נשברו בדרך, חלק בכניסה לתל אביחב וחלק קצת יותר פנימה ונסעו לעבודה במקום. הבטחתי להם שאספר להם מה הם הפסידו בבלוג.
הארוע הזה ממש גדול. המליאה וההתכנסות בהאנגר 11, שני מסלולים,מסלול חלונות 7 ברידינג 3 ומסלול שרתים בהאנגר 11, מעבדת התנסות במסבאה, ווהל עם נקוגות מפגש לשותפים עיסקיים. זו חתיכת הפקה בתקופה של יש/אין מיתון.
הארוע היה צריך להתחיל ב 9:00, אבל בגלל מזג האויר וקצב הגעת האנשים, הוא התחיל ב 9:45, לא מי יודע מה איחור בהתחשב בתנאים. הארוע התחיל במופע אור (קוולי) בהשתתפות הקהל, שגילה פנסי לד קטנים מתחת למושבים והונחה לשחק איתם כדי לייצר תמונה דינמת של משחקי אור. אחר כך עלתנ לבמה סיגל קלמנסון קושניר, מנכלית שיווק ואסטרטגיה במיקרוסופט שנתנה את המנהלה והתקציר. אחיר עלה על הבמה דני ימין מנכל מיקרוסופט ישראל עם התפקיד המשמעותי והקצר של הצגתו של קוין טרנר ה COO (או כמו שתורגם לעברית, מנהל העסקים) של מיקרוסוםט העולמית. אני לא הייתי מזלזל בכלל בנקודה שפונקמיה כל כך בכירה במיקרוסופט הגיע במיוחד לארץ על מנת לתת את הרצאת הפתיחה של הארוע הזה.

עד כאן מנה ראשונה, להשתמע בהמשך.
המפגש החודשי של קבוצת מפתחי Web (שמנוהלת על ידי נועם קינג) עסקה בשפת Ruby וב Ruby on Rails. שי פרידמן שכתב את הספר על IronRuby, הסביר והדגים את שפת Ruby ואת התשתית הנפוצה מאד שלה בפיתוח אתרים Ruby on Rails.
קשה להסביר מה זה שפה דינמית גמישה וקולית, למי שכל חייו סובבים סביב שפות מדויקות וקשוחות כמו C++ או C#. אבל למי שבהיסטוריה שלו נמצאות שפות גמישות כמו Perl, Smalltalk, Eiffel, Ada, Lisp או Python (כן, אני יודע ש ADA לא בדיוק גמישה), שפת Ruby היא סך הכל עוד צעצוע חביב ומוכר שיכול לעשות עבורך דברים נפלאים, אם רק תקדיש לו קצת זמן וראש פתוח.
כמו כל אחת מהשפות הללו, מסתתר מאחוריה משוגע לדבר. ומאחורי Ruby מסתתר בחור יפני בשם יוקיהירי מטסומוטו, שלמען הפשטות נקרא מטץ'. הוא יצר את השפה בסביבות 1995 מתערובת של כל השפות שהזכרתי בפיסקא הקודמת. השפה החדשה לא היתה הצלחה מי יודע מה, ובטח היתה נקברת בפח הזבל של המהדירים והמפרשים, ביחד עם שפות רבות וטובות כמו forth או APL. אך איתרא מזלו של מטץ', ומשוגע לדבר אחר, הנושא את השם דיויד הינמאייר הנסון, מדניה, השתמש ב Ruby כשפת הבסיס, לתשתית ליצירת אתרים, בשם Ruby on Rails, שזכתה להצלחה רבה, ובכך נתן לשפת Ruby חיי נצח זמניים.
אז נתחיל דוקא ב Ruby on Rails. זו תשתית MVC כזו, שבכמה שורות קוד, אתה מייצר אתר מתפקד ושלם, בצורה כל כך קולית ומהירה, עד שהתשתית הזו נמצאת במקום טוב, ברשימת הכלים המקובלים בעולם לפיתוח אתרים. הצלחת התשתית הזו היתה אחד מהסיבות שמיקרוסופט פיתחה תשתית MVC משלה. מאחר והמטרה של מפתחי IIS היא להמיר כמה שיותר כופרים שמשתמשים ב Apache ל IIS. אז כמו שהם הפכו את PHP לאזרח חוקי ב IIS, היה להם ברור שהם לא יכולים להתעלם מ Ruby on Rails. אבל לצורך זה, הם היו צריכים תמיכה בשפת Ruby, וכאן נכנס למשחק IronRuby, שהוא המימוש הדוט נטי של Ruby. והשאר, כמו שאומרים, שייך להיסטוריה.
אז לאחר כל הרקע ההיסטורי הזה אתם בטח תוהים למה אני מספר לכם את כל זה. אז הסיפור הוא כזה. שפות מהסוג הזה, הן שפות שאני קורא להם שפות אמוציונאליות. כמו שאין הגיון לאהבה, ככה גם אין סיכוי להסביר לכם את הדברים האלה בצורה הגיונית. מה שאתם צריכים לעשות זה לתפוס כמה שעות שקטות, ללא שום הפרעה שקשורה לעבודה או לחיים, לנעול את עצמכם בחדר, עם המחשב הנייד שלכם, שעליו תורידו ןתתקינו את IronRuby מהאתר של IronRuby. תנקו את הראש מכל מה שאתם מכירים על שפות קשיחות ותחביר קשיח, ופשוט תתחילו לשחק עם השפה, רצוי עם אחד מהתרגולים הבסיסיים שמפוזרים בשפע באינטרנט (כתבו Ruby Tutorial במנוע החיפוש האהוב עליכם). לאחר שתתפסו את הראש של Ruby, ותחליטו שזה מספיק Cool, אתם מוזמנים לעשות את אותו הדבר עם Ruby on Rails. או שתאהבו את זה, או שתחליטו שזה לא בשבילכם. אבל בלי לנסות ולראות את הלבן בעיניים של הכלי הזה, אתם לעולם לא תדעו. זה לא משהו שניתן להבין מקריאה של בלוג.
אלה שהצעצוע ימצא חן בעיניהם, יגלו ש Ruby היא שפה חזקה וגמישה מאד, עם אוסף ספריות שרות שמכסות המון תחומים, ושניתנת להרחבה לכל כיוון שתרצו. מה שהופך את Ruby לכלי אידאלי ליצירת DSL – ים, לכתיבת תסריטי בדיקות מורכבים ולעוד המון שימושים, כולל כתיבת אתרים (שמשם בעצם התחלנו את הסיפור שלנו).
שי אמר בהרצאה המצוינת שלו, שאחת המטרות של מטץ', היתה לכתוב שפה שאנשים יהנו לפתח בה. אז תנסו, תהנו, ותספרו חוויות לחברה.
ארוע ה Expert Days מתרחש פעם בשנה ומאורגן על ידי חברת E4D. בארוע יש כמה עשרות סדנאות ומשתתפים בו מרצים רבים וטובים. ההבדל העיקרי בין ה Expert Days לבין ארועים מסוג IDCC או Dev Days של מיקרוסופט או מפגשי קבוצות המשתמשים הוא שהוא אינו מורכב מהרצאות בודדות, אלא מסדנאות, שכל סדנא עוסקת בנושא אחד, ממוקד, ותופסת יום הדרכה שלם.
אני מציג בארוע ארבעה נושאים, שחלקם הינו גירסא מקוצרת של הסדנאות הרגילות שאנחנו מעבירים בחברת ידאג (רובם בחצרי הלקוח), וחלקם חומרים חדשים לגמרי, הקשורים ל VS2010, שרק עכשיו יצאו מהתנור.
אז להלן הנושאים שאני מעביר ב Expert Days השנה במסלול פתרון בעיות בעולם האמיתי:
Debugging .NET and Native Applications in Production Environments - 061
בסביבות תפעול, בחצרי הלקוח, בשטח וגם ב QA, לא מותקן Visual Studio. מה ניתן לעשות בשטח, על מנת לאסוף מידע, שיעזור לגלות מה הבעיה, ביישום שמתנהג מוזר או מתעופף. איך ניתן לעשות את זה מבלי להפריע ללקוח ולסביבת העבודה. בוא ללמוד איך אתה יכול להפעיל כלים מובנים של מערכת ההפעלה וכלי איסוף וניתוח זמינים של מיקרוסופט, על מנת לקבל את השורה המדויקת בקוד שבה התעופפת, מה ה Call stack ומה ערכי המשתנים ועוד המון טכניקות לעבודה בסביבות ייצור.
Integrating Instrumentation Features in Your Application for Production, QA and Customer’s Site Usage - 062
שילוב של יכולות Instrumantation ביישום שלך לאורך תהליך הפיתוח, דורש ממך מעט מאוד מאמץ ומעט מאד משאבי פיתוח. את התמורה אתה מרויח בריבית דריבית ברגע שמתעוררות בעיות, או שצריך לדעת איך היישום מתנהג, אצל הלקוח או בסביבת ה QA. ישנן המון תשתיות Instrumentation מובנות במערכות ההפעלה של מיקרוסופט. הן זמינות לכל מפתח שרוצה להשתמש בהן. כלי הניהול שלהם כבר נמצאים במערכת. כל מה שאתה צריך לעשות זה להתחבר אליהן מהקןד שלך ולהשתמש בהן בישום שלך. יישום שכולל יכולות Instrumentation, זול יותר לתחזוקה, ומתממשק טוב יותר לעולם ה IT, ובכך חוסך באופן משמעותי בעלויות התפעול השוטף של היישום. בוא וללמוד מה זה Instrumentation ואיך זה יכול לחסוך לך עבודה.
Migrating application from XP to Windows 7 / Vista Methodology, Guidelines & Pitfalls - 063
העברת הקוד שלך מ XP לחלונות 7 יכול להיות ענין פשוט של קימפול מחדש או סיוט שדורש כתיבת קטעים שלמים מהישום מחדש. בוא ללמוד מה השתנה בחלונות 7 ובויסטה יחסית לעולם ה XP, איך זה משפיע על היישום שלך, ומה אתה יכול לעשות, לא רק על מנת לפתור את הבעיות, אלא גם למנוע שהבעיות הללו יחזרו על עצמן בגירסאות עתידיות של מערכת ההפעלה. הסדנא כוללת גם את רשימת הבעיות הנפוצות בהסבה שכולם נתקלים בהם, ומה הפתרונות המומלצים של מיקרוסופט לבעיות הללו.
Analyzing Code Structure and Validating Architectural Constrains Using VS2010 - 064
הגירסא החדשה של Visual Studio כוללת יכולות חדשות בתחום הארכיטקטורה שביחד עם כמה יכולות שכבר היו קיימות קודם לכן, יוצרות מהפכה בצורה שבה אתה מנתח קוד, מגדיר ארכיטקטורה, ומתקף ארכיטקטורה אל מול הקוד שנכתב על ידי המפתחים. לחידושים הללו יש משמעויות, גם לגבי דרישות תיעוד, וגם לגבי היכולת לבצע בקרה טובה יותר של הפרויקט אל מול הארכיטקטורה שתוכננה. בוא לשמוע על כל החידושים הללו, לראות הדגמות שלהם, ולבחון כיצד הם יכולים לשפר וליעל את תהליך הפיתוח אצלך במערכת.
אם אחד מהנושאים הללו נראה לכם מעניין, אתם מוזמנים לפנות לאתר הכנס ולהרשם.