זיהוי המתקשר מתבלבל
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
יש לי שני אנשי קשר עם אותו מספר טלפון חוץ מהקידומת. אחד עם 052 והשני 03.
כשאני מקבל שיחה מה052, מופיע לי על המסך איש הקשר עם ה03.
יש מה לעשות בנידון ?
כשאני מקבל שיחה מה052, מופיע לי על המסך איש הקשר עם ה03.
יש מה לעשות בנידון ?
משה
- razi_pazi
-
- חבר פעיל מאוד

- תגובות: 390
- הצטרף: יוני 2012
מכיר את הבעיה מבלקברי.
אני חושב שאם תגדיר את המספרים תחת אותה קטגוריה הוא לא יתבלבל.
נגיד מופיע לך יוסי נייד 0526666666
ו אורי בית 036666666.
אז אם תרשום את המספר בבית של אוי כאילו זה ניד. כלומר אורי ניד 036666666 הוא לא יחליף בינם. לא ניסיתי אבל יש בזה היגיון.
בכל אופן אני בגלל ההתחכמות של הבלקברי קיבלתי SMS מסבתא שלי לאחר מותה...
אני חושב שאם תגדיר את המספרים תחת אותה קטגוריה הוא לא יתבלבל.
נגיד מופיע לך יוסי נייד 0526666666
ו אורי בית 036666666.
אז אם תרשום את המספר בבית של אוי כאילו זה ניד. כלומר אורי ניד 036666666 הוא לא יחליף בינם. לא ניסיתי אבל יש בזה היגיון.
בכל אופן אני בגלל ההתחכמות של הבלקברי קיבלתי SMS מסבתא שלי לאחר מותה...
-
moco
-
- גורו

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

- תגובות: 15029
- הצטרף: אפריל 2007
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
תן רמז.osherov כתב:אני בטוח משה שתצליח להגיע לבד לתשובה...
אולי לא תמיד יש מספר מלא ברשתות מסוימות (לא יודע אם במציאות, אך תאורטית) , אך במקרה המדובר המכשיר הציג מספר מלא, אז מה מונע ממישהו להשתמש בו ל lookup?
נערך לאחרונה על ידי moco ב 26/06/2012 22:06, נערך פעם 1 בסך הכל.
משה
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
אגב הנוקיה שלי דווקא הבדיל בין שני האנשים הללו.
משה
- osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
המכשירים נבנו לכל הרשתות בעולם, נתוני המתקשר (Caller ID) יכולים להשתנות ממפעיל למפעיל
המספר 054-123456 לדוגמא יכול להגיע למכשיר אחר כמספר:
054-123456
972-54-123456
123456 (בחלק מהמקומות במידה שאתה מנוי אצל אותו המפעיל הקידומת יורדת)
אם המכשיר היה בודק את כל המספר, אז היו לא מעט פעמים שהמכשיר לא היה מצליח בכלל לחבר את המספר לאיש הקשר אצלך (תאר לך ששמרת שם דווקא את המספר 972-54-123456). לכן עדיף "לפספס" את המקרה החריג מאוד בו יש לך שני אנשי קשר עם אותו מספר (למעט הקידומת) על לפספס הרבה יותר פעמים את החיבור לאיש קשר קיים
המספר 054-123456 לדוגמא יכול להגיע למכשיר אחר כמספר:
054-123456
972-54-123456
123456 (בחלק מהמקומות במידה שאתה מנוי אצל אותו המפעיל הקידומת יורדת)
אם המכשיר היה בודק את כל המספר, אז היו לא מעט פעמים שהמכשיר לא היה מצליח בכלל לחבר את המספר לאיש הקשר אצלך (תאר לך ששמרת שם דווקא את המספר 972-54-123456). לכן עדיף "לפספס" את המקרה החריג מאוד בו יש לך שני אנשי קשר עם אותו מספר (למעט הקידומת) על לפספס הרבה יותר פעמים את החיבור לאיש קשר קיים
- urik79
-
- חבר מביא חבר

- תגובות: 4321
- הצטרף: יוני 2007
- שם מלא: אורי
- מיקום: סביוני יאבוייה
אכן נתקלתי בעבר בתופעה הזו בסוני אריקסון W800i...
זה ממש עצבן אותי שם
זה ממש עצבן אותי שם
כל מה שרציתי כל מה שקניתי
כל מה שאספתי זה לא מספיק
כל מה ששמרתי כל מה שחמדתי
בסוף הבנתי זה לא מספיק
כל מה שאספתי זה לא מספיק
כל מה ששמרתי כל מה שחמדתי
בסוף הבנתי זה לא מספיק
- sam22
-
- חבר במועדון ה-20K

- תגובות: 20358
- הצטרף: נובמבר 2006
- מיקום: תל אביב
לדעתי, כמו שניתן למזג בין אנשי קשר ניתן גם להפריד.
העם דורש..... כל מיני דברים
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
הפתרון די פשוט: נותנים למשתמש advanced settings (שאומנם לא יעניין את הרוב) לקבוע כמה ספרות לבדוק, כלומר לשנות את ה7 ספרות ל9 או 10 ספרות.
בטח מישהו כבר עשה tweak כזה.
בטח מישהו כבר עשה tweak כזה.
משה
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
מסתבר שרבים מתלוננים על דברים דומים: http://code.google.com/p/android/issues/detail?id=8770
מעבר לכך, לגוגל יש ספרייה לטיפול בנושא, אז השאלה היא למה לא משתמשים בה , או שכן אך לא מאפשרים לקנפג פרמטרים עבורה: http://code.google.com/p/libphonenumber/
מעבר לכך, לגוגל יש ספרייה לטיפול בנושא, אז השאלה היא למה לא משתמשים בה , או שכן אך לא מאפשרים לקנפג פרמטרים עבורה: http://code.google.com/p/libphonenumber/
משה
- osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
הפתרון לא פשוט. אני מביא לכם דוגמא (ממכשיר אמיתי) של מספרי Caller ID (את המספרים עצמם כמובן ששיניתי):
541111111
1541111111+
1541111111
972541111111+
8001111111
0541111111
הדבר הראשון שמתבקש לשאול כאן הוא למה לא לבדוק קודם את כל המספר (עם הקידומת, עם הסיומת) ורק אח"כ, במידה ואין התאמה, לבדוק רק את X הספרות האחרונות (נניח 6). הסיבה לכך (אני מניח) קשורה לזמן החיפוש הארוך יותר שייגרם פה. אם יש לך 5000 אנשי קשר במכשיר, אז לכל מתקשר יש צורך:
1. לחפש Full Match לכל המספר. אם לא נמצא אז
2. לחפש partially match על חלק מהמספר (לדוגמא לחפש 97254111111 במקום 97254111111+), אם לא נמצא אז
3. לחפש Full Match למספר בלי "הקידומת"
-אגב, אין בעייה לעשות את זה בדיוק כמו שמקשרים אנשי קשר. ההבדל הוא ששם, זמן הביצוע הוא חשוב הרבה פחות
-אגב, נוסף, אני מניח שברור לכם שאנשי הקשר נשמרים בבסיס נתונים (ככה לפחות באנדרואיד וב iOS) על המכשיר. לדעתי האינדוקס של הטבלאות הוא רק על המספר החלקי (ולכן החיפוש הוא מהיר מאוד).
הדלקת אותי משה ולכן הלכתי לכמה חוקרים אצלי בחברה כדי לשאול אותם האם באמת יש פה בעיית אלגוריתם או שהסיפור פתיר ות'אמת הסיפור נראה פתיר, אפילו די בקלות. כחובב חידות אני אתן לך לחשוב על האלגוריתם המהיר לפתרון הבעייה (תוכל לשלוח את זה לסמסונג
)
541111111
1541111111+
1541111111
972541111111+
8001111111
0541111111
הדבר הראשון שמתבקש לשאול כאן הוא למה לא לבדוק קודם את כל המספר (עם הקידומת, עם הסיומת) ורק אח"כ, במידה ואין התאמה, לבדוק רק את X הספרות האחרונות (נניח 6). הסיבה לכך (אני מניח) קשורה לזמן החיפוש הארוך יותר שייגרם פה. אם יש לך 5000 אנשי קשר במכשיר, אז לכל מתקשר יש צורך:
1. לחפש Full Match לכל המספר. אם לא נמצא אז
2. לחפש partially match על חלק מהמספר (לדוגמא לחפש 97254111111 במקום 97254111111+), אם לא נמצא אז
3. לחפש Full Match למספר בלי "הקידומת"
-אגב, אין בעייה לעשות את זה בדיוק כמו שמקשרים אנשי קשר. ההבדל הוא ששם, זמן הביצוע הוא חשוב הרבה פחות
-אגב, נוסף, אני מניח שברור לכם שאנשי הקשר נשמרים בבסיס נתונים (ככה לפחות באנדרואיד וב iOS) על המכשיר. לדעתי האינדוקס של הטבלאות הוא רק על המספר החלקי (ולכן החיפוש הוא מהיר מאוד).
הדלקת אותי משה ולכן הלכתי לכמה חוקרים אצלי בחברה כדי לשאול אותם האם באמת יש פה בעיית אלגוריתם או שהסיפור פתיר ות'אמת הסיפור נראה פתיר, אפילו די בקלות. כחובב חידות אני אתן לך לחשוב על האלגוריתם המהיר לפתרון הבעייה (תוכל לשלוח את זה לסמסונג
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
הבנתי, אבל על זה נאמר Perfect is the enemy of the good.
כלומר, פתרון מושלם הוא אומנם בלתי אפשרי אם דורשים זמן חישוב מהיר מאוד, אבל מה שהצעתי נותן פתרון טוב ואפילו טוב מאוד.
למשל, אם בדוגמא שנתת אני אוכל לקבוע שמשתמשים ב9 ספרות (וכך יאנדקסו את בסיס הנתונים), אז אני מצליח בכל המספרים חוץ מה800. בעצם אני יכול להצליח גם שם אם אני רושם את מספר ה800 כמספר נוסף של אותו איש קשר.
כלומר, פתרון מושלם הוא אומנם בלתי אפשרי אם דורשים זמן חישוב מהיר מאוד, אבל מה שהצעתי נותן פתרון טוב ואפילו טוב מאוד.
למשל, אם בדוגמא שנתת אני אוכל לקבוע שמשתמשים ב9 ספרות (וכך יאנדקסו את בסיס הנתונים), אז אני מצליח בכל המספרים חוץ מה800. בעצם אני יכול להצליח גם שם אם אני רושם את מספר ה800 כמספר נוסף של אותו איש קשר.
משה
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
אגב, שים לב שאני לא ממש מציע לשנות אלגוריתם קיים. אני רק מציע לאפשר לתת למשתמש לשנות את פרמטר מספר הספרות שנראה שכרגע הוא חקוק בסלע.
משה
- osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
משה,
אם תקבע שמשתמשים נניח ב 9 ספרות אז אתה בבעיה. כי אז מה שיקרה הוא שהרבה פעמים ירשם לך רק המספר טלפון בלי השיוך שלו לשם שמופיע באנשי הקשר שלך. לדוגמא, נניח שרשמת שימוש ב 9 ספרות ובאנשי הקשר שלך רשמת את המספר הבא:
054-111111
אבל בפועל ה Caller ID שהגיע למכשיר הוא 111111 (כי נניח אתם באותה הרשת). זאת תהיה בעייה גדולה הרבה יותר מאשר הסיכוי שיש לך 2 אנשי קשר עם אותו מספר (מה גם שזה ידרוש ינדוקס מחדש כל פעם שאתה משנה את ההגדרה הזאת)
אם תקבע שמשתמשים נניח ב 9 ספרות אז אתה בבעיה. כי אז מה שיקרה הוא שהרבה פעמים ירשם לך רק המספר טלפון בלי השיוך שלו לשם שמופיע באנשי הקשר שלך. לדוגמא, נניח שרשמת שימוש ב 9 ספרות ובאנשי הקשר שלך רשמת את המספר הבא:
054-111111
אבל בפועל ה Caller ID שהגיע למכשיר הוא 111111 (כי נניח אתם באותה הרשת). זאת תהיה בעייה גדולה הרבה יותר מאשר הסיכוי שיש לך 2 אנשי קשר עם אותו מספר (מה גם שזה ידרוש ינדוקס מחדש כל פעם שאתה משנה את ההגדרה הזאת)
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
או. קי., אז אפשר לפתור את זה בשאילתה עם שני pass-ים, כשהשני קצרצר (משהו כמו multi-segment keys בלשון DB).
אני אומנם לא מתמצא במערכת הזו, אבל אני עדיין לא משתכנע שיש פה בעייה עקרונית, כלומר שנדרש זמן חישוב ארוך מהסביר, וכאמור, אני לא מחפש פתרון מושלם לכל מצב.
למה בנוקיה הישן לא הייתה לי בעייה כזו? מכשיר חלש בהמון מבחינת כוח חישוב ממכשיר האנדרויד הכי איטי שיש.
אני מהמר שזו פשוט בעייה לא נפוצה ואין הרבה תלונות, ולכן לא נמצאת בצמרת רשימת העדיפויות לתיקון.
אני אומנם לא מתמצא במערכת הזו, אבל אני עדיין לא משתכנע שיש פה בעייה עקרונית, כלומר שנדרש זמן חישוב ארוך מהסביר, וכאמור, אני לא מחפש פתרון מושלם לכל מצב.
למה בנוקיה הישן לא הייתה לי בעייה כזו? מכשיר חלש בהמון מבחינת כוח חישוב ממכשיר האנדרויד הכי איטי שיש.
אני מהמר שזו פשוט בעייה לא נפוצה ואין הרבה תלונות, ולכן לא נמצאת בצמרת רשימת העדיפויות לתיקון.
משה
- osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
הפתרון הוא מאוד פשוט.
ב pass הראשון אתה שולף מבסיס הנתונים את כל המספרים שיש להם match מלא למספר המאונקס (ללא הסיומת)=פעולה מהירה מאוד
במקרה ויש לך יותר ממספר אחד (מקרה חריג מאוד), אז אתה נכנס לבדיקה נוספת בה אתה בוחן מי מהמספרים ששלפת הוא הקרוב ביותר ל Caller ID שהגיע =פעולה מהירה מאוד
אולי זאת גם הסיבה שבחלק מהמכשירים זה כן עובד בצורה תקינה
ב pass הראשון אתה שולף מבסיס הנתונים את כל המספרים שיש להם match מלא למספר המאונקס (ללא הסיומת)=פעולה מהירה מאוד
במקרה ויש לך יותר ממספר אחד (מקרה חריג מאוד), אז אתה נכנס לבדיקה נוספת בה אתה בוחן מי מהמספרים ששלפת הוא הקרוב ביותר ל Caller ID שהגיע =פעולה מהירה מאוד
אולי זאת גם הסיבה שבחלק מהמכשירים זה כן עובד בצורה תקינה
-
moco
-
- גורו

- תגובות: 20598
- הצטרף: דצמבר 2004
זה בדיוק מה שכתבתי 
משה
- osherov
-
- גורו Android

- תגובות: 15029
- הצטרף: אפריל 2007
-
moco
-
- גורו

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