Εύκολη σύγκριση Github repositories με το Repocompare.io

Το Repocompare.io είναι το τελευταίο μου προσωπικό (aka. pet) project με το οποίο μπορείς πολύ εύκολα και γρήγορα να συγκρίνεις repositories που φιλοξενούνται στο Github. Πρόκειται για ένα single page application (SPA), στο οποίο προσθέτεις και συγκρίνεις repositories σε αριθμό stars, forks, open issues και άλλων.

Το συγκεκριμένο project είναι υλοποιημένο στο React και γύρω από το οικοσύστημα του. Το build γίνεται μέσω webpack (και babel) και είναι γραμμένο σε ES6 και JSX (ES2015 για την ακρίβεια). Από εκεί και πέρα για state manager χρησιμοποιώ το Mobx, για routing τον React Router καθώς και κάποια επίσημα React components (React Autocomplete). Χρησιμοποίησα επίσης, για πρώτη φορά, το Jest – ένα testing framework από το Facebook – καθώς και CSS modules τα οποία δεν είχα ιδέα τι έκαναν μέχρι τώρα (έχουν πολύ νόημα όταν δουλεύεις με components).

Όποιος θέλει να βοηθήσει μπορεί να το κάνει μιας και το repo είναι ανοιχτό για όλους. Έχω ήδη ανοιχτά κάποια tasks για το project και φυσικά share and enjoy!

Βρετανικές 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 μου ακολουθώντας τις διεθνής οδηγίες και απλά ελπίζω οι κανόνες που θα ακολουθήσει η Ευρώπαική Ένωση να είναι σωστότερα γραμμένοι…

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

Ε-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 πάνω στο θέμα…