Οι έλληνες web experts που διαβάζω (και εμπιστεύομαι)

Με το παρακάτω post επιχειρώ να συλλέξω τα καλύτερα blog από τους έλληνες web experts που διαβάζω. Επειδή η λίστα βγήκε μεγαλύτερη απ’ ότι περίμενα (γεγονός πολύ ελπιδοφόρο) μην με φάτε εάν ξέχασα κάποιους, απλά αφήστε ένα comment εφόσον έχετε κάποιο web-related blog. Έχουμε και λέμε λοιπόν :

Web design και development

Υπό normal συνθήκες οι δύο κατηγορίες θα ήταν ξεχωριστές, αλλά στο κόσμο του web, συχνά ο designer είναι και coder και το αντίθετο, ενώ οι περισσότεροι συνάδελφοι που αναφέρω παρακάτω, γράφουν post και για τις δύο κατηγορίες (και όχι μόνο)…

  • acidsmile : Η Μαρία blogάρει από την Αγγλία για την δουλειά της αλλά και για άλλα θέματα που την απασχολούν!
  • Digitalbox blog : Το επίσημο blog της εταιρείας Digitalbox με πραγματικά πολύ καλό περιεχόμενο! Ελπίζω να ακολουθήσουν το παράδειγμα της κι άλλες εταιρείες, μιας και στην Ελλάδα τα εταιρικά blog είναι ελάχιστα, ακόμα και από εταιρείες που υποτίθεται ότι δραστηριοποιούνται στο χώρο του web!
  • Netfreaks.gr : Ο HitMan-Βίκτωρας σχολιάζει την web επικαιρότητα με τον δικό του τρόπο!
  • porcupine colors : Τον Γιάννη Κωνσταντακόπουλο, τον θεωρώ έναν από τους guru του χώρου, και πολύ απλά πρέπει να διαβάζεται το blog του…
  • Simple is Beautiful : Από την γνωστή development ομάδα του Pathfinder, την Phaistos Networks, ο Μάρκος Παπαδάκης έχει πάντα κάτι ενδιαφέρον να μας πει.
  • sugarenia.com : Από την ίδια ομάδα (Phaistos Networks), η Ζαχαρένια (ή sugarenia) γράφει γλυκές web standard συνταγές!
  • phaistonian : Στο blog του, ο Γιώργος Παπαδάκης (από την Phaistos Networks και αυτός), γράφει λίγο πιο τεχνικά, αλλά πάντα ενδιαφέροντα post! Τώρα τελευταία όλο λέω πως θα ασχοληθώ και με το Core που παρουσιάζει όλο στο blog του, αλλά που χρόνος…
  • The Portrait of A Geek : O νέος αγαπημένος μου blogger! Από τους λίγους που προσφέρει κώδικα και αναλυτικά web tutorials! Απλά respect.
  • Webz : Παλιό και αγαπημένο μου blog! Έχει περάσει πλέον και στα “κλασικά” θα έλεγα…
  • Petros Dimitriadis : Εδώ θα βρείτε περισσότερο web design related υλικό.

SEO και Web marketing

  • .Connect : Το επήσιμο blog της Μindworks ασχολείται φυσικά, όπως και η ίδια η εταιρεία άλλωστε, με θέματα SEO και web marketing.
  • About SEO : Άλλο ένα αξιόλογο blog αφιερωμένο στο SEO, με posts γραμμένα από τον Γιώργο Βαρέλογλου.
  • Βizwriter : Ο Σάκης Ρίζος εργάζεται στην Μindworks ενώ παράλληλα προσφέρει χρήσιμες πληροφορίες στο blog του, πάνω σε θέματα web marketing.

Άλλα αξιοσημείωτα blog

Μήπως πρέπει να σιγά-σιγά να ξεκινήσουμε και το δικό μας union 😉

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

Η HTML 5 έρχεται…

Για τα ανήσυχα μυαλά που θέλουν να είναι έτοιμοι πριν από όλους τους άλλους, το W3C δημοσίευσε την προηγούμενη εβδομάδα τα πρώτα specifications της HTML 5! Μαζί με τις διαφορές που υπάρχουν μεταξύ HTML 5 και HTML 4 καθώς και τον επίσημο οδηγό του web developer στην HTML 5, είναι τα πληρέστερα (και επίσημα) κείμενα που υπάρχουν για την νέα markup language, αυτήν την στιγμή.

Αν και δεν μπορώ να πω πως έχω μελετήσει αναλυτικά όλα τα παραπάνω specifications της HTML 5, έχω ανακαλύψει ήδη πολλά ενδιαφέροντα χαρακτηριστικά, όπως :

  • Πολλά νέα elements για καλύτερο και πιο semantic structure, όπως header, footer, nav, section, article, aside, dialog κτλ.
  • Πολλά βελτιωμένα elements για embedded content, όπως figure, audio και video. Στα δύο τελευταία δίνεται και η δυνατότητα ενσωμάτωσης user interface μέσω της markup αλλά και ενός API, έτσι ώστε ο χρήστης να μπορεί να ελέγχει το video/audio file. Το user interface θα δημιουργείτε από την rendering engine του εκάστοτε user agent!
  • time element, που θα αντιπροσωπεύει χρόνο (ημερομηνία, ώρα, κτλ.)
  • canvas element, για on-line rendering γραφικών
  • Templates elements όπως datatemplate, rule, and nest. Με αυτόν τον τρόπο η ίδια η markup αποκτά templating δυνατότητες!
  • Form validation μέσω της markup (σε client-side επίπεδο φυσικά). Έτσι στα input elements, δηλώνοντας απλά τον τύπο τους (type) στην markup (όπως πχ. date, number, email, url, κτλ) θα αναγκάζουμε τον user agent του browser να αναλαμβάνει το client-side validation

Μαζί με τα νέα χαρακτηριστικά, η καινούργια markup αφήνει πίσω της πολλά άχρηστα elements και attributes τα οποία είχαν παρατήσει εδώ και καιρό οι έμπειροι developers, όπως :

  • font, επιτέλους όλο το styling θα γίνεται αναγκαστικά μέσω CSS
  • frame, frameset και noframes. Δεν νομίζω πως χρειάζονται περαιτέρω διευκρινήσεις για την επιλογή του W3C σε αυτό το θέμα
  • applet
  • Όλες τις presentational attributes όπως : align, background, bgcolor, cellpadding, cellspacing, border, valign κτλ. Εάν κάποιος θέλει να τις χρησιμοποιήσει, θα πρέπει και πάλι να στραφεί στην CSS

Τέλος αξίζει να σημειωθεί πως πάνω στην καινούργια markup θα χτιστούν και πολλά API για την ευκολότερη υλοποίηση web εφαρμογών, όπως :

  • 2D drawing API το οποίο θα χρησιμοποιείται για on-line rendering γραφικών μέσω του νέου canvas element
  • API για την δημιουργία interface στοιχείων (όπως play, pause, κτλ.) στα video και audio elements
  • Δυνατότητα client-side αποθήκευσης δεδομένων. Τώρα αυτό το κομμάτι δεν ξέρω πως θα υλοποιηθεί από τον κάθε browser, αλλά θα μάθουμε σύντομα περισσότερες λεπτομέρειες
  • API για δημιουργία offline web εφαρμογών. Έτσι ακόμα και εάν δεν υπάρχει internet access, η web εφαρμογή θα συνεχίσει να λειτουργεί κανονικά! Σε συνδυασμό με το χαρακτηριστικό μιας client-side database καταλαβαίνουμε όλοι πόσο μπροστά θα πάνε τα πράγματα
  • Drag and drop API, το οποίο θα μπορεί να γίνει attached σε σχεδόν οποιοδήποτε element μέσω της νέας draggable attribute
  • Editing API, το οποίο θα λειτουργεί με τα elements που έχουν την νέα contenteditable attribute. Όπως καταλαβαίνεται τα Wiki-like και γενικότερα τα social-based sites θα περάσουν σε άλλο επίπεδο
  • Network API
  • Διάφορα άλλα API μικρότερης σημασίας ή πιο εξειδικευμένων λειτουργιών

Εάν έχετε κάποια εμπειρία σε (X)HTML και βαριέστε να διαβάσετε όλα τα specifications της HTML 5 (όπως εγώ), προτείνω να ξεκινήσετε από το κείμενο που περιγράφει τις διαφορές που έχει με την HTML 4. Το κείμενο είναι περιεκτικότατο, σαφέστατο και δεν κουράζει καθόλου (σε αντίθεση με τα επίσημα specifications)! Καλό διάβασμα!

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

Ο καζαμίας 2008 του web developer

Το ξέρω πως έχω να γράψω καιρό, ωστόσο μία η προσαρμογή στην καινούργια δουλειά, μία η  μετακόμιση σε νέο σπίτι (χωρίς internet access προς το παρόν!) καθώς και διάφορες άλλες υποχρεώσεις, άφησαν το blog μου λίγο πίσω! Μην ανησυχείτε όμως το παρακάτω post θα σας καλύψει πλήρως, μιας και θα σας ενημερώσει για το τι θα γίνει στο μέλλον, και πιο συγκεκριμένα μέσα στο 2008! Έχουμε και λέμε λοιπόν :

  • Ο Internet Explorer 8 και ο Firefox 3 θα κονταροχτυπηθούν αλύπητα για μία ακόμη φορά για την πολυπόθητη θέση του default web browser στα συστήματα μας! Το περίεργο είναι πως ο Internet Explorer 8 έχει αυτήν την φορά καλύτερη rendering μηχανή από τον Firefox 3, ο οποίος όμως παραμένει σταθερά η default λύση των web developers (σε όλες τις πλατφόρμες, συμπεριλαμβανομένου πλέον και του OS X).
  • Ο Safari κερδίζει όλο και περισσότερους χρήστες! Με τις πωλήσεις της Apple να πηγαίνουν από το καλό στο καλύτερο, καθώς και με τις φορητές εκδόσεις του Safari browser για iPod touch, iPhone (generaton 1 και 2 πλέον) καθώς και του νέου ultra-portable laptop της, ο Safari έχει ήδη καταφέρει να κερδίσει ένα σεβαστό ποσοστό χρηστών όπου πλέον κανένας web developer δεν μπορεί να αγνοήσει!
  • Μετά την Microsoft και την καινούργια ASP.ΝΕΤ η οποία και μεταπήδησε σε λογική MVC, η Zend, εταιρεία και δημιουργός της PHP λανσάρει και αυτή πλέον το επίσημο MVC PHP framework! Όλοι δείχνουν να ακολουθούν τον δρόμο που χάραξε η Ruby και το Rails σε αυτόν τον τομέα!
  • Οι πρώτες CSS3 εντολές υποστηρίζονται ήδη από πολλούς mainstream browsers, και τα πρώτα tutorials και τεχνικές έχουν κάνει ήδη την εμφάνιση τους! Το web design αποκτά ακόμα περισσότερα όπλα στο οπλοστάσιο του!
  • Το ελληνικό internet παραμένει άσχημο και στάσιμο, με τις ελληνικές εταιρείες να μην μπορούν ακόμα να καταλάβουν ούτε να εκμεταλλευτούν τις δυνατότητες του. Ευτυχώς υπάρχουν πάντα και οι ευχάριστες εξαιρέσεις!

Καλό 2008 και είμαι περίεργος να δω σε πόσα από τα παραπάνω θα πέσω μέσα…

Mozilla Weave

Τα εργαστήρια της Mozilla έχουν ανακοινώσει εδώ και κάποιες μέρες το Mozilla Weave, το οποίο σαν ιδέα ακούγεται πολύ ενδιαφέρουσα, ωστόσο πιστεύω πως αυτή την στιγμή το όλο project είναι απλά ένα concept και τίποτα παραπάνω. Η ιδέα λοιπόν είναι η κατασκευή ενός layer υπηρεσιών μεταξύ του Firefox και του internet το οποίο θα ονομάζεται Weave, έτσι ώστε να έχεις πάντα στην κατοχή σου και από οποιοδήποτε μηχάνημα, πληροφορίες όπως ιστορικό (history) του browser, bookmarks, preferences, documents και διάφορα άλλα αρχεία. Το όνειρο της Mozilla όπως μπόρεσα να καταλάβω, είναι πως πέρα από αυτά τα browser χαρακτηριστικά και ευκολίες που θα προσφέρει για τον Firefox μέσω του Weave, είναι και η δημιουργία εργαλείων και API έτσι ώστε να έχουν την δυνατότητα και προγραμματιστές τρίτων site, όπως πχ. del.icio.us και Flickr να βοηθήσουν τους χρήστες που θα χρησιμοποιούν Firefox με χαρακτηριστικά όπως αυτόματο login ανεξάρτητα από το computer που χρησιμοποιούν, ενωποίηση των site τους με τον browser, όπως για παράδειγμα τα bookmark του del.icio.us να ελέγχονται και να ανανεώνονται κατευθείαν μέσω του browser, και άλλα αντίστοιχα καλούδια. Όπως όλοι καταλαβαίνετε το Weave γίνεται και ακόμα πιο διασκεδαστικό όταν σε όλα αυτά εισέρχεται και ο όρος “social“, όπου θα υπάρχει η δυνατότητα να μοιράζεται με φίλους και γνωστούς σας τις φωτογραφίες, τα links σας και γενικότερα ότι άλλη πληροφορία βρίσκεται on-line ή χρησιμοποιείτε σε κάποια on-line υπηρεσία πολύ πιο εύκολα και γρήγορα (μέσω του browser σας!).

Όπως ανέφερα και παραπάνω το Mozilla Weave είναι σε πολύ πρώιμο στάδιο αυτήν την στιγμή και πιστεύω πως ούτε και η ίδια η Mozilla δεν ξέρει τι ακριβώς φτιάχνει. Επειδή έριξα μια ματιά στο documentation νομίζω πως αυτό που περιγράφω παραπάνω είναι και αυτό που θέλει να πετύχει και η Mozilla πάνω-κάτω, ωστόσο μπορεί να κάνω και λάθος. Όπως και να έχει πιστεύω πως το Weave θα αργήσει πολύ ακόμα, αλλά εάν τελικά καταφέρει να δημιουργήσει κάτι τέτοιο η Mozilla, και πείσει άλλα site και vendors να υποστηρίξουν τις εφαρμογές τους σε αυτό, μπορούμε να μιλάμε για την αρχή του intrenet OS, μιας και οι εφαρμογές θα είναι on-line υπηρεσίες, και θα ελέγχονται από ένα browser Operating System!!! Το κλειδί στην ιστορία είναι να κλείσει συμφωνίες με τα μεγάλα site και υπηρεσίες, και να στηρίξει την όλη προσπάθεια σε ανοιχτά και standards-based εργαλεία, κάτι πού ήδη έχει δηλώσει και που πιστεύω πως δεν θα το διαψεύσει Είμαι πολύ περίεργος να δω τι θα γίνει τελικά με αυτό το θέμα…

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

Microsoft Visual Studio 2008

Η καινούργιες εκδόσεις του Microsoft Visual Studio και του .NET Framework είναι έτοιμες εδώ και μία εβδομάδα περίπου, και φυσικά οι λάτρεις των Microsoft τεχνολογιών έχουν πολλούς λόγους να χαίρονται. Με περισσότερα από 250 νέα χαρακτηριστικά για όλες τις εκδόσεις του Visual Studio 2008 (σύμφωνα με την Microsoft πάντα) και το πολύ βελτιωμένο και AJAX-ready .ΝΕΤ 3.5 η Microsoft συνεχίζει την καλή παράδοση που έχει στα Rapid Application Development Tools. Μερικά ενδιαφέροντα χαρακτηριστικά περιλαμβάνουν :

  • ASP.NET AJAX. Εγγενής υποστήριξη AJAX (δεν χρειάζεται να κατεβάσετε ξεχωριστή library) και με πολλά ενδιαφέροντα χαρακτηριστικά όπως JavaScript Intellisense, JavaScript Debugging, ASP.NET AJAX Control Extender Support και JavaScript Intellisense για Silverlight.
  • Visual Studio 2008 Multi-Targeting Support, το οποίο πολύ απλά σημαίνει πως το καινούργιο Visual Studio μπορεί να ανοίξει, να κάνει edit και re-built, ήδη υπάρχοντα project γραμμένα σε παλιότερα .ΝΕΤ frameworks, όπως .NET 2.0 και ASP.NET 2.0 (με η χωρίς ASP.NET AJAX 1.0).
  • VS 2008 Web Designer και CSS Support, το οποίο χρησιμοποιεί την πολύ καλή μηχανή δημιουργίας (X)HTML και CSS του Expression Web.
  • LINQ, όπου είναι η νέα και πολλά υποσχόμενη Query Language της Microsoft (από το Language-INtegrated Query). Φυσικά έχουν γίνει και πολλές βελτιώσεις στην υπάρχον SQL και SQL server.
  • Πολλές άλλες βελτιώσεις μικρότερου ενδιαφέροντος (για εμένα τουλάχιστον), όπως καλύτερο Silverlight integration και tools, πολλές βελτιώσεις στο WPF (Windows Presentation Foundation) και πολλά άλλα.

Το Microsoft Visual Studio 2008 έρχεται σε 4 εκδόσεις (Visual Studio 2008 Professional Edition, Visual Studio Team System 2008 Team Suite, Visual Studio Team System 2008 Team Foundation Server και Visual Studio Team System 2008 Test Load Agent) τις οποίες μπορείτε να δοκιμάσετε για 90 μέρες, ενώ για τους πιο ερασιτέχνες και φοιτητές προγραμματιστές υπάρχουν και οι δωρεάν εκδόσεις του Visual Studio 2008 με το όνομα Express Edition. Γενικότερα το νέο Visual Studio 2008 φαίνεται αρκετά ανανεωμένο, ενώ η Microsoft δείχνει να αλλάζει νοοτροπία και να κάνει όλο και πιο πολλά βήματα προς τα web standards (και στον browser της αλλά και στα development tools της). Μιας και το Visual Studio δείχνει να κάνει αρκετά βήματα προς τα εκεί, ελπίζω να συνεχίσει και ο Internet Explorer 8 σε αυτόν τον δρόμο…