Internet Explorer 9: Θα ξαναμπεί η Microsoft γερά στο παιχνίδι των browsers;

Αν και έχουν περάσει κάποιες μέρες από την επίσημη ανακοίνωση του καινούργιου Internet Explorer (από τον general manager του project, Dean Hachamovitch), είπα να περιμένω λίγο καιρό μπας και δούμε και κάποια alpha ή μας ανακοινώσουν κι άλλα χαρακτηριστικά. Δυστυχώς μέχρι στιγμής δεν έχουμε κάτι νεότερο, και επειδή δεν βλέπω να έχουμε και κάτι νεότερο σύντομα, είπα να postάρω την άποψη μου στο μεγάλο θέμα IE.

Γενικά η Microsoft δεν μας ανακοινώνει τίποτα περίεργο πέρα από τα κλασικά, όπως καλύτερες επιδόσεις σε Javascript (βελτιωμένη Javascript engine), υποστήριξη κάποιων selector και κανόνων CSS3, γρηγορότερο rendering κτλ. Αυτό που με χαροποιεί όμως, είναι πως η Microsoft ξύπνησε επιτέλους και αναβαθμίζει συχνά τον browser της προσπαθώντας ταυτόχρονα να τον κρατήσει ανταγωνιστικό (μην ξεχνάμε πως ο IE8 κυκλοφόρησε επίσημα μόλις τον Μάρτη του 2009)! Αυτό το γεγονός θα δώσει νέα πνοή και στο web μιας και πιστεύω πως θα ξεκολλήσουμε σύντομα από τον Internet Explorer 6 (και 7), και θα δημιουργηθούν σιγά-σιγά ακόμα πιο πολύπλοκες και εντυπωσιακές web εφαρμογές…

Φυσικά πολλοί ήταν αυτοί που παραπονέθηκαν στο IEblog πως δεν έκαναν λόγο για HTML5 κτλ. κτλ. αλλά πιστεύω πως είναι πολύ νωρίς ακόμα για να σχολιάζουμε αρνητικά κάτι που δεν έχουμε δει καν. Και μόνο που ανακοίνωσαν την επόμενη έκδοση του browser που με ταλαιπωρεί όσο κανένας άλλος στην δουλειά μου νιώθω ευχαριστημένος. Άντε μπας και ξεκολλήσουν κάποιοι και από τον 6!

Έτοιμος ο Internet Explorer 8!

Ο Internet Explorer 8 είναι επιτέλους έτοιμος. Από μια πρώτη ματιά που έριξα στα χαρακτηριστικά του, μέσω των video και του tour, μιας και δεν τον κατέβασα ακόμα, φαίνεται αρκετά καλός (καλά δεν θα γίνει και ο default browser μου, ωστόσο όσοι χρησιμοποιούν IE θα δουν μεγάλη διαφορά). Το web slices φαίνεται έξυπνο χαρακτηριστικό, ωστόσο οι άλλοι browser έχουν προχωρήσει έτη φωτός μπροστά με τα διάφορα plugins/add ons που έχουν, αλλά όπως και να το κάνουμε, τέτοια χαρακτηριστικά είναι πρωτόγνωρα για τους χρήστες  IE! Τέλος ο καινούργιος IE υποτίθεται πως είναι και πολύ πιο ασφαλής, μέχρι τουλάχιστον να ανακαλυφθούν οι πρώτες “τρύπες” του…

Για τους developers τώρα, ο IE 8 θα είναι ο πιο compatible IE που έχει εμφανιστεί μιας και θα υποστιρίζει πλήρως το CSS 2.1 (επιτέλους!), δεν θα υπάρχει το χαζό hasLayout, ενώ θα λυθούν και άλλα προβλήματα συμβατότητας με τα web standards. Αρκετοί είναι και αυτοί που ελπίζουν πως ο IE 8 θα δώσει επιτέλους τέλος στον IE 6, κάτι που προσωπικά δεν το βλέπω. Όπως και να το δει κανείς είναι μια αξιόλογη αναβάθμηση και για τους απλούς χρήστες αλλά και για τους developers.

Yahoo BrowserPlus

Το Yahoo BrowserPlus είναι ένα browser plug-in το οποίο μπορεί να εγκατασταθεί στα περισσότερα λειτουργικά (XP, Vista, OS X Tiger και Leopard) και browsers (IE 6 – 7, FF 2 -3, Safari 3 και σύντομα Chrome), και να προσφέρει πολλά νέα εργαλεία τόσο στους developers όσο και στους τελικούς χρήστες που διαθέτουν το συγκεκριμένο plug in. Είναι με λίγα λόγια κάτι σαν το Google Gears, το οποίο εστιάζει περισσότερο στο UI (user interface) επίπεδο και όχι τόσο σε off-line και database δυνατότητες.

Καλή κίνηση από την Yahoo! αλλά μάλλον σε λάθος χρόνο. Προσωπικά πιστεύω πως δεν θα καταφέρει και πολλά πράγματα…

Κάντε τον Internet Explorer 6 να συμπεριφέρεται σαν Internet Explorer 7!

Ο Stefan Vervoort είχε μια πολύ καλή ιδέα την οποία υλοποίησε κι όλας! Απλά είχε βαρεθεί την (προβληματική;) Javascript μηχανή του IE6 και αποφάσισε να την αναβαθμίσει σε αυτή του IE7! Το μόνο που χρειάζεται να κάνει κάποιος είναι να κατεβάσει ένα Javascript αρχείο, το οποίο περιέχει όλον το απαραίτητο κώδικα έτσι ώστε ο IE6 να συμπεριφέρεται σαν IE7. Εάν ο IE6 σας κάνει νερά στην Javascript, ενώ σε IE7 τα πάντα λειτουργούν άψογα, χρησιμοποιείστε το συγκεκριμένο custom upgrade και γλιτώστε όλη την extra δουλειά!

Google Chrome : Μια πιο τεχνολογική ματιά

Δοκίμασα και εγώ τον νέο open-source browser της Google, τον Chrome, και προσωπικά με εντυπωσίασε! Ακόμα και στην beta έκδοση, ο Chrome είναι πάρα πολύ γρήγορος, κάτι που έπρεπε να δω με τα ίδια μου τα μάτια, μιας και δεν πιστεύω ποτέ ούτε τα fanboys, ούτε τις υπερβολές των επίσημων κατασκευαστών. Δεν θα μπω στο τρυπάκι του να (αντι)γράψω για μια ακόμα φορά τα χαρακτηριστικά του, τα οποία είναι πραγματικά πολλά και αξιόλογα (δείτε και τα video που τα παρουσιάζουν, είναι πολύ μικρά και αξιόλογα), ωστόσο θα σταθώ σε μερικά σημεία που θα απασχολήσουν στο μέλλον τους πιο έμπειρους χρήστες και επαγγελματίες.

Το πρώτο και σημαντικότερο είναι πως ο Chrome χρησιμοποιεί το Webkit για μηχανή rendering. Προς το παρών η Google δηλώνει πως όποιο site εμφανίζεται σωστά σε Safari (ο οποίος στηρίζεται και αυτός στο Webkit) θα εμφανίζεται σωστά και στον Chrome. Με λίγα λόγια αυτήν την στιγμή οι δύο browsers έχουν κατά κάποιον τρόπο “συμβατή” version του Webkit, ωστόσο κανείς δεν ξέρει εάν η Google ή η Apple θα κρατήσουν αυτήν την συμβατότητα…

Το δεύτερο σημαντικό στοιχείο του browser είναι η ολοκαίνουργια Javascript engine που χρησιμοποιεί, η V8! Πραγματικά δείχνει πολύ γρήγορη, ενώ περνάει και με 100% επιτυχία το ACID2 test (στο 3 θέλει λίγο δουλειά ακόμα). Γενικά πιστεύω πως η αγορά χρειαζόταν μια καινούργια και γρήγορη Javascript engine, ενώ το γεγονός ότι και αυτή είναι open source την κάνει ακόμα πιο σημαντική.

Ένα άλλο σημείο που κάνει τον Chrome να ξεχωρίζει από τους άλλους browsers, είναι η ενσωμάτωση του Google Gears μέσα στον ίδιο τον browser (δεν χρειάζεται να εγκαταστήσετε κάποιο plug in). Αυτό αλλάζει πολλά δεδομένα για τους developers που θέλουν να αναπτύξουν εφαρμογές με επιπλέον δυνατότητες, πέρα από τις κλασικές τεχνολογίες. Μιλάμε για φοβερές δυνατότητες όπως local server μέσα στον browser (ο browser με λίγα λόγια θα είναι και client και server !!!), local database/SQLite και πολλά άλλα καλούδια!!! Σκεφτείτε πόσα επιπλέον features μπορεί να αποκτήσει οποιοδήποτε site/web application, γνωρίζοντας πως οι χρήστες του χρησιμοποιούν τον συγκεκριμένο browser!

Αν και δεν σχολιάστηκε όσο θα έπρεπε, ο Chrome χτυπάει, και μάλιστα πολύ δυνατά, άλλο ένα προϊόν της Mozilla – πέρα του Firefox – το Mozilla Prism (είχα γράψει και παλιότερα γι αυτό). Με μία κίνηση λοιπόν μπορείτε να δημιουργήσετε application shortcuts (έτσι τα ονομάζει τουλάχιστον), τα οποία με την βοήθεια του browser και των χαρακτηριστικών του (Gears, κτλ.) μπορούν να λειτουργήσουν σαν RIA εφαρμογές! Ακριβώς ότι κάνει το Prism με την Gecko rendering engine, μόνο που όλα γίνονται πιο εύκολα και γρήγορα!

Τέλος, για εμάς τους developers, ο Chrome διαθέτει 2 πολύ ενδιαφέροντα εγαλειάκια, το Web Inspector και το JavaScript Debugger (έχω την αίσθηση πως είναι τα κλασικά web tools έρχονται με το Webkit), αλλά τίποτα παραπάνω προς το παρόν (ξεχάστε το Firebug δηλαδή)… Είναι πολύ νωρίς ακόμα για να ζητάω add-ons, ιδιαίτερα τέτοιου επιπέδου, ωστόσο έχω την αίσθηση πως θα φτιαχτούν γρήγορα πολλά και ποιοτικά add-ons για τον browser. Μην ξεχνάτε πως τα πάντα είναι open source! Τα πιο ανήσυχα μυαλά μπορούν να ρίξουν και μια ματιά στο επίσημο FAQ των web developers το οποίο θα τους λύσει αρκετές απορίες για τον browser και τις παραξενιές του.

Μετά από μία ολόκληρη μέρα με τον Chrome λοιπόν, δηλώνω fan του στο κομμάτι του browsing, ωστόσο μερικά add-on του Firefox (Firebug, FireShot, Web Developer Bar, Delicious Bookmarks και διάφορα άλλα μικρότερης σημασίας), με αναγκάζουν να κρατάω τον Firefox ως default browser. Θα περιμένω λοιπόν ακόμα να δω τι add ons θα δημιουργηθούν για τον νέο browser, και θα ξανασκεφτώ σοβαρά το θέμα switching, ωστόσο εάν ψάχνεται έναν γρήγορο browser μόνο για surfing, κατεβάστε και χρησιμοποιήστε άφοβα τον Chrome!

Η Microsoft ξανασκέφτεται τo version targeting στον IE8

Επιτέλους η Microsoft δείχνει να ακούει την web κοινότητα, και ανακοινώνει στο επίσημο blog του ΙΕ8 πως η default rendering engine του καινούργιου Explorer θα είναι η νέα web-standard compliant rendering engine (και όχι αυτή του IE7)! Φυσικά έχει επικρατήσει πανικός σε όλα τα web design blogs μιας και το θέμα version targeting έδειχνε να έχει κλείσει, αλλά ευτυχώς για όλους εμάς κάποιοι το ξανασκέφτηκαν… Η παραπάνω επίσημη ανακοίνωση σημαίνει πως :

  • Οι web designers/developers δεν θα χρειάζεται να προσθέσουν το γνωστό meta element για να χρησιμοποιηθεί η καινούργια και πολλά υποσχόμενη rendering μηχανή του IE8. Σε αυτό το σημείο να υπενθυμίσω πως η rendering engine του ΙΕ8 έχει περάσει και το γνωστό Aicd 2 test που σημαίνει πως ο IE8 θα είναι πραγματικά web-standards compliant!!!
  • Οι web designers/developers που θα θέλουν να χρησιμοποιήσουν την παλιότερη μηχανή rendering του IE7, θα πρέπει να προσθέσουν στον head section του site τους το γνωστό πλέον meta element. Ακριβώς αυτήν την άποψη είχα από την αρχή στο όλο θέμα, και πραγματικά απορώ γιατί δεν το σκέφτηκαν νωρίτερα!!!

Προσωπικά είμαι 100% σύμφωνος με την εξέλιξη της υπόθεσης και πραγματικά χαίρομαι που η Microsoft ξανασκέφτηκε το όλο θέμα. Μόνο καλό στον χώρο του internet μπορεί να κάνει αυτή η κίνηση μιας και ο διασημότερος browser θα είναι επιτέλους, και για πρώτη φορά, web-standards compliant! Η Microsoft μας χρωστούσε εδώ και καιρό έναν αξιόλογο web browser και επιτέλους θα τον έχουμε!

IE 8 beta και οι προτάσεις του Web Standards Project

Η πρώτη κλειστή beta του Internet Explorer 8 έκανε την εμφάνιση της και όπως όλα δείχνουν ο νέος browser θα είναι σύντομα κοντά μας. Η Microsoft φαίνεται να έμαθε το μάθημα της και δεν ρισκάρει να καθυστερήσει πλέον τις νέες εκδόσεις του browser της (όπως είχε κάνει με τον IE7 ο οποίος κυκλοφόρησε μετά από 6-7 χρόνια από τον 6!!!). Κατά τα άλλα, οι προτάσεις του Web Standards Project πάνω στο θέμα είναι αρκετά ενδιαφέρουσες, ωστόσο συμφωνώ προς το παρόν με τις 2 τελευταίες :

  • Προτείνουν στην Microsoft να δημιουργήσει ένα patch για τον IIS με το οποίο τα site που φιλοξενούνται στον εν λόγω server να κάνουν “targeting” στην ΙΕ7 rendering engine (έτσι ώστε να μην “χαλάσουν” χρησιμοποιώντας την rendering engine του ΙΕ8)
  • Προτείνουν στην Microsoft να διαθέσει τον IE8 beta με default rendering μηχανή την ολοκαίνουργια rendering engine (αυτή του IE8 δηλαδή) έτσι ώστε να τεστάρουν πόσα site τελικά θα “χαλάσουν”
  • Να κάνουν τον IE8 standalone browser, ο οποίος να μπορεί να γίνει install χωρίς να χρειαστεί κάποιος να πετάξει/αντικαταστήσει τον IE7

Φυσικά όλα τα παραπάνω είναι απλά οι προτάσεις του Web Standards Project και μένει να δούμε πόσες από αυτές θα ικανοποιήσει τελικά η Microsoft. Εγώ έχω ήδη εκφράσει τις απόψεις μου πάνω στο θέμα και συμφωνώ πλήρως με τον Roger Johansson ο οποίος υποστηρίζει πως εάν έπρεπε να υπήρχε το version targeting, θα έπρεπε να δουλεύει ανάποδα, δηλαδή η default rendering engine να ήταν η καινούργια (IE8) και εάν κάποιος ήθελε το site του να εμφανίζεται και να συμπεριφέρεται όπως γινόταν με αυτή του IE7 τότε να χρησιμοποιούσε το version targeting για να το κάνει…

W3C Amaya browser/editor

Αν και το ανακάλυψα σχετικά πρόσφατα, το W3C έχει κυκλοφορήσει εδώ και καιρό έναν browser ο οποίος είναι ταυτόχρονα και  WYSIWYG editor (2 σε 1 δηλαδή). Το Amaya λοιπόν, είναι ένας browser web standard αρχείων (όπως (X)HTML, CSS, XML, SVG, MathML, κτλ.), ο οποίος όμως προσφέρει και editing δυνατότητες στα εν λόγω αρχεία! Το Amaya διατίθεται δωρεάν όπως είναι φυσικό, για όλα τα γνωστά λειτουργικά συστήματα και βρίσκω την όλη προσπάθεια αρκετά ενδιαφέρουσα μιας και προέρχεται κατευθείαν από το W3C, το οποίο απορώ γιατί δεν ξεκινάει επιτέλους την δημιουργία μιας  open source web rendering μηχανής (σαν το Webkit ή έστω ενός open source browser)… Από εκεί και πέρα δεν με εντυπωσίασαν ιδιαίτερα οι ικανότητες του ούτε ως browser ούτε ως editor, αλλά ελπίζω η προσπάθεια να συνεχιστεί, να διορθωθούν τα μικρό-προβλήματα και να αποκτήσει  επιπλέον χαρακτηριστικά και δυνατότητες. Όσοι είναι πιστοί του W3C και των standards ας του ρίξουν μια ματιά και ίσως βρουν μια αξιόλογη και δωρεάν λύση…

Internet Explorer 8 και version targeting : Το μεγάλο λάθος της Microsoft

Και ενώ τα νέα που είχαμε στην διάθεση μας σχετικά με την νέα έκδοση του Internet Explorer ήταν παραπάνω από καλά, όπως την (σχεδόν) πλήρης υποστήριξη των web standards καθώς και το γεγονός ότι πέρασε με απόλυτη επιτυχία το ACID 2 test, ξαφνικά η Microsoft κάνει κατά την γνώμη μου την χειρότερη κίνηση στο να εκμεταλλευτεί πλήρως όλα τα παραπάνω και να ξεπλύνει το κακό όνομα που έχει ο browser της! Ο λόγος είναι το λεγόμενο version targeting που θα χρησιμοποιήσει η εταιρεία στον Internet Explorer 8 το οποίο και βρίσκω πραγματικά ανούσιο και δεν καταλαβαίνω γιατί αποφασίστηκε ένας τέτοιος μηχανισμός επιλογής rendering μηχανής στον νέο browser και όχι κάτι πιο απλό και κατανοητό (και για τον απλό χρήστη και για τον developer). Στο A List Apart έχουν δημοσιευθεί δύο πολύ ενδιαφέροντα άρθρα πάνω στο θέμα, με το ένα να τίθεται υπέρ και το άλλο κατά του version targeting, με τίτλους “Beyond DOCTYPE: Web Standards, Forward Compatibility, and IE8” και “From Switches to Targets: A Standardista’s Journey“, τα οποία και συστήνω σε όλους τους web designers/developers.

Γιατί πιστεύω πως η Microsoft κάνει λάθος λοιπόν. Έχουμε και λέμε, η Microsoft μετά από πολλά χρόνια καταφέρνει να φτιάξει επιτέλους έναν πολύ αξιόλογο browser (Internet Explorer 8), ο οποίος και περνάει το διάσημο ACID 2 test, πράγμα που σημαίνει πως η rendering μηχανή του ανταποκρίνεται σωστά (ή έστω με πολύ μεγάλη ακρίβεια) στα web standards. Το λάθος της εταιρείας λοιπόν είναι πως αντί να χρησιμοποιήσει σαν default την καινούργια, web standards compliant rendering engine στον Internet Explorer 8, αποφασίζει να δώσει 3 rendering modes στον browser, ανάλογα με τον κώδικα που βρίσκει σε κάθε σελίδα, και πιο συγκεκριμένα :

  • Quirks mode” όπου θα χρησιμοποιείτε σε σελίδες με μη web standard κώδικα και θα είναι συμβατός με παλιό και μη ενημερωμένο περιεχόμενο.
  • Standards mode” όπου θα συμπεριφέρεται σαν το standards mode του Internet Explorer 7. Έτσι τα site με valid code θα γίνονται render όπως ακριβώς γίνονται στον Internet Explorer 7 και όχι με την καινούργια web standards compliant rendering engine του Internet Explorer 8!
  • Εάν θέλετε να χρησιμοποιήσετε την καινούργια web standards compliant rendering engine του Internet Explorer 8 θα πρέπει να χρησιμοποιήσετε ένα <meta> element!

To meta element που θα πρέπει να χρησιμοποιηθεί παρουσιάζεται στον είναι το παρακάτω code snippet,

<meta HTTP-equiv="X-UA-Compatible" content="IE=8">

με δυνατότητα επέκτασης και σε άλλους browsers και versions ως :

<meta HTTP-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4">

Και που είναι το πρόβλημα τώρα, θα αναρωτιέστε πολλοί. Τα πρόβλημα που βλέπω εγώ (και όχι μόνο) είναι το εξής. Γιατί θα πρέπει ο οποιοσδήποτε web designer/developer να δημιουργήσει ένα meta element για να χρησιμοποιήσει την καινούργια rendering μηχανή του ΙΕ8 σε valid κώδικα? – Αλλιώς όπως αναφέρω παραπάνω η default rendering engine που θα χρησιμοποιηθεί είναι αυτή του IE7! Καταλαβαίνω (σε αντίθεση με πιο σκληροπυρηνικούς) τον λόγο ύπαρξης ενός “Quirks mode” για την προβολή παλιού και μη valid περιεχομένου, αλλά από εκεί και πέρα η default rendering μηχανή σε valid σελίδες θα έπρεπε να είναι η καινούργια (αυτή του ΙΕ8) και όχι αυτή του ΙΕ7! Είναι σαν μια αναβάθμιση που στην ουσία για να χρησιμοποιήσει κάποιος θα πρέπει να κάνει κάποιο hack! Στην χειρότερη περίπτωση, εάν θέλανε τόσο πολύ να μην χαλάσουν κάποια site που λειτουργούν μια χαρά αυτήν την στιγμή σε ΙΕ7, ας κάνανε το αντίθετο, δηλαδή να δημιουργούσαν ένα meta element το οποίο θα ανάγκαζε τον IE8 να συμπεριφερόταν σαν ΙΕ7 (και όχι το αντίθετο)! Πραγματικά δεν μπορώ να καταλάβω γιατί η Microsoft πνίγεται σε μια κουταλιά νερό σε τέτοια θέματα. Θες να βγάλεις τον browser σου και να υποστηρίζεις όλες τις προηγούμενες και κακές υλοποιήσεις του, πολύ ωραία, κάντο, αλλά κάντο έξυπνα και προπαντός χωρίς να πηγαίνεις πίσω το καινούργιο προϊόν σου! Η πρόοδος έχει πάντα ένα μικρό κόστος και στην συγκεκριμένη περίπτωση θα ήταν πάρα πολύ μικρό σε σχέση με το γενικότερο κέρδος που θα είχε και από την web κοινότητα και από την development κοινότητα! Τέλος δεν μπορώ να καταλάβω γιατί εφόσον θέλει να υποστηρίξει τα κακογραμμένα sites που έχουν φτιαχτεί 5 και 10 χρόνια πριν, γιατί δεν κάνει ευκολότερη την ζωή και των χρηστών τέτοιων site αλλά και των developers, δίνοντας την επιλογή στον browser της να διαλέξει rendering μηχανή (μέσα από κάποιο μενού ας πούμε – όπως κάνουμε πχ. με το μενού encoding) ή έστω να επιτρέψει την εγκατάσταση διαφορετικών εκδόσεων του browser της στο ίδιο σύστημα!

Προσωπικά πιστεύω πως η Microsoft πνίγηκε σε μια κουταλιά νερό και χάλασε άδοξα τις πάρα πολύ καλές εντυπώσεις που είχε κερδίσει ο καινούργιος Explorer. Τώρα πόσο θα επηρεάσει αυτή η απόφαση εμάς τους developers, ο χρόνος θα δείξει… Άποψη μου είναι πως έκανε το απλό, πολύπλοκο, χωρίς κανέναν ιδιαίτερο λόγο.