Google Wave, μια πρώτη ματιά

Μετά από περίπου 10 μέρες (περίπου), κατάφερα επιτέλους να τελειώσω την παρουσίαση του Google Wave και να βγάλω και εγώ τα δικά μου συμπεράσματα. Για να μην σας κρατάω σε αγωνία λοιπόν, πιστεύω πως το Wave είναι η καλύτερη web platform που έχω δει μέχρι στιγμής – μιας και με τίποτα δεν μπορείς να το χαρακτηρίσεις ως ένα ακόμη καταπληκτικό web application – και πιστεύω πως θα αλλάξει τον τρόπο που επικοινωνούμε, όχι μόνο με άλλους συναδέλφους, φίλους και γενικότερα e-συμπολίτες μας, αλλά και με όλες τις web εφαρμογές που χρησιμοποιούμε αυτήν την στιγμή.

Ακούγεται λίγο υπερβολικό, και μάλιστα είμουν ο πρώτος που είχα σοβαρές επιφυλάξεις για το συγκεκριμένο project, μιας και ατάκες του στυλ “ξανα-ανακαλύπτουμε το e-mail, το IM (instant messaging), το web collaboration” κτλ. είναι κάπως δύσπιστες από μόνες τους. Οι τύποι όχι μόνο πραγματοποιησαν αυτά που υποσχέθηκαν, δηλαδή ξανα-εφεύραν το e-mail, το ΙΜ, το web-based collaboration και πολλά άλλα, αλλά πήγαν και πολλά βήματα παραπέρα, έτσι ώστε να μπορείς μέσα από ένα και μοναδικό web interface, να χρησιμοποιείς όλες τις web εφαρμογές σου (blogging, micro-blogging, social-media, photo-sharing κτλ.) καθώς και να κάνεις extend το Wave έτσι ώστε να σου παρέχει ακριβώς αυτό που θέλεις! Θα μπορούσα να το χαρακτηρίσω και ως Web OS, με την ένοια πως μπορείς να τρέξεις όλες τις άλλες web εφαρμογές μέσα από αυτό, να γράψεις custom web εφαρμογές γι αυτό, κτλ. Όπως καταλάβατε είμαι πολύ ενθουσιασμένος με την ιδέα και περιμένω πως και πως να ξεκινήσει και επίσημα.

Η τελευταία φορά που είχα ενθουσιαστεί τόσο με web τεχνολογία ήταν το RSS, ωστόσο είμαι βέβαιος πως το Google Wave θα θέσει νέα standards και θα αλλάξει ακόμα πιο δραστικά τον τρόπο με τον οποίο χρησιμοποιούμε το web.

Yahoo! Web Analytics

Την Yahoo! πάντα την συμπαθούσα σαν εταιρεία, αλλά δυστυχώς τώρα τελευταία έχει αρχίσει να με απογοητεύει με τις επιλογές της. Ο μόνος στόχος της πλέον είναι να χτυπήσει την Google με οποιοδήποτε τρόπο, χωρίς ωστόσο να το κάνει έξυπνα δημιουργώντας νέες υπηρεσίες που θα εντυπωσιάσουν και θα διευκολύνουν τους χρήστες.

Έτσι μετά από πάρα πολύ καιρό από την εμφάνιση του Google Analytics, μια φανταστική υπηρεσία της Google, με φανατικό κοινό και πάρα πολλούς χρήστες, η Yahoo! δημιουργεί το Yahoo! Web Analytics και προσπαθεί να πάρει και εκείνη μερίδιο από την πίτα των web analytics λύσεων.

Η υπηρεσία δείχνει καλοστημένη και με πολλά χαρακτηριστικά (δεν την χρησιμοποίησα), ωστόσο δεν πιστεύω να καταφέρει να κάνει πολλά πράγματα, γιατί πολύ απλά έρχεται χρονικά δεύτερη, ενώ έχει να αντιμετωπίσει και μια από τις καλύτερες web εφαρμογές που έχουν φτιαχτεί. Επίσης, όσοι έχουν ήδη έναν Google Analytics λογαριασμό δεν υπάρχει περίπτωση να αλλάξουν υπηρεσία, γιατί δεν νομίζω να θέλει κάποιος να αρχίσει να συλλέγει στατιστικά σε κάποια άλλη υπηρεσία από το μηδέν…

Πιστεύω πως η Yahoo! δεν πρέπει να μπει σε αυτήν την διαδικασία αλλά να προσπαθήσει να δημιουργήσει νέες εφαρμογές, όπως για παράδειγμα το Fire Eagle, και όχι να αντιγράψει ήδη υπάρχοντες. Ότι έχασε έχασε, πάμε για άλλα!

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

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 δείχνει αρκετά δυνατό ενώ προσφέρει και την σιγουριά πως στο μέλλον η τεχνολογία θα μείνει ανοιχτή και δωρεάν. Για να δούμε τελικά ποιο θα επικρατήσει…