Τα καλύτερα links – Ιούλιος/Αυγουστος 09

Web Design

  • SlickMap CSS : Για εύκολα και γρήγορα CSS maps.
  • HTML 5 validator : Ο πρώτος – και πολύ πειραματικός όπως γράφουν και οι δημιουργοί του – HTML5 validator.

Web Development

  • Modernizr : HTML5 και  CSS3 εδώ και τώρα! Μπορεί να το χρησιμοποιήσω και στο επόμενο official Tsevdos.com WP theme που ετοιμάζω (ή μήπως είναι νωρίς ακόμα; )…
  • BBC Glow : H Javascript library του BBC!
  • qWikiOffice Web Desktop : Ακόμα μία Javascript library, με έμφαση σε desktop-like interfaces/λειτουργίες.
  • Javascript InfoVis Toolkit : Και άλλη μία για Interactive Data Visualizations και άλλα τέτοια περίεργα…

Tools

  • Open Atrium : Γρήγορο, εύκολο και πάνω από όλα οικονομικό intranet site! Με πολλά features και φυσικά open source. Απλά συμφέρει…
  • MeeCSS : Για να μην καταχωρείται τα site σας ένα-ένα στις CSS galleries…
  • Color Suckr : “Ρουφήξτε” τα χρώματα οποιασδήποτε φωτογραφίας.

Accessibility/Usability

  • 247 web usability guidelines : Για όσους θέλουν να ασχοληθούν σοβαρά με το άθλημα.
  • OpenHallway : Άλλη μια χρήσιμη υπηρεσία για on-line usability tests.

Plug ins

  • jQuery Blend : Πολύ απλό και εντυπωσιακό εφέ, ιδιαίτερα για μενού.
  • jQuery Flip : Για γυριστές καταστάσεις (δείτε το demo, δεν ξέρω τι άλλο να γράψω!)…

Blogs

  • SSMaP : Ένα podcast με την sugarenia και τον Στέλιο, με θέμα το web φυσικά. Κυκλοφόρησαν ήδη 2 επεισόδια
  • Pink Moustache : Το ροζ μουστάκι ήταν η ελληνική καλοκαιρινή έκπληξη που χρειαζόμουν! Πραγματικά μ’ αρέσει να βλέπω τέτοιες προσπάθειες από τόσο ταλαντούχους ανθρώπους.

Δωρεάν/Freebies

Το τέλος της ΧHTML2…

H XHTML2 πεθαίνει και επίσημα πλέον, μιας και το W3c group ανακοίνωσε πως μέχρι το τέλος του 2009 θα σταματήσουν όλες οι εργασίες του XHTML2 group. Ανακοίνωσε επίσης πως τα μέλη του XHTML2 working group θα ενισχύσουν την ομάδα της HTML5, οπότε ο νικητής πλέον είναι ξεκάθαρος (αν και αυτό το γνωρίζαμε τουλάχιστον 2 χρόνια νωρίτερα, απλά περιμέναμε και μια πιο επίσημη ανακοίνωση).

Η markup που θα μας απασχολήσει στο μέλλον λοιπόν είναι η HTML5, οπότε αρχίστε να ενημερώνεστε! Ήδη έχουν κυκλοφορήσει κάποιοι τρόποι για να την χρησιμοποιήσετε εδώ και τώρα, μιας και πολλοί καινούργιοι browsers ήδη υποστιρίζουν αρκετά χαρακτηριστικά της, ενώ στους παλιότερους (και στον IE) θα πρέπει να δημιουργήσετε τα HTML5 elements που χρησάζεστε σε Javascript (μια όχι και τόσο καλή ιδέα) για να τους προσθέσετε styles. Προσωπικά απλά ενημερώνομαι και μόλις τα πράγματα υποστιριχθούν όσο πρέπει, θα είμαστε πανέτοιμοι για το μεγάλο switch…

Τα καλύτερα links – Ιούνιος 09

Έμπνευση

  • 1 γραμμή CSS grid framework : Το έβαλα πιο πολύ για έμπνευση και όχι σαν web design εργαλείο, μιας και δεν το θεωρώ framework. Παραδέχομαι ωστόσο τον τύπο που το έφτιαξε γιατί με λίγη φαντασία και με ακόμα λιγότερο κώδικα, έφτιαξε κάτι που μπορεί να κοντράρει κάποια πολύ πιο advanced CSS frameworks…

Web Design

  • Adobe BrowserLab : Μια επώνυμη και δωρεάν (προς το παρόν) υπηρεσία, για να ελέγχεται τα sites σας σε πολλούς συνδυασμούς browsers και OS.

Web Development

  • Ο φίλος, συνάδελφος και παλιός συμμαθητής μου John D.Wells, το έχει ρίξει τώρα τελευταία στο Expression Engine, με αποτέλεσμα να δημιουργήσει μία πολύ ενδιαφέρον λίστα από links για τους νέους αλλά και τους πιο έμπειρους ΕΕ developers. Εγώ πάντως της έριξα μια ματιά και ήδη αρχίζω να μπαίνω στην EE λογική…
  • Perch : Το πιο απλό και εύκολο στην χρήση CMS που έχετε δει!
  • Moousture : Η πρώτη mouse gesture Javascript library.
  • To prettyPrint είναι μια πολύ καλή λύση για Javascript debugging. Δείτε το videακι και θα καταλάβετε αμέσως τι κάνει…
  • Το JSLint, είναι για πολλούς Javascripts experts ο Javascript validator! Τον έχει φτιάξει ο guru του είδους, Douglas Crockford.

Browsers

  • Ο Opera Unite, ακούγεται σαν μια πολύ καλή ιδέα, ωστόσο έχω την αίσθηση πως έχει πολύ πολύπλοκα concepts για απλούς χρήστες. Οι πιο έμπειροι την βρίσκουν με Firefox, οπότε πάλι δεν τον βλέπω καλά τον πολύ δυνατό Opera Unite

Search Engine Optimization (SEO)

Accessibility/Usability

  • 10 φτηνές λύσεις/εργαλεία για usability tests. Η αλλιώς απ’ το ολότελα καλή και η Παναγιώταινα…
  • Ακόμα μια καλή κίνηση από την Adobe, η οποία έχει πάρει φόρα τώρα τελευταία. Στο καινούργιο της blog λοιπόν, με τίτλο Adobe Accessibility, ενημερώνει τους χρήστες των προγραμμάτων της για τα accessibility χαρακτηριστικά τους, καθώς και για το πως να τα χρησιμοποιούν με τον σωστό τρόπο. Μπράβο της, και μακάρι όλες οι εταιρείες να έκαναν κάτι ανάλογο…

Plug ins

  • jQuery TOOLS : Μια συλλογή από plug ins, για να δημιουργήται εύκολα και γρήγορα τα πιο κλασικά web 2.0 εφέ… Κάτι που κατά την γνώμη μου έπρεπε να υπάρχει στο jQuery UI.
  • jMonthCalendar : Ακόμα ένα calendar plug in για το jQuery, με πολλά features και δυνατότητες.

Blogs

  • Ότι θα θέλατε να μάθετε για την HTML5, αλλά φοβόσασταν να ρωτήσετε, βρίσκεται στο blog HTML5 Doctor… Το δημοσίευσε και η sugar στο CSS3 (από εκεί το είδα) αλλά δεν θα τους χαλάσει ένα ακόμα back link… Αξιοσημείωτο είναι πως το blog τους είναι φτιαγμένο με HTML5!

Η 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)! Καλό διάβασμα!

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.

Το WebKit είναι η πρώτη rendering engine που υποστιρίζει client-side database αποθήκευση!

Πραγματικά δεν μπορώ να καταλάβω γιατί αυτή η είδηση δεν πήρε τις διαστάσεις που θα έπρεπε, μιας και την θεωρώ εξαιρετικά σημαντική, τόσο για την εξέλιξη του internet όσο και των εφαρμογών του! Το WebKit λοιπόν, η μηχανή rendering που κρύβεται πίσω από πολλούς browsers, όπως Safari και Konqueror, είναι πρώτη μηχανή rendering που θα υποστηρίξει HTML5 client-side database αποθήκευση. Αυτό με πολύ απλά λόγια σημαίνει πως οι browsers που βασίζονται στο WebKit, θα έχουν την δυνατότητα database αποθήκευσης στην client-side (browser) μεριά! Το συγκεκριμένο feature θα δώσει άπειρες επιπλέον δυνατότητες και προοπτικές στους developers οι οποίοι θα έχουν στην διάθεση τους ένα ακόμη χαρακτηριστικό, που μέχρι τώρα δεν υπήρχε και φυσικά περιόριζε πολύ το web σαν πλατφόρμα εφαρμογών. Όπως όλα δείχνουν οι browser θα εξελιχθούν στην μία και μοναδική εφαρμογή που θα χρειάζεται ο μέσος χρήστης, μιας και σιγά-σιγά μετατρέπονται σε υπέρ-API για όλες τις κατηγορίες εφαρμογών.

Είμαι περίεργος να δω την απάντηση της Mozilla με την Gecko rendering engine, καθώς και της Opera στο εν λόγω θέμα (η Microsoft προβλέπω να αργεί πολύ ακόμα). Το μόνο που εύχομαι είναι να ακολουθήσουν όλοι τα επίσημα standards έτσι ώστε να μην έχουμε browser-wars 2!