Το συνέδριο
Το REMIX '07 (11 και 12 Ιουνίου, 2007, Βουδαπέστη) αποτέλεσε το Ευρωπαϊκό συνέδριο της Microsoft γύρω από τις τεχνολογίες Web. Το συνέδριο διοργανώθηκε στον απόηχο του MIX'07, του σημαντικότερου event της Microsoft για τεχνολογίες Web, για να δώσει την ευκαιρία στους Ευρωπαίους developers, designers και decision makers να αποκτήσουν μια ευρεία γνώση των τεχνολογιών και πρακτικών Web της Microsoft. Σε μια μαγευτική Ευρωπαϊκή πόλη, στον εντυπωσιακό χώρο του Μουσείου Καλών Τεχνών της Βουδαπέστης και για δύο ημέρες, είχαμε την ευκαιρία να συναντηθούμε και να συνομιλήσουμε με συναδέλφους μας γύρω από το "νέο Internet", καθώς και τα εργαλεία και τις τεχνολογίες που θα μας βοηθήσουν να το δημιουργήσουμε. Το συνέδριο είχε δύο θεματικές ενότητες οι οποίες παρουσιάζονταν ταυτόχρονα. Η πρώτη αφορούσε τους designers ενώ η δεύτερη τους developers. Οι συμμετέχοντες έπρεπε να δηλώσουν την θεματική ενότητα που τους ενδιαφέρει αλλά η απόφαση αυτή δεν ήταν υποχρεωτική μιας και μπορούσαμε να εναλλάσσουμε τις αίθουσες χωρίς καμία κύρωση.
Οι ομιλητές
Ο κεντρικός ομιλητής του REMIX'07 ήταν ο Scott Guthrie (http://www.scottgu.com/), γενικός διευθυντής (General Manager) στον τομέα των Development Tools. Υπεύθυνος των τεχνικών ομάδων που βρίσκονται πίσω από την υλοποίηση των :
- Common Language Runtime (CLR)
- .NET Compact Framework
- ASP.NET / Atlas
- Windows Forms
- Windows Presentation Foundation
- Microsoft Silverlight (WPF/e)
- IIS 7.0
- Commerce Server
- Visual Web Developer
- Visual Studio Tools for WPF
Από την Microsoft, παρουσίαση έκανε και ο Pete LePage (http://blogs.msdn.com/petel/) ο οποίος αποτελεί τον υπεύθυνο προϊόντων για τα δικτυακά εργαλεία της Microsoft (Product Manager for Web Tooling). Ο Pete, αποτελεί το άτομο που εξασφαλίζει ότι τα προϊόντα Internet Explorer, Visual Web Developer και Expression Web καλύπτουν τις απαιτήσεις των πελατών της Microsoft.
Σημαντική ήταν και η παρουσία της Molly Ε. Holzschlag. Η Molly είναι γνωστή συνήγορος, εκπαιδευτικός, και συντάκτης προτύπων Ιστού (Web standards advocate). H Molly εκπαιδεύει σχεδιαστές ιστοσελίδων πάνω σε θέματα υλοποίησης βιώσιμων, συντηρήσιμων, προσιτών, διαλογικών και όμορφων ιστοχώρων. Είναι συγγραφέας 34ων βιβλίων ένα εκ των οποίων είναι το «The Zen of CSS Design»
Εντυπωσιακός ήταν και ο Steve Marx (http://www.smarx.com/), ο οποίος είναι πρώην developer των Windows και τώρα δουλεύει στην Microsoft σαν ευαγγελιστής του Asp.net AJAX.
Ελαφρώς άτυχος ήταν ο ομιλητής Beau Ambur (http://beaumix.spaces.live.com/) στον οποίο δεν λειτούργησαν με την πρώτη οι δύο εφαρμογές που υλοποίησε κατά την διάρκεια των παρουσιάσεων του. Ο Beau είναι ο CEO και ιδρυτής της Metaliq η οποία έχει να παρουσιάσει μερικά πολύ εντυπωσιακά παραδείγματα σε SilverLight όπως την online επεξεργασία video.
O Paul Dawson (http://blogs.conchango.com/pauldawson/) είναι ο υπεύθυνος εμπειρίας καταναλωτών (Experience Director) της Conchango. Η εταιρία του αποτελεί μια από τις κορυφαίες ευρωπαϊκές εταιρίες σχεδιασμού και υλοποίησης web sites.
Ο Wayne Smith (http://www.wayne-smith.org/) είναι ο Group Product Manager για το Microsoft Expression και αποτελεί μέλος της οικογένειας της Microsoft από τα μέσα του 2005 ενώ παλιότερα υπήρξε technical product manager της Macromedia Europe.
Τέλος μίλησαν και οι George Moore και Koji Kato που ανήκουν στην ομάδα ανάπτυξης της πλατφόρμας Windows Live.
Οι παρουσιάσεις
Ο Scott Guthrie έκανε την πρώτη παρουσίαση του συνεδρίου (ή οποία ήταν κοινή για τους designers και τους developers) παρουσιάζοντας σε γενικές γραμμές τις νέες τεχνολογίες και τις δυνατότητες που έχουμε με τα νέα εργαλεία και πλατφόρμες της Microsoft. Ειδικότερα, έκανε μια εισαγωγή στην νέα πλατφόρμα ανάπτυξης web εφαρμογών που ονομάζεται SilverLight, παρουσίασε το νέο πακέτο ανάπτυξης εφαρμογών Expression Studio το οποίο θα είναι άρρηκτα συνδεδεμένο με το νέο Visual Studio 9 (με κωδικό όνομα Orcas) και τέλος έκλεισε την παρουσίαση του δείχνοντας μας παραδείγματα δικτυακών εργαλείων τα οποία υλοποιήθηκαν πάνω στο νέο SilverLight.
Μετά το εισαγωγική παρουσίαση, ακολούθησε μια 2ωρη παρουσίαση («Building Silverlight Applications using .NET») για τον τρόπο ανάπτυξης εφαρμογών στο SilverLight, η οποία αφορούσε τους developers. Σε αυτή την παρουσίαση οι προγραμματιστές μάθανε πως γίνεται ο σχεδιασμός και η υλοποίηση μιας εφαρμογής σε SilverLight καθώς και τις νέες δυνατότητες που αποκτούν εκτελώντας κώδικα στον τελικό καταναλωτή της ιστοσελίδας και όχι στον κεντρικό εξυπηρετητή που φιλοξενεί την σελίδα. Παράλληλά έγινε σύγκριση μεταξύ της ταχύτητας εκτέλεσης κώδικα γραμμένος στο SilverLight σε σχέση με την Javascript η οποία μέχρι στιγμής αποτελούσε τον πιο διαδεδομένο τρόπο για να εκτελεί κώδικα ο browser του πελάτη. Χαρακτηριστικό παράδειγμα αποτελεί τον σκάκι που βρίσκεται στην ιστοσελίδα http://silverlight.net/samples/1.1/chess/run/default.html, το οποίο εκτελεί έναν απλό αλγόριθμο δενδρικής αναζήτησης υλοποιημένο σε javascript και σε SilverLight όπου φαίνεται ξεκάθαρα ότι ενώ η Javascript μπορεί να ελέγξει το πολύ μέχρι 1000 κόμβους το δευτερόλεπτο, ο κώδικα σε SilverLight μπορεί να ελέγξει περίπου 1,5 εκατομμύρια κόμβους.
Παράλληλα με την παρουσίαση για τους προγραμματιστές, ο Pete LePage έκανε μια παρουσίαση για τους σχεδιαστές εφαρμογών με τίτλο «Search Engine Optimization with Rich Media». Στην συγκεκριμένη παρουσίαση προσπάθησε να εξηγήσει πως γίνεται να μορφοποιηθεί κατάλληλα το περιεχόμενο των ιστοσελίδων ώστε να είναι εύκολα προσβάσιμο από τις μηχανές αναζήτησης. Οι μηχανές αναζήτησης αποτελούν το βασικό εργαλείο ανεύρεσης πληροφοριών από το διαδίκτυο και η υλοποίηση «φιλικών» ως προς τις μηχανές αναζήτησης ιστοσελίδων αποτελεί τον μοναδικό τρόπο να μοιραστείς πληροφορίες με τους υπόλοιπους χρήστες του internet. Προς αυτή την κατεύθυνση παρουσιάστηκαν ορισμένες βασικές αρχές που πρέπει να ακολουθούνται κατά την υλοποίηση δικτυακών εφαρμογών όπως:
- η χρήση Url Rewriters,
- η χρήση το πολύ 2 παραμέτρων στο query,
- η αποφυγή των postbacks στα links,
- η απενεργοποίηση του viewstate για να είναι όσο το δυνατόν πιο κοντά στο αρχικό html tag το περιεχόμενο της σελίδας,
- η επιλογή σωστών και περιγραφικών τίτλων για τις σελίδες,
- η χρήση meta tag για την περιγραφή του περιεχόμενου και τέλος
- η αποφυγή σελίδων λάθους 404.
Η παρουσίαση ασχολήθηκε επίσης με το πως μπορεί να γίνει αναγνώσιμη μια σελίδα με Rich Media content από τις μηχανές αναζήτησης οι οποίες δεν μπορούν να κατανοήσουν τέτοιο περιεχόμενο. Τέλος έγινε αναφορά στο νέο κίνημα των Semantic HTML το οποίο επιβάλει την μορφοποίηση του περιεχομένου μιας σελίδας με βάση της σημασιολογία του και όχι την τοποθέτηση του ή την εικαστική του μέσα στην σελίδα. Βασικές αρχές όπως το consistent linking και οι χρήση των κατάλληλων H# tags αναφέρθηκαν και επεξηγήθηκε ο τρόπος και η συχνότητα χρήσης τους.
Στην συνέχεια, ενώ ήταν προγραμματισμένη μια δεύτερη παρουσίαση για τους designers με τίτλο «The Desktop and Browser Evolution», λόγω ασθένειας της ομιλήτριας Carrie Longson δεν έγινε με αποτέλεσμα να παρακολουθήσουμε το δεύτερο μέρος της παρουσίασης του Scott Guthrie για το SilverLight.
Η τρίτη παρουσίαση που αφορούσε τους σχεδιαστές έγινε από την Molly Holzschlang με τίτλο «Thinking in CSS: How to build great looking sites». Σε αυτή την παρουσίαση, η Molly έκανε εισαγωγή στα Cascading Style Sheets εξηγώντας τα πλεονεκτήματα που αποκομίζουν οι σχεδιαστές από την χρήση τους. Ειδικότερα, ανέφερε ότι πέρα από την εύκολη συντήρηση και ανανέωση που κερδίζουμε χρησιμοποιώντας css, οι σελίδες είναι πιο «φιλικές» προς τις μηχανές αναζήτησης. Εδώ πρέπει να αναφερθεί ότι η Molly παρουσίασε και μια βιβλιοθήκη με Javascripts υλοποιημένη από τον Dean Edwards η οποία ονομάζεται ie7 scripts και με την βοήθεια της οποίας ο internet explorer 6 συμπεριφέρεται όπως ο internet explorer 7 όσον αφορά τα style sheets. Η βιβλιοθήκη διατίθεται δωρεάν στην σελίδα http://dean.edwards.name/ie7/.
Παράλληλα, στην αίθουσα για τους προγραμματιστές ο Steve Marx παρουσίαζε τα Gadgets στην παρουσίαση του με τίτλο «Developing Gadgets for Windows Live, Vista Sidebar and your own Site». Η σημαντική πληροφορία που απέσπασαν οι προγραμματιστές είναι ότι τα Gadgets αποτελούν απλές html σελίδες με αποτέλεσμα οποιαδήποτε εφαρμογή σε html ή και SilverLight μπορεί να γίνει Gadget απλά και μόνο συμπιέζοντας την σε ένα zip το οποίο μετονομάζεται για να έχει κατάληξη .gg και προσθέτοντας ένα μανιφέστο μέσα στο zip.
Η πρώτη μέρα έκλεισε με την παρουσίαση με τίτλο «Designing Stunning Sites with Silverlight» του Beau Ambur για τους designers στην οποία υλοποιήθηκε μια εφαρμογή σε SilverLight με χρήση του νέου εργαλείου Expression Suite. Η συγκεκριμένη εφαρμογή έδειχνε μια πανοραμική φωτογραφία στην οποία μπορούσε να προηγηθεί ο χρήστης. Στους developers, o Steve Marx συνέχισε με την παρουσίαση «Build Your Own Video Site» στην οποία παρουσίασε το νέο streaming media add-on για τον IIS7 και υλοποίησε μια πλήρως διαδραστική σελίδα με SilverLight χρησιμοποιώντας streaming video.
Την δεύτερη μέρα ξεκίνησε με μια κοινή για τους σχεδιαστές και τους προγραμματιστές παρουσίαση με τίτλο «WPF and Silverlight: Creating designs that will Captivate not Intimidate users» από τον Paul Dawson. Σε αυτή την παρουσίαση προβλήθηκαν πρότυπα για το πως πρέπει να είναι οι εφαρμογές (είτε αν είναι φτιαγμένες σε WPF, ή σε SilverLight ή ακόμα και σε flash) ώστε να μην τρομάζουν τον χρήστη με τις πολλές δυνατότητες που έχουν. Παράλληλα, έθιξε το τρόπο με τον οποίο θα πρέπει να συνεργάζονται οι σχεδιαστές με τους προγραμματιστές ώστε να υλοποιούνται εφαρμογές που είναι εφικτές από άποψη τεχνολογίας και παράλληλα να είναι ελκυστικές στους καταναλωτές.
Στην συνέχεια, οι designers είχαν την ευκαιρία να παρακολουθήσουν τον Wayne Smith στην παρουσίαση του «Designing Rich Client Experiences with Expression Blend and WPF» κατά την οποία ξεδίπλωσε πολλές πτυχές του νέου εργαλείου Expression Blend. Ειδικότερα, σε αυτή την παρουσίαση δημιούργησε μια εφαρμογή στο Windows Presentation Foundation χρησιμοποιώντας μόνο το Expression Blend και χωρίς να γράψει γραμμή κώδικα. Την ίδια ώρα, ο Pete LePage έδινε την διάλεξη με τίτλο «Using Visual Studio "Orcas" to design and develop rich AJAX enabled Web sites» για τους προγραμματιστές. Η παρουσίαση εστίασε στα καινούργια features που θα έχει το νέο Visual Studio με κυριότερο από όλα τα AJAX intellisense και την γενικότερη εγγενή υποστήριξη του AJAX και τα νέα controls που ενσωματώθηκαν στο .net 3.5.
Ο Wayne συνέχισε στο designer session με την παρουσίαση «Design in Motion: Video Production Workflow» όπου παρουσίασε τον Expression Media Encoder και πως μπορούν να συμπιεστούν video και να ενσωματωθούν με δυναμικό περιεχόμενο. Από την άλλη, οι developer θαύμασαν τον Steve Marx ο οποίος με την παρουσίαση του με τίτλο «Exploring Ajax Patterns» είχε την ευκαιρία να επιδείξει την ταχύτητα και ακρίβεια που έχει στο να γράφει κώδικα. Σε αυτή την παρουσίαση σχολίασε διάφορες λεπτομέρειες που μπορεί να έχουν ξεφύγει στους περισσότερους προγραμματιστές που χρησιμοποιούν AJAX όπως την αποδοτική χρήση των triggers και την χρήση web services για την αποφυγή των συνεχών postbacks. Τέλος, έκλεισε την παρουσίαση του υλοποιώντας μια AJAX εφαρμογή η οποία συγχρόνιζε streaming video με δυναμικό περιεχόμενο.
Η μέρα τέλειωσε για τους developers με την δίωρη παρουσίαση των George Moore & Koji Kato με τίτλο «Using Windows Live Services in Your Own Web Application» στην οποία παρουσιάστηκαν τα Live Services που προσφέρει η Microsoft για να τα ενσωματώσουν οι developers στις ιστοσελίδες τους (όπως το Maps, Messenger και το Hotmail) και η τιμολογιακή πολιτική τους. Αντιθέτως, οι σχεδιαστές είχαν την ευκαιρία να παρακολουθήσουν την δεύτερη παρουσίαση της Molly Holzschlag με τίτλο «Web Standards and IE7» στην οποία παρουσιάστηκαν τα «κρυφά» (για τους περισσότερους) features που προσφέρουν τα CSS και τα επερχόμενα features που θα προσφέρουν οι καινούργιες εκδόσεις. Την μέρα για τους σχεδιαστές, έκλεισε ο Paul Dawson με την παρουσίαση του με τίτλο «Killer Digital Reading Experiences» στην οποία παρουσίασε την εφαρμογή που έχει αναπτύξει η εταιρία τους για την εφημερίδα Daily Mail και πως μπορούμε να επωφεληθούμε από τα νέα εργαλεία της ομάδας Advanced Reading Technologies της Microsoft με κυριότερο από όλα το Commercial Publishing SDK.
Οι παρουσιάσεις του συνεδρίου βρίσκονται στον δικτυακό τόπο http://www.microsoft.com/hun/ceeremix2007/agenda.aspx
Τεχνολογίες που παρουσιάστηκαν
SilverLight
Το SilverLight αποτελεί μια νέα πλατφόρμα ανάπτυξης εφαρμογών η οποία έχει πολλά κοινά με το .net framework. Στην πράξη αποτελεί μια ελαττωμένη έκδοση του .net framework το οποίο υποστηρίζει τις βασικές λειτουργίες που γνωρίζουν οι προγραμματιστές του .net. Το SilverLight αποτελεί ένα web browser plugin (αντίστοιχο με το Adobe flash plugin) το οποίο διαβάζει το xaml αρχείο που περιέχει την μορφή και διάφορες ενέργειες της φόρμας καθώς και ένα dll το οποίο περιέχει τον compiled κώδικα που έχει υλοποιήσει ο developer. Έχοντας αυτές τις πληροφορίες, ο browser μπορεί να εκτελέσει τον κώδικα. Το γεγονός ότι αποτελεί browser plugin έχει αναγκάσει τους βασικούς προγραμματιστές του framework να ελαττώσουν τις δυνατότητες του SilverLight για να κρατήσουν μικρό το εκτελέσιμο που πρέπει να εγκαταστήσουν όσοι θέλουν να επισκεφτούν ένα site φτιαγμένο με την τεχνολογία αυτή. Ένα από τα βασικά πλεονεκτήματα της χρήσης του SilverLight σε σχέση με άλλες browser scripting γλώσσες είναι η ταχύτητα εκτέλεσης η οποία φτάνει και 1000 φορές πιο γρήγορα σε σχέση με την Javascript.
Windows Presentation Foundation
To WPF αποτελεί ένα νέο τρόπο υλοποίησης windows εφαρμογών. Παρόλο που έχει ενσωματωθεί με το .net framework 3.0, ο σχεδιασμός φορμών ήταν αρκετά περιορισμένος με τα addons που κυκλοφόρησαν για το Visual Studio 2005. Μέσω του συνεδρίου και ειδικότερα με την παρουσίαση του Wayne Smith έγινε ξεκάθαρο ότι ο σχεδιασμός των xaml (τα αρχεία που περιέχουν την περιγραφή της φόρμας) γίνεται μέσα από το Expression Blend και μάλιστα από τους γραφίστες που ασχολούνται με την εφαρμογή.
Microsoft AJAX
Χρησιμοποιώντας Javascript οι δικτυακές εφαρμογές μπορούν να γίνουν πιο ελκυστικές και πολύ πιο ελαφριές καλώντας ασύγχρονα web services και αντικαθιστώντας τα κομμάτια της HTML που χρειάζεται να αλλάξουν. Το AJAX προσφέρει στους προγραμματιστές την δυνατότητα να αξιοποιήσουν αυτή την τεχνολογία εύκολα και χωρίς να ασχοληθούν με τα javascripts που απαιτούνται.
Stylesheets
Τα Cascading Stylesheets (για συντομία, CSS) εμφανίστηκαν για πρώτη φορά το 1996. Αποτελούν μια ειδική διάλεκτο της γλώσσας HTML και μας επιτρέπουν να ορίσουμε με μεγαλύτερη ακρίβεια τον τρόπο απεικόνισης των σελίδων μας από τον browser.
Χρήσιμοι σύνδεσμοι
Σελίδα του remix07
http://www.microsoft.com/hun/ceeremix2007/default.aspx
Blog του dimis που περιγράφει την ζωή που κάναμε εκεί
http://www.studentguru.gr/blogs/dimis/archive/2007/06/18/budapest-remix-07-travel-report.aspx