שני דברים על סדר היום לגבי פיירפוקס

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

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

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

אחרי שיטות קצר וקריאת כמה פוסטים של אחרים, החלטתי לנסות להשתמש בפורמט התמונות של גוגל, ה-WebP. הפורמט שנבנה ב-4 שנים האחרונות מציג תוצאות מאוד מרשימות בהשווה ל-JPG ו-PNG, עם חסכון שנע בין 40-70% (ולעיתים יותר, במיוחד בתמונות קטנות כמו אייקונים וכו'). לקחתי את קבצי ה-PNG והמרתי ל-WebP. ירד ב-60%. לפנות בוקר ניסיתי עם סטודנט אחר שאשף בכל הקשור לסקריפטים של פוטושופ להמיר ישירות מ-PSD ל-WebP והדחיסה היתה יותר מרשימה – 72%.

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

קצת רקע על קוד פתוח ופוליטיקה: ישנם לא מעט פרוייקטים בקוד פתוח שמתנהלים בצורה גרועה בגלל החלטות פוליטיות או החלטות מוזרות שקבוצה מסויימת מכתיבה על התפתחות הפרויקט. קחו את GNOME-3 לדוגמא – המעצבים החליטו שיותר לא תהיה אפשרות לזרוק על הדסקטופ קיצורי דרך. (ולפני שיקטלו אותי, גם ב-KDE יש שטויות – שימו אייקונים על הדסקטופ, עכשיו נסו להזיז אותם…). יש מקרים יותר גרועים של פוליטיקה כמובן, כמו כל עניין GNOME מול KDE, אבל לא ניכנס לזה (בפעם ה-2349824) שוב.

פורמט ה-WebP נבנה ע"י גוגל (ליתר דיוק ע"י On2 שניקנו ע"י גוגל) כדי לפתור בעיות שיש עם PNG ועם JPG. הבעיות מבחינת PNG ו-JPG הם גודלי הקבצים והבעיות ספציפית עם JPG זה שהדחיסה שלו גרועה, אין אפשרות לתמונה עם שקיפות (transparency), ובכלל פורמט JPG די ישן. גוגל החלו להוציא את WebP שהיה בהתחלה טוב רק לקבצים קטנים עד בינוניים והראה שיפור ענק בדחיסה אך יחד עם זאת האיכות נשמרה בצורה מעולה. ככל שהפורמט השתפר במהלך הזמן, חברות כמו Facebook וספקי CDN החלו לשים לב יותר לפורמט הזה שמאפשר דחיסה מאסיבית אך עם שמירה על איכות – ואימצו אותו בחום. כיום ספקים רבים (וגם Facebook) שומרים תמונות ב-WebP וממירים לפי הצורך בהתאם לדפדפן.

בחזרה לפיירפוקס: לדפדפן הנחמד הזה כיום לאחר 4 שנים מאז ש-WebP יצא – עדיין אין תמיכה לפורמט. מישהו היה עצלן מדי לכתוב את הקוד? לפי באג 600919 (שניתן לראות כאן מהערה 26) מישהו כבר תרם קוד. גם הסטארט אפ הישראלי Everything.me (תודה לשי אלקין מאותו סטארט-אפ) תרם קוד לפיירפוקס לתמיכה ב-WebP אך המהנדסים במוזילה החליטו שלא להכניס את הקוד מסיבות שונות. בהתחלה טענו שזה צעיר מדי והפורמט עדיין לא גמור, אחר כך עברו לסיבות אחרות והבאג הזה נסגר ונפתח מחדש כ-856375. דיונים, שוב תרומות קוד ו… כלום. נכון להיום, מאי 2014 – כ-4 שנים אחרי ש-WebP לא רק שהתבגר אלא שהוא כבר בשימוש, לפיירפוקס עדיין אין תמיכה ב-WebP מה שמאלץ מפתחים להשתמש בספריה כמו webpjs כדי לגרום לדפדפן להציג תמונה (נעשית המרה on the fly כדי להציג את הפלט) בפורמט WebP.

דפדפנים כמו כרום (כמובן) ו-Opera כבר כוללים את התמיכה. אקספלורר אינו כולל את התמיכה מכיוון שמיקרוסופט השתמשה בפורמט פתוח שהיא בנתה שנקרא JPEG-XR והיא שחררה לפני כשנה ספריה בקוד פתוח (תחת רשיון BSD) לתמיכה ב-JPEG-XR. כיום, חוץ מאקספלורר, אף דפדפן לא תומך בפורמט הנ"ל. האם הוא יותר טוב מ-WebP? לפי מהנדס במוזילה שבדק את הנושא, התשובה החד משמעית היא לא כפי שניתן לראות כאן. פלא שאף דפדפן לא תומך ב-JPEG-XR? למי שמעוניין לדעת, הפורמט הכי טוב לדחיסת תמונה ועדיין לשמור על איכות מעולה הוא מקודד HEVC-MSP שאותו אני בטוח שמוזילה לא יכניסו בקרוב, הואיל והוא "עמוס" בפטנטים.

ההתנהגות הזו של מהנדסי מוזילה חוזרת על עצמה. הפעם הקודמת הבולטת שזה קרה היתה בתמיכה בקידוד וידאו H.264. כל דפדפן תמך בזה חוץ מפיירפוקס. גם הבטחה (שניתנה מאחורי הקלעים) מ-MPEG-LA (הגוף שאחראי על הפטנטים הקשורים לוידאו) למוזילה שהם לא יתבעו אותם לא עזרה, עד שבאוקטובר בשנה שעברה החליטו בפיירפוקס לתמוך ב-H.264, איחור של 4 שנים. אסייג את דברי בנקודה אחת: מוזילה יודעים כשהם רוצים להטמיע קידוד מהר מאוד. מקודד ה-Opus (קידוד אודיו מצוין שכתוב בקוד פתוח שמתאים לשיחות אודיו/וידאו) קיבל תמיכה כבר בגירסה 15.

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

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

יש רק בעיה אחת עם זה. אתם יודעים, גולשים שרוצים לראות HULU או Netflix או Amazon Prime. כיום כל השרותים הנ"ל משתמשים ב-Flash או Silverlight וכך מוזילה נהנתה מ-2 העולמות (ספציפית במק ו-Windows). היא תמיכה בתוספים האלו שירוצו בתוך Firefox מבלי להוסיף קוד לתמיכה ב-DRM. (בלינוקס עם Firefox אפשר להשתמש ב-Pipelight כדי להשתמש בפלאש גירסה 13.2 ו-Silverlight 5.1 ועוד כמה תוספים שקיימים רק ל-Windows).

העניין הוא שכל אותן חברות וחברות מדיה אחרות, נמאס לתמוך ב-Flash ובמיוחד ב-Silverlight (בכל זאת צריך לתמוך במשתמש שהתוסף פתאום נתקע לו והוא לא רואה סרטים..) וכל החברות כבר רוצות לעבור לוידאו שנתמך ב-HTML5, אבל בשום פנים ואופן הן לא תשתמשנה בכך מבלי שתהיה תמיכת DRM כדי שהמשתמשים לא "יקליטו" את המדיה (לא חשוב שהטורנטים נותנים איכות הרבה יותר גבוהה). גם מיקרוסופט וגם גוגל הכניסו בדפדפנים שלהם את התמיכה בתוסף EME (עליו אפשר לקרוא בהרחבה כאן) כך שיש להם באופן "טבעי" תמיכה ב-DRM.

אבל במוזילה אין והפעם אי אפשר להסתמך על תוסף כמו Flash או Silverlight. אז מה שמוזילה החליטו הוא משהו מעניין: הם הודיעו שהם "כן" תומכים ב-EME, מה שמיד הוביל עיתונות טכנולוגית לפרסם מאמרים כמו זה לדוגמא.

האם זה נכון? רק חלק קטן מזה נכון. כשאתם תורידו גירסה חדשה של Firefox לא יהיה שם DRM בכלל. מה שכן, ברגע שתנסו לנגן תוכן מוגן (בשרותים שמציעים סרטים וכו'), הדפדפן שלכם יפנה אוטומטית ל-Adobe ואתם תתבקשו לאשר התקנת תוסף מיוחד שמוסיף תמיכת DRM לדפדפן שלכם, כך שמבחינת מוזילה, רשמית ופרקטית אין שום קוד בדפדפן עצמו של DRM. כל מה שיש זה קוד להפניה והתקנת תוסף מיוחד. זה הכל. מוזילה עדיין מתנגדים ל-DRM והם הוסיפו את הקוד רק כדי שהמשתמשים לא יחליפו דפדפן בשביל לצפות בסרטים/סדרות האהובים עליהם שמוגנים ב-DRM.

אחזור לנקודת שימוש שלי ב-Firefox: הוא דפדפן טוב, אך הוא מתקדם בצורה מאוד איטית. נכון, יש לו המון תוספים, אך הבעיה היא עדיין ששיטת ה-Plugins שלו ישנה מאוד (NPAPI). כמה ישנה? מאז נטסקייפ 2.0! כרום עבר להשתמש ב-Pepper (מוכר גם כ-PAPPI) לתוספים, מה שמאפשר להכניס אותם בצורה הרבה יותר בטוחה ל-Sandbox כך שאם יש פירצה לדוגמא בתוסף Flash, המקסימום שהוא יכול להזיק זה בתוך אותו TAB שהוא רץ. לא יותר טוב. שוב, מוזילה לא מעוניינים ב-PAPPI "בשלב זה", וגוגל הכריזו שהם בקרוב חוסמים ומורידים את תמיכת ה-NPAPI בדפדפן שלהם. תנחשו מה יצרני תוספים יעשו? יתמכו ב-PAPPI כי כרום עכשיו שולט בשוק הדפדפנים (תסתכלו כאן) ושוב במוזילה ירוצו לממש משהו שכבר כולם זועקים שיממשו (באג 729481 בשבילכם). אגב, למשתמשי לינוקס עם פיירפוקס ו-Flash: הגירסה האחרונה שקיימת ל-Firefox היא … 11.2 (שכבר לא כוללת תמיכה ב-Streaming באתרי וידאו רבים) כי החל מאותה גירסה, אדובי כבר לא תומכת יותר ב-NPAPI. משתמשי כרום מקבלים את Flash 12 (בקרוב 13).