עברית שפה קשה
התקנתי CyanogenMod באחד ממכשירי ה nexusone שברשותי בכדי לבחון את התמיכה בעברית.
לאחרי בילוי שעות מספר בהבנת תהליך ההתקנה בחנתי את הבראוזר שנראה – סביר.
העברה של ספרית השירים ממכשיר ה HD2 שברשותי (עברית של איירון) מראה כי ישנם שירים המקודדים באופן שהאנדרואיד מבין, אולם גם שירים המוצגים כג’יבריש גמור.
מסתבר שהגדרות ה locale לא ממש מצליחות להתמודד עם הפורמט בקבצי ה mp3 ונראה על פניו שצריך לכתוב תוכנה שעושה recode לקבצי ה mp3 על מנת להעבירם לקידודו אחר (ככל הנראה unicdode או utf-8).
לא בחנתי אם יש כלי כזה, אולי אפשר גם לכתוב (לא טרוויאלי, בהתחשב בכך שקימים עוד פורמאטים), בכל מקרה קצת התאכזבתי.
אני משוכנע שישנה בעיה בתמיכת locale מאחר וניתו לראות שהקבצים אינם מקודדים כראוי (תמונה). בכל מקרה, לך תנסה לשכנע מישהו שעובר מ WindowsMobile ל Android שהוא קידד את השירים לא נכון (לא נראה לי שזה מענין את אשתי למשל).
קישורים:
http://homedir.jct.ac.il/~rosenfa/meida/h_ascii.htm
תמונות:
12 ביוני 2010 תגובה אחת
חתימות
לא אחת, ראיתי עדכונים לאנדרואיד עם המילה "signed" כחלק משם הקובץ. מאחר ואני חובב קריפטוגרפיה, ובעל נסיון בתחום, ניסיתי לעמוד על פשר הדבר.
אזהיר מראש כי דברי לא אומתו לפרטים ולכן אשמח לקבל תיקונים.
למי שמעונין במסקנות שהן מעט יותר מענינות מהפרטים הטכניים – מומלץ לקפוץ לפסקאות האחרונות.
רקע טכני:
ברמה הכי בסיסית, ניתן לאמת כי הקובץ שקיבלתם אכן לא נפגם.
בדרך כלל עם ההפצה נמסרת סדרה של אותיות ומספרים, המבטאים אלגוריתם המסכם את "תמצית" הקובץ (האלגוריתם הפופולרי הינו SHA1). מקבל הקובץ יכול לבצע בדיקה כי אכן הקובץ שקיבל נאמן למקור.
מה שהרבה אנשים לא יודעים הוא שבעצם, הפצות update נמסרות כקובץ ZIP (שהוא בעצם קובץ JAR), המכיל כבר בעצמו מידע לגבי תמציות הקבצים שבתוכו. בזמן שהמכשיר מריץ את ה update הוא מבצע בדיקה כי הקבצים לא נפגמו.
על מנת לבדוק קבצי JAR ניתן להתקין JAVA SDK ולהריץ את הפקודה הבאה על הקובץ:
jarsigner -verify -verbose -certs update.jar
אציין כי, בדיקה שהקובץ לא נפגם אינה ממצה את המנגנון החתימה דיגיטלית, ובכללה וידוא מקור ההפצה.
בעיקרון, המכשיר יסרב להריץ עדכונים שאינם כוללים חתימה דיגיטלית המציינת כי מקור הקובץ "מהימן" (של היצרן). באופן ספציפי, מי שמסרב להריץ עדכונים שאינם חתומים הוא ה bootloader (שעולה שני) ומכיר את המפתחות הציבוריים של היצרן.
בכדי להכריח את המכשיר להריץ עדכונים שהופצו על ידי קהילת הקוד הפתוח יש להחליף את מנגנון ה boot loader. אבל אם עשיתם זאת, המערכת תזהה שהוא אינו מקורי (trusted) ותציג אייקון של מנעול פתוח.
ניסיתי לברר האם מישהו אי פעם הצליח להחזיר את המכשיר למצב "מדף" כלומר הגדרות מקוריות ללא מנעול, וטרם קיבלתי תשובה חד משמעית לכך.
בכדי להשלים את ענין החתימה הדיגיטלית – רציתי לציין את הפקודה מה JAVA SDK שמתייחסת למפתחות הציבוריים שלפיהם חתום הקובץ. לא אעמיק בסוגיה מאחר ונראה לי שזה לא מענין את רוב קהל הקוראים. ובכל זאת, אם אתם מעונינים, אנא פנו ל JAVA SDK ותנסו להריץ את הפקודה (לאחר פריסת הקובץ):
keytool -printcert -file update\META-INF\CERT.RSA
מסקנות:
ראיתי לנכון בכל זאת לציין מה הבעיתיות שבשבירת מנגנון ה secure bootloader והרצת עדכונים לא מקוריים כמו למשל CyanogenMod.
די ברור לי, שאני הולך להסתבך כאן עם מי מכם שמאמין בכל ליבו בקהילת הקוד הפתוח והטבחים למינהם (עיסוק בעניני דת הוא תמיד בעייתי). ובכל זאת, שווה מדי פעם לשמוע דעה נוספת:
ובכן, כשאתם מריצים קוד מערכת שונה (עם או בלי root) אתם מריצים קוד של מישהו שאתם לא ממש מכירים. יכול להיות שהוא הכניס לכם הרבה מאד אפליקציות ו goodies שחבל על הזמן. אבל יחד עם זאת, חשוב להבין שלהכניס קוד למאות אלפי מכונות יכול להיות תמריץ לא קטן להרבה מאד ארגונים שונים ומשונים (לעולם לא תדעו מיהם אותם טבחים ומפיצים ותחת איזה מסווה הם עובדים).
מבחינת בטחון מידע, יתכן ומנהלי מערכת קשוחים, לא יאשרו שמכשירים כאלה יהיו משולבים במערכת הארגונית (עד לא מזמן היתה לנו בעיה דומה בארגון עם גרסאות מבושלות של WindowsMobile). בכל מה שקשור לבטחון מידע, קל יותר לבטוח בגוגל (למרות שגם בעבר היו תקדימים ל rootkit שהותקן על ידי חברות מכובדות – ראה תקדים Sony).
באופן אישי, היתי בהחלט מסתפק במכשיר עם גרסת בסיס (ואני עד היום חי עם HD2 בגרסה מקורית).
אבל מה לעשות, קשה, קשה מאד לחיות בארצנו החריגה ללא מכשיר עם עברית. ההמתנה ל Froyo מייגעת ולפעמים נדמה שאינה מייחלת להגיע.
רק בגלל בעית העברית, אני כל כך מתפתה להריץ הפצות אחרות אבל מה שהורג אותי היא ההשערה שלא אוכל לשחזר הגדרות יצרן ובכללם אותו מנעול ארור…
7 ביוני 2010 2 תגובות
מה בתפריט?!
קצת מרגיז שצריך לנחש האם לכל מסך שחושפת האפליקציה יש תפריט (לחץ על כפתור התפריט). זהו תקדים שמערער את תחושת השימוש החלקה של המשתמש. אני תוהה אם קיימת קונבנציה שמאפשרת לרמוז למשתמש שיש לו אפשרות לתפריט…
2 ביוני 2010 אין תגובות
איפה אפשרות ה exit מהאפליקציה?!
כמשתמש ומפתח WindowsMobile תהיתי איפה אפשרות ה יציאה (terminate) מאפליקציה ולמה לא מסופק task manager שמאפשר חיסול אפליקציות. לאחר קריאה בספר המתאר את הארכיטקטורה הפנימית גיליתי שברוב האפליקציות, בעצם לא צריך לצאת מאחר ומערכת ההפעלה מחליטה בעצמה על 'חיסול' האפליקציה.
כעקרון מנחה, כותב האפליקציה צריך להימנע מביצוע פעולות כאשר האפליקציה אינה בקידמת המסך ומערכת ההפעלה מצידה תשמור על האפליקציה בזיכרון כל עוד אין צורך לחסלה (עיקרון זה משפר את ההזנקה מחדש של האפליקציה).
כאשר מערכת ההפעלה חשה שהיא צריכה משאבים, היא תחסל את האפליקציה על דעת עצמה לאחר שתאפשר לה לשמור את מצבה להזנקה הבאה (דבר זה המאפשר תחושה של ריצה ברקע).
כותב אפליקציה שמעונין לכתוב אפליקציה שחייבת לרוץ ברקע (לרוב אפליקציות שאינן מתקשרות עם המשתמש באופן ישיר) יכולים לציין זאת בפני המערכת.
לאחר סקירת עקרונות עיצוב אלה, אני תוהה אם רוב האנשים מריצים task manager ולא ממש מבינים מה הם עושים, או שמא הם לא סומכים על מערכת ההפעלה שתעשה את עבודתה נאמנה.
אני בכל מקרה השתכנעתי שלא ממש צריכים מנהל משימות כדי לרצוח אפליקציות (ההנחה היא שהאפליקציה היא אזרח המתנהג לפי העקרונות שהונחו כאן).
2 ביוני 2010 תגובה אחת
עוד על מגיני מסך וגוף
חבר מהעבודה המליץ מאד לרכוש מגן גוף ומסך, שבהם הוא משתמש.
מגיני המסך מתחלקים לשלושה סוגים: שקוף, מאט, וראי.
מגן הגוף מחומר איכותי בצבעים מגוונים, אם כי במציאות הם יותר דהויים יותר ממה שמוצג באתר.
מאחר שהוצאתי כל כך הרבה כסף על מגיני גוף ומסך, זה כבר לא משנה… הזמנתי
http://www.ultra-case.com
2 ביוני 2010 אין תגובות
beagel
אימפלמנטציה של Android על גבי beagleboard.
יש לי ביגל ואשמח לנסות בהזדמנות הראשונה ולעדכן – אם זה יענין מישהו
קישורים:
http://beagleboard.org/project/android
http://beagleboard.org/hardware
29 במאי 2010 אין תגובות
התחלת פיתוח
התקנתי את סביבת ה SDK והתחלתי לבחון אותה (HelloWorld כבר רץ). הזדמן לי גם לעבור בחנות ספרים גדולה ולקנות את
"Professional Android 2 Application Development (Reto Meier)"
הספר נראה מאד מקיף ומעודכן הרבה יותר מהספרים האחרים בקטגוריה – אני מצפה בקוצר רוח לעבור עליו בטיסה חזרה (מציץ ולומד בכל הזדמנות).
27 במאי 2010 אין תגובות
זהירות בחנות האפליקציות!!!
מסתבר שיש דרך טובה להרוויח מכתיבת אפליקציות ל Android.
בחנות האפליקציות מסתובבת אפליקציה בשם "kill all humans" ומחירה 500$
בפרטי האפליקציה מצוין תיאור בסיגנון "אל תרכוש את האפליקציה, אם תרכוש את האפליקציה תחויב ב 500$ ולא תקבל החזר לכספך". אני בטוח שאם גוגל בונים על כמות בלתי נדלית של משתמשי אנדרואיד, קיים מישהו מספיק רשלן / סקרן שילחץ בטעות על כפתור הקניה. לך תסביר למה לחצת בטעות ובכלל לך תדע אם מישהו בחנות הוירטואלית יתיחס לתלונתך (במקרה שתשים לב לטעות).
אני תוהה אם מפרסם האפליקציה בחר לעשות כסף קל או שמא זוהי אסטרטגיה של מישהו ממתכנתי אפל שבחר להכות את גוגל על שכנראה הם לא ממש בוחנים כל אפליקציה ואפליקציה בזכוכית מגדלת ודוחים הגשות (דבר שנראה עקרוני מאד במאבק בין החברות).
26 במאי 2010 2 תגובות
מגיני מסך וגוף
קניתי אצל מוכרן בקנין המקומי מגן מסך וגוף של InvisibleShield (במחיר מופקע של 25$, עם אחריות לכל החיים).
לא היתי מודע לקונספט, אבל מסתבר שיש אנשים משתמשים ביריעות דקות ושקופות להגן, לא רק על המסך אלא, גם על הגוף מפני סריטות. לאחר ניסיון של המוצר, ראיתי שלמרות שהמוצר נראה מאד מבטיח (לפי הוידאו החזותי), ההרגשה היא שמגן המסך לא מספיק שקוף, מחזיר אור וקצת לא נעים למגע (לא נותן לאצבע להחליק על המסך אלא עוצר אותה). בדיקה קצרה מול ה dock וה car kit מראים שלא מומלץ להתקרב למוצר הזה (הציפוי לא מספיק דק כדי שיתאימו).
החזרתי וקיבלתי זיכוי (מנפלאות אמריקה).
מאוחר יותר מצאתי מגן מסך בחנות AT&T .
המגן גזור בצורה ריבועית ומגן רק על איזור המגע ב WVGA ולא על כל החזית – ולמרות זאת, זהו חומר איכותי ביותר: לא מחזיר אור (מאט), שקוף, האצבע מחליקה עליו בקלות, ובעל תכונות anti smear.
ניתן לשלבו עם מגן גוף שקוף הנמכר בחנות .
מומלץ ביותר.
26 במאי 2010 אין תגובות
רושם משני
גיליתי מספר חסרונות מאד משמעותיים ב nexusone שברשותי:
-
בחיבור למחשב, מופיע המכשיר כהתקן אחסון, אולם עד שלא מבצעים "mount" ע"ג הטלפון, לא ניתן לקרוא שום קובץ מהכונן (מרגיז ומטעה). ביצוע "mount" אינו טרוויאלי למשתמש בסיסי ולאחר ביצוע הפעולה לא ניתן לגשת לקבצים ע"ג הטלפון (למשל תמונות).
-
אין סינכרון של טלפונים ופגישות לאאוטלוק- ההרגשה שהטלפון לא משתוה ברמה הבסיסית הזו לטלפונים מאד בסיסיים מסוגו!!!
בחיפוש מהיר בפורומים מתגלה שמישהו בגוגל חושב שכל המידע שלנו צריך להגיע מהאאוטלוק לענן (או הרשת) כדי לחזור לטלפון, דבר שאינו מקובל בכמה מקרים (ארגון בעל רשת מאובטחת שמעונין להגן על המשאבים, ומשתמשים שמחפשים פשטות). -
אין בדיפולט מנהל משימות – לא ברור איזה משימה רצה בקרע.
-
לא ניתן לקנפג proxy בבראוזר. טרם בדקתי אם ניתן לשנות זאת ע"י כתיבת אפליקציה.
-
לאחר הרשמה ל Marketplace, לא ניתן להחליף שם משתמש (קיימים מספר שימושים מענינים לכך אך לא אציינם).
-
אין תמיכה בעברית בגרסת ה 2.1-update (כרגע לא מעונין לחליף רום)
למרות שהפורומים מפוצצים בהודעות על השידרוג ל 2.2 Froyo , מסתבר שהגרסה כנראה לא רישמית, ובכל מקרה מסרבת לרוץ על ה AT&T. יש להמתין למועד שיחרור OTA לא ידוע.
במהלך הבלוגינג אנסה לעדכן האם מצאתי פתרונות – נכון לעכשיו – מכה שאני לא יודע מאיפה לעכל אותה
24 במאי 2010 3 תגובות



