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.

H Yahoo! UI Library προσθέτει selector utility

Η γνωστή effects, Ajax και γενικότερα UI (user interface) library της Yahoo! απέκτησε ένα ολοκαίνουργιο selector utility το οποίο αντιγράφει την μέθοδο επιλογής του jQuery στην Yahoo! UΙ library! Έτσι χρησιμοποιώντας κάποιος την library της Yahoo! μπορεί πλέον να επιλέξει κάποιο element με τον γνωστό jQuery τρόπο :

var p_nodes = YAHOO.util.Selector.query('p');

Όπως φαίνεται όλες οι Javascript/AJAX libraries έχουν αρχίσει να καταλαβαίνουν πόσο δυνατό είναι το jQuery στον συγκεκριμένο τομέα και προσπαθούν να το εντάξουν στην εκάστοτε library τους. Προσωπικά θα συνεχίσω να χρησιμοποιώ το jQuery γιατί εκτός από το ότι είναι απλό, με πολλές δυνατότητες και πολύ εύκολο στην εκμάθηση, είναι και πολύ πιο ελαφρύ σε file size συγκρινόμενο με άλλες libraries (ιδιαίτερα με την Yahoo! UΙ library).

Ε-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 σε αυτόν τον δρόμο…

NoseRub, Stream your life

Το NoseRub το ανακάλυψα στο τελευταίο podcast του Παναγιώτη, και η ιδέα ενός πρωτοκόλλου/project/υπηρεσίας το οποίο θα συλλέγει όλες τις web δραστηριότητες μας σε ένα σημείο απλά με ενθουσίασε! Η συγκεκριμένη τεχνολογία (βασικά είναι ένα πρωτόκολλο, πολλές υπηρεσίες μπορούν να γραφτούν πάνω σε αυτό) αναλαμβάνει να συλλέξει όλα τα κομμάτια των on-line δραστηριοτήτων σας, όπως πχ. των post στα blog μας, των φωτογραφιών που ανεβάζουμε στο Flickr ή σε οποιαδήποτε άλλη αντίστοιχη υπηρεσία, τα link που συλλέγουμε στο del.icio.us ή στο Ma.gnolia κτλ., και να τα προβάλει συγκεντρωτικά σε μία σελίδα! Οι υπηρεσίες που υποστηρίζει είναι πολλές και σχεδόν όλες οι γνωστές συμπεριλαμβάνονται, ενώ ο τρόπος παρουσίασης είναι εξίσου όμορφος, μιας και δίνει διάφορες επιλογές στο χρήστη, όπως πχ. να επιλέξει την κατηγορία δραστηριοποίησης σας, έτσι ώστε να δει μόνο πχ. τις τελευταίες φωτογραφίες σας, posts σας ή bookmarks σας. Μια τέτοια υπηρεσία αναζητούσα καιρό τώρα, και απ’ ότι φαίνεται δεν ήμουν ο μόνος (ναι ο Γιάννης είχε φτιάξει κάτι ανάλογο manual!), ενώ δεν βλέπω την ώρα να την ενσωματώσω και εγώ στο blog μου! Γι’ αυτούς που θα βιαστούν να αναφέρουν το θέμα των προσωπικών δεδομένων και την συλλογή τους από μία μόνο υπηρεσία, να αναφέρω σε αυτό το σημείο πως εκτός από την δωρεάν on-line υπηρεσία που μπορείτε να χρησιμοποιήσετε – με το όνομα Ιdentoo – η NoseRub παρέχει και δωρεάν όλη την πλατφόρμα της (φτιαγμένη σε PHP και MySQL) έτσι ώστε να ελέγχεται, συγκεντρώνετε και διαχειρίζεστε μόνοι σας όλα τα δεδομένα σας! Τέλος οποιαδήποτε από τις δύο λύσεις προτιμήσετε, μπορείτε να κάνετε add φίλους και γνωστούς σας έτσι ώστε να παρακολουθούν τις on-line δραστηριότητες σας (και εσείς τις δικές τους) και να χτίσετε έτσι σιγά-σιγά το δικό σας community, ενώ τέλος μπορείτε να δημιουργήσετε και feed όλων αυτών (πολύ καλό, και μάλιστα με πάρα πολλές επιλογές)!

Στο επίσημο site μπορείτε να βρείτε ένα πολύ επεξηγηματικό video της on-line υπηρεσίας (η οποία δεν διαφέρει σχεδόν καθόλου από την version που μπορείτε να κατεβάσετε και να σετάρεται στον server σας), ενώ για όσους θέλουν πιο γρήγορες πληροφορίες μπορούν να ρίξουν μια ματιά στο FAQ. Αν και χρησιμοποιώ αυτήν την στιγμή την on-line υπηρεσία (Ιdentoo), μάλλον θα κάνω και ένα setup στον server μου…

Η απόλυτη λίστα ελέγχου ενός site

Έστω ότι μόλις παραλάβατε κάποιο site από κάποια εταιρεία και θέλετε να ελέγξετε την ποιότητα του site που μόλις παραλάβατε ή απλά πως είστε ένας web designer / developer και θέλετε να ελέγξετε εάν το τελικό προϊόν σας (site) καλύπτει κάποια standards. Έχετε ήδη ρίξει λοιπόν μια καλή ματιά στο site με τον default browser σας, αλλά θα θέλατε να έχετε στην διάθεση σας και κάτι παραπάνω, κάτι πιο χειροπιαστό! Όποιος βρίσκεστε λοιπόν σε αυτήν την θέση καλό θα είναι να ρίξει μια ματιά στην παρακάτω λίστα και τις σημειώσεις της, μιας και θα μάθει να ελέγχει σχολαστικά οποιοδήποτε site και μάλιστα χρησιμοποιώντας δωρεάν εργαλεία και υπηρεσίες! Η παρακάτω λίστα είναι ένας πολύ καλός οδηγός για οποιονδήποτε θέλει να ελέγξει και να βελτιώσει το site του. Ας αρχίσουμε λοιπόν :

  • W3C Markup Validator : Σαφέστατα πρώτη κίνηση που πρέπει να γίνεται σε οποιοδήποτε site! Εάν η markup δεν είναι σωστή δεν έχει νόημα να προβούμε σε περαιτέρω tests και ελέγχους (όπως πχ. CSS validation). Εάν το site περάσει αυτό το τεστ, θα λειτουργεί στους περισσότερους υπάρχον browsers και συσκευές, αλλά και στις μελλοντικές υλοποιήσεις τους, χωρίς ιδιαίτερα προβλήματα.
  • W3C CSS Validator : Φυσικά μετά τον έλεγχο της markup ο δεύτερος πιο σημαντικός έλεγχος είναι αυτός της CSS. Και τα stylesheets μας πρέπει να είναι όσο πιο καθαρά και web standard γίνεται, ενώ εάν θα πρέπει να χρησιμοποιήσουμε hacks και μη standard τεχνικές, καλό θα είναι να τα κρατάμε σε κάποιο ξεχωριστό αρχείο και να τα φορτώνουμε μέσω του @import  κανόνα έτσι ώστε το βασικό stylesheet να παραμένει web standard valid! Μόλις περάσουμε και αυτό το τεστ είμαστε σε πάρα μα πάρα πολύ καλό δρόμο! Πολλοί designers χρησιμοποιούν πριν το τελικό CSS validation το Clean CSS το οποίο αναλαμβάνει να σας βοηθήσει στην επίλυση των CSS προβλημάτων, να σας δημιουργήσει ευκολοδιάβαστο κώδικα και γενικότερα να βελτιστοποιήσει (optimize) τον CSS κώδικα μειώνοντας ταυτόχρονα και το file size του. Προσωπικά δεν το χρησιμοποιώ απλά σε κάποιους μπορεί να λύσει τα χέρια.
  • WebXACT : Άλλη μία φανταστική υπηρεσία η οποία προσφέρει πληθώρα πληροφοριών για το site, από το file size και τον χρόνο που θα χρειαστεί κάποιος με 56αρι modem για να κατεβάσει την σελίδα σας μέχρι σε τι accessibility priority level έχει φτάσει το site και πόσα broken links έχει. Ρίχνοντας μια ματιά έχετε μια συγκεντρωτική ιδέα για το που κινείται το site και τι πρέπει να βελτιωθεί σε διάφορα σημεία.
  • Truwex Online 2.0 : Η καλύτερη επιλογή για εύκολο και γρήγορο accessibility test! Η υπηρεσία παρέχει πολλά εργαλεία και πληροφορίες για να λύσετε τα accessibility προβλήματα του site σας, ενώ η επιλογή “map” πραγματικά σας λύνει τα χέρια, δείχνοντας πάνω στο site που βρίσκονται τα accessibility προβλήματα με αναλυτική επεξήγηση του κάθε προβλήματος και φυσικά της λύσης του! Η υπηρεσία κάνει accessibility test σε όλα τα WCAG 1.0 levels αλλά και στον αμερικάνικο accessibility νόμο Section 508.
  • TAW Web Accessibility Test : Κάνει ότι λέει το όνομα του και είναι η δεύτερη υπηρεσία που επισκέπτομαι για accessibility tests! Πολύ καλό είναι και το feedback που δίνει, αφού σας ενημερώνει που βρίσκεται η κάθε παράληψη, σας εξηγεί τι είδους παράληψη είναι (priority level κτλ.) και φυσικά σας δίνει πληροφορίες για το πως μπορείτε να την διορθώσετε. Το μόνο tip που μπορώ να δώσω σε αυτό το σημείο είναι να προσπαθήσετε να καλύψετε το priority 1 αρχικά, και να μην απογοητευθείτε από τα πολλά accessibility warnings που θα δείτε, γιατί το TAW παραείναι αυστηρό!
  • WAVE 3.0 Accessibility Tool : Και αυτή η υπηρεσία έχει να κάνει με accessibility test παρουσιάζοντας κάπως διαφορετικά τα αποτελέσματα της. Η συγκεκριμένη υπηρεσία είναι λίγο πιο δυνατή στο να εντοπίζει και να παρουσιάζει τα κομμάτια του κώδικα σας όπως headers, divs, footers, Javascript, κτλ. και να προτείνει λύσεις στα διάφορα προβλήματα που πιθανόν έχουν. Έτσι με αυτόν τον τρόπο μπορεί πολύ γρήγορα κάποιος να διορθώσει τα accessibility προβλήματα σε themes και templates!
  • Browsershots : Αν και η καλύτερη λύση είναι να τεστάρετε το site σε όλα τα desktop λειτουργικά συστήματα, δηλαδή σε Windows, OSX και Linux, και σε όλους τους γνωστούς browsers γι αυτά (IE, Firefox, Opera, Safari, Konqueror κτλ.), η συγκεκριμένη λύση πολλές φορές δεν είναι και τόσο εφικτή. Έτσι καλό θα είναι να έχετε υπόψη σας την συγκεκριμένη υπηρεσία, η οποία αν και αργεί αρκετά (όπως οι περισσότερες αντίστοιχες άλλωστε) σας επιτρέπει να δείτε το site σε όλους του γνωστούς browsers αλλά και να επιλέξετε και συγκεκριμένες screen resolutions!
  • Ready.Mobi : H καλύτερη υπηρεσία που έχω ανακαλύψει για το τεστ ενός site σε κινητά τηλέφωνα! Η συγκεκριμένη υπηρεσία προσφέρει μια πολύ αναλυτική αναφορά για το πως φαίνεται το site σε κινητά τηλέφωνα, με λεπτομέρειες όπως πόση ώρα χρειάζεται το site για να κατέβει μέσω Wifi, 3G και GPRS, εάν έχετε κάνει σωστή χρήση των images για mobile συσκευές, πως φαίνονται τα stylesheets κτλ. Το κερασάκι στην τούρτα είναι και οι 4 (προς το παρόν) emulators κινητών τηλεφώνων που διαθέτει (Nokia N70, Samsung z105, Sony Ericsson k750i, Motorola v3i και Sharp GX-10)!
  • Website Grader : Τέλος θα ήθελα να κλείσω με την αγαπημένη μου SEO υπηρεσία. Εδώ μπορείτε να βρείτε πως τα πάει το site σας στις μηχανές αναζήτησης και στα περισσότερα ranking sites (όπως Technorati, Alexa, κτλ.) καθώς και πολλές άλλες χρήσιμες πληροφορίες όπως εάν έχει γίνει σωστή χρήση των τίλων/headings (h1, h2, ktl.). Εάν το site είναι ολοκαίνουργιο η χρήση της  συγκεκριμένης υπηρεσίας δεν έχει και πολύ νόημα, εάν όμως το site υπήρχε και έχει γίνει κάποιο redesign, καλό θα είναι να του ρίξετε μια ματιά.

Ελπίζω η παραπάνω λίστα να βοηθήσει όσους ενδιαφέρονται να κάνουν τα site τους ακόμα καλύτερα, πιο επαγγελματικά και τηρώντας κάποιες διεθνής προδιαγραφές! Οι εν λόγω υπηρεσίες και εργαλεία παρέχονται εντελώς δωρεάν και μπορούν να χρησιμοποιηθούν πανεύκολα, ενώ οι πληροφορίες που συλλέγουν θα ικανοποιήσουν και τους πιο απαιτητικούς! Φυσικά δεν είναι ανάγκη το κάθε site να περνάει με επιτυχία όλα τα παραπάνω test (ειδικά τα accessibility test είναι αρκετά δύσκολο να επιτευχθούν ενώ όπως είναι λογικό διαφορετικού τύπου site χρειάζονται και άλλου επίπεδου accessibility), αλλά καλό θα είναι να ρίχνουμε μια καλύτερη ματιά σε αυτά που είτε φτιάχνουμε είτε παραλαμβάνουμε, γιατί στην Ελλάδα το έχουμε παρακάνει το θέμα με τα μη valid και unaccessible sites!

Pixel Cast, το νέο ελληνικό vidcast!

Ο Παναγιώτης Βρυώνης και ο Νίκος Δρανδάκης ξεκίνησαν ένα καινούργιο vidcast στο οποίο σχολιάζουν την τεχνολογική επικαιρότητα (κυρίως)! Το όλο εγχείρημα είναι ακόμα σε beta μορφή όπως χαρακτηριστικά μας ενημερώνουν και οι δύο συντελεστές του, δηλαδή θα δουν πόσο καλά θα πάει το πρώτο επεισόδιο και θα ενεργήσουν αναλόγως. Εγώ είμαι σίγουρος πως θα πάει καλά και η όλη προσπάθεια θα συνεχιστεί με επιτυχία! Το πρώτο επεισόδιο είναι ήδη στον “αέρα” (μάλλον στο internet), ενώ περισσότερες πληροφορίες μπορείτε να βρείτε στο επίσημο blog του vidcast. Το μόνο που θα ήθελα να ζητήσω προς το παρόν από τα παιδιά ένα RSS feed για το vidcast για να το περάσω στο Miro (δεν κατάφερα να το βρω με τίποτα). Καλή συνέχεια!

Open Social : Το απόλυτο API

Το Open Social είναι το νέο υπέρ-API της Google, το οποίο έχει σαν στόχο να διευκολύνει τους developers να δημιουργήσουν web εφαρμογές για social networking sites κάτω από ένα ενοποιημένο API. Μπορεί κάποιος να το χαρακτηρίσει και σαν την Java των social networking sites, αφού γράφοντας κάποια web εφαρμογή πάνω στο συγκεκριμένο API, θα μπορεί να χρησιμοποιηθεί σε όσα site υποστηρίξουν το Open Social. Τα site που έχουν ήδη συμφωνήσει είναι αρκετά, όπως Engage.com, Friendster, hi5, Hyves, imeem, LinkedIn, MySpace, Ning, Oracle, orkut, Plaxo, Salesforce.com, Six Apart, Tianji, Viadeo και XING, ενώ το Facebook είναι ο μεγάλος απών της λίστας (ας μην ξεχνάμε πως ένα πολύ μικρό κομμάτι μετοχών του Facebook κατέχει πλέον η Microsoft, η μεγαλύτερη αντίπαλος της Google).

Τα παραπάνω site λοιπόν θα αφομοιώσουν τα χαρακτηριστικά του Open Social (κάποιοι ήδη άρχισαν να το ονομάζουν και plug-in API) και θα λειτουργούν σαν “containers” των εφαρμογών του. Το σκεπτικό δηλαδή είναι ίδιο με αυτό του Facebook (όπου λειτουργεί σαν container των Facebook εφαρμογών), απλά στην περίπτωση του Open Social μιλάμε για κάτι πολύ πιο μεγάλο, το οποίο θα χρησιμοποιεί πολλά sites σαν “containers” και οι εφαρμογές θα μπορούν να τρέξουν native και χωρίς κανένα customization σε όλα αυτά! Από ότι διάβασα, αν και δεν είναι τίποτα σίγουρο ακόμα, η Google δεν θέλει να δημιουργίσει νέες markup και Query languages για την λειτουργία του API, σε στυλ FBML (Facebook Markup Language) and FQL (Facebook Query Language), αλλά σκέφτεται να στηρίξει όλο της το API σε W3C standard τεχνολογίες, όπως (X)HTML και Javascript! Εάν τελικά γίνει κάτι τέτοιο, ο οποιοσδήποτε γνωρίζει Javascript και HTML θα μπορεί να δημιουργήσει αμέσως εφαρμογές για το Open Social, κάτι που βρίσκω πολύ ενθαριντικό.

Η κίνηση της Google είναι πολύ έξυπνη, μιας και έχει καταλάβει που θα παιχτεί το παιχνίδι στο μέλλον (στο web software και όχι στο desktop/παραδοσιακό), ενώ προσωπικά μου αρέσει και η δυνατότητα που δίνει σε μικρότερους παίχτες (όπως πχ. έλληνες developers) να μπορέσουν να δημιουργήσουν κάτι που θα τρέχει σε πολλά μεγάλα site ταυτόχρονα και φυσικά την δυνατότητα ανάδειξης τους (κάτι που λείπει από την μικρή ελληνική αγορά). Φυσικά υπάρχει και ο γνωστός αντίλογος όπου η Google παρουσιάζεται σαν την Microsoft του web (κάτι που ισχυεί φυσικά), πως η εταιρεία θα ελέγχει ακόμα περισσότερα προσωπικά μας δεδομένα, πως προσπαθεί να ελέγξει άλλα site χρησιμοποιώντας την μηχανή αναζήτησης της και άλλες υπηρεσίες της (όπως το συγκεκριμένο API) και άλλα ανάλογα σενάρια. Σίγουρα έχουν κάποιο δίκιο, ωστόσο η δύναμη της Google στηρίζεται στους χρήστες της, κάτι που γνωρίζει καλύτερα από όλους, οπότε πρέπει να προσέξει χίλιες φορές πιο περισσότερο πριν αποφασίσει να εξοργίσει κάποιους από αυτούς και φυσικά να τους χάσει. Πάντως εγώ από την μεριά του developer, και ιδιαίτερα του έλληνα developer, θα με ενδιέφερε κάτι που φτιάχνω να το δει όσος περισσότερος κόσμος γίνεται και φυσικά εάν είναι καλό να πάρω τα ανάλογα credits.

Τέλος για όσους θέλουν να διαβάσουν περισσότερες πληροφορίες για το Open Social, μπορούν να ρίξουν μια ματιά στο επίσημο blog του καθώς και στα δύο πολύ ενδιαφέροντα άρθρα του Marc Andreessen.

Πως να κάνετε το blog σας να ξεχωρίσει από την μάζα. (Μέρος δεύτερο – Interaction και Navigation)

Σε προηγούμενο post ανάλυσα πως μπορούμε να κάνουμε το blog μας καλύτερο προσέχοντας και υλοποιώντας κάποια πράγματα στο design και το theme του. Σε αυτό το δεύτερο μέρος πηγαίνω το θέμα λίγο παραπέρα και ασχολούμαι με το πως μπορούμε να βελτιώσουμε το interaction (ή αλληλεπίδραση για όσους προτιμάνε τους ελληνικούς όρους) του blog μας, βοηθώντας με αυτόν τον τρόπο τους χρήστες μας να βρίσκουν εύκολα και γρήγορα αυτό που ψάχνουν. Όπως τόνισα και στο πρώτο post το περιεχόμενο είναι ο βασιλιάς, αλλά εάν δεν μπορεί να το εντοπίσει κάποιος εύκολα και γρήγορα, τότε ο περιεχόμενο μας δεν έχει και πολύ νόημα.

Σαν χρήστης του internet εδώ και τουλάχιστον 12 χρόνια, έχω συνειδητοποιήσει πως το navigation και γενικότερα interaction του χρήστη με κάποιο site ή blog είναι ένα από τα πιο παρεξηγημένα και παραμελημένα θέματα. Κανείς δεν του δίνει ιδιαίτερη σημασία, ενώ ο εκάστοτε designer/developer έχει την νοοτροπία πως εφόσον υπάρχει κάποια navigation bar που να δουλεύει, τότε ο καθένας θα ξέρει να την χρησιμοποιήσει και φυσικά θα βρει αυτό που αναζητάει. Όπως καταλαβαίνεται τα πράγματα δεν λειτουργούν έτσι ακριβώς και φυσικά δεν πρέπει να σκεφτόμαστε με αυτήν την λογική, είτε είμαστε επαγγελματίες του χώρου, είτε bloggers. Το να συνειδητοποιήσουμε και να καταλάβουμε το πρόβλημα είναι και το πρώτο βήμα της επίλυσης του! Στη συνέχεια, το όλο θέμα γίνεται ακόμα πιο απλό εάν ρωτήσουμε τον εαυτό μας τι είδους interaction θα θέλαμε να υπήρχε στο site/blog μας έτσι ώστε και ο πιο άπειρος χρήστης να μπορούσε και να το καταλάβει αλλά και να το χρησιμοποιήσει έτσι ώστε να βρει αυτό που ψάχνει.

Ας ξεκινήσουμε με τα βασικά λοιπόν και πιο συγκεκριμένα με το κεντρικό μενού ή navigation, όπως το προτιμώ! Ο παλιός (web 1.0), κλασικός τρόπος κατηγοριοποίησης των άρθρων, post κτλ. είναι η χρήση κατηγοριών! Οι περισσότεροι χρήστες είναι ήδη μαθημένοι σε αυτόν τον τρόπο αλληλεπίδρασης μιας και είναι πολύ εύκολα κατανοητός, απλά κατηγοριοποιείς τα post ανάλογα με το θέμα τους! Οι περισσότεροι χρήστες ακόμα και εάν δεν έχουν καθόλου εμπειρία στο internet μπορούν πολύ εύκολα να καταλάβουν τι είναι οι κατηγορίες σε ένα navigation menu, μιας και είναι πολύ συνηθισμένος τρόπος αλληλεπίδρασης και στις off-line ασχολίες τους (όλο και κάποιον φάκελο με συγκεκριμένα έγγραφα θα έχουν κατηγοριοποιήσει, όλο και κάποια συλλογή με κατηγοριοποιημένους δίσκους ή γραμματόσημα θα έχουν φτιάξει, κοκ.). Καλό θα είναι λοιπόν να προσφέρουμε όλες τις κατηγορίες μας στον τελικό χρήστη στην προσπάθεια αναζήτησης κάποιας πληροφορίας. Στο blog μου πχ. οι κατηγορίες των post μου βρίσκονται στο κεντρικό μενού, κάτω στην επιλογή Categories. Καλό θα είναι το συγκεκριμένο μενού να είναι απλό στην χρήση (να μην λειτουργεί με περίπλοκα drug ‘n drop κτλ.), να περιέχει ξεκάθαρες επιλογές και να είναι άμεσα διαθέσιμο σε όλες τις σελίδες του blog! Με αυτόν τον τρόπο δίνουμε την δυνατότητα σε όλους τους χρήστες (και ιδιαίτερα τους πιο άπειρους) οπουδήποτε και να βρεθούν στο blog μας, να μπορέσουν να αλληλεπιδράσουν μαζί του, και να φτάσουν στην πληροφορία/post που αναζητούν.

Ο νέος και πιο μοντέρνος (web 2.0) τρόπος κατηγοριοποίησης είναι τα tags τα οποία κάνουν ότι και οι κατηγορίες περίπου, αλλά είναι πολύ πιο ευέλικτα και ακριβή. Με τα tags λοιπόν δεν χρειάζεται να καταχωρείς το post σε μία κατηγορία (ή περισσότερες), απλά τους κολλάς πολλές ετικέτες (tags) έτσι ώστε να το ξεχωρίζεις. Με τον καιρό αυτές τις ετικέτες θα αυξάνονται, αλλά και θα ξεχωρίσουν αυτές που χρησιμοποιήτε πιο πολύ στα post σας. Από εκεί και πέρα ένα tag cloud παρουσιάζει πολύ όμορφα αυτές τις ετικέτες, ενώ προσφέρει στον χρήστη και ένα πιο όμορφο αλλά και ακριβή τρόπο αλληλεπίδρασης. Έτσι εάν κάποιος χρήστης για παράδειγμα επιλέξει ένα tag με το όνομα wordpress, αποκλείεται να μεταφερθεί σε κάποιο post που να μην αναφέρει κάτι για το wordpress (εκτός και εάν το έχουμε κάνει εσκεμμένα, αλλά μιλάμε για normal καταστάσεις!). Και το tag cloud θα πρέπει να είναι διαθέσιμο παντού (σε όλες τις σελίδες) και μάλιστα σε ευδιάκριτο σημείο – δεν μ’ αρέσει να το βρίσκω σε footers ή σε άλλα περίεργα σημεία κάποιου blog.

Τέλος, το τελευταίο βασικό στοιχείο αλληλεπίδρασης που μαζί με τα δύο προηγούμενα θα ολοκληρώσουν τον κεντρικό interaction πυρήνα ενός blog, δεν είναι άλλο από την αναζήτηση/search! Και η αναζήτηση πρέπει να είναι διαθέσιμη σε όλες τις σελίδες σε εμφανές σημείο, ενώ καλό είναι να μην το παρακάνουμε μαζί της (όπως με πολλές advance δυνατότητες, επιλογές, κουμπιά, κτλ.) γιατί πιο πιθανό είναι να μπερδέψουμε τους χρήστες μας, παρά να τους βοηθήσουμε. Επίσης μία εγγενής μηχανή αναζήτησης (αυτή δηλαδή που ψάχνει κατευθείαν το περιεχόμενο του blog μας) είναι πολύ καλύτερη από την χρήση μιας τρίτης που να ψάχνει το blog μας (όπως πχ. Google), αφού έχει πολύ καλύτερα αποτελέσματα, μιας και η πρώτη έχει πάντα το πιο up-to-date υλικό, ενώ στην δεύτερη περίπτωση εξαρτώμαστε από τα bots της μηχανής στην ανανέωση των καταχωρίσεων, αλλά και εύρεση του υλικού μας.

Από εκεί και πέρα και εφόσον έχουμε λύσει το πρόβλημα του βασικού interaction, ο εκάστοτε blogger έχει την ελευθερία να δημιουργήσει όσους άλλους τρόπους αλληλεπίδρασης θέλει (αρκεί να μην το παρακάνει κι’ όλας και καταντήσει το blog του μία μάζα από links!). Προσωπικά χρησιμοποιώ δύο επιπλέον λίστες, τα δημοφιλέστερα post τα οποία είναι πάντα διαθέσιμα σε οποιαδήποτε σελίδα, και τα σχετικά posts τα οποία είναι διαθέσιμα μόνο στις σελίδες των post (λογικό νομίζω). Αυτοί είναι δύο πολύ εύκολοι αλλά και χρήσιμοι τρόποι διαφήμισης του περιεχομένου του blog μας, αφού όποιος βρεθεί σε αυτό (είτε από κάποια μηχανή αναζήτησης, είτε από κάποιο link στο blog μας, κτλ.) είναι πολύ πιθανό να μείνει στο blog μας βρίσκοντας γρήγορα κάποιο από δημοφιλέστερα posts μας ή απλά επιλέγοντας κάποιο σχετικό με αυτό που μόλις διάβασε/βρήκε. Επίσης καλό θα είναι τα post σας να δημοσιεύουν τα tags στα οποία ανήκουν, μιας και αυτά δίνουν την επιλογή στον χρήστη να συνεχίσει εύκολα το ψάξιμο κάποιας ταμπέλας/tag (μιας και τα σχετικά άρθρα δεν είναι πολλές φορές και τόσο σχετικά).

Φυσικά υπάρχουν και άλλοι δημοφιλής τρόποι interaction σε blog τους οποίους προσωπικά δεν χρησιμοποιώ, γιατί πολύ απλά δεν τους θεωρώ πολύ χρήσιμους ή ότι κρύβουν κάποια σοβαρή λογική από πίσω. Μερικοί είναι το calendar/ημερολόγιο όπου εμφανίζει τις μέρες που δημοσιεύσατε κάποιο post (ανούσιο), τα archives/αρχεία όπου εμφανίζουν σε χρονολογικά αρχεία (πχ. μήνες) το τι έχετε γράψει (επίσης ανούσιο), τα most commented post (έχει κάποια λογική αλλά, δεν το βρίσκω και εξαιρετικά ενδιαφέρον), κτλ. Τους παραπάνω τρόπους αλληλεπίδρασης τους βρίσκω πολύ άσκοπους και προσωπικά πιστεύω πως η χρήση τους υπερφορτώνει τις σελίδες μας με links χωρίς τελικά να προσφέρουν κάτι ουσιαστικό στο blog μας.

Τα παραπάνω tips εκτός του ότι θα διευκολύνουν τους χρήστες σας να εντοπίσουν τα posts που ψάχνουν, αλλά και να μείνουν επιπλέον ώρα στο blog σας διαβάζοντας αυτά που εντόπισαν στην πορεία, είναι και εύκολοι τρόποι έξυπνου SEO! Με έναν σμπάρο δυο τριγώνια, δηλαδή… Μείνετε συντονισμένοι και για επιπλέον blogging tips!

Mozilla Prism

Μετά το Adobe AIR και το Microsoft Silverlight ο συναγωνισμός για την δημιουργία του απόλυτου RIA (Rich Internet Application) developing environment φαίνεται να μεγαλώνει! Η γνωστή σε όλους Mozilla αποφάσισε να μπει και αυτή στο παιχνίδι προσφέροντας την δικιά της λύση στον εν λόγω χώρο, με το όνομα Prism! Από μία γρήγορη ματιά που έριξα στο επίσημο blog η τεχνολογία φαίνεται αρκετά ενδιαφέρουσα και υπόσχεται πολλά, ενώ αξίζει να σημειωθεί το γεγονός ότι θα την στηρίξει και συμπληρώσει και ο καινούργιος browser της εταιρείας Firefox 3. Μία alpha version για Windows λειτουργικά είναι ήδη έτοιμη ενώ περιμένουμε και τις Linux και OSX υλοποιήσεις.

Γενικότερα πιστεύω ότι η μεταβατική περίοδος στις RIA (on-line/offline) εφαρμογές έχει φτάσει και όπως όλα δείχνουν οι εταιρείες θα κάνουν τα πάντα για να κάνουν την τεχνολογία τους να επικρατήσει έναντι των άλλων, μιας και μιλάμε για μια αγορά πολλών δολαρίων. Τα λεφτά φυσικά δεν είναι το μόνο κίνητρο για τις εν λόγω εταιρείες, άλλωστε το Adobe AIR και το Prism προσφέρονται δωρεάν (και το developing environment όσο και το runtime τους – για την Microsoft είμαι σίγουρος πως προσφέρει δωρεάν το runtime, ωστόσο δεν είμαι σίγουρος για το developing environment). Το σημαντικότερο για τις εταιρείες είναι να καταφέρουν να κάνουν την δικιά τους τεχνολογία και κατ’ επέκταση runtime την επιλογή των developer και χρηστών αντίστοιχα. Μέχρι τώρα εάν θα αποφάσιζα να ασχοληθώ με RIA εφαρμογές θα κατέληγα σίγουρα στο Adobe AIR για αρκετούς λόγους, ωστόσο πλέον οι ισορροπίες αλλάζουν μιας και το Prism δείχνει αρκετά δυνατό ενώ προσφέρει και την σιγουριά πως στο μέλλον η τεχνολογία θα μείνει ανοιχτή και δωρεάν. Για να δούμε τελικά ποιο θα επικρατήσει…