HY 454 : ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΚΑΙ...

28
HY HY 454 454 : : ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΚΑΙ ΠΟΛΥΜΕΣΙΚΩΝ ΔΙΕΠΑΦΩΝ ΚΑΙ ΠΟΛΥΜΕΣΙΚΩΝ ΔΙΕΠΑΦΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης Αντώνιος Σαββίδης

description

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ. HY 454 : ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΚΑΙ ΠΟΛΥΜΕΣΙΚΩΝ ΔΙΕΠΑΦΩΝ. ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης. ΕΥΦΥΕΙΣ ΔΙΕΠΑΦΕΣ, Σύνολο διαλέξεων 5, Διάλεξη 3η. Περιεχόμενα. Προσαρμογή κατά τη χρήση Κατηγορίες προσαρμογών - PowerPoint PPT Presentation

Transcript of HY 454 : ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΚΑΙ...

HYHY454454 : : ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΤΕΧΝΟΛΟΓΙΑ ΑΝΑΠΤΥΞΗΣ ΕΥΦΥΩΝ, ΚΙΝΗΤΩΝ ΚΑΙ ΠΟΛΥΜΕΣΙΚΩΝ ΔΙΕΠΑΦΩΝΚΑΙ ΠΟΛΥΜΕΣΙΚΩΝ ΔΙΕΠΑΦΩΝ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ,

ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ,ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ,

ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ

ΔΙΔΑΣΚΩΝΔΙΔΑΣΚΩΝΑντώνιος ΣαββίδηςΑντώνιος Σαββίδης

HY454, 2006 Α. Σαββίδης Slide 2 / 28

ΕΥΦΥΕΙΣ ΔΙΕΠΑΦΕΣ,ΕΥΦΥΕΙΣ ΔΙΕΠΑΦΕΣ,Σύνολο διαλέξεων 5, Διάλεξη 3ηΣύνολο διαλέξεων 5, Διάλεξη 3η

HY454, 2006 Α. Σαββίδης Slide 3 / 28

ΠεριεχόμεναΠεριεχόμενα

Προσαρμογή κατά τη χρήσηΠροσαρμογή κατά τη χρήση Κατηγορίες προσαρμογώνΚατηγορίες προσαρμογών Προσαρμογή στις συνήθειες του χρήστηΠροσαρμογή στις συνήθειες του χρήστη Προσαρμογή σε στόχο χρήσης Προσαρμογή σε στόχο χρήσης Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης

HY454, 2006 Α. Σαββίδης Slide 4 / 28

Προσαρμογή κατά τη χρήση (1/3)Προσαρμογή κατά τη χρήση (1/3)

Πρέπει να έχουμε ορίσει επακριβώς Πρέπει να έχουμε ορίσει επακριβώς τιτι θέλουμε θέλουμε να εντοπίσουμε κατά την λειτουργία του να εντοπίσουμε κατά την λειτουργία του συστήματος και συστήματος και πώςπώς πρόκειται αντίστοιχα να πρόκειται αντίστοιχα να προσαρμόσουμε την διεπαφή.προσαρμόσουμε την διεπαφή.

Δηλ. απαιτούνται δύο βασικά στοιχείαΔηλ. απαιτούνται δύο βασικά στοιχεία:: Η συνθήκη εφαρμογής της προσαρμογής Η συνθήκη εφαρμογής της προσαρμογής - - adaptation adaptation

conditioncondition Οι ενέργειες στις οποίες συνίσταται η προσαρμογή Οι ενέργειες στις οποίες συνίσταται η προσαρμογή - -

adaptation actionsadaptation actions

HY454, 2006 Α. Σαββίδης Slide 5 / 28

Προσαρμογή κατά τη χρήση (Προσαρμογή κατά τη χρήση (22/3)/3)

ΠαραδείγματαΠαραδείγματα ConditionCondition: : Εξωτερικός θόρυβος > 60 Εξωτερικός θόρυβος > 60 dbdb ActionAction: : Απενεργοποίηση Απενεργοποίηση audio, audio, ενεργοποίηση εμφατικών ενεργοποίηση εμφατικών

γραφικών μηνυμάτωνγραφικών μηνυμάτων ConditionCondition: : Ο χρήστης δεν έχει κατανοήσει την χρήση του Ο χρήστης δεν έχει κατανοήσει την χρήση του

παρουσιαζόμενου τμήματος της διεπαφήςπαρουσιαζόμενου τμήματος της διεπαφής ActionAction:: Παρουσίαση βοηθητικού επεξηγηματικού τμήματος Παρουσίαση βοηθητικού επεξηγηματικού τμήματος ConditionCondition: : Ο χρήστης έχει αυξημένους παλμούςΟ χρήστης έχει αυξημένους παλμούς ActionAction:: Ελάττωση έντασης ήχου, αλλαγή χρωμάτων σε απαλούς Ελάττωση έντασης ήχου, αλλαγή χρωμάτων σε απαλούς

τόνους, μείωση του ρυθμού ανανέωσης της οθόνης (εξαρτάται τόνους, μείωση του ρυθμού ανανέωσης της οθόνης (εξαρτάται από το είδος της εφαρμογής).από το είδος της εφαρμογής).

HY454, 2006 Α. Σαββίδης Slide 6 / 28

Προσαρμογή κατά τη χρήση (3/3)Προσαρμογή κατά τη χρήση (3/3)

Κατασκευαστικά απαιτούνται οι εξής δυνατότητεςΚατασκευαστικά απαιτούνται οι εξής δυνατότητες Παρακολούθηση και καταγραφή των ενεργειών του χρήστη Παρακολούθηση και καταγραφή των ενεργειών του χρήστη

καθώς και διαφόρων παραμέτρων του περιβάλλοντοςκαθώς και διαφόρων παραμέτρων του περιβάλλοντος User and context monitoringUser and context monitoring

Εντοπισμός των επιθυμητών συνθηκών και καταστάσεων που Εντοπισμός των επιθυμητών συνθηκών και καταστάσεων που σχετίζονται με προσαρμογή, με ανάλυση των παραπάνω σχετίζονται με προσαρμογή, με ανάλυση των παραπάνω δεδομένωνδεδομένων User and context related inferencesUser and context related inferences

Υλοποίηση των εναλλακτικών τμημάτων της διεπαφής που Υλοποίηση των εναλλακτικών τμημάτων της διεπαφής που υφίστανται ως προσαρμογέςυφίστανται ως προσαρμογές Implementation of adaptation componentsImplementation of adaptation components

Ενεργοποίηση κατά την εκτέλεση των προσαρμοστικών Ενεργοποίηση κατά την εκτέλεση των προσαρμοστικών τμημάτωντμημάτων Runtime activation of adaptation componentsRuntime activation of adaptation components

HY454, 2006 Α. Σαββίδης Slide 7 / 28

Κατηγορίες Κατηγορίες προσαρμογών προσαρμογών (1/(1/22))

Θα δούμε μερικά εναλλακτικά σχέδια ανάλογα με Θα δούμε μερικά εναλλακτικά σχέδια ανάλογα με την κλίμακα στην οποία πρέπει να εφαρμόζεται η την κλίμακα στην οποία πρέπει να εφαρμόζεται η προσαρμογή κατά τη χρήση.προσαρμογή κατά τη χρήση. Κάποια εφαρμόζονται σε μακροσκοπική κλίμακα, δηλ. Κάποια εφαρμόζονται σε μακροσκοπική κλίμακα, δηλ.

επηρεάζουν τη συνολική αρχιτεκτονική του επηρεάζουν τη συνολική αρχιτεκτονική του συστήματος,συστήματος,

και κάποια σε μικροσκοπική κλίμακα, δηλ. μπορούν να και κάποια σε μικροσκοπική κλίμακα, δηλ. μπορούν να υιοθετηθούν για την ενδοτμηματική οργάνωση του υιοθετηθούν για την ενδοτμηματική οργάνωση του λογισμικού ως υπό-αρχιτεκτονικές.λογισμικού ως υπό-αρχιτεκτονικές.

HY454, 2006 Α. Σαββίδης Slide 8 / 28

Κατηγορίες Κατηγορίες προσαρμογών προσαρμογών ((22//22))

Θα αντιμετωπίσουμε κυρίως τρεις περιπτώσεις Θα αντιμετωπίσουμε κυρίως τρεις περιπτώσεις προσαρμογήςπροσαρμογής:: Σε συνήθειες χρήσης – Σε συνήθειες χρήσης – habits of usehabits of use

Παρατηρούμε τον τρόπο χρήσης και προσαρμόζουμε την διεπαφή Παρατηρούμε τον τρόπο χρήσης και προσαρμόζουμε την διεπαφή ώστε να ταιριάζει περισσότερο σε αυτόνώστε να ταιριάζει περισσότερο σε αυτόν

Σε στόχο χρήσης – Σε στόχο χρήσης – target of usetarget of use Παρατηρούμε την χρήση, εντοπίζοντας πιθανότατα τον στόχο που Παρατηρούμε την χρήση, εντοπίζοντας πιθανότατα τον στόχο που

έχει ο χρήστης, δηλ. τι ουσιαστικά θέλει να πετύχει, υποβοηθώντας έχει ο χρήστης, δηλ. τι ουσιαστικά θέλει να πετύχει, υποβοηθώντας τον με ειδικές λειτουργίεςτον με ειδικές λειτουργίες

Σε κατάσταση χρήσης – Σε κατάσταση χρήσης – state of usestate of use Παρατηρούμε την χρήση, εντοπίζοντας ορισμένες καταστάσεις Παρατηρούμε την χρήση, εντοπίζοντας ορισμένες καταστάσεις

(όπως κούραση, μη κατανόηση λειτουργιών, έντονο θόρυβο) που (όπως κούραση, μη κατανόηση λειτουργιών, έντονο θόρυβο) που χρήζουν άμεσης προσαρμοστικής επέμβασης για να χρήζουν άμεσης προσαρμοστικής επέμβασης για να αντιμετωπιστούν.αντιμετωπιστούν.

HY454, 2006 Α. Σαββίδης Slide 9 / 28

Προσαρμογή στις συνήθειες του Προσαρμογή στις συνήθειες του χρήστηχρήστη (1/2)(1/2)

ΠαρακολούθησηΠαρακολούθησηκαι ανανέωση των και ανανέωση των στοιχείων χρήσηςστοιχείων χρήσης

Εφαρμογή αλλαγώνΕφαρμογή αλλαγώνστην διεπαφή ώστε ναστην διεπαφή ώστε να

ανταποκρίνεται στιςανταποκρίνεται στις συνήθειεςσυνήθειες

χρήσηςχρήσης

Αποφασίζει εάν τα στοιχεία χρήσης Αποφασίζει εάν τα στοιχεία χρήσης είναι επαρκήείναι επαρκή

ώστε να οδηγήσουν σε ώστε να οδηγήσουν σε προσαρμογή συνήθειας χρήσηςπροσαρμογή συνήθειας χρήσης

ΤμήμαΤμήμαδιεπαφήςδιεπαφής

ΤακτικήΤακτικήπροσαρμογήςπροσαρμογής

ΣτατιστικάΣτατιστικάστοιχείαστοιχείαχρήσηςχρήσης

ΑπόφασηΑπόφασηγια προσαρμογήγια προσαρμογή

Πρόκειται για μικρό-αρχιτεκτονική, Πρόκειται για μικρό-αρχιτεκτονική, η οποία μπορεί να εφαρμοστεί σε η οποία μπορεί να εφαρμοστεί σε όλα τα αντίστοιχα τμήματα. όλα τα αντίστοιχα τμήματα. Βέλη = Βέλη = κλήσεις.κλήσεις.

Τα στατιστικά στοιχεία είναι απλές Τα στατιστικά στοιχεία είναι απλές δομές που συνήθως σχετίζονται με δομές που συνήθως σχετίζονται με συχνότητα χρήσης.συχνότητα χρήσης.

Η λογική απόφασης για Η λογική απόφασης για προσαρμογές είναι υλοποιήσιμη προσαρμογές είναι υλοποιήσιμη με με if..then..elseif..then..else κανόνες στον κανόνες στον κώδικα.κώδικα.

H H τακτική της προσαρμογής είναι τακτική της προσαρμογής είναι σχεδόν πάντα αναπόσπαστο σχεδόν πάντα αναπόσπαστο κομμάτι της διεπαφής.κομμάτι της διεπαφής.

HY454, 2006 Α. Σαββίδης Slide 10 / 28

Προσαρμογή στις συνήθειες του Προσαρμογή στις συνήθειες του χρήστηχρήστη (2/2)(2/2)

Εάν ο χρήστης χρησιμοποιείΕάν ο χρήστης χρησιμοποιείσυχνά τα συχνά τα scrollbars scrollbars του του browser,browser,

αυτά αντικαθίστανται με ενσωματωμένααυτά αντικαθίστανται με ενσωματωμέναscroll-buttons scroll-buttons μέσα στη σελίδα.μέσα στη σελίδα.

Εάν ο χρήστης χρησιμοποιεί Εάν ο χρήστης χρησιμοποιεί ξεχωριστά ομάδεςξεχωριστά ομάδες από κουμπιά (π.χ. από κουμπιά (π.χ.

previous / next)previous / next),, αναδιατάσσεται η αναδιατάσσεται η διεπαφή ώστεδιεπαφή ώστε

να αντικατοπτρίζει τηννα αντικατοπτρίζει την ομαδοποίηση.ομαδοποίηση.

HY454, 2006 Α. Σαββίδης Slide 11 / 28

Προσαρμογή σε στόχο χρήσης (1/Προσαρμογή σε στόχο χρήσης (1/88))

Η περίπτωση αυτή είναι πιο πολύπλοκη. Η περίπτωση αυτή είναι πιο πολύπλοκη. Η αναγνώριση Η αναγνώριση «στόχων» που έχει ο χρήστης απαιτεί τα παρακάτω«στόχων» που έχει ο χρήστης απαιτεί τα παρακάτω:: Κατά την ανάπτυξη του συστήματος, μελέτη και παρατήρηση Κατά την ανάπτυξη του συστήματος, μελέτη και παρατήρηση

πάνω σε πραγματική χρήση με χρήστες, οι οποίοι έχουν λάβει πάνω σε πραγματική χρήση με χρήστες, οι οποίοι έχουν λάβει οδηγίες να πετύχουν οδηγίες να πετύχουν τον ίδιοτον ίδιο συγκεκριμένο στόχο συγκεκριμένο στόχο χρησιμοποιώντας το σύστημα.χρησιμοποιώντας το σύστημα.

Την ίδια στιγμή, το σύστημα καταγράφει τις ενέργειες που κάνουν Την ίδια στιγμή, το σύστημα καταγράφει τις ενέργειες που κάνουν και τις αποθηκεύει. Για κάθε τέτοια ξεχωριστή χρήση, και τις αποθηκεύει. Για κάθε τέτοια ξεχωριστή χρήση, δημιουργείται και ένα ξεχωριστό δημιουργείται και ένα ξεχωριστό log file.log file.

Αναλύεται το Αναλύεται το log filelog file και εντοπίζονται ομοιότητες και κυρίως μία και εντοπίζονται ομοιότητες και κυρίως μία γενική δομή (δηλ. το γενική δομή (δηλ. το patternpattern)). Επιλέγεται μία μέθοδος . Επιλέγεται μία μέθοδος αναγνώρισης του αναγνώρισης του pattern pattern ώστε όλα τα ώστε όλα τα log files log files να περνούν θετικά να περνούν θετικά την αναγνώριση (ή έστω με πολύ μεγάλη επιτυχία στατιστικά), την αναγνώριση (ή έστω με πολύ μεγάλη επιτυχία στατιστικά), ενώ όσα δεν αφορούν τον ίδιο στόχο να περνούν αρνητικά τον ενώ όσα δεν αφορούν τον ίδιο στόχο να περνούν αρνητικά τον έλεγχο.έλεγχο.

HY454, 2006 Α. Σαββίδης Slide 12 / 28

Προσαρμογή σε στόχο χρήσης (2/Προσαρμογή σε στόχο χρήσης (2/88))

LF1LF1 LF2LF2 LF3LF3 LF4LF4 LF5LF5 LF6LF6

a: b c | c da: b c | c dd: {‘act’} [ new_action ]d: {‘act’} [ new_action ]

Τα Τα log files log files με τις με τις ενέργειες του χρήστη.ενέργειες του χρήστη. Αναπαράσταση τωνΑναπαράσταση των

ενεργειών για την επίτευξηενεργειών για την επίτευξητου στόχου μέσω τυπικήςτου στόχου μέσω τυπικήςγλώσσας (γραμματικής).γλώσσας (γραμματικής).

Αναπαράσταση με διάγραμμαΑναπαράσταση με διάγραμμαμετάβασης καταστάσεων.μετάβασης καταστάσεων.

Η μελέτη των διαφορετικών Η μελέτη των διαφορετικών log files log files πρέπει να γίνει πολύ προσεκτικά πρέπει να γίνει πολύ προσεκτικά ώστε να εξαχθεί ένα κοινό ώστε να εξαχθεί ένα κοινό επαναλαμβανόμενο επαναλαμβανόμενο pattern.pattern.

Η αναπαράσταση μέσω τρόπου που Η αναπαράσταση μέσω τρόπου που επιτρέπει την εύκολη αναγνώριση επιτρέπει την εύκολη αναγνώριση κατά την εκτέλεση μπορεί να κατά την εκτέλεση μπορεί να απαιτήσει την τροποποιημένη απαιτήσει την τροποποιημένη αποθήκευση των ενεργειών με αποθήκευση των ενεργειών με διαφορετικό τρόπο (π.χ. πιο διαφορετικό τρόπο (π.χ. πιο τυποποιημένα εάν πρόκειται για τυποποιημένα εάν πρόκειται για γλώσσα).γλώσσα).

Ο τρόπος αναγνώρισης πρέπει να Ο τρόπος αναγνώρισης πρέπει να είναι γρήγορος και αρκετά ακριβής. είναι γρήγορος και αρκετά ακριβής. Φυσιολογικά θα υπάρχουν Φυσιολογικά θα υπάρχουν παράλληλα και άλλα τμήματα που παράλληλα και άλλα τμήματα που αναγνωρίζουν άλλα πρότυπα για αναγνωρίζουν άλλα πρότυπα για άλλους στόχους.άλλους στόχους.

HY454, 2006 Α. Σαββίδης Slide 13 / 28

Προσαρμογή σε στόχο χρήσης (3/Προσαρμογή σε στόχο χρήσης (3/88))

Παράδειγμα προσαρμογής με ενέργεια υπόδειξης (δηλ. το σύστημα Παράδειγμα προσαρμογής με ενέργεια υπόδειξης (δηλ. το σύστημα αναγνωρίζει τι θέλει να κάνει ο χρήστης και του υποδεικνύει πιο αναγνωρίζει τι θέλει να κάνει ο χρήστης και του υποδεικνύει πιο σύντομο τρόπο) – είδος προσαρμογής που λέγεται σύντομο τρόπο) – είδος προσαρμογής που λέγεται adaptive adaptive promptingprompting

single selectsingle selectgroup selectgroup select

deletedeletecopy copy pastepaste

……

Σύμβολα για τις Σύμβολα για τις ενέργειες του χρήστηενέργειες του χρήστησε έναν σε έναν file managerfile manager

(λεξιλόγιο που(λεξιλόγιο πουεμφανίζεται σταεμφανίζεται στα log log

files)files)

Ο χρήστης σβήνειΟ χρήστης σβήνειπολλά αρχεία ενός πολλά αρχεία ενός

φακέλου το ένα φακέλου το ένα μετά το άλλομετά το άλλο

Πρότυπο που Πρότυπο που θέλουμεθέλουμε να να

αναγνωριστείαναγνωριστεί

Υπόδειξη στον χρήστηΥπόδειξη στον χρήστηυλοποιημένη ως ένα τμήμαυλοποιημένη ως ένα τμήμα

της διεπαφής.της διεπαφής.

(single select, delete)(single select, delete)nn

Η γλώσσα που Η γλώσσα που περιγράφει το περιγράφει το patternpattern

και για την οποίακαι για την οποίαparser parser πρέπειπρέπεινα υλοποιηθείνα υλοποιηθεί

HY454, 2006 Α. Σαββίδης Slide 14 / 28

Προσαρμογή σε στόχο χρήσης (4/Προσαρμογή σε στόχο χρήσης (4/88))

casefreecasefree(“dear”) (“dear”) ((spacespace)+)+ Name Name ((spacespace))+ newline+ newline

Η γραμματική της γλώσσας που αναγνωρίζειΗ γραμματική της γλώσσας που αναγνωρίζειτο πρότυπο για τη συγγραφή γράμματοςτο πρότυπο για τη συγγραφή γράμματος

Η ύπαρξη αυτής της γλώσσας σημαίνει ότιΗ ύπαρξη αυτής της γλώσσας σημαίνει ότιυπάρχει και ένας υπάρχει και ένας parser parser ο οποίος αναγνωρίζει ο οποίος αναγνωρίζει

εκφράσεις της γλώσσας διαβάζοντας τηνεκφράσεις της γλώσσας διαβάζοντας τηνεσωτερική δομή της πρώτης πρότασηςεσωτερική δομή της πρώτης πρότασης

που γράφεται με το που γράφεται με το MS WordMS Word

HY454, 2006 Α. Σαββίδης Slide 15 / 28

Προσαρμογή σε στόχο χρήσης (5/Προσαρμογή σε στόχο χρήσης (5/88))

Σε μερικές περιπτώσεις, όταν εντοπιστεί ο στόχος / προθέσεις του Σε μερικές περιπτώσεις, όταν εντοπιστεί ο στόχος / προθέσεις του χρήστη για το τι θέλει τελικά να επιτελέσει και πρέπει να του χρήστη για το τι θέλει τελικά να επιτελέσει και πρέπει να του παρουσιαστεί ο καταλληλότερος τρόπος για να το επιτύχει, οι παρουσιαστεί ο καταλληλότερος τρόπος για να το επιτύχει, οι λειτουργίες που πρέπει να χρησιμοποιηθούν ενδέχεται να είναι λειτουργίες που πρέπει να χρησιμοποιηθούν ενδέχεται να είναι σχετικά πολύπλοκες και να απαιτούν αρκετά μη προφανή βήματα.σχετικά πολύπλοκες και να απαιτούν αρκετά μη προφανή βήματα.

Σε τέτοιες περιπτώσεις, θα πρέπει να προσφέρετε βοήθεια που Σε τέτοιες περιπτώσεις, θα πρέπει να προσφέρετε βοήθεια που δείχνει βήμα-βήμα στην διεπαφή τα βήματα που πρέπει να γίνουν, δείχνει βήμα-βήμα στην διεπαφή τα βήματα που πρέπει να γίνουν, σαν ένα σαν ένα demo demo ή φιλμάκι που «τρέχει» μόνο του πάνω στην ίδια την ή φιλμάκι που «τρέχει» μόνο του πάνω στην ίδια την διεπαφή.διεπαφή.

Αυτό ονομάζεται Αυτό ονομάζεται task guidancetask guidance, κοινώς καθοδήγηση , κοινώς καθοδήγηση δραστηριοτήτων, και συνήθως υλοποιείται με την τεχνική δραστηριοτήτων, και συνήθως υλοποιείται με την τεχνική event event recording / playback recording / playback η οποία περιγράφεται στη συνέχεια.η οποία περιγράφεται στη συνέχεια.

HY454, 2006 Α. Σαββίδης Slide 16 / 28

Προσαρμογή σε στόχο χρήσης (6/Προσαρμογή σε στόχο χρήσης (6/88))

Event recording / playbackEvent recording / playback Απαιτείται μηχανισμός που μπορεί να αποθηκεύει κάθε Απαιτείται μηχανισμός που μπορεί να αποθηκεύει κάθε eventevent

instance (instance (π.χ.π.χ. mouse / keyboard) mouse / keyboard) μαζί με ένα μαζί με ένα timestamp offset timestamp offset (σε σχέση με το προηγούμενο)(σε σχέση με το προηγούμενο), , συνήθως σε συνήθως σε milliseconds, milliseconds, σε ένα σε ένα file.file.

Απαιτείται μηχανισμός που μπορεί να δημιουργεί ένα Απαιτείται μηχανισμός που μπορεί να δημιουργεί ένα event event τεχνητά – τεχνητά – artificial event generationartificial event generation, σαν να προέρχονταν από το , σαν να προέρχονταν από το χρήστη, ώστε να μπορούν να διαβάζονται αυτά από το αρχείο, να χρήστη, ώστε να μπορούν να διαβάζονται αυτά από το αρχείο, να παράγονται τεχνητά και να εξυπηρετούνται κανονικά από το παράγονται τεχνητά και να εξυπηρετούνται κανονικά από το σύστημα.σύστημα.

Πως εκμεταλλευόμαστε αυτούς τους δύο μηχανισμούς για να Πως εκμεταλλευόμαστε αυτούς τους δύο μηχανισμούς για να υλοποιήσουμε την προηγμένη τεχνική του υλοποιήσουμε την προηγμένη τεχνική του task guidance:task guidance:

HY454, 2006 Α. Σαββίδης Slide 17 / 28

Προσαρμογή σε στόχο χρήσης (7/Προσαρμογή σε στόχο χρήσης (7/88))

SystemSystem

UserUser

Event log jEvent log j

writeswriteseventsevents

Κατά την κατασκευή του συστήματος, ένας έμπειρος Κατά την κατασκευή του συστήματος, ένας έμπειρος χρήστης χρησιμοποιεί με τον ενδεδειγμένο τρόπο το χρήστης χρησιμοποιεί με τον ενδεδειγμένο τρόπο το σύστημα και μόνο τις συγκεκριμένες λειτουργίεςσύστημα και μόνο τις συγκεκριμένες λειτουργίεςγια τις οποίες πρέπει να δημιουργηθεί το φιλμάκι χρήσης.για τις οποίες πρέπει να δημιουργηθεί το φιλμάκι χρήσης.

Δημιουργείται το Δημιουργείται το log file log file με κάθε με κάθε event event που που παράγει ο χρήστης κατά τη χρήση των παράγει ο χρήστης κατά τη χρήση των λειτουργιών αυτών (συμπεριλαμβάνονται λειτουργιών αυτών (συμπεριλαμβάνονται και κινήσεις του και κινήσεις του mouse).mouse).

MOUSEMOVE, +2,-1, 10

MOUSEMOVE, +1,-1, 7MOUSECLICK, LEFT, 5

MOUSERELEASE, LEFT, 85

KEYPRESS, 121, 1029

Event log Event log playback engineplayback engine

Υλοποιείται μία απλή «μηχανή» οποία Υλοποιείται μία απλή «μηχανή» οποία δέχεται ένα δέχεται ένα loaded log file (loaded log file (π.χ. ως λίστα π.χ. ως λίστα από από events) events) κάνει τα εξήςκάνει τα εξής::

For each event For each event EE in list in list LL do { do {

Wait Wait E.timeOffsetE.timeOffset;;

Post artificially Post artificially EE;;

}}

Event log Event log loaderloader

LogLog11LogLogNN

Εάν κατά τη διάρκεια τουΕάν κατά τη διάρκεια του playback playback ο χρήστης κάνει κάτι, ο χρήστης κάνει κάτι, τότε βγαίνει μήνυμα «τότε βγαίνει μήνυμα «Do you Do you want to interrupt guidance?”want to interrupt guidance?” και και αν απαντήσει «ναι», σταματάει αν απαντήσει «ναι», σταματάει εντελώς το εντελώς το playbackplayback..

Log filesample

HY454, 2006 Α. Σαββίδης Slide 18 / 28

Προσαρμογή σε στόχο χρήσης (8/Προσαρμογή σε στόχο χρήσης (8/88))

Είναι αρκετά απαιτητική κατασκευαστικά, αλλά μπορεί να Είναι αρκετά απαιτητική κατασκευαστικά, αλλά μπορεί να οδηγήσει σε ένα σημαντικό συγκριτικό πλεονέκτημα του οδηγήσει σε ένα σημαντικό συγκριτικό πλεονέκτημα του συστήματός σαςσυστήματός σας αρκεί οι τελικοί χρήστες να το εκτιμήσουν … δε συμβαίνει πάντααρκεί οι τελικοί χρήστες να το εκτιμήσουν … δε συμβαίνει πάντα

Το σύστημα φαίνεται «δύο φορές έξυπνο» καθώςΤο σύστημα φαίνεται «δύο φορές έξυπνο» καθώς:: αναγνωρίζει την πρόθεση του χρήστη, αναγνωρίζει την πρόθεση του χρήστη, και επιπλέον τον διευκολύνει προσφέροντάς και επιπλέον τον διευκολύνει προσφέροντάς

είτε μία απλή υπόδειξη για ένα γρηγορότερο τρόπο, είτε μία απλή υπόδειξη για ένα γρηγορότερο τρόπο, ή αυτοματοποιώντας κάποιες από τις ενέργειες ώστε να πετύχει το ή αυτοματοποιώντας κάποιες από τις ενέργειες ώστε να πετύχει το

στόχο του γρηγορότεραστόχο του γρηγορότερα ή με καθοδήγηση με ένα μικρό ή με καθοδήγηση με ένα μικρό demo demo πάνω στην ίδια την διεπαφή με πάνω στην ίδια την διεπαφή με

τις ενέργειες που πρέπει να επιτελέσειτις ενέργειες που πρέπει να επιτελέσει

HY454, 2006 Α. Σαββίδης Slide 19 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (1/10)(1/10)

Βασίζεται στην αναγνώριση ορισμένων χαρακτηριστικών Βασίζεται στην αναγνώριση ορισμένων χαρακτηριστικών κυρίως του χρήστη, τα οποία δεν είναι μόνιμα αλλά κυρίως του χρήστη, τα οποία δεν είναι μόνιμα αλλά αφορούν την κατάστασή του τη στιγμή της χρήσης του αφορούν την κατάστασή του τη στιγμή της χρήσης του συστήματος.συστήματος. Π.χ., κούραση, σύγχυση, αδυναμία κατανόησης, έλλειψη Π.χ., κούραση, σύγχυση, αδυναμία κατανόησης, έλλειψη

προσανατολισμού στο χώρο της διεπαφής, κλπ.προσανατολισμού στο χώρο της διεπαφής, κλπ. Η δυνατότητα εντοπισμού τέτοιων καταστάσεων με μεγάλη Η δυνατότητα εντοπισμού τέτοιων καταστάσεων με μεγάλη

ακρίβεια είναι πάντα ένα μεγάλο ερωτηματικό, καθώς και ακρίβεια είναι πάντα ένα μεγάλο ερωτηματικό, καθώς και αντικείμενο έρευνας (του κλασικού αντικείμενο έρευνας (του κλασικού HCI)HCI)..

Ακόμη και ο τρόπος που πρέπει να προσαρμοστεί η διεπαφή, Ακόμη και ο τρόπος που πρέπει να προσαρμοστεί η διεπαφή, δεδομένης της δυνατότητας εντοπισμού των καταστάσεων δεδομένης της δυνατότητας εντοπισμού των καταστάσεων αυτών, είναι επίσης θέμα έρευναςαυτών, είναι επίσης θέμα έρευνας ( (του κλασικού του κλασικού HCI).HCI).

HY454, 2006 Α. Σαββίδης Slide 20 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (2/9)(2/9)

Τι απαιτείται για τον εντοπισμό αυτών των Τι απαιτείται για τον εντοπισμό αυτών των καταστάσεωνκαταστάσεων:: Παρακολούθηση και καταγραφή πολλών αξιόπιστων Παρακολούθηση και καταγραφή πολλών αξιόπιστων

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

Παρακολούθηση των ενεργειών του χρήση και Παρακολούθηση των ενεργειών του χρήση και καταγραφή αυτών (καταγραφή αυτών (interaction historyinteraction history)) σε διάφορα σε διάφορα επίπεδαεπίπεδα..

Δυνατότητα Δυνατότητα matching matching με ακρίβεια της εκάστοτε με ακρίβεια της εκάστοτε «ιστορίας» ενεργειών του χρήστη«ιστορίας» ενεργειών του χρήστη σε κάποιο από τα σε κάποιο από τα αποθηκευμένα γνωστά πρότυπα.αποθηκευμένα γνωστά πρότυπα.

HY454, 2006 Α. Σαββίδης Slide 21 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (3/10)(3/10)

Πρότυπα Πρότυπα χρήσηςχρήσηςΠρότυπα Πρότυπα

χρήσηςχρήσηςΠρότυπα Πρότυπα χρήσηςχρήσηςΠρότυπα Πρότυπα

χρήσηςχρήσης

ΑναγνώρισηΑναγνώρισηπροτύπωνπροτύπων

ΙστορίαΙστορίαενεργειώνενεργειών

χρήστηχρήστη

ΈλεγχοςΈλεγχοςπαρακολούθησηςπαρακολούθησης

ενεργειώνενεργειών

Παρακολούθηση και καταγραφήΠαρακολούθηση και καταγραφήενεργειών χρήστη κατά την κατασκευή,ενεργειών χρήστη κατά την κατασκευή,

για περιπτώσεις που έχει πιστοποιηθεί ηγια περιπτώσεις που έχει πιστοποιηθεί η συγκεκριμένη κατάσταση. συγκεκριμένη κατάσταση.

Τα επιλεγμένα πρότυπα αποτελούν Τα επιλεγμένα πρότυπα αποτελούν αντιπροσωπευτικά στατιστικά δείγματα αντιπροσωπευτικά στατιστικά δείγματα

ενεργειών χρήστη όταν παρατηρούνται οι ενεργειών χρήστη όταν παρατηρούνται οι αντίστοιχες καταστάσεις.αντίστοιχες καταστάσεις.

ΔιεπαφήΔιεπαφή

Έχει εντοπιστεί κάποια συγκεκριμένηΈχει εντοπιστεί κάποια συγκεκριμένηκατάσταση του χρήστη, που σημαίνεικατάσταση του χρήστη, που σημαίνει

ότι η διεπαφή πρέπει να κάνειότι η διεπαφή πρέπει να κάνειτις κατάλληλες ενέργειες προσαρμογήςτις κατάλληλες ενέργειες προσαρμογής

Καταγραφή ιστορίας ενεργειών κίνησης του mouse, που σχετίζεται με την «σύγχυση»

ως προς την κατανόηση των συνδέσμων ιστοσελίδας (για άπειρους χρήστες)

HY454, 2006 Α. Σαββίδης Slide 22 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (4/10)(4/10)

Εδώ έχει γίνει εντοπισμόςΕδώ έχει γίνει εντοπισμόςτου γεγονότος ότι ο χρήστηςτου γεγονότος ότι ο χρήστης::

Δεν μπορεί να περατώσει Δεν μπορεί να περατώσει την δραστηριότητα που την δραστηριότητα που

σχετίζεται μεσχετίζεται με::«επιλογή από το «επιλογή από το link bar”link bar”

Η προσαρμογή έγκειταιΗ προσαρμογή έγκειταιστην παρουσίαση ενόςστην παρουσίαση ενός

επεξηγηματικού μηνύματοςεπεξηγηματικού μηνύματοςπου αποσαφηνίζει τις που αποσαφηνίζει τις ευκολίες που παρέχειευκολίες που παρέχει

το το link barlink bar

HY454, 2006 Α. Σαββίδης Slide 23 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (5/10)(5/10)

Και πάλι το βασικό πρόβλημα είναιΚαι πάλι το βασικό πρόβλημα είναι: (: (αα)) η αναπαράσταση η αναπαράσταση των προτύπωντων προτύπων και του και του interaction history, interaction history, και και ((ββ)) η η μέθοδος που υιοθετείται για μέθοδος που υιοθετείται για pattern matching.pattern matching.

Πολλές φορές καταφεύγουμε σε μεθόδους στις οποίες η Πολλές φορές καταφεύγουμε σε μεθόδους στις οποίες η τεχνική αναγνώρισης ουσιαστικά ενσωματώνει και το τεχνική αναγνώρισης ουσιαστικά ενσωματώνει και το πρότυπο (δηλ. δεν έχουμε ξεχωριστή περιγραφή και πρότυπο (δηλ. δεν έχουμε ξεχωριστή περιγραφή και αποθήκευση προτύπου).αποθήκευση προτύπου). Π.χ. όταν το πρότυπο περιγραφεί με μία γλώσσα, ο Π.χ. όταν το πρότυπο περιγραφεί με μία γλώσσα, ο parser parser

«αντιπροσωπεύει» το πρότυπο (αφού η γλώσσα το περιγράφει), «αντιπροσωπεύει» το πρότυπο (αφού η γλώσσα το περιγράφει), αλλά ταυτόχρονα κάνει και αναγνώριση προτύπου με αλλά ταυτόχρονα κάνει και αναγνώριση προτύπου με parsing parsing του του interaction historyinteraction history..

HY454, 2006 Α. Σαββίδης Slide 24 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (6/10)(6/10)

Όταν το πρότυπο δεν μπορεί να περιγραφεί εύκολα με Όταν το πρότυπο δεν μπορεί να περιγραφεί εύκολα με κάποια γλώσσα ή όταν ο κατασκευή του κάποια γλώσσα ή όταν ο κατασκευή του parser parser δεν δεν αποδεικνύεται συμφέρουσααποδεικνύεται συμφέρουσα:: Σχεδιάζουμε ένα υβριδικό Σχεδιάζουμε ένα υβριδικό state transition systemstate transition system για τη λογική για τη λογική

αναγνώρισης και το υλοποιούμε απευθείας σε κώδικα, που αναγνώρισης και το υλοποιούμε απευθείας σε κώδικα, που σημαίνει ότι η λογική αναγνώρισης αποτυπώνεται σε σημαίνει ότι η λογική αναγνώρισης αποτυπώνεται σε πρόγραμμα.πρόγραμμα.

Το Το interaction history interaction history ενδέχεται ποτέ να μην υφίσταται με τη ενδέχεται ποτέ να μην υφίσταται με τη μορφή αποθηκευμένων στη μνήμη μορφή αποθηκευμένων στη μνήμη events, events, καθώς η επεξεργασία καθώς η επεξεργασία τους από ένα τέτοιο τους από ένα τέτοιο STNSTN να μην απαιτεί περαιτέρω αποθήκευση. να μην απαιτεί περαιτέρω αποθήκευση.

HY454, 2006 Α. Σαββίδης Slide 25 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (7/10)(7/10)

Ανάλογα με την πληροφορία που χρειάζεται το Ανάλογα με την πληροφορία που χρειάζεται το πρότυπο ενεργειών του χρήστη για να πρότυπο ενεργειών του χρήστη για να αναγνωριστεί (με την όποια μέθοδο υλοποιείτε)αναγνωριστεί (με την όποια μέθοδο υλοποιείτε) ορίζονται και οι ανάγκες για τη λεπτομέρεια ορίζονται και οι ανάγκες για τη λεπτομέρεια

καταγραφής του «τι κάνει» ο χρήστης με την διεπαφή.καταγραφής του «τι κάνει» ο χρήστης με την διεπαφή.

Ξεχωρίζουμε την καταγραφή στα εξής επίπεδαΞεχωρίζουμε την καταγραφή στα εξής επίπεδα:: Event Event (σε επίπεδο συσκευών)(σε επίπεδο συσκευών) Object (Object (αλλαγές κατάστασης γραφικών αντικειμένων)αλλαγές κατάστασης γραφικών αντικειμένων) Task (Task (σε επίπεδο λογικών δραστηριοτήτων)σε επίπεδο λογικών δραστηριοτήτων)

HY454, 2006 Α. Σαββίδης Slide 26 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (8/10)(8/10)

Event levelEvent level Object levelObject level Task levelTask level

MOUSEMOVE 10 –3

MOUSECLICK LEFT

MOUSERELEASE LEFT

KEYPRESS 121

KEYRELEASE 121

BUTTON “OK” PRESSED

RADIOBUTTON “FILL” UNSELECT

MENU “FILE” OPENED

MENU “FILE” SELECTED

SCROLBAR “PAGEHORIZ” SCROLLED

TEXTFIELD “URL” EDITED

PAGEVIEW ENTER

PAGEVIEW EXIT

LINKBAR ENTER

LINKBAR EXIT

URLBAR ENTER

Παραδείγματα από στιγμιότυπα ενεργειών του χρήστη για κάθε επίπεδοΠαραδείγματα από στιγμιότυπα ενεργειών του χρήστη για κάθε επίπεδο

PAGEVIEW ENTERPAGEVIEW ENTER

PAGEVIEW EXITPAGEVIEW EXIT

situation “confusedsituation “confusedin page view” detectedin page view” detected

mouse move mouse move NN

mouse move mouse move N+1N+1

mouse click mouse click MM

mouse click mouse click M+1M+1

any link selectedany link selected

dispatched by thedispatched by theuser interfaceuser interface

exit STNexit STN

Παράδειγμα του Παράδειγμα του STNSTN (χωρίς (χωρίςαυστηρή τυπολογία) για τοναυστηρή τυπολογία) για τονεντοπισμό σύγχυσης στηεντοπισμό σύγχυσης στηχρήση των χρήση των links links μέσα στηνμέσα στηνιστοσελίδα.ιστοσελίδα.

HY454, 2006 Α. Σαββίδης Slide 27 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (9/10)(9/10)

Τέτοιου είδους Τέτοιου είδους STNSTN υλοποιείται σε κώδικα υλοποιείται σε κώδικα εύκολαεύκολα:: είτε με ειδική κλάση είτε με ειδική κλάση STN,STN,

εάν έχετε πολλά διαφορετικά τέτοια εάν έχετε πολλά διαφορετικά τέτοια STNSTNs s που σκοπό έχουν που σκοπό έχουν να αναγνωρίσουν πολλές καταστάσεις, μία γενική λύση θα να αναγνωρίσουν πολλές καταστάσεις, μία γενική λύση θα σας λύσει αρκετά τα χέριασας λύσει αρκετά τα χέρια

ή απλώς μέσω κλάσεων που συμπεριφέρονται όπως ή απλώς μέσω κλάσεων που συμπεριφέρονται όπως το το STNSTN που σχεδιάζουμε, που σχεδιάζουμε, αλλά δεν συνιστούν αμιγείς και αλλά δεν συνιστούν αμιγείς και reusable STN classesreusable STN classes..

HY454, 2006 Α. Σαββίδης Slide 28 / 28

Προσαρμογή σε κατάσταση χρήσης Προσαρμογή σε κατάσταση χρήσης (10/10)(10/10)

Θέματα αξιοπιστίαςΘέματα αξιοπιστίας Πολύ σημαντικό είναι ότι η εμβέλεια των προτύπων μπορεί να Πολύ σημαντικό είναι ότι η εμβέλεια των προτύπων μπορεί να

μην είναι καθολική, δηλ. 100%, αλλά να αντιπροσωπεύει μόνο μην είναι καθολική, δηλ. 100%, αλλά να αντιπροσωπεύει μόνο ένα ποσοστό.ένα ποσοστό.

Αυτό σημαίνει ότι εάν ένα πρότυπο ενεργειών αναγνωριστεί, Αυτό σημαίνει ότι εάν ένα πρότυπο ενεργειών αναγνωριστεί, μιλάμε μόνο για την πιθανότητα της αντίστοιχης κατάστασης (του μιλάμε μόνο για την πιθανότητα της αντίστοιχης κατάστασης (του χρήστη).χρήστη).

Δεδομένης της μεγάλης ανομοιομορφίας χρηστών, ενδέχεται η Δεδομένης της μεγάλης ανομοιομορφίας χρηστών, ενδέχεται η αξιοπιστία των προτύπων να κλονίζεται εάν πρόκειται για αξιοπιστία των προτύπων να κλονίζεται εάν πρόκειται για συστήματα χρήσης από πολύ μεγάλο αριθμό χρηστών, με συστήματα χρήσης από πολύ μεγάλο αριθμό χρηστών, με μεγάλες διαφορές μεταξύ τους.μεγάλες διαφορές μεταξύ τους.

Ωστόσο για εξειδικευμένα συστήματα κάτι τέτοιο μπορεί να Ωστόσο για εξειδικευμένα συστήματα κάτι τέτοιο μπορεί να βοηθήσει αρκετά. Εφαρμογές πολλές αναμένονται στο μέλλον.βοηθήσει αρκετά. Εφαρμογές πολλές αναμένονται στο μέλλον.