רשמים מהרצאת הפתיחה של היום השני ב Mix 2011 על כלי הפיתוח לגירסא הבאה של Windows Phone 7, על SilverLight 5 ועל Kinect

22 באפריל 2011

להלן הקישור להרצאה למי שרוצה לעקוב תוך כדי קריאה. להזכירכם, את הפוסט הקודם שדיבר על הפוטנציאל העיסקי והשיפורים ביכולות של Windows Phone 7, סיימתי בשלב שבו ירד ג'ו מהבמה לאחר שהוא מעביר את הפיקוד לסקוט (ב 50:34). סקוט הזכיר על ההתחלה שכל כלי הפיתוח ל WP7 הינם חינמיים (בניגוד למתחרה העיקרי) ואז עבר סקוט לתאר את החידושים בגירסא הקרובה של כלי הפיתוח ל WP7, שתהיה זמינה אי שם בחודש הבא.

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

positionemul

האמולטור החדש כולל גם תמיכה בחישני מיקום (מיקום גיאוגרפי על המפה ליישומים תלויי מיקום), אתה מקליק על המפה איפה אתה נמצא, והיישום מגיב בהתאם. הכלי כולל גם יכולת להגדיר מסלול, ולנוע עליו בקצב מוגדר מראש, סקוט הדגים את השימושיות של היכולת הזו עם 4th & Mayor, שהוא Client נפוץ של FourSquare (מ 53:15).

locationemul

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

לאחר מכן (מ 55:20) עבר סקוט להסביר ולהדגים את היכולות של הפרופילר החדש שבא עם החבילה.

profiler1

זה פרופילר מאד חזק וניתן לאתר באמצעותו גם בעיות ביצועים בגישה ל GPU, גם לזהות Hot Spots בקוד וגם לאתר בעיות בצריכת זכרון. כאשר הפרופילר יודע להתחבר גם לטלפון, ולא רק לרוץ על האמולטור. הפרופילר מותאם לטלפון תזכרו שמדובר בטלפון ולא ב PC רגיל. צריכת הבטריה חשובה, וישנם עוד כמה פרמטרים שמאפיינים טלפון, שלא כל כך חשובים ביישום רגיל. הכלי יודע לתת משקל נכון לפרמטרים כמו Frame Rate, Storyboards, Image loads וכמובן צריכת זכרון וארועי GC. כל הפרמטרים האלה נמדדים ומנותחים, ומאפשרים לכלי להפנות אותך ישר לנקודות המתאימות, דרך כלי הניתוח האוטומטיים שלו. כולל מתן המלצות ממוקדות בעיה. וכולל הפניה ישירות לשורות הקוד החשודה, גם אם היא נמצאת במקרה עמוק בתוך ה Xaml.

profiler2

בשלב הבא (מ 01:02:00) עבר סקוט לתאר את שיפורי הביצועים שנעשו בקוד של מערכת ההפעלה. שיפורים בתחום ה Scrolling, הקלט, טעינת Image בBackground, העברת ה GC ל Background והקטנת ה Foot Print בזכרון של ה OS. מסתבר שהנושא של Multi Tasking משפיע לא רק על היישומים העתידיים, אלא כמובן בראש ובראשונה על יכולות מערכת ההפעלה עצמה. השיפורים הללו משפרים ביצועים של יישומים קיימים, מבלי שיהיה צורך לתקן בהם משהו. וחסכון של 25-30 אחוז בצריכת הזכרון, זה לא משהו שהולך ברגל, זה אומר בין השאר, שה Switching בין היישומים יהיה מהיר יותר (כי יש יותר סיכוי שהיישום ייהיה עדיין בזכרון).

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

מכאן (ב 1:06:47) עבר סקוט ליכולות החדשות שנוספו למערכת ההפעלה של WP7 בגירסא הבאה. יש קרוב ל 1,500 API חדשים, כולל כל היכולות של SilverLight 4. למי שאוהב שקפים כאלה (אני), להלן הרשימה

 APIAfter

סקוט הדגיש חלק מהחידושים באופן מיוחד. קודם כל (מ 01:07:08) צויין החידוש של SQL Ce מובנה במערכת ההפעלה, כולל תמיכה ב Linq וב ORM. סקוט הזמין לבמה את Jaime Rodriguez להדגים יישום RSS, שבגירסא החדשה משתמש ב DB. ועל ידי כך גם חוסך הרבה קוד, וגם, באותו מחיר, נותן אוסף של יכולות חדשות שנובעות מהשימוש ב DB (כמו למשל Search).

הנקודה המודגשת הבאה (מ 1:10:00) היתה התמיכה המלאה ב Standard Sockets API שנוספה למערכת, כולל אופטימיזציה של העבודה ב Background. הדמו של ג'מי כלל דוגמא של קוד של IRC Client, שנכתב במקור ל SilverLight על PC, שהועבר כמעט כמו שהוא לעולם ה Mobile. בזמן ההדגמה החיה, היו כמה זריזים שהצטרפו לשיחה ב IRC תוך כדי ההדגמה. ורק הדגישו את הנקודה שזה באמת תכנה עובדת, ולא סתם בכאילו.

irc

הנושא הבא שהודגם (מ 1:17:32) היה גישה ישירה למצלמה, שאותו הדגים Ben Riga, שהציג יישום להפקדת צ'קים ישירות לחשבון הבנק (בנק USAA) מהטלפון הנייד, על ידי צילום שני הצדדים של הצ'ק, וסריקה שלו מהיישום. מעניין מתי יהיה גם אצלנו בנק שיתן את השרות הזה.

camers

ולבסוף (מ 01:20:30) הודגמה היכולת של המערכת החדשה, לכלול בתוך ישום SilverLight, קריאות לסט ה API של XNA. מה שמאפשר לערבב יכולות משחק באמצע היישום, ולהיפך. כפי שהדגים האוואטאר של סקוט עצמו.

avatar

כאן (ב 1:23:53) סיים סקוט לדבר על היכולות החדשות בתחום הטלפון הנייד, ועבר לשני נושאים אחרים לגמרי. הראשון הוא מה חדש ב SilverLight 5 והשני על ה Kinect SDK. אז בואו ונתחיל לדון בשאלה מה חדש ב SilverLight5. הנה השקף:

silverlight5

יש כאן טונות של חידושים, שמתוכם בחר סקוט להדגיש את השימוש ב GPU ל Decode של וידאו ולא רק לגרפיקה. את TrickPlay, שנותן יכולת לנגן במהירות שונה מהמוקלטת, עם תיקון אוטומטי לעיוותים (כמו ב Media Player) ואת ה תמיכה ב Remote Control. כל זה לקח בקושי שתי דקות, ואז (מ 1:25:52) העביר סקוט את הפיקוד ל Mike downey, שהראה איך יראה האתר הבא של הצוות האוירובטי של ה Navy, הלא הם ה Blue Angles (האתר הוקם על ידי Efective UI). ואז (ב 1:31:54)  סקוט חזר לכמה שניות כדי להזמון את Juhn Papa (ב 01:33:20) להדגים אל יכולות ה 3D, גישה ל XNA API, שיפור הביצועים שנותן השימוש ב GPU בגרפיקה, שימוש ב Projection מעולם ה 2D ל 3D, שימוש ב Binding & Style Setters, שימוש ב Implicit data templates, וגם Data Binding Debugging ולסיום שימוש בזויות מצלמה. ואז (1:39:35) חזר סקוט חזר לבמה להודיע שהביתא של SilverLight5 זמין להורדה עכשיו. כולל כלי העזר ל Visual Studio ול Expression Studio.

וכאן (ב 1:40:10) עבר סקוט לחלק האחרון של ההרצאה שעסק כולו ב kinect. תחילה עלה לבמה Jeff Sandquist שהכריז שהקינקט הוא הציוד האלקטרוני עם קצב המכירות המהיר ביותר שהיה אי פעם, מעל 10,000,000 יחידות נמכרו וזה עוד לא הסוף.

הסיבה שהקינקט הפך לכל כך משמעותי למפתחים, הוא (למי שלא מעודכן), שמיקרוסופט הכריזה על kinect for PC, שזה אומר שאתה יכול לחבר את ה Kinect למחשב רגיל, ולא רק ל Xbox 360. ומה שיותר חשוב, יש לך גם Kinect for windows SDK רשמי, שיצא בקרוב, שנותן לך גישה מלאה ל Microphone array ול Skelton Tracking ולכל שאר היכולות של הכלי. ה SDK נותן ותמיכה בכל השפות המקובלות VB, C# & CPP. מה שאומר שכמפתח אתה יכול לעשות עם ה Kinect פחות או יותר מה שאתה רוצה.

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

בשלב הראשון הכל היה סולידי, ג'ף צירף אליו (מ 1:41:49) את Dan Fernandez' שכתב בכמה דקות דמו של Hello world תוך שימוש ביכולת של הקינקט לציין מרחק של כל נקודה מהמצלמה.

helloki

ואז (ב 1:47:20) הצוות התחיל ממש להשתולל. קודם כל עלתה לבמה כורסת נוחות חשמלית על גלגלים, נהוג על ידי קינקט בתנועות ידיים.

carki

בהמשך (ב 1:50:16) עברו למסע בחלל עם ה Word wide telescope מנוהל על ידי Jonathan Fay  במחוות ידיים אל מול הקינקט.

wwtki

בהמשך (ב 1:54:20) עלתה לבמה Laura Foy עם פרויקט קהילה אוניברסיטאי שנערך ב University of Konstanz (למי שתוהה על השם, זה בגרמנית) והדגימה יכולת הנחייה של אנשים שיש להם קושי בראיה באמצעות קינקט מחובר לקסדה ול PC. שגם מזהיר על מכשולים, וגם יכוללהנחות אותך לאורך מסלול.

visualimki

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

לסיום (ב 1:58:02) הציג Jared Ficklin מ Frog Design משחק זיהוי צורות באמצעות הגוף, Wall Panic, שדורש ששני אנשים ישתפו פעולה' כדי לנסות לעשות את הצורה המוצגת על המסך, בלחץ זמן. וסקוט חזר כאן לתמונה וביחד עם לורה כדי להדגים.

game1

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

skotetc

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

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

present

עד כאן הרצאת הפתיחה השניה של MIX 2011.

הוסף תגובה
facebook linkedin twitter email

כתיבת תגובה

האימייל לא יוצג באתר. (*) שדות חובה מסומנים