ארכיון תגיות: ג'אווה

מסך חסימת תוספים חיצוניים ב־Firefox 14

חסימת טעינת תוספים חיצוניים בפיירפוקס

כשחברת Apple התחילה להכניס מכשירי ניידים מתקדמים מבוססי iOS לפני שנים ספורות היא לקחה החלטה עקרונית ומנעה שימוש ביישומים מבוססי Adobe Flash מפעולה במכשירים שלה. כשנשאלה לפשר הדבר נטען כי שימוש ביישומי פלאש משפיע על הביצועים של המכשיר הזעיר.

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

באמצע שנות התשעים של המאה הקודמת הגלישה ברשת כבר הייתה פעולה נפוצה, אבל מעטים אתרי האינטרנט בהם הופיעו תכונות אינטראקטיביות. אפשר לזקוף זאת לעובדה כי השימוש בשפת התסריטים ברשת המשמשת אותנו כיום, JavaScript, הייתה אז רק בחיתוליה, ולא זאת בלבד אלא שגם התאימות בין הדפדפנים השונים כמעט ולא הייתה קיימת בכל הקשור לטכנולוגיות דוגמת DOM ו־JavaScript. את החלל הזה מילאה שפת תכנות בשם Java של חברת Sun (כיום בבעלות Oracle), שאפשרה הרצה של יישומונים (Applets) ושילובם בתוך דף האינטרנט. לאור זמני הטעינה הארוכים של Java והעומס שהרצה של יישומים בסביבה זו על המחשבים של אותה התקופה, המפתחים התחילו לחפש פתרונות שונים, שיאפשרו להם לשלב תוכן אינטראקטיבי בתוך חלון הדפדפן.

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

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

מסך החסימה המופיע במקום תוכן פלאש באמצעות ההרחבה FlashBlock

מסך החסימה המופיע במקום תוכן פלאש באמצעות ההרחבה FlashBlock

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

בשנים האחרונות חווה שוק המכשירים הזעירים מהפכה. כניסתה של חברת Apple לתחום זה, כמו גם ההופעה של מכשירים מבוססי Android ונסיונותיה של חברת Microsoft להישאר רלוונטית עם מערכות Windows CE/Windows Mobile/Windows Phone כל אלו סייעו להפיכתו של שוק המכשירים הזעירים לשוק המתפתח באופן מהיר. על החלטתה העקרונית של Apple לדחוק הצידה את פלאש כתבתי למעלה, ובאותו הזמן במכשירים מבוססי Android אמנם לא נמנעה הכניסה של Adobe Flash Player, אבל התמיכה בו הייתה מוגבלת. בחלק מהדפדפנים בסביבת Android ישנה תמיכה בפלאש, באחרים לא, בעוד במכשירים מבוססי iOS פלאש אמנם נחסם באופן גורף, אבל ישנם כל מיני מעקפים המאפשרים בכל זאת לצפות בתוכן מבוסס פלאש.

הפעלת תוספים חיצוניים באופן סלקטיבי עם Firefox 14 על מכשירי Android

הפעלת תוספים חיצוניים באופן סלקטיבי עם Firefox 14 על מכשירי Android

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

לפני מספר שבועות יצאה גרסה חדשה של Firefox ל־Android. אם ניסיתם את Firefox על Android בעבר והתאכזבתם, אני ממליץ מאד לנסות אותו שוב – הדפדפן זכה לשיפורים רבים ונחשב כיום למהיר מדפדפנים אחרים הקיימים בסביבה זו, והשינוי שרלוונטי לרשומה זו הוא האפשרות להגדיר שתוספים חיצוניים יוצגו רק כאשר המשתמש יאשר זאת. ניתן להגדיר את האפשרות הזו ממסך ההגדרות של הדפדפן Settings → Plugins → Tap to play.

ומהנייד חזרה למחשב – העדכון האחרון של Firefox בגרסתו ל־Windows/Mac/Linux כולל את התכונה הזו ממש, עם שינויים קלים שיהפכו אותה למתאימה יותר למחשב הנייח. בשלב זה היא אינה מופעלת כברירת מחדל וגם אין ממשק גרפי עבורה, אבל ניתן לבחון ולהשתמש בה כבר עתה, כדי להנות מחווית גלישה יעילה יותר. כדי לעשות זאת יש להיכנס לדף about:config ולשנות את ערכה של ההעדפה plugins.click_to_play ל־true. לאחר שיבוצע השינוי, שימוש בהרחבה FlashBlock אינו נחוץ יותר (כן, אפשר לנטרל אותו או להסירו לחלוטין), וניתן יהיה להשתמש בתכונה המובנת בדפדפן כדי לקבוע בדיוק כיצד ומתי יטענו יישומי פלאש בדפדפן. נסו להיכנס לאתר "כבד" דוגמת ynet או כלכליסט ותבחינו כי הדף נטען מעתה הרבה יותר מהר!

מסך חסימת תוספים חיצוניים ב־Firefox 14

מסך חסימת תוספים חיצוניים ב־Firefox 14

מסך חסימת תוספים חיצוניים ב־Firefox 15

מסך חסימת תוספים חיצוניים ב־Firefox 15

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

חשוב לזכור: עצם העובדה שאנחנו חוסמים את השימוש בתוספים חיצוניים אין בה כדי לראות כי אנו, המשתמשים, מעוניינים בצורה כלשהי למנוע מיצרני התוכן שילוב פרסומות בדף או על אופיין של אותן הפרסומות, אבל יש בה כדי להביע את דעתנו כנגד שימוש בפתרונות שמכבידים על אופן הגלישה שלנו. אם אותם יצרני תוכן יממשו את הפרסומות כתמונות סטטיות, אנימציות פשוטות או אפילו שימוש ביכולות המתקדמות של טכנולוגיות הרשת הקיימות (כגון HTML/JavaScript/CSS/DOM) והחדשות (כגון HTML5/Canvas/WebGL וכו'), לא רק שאנחנו לא נחסום אותן אוטומטית כפי שאנו יכולים לעשות כיום עם תוספים חיצוניים דוגמת פלאש, אלא שהן גם תוצגנה על המחשב שלנו תוך התחשבות רבה יותר בביצועי המעבד והדפדפן, ויוכלו להתאים את עצמן לגודל המסך כאשר מדובר במכשירים חכמים זעירים.

הפעלת תוספים חיצוניים ברמת האתר (Firefox 14)

הפעלת תוספים חיצוניים ברמת האתר