Christine έγραψε:
θα ήθελα να σας ρωτήσω τι είναι το Cricket στη σελίδα 23, τι ακριβώς κάνει το Activity Based Computer (σελιδα 45) και τι είναι τα widget και τι σημαίνει(κεφάλαιο 8ο)?
Χριστίνα χωρίς να ξέρω κάτι παραπάνω από αυτά που έχουμε όλοι διαβάσει στο βιβλίο του Krumm θα επιχειρήσω να απαντήσω στα ερωτήματά σου, στο μέτρο που μπορώ, και όποιος θέλει μπορεί να με διορθώσει ή / και συμπληρώσει.
CRICKETΤο Cricket, σε αντίθεση με το BAT, που επίσης επεξηγείται στο βιβλίο, αντί να χρησιμοποιεί ενεργές ετικέτες (tags) η οποίες εξέπεμπαν κάποιο σήμα με το ID τους και η δέκτες που ήταν τοποθετημένοι στο χώρο μπορούσαν να εντοπίσουν τη θέση της ετικέτας και κατ’ επέκταση του φέροντος, χρησιμοποιούσε παθητικές ετικέτες. Αυτές η παθητικές ετικέτες ήταν πρακτικά δέκτες οι οποίοι λάμβαναν δύο σήματα, ένα με υπέρηχο και ένα με ραδιοσυχνότητες, τα οποία εκπέμπονταν ταυτόχρονα από τους πομπούς (beacons) που βρίσκονταν στο χώρο. Η χρονική διαφορά λήψης των δύο σημάτων, λόγω διαφορετικών ταχυτήτων μετάδοσης, μεταφράζονταν σε απόσταση από τον γνωστής θέσης στο χώρο πομπό. Άρα, η ετικέτα αντιλαμβανόταν ότι βρίσκεται κάπου σε έναν κύκλο με κέντρο τον πομπό και ακτίνα την απόστασή της από αυτόν. Συνδυάζοντας 3 τέτοιους κύκλους μπορούσε να αντιληφθεί την ακριβή της θέση (το κοινό σημείο τομής των 3 κύκλων) – trilateration σελ. 291. Κύριο όφελος - η θέση και ταυτότητα της ετικέτας ή του χρήστη ήταν γνωστή στη μόνο στην ετικέτα / χρήστη και ανακοινώσιμη κατ’ επιλογή.
ABS (Activity Based Computing)Κατ’ αρχήν είναι στην σελίδα 47 και όχι στην 45 και είναι computing και όχι computer – έψαχνα ένα 10λεπτο για να το βρω.
Είναι μία τεχνοτροπία προγραμματισμού, κατάλληλη για περιβάλλοντα όπως ένα νοσοκομείο όπως για παράδειγμα αναφέρει το βιβλίο, η οποία προσανατολίζεται στην κάλυψη μη σταθερών / πάγιων αναγκών των χρηστών, οι οποίο έχουν να αντιμετωπίσουν / φέρουν σε πέρας, συνήθως ταυτόχρονα, πλήθος αλληλοεξαρτώμενων εργασιών (tasks).
WIDGETSΣε γενικές γραμμές είναι κομμάτια επαναχρησιμοποιήσιμου κώδικα.
Εάν έχεις προγραμματίσει σε κάποια visual γλώσσα, πχ Visual C, Basic etc, θα έχεις σίγουρα χρησιμοποιήσει έτοιμες dropdown lists, combo boxes ακόμη και grids τα οποία είναι κάτι σαν ένα μικρό excel. Όλα αυτά θα μπορούσαμε να τα χαρακτηρίσουμε ως widgets.
Το βιβλίο απ’ όσο θυμάμαι, δεν μπορώ στην παρούσα φάση να διαβάσω όλο το 8ο κεφάλαιο, αναφέρεται κυρίως σε context aware widgets, τα οποία είναι επαναχρησιμοποιήσιμος κώδικας διεπαφών για αισθητήρες. Έτσι ο προγραμματιστής δεν χρειάζεται να ξέρει το πώς ακριβώς δουλεύει ο αισθητήρας αλλά μπορεί να λάβει στην εφαρμογή του την πληροφορία που θέλει μέσω της διεπαφής του widget – καλώντας κάποιο function ή procedure και παίρνοντας μία τιμή, η ορίζοντας ένα callback function για να ειδοποιηθεί η εφαρμογή του ότι συμβεί κάποιο γεγονός. Για παράδειγμα, έστω ότι χρησιμοποιούμε ένα θερμόμετρο. Ο αισθητήρας θα δίνει ως έξοδο ή κάποια τάση ρεύματος ή στην καλύτερη περίπτωση μία τιμή από ένα σύνολο διακριτών διαβαθμίσεων της κλίμακάς του. Αυτό όμως που εμείς χρειαζόμαστε είναι η θερμοκρασία περιβάλλοντος και όχι η τάση ή διακριτή, ακαταλαβίστικη, τιμή. Κάνοντας λοιπόν μία κλήση της μορφής Α = Widget.GetTemprature() παίρνουμε στην μεταβλητή Α την τιμή της θερμοκρασίας πχ 21.8
Δεν ξέρω αν βοήθησα αλλά προσπάθησα. Ο λόγος που δεν σου απάντησα στο forum του ΕΑΠ είναι ότι εδώ έχουμε μαζευτεί αρκετά άτομα και νομίζω ότι η προσπάθεια θα διαβαστεί και ενδεχομένως σχολιαστεί και διορθωθεί από περισσότερους. Παράλληλα, και για τους ίδιους λόγους, θα μπορούσες και εσύ να είχες θέσει τα ερωτήματα σου απ’ ευθείας εδώ ή και εδώ.