קטגוריה: Internet Explorer

אל תתנו להם לחוקק חוקים – חוק הנגשת אתרים

"The more corrupt the state, the more numerous the laws." — Tacitus

הקדמה

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

רק כאשר מספר מקומות הבינו כי למרות שדפדפנים כדוגמת Firefox מהווים פחות מ5% מהתעבורה, אבל מהווים 90% מכוח הקנייה, שראינו שינוי מגמה.
פתאום אתרים התחילו להיות מונגשים לFirefox תחילה, היות והוא זה שהכניס כסף. אבל בשביל להיות תואם Firefox, כל מה שצריך זה לפתח לפי תקנים (תודה מוזילה), ולכן למעט באגים של הדפדפן, אם אתה כותב לפי התקן, תיאורטית זה אמור לעבוד עבור כולם.
בנתיים גם השימוש ב data עבור הסלולר גדל, ודפדפן Opera Mini תפס, וגם החברה הזו בחרה לעבוד עם תקנים, וראו איזה פלא, לא צריך לשכתב דברים (למעט התאמה לסוג תצוגה).

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

כיום למעט 2 דפדפנים עיקריים, מרבית הדפדפנים מבוססים על אותו בסיס (אשר משתנה לאט לאט שוב), בשם Webkit, אשר התחיל בכלל את דרכו כ KHTML עבור פרוייקט KDE כדפדפן בשם Konqueror.

למרבה הצער, כיום רק אתרים כדוגמת בנק הפועלים ואתרי הממשלה אינם באמת תומכים במשהו שהוא לא Internet Explorer. בבנק הפועלים בחשבון עסקי, אתה חייב שהוא יהיה 32 ביט. בעוד שבאתרי ממשלה שונים, אתה חייב ש IE יהיה גרסה 6.

העיקר להמשיך לקרוא

בין IE ל Firefox

אתמול יצא לי לראות משהו מאוד מעניין. מחשב שלא היה בחשמל הרבה זמן, והסוללת BIOS שלו כבר לא מתפקדת הודלק, ועלה הWindows שהיה על המחשב, והשתמשו ב IE8 בשביל לגלוש לGmail.
ואז הגיעה ההפתעה: יש הודעה שמשהו לא תקין בתעודת הצפנה, אבל הכל המשיך כמו שצריך למרות זאת.

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

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

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

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

כך שהאם אתם באמת מוכנים לסמוך על הדפדפן הזה ?

עבודה עם ActiveRecord בסינטרה

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

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

אז לאחרונה התבקשתי לבנות מערכת כזו, והיא לצערי גם חייבת לעבוד מול מסד נתונים (בחרתי את PostgreSQL, הרי לא הגיוני לבחור את MySQL לשום דבר, גם ככה היו לי מיליארד בעיות עם Foreign Key איתו כאשר כן ניסיתי לתכנן את המערכת, והוא לא אמין בשום צורה גם ככה במידע שהוא שומר), וכמובן שאלך על רובי וסינטרה לגודל כזה "גדול" של מערכת (2.5 מסכים), וכמובן במקום להשתמש בSQL נקי (עוד עושים את זה כיום ?), אני משתמש בORM, אשר לאחר בדיקה של 3 מהם ברובי, הגעתי להבנה כי ActiveRecord הוא הכי נורמאלי מכולם (למרות שגם לו יש הרבה חסרונות שגיליתי).

להמשיך לקרוא

ככה מפסידים לקוח

שיחה עם אל-עלאני מתכנן לצאת לחופשה לאחר כמה שנים שלא יצאתי לאחת. החלטתי להישאר בישראל ולרדת לאילת הרחוקה.

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

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

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

בנתיים ישראייר היחידים שעבדו אצלי בלי בעיות ולצערי הם בעך פי 2 מאל-במחיר במועדים שאני מעוניין בהם. מעניין במה אבחר בסוף…

האם הבראוזר באמת חשוב ?

לאחרונה מיקרוסופט יצאו בהכרזה חדשה בה הם הולכים להוציא את Internet Explorer 9.

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

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

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

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

זמן הפיתוח של אתרי אינטרנט

כשהייתי בגיל העשרה אדם אשר ידע לתכנת (לבנות תוכנות) בגילי, נחשב ל"גאון מחשבים". כיום כל ילד אשר יודע לעשות copy paste מול תוכנה ששומרת לך את התוצאה בתור HTML מוגדר כעילוי (לפחות ע"י אנשים אשר לא מבינים).

אז חשבתם פעם מה נדרש בשביל לבנות אתר אינטרנט ?

ובכן, אתר אינטרנט המכיל דף סטטי, מאוד פשוט לבנייה כאשר משתמשים בHTML3.2, אבל כאשר משתמשים ב CSS וxhtml הדברים מתחילים להראות טיפה יותר מסובכים.

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

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

הרבה יותר זול ומהיר לפתח אתר אינטרנט שירוץ על הדפדפנים Firefox, Opera, Konqueror/Safai מאשר אתר שיתאים את עצמו לכל גרסאות ה IE.

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