InterACT with Web Standards : A Holistic Approach To Web Design

Μόλις τέλειωσα την ανάγνωση του παραπάνω βιβλίου, και για να μην τα πολυλογώ πιστεύω πως είναι ένα βιβλίο που πρέπει να διαβαστεί από όλους όσους θέλουν να ασχοληθούν σοβαρά (ή ασχολούνται ήδη)  με την κατασκευή sites, οποιοδήποτε ρόλο και αν έχουν στην παραγωγή (από design και development μέχρι copywriting και management). Προσωπικά θα το συστήνω και σε πελάτες, μιας και πιστεύω πως με 34 δολάρια παραπάνω (τόσο κάνει το βιβλίο), μπορείς να γλιτώσεις πάρα πολύ χρόνο που θα κατανάλωνες σε άσκοπες συζητήσεις και requests.

Το βιβλίο είναι από τα πιο καθαρό-γραμμένα βιβλία που έχω διαβάσει και απευθύνεται κυρίως σε αρχάριους του χώρου, ωστόσο όλο και κάτι θα μάθουν/βρουν ενδιαφέρον και οι πιο έμπειροι. Η δομή του βιβλίου ξεκινάει από τις απολύτως απαραίτητες γνώσεις όπως τι είναι το web και το internet, πως λειτουργούν  κτλ., για να περάσει στα πιο ενδιαφέροντα όπως Ιnformation Architecture, Content Analysis/Strategy και να καταλήξει στις σωστές τεχνικές markup/styling (HTML/CSS) και accessibility. Επίσης αγοράζοντας το παραπάνω βιβλίο ενισχύεται το “Open Web Education Alliance”, κάτι που χρειάζεται μιας και για κάποιο πολύ περίεργο λόγο η εκπαίδευση στις web τεχνολογίες πάντα βρίσκεται αρκετά βήματα πίσω από την πραγματικότητα/αγορά (διεθνές φαινόμενο – φανταστείτε πόσο πίσω είμαστε στην Ελλάδα).

Καλή ανάγνωση 😉

Βρετανικές web οδηγίες. Τι λάθος έκαναν;

Το Ηνωμένο Βασίλειο είναι η πρώτη ευρωπαϊκή χώρα που κάθισε και ετοίμασε τις δικές της οδηγίες για τα web sites που δραστηριοποιούνται σε βρετανικό έδαφος. Το Central Office of Information (COI) λοιπόν, δημοσίευσε τις οδηγίες που πρέπει να ακολουθούν και να καλύπτουν τα κυβερνητικά (government) sites και τα sites γενικού ενδιαφέροντος (public sector).

Από μια γρήγορη ματιά που τους έριξα, οι οδηγίες προσβασημότητας (accessibility) δεν διαφέρουν και πολύ από τα διεθνή standards, έχουν γράψει με άλλα λόγια τα ίδια πράγματα σε κάπως πιο επιχειρηματική γλώσσα (έτσι μου φάνηκε τουλάχιστον). Προσωπικά δεν θα έμπαινα καν στην διαδικασία να διαβάσω οδηγίες που έχουν να κάνουν με το web, εάν αυτές προερχόντουσαν από κάποια άλλη χώρα, ωστόσο το Ηνωμένο Βασίλειο έχει μεγάλη επιρροή στην Ευρωπαϊκή Ένωση και τις ευρωπαϊκές αποφάσεις, ιδιαίτερα σε θέματα τεχνολογίας και καινοτομίας. Μέσα λοιπόν σε όλον αυτό τον όγκο των πληροφοριών, το Web Standards Project παρατήρησε ένα τραγικό λάθος και αμέσως ξέσπασε μια μεγάλη διαμάχη ανάμεσα σε αυτό και την βρετανική κυβέρνηση.

Το Web Standards Project υποστηρίζει, και συμφωνώ απολύτως μαζί του, πως το COI έχει συντάξει έναν τελείως λάθος τρόπο υπολογισμού υποστήριξης browser (παρεμπίπτοντος δεν παρέχουν τις εν λόγω οδηγίες σε HTML μορφή ακόμα, αλλά μόνο σε MS Word και PDF, κάτι πραγματικά τραγικό). Έτσι οι επίσημες βρετανικές οδηγίες, προτρέπουν τους web masters να μην τεστάρουν αλλά και να μην υποστηρίζουν πλήρως τους browsers που δεν καταφέρνουν να έχουν ένα σεβαστό ποσοστό επισκεψημότητας. Το ποσοστό αυτό βγαίνει με κάποια περίεργα μαθηματικά που έχουν σκεφτεί οι άγγλοι ειδικοί (και που δεν πρόκειται να πάρει σοβαρά κανένας web master κατά την γνώμη μου), ενώ αν κατάλαβα καλά κάποιος browser με ποσοστό κάτω από 2% θεωρείτε όχι ημι-υποστηριζόμενος (semi-supported).

Τα προβλήματα που προκύπτουν από τις συγκεκριμένες οδηγίες είναι πάρα πολλά, όπως για παράδειγμα τι εννοούν γράφοντας ημι-υποστηριζόμενος (semi-supported) browser (ο καθένας μπορεί να το ερμηνεύσει διαφορετικά), με ποια λογική στατιστικής και με ποιο εργαλείο θα βγαίνει το ποσοστό των browser το οποίο θα καθορίζει την στρατηγική των site σε θέματα υποστήριξης browser, και πάρα πολλές παρόμοιες ερωτήσεις που σου έρχονται στο μυαλό διαβάζοντας μόνο τις οδηγίες στο συγκεκριμένο θέμα!

Εκτός από τα παραπάνω λάθη, τα οποία δεν ξεκαθαρίζουν και μάλλον μπερδεύουν ακόμα περισσότερο τους web masters, το σημαντικότερο μειονέκτημα των οδηγιών είναι η λάθος προσέγγιση που ακολουθούν! Κανονικά θα έπρεπε όπως πολύ επιτυχημένα γράφει και το Web Standards Project οι οδηγίες να προβάλουν τους σωστούς και μοντέρνους τρόπους κατασκευής ιστοσελίδων, έτσι ώστε να κινηθούν και οι κατασκευαστές browser αναγκαστικά προς την κατεύθυνση των web standards. Με την λογική του COI ένα public sector site με πολλούς IE6 users, μπορεί να χρησιμοποιήσει IE-only τεχνολογίες, tags, κτλ. που φυσικά δεν θα καταλαβαίνουν οι άλλοι μοντέρνοι browsers, αλλά αυτό δεν θα είναι πρόβλημα, γιατί πολύ απλά οι άλλοι browsers μπορεί να ανήκουν στην κατηγορία ημι-υποστηριζόμενων (semi-supported) browser! Το τραγικό είναι πως ένα τέτοιο site θα είναι απολύτως νόμιμο!

Ελπίζω να καταλάβουν γρήγορα την συγκεκριμένη γκάφα και να διορθώσουν γρήγορα το συγκεκριμένο κομμάτι των οδηγιών (δεν έχω προλάβει να τις διαβάσω αναλυτικά όλες). Προσωπικά δεν περίμενα οι βρετανοί να κάνουν μια τόσο μεγάλη γκάφα στις οδηγίες τους και με ανησυχεί μήπως και η συγκεκριμένη γκάφα περάσει και σε μελλοντικούς ευρωπαϊκούς κανόνες-οδηγίες… Επίσης δεν καταλαβαίνω γιατί μπήκαν σε τόση φασαρία έτσι ώστε να ξαναγράψουν, και μάλιστα χειρότερα, αυτά που ήδη υπάρχουν! Εάν ήθελαν πιο βρετανικούς κανόνες, ας έγραφαν ένα δικό τους section 508 όπως οι αμερικάνοι, και ας μην έμπλεκαν τα μπούτια τους με χίλια δύο πράγματα, οδηγίες, υπο-οδηγίες, στατιστικά, τεχνικές απαιτήσεις κτλ. κτλ. Προσωπικά θα συνεχίζω να δημιουργώ τα sites μου ακολουθώντας τις διεθνής οδηγίες και απλά ελπίζω οι κανόνες που θα ακολουθήσει η Ευρώπαική Ένωση να είναι σωστότερα γραμμένοι…

Best of the rest – 39η εβδομάδα 2008

Πολλά τα νέα αυτής της εβδομάδας, οπότε ξεκινάω αμέσως, χωρίς εισαγωγές!

  • Το σημαντικότερο νέο της εβδομάδας είναι η δημιουργία του World Wide Web Foundation, από τον ίδιο τον δημιουργό του web, σερ Tim Berners Lee! Οι λόγοι δημιουργίας του συγκεκριμένου οργανισμού είναι η περαιτέρω εξάπλωση του web σε ολόκληρο τον πλανήτη, σύμφωνα με την πρώτη ανακοίνωση του ιδρύματος. Πολλοί ειδικοί, ανάμεσα τους και ο δημιουργός του web, πιστεύουν πως το W3C έχει μείνει αρκετά πίσω στο θέμα προώθησης του web, και γι αυτόν ακριβώς τον λόγο αποφάσισαν να δημιουργίσουν ένα ιδρύμα το οποίο θα έχει αυτό ως σκοπό. Υπάρχει κάποια λογική στο θέμα (η Molly, γράφει και αυτή την πολύ ενδιαφέρουσα άποψη της στο τελευταίο A List Apart), ωστόσο εάν δεν ξεκαθαρίσουν κάπως τα θολά σχέδια του νέου ιδρύματος (κάπου μέσα στο 2009), δεν ξέρω εάν και κατά πόσο θα το υποστηρίξει η web κοινότητα (και εγώ ως ένα πολύ μικρό κομμάτι της)…
  • Το CSS3.gr είναι έτοιμο! Ρίξτε οπωσδήποτε μια ματιά στα άρθρα και το blog του. Σίγουρα θα βρείτε κάτι ενδιαφέρον να διαβάσετε!
  • Το Google Android είναι έτοιμο, όπως και το πρώτο κινητό που θα το χρησιμοποιήσει (ΤMobile G1)! Το Android δείχνει πραγματικά πολύ δυνατό και ανοιχτό, ενώ με εντυπωσίασε πολύ και ο ενσωματωμένος browser του! Το Read Write Web έγραψε ένα πολύ επεξηγηματικό άρθρο με πάρα πολλά video, τα οποία παρουσιάζουν τις πολλές δυνατότητες του καινούργιου λειτουργικού για κινητά τηλέφωνα. Προσωπικά το περιμένω πως και πως, μιας και απογοητεύτηκα αρκετά με το “ελληνικό” iPhone!
  • Η beta έκδοση του νέου Flash Player είναι έτοιμη και μπορείτε να την κατεβάσετε για διάφορα λειτουργικά συστήματα από τα Adobe Labs. Βλέποντας το νούμερο της έκδοσης (10), αισθάνθηκα και αρκετά γέρος, μιας και χρησιμοποιώ το συγκεκριμένο plug in από την δεύτερη έκδοση του (εάν θυμάμαι καλά)!!!
  • Πολύ δουλειά έχει πέσει στην Adobe η οποία εμφάνισε και την καινούργια Creative Suite της. Όλα τα γνωστά προγράμματα της Adobe αναβαθμίζονται στην έκδοση CS4, ενώ μπορείτε να διαλέξετε και την οικογένεια προγραμμάτων που καλύπτει τις ανάγκες σας και να γλιτώσετε αρκετά χρήματα. Προσωπικά έχω την αίσθηση πως οι αναβαθμίσεις σε Adobe προϊόντα πρέπει να γίνονται κάθε 2 με 3 εκδόσεις, αλλιώς έχω την αίσθηση πως πετάγονται πολλά λεφτά για το τίποτα… Μπορεί βέβαια να κάνω και λάθος…
  • Εμφανίστηκε και το πρώτο site (όχι επίσημο), με τίτλο Chrome Plugins, το οποίο προσπαθεί να κατασκευάσει τα πρώτα plug-ins για τον Chrome. Για να δούμε τι θα καταφέρουν…
  • To A List Apart δημοσίευσε τα νέα του άρθρα! Προσωπικά μου άρεσε περισσότερο το πιο τεχνολογικό “Test-Driven Progressive Enhancement“, ωστόσο και το “Web Standards 2008: Three Circles of Hell” σε προβληματίζει αρκετά για το που βαδίζουν τα web standards!
  • To Fire Vox είναι ένα plug in για τον Firefox, το οποίο μετατρέπει τον browser σε screen reader! Είναι ένα από τα εντυπωσιακότερα plug ins, το οποίο δίνει ένα επιπλέον κίνητρο και εργαλείο στους web designers και developers, έτσι ώστε να δημιουργήσουν ακόμα πιο accessible sites…
  • Κυκλοφόρησε ακόμα μία Javascript library, έτσι για να έχουμε ακόμα μεγαλύτερη ποικιλία, η Minordi. Όσοι δεν έχουν βρει ακόμα μια Javascript library που να τους καλύπτει (πράγμα πολύ δύσκολο), ας της ρίξουν μια ματιά…
  • Ο Webkit είναι η πρώτη μηχανή rendering που περνάει και επίσημα το Acid 3 test.
  • Και εκεί που όλοι λέγαμε πόσο σημαντικά είναι τα friendly URLs στο SEO, έρχεται η Google και ανακοινώνει από το επίσημο Google Web Master Central blog πως δεν χρειάζεται να ξαναγράφουμε με φιλικό τρόπο τα URLs μας!!! Τώρα γιατί το κάνει αυτό, ειδικά αυτήν την στιγμή όπου πλέον αρχίζουν να καταλαβαίνουν και οι λιγότερο ειδικοί την σημασία των friendly URLs, πραγματικά δεν έχω ιδέα… Περιμένω μόνο τις πρώτες αντιδράσεις από τους web masters και τους SEO experts…
  • Τέλος μου άρεσε ιδιαίτερα η ιδέα του site Yotify. Στο εν λόγω site λοιπόν, φτιάχνεις scouts (ανιχνευτές), οι οποίοι δρουν σαν bots και σε ενημερώνουν για πράγματα που ενδιαφέρεσαι αυτόματα, χωρίς να κουνάς ούτε το δαχτυλάκι σου!!! Πάρα πολύ έξυπνη και βολική ιδέα!

Best of the rest – 38η εβδομάδα 2008

Αρκετή κινητικότητα αυτήν την εβδομάδα, με ιδιαίτερη έμφαση στα νέα που έχουν να κάνουν με web accessibility 😉

  • Το Adobe AIR είναι έτοιμο και για Linux (beta version). Με αυτήν την κίνηση λοιπόν, η Adobe καταφέρνει να έχει μια πολύ ώριμη RIA πλατφόρμα σε όλα τα λειτουργικά συστήματα! Για να δούμε λοιπόν εάν το AIR θα καταφέρει να γίνει συνώνυμο των RIA εφαρμογών…
  • Για πρώτη φορά στην Ευρώπη, δημιουργούνται οι πρώτες accessibility guidelines. Μας έρχονται από το Ηνωμένο Βασίλειο, και πιο συγκεκριμένα από το Central Office of Information (COI), και έχουν ιδιαίτερο ενδιαφέρον, γιατί είναι οι πρώτες επίσημες accessibility οδηγίες κάποιου ευρωπαϊκού κράτους. Από μια πρώτη ματιά που έριξα, συμφωνώ απόλυτα με το post του Web Standards Project, το οποίο εξηγεί πως το σκεπτικό που έχουν γραφτεί οι οδηγίες είναι λάθος, και πως θα δημιουργηθούν αρκετά προβλήματα εάν τελικά χρησιμοποιηθούν. Μείνετε συντονισμένοι γιατί έχω σκοπό να γράψω και την δικιά μου άποψη πάνω στο θέμα.
  • Και μιας και ανοίξαμε το θέμα accessibility στο web, το Digital Web Magazine δημοσίευσε ένα εξαιρετικό άρθρο με θέμα την προσβασημότητα (accessibility) στο web, αλλά και στο πως θα πρέπει να σχεδιάζουμε τα site μας για ανθρώπους με διάφορα προβλήματα και αναπηρίες. Είναι από τα καλύτερα και πιο ολοκληρωμένα άρθρα που έχω διαβάσει, με πολλές λεπτομέρειες και παραδείγματα. Απλά διαβάστε το!
  • Με το Fangs plug in για τον Firefox, μπορείτε να “διαβάσετε” την σελίδα σας, όπως θα την διάβαζε ένας screen reader. Ας ρίχνουμε λοιπόν μια ματιά στα site που κατασκευάζουμε με αυτό το plug in, έτσι ώστε να κάνουμε την ζωή κάποιων χρηστών μας ακόμα πιο εύκολη, γιατί πραγματικά το αξίζουν.
  • Το Status είναι κάτι σαν το Twitter, με βασική διαφορά πως επιλέγετε ποιοι χρήστες και group θα βλέπουν αυτά που γράφεται. Πολύ καλή λύση για να ομάδες και groups που θέλουν να μοιράζονται πληροφορίες, χωρίς ωστόσο να τις βλέπει ο καθένας…
  • H καινούργια release candidate version του jQuery UI είναι έτοιμη! Για όσους θέλουν να ρίξουν μια ματιά, μπορούν να την κατεβάσουν εδώ και τώρα (version 1.6rc2).
  • To SEOmoz είναι ένα blog που απλά πρέπει να παρακολουθείτε εάν δηλώνεται επαγγελματίες του χώρου. Ασχολείται με SEO θέματα όπως καταλαβαίνετε και από τον τίτλο του, ενώ κάθε Παρασκευή δημοσιεύει ένα πολύ ενδιαφέρον videocast, το οποίο ονομάζει Friday Whiteboard. Το ανακάλυψα από το blog About.SEO του Γιώργου.

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 για να το κάνει…

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, ο χρόνος θα δείξει… Άποψη μου είναι πως έκανε το απλό, πολύπλοκο, χωρίς κανέναν ιδιαίτερο λόγο.

HTML 5 και XHTML 2: ο νέος πόλεμος στο web

Έτσι όπως εξελίσσεται η κατάσταση, ο νέος πόλεμος στο web δεν θα γίνει ανάμεσα σε browsers αλλά σε τεχνολογίες (υπάρχει και η πιθανότητα να συνεχιστεί και στους browsers, αλλά το πρόβλημα θα προκύψει από τις τεχνολογίες που θα αποφασίσουν να υποστηρίξουν)! Αυτήν την στιγμή λοιπόν, οι αντικαταστάτες της κλασικής μας (X)HTML markup είναι δύο, και μάλιστα με αρκετές διαφορές τόσο στον κώδικα (elements, attributes, κτλ.) όσο και στην φιλοσοφία τους. Φυσικά κάνω λόγο για την HTML 5 και την XHTML 2 οι οποίες βρίσκονται αυτήν την στιγμή σε κατάσταση working drafts, πράγμα που σημαίνει ότι θα καθυστερήσουν αρκετά να ολοκληρωθούν και ακόμα πιο πολύ να τις υποστηρίξουν οι διάφοροι browsers, αλλά όπως και να έχει η ερώτηση είναι εξής : Πως προέκυψαν δύο web standards για την ίδια δουλεία?!?!

Καλύτερα να τα πάρουμε τα πράγματα από την αρχή. Στην αρχή λοιπόν τα πράγματα ήταν πολύ απλά με την HTML 1 να είναι η μοναδική markup στον internet, απόγονος της πολύ παλιάς αλλά και δοκιμασμένης SGML. Επειδή σιγά-σιγά το internet άρχισε να γίνεται πιο διάσημο και mainstream λοιπόν, κάποιοι, κατασκευαστές browser κυρίως, άρχισαν να προσθέτουν επιπλέον presentational (παρουσιαστικά) tags και ιδιότητες στην λιτή HTML και να χαλάνε την δομή της (structure) με αυτά, όπως font tags, nested tables, και πολλά άλλα, ενώ η κατάσταση είχε ξεφύγει τελείως από το W3C που δρούσε σαν απλός παρατηρητής. Μετά λοιπόν από τις HTML version 2 και 3, και τον πόλεμο τον browsers που υπήρχε μέχρι και εκείνη την στιγμή, κάποιοι developers όπως ο Jeffrey Zeldman, ο Eric Meyer, και πολλοί άλλοι, αποφάσισαν να πείσουν όλους τους υπόλοιπους, developers και κατασκευαστές browser να χρησιμοποιούν τα επίσημα standards του W3C για την δημιουργία web sites! Είναι η περίοδος που η HTML 4.01 είναι η νεότερη έκδοση της markup για το internet, ενώ έχει ήδη αρχίσει να χρησιμοποιείται από τους πιο σκληροπυρηνικούς και ψαγμένους η νέα XHTML όπου είναι στην ουσία η κλασική HTML 4 αναδιατυπωμένη σαν XML (δεν ήξερα πως αλλιώς να μεταφράσω το reformulation!). Η μεγάλη διαφορά της XHTML με την HTML είναι πως προσπαθεί να συμμαζέψει το περιεχόμενο (content) σε μια ακόμα καθαρότερη δομή (structure), άλλοτε με πιο αυστηρούς κανόνες και άλλοτε όχι – ανάλογα με το doctype – και να αφήσει το παρουσιαστικό (presentation) κομμάτι σε άλλη τεχνολογία, την CSS. Με αυτόν τον τρόπο η markup θα ξαναχρησιμοποιηθεί για τον λόγο που είχε εφευρεθεί, την σωστή δομή του περιεχομένου δηλαδή!

Στην συνέχεια έρχεται μια μεταβατική περίοδος στο web, όπου τα μεγάλα site έχουν φτάσει τις συγκεκριμένες τεχνολογίες στα όρια τους και χρειάζονται κάτι πιο δυνατό για το Web 2.0 το οποίο έχει ήδη αρχίσει να δημιουργείται. Κάπου εδώ ξεκινάει και το μπέρδεμα. Το επίσημο W3C ξεκινάει λοιπόν το draft της XHTML 2, όμως κάποιοι ανεξάρτητοι – κατασκευαστές browser, web developers, ανεξάρτητοι οργανισμοί κτλ. – δημιουργούν την WHATWG community και ξεκινάνε το draft της HTML 5 (και των Web Forms 2.0), το οποίο μετά από κάποιο καιρό το παραδίδουν στο W3C και γίνεται και αυτό επίσημο standard! Έτσι αυτήν την στιγμή έχουμε δύο επίσημους διαδόχους τις (X)HTML οι οποίοι μάλιστα έχουν πάρει και αρκετά διαφορετικές κατευθύνσεις σε θέματα αρχιτεκτονικής και σχεδιασμού!

Αυτήν την στιγμή κανένα από τα δύο recomendations δεν είναι επίσημο ή έχει περισσότερη υποστήριξη, αλλά το μπέρδεμα έχει ήδη γίνει και μάλιστα είναι πολύ μεγάλο! Καταρχάς, τι θα γίνει εάν κάποιοι browsers επιλέξουν να υποστηρίξουν ένα από τα δύο standards (extreme σενάριο, αλλά ας μην ξεχνάμε πως ακόμα κάποιοι browsers προσπαθούν να υποστηρίξουν standards 7 χρόνων παλιά!). Επίσης τι θα γίνει σε development επίπεδο, όπου κάποια site θα υποστηρίξουν την μία markup και κάποια την άλλη? Όπως ανέφερα οι markup είναι πολύ διαφορετικές μεταξύ τους, ενώ η HTML 5 έρχεται και με διάφορα Javascript APIs για ευκολότερο development σε αυτήν, το οποίο όμως μπορεί να μπερδέψει πολλούς developers (ιδιαίτερα νέους), αλλά και κατασκευαστές browsers, οι οποίοι θα πρέπει να ενσωματώσουν στους καινούργιους browsers πολλά νέα APIs. Και σαν να μην έφταναν τα παραπάνω μπερδέματα, το θέμα μπορεί να γίνει και ακόμα πιο περίπλοκο μιας και η HTML 5 για παράδειγμα (στην οποία έχω ρίξει μια καλύτερη ματιά), έχει ήδη δύο parsing modes, ένα σαν HTML και ένα σαν XML, με το πρώτο να είναι πιο συμβατό με παλιότερους browsers ενώ το δεύτερο η αυστηρότερη έκδοση του και χρήση του σαν XML εφαρμογή! Υποθέτω πως και η XHTML 2 θα έχει ανάλογες επιλογές για parsing.

Όπως εύκολα μπορεί να καταλάβει ο μέσος web developer/designer, η κατάσταση είναι αρκετά μπερδεμένη, ενώ εντύπωση μου κάνει πως κανένας επίσημος φορέας, όπως το W3C ή άλλοι μεγάλοι οργανισμοί και guru, δεν έχουν κάνει κανένα σχόλιο πάνω σε αυτό το σημαντικότατο θέμα. Για την ακρίβεια δεν το έχουν θίξει καν! Ξέρω πως και οι δύο τεχνολογίες έχουν πολύ δρόμο ακόμα να διανύσουν, ο Lachlan Hunt στο άρθρο του A Preview of HTML 5 υπολογίζει πως η HTML 5 θα χρειαστεί περίπου άλλα 10 με 15 χρόνια (άρα άλλα τόσα θα χρειαστεί και η XHTML 2), αλλά γιατί να μην γινόντουσαν τα πράγματα πιο απλά για όλους μας ?!?! Ελπίζω η κατάσταση να αλλάξει σύντομα και το τοπίο να ξεκαθαρίσει στο συγκεκριμένο θέμα έτσι ώστε να βοηθηθούν όλοι και να παρθούν γρηγορότερα κάποιες αποφάσεις, γιατί η αλήθεια είναι πως όλοι μας χρειαζόμαστε μια νέα markup! Πολλές ενδιαφέρουσες απόψεις πάνω στο θέμα μπορεί κάποιος να βρει στο άρθρο της IBM, HTML V5 and XHTML V2, ενώ το καινούργιο άρθρο του A List Apart έχει ένα αναλυτικό preview στην HTML 5, και φυσικά για τους πιο σκληροπυρηνικούς υπάρχουν και τα επίσημα drafts.

Ε-mail standards project

Το ότι οι e-mail clients, on-line και off-line, δεν τα πάνε καθόλου καλά με τα web standards είναι γνωστό εδώ και πάρα πολύ καιρό. Το ερώτημα όμως είναι γιατί κάποιος δεν έχει κάνει κάτι γι’ αυτήν την κατάσταση. Οι προσευχές κάποιων λοιπόν εισακούστηκαν, και για τον παραπάνω λόγο δημιουργήθηκε ένα νέο project, το Email Standards Project το οποίο έχει σαν στόχο να βελτιώσει αυτήν την κατάσταση και να κάνει τα πράγματα καλύτερα για όλους, και για τους απλούς χρήστες, και για τους developers αλλά και για τους vendors των e-mail clients! Το συγκεκριμένο site προσφέρει πολλές πληροφορίες και αναφορές για όλους τους διάσημους e-mail clients (off-line και on-line), όπως για παράδειγμα τι CSS κανόνες υποστηρίζουν, ένα e-mail ACID test, προτάσεις για βελτιώσεις σε κάθε e-mail client καθώς και πολλές άλλες ενδιαφέρουσες πληροφορίες. Η όλη προσπάθεια είναι πολύ οργανωμένη και αξιόλογη ενώ ήδη πολλοί vendors έχουν πραγματοποιήσει πολλές από τις προτεινόμενες βελτιώσεις στα προϊόντα τους! Η συγκεκριμένη κίνηση έπρεπε να είχε ήδη γίνει, αλλά κάλιο αργά παρά ποτέ. Περισσότερες πληροφορίες μπορείτε να βρείτε στο επίσημο site του project, ενώ στο Vitamin μπορείτε να βρείτε ένα πολύ καλό άρθρο πάνω στο συγκεκριμένο θέμα και την σωστή δημιουργία ενός newsletter. Φυσικά μείνετε συντονισμένοι και εδώ γιατί ετοιμάζω και ένα post/tutorial πάνω στο θέμα…