Περίληψη

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

Οι κατασκευαστές που σχεδιάζουν προσεκτικά το λογισμικό τους φτιάχνουν και το δικό τους υλικό. Alan Kay

Τεχνολογικά προϊόντα

Στην τεχνολογία λογισμικού υπάρχουν συνήθως πολλά επίπεδα αφαίρεσης, τα οποία κάνουν δύσκολη τη διάκριση ανάμεσα στη βασική τεχνολογία και στο τεχνολογικό προϊόν. Επίσης, συμβαίνει συχνά κάποια δημοφιλή προϊόντα να δίνουν το όνομά τους σε όλη την κατηγορία, όπως ακριβώς συμβαίνει σε πολλά καταναλωτικά προϊόντα. Για παράδειγμα, υπήρχε μια περίοδος που η οδοντόκρεμα λεγόταν kolynos και η χλωρίνη καθαρισμού λεγόταν kleenex. Αντίστοιχα, ο παγκόσμιος ιστός δεν είναι τεχνολογία, αλλά ένα δημοφιλές προϊόν της τεχνολογικής κατηγορίας των υπερμέσων. Φυσικά, ούτε τα Facebook, iPhone, Android, Windows, κτλ. είναι τεχνολογίες. Το ίδιο ισχύει και για τις δημοφιλείς γλώσσες αντικειμενοστραφούς προγραμματισμού, όπως είναι η Java, η οποία δημιουργήθηκε για να εξυπηρετήσει τις ανάγκες μιας εποχής και, κυρίως, τις ανάγκες μιας εταιρείας που λειτουργούσε σε ένα δεδομένο πολιτισμικό πλαίσιο, οπότε έχει πολλές ιδιότητες διαφορετικές από αυτές της Smalltalk, 1 που ήταν η πρώτη γλώσσα του είδους είκοσι χρόνια νωρίτερα. 2 Η διάκριση ανάμεσα σε τεχνολογία και προϊόν γίνεται ακόμη δυσκολότερη στην περίπτωση που πολλές διαφορετικές εταιρείες χρησιμοποιούν την ίδια έννοια, όπως για παράδειγμα τα αρχεία και τις εφαρμογές. Η συμφωνία χρήσης αρχείων και εφαρμογών σε προϊόντα διαφορετικών εταιρειών δημιουργεί την ψευδαίσθηση ότι αυτά είναι βασικές τεχνολογίες διάδρασης, αλλά στην πράξη είναι απλά δημοφιλείς και οικείες συμβάσεις για χρήστες που δεν θέλουν να κατανοήσουν άλλες κατευθύνσεις της τεχνολογίας διάδρασης. 3 4

Norton Commander
Ο κεντρικός ρόλος των αρχείων στα περισσότερα δημοφιλή λειτουργικά συστήματα φαίνεται και από την αποδοχή που έχουν οι αντίστοιχες εφαρμογές διαχείρισης αρχείων. Ο διαχειριστής αρχείων αρχικά βασιζόταν μόνο σε μια διεπαφή κειμένου για να διευκολύνει τις βασικές εντολές πάνω στα αρχεία ενός συστήματος.
SugarOS neighborhood
Στο λειτουργικό σύστημα SugarOS, το οποίο απευθύνεται σε μικρά παιδιά, δεν υπάρχει γραφική διεπαφή με αρχεία, φακέλους και εφαρμογές, όπως στην επιφάνεια εργασίας, αλλά η έμφαση βρίσκεται στις δραστηριότητες και, κυρίως, σε μια οπτικοποίηση των συνδέσεων με άλλους χρήστες που βρίσκονται κοντά και είναι απευθείας συνδεδεμένοι με την ασύρματη σύνδεση.

Η κατανόηση της τεχνολογίας απαιτεί αρχικά μια σημειωτική ανάλυση των βασικών λέξεων που χρησιμοποιούμε, 5 γιατί υπάρχουν πολλά προϊόντα τα οποία θεωρούνται τεχνολογίες, αλλά δεν είναι. 6 Αν θέλουμε να έχουμε κατανόηση πέρα από τα συμφέροντα των κατασκευαστών και τις εμπορικές συγκυρίες, τότε η ονομασία μιας τεχνολογίας διάδρασης θα πρέπει να σχετίζεται άμεσα με την λειτουργία που πραγματικά κάνει. Για παράδειγμα, το σύστημα SwyftWare σχεδιάστηκε από τον Jef Raskin για να κάνει επεξεργασία κειμένου, που είναι μια από τις πιο δημοφιλείς χρήσεις για τον επιτραπέζιο υπολογισμό. 7 Για αυτόν τον σκοπό, από την πλευρά του χρήστη, δεν έχει ούτε λειτουργικό σύστημα ούτε σύστημα αρχείων, ούτε εφαρμογές, αφού όλα αυτά είναι απλά προϊόντα και όχι βασικές τεχνολογίες, που είναι απαραίτητες για να έχουμε μια ποιοτική διάδραση με την επεξεργασία μικρών ή μεγάλων κειμένων και με ό,τι αυτή συνδέεται, όπως σημειώσεις και αλληλογραφία.

Το σύστημα αρχείων είναι η πιο δημοφιλής περίπτωση προϊόντος, το οποίο οι περισσότεροι θεωρούν πως είναι τεχνολογία. Στην πραγματικότητα, η θεώρηση ενός συστήματος λογισμικού ως σύνολο αρχείων έγινε δημοφιλής με το σύστημα UNIX. Η σημασία των αρχείων ενδυναμώθηκε στη συνέχεια από την γραφική επιφάνεια εργασίας και τα έγγραφα, που αναπαραστάθηκαν ως αρχεία. Τόσο το υλικό του συστήματος όσο και το βασικό επίπεδο λογισμικού δεν έχουν αρχεία, τα οποία είναι ένα κατασκεύασμα που εξυπηρετεί καλά πολλούς σκοπούς, αλλά σίγουρα δεν είναι ο μόνος τρόπος οργάνωσης του λογισμικού. Για παράδειγμα, την ίδια περίοδο που οι μηχανικοί στα Bell Labs κατασκεύασαν το σύστημα αρχείων του UNIX, οι μηχανικοί στο Xerox PARC κατασκεύασαν μια εναλλακτική οργάνωση του λογισμικού, που βασίζεται στα αντικείμενα, τα οποία ανταλλάσσουν μηνύματα. Επίσης, η επεξεργασία εγγράφων κειμένου στο SwyftWare δεν είχε αρχεία, όπως αρχεία δεν είχαν οι αρχικές εκδόσεις του λειτουργικού συστήματος iOS για τις κινητές συσκευές της Apple.

Αμέσως μετά τα αρχεία, το λειτουργικό σύστημα και οι εφαρμογές του επιτραπέζιου και κινητού υπολογισμού αποτελούν σημαντικά παραδείγματα προϊόντων, τα οποία, όμως, δεν είναι βασική τεχνολογία για το λογισμικό διάδρασης. Το λειτουργικό σύστημα παρέχει στον προγραμματιστή και στον απλό χρήση ένα ενιαίο περιβάλλον διάδρασης για πολλές διαφορετικές εφαρμογές. Το λειτουργικό σύστημα είναι μια ιδέα χρήσιμη για πολύ ακριβά μηχανήματα, για τα οποία δεν γνωρίζουμε τις πιθανές εφαρμογές τους. Από την πλευρά του χρήστη, για μια δεδομένη λειτουργία, όπως η επεξεργασία κειμένου, το λογισμικό διάδρασης δεν χρειάζεται να έχει ενδιάμεσα επίπεδα ή αρχιτεκτονικές της πληροφορίας που εξυπηρετούν και άλλους σκοπούς. Ειδικά οι εφαρμογές, όπως τις γνωρίζουμε από τις δημοφιλείς γραφικές διεπαφές σε επιτραπέζια και κινητά συστήματα, δημιουργούν ένα περιβάλλον χρήστη με έμφαση στην κατανάλωση, παρά στη δημιουργία. Πράγματι, αν μια εφαρμογή δεν έχει μια λειτουργία, τότε ο χρήστης θα πρέπει να αγοράσει κάποια άλλη εφαρμογή, που πιθανόν είναι πολύ παρόμοια με την αρχική. Επίσης, πολλές λειτουργίες παγιδεύονται σε μια εφαρμογή και δεν μπορούν να χρησιμοποιηθούν σε άλλη ή να γίνει μια σύνθεσή τους με τρόπο που να βολεύει. Για παράδειγμα, η γραμμή εντολών, όπως έγινε αρχικά γνωστή με το Unix, δεν περιέχει εφαρμογές, αλλά τη δυνατότητα διασύνδεσης εντολών για τη δημιουργία σύνθετων προγραμμάτων, που μπορούν να κάνουν ό,τι και μια εφαρμογή, χωρίς να παγιδεύονται σε ένα κλειστό κουτί. Από τις αρχές της δεκαετίας του 1980, ο Gary Gildall είχε διαπιστώσει ότι, ακόμη και όταν υπάρχει ανάγκη για διακριτό λειτουργικό σύστημα και εφαρμογές, αυτά δεν θα πρέπει να φτιάχνονται από τον ίδιο κατασκευαστή, γιατί δημιουργείται σύγκρουση συμφερόντων. 8

Η γραφική διεπαφή των δημοφιλών επιτραπέζιων συστημάτων, όπως είναι τα Windows, MacOS και GNOME, συνήθως αποτελείται από παράθυρα που αντιπροσωπεύουν εφαρμογές ή έγγραφα, καθώς, επίσης, και από μενού εργαλείων που εμφανίζονται ως εικονίδια. Όπως ακριβώς είδαμε και στις προηγούμενες περιπτώσεις προϊόντων παραπάνω, αυτή η τόσο δημοφιλής οργάνωση και η σημασιολογία των γραφικών στοιχείων είναι ένα ακόμη δημοφιλές προϊόν, το οποίο οι περισσότεροι θεωρούν ως τεχνολογία χωρίς εναλλακτικές. Πράγματι, είναι πολύ δύσκολο να εντοπίσουμε εμπορικές εναλλακτικές, καθώς η ευχρηστία αυτού του μοντέλου έχει επικρατήσει για πολλές δεκαετίες και οποιαδήποτε αλλαγή είναι τουλάχιστον τόσο δύσκολη όσο η οδήγηση από την αντίθετη κατεύθυνση. Η ευχρηστία αυτού του μοντέλου διάδρασης μπορεί να ερμηνευτεί τόσο από την καθολική επικράτηση του όσο και από την οικειότητα που έχει δημιουργηθεί, καθώς είναι το πιο απλό στην εκμάθηση, ειδικά για περιστασιακούς χρήστες. Τα εναλλακτικά συστήματα γραφικής διεπαφής που υπάρχουν βασίζονται περισσότερο στις προσαρμογές, τις οποίες θα κάνει ένας προγραμματιστής, ή είναι λιγότερο εύχρηστα γιατί απευθύνονται σε συχνούς χρήστες μεγαλύτερης δεξιότητας. Για παράδειγμα, τα συστήματα Xerox Cedar και Oberon δημιουργήθηκαν με έμπνευση το Alto, αλλά με χρήση δομημένης γλώσσας προγραμματισμού, όπως είναι οι Mesa και η Pascal. Αυτά τα ερευνητικά συστήματα δίνουν κεντρικό ρόλο στα έγγραφα, τα οποία εμφανίζονται στα παράθυρα, ενώ η διάδραση γίνεται με σύνθεση εντολών όπως στο UNIX, οι οποίες επιτρέπουν τους υπερσυνδέσμους ανάμεσα στα έγγραφα, καθώς και τον διαμοιρασμό τους με άλλους χρήστες. Ο παγκόσμιος ιστός, τα κοινωνικά δίκτυα και τα έξυπνα κινητά είναι τα πιο πρόσφατα παραδείγματα προϊόντων, τα οποία, όμως, δεν αποτελούν βασικές τεχνολογίες.

Η τεχνολογία του αντικειμενοστραφούς προγραμματισμού έχει γίνει δημοφιλείς με γλώσσες προγραμματισμού όπως η Java και η C++, αλλά αυτές όχι μόνο είναι απλά προϊόντα, αλλά και έχουν συγκεκριμένες ιδιότητες που δεν ταιριάζουν με την αρχική σχεδίαση. Η αρχική σχεδίαση και υλοποίηση του αντικειμενοστραφούς προγραμματισμού από τον Άλαν Κέη, ήταν εμπνευσμένη από την περιοχή της βιολογίας, τα κύτταρα και την πολύπλοκη κλίμακα των ζωντανών οργανισμών. Αντί να βασίζεται σε πολύπλοκες δομές δεδομένων, η Smalltalk βασίζεται σε πολύ απλές δομές, που ανταλλάσσουν μηνύματα μεταξύ τους, έτσι ώστε να είναι εφικτή η δημιουργία κλίμακας από απλά δομικά στοιχεία. Για τη δημιουργία πολύπλοκων συστημάτων δεν υπάρχει λόγος να έχουμε πολύπλοκες γλώσσες προγραμματισμού, αφού αρκεί να έχουμε ένα συμβολικό σύστημα, το οποίο ταιριάζει στο πεδίο εφαρμογής. Για τον σκοπό αυτό, τα σύγχρονα συστήματα που βασίζονται στη φιλοσοφία της Smalltalk κατασκευάζονται με τη σταδιακή υλοποίηση ενός μεταφραστή που είναι γραμμένος στην ίδια γλώσσα πρόγραμματισμού με αυτήν του κώδικα που μετατρέπει σε εκτελέσιμο. Με αυτόν τον τρόπο, οι προδιαγραφές του συστήματος είναι καθολικές ανάμεσα σε συστήματα με διαφορετικό υλικό. Τα παραπάνω δεν σημαίνουν ότι υπάρχει κάποια σωστή ή λάθος σχεδίαση, αλλά σίγουρα σημαίνει ότι πολλές τεχνολογικές ετικέτες θα πρέπει να χρησιμοποιούνται με περισσότερες επεξηγήσεις σχετικά με το πεδίο ερφαρμογής και τους τυπικούς χρήστες, έτσι ώστε να είναι διακριτό το πραγματικό τους νόημα. Ταυτόχρονα, μπορούμε να εντοπίσουμε καινοτόμα συστήματα, όπως το Superpaint, τα οποία δεν βασίζονται ούτε σε κάποιο λειτουργικό σύστημα ούτε σε κάποια γλώσσα προγραμματισμού. Πράγματι, ένα σύστημα διάδρασης μπορεί να φτιαχτεί για έναν σημαντικό σκοπό, όπως είναι η ψηφιακή επεξεργασία εικόνας, χωρίς τη φιλοδοξία να γίνει πλατφόρμα για κάτι άλλο.

Εξομοίωση και προσομοίωση

Η επιφάνεια εργασίας ως προσομοίωση του φυσικού χαρτιού
Καθώς η εταιρεία Xerox ασχολείται διαχρονικά με το φυσικό χαρτί και τις εκτυπώσεις, οι πελάτες της είναι, κυρίως, εκδοτικοί οργανισμοί και γενικά άτομα που εργάζονται στο γραφείο με έγγραφα που αποθηκεύονται σε φυσικό χαρτί. Με αυτόν τον τρόπο, όλες οι καινοτομίες του Alto μεταφέρθηκαν στο Star, δίνοντας έμφαση στη δυνατότητα προσομοίωσης του φυσικού χαρτιού στην οθόνη του υπολογιστή και γενικά στην επιφάνεια εργασίας με τις αντίστοιχες μεταφορές από το φυσικό γραφείο.
Η
χρήση της μεταφοράς στο κινητό σύστημα Magic Cap
Η χρήση της μεταφοράς αντικειμένων από τον πραγματικό κόσμο στο λειτουργικό σύστημα Magic Cap του φορητού υπολογιστή επικοινωνίας της General Magic είναι εμπνευσμένη από την επιτυχία που είχαν οι ανάλογες μεταφορές στον επιτραπέζιο υπολογιστή, αν και σε αυτήν την περίπτωση δεν μεταφράστηκαν σε αντίστοιχη εμπορική επιτυχία.

Η εξομοίωση και η προσομοίωση παρέχουν δύο σημαντικούς τρόπους θεώρησης της λειτουργίας του υπολογισμού και των εφαρμογών του. Χρονολογικά, η εξομοίωση είναι προγενέστερη της προσομοίωσης, καθώς περιγράφεται από τον Alan Turing ως ένα χαρακτηριστικό της γενικής μηχανής υπολογισμού. Η δυνατότητα της εξομοίωσης επιτρέπει σε ένα μηχάνημα να εξομοιώνει τη λειτουργία κάποιου άλλου διαφορετικού μηχανήματος. Υπάρχουν πολλές δημοφιλείς μηχανές εξομοίωσης για τους μικρο-υπολογιστές και τις παιχνιδομηχανές της δεκαετίας του 1980, αλλά η εξομοίωση δεν είναι δημοφιλής τρόπος σχεδίασης νέων συστημάτων διάδρασης. Η προσομοίωση αναφέρεται στη δυνατότητα ενός μηχανήματος να υπολογίζει και να οπτικοποιεί τη συμπεριφορά συστήματων, των οποίων τη λειτουργία δεν μπορεί να γνωρίζει επακριβώς, όπως είναι τα πολύπλοκα φυσικά ή βιολογικά φαινόμενα. Για παράδειγμα, οι πρώτοι υπολογιστές χρησιμοποιήθηκαν για τον υπολογισμό της τροχιάς ενός πυραύλου, καθώς και για την πρόβλεψη του καιρού, ενώ οι πιο πρόσφατες εφαρμογές της προσομοίωσης περιλαμβάνουν τη λειτουργία των βιολογικών κυττάρων, καθώς και των μικροσκοπικών σωματιδίων της ύλης.

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

Η δημοφιλία της προσομοίωσης και η δυσκολία που παρουσιάζει η εξομοίωση έχουν οδηγήσει τις περισσότερες εφαρμογές του παραδοσιακού επιτραπέζιου υπολογισμού στην κατεύθυνση της προσομοίωσης του πραγματικού κόσμου. Για παράδειγμα, η γραφική διεπαφή στον επιτραπέζιο υπολογιστή είναι μια προσομοίωση της επιφάνειας εργασίας στον αληθινό χώρο του γραφείου. 9 10 Αντίστοιχα, οι εφαρμογές επεξεργασίας εγγράφων είναι μια προσομοίωση των χάρτινων εγγράφων του αληθινού κόσμου. Στην πραγματικότητα όμως, ο υπολογιστής, με γραφικά ή χωρίς, δεν έχει κανέναν περιορισμό για το πώς θα είναι μια γραφική διεπαφή ή μια εφαρμογή επεξεργασίας εγγράφων. Σίγουρα, η προσομοίωση του αληθινού κόσμου στον κόσμο του υπολογιστή δημιουργεί μια αρχική αίσθηση ευχρηστίας μέσα από την οικειότητα. Επομένως, για τα μηχανήματα εκείνα που πρέπει να είναι εύχρηστα για ευκαιριακούς χρήστες, η προσομοίωση είναι μια χρήσιμη τεχνική, αλλά δεν είναι αντιπροσωπευτική των δυνατοτήτων που θέλουμε να έχουμε, αν ο στόχος μας είναι η επαύξηση της ανθρώπινης νοημοσύνης. Επιπλέον, για κάποιες εφαρμογές διάδρασης σε πραγματικό χρόνο, όπως είναι η μουσική και η ζωγραφική, η προσομοίωση τους στον συμβολικό χώρο του υπολογισμού αφαιρεί δυνατότητες που βρίσκονται πέρα από τις ρητές γνώσεις μας, αλλά ήταν προσβάσιμες στα αρχικά αναλογικά εργαλεία ήχου και χρώματος.

Η πιο δημοφιλής μορφή και ταυτόχρονα η πιο ιδιάζουσα περίπτωση προσομοίωσης συναντάται στον κινητό υπολογισμό της δεκαετίας του 2010, όπου οι συσκευές διάδρασης μικραίνουν σε μέγεθος και προσομοιώνουν τις εφαρμογές του επιτραπέζιου υπολογισμού, αντί να ορίσουν νέα παραδείγματα, συμβατά με το κινητό πλαίσιο χρήσης. Για παράδειγμα, τα πρώτα κινητά λειτουργικά συστήματα της Microsoft έχουν γραφικό περιβάλλον με κουμπί εκκίνησης, ενώ όλα τα συστήματα βασίζονται στην ιδέα των εφαρμογών για την οργάνωση του λογισμικού τους. Όπως έχουμε ήδη αναλύσει στην ενότητα των Μορφών, οι εφαρμογές λογισμικού είναι μια πολύ συγκεκριμένη μορφή οργάνωσης του λογισμικού, η οποία ωφελεί, κυρίως, την κυρίαρχη πλατφόρμα ενός λειτουργικού συστήματος. Με άλλα λόγια, οι κατασκευαστές λογισμικού επέλεξαν, για άλλη μια φορά, να βελτιστοποιήσουν τα συμφέροντά τους, τα οποία παρουσιάζουν στους χρήστες ως οικειότητα και ευχρηστία. Στην πράξη όμως, αυτό που πραγματικά προσφέρουν στους τελικούς χρήστες είναι μια προσομοίωση ενός παραδείγματος του επιτραπέζιου υπολογισμού σε ένα νέο πλαίσιο χρήσης, το οποίο είναι πολύ διαφορετικό. Με αυτόν τον τρόπο, τα κινητά συστήματα είναι μια ακόμη χαμένη ευκαιρία, μετά τα επιτραπέζια, αφού παγιδεύονται στη θεώρηση της προσομοίωσης και δεν εξετάζουν καθόλου την εξομοίωση νέων συστημάτων διάδρασης.

Επεξεργαστής κειμένου γραμμής ED
Ο επεξεργαστής κειμένου ED λειτουργεί σε επίπεδο γραμμής, γιατί αναπτύχθηκε σε ένα περιβάλλον χρήστη, στο οποίο η βασική συσκευή εισόδου και εξόδου είναι ο τηλέτυπος. Αν και δεν είναι εύχρηστος, παραμένει, από τη δημιουργία του συστήματος UNIX, ο βασικός επεξεργαστής κειμένου, καθώς είναι απλός στην υλοποίηση και συμβατός με τις γλώσσες προγραμματισμού σε γραμμή εντολών.
UNIX
TMG
Για τον μετασχηματισμό από την αρχική έκδοση του UNIX που ήταν γραμμένη σε συμβολική γλώσσα μηχανής σε μια έκδοση που βασίζεται σε μια γλώσσα υψηλού επιπέδου, όπως η B και η C, χρειάστηκε να δημιουργηθεί από την αρχή ένας μεταφραστής. Η διαδικασία δημιουργίας του μεταφραστή είναι σημαντική, γιατί είναι μια δεξιότητα που επιτρέπει τη δημιουργία μιας νέας γλώσσας, αφού η αρχική εκδοχή του μεταφραστή μπορεί να είναι πολύ απλή και να γραφεί απευθείας σε συμβολική γλώσσα μηχανής.

Η περίπτωση των συστημάτων διάδρασης ανοιχτού κώδικα είναι εξίσου ιδιάζουσα με αυτή του κινητού υπολογισμού, γιατί προσομοιώνει το γραφικό περιβάλλον εργασίας και τις εφαρμογές των κυρίαρχων συστημάτων. Για παράδειγμα, τα πιο δημοφιλή γραφικά περιβάλλοντα με επιφάνεια εργασίας όπως τα Gnome και KDE, είναι αντίγραφα των Windows και MacOS. Ταυτόχρονα, οι αντίστοιχες εφαρμογές γραφείου ανοιχτού κώδικα OpenOffice και LibreOffice είναι επίσης αντίγραφα των αντίστοιχων εφαρμογών Microsoft Office και Apple iWork. Ο ανοιχτός κώδικας σε επίπεδο εφαρμογής και περιβάλλοντος ήταν δεδομένος στο σύστημα Smalltalk του Alto, αλλά οι κατασκευαστές του είχαν κάνει πολλές ακόμη αρχιτεκτονικές επιλογές. Ακόμη και πέρα από τον χώρο της διάδρασης που διαπραγματευόμαστε εδώ, οι κατασκευαστές ανοιχτού λογισμικού φαίνονται παγιδευμένοι περισσότερο στην αναπαραγωγή της υπάρχουσας κατάστασης παρά στην καινοτομία. Πράγματι, ο κατασκευαστής του πυρήνα του Linux επέλεξε στις αρχές τις δεκαετίας του 1990 να φτιάξει μια εκδοχή ενός παραδοσιακού πυρήνα που υπάρχει από τις αρχές του 1970 και ταυτόχρονα να βρει καθολική ανταπόκριση από πολλές διαφορετικές ομάδες χρηστών. Σίγουρα η διάθεση του λογισμικού με ανοιχτό κώδικα έχει περισσότερα πλεονεκτήματα από το ίδιο λογισμικό με κλειστό κώδικα, αλλά αν η αρχιτεκτονική του και η διάδρασή του είναι ίδια ακριβώς με αυτή του κλειστού κώδικα, τελικά το κίνημα του ανοιχτού κώδικα καταλήγει να εξυπηρετεί όχι μόνον τον εαυτό του, αλλά, κυρίως, τα συμφέροντα των κατασκευαστών κλειστού λογισμικού, οι οποίοι μπορούν πλέον να ετεροπροσδιορίζονται ως τεχνολογία. Τελικά αυτό δεν εξυπηρετεί την πραγματική βελτίωση της ποιότητας του λογισμικού διάδρασης, που μπορεί να γίνει μόνο με τους κατάλληλους εξομοιωτές για νέα συστήματα που δεν υπάρχουν, καθώς και με εξομοίωση συστημάτων εισόδου και εξόδου δεδομένων. 11 12

Τόσο τα πρώτα πειραματικά βιντεοπαιχνίδια όσο και τα δημοφιλή προϊόντα των επόμενων δεκαετιών συνήθως βασίζονται στη θεώρηση της προσομοίωσης. Για παράδειγμα, το βιντεοπαιχνίδι Tennis for two 13 δημιουργήθηκε για έναν αναλογικό υπολογιστή με οπτικοποίηση στην οθόνη ενός φασματοσκόπιου, στον οποίο οι δύο παίκτες έπαιζαν τένις σε πρόσοψη. Μερικά χρόνια αργότερα, το δημοφιλές βιντεοπαιχνίδι Pong αντιγράφει το Table Tennis for Two 14 και χρησιμοποιεί την οπτικοποίηση της κάτοψης. Επίσης, ένα από τα πρώτα δημοφιλή βιντεοπαιχνίδια τη δεκαετία του 1960 σε μινι-υπολογιστές είναι το Spacewar, στο οποίο οι παίκτες κάνουν μια αερομαχία στο διάστημα σε συνθήκες βαρύτητας γύρω από ένα πλανητικό κέντρο. Αντίστοιχα, τη δεκαετία του 1970, πολλοί προγραμματιστές αποκτούν την πρώτη τους επαφή με τον υπολογιστή με τον ευρέως διαθέσιμο κώδικα του βιντεοπαιχνιδιού Lunar Lander, όπου ο παίκτης προσπαθεί να προσγειώσει ένα διαστημόπλοιο στη σελήνη. Παρατηρούμε ότι και στις δύο περιπτώσεις, εκτός από την προσομοίωση της φυσικής πραγματικότητας, η θεματολογία των βιντεοπαιχνιδιών είναι έντονα επηρεασμένη από την τότε πολιτική και πολιτιστική πραγματικότητα ή από μια αθλητική και παιγνιώδη δραστηριότητα. Μετά τη δεκαετία του 1970, εμφανίζονται, πολύ δειλά και ως αφαιρετικοί μετασχηματισμοί των προηγούμενων, τα πρώτα καινοτόμα βιντεοπαιχνίδια, όπως ήταν τα Breakout και Space Invaders, αλλά το παράδειγμα της προσομοίωσης παραμένει κυρίαρχο.

Tennis for Two
Το βιντεοπαιχνίδι Tennis for Two είναι μια σχετικά πιστή προσομοίωση του τένις για δύο παίκτες, όπως αυτό φαίνεται από το πλάϊ, σε πρόσοψη. Κατασκευάστηκε σε αναλογικό ηλεκτρονικό υπολογιστή και για την οπτικοποίησή του χρησιμοποιήθηκε ένα φασματοσκόπιο. Η επίδρασή του ήταν καταλυτική, αφού έδωσε την έμπνευση για το δημοφιλές Pong, ενώ για πολλές δεκαετίες μετά τα βιντεοπαιχνίδια προσομοίωσης αθλημάτων παραμένουν πολύ δημοφιλή.
Magnavox Odyssey
Η πρώτη εμπορικά πετυχημένη οικιακή κονσόλα βιντεοπαιχνιδιών είχε μόνο τη δυνατότητα να μετακινεί τρία σημεία στην τηλεόραση του χρήστη, με τα δύο χειριστήρια με τροχαλία, ενώ δεν είχε τη δυνατότητα να εκτελέσει νέα παιχνίδια, εκτός από αυτά που ήταν ήδη αποθηκευμένα στην εσωτερική μνήμη ανάγνωσης. Με τη βοήθεια ενός σετ περιφερειακών, όπως χρωματισμένες ημιδιαφανείς ζελατίνες για την τηλεόραση και κάρτες επιτραπέζιων παιχνιδιών, δημιούργησε τη βιομηχανία των βιντεοπαιχνιδιών. To πιο γνωστό παιχνίδι ήταν το Table Tennis for Two, το οποίο πολύ γρήγορα βελτιώθηκε από την Atari με το δημοφιλές Pong.

Τα βιντεοπαιχνίδια σε κονσόλες και σε μικρο-υπολογιστές των δεκαετιών του 1970 και 1980 απέκτησαν μια δεύτερη ζωή μακριά από το αρχικό υλικό τους με την τεχνολογία της εξομοίωσης, μετά το 2000. Η βελτιωμένη επεξεργαστική ισχύς των επιτραπέζιων συστημάτων επέτρεψε την ανάπτυξη εξομοιωτών που μπορούσαν να εκτελέσουν το παλαιότερο λογισμικό σε μια αντίστροφη κίνηση, όπου τα διαθέσιμα συστήματα και η θεώρηση της εξομοίωσης δεν χρησιμοποιούνται για να μας πάνε παρακάτω, αλλά πίσω στον χρόνο. Με αυτόν τον τρόπο, μια νέα γενιά χρηστών χρησιμοποιεί συστήματα που δεν υπάρχουν, ενώ και πολλοί παλιότεροι ζουν στην πράξη τις αναμνήσεις τους. Σίγουρα, η εξομοίωση παλιών συστήματων, τα οποία δεν είναι, πλέον, ευρέως διαθέσιμα, είναι μια άριστη πρακτική για να έχουμε πρόσβαση σε παλαιότερο λογισμικό, ακόμη και για να αναπτύξουμε νέο λογισμικό για αυτό το δυσεύρετο, πλέον, υλικό. Ταυτόχρονα, όμως, αυτή η κάπως οπισθοδρομική εφαρμογή της θεώρησης της εξομοίωσης επιβεβαιώνει ότι τόσο οι κατασκευαστές όσο και η χρήστες έχουν μια έμφυτη τάση στην αναπαραγωγή της υπάρχουσας κατάστασης, παρά στη δημιουργία καινοτομίας, ακόμη και όταν έχουν στη διάθεση τους τα κατάλληλα εργαλεία, όπως είναι οι ισχυροί και δικτυωμένοι προσωπικοί υπολογιστές και η τεχνική της εξομοίωσης.

Πέρα από το γραφικό περιβάλλον και τα έγγραφα στον επιτραπέζιο υπολογισμό, η μονοθεματική θεώρηση της προσομοίωσης είναι, επίσης, το κυρίαρχο παράδειγμα, ακόμη και σε καινοτόμα συστήματα διάδρασης, όπως είναι η εικονική πραγματικότητα. Η εικονική πραγματικότητα όπως περιγράφηκε αρχικά από τον Jaron Lanier ήταν μια προσπάθεια εξομοίωσης ενός κόσμου που δεν υπάρχει. Δεν είναι τυχαίο ότι ο δημιουργός και νονός της θεωρεί ατυχές το όνομα εικονική πραγματικότητα, αφού δηλώνει μια προσομοίωση. Πράγματι, στις δικές του πειραματικές εφαρμογές εικονικής πραγματικότητας, ο χαρακτήρας που ελέγχεται μπορεί να είναι ένα χταπόδι ή κάποιο άλλο δημιούργημα που δεν υπάρχει. Ταυτόχρονα, η οπτικοποίηση και η συμπεριφορά του εικονικού κόσμου δεν προσομοιώνει τον πραγματικό κόσμο της ανθρώπινης εμπειρίας, αλλά έναν κόσμο που δεν υπάρχει. Ο στόχος της εξομοίωσης μιας δυνητικής πραγματικότητας είναι να εμπλουτίσει την ανθρώπινη εμπειρία και να επαυξήσει την ανθρώπινη νοημοσύνη σε ευρύτερα πεδία, στα οποία δεν υπάρχει απευθείας πρόσβαση μέσα από το φυσικό περιβάλλον. 15 Αντίθετα, οι περισσότερες εφαρμογές εικονικής πραγματικότητας προσπαθούν να προσομοιώσουν την πραγματικότητα όσο πιο πιστά γίνεται, τόσο στην εμφάνιση της με γραφικά όσο και στη συμπεριφορά του κόσμου και των χαρακτήρων. Αν και τα συστήματα εικονικής πραγματικότητας είχαν μικρή εμβέλεια για πολλές δεκαετίες, αποτελούν άλλη μια σημαντική χαμένη ευκαιρία για την εξερεύνηση της εξομοίωσης ως βασικής θεώρησης κατασκευής νέων διαδραστικών συστημάτων.

Επαναληπτική ανάπτυξη του Lisa
Η κατασκευή λογισμικού για ένα νέο υλικό υπολογιστή που δεν υπάρχει ακόμη μπορεί να ξεκινήσει με έναν διαθέσιμο υπολογιστή, στον οποίο γίνεται εξομοίωση της αρχιτεκτονικής του νέου συστήματος. Με αυτόν τον τρόπο, ο διαθέσιμος Apple II χρησιμοποιήθηκε για την κατασκευή της γραφικής διεπαφής του Apple Lisa σε μια επαναληπτική διαδικασία, η οποία ξεκίνησε από τα διαθέσιμα εργαλεία που υποστήριζαν μόνο χαρακτήρες κειμένου σε μια μαύρη οθόνη.
Εξομοιωτές παλαιότερων συστημάτων
Ο εξομοιωτής σε ένα σύγχρονο γραφικό περιβάλλον μπορεί να εκτελέσει το λογισμικό για ένα παλιότερο γραφικό περιβάλλον, το οποίο με τη σειρά του μπορεί να εκτελέσει έναν εξομοιωτή για ένα ακόμη παλιότερο σύστημα με γραμμή εντολών. Με αυτόν τον τρόπο, μπορούμε να εξομοιώσουμε ένα παλιότερο σύστημα ακόμη και αν δεν έχουμε εξομοιωτή για αυτό, αρκεί να έχουμε για μια σειρά από ενδιάμεσα συστήματα. Το ιδανικό είναι να εκμεταλλευτούμε αυτήν την τεχνική για νέα συστήματα και όχι μόνο για την αναβίωση των παλιότερων.

Μια ερμηνεία για την τάση προσομοίωσης ή την τάση εξομοίωσης του παρελθόντος μπορούμε να αντλήσουμε από το γνωστικο πεδίο των μέσων επικοινωνίας. Για παράδειγμα, στο παρελθόν, η εισαγωγή της τεχνολογίας της τηλεόρασης θεωρήθηκε μια συνέχεια της τεχνολογίας του ραδιοφώνου. Οπότε, η παραγωγή του περιεχομένου που θα φιλοξενούσε το νέο μέσο θα ήταν μια γραμμική βελτίωση του περιεχομένου που υπήρχε στο ραδιόφωνο. Με αυτό το σκεπτικό δεν ήταν καθόλου περίεργο που η τηλεόραση αρχικά ορίστηκε ως ραδιόφωνο με εικόνα και, με δεδομένο αυτόν τον σχετικά στενό ορισμό, ήταν επόμενο το περιεχόμενο των εκπομπών τηλεόρασης, τα πρώτα χρόνια, να μην ήταν κάτι παραπάνω από μια στατική εικόνα με ήχο. 16 Μια ακόμη ερμηνεία για την ανάγκη να χρησιμοποιούμε μεταφορές από τον πραγματικό κόσμο, τις οποίες τις προσαρμόζουμε στον ψηφιακό κόσμο των υπολογιστών, μπορούμε να αντλήσουμε από το γνωστικό πεδίο της φιλοσοφίας. Πράγματι, είναι ευκολότερο να κατανοήσουμε κάτι νέο, αν το χρησιμοποιήσουμε ως κάτι παλιότερο. [lakoff2008metaphors] Αυτές οι ιδέες αποτελούν την θεωρητική θεμελίωση δημοφιλών προϊόντων διάδρασης, όπως είναι η γραφική επιφάνεια εργασίας και οι εφαρμογές τηλεδιάσκεψης με βίντεο. Αν και παρέχουν ευχρηστία και οικειότητα, αυτές οι ιδέες δεν προσφέρουν υποστήριξη για την κατασκευή μελλοντικών καινοτόμων συστημάτων διάδρασης.

Όσο εύκολο είναι να περιγράψουμε τα δημοφιλή συστήματα διάδρασης που βασίζονται στη θεώρηση της προσομοίωσης, άλλο τόσο δύσκολο είναι να περιγράψουμε εκείνα που βασίζονται στην εξομοίωση, 17 αφού δεν έχουμε κρίσιμη μάζα γνώσης για αυτά. 18 Ένα από τα λίγα γνωστά συστήματα διάδρασης που βασίζονται στην εξομοίωση περιγράφεται από τον Alan Kay στην κατασκευή του Alto. Το λογισμικό για το λειτουργικό υπόδειγμα του Alto, το οποίο βασίζεται στην περιβάλλον προγραμματισμού Smalltalk, κατασκευάστηκε με την εξομοίωσή του πάνω σε έναν μινι-υπολογιστή στις αρχές του 1970 και πολύ πριν οι ερευνητές του Xerox PARC κατασκευάσουν το πραγματικό υλικό του Alto. 19 Εκείνος ο μινι-υπολογιστής δούλευε με τηλέτυπο χωρίς οθόνη γραφικών και χωρίς ποντίκι, ενώ και η γλώσσα προγραμματισμού του ήταν πολύ διαφορετική από τη Smalltalk, αλλά αυτά δεν εμπόδισαν τους κατασκευαστές του Alto να φανταστούν ένα διαδραστικό γραφικό περιβάλλον και να το εξομοιώσουν αρχικά πάνω σε ξένο υλικό, πριν τελικά το κατασκευάσουν και στην πραγματικότητα. Παρόμοια τεχνική εξομοίωσης χρησιμοποίησε και ο Bill Atkinson για την κατασκευή του λογισμικού διάδρασης για το Apple Lisa. 20 Για τον σκοπό αυτό, χρησιμοποίησε μια επέκταση του δημοφιλούς εκείνη την εποχή Apple II για να κατασκευάσει σταδιακά με την γλώσσα PASCAL ένα γραφικό περιβάλλον που λίγο διαφέρει από αυτό των σύγχρονων επιτραπέζιων συστημάτων και όλα αυτά ενώ είχε μπροστά του μόνο έναν μικρο-υπολογιστή με διάδραση σε γραμμή εντολών, χωρίς ποντίκι και χωρίς παραθυρικό περιβάλλον. Επομένως, ένα βασικό συστατικό διάδρασης που εμφανίζουν τα συστήματα, τα οποία έχουν κατεύθυνση την εξομοίωση είναι ότι επιτρέπουν την κατασκευή νέων εργαλείων, που δεν περιορίζονται από εσωτερικές παραδοχές και κανόνες, όπως συνήθως συμβαίνει στα συστήματα προσομοίωσης.

Data
General Nova
Ακόμη και ο μικρότερος μίνι-υπολογιστής στα τέλη της δεκαετίας του 1960 δεν μοιάζει καθόλου με ένα επιτραπέζιο σύστημα διάδρασης, αφού το βασικό μοντέλο έχει μόνο διακόπτες με φωτάκια και με μια επέκταση μπορεί να συνδεθεί σε έναν τηλέτυπο. Αυτό δεν ήταν εμπόδιο για τους ερευνητές του Xerox PARC, οι οποίοι με την τεχνική της εξομοίωσης άρχισαν πάνω σε αυτό το μηχάνημα την κατασκευή του λογισμικού για το Alto που είναι πολύ διαφορετικό, αφού βασίζεται στο ποντίκι και στη γραφική διεπαφή.
Altair και Τηλέτυπος
O Altair θεωρείται ο πρώτος δημοφιλής μικρο-υπολογιστής και ήταν διαθέσιμος σε οικονομικό κιτ, το οποίο ο χρήστης συναρμολογούσε μόνος του, και στη συνέχεια θα έπρεπε να αγοράσει και τα σχετικά περιφεριακά, εισόδου και εξόδου, όπως ο τηλέτυπος για την είσοδο και την έξοδο κειμένου, τα οποία κόστιζαν ακόμη περισσότερο. Ήταν όμως πολύ πιο προσιτός από τους μινι-πολογιστές εκείνης της εποχής και επιπλέον ήταν διαθέσιμος με την επίσης προσιτή γλώσσα προγραμματισμού BASIC.

Αμέσως μετά τους πρωτοπόρους Douglas Engelbart και Ivan Sutherland του δημιουργικού μετασχηματισμού του υπολογιστών σε μια νέα μορφή, οι ερευνητές του Xerox PARC εφάρμοσαν την τεχνική της εξομοίωσης, έτσι ώστε να μπορούν να εργάζονται με το σύστημα που ήθελαν και όχι απλά με αυτό που είχαν διαθέσιμο. Πράγματι, η Xerox μόλις είχε αγοράσει την Scientific Data Systems (SDS) και αγνόησε το αίτημα των ερευνητών του PARC για την αγορά του ανταγωνιστικού DEC PDP, το οποίο ήταν πολύ δημοφιλές ανάμεσα στους συναδέλφους ερευνητές σε άλλους οργανισμούς και στο δίκτυο ερευνητικής συνεργασίας ARPANET. Στην πράξη, όμως, αυτό δεν ήταν μεγάλο πρόβλημα, αφού με την τεχνική της εξομοίωσης οι ερευνητές του PARC δημιούργησαν το PDP με μικροκώδικα πάνω στο φυσικό μηχάνημα της SDS. Με τον ίδιο ακριβώς τρόπο, χρησιμοποίησαν το μηχάνημα Data General Nova για να αναπτύξουν το λογισμικό για το Alto, πολύ πριν έχουν στη διάθεση τους το υλικό της αρχικής έκδοσης του Alto. Παρόμοια, ο Niklaus Wirth θα καταφέρει να εκτελέσει και να ενημερώσει τη βάση για το αρχικό λογισμικό διάδρασης για το σύστημα Oberon 21 είκοσι πέντε χρόνια μετά, με τη δημιουργία ενός νέου υπολογιστή με την τεχνική των προγραμμάτων για FPGA, δηλαδή υλικό που επιτρέπει την εξομοίωση άλλου υλικού υπολογιστή. Για τους ερευνητές του PARC και τους συνεργάτες τους, η διάδραση με τους υπολογιστές σημαίνει, κυρίως, την κατασκευή ενός νέου υπολογιστή και του περιβάλλοντος ανάπτυξης, που περιλαμβάνει τον μεταγλωττιστή και τον επεξεργαστή κειμένου, τα οποία αρχικά θα πρέπει να εξομοιωθούν στα πρώτα στάδια της ανάπτυξης πάνω σε ένα διαφορετικό από το τελικό φυσικό μηχάνημα. Η επιλογή της εξομοίωσης μπορεί να γίνει αρχιτεκτονική επιλογή, όπως στην περίπτωση της JAVA, όπου ο κατασκευαστής φροντίζει για την εκτέλεση μόνο πάνω σε μια εικονική μηχανή και αφήνει την υλοποίηση του κατώτερου επιπέδου στους επιμέρους κατασκευαστές υλικού. 22 23

Μοντελοποίηση και Αναλογία

Ψηφιακά επαυξημένο γραφείο
Το σύστημα Digital Desk δημιουργήθηκε είχε στόχο να φέρει πάνω στο τραπέζι τις δυνατότητες διάδρασης μεταξύ του ψηφιακού και φυσικού κόσμου, ακριβώς δηλαδή, το αντίθετο από την κατεύθυνση που ακολουθεί ο επιτραπέζιος υπολογισμός με την γραφική επιφάνεια εργασίας.
Clearboard
Το σύστημα συνεργασίας Clearboard του MIT Media Lab προβάλλει το βίντεο δύο συνεργατών πάνω στην κοινή εφαρμογή ζωγραφικής, έτσι ώστε να υπάρχει σύγχρονη επίγνωση του βλέμματος και των χειρονομιών τους.

Η βασική τεχνολογία για την κατασκευή της διάδρασης παραμένει διαχρονικά ο προγραμματισμός ενός υπολογιστή. Ο προγραμματισμός με τη σειρά του είναι μια σημαντική, αλλά ξεχωριστή περίπτωση διάδρασης με τον υπολογιστή, ο οποίος έχει περάσει από πολλά στάδια και συνεχίζει να εξελίσσεται. Οι πρώτοι κεντρικοί υπολογιστές όπως και ο πρώτος μικρο-υπολογιστής Altair προγραμματίζονταν με τους φυσικούς διακόπτες, αλλά αυτό ήταν δύσκολο, ειδικά για μεγάλα προγράμματα και σετ δεδομένων. Για αυτόν τον λόγο, ο προγραμματισμός των υπολογιστών ξεκίνησε να γίνεται με ασύγχρονο τρόπο μέσω της χρήσης διάτριτων καρτών σε σετ ή ακόμη καλύτερα, με τη χρήση της διάτρητης χαρτοταινίας. Η εγγραφή και η ανάγνωση από τη διάτρητη χαρτοταινία ήταν πολύ οικονομική και τόσο δημοφιλής ώστε να βρίσκεται ενσωματωμένη ακόμη και πάνω στον τηλέτυπο, ο οποίος ήταν για πολλές δεκαετίες ο βασικός τρόπος συγγραφής προγραμμάτων υπολογιστή και, επόμενως, και διάδρασης, αφού το πληκτρολόγιο και η διάτρητη χαρτοταινία ήταν τα συστήματα εισόδου, ενώ η χαρτοταινία και ο εκτυπωτής γραμμής ήταν τα συστήματα εξόδου. Με αυτόν τον τρόπο, φτιάχτηκαν και τα πρώτα συστήματα διάδρασης σε πραγματικό χρόνο, όπως ήταν η LISP και το JOSS, αλλά η πλειοψηφία των συστημάτων λειτουργούσε ασύγχρονα με εργασίες δέσμης. Όλα αυτά τα ηλεκτρομηχανικά συστήματα εισόδου και εξόδου από τον υπολογιστή, τα οποία βασίζονταν στο χάρτι, θα αντικατασταθούν από τις ηλεκτρονικές και, αργότερα, ψηφιακές οθόνες και το ποντίκι, τη δεκαετία του 1980, αλλά ο προγραμματισμός του υπολογιστή θα παραμείνει μια διαδικασία που βασίζεται σε γραπτές γλώσσες κειμένου που εισάγονται με το πληκτρολόγιο, γραμμή γραμμή, όπως ακριβώς απαιτούσαν συσκευές εισόδου και εξόδου που ήταν πλέον παρωχημένες.

Ανάμεσα στις πολλές τεχνολογίες λογισμικού για την κατασκευή νέων διαδραστικών συστημάτων, οι γλώσσες προγραμματισμού που επιτρέπουν τόσο την ανάπτυξη νέων συστημάτων όσο και την εξέλιξη της ίδιας της γλώσσας έχουν διαχρονική αποτελεσματικότητα, αλλά με μεγάλο κόστος για την εκμάθησή τους. Για παράδειγμα, η εκφραστική δύναμη της αρχικής γλώσσας Lisp επιτρέπει την συγγραφή του μεταγλωττιστή της στην ίδια τη γλώσσα, μια επιλογή που δείχνει προς την κατεύθυνση της συνεχούς βελτίωσης της γλώσσας προγραμματισμού, η οποία δεν είναι πλέον κάτι στατικό. Αυτή η τεχνική χρησιμοποιήθηκε και κατά τη δημιουργία του διαδραστικού περιβάλλοντος Smalltalk, η οποία εκτός από γλώσσα προγραμματισμού για τον χρήστη επιτρέπει και τη μεταβολή του αρχικού συστήματος, δηλαδή και της ίδιας της γλώσσας. Παρόμοια τακτική ακολούθησαν και άλλοι κατασκευαστές για να δημιουργήσουν από την αρχή νέα διαδραστικά συστήματα, όπως είναι τα Lilith και Oberon, τα οποία υλοποιήθηκαν με τις Modula και Oberon, οι οποίες με τη σειρά τους δεν ήταν εντελώς νέες, αλλά επεκτάσεις της δομημένης και στατικής Pascal, ώστε να είναι συμβατή με το πλαίσιο ανάπτυξης του νέου διαδραστικού συστήματος. Η βασική διαφορά που έχουν αυτά τα συστήματα από το αρχικό Alto και τη Smalltalk είναι ότι επιλέγουν μια δομημένη γλώσσα προγραμματισμού με στατικό ορισμό τύπων, παρότι και στις δύο περιπτώσεις αυτά τα συστήματα στόχευαν στο ίδιο κοινό, δηλαδή στην εκπαίδευση. Από αυτές τις προσπάθειες προκύπτει ότι οι ίδιες οι γλώσσες και τα περιβάλλοντα προγραμματισμού δεν είναι ποτέ τεχνολογίες, οι οποίες αναφέρονται κυρίως σε κάποιες σημαντικές ιδιότητές τους. Επίσης, προκύπτει η κατανόηση ότι η δεξιότητα χρήσης ενός ισχυρού και εκφραστικού συστήματος διαδραστικής κατασκευής και δημιουργίας είναι συνήθως αντιστρόφως ανάλογο με την ευκολία εκμάθησής του.

Εξομοιωτής Τερματικού
Η απλότητα και η διαχρονικότητα του πληκτρολογίου και της οθόνης κειμένου για τη διάδραση με τον υπολογιστή οδήγησαν στη δημιουργία εφαρμογών εξομοίωσης, οι οποίες δίνουν πρόσβαση σε έναν υπολογιστή ανεξάρτητα από την τοποθεσία του. Η εφαρμογή εξομοίωσης τερματικού επιτρέπει σε έναν χρήστη να αλληλεπιδράσει τόσο με τον προσωπικό υπολογιστή όσο και με ένα σύστημα που βρίσκεται κάπου αλλού ή ακόμη και με ένα εικονικό σύστημα στο υπολογιστικό νέφος.
Virtual
Network Computing
Σε αναλογία με την τεχνολογία εξομοιωτή τερματικού κειμένου, η τεχνολογία εικονικού υπολογιστή επιτρέπει τη διάδραση με γραφικές διεπαφές και συσκευές εισόδου πέρα από το πληκτρολόγιο. Η διαθεσιμότητα των ευρυζωνικών δικτύων έδωσε τη δυνατότητα της μετάδοσης σε πραγματικό χρόνο μιας γραφικής διεπαφής από έναν απομακρυσμένο υπολογιστή σε ένα απλό τερματικό, το οποίο έχει μόνο συστήματα εισόδου και εξόδου με τον χρήστη. Το τερματικό αναλαμβάνει την απεικόνιση της διεπαφής και την είσοδο από τον χρήστη, αλλά όλη η επεξεργασία, καθώς και η σύνθεση της εικόνας, γίνεται στον απομακρυσμένο υπολογιστή και στέλνεται ως συμπιεσμένη εικόνα.

Μια θεμελιώδης τεχνική που διατρέχει τη δημιουργία όλων των καινοτόμων τεχνολογιών διάδρασης είναι ότι βασίζονται σε ένα μικρό σύνολο από αρχιτεκτονικές επιλογές, περισσότερο ως αναλογία και λιγότερο ως προσομοίωση του πραγματικού κόσμου. Για παράδειγμα, η δημιουργία της Smalltalk και της ανταλλαγής μηνυμάτων ανάμεσα σε αντικείμενα είναι εμπνευσμένη από τη λειτουργία του βιολογικού κυττάρου. Όπως δηλαδή ένα κύτταρο αλληλεπιδρά δυναμικά και χωρίς κάποιο πλάνο με διπλανά του κύτταρα, έτσι ακριβώς και τα αντικείμενα στη Smalltalk ανταλλάσσουν μηνύματα δημιουργώντας συνδέσμους δυναμικά κατά την εκτέλεση, ακόμη και αν αυτές οι διαδράσεις δεν είχαν αρχικά σχεδιαστεί. Αν και η αρχιτεκτονική για την κατασκευή της Smalltalk βασίζεται στην εξομοίωση, ένα από τα βασικά κίνητρα της δημιουργίας, καθώς και ένα από τα πεδία εφαρμογής, έχει να κάνει με την προσομοίωση του φυσικού κόσμου, έτσι ώστε οι προγραμματιστές να μπορούν να μελετήσουν τη συμπεριφορά των πολύπλοκων συστημάτων που θα μοντελοποιήσουν. Βλέπουμε, δηλαδή, ότι οι κατασκευαστές του Alto και της Smalltalk όχι μόνο δεν είναι αντίθετοι στην προσομοίωση, αλλά είναι πολύ θετικοί, αρκεί όμως αυτό να μην γίνεται εμπόδιο για τη διαδικασία κατασκευής, η οποία θα πρέπει να βασίζεται στην εξομοίωση ενός νέου καινοτόμου συστήματος. 24 Μια αντίστοιχη αλλά πολύ διαφορετική αναλογία μπορούμε να εντοπίσουμε και στην περίπτωση του UNIX, όπου οι κατασκευαστές χρειάστηκε μαζί με το λειτουργικό σύστημα να δημιουργήσουν και τη νέα γλώσσα προγραμματισμού C, η οποία σχεδιάστηκε έτσι ώστε να είναι κατάλληλη για τη συνεχή βελτίωση αυτού του λειτουργικού συστήματος και του διαδραστικού κελύφους γραμμής εντολών, το οποίο απευθύνεται αρχικά σε εργαζόμενους τηλεφωνικών οργανισμών που πρέπει να διαχειριστούν δεδομένα σε αρχεία και να ετοιμάσουν την τεκμηρίωση για τις τηλεπικοινωνιακές τεχνολογίες. Στην περίπτωση του UNIX, η αναλογία είναι ότι όλα τα δομικά στοιχεία του συστήματος είναι αρχεία, μια αναλογία που έφτασε στην ωρίμανσή της με το επόμενο δημιούργημα των ερευνητών στα Bell Labs, το Plan9.

Στις προηγούμενες ενότητες είδαμε τον κεντρικό ρόλο του τηλέτυπου, ο οποίος μετασχηματίστηκε σταδιακά από ένα αυτόνομο τερματικό για την αποστολή μηνυμάτων στη βασική συσκευή διάδρασης για την κατασκευή πολλών καινοτόμων συστημάτων, όπως τα Sketchpad, NLS, UNIX, Smalltalk, JOSS, CPM και MS-BASIC. Ταυτόχρονα, παρατηρούμε ότι ο ρόλος του τηλέτυπου στα ίδια αυτά συστήματα είχε πολύ διαφορετικό βαθμό επιρροής στο τελικό τερματικό διάδρασης με τον χρήστη. Για παράδειγμα, η διάδραση στο τελικό σύστημα Sketchpad δεν περιλαμβάνει καθόλου στοιχεία ούτε από το περιβάλλον ανάπτυξης, αλλά ούτε και από τις συσκευές διάδρασης κατά την ανάπτυξή του. Στην πιο σύγχρονη εκδοχή του, αυτό το σενάριο παρουσιάζεται στην περίπτωση ανάπτυξης κινητών εφαρμογών σε έναν επιτραπέζιο υπολογιστή, αλλά η διάδραση θα γίνει με διαφορετικά συστήματα εισόδου και εξόδου στο έξυπνο κινητό. Σε ένα ενδιάμεσο επίπεδο συναντάμε το σύστημα NLS, καθώς και τη Smalltalk, όπου το κείμενο και η επεξεργασία του έχουν κεντρικό ρόλο, αλλά αυτό είναι μόνο ένα μικρό υποσύνολο από τις δυνατότητες του γραφικού περιβάλλοντος, αλλά και της συσκευής εισόδου ποντίκι που είναι κάτι νέο. Στο αντίθετο άκρο, τα συστήματα JOSS και UNIX, όχι μόνο έχουν τον τηλέτυπο ως βασικό μοντέλο για τη διάδραση, αλλά υιοθετούν τον τηλέτυπο και ως συσκευή εισόδου και εξόδου για τη διάδραση με τον τελικό χρήστη, όπου έχει κεντρικό ρόλο στο τερματικό γραμμής εντολών. Μια διαφορετική αναλογία, αντί για τον τηλέτυπο μπορούμε να εντοπίσουμε στην τεχνολογία του εικονικού τερματικού εικονοστοιχείων Virtual Network Computing (VNC), το οποίο επιτρέπει τη διάδραση με γραφική διεπαφή με έναν απομακρυσμένο υπολογιστή. Με αυτήν την τεχνολογία η διάδραση σε ένα τερματικό χρήστη ενορχηστρώνεται σε έναν απομακρυσμένο υπολογιστή, ο οποίος με την τεχνική της εξομοίωσης μπορεί να έχει όποια συμπεριφορά μπορούμε να φανταστούμε και να υλοποιήσουμε. 25 26

Βιβλιογραφία

  1. Nelson, Theodor H. POSSIPLEX: Movies, Intellect, Creative Control, My Computer Life and the Fight for Civilization: an Autobiography of Ted Nelson. Mindful Press, 2010.
  2. Lanier, Jaron. You Are Not a Gadget: A Manifesto. Vintage, 2010.
  3. Kay, Alan C. “The Early History of Smalltalk.” ACM SIGPLAN Notices, vol. 28, no. 3, ACM New York, NY, USA, 1993, pp. 69–95.
  4. Engelbart, Douglas C. Augmenting Human Intellect: A Conceptual Framework. SRI, Menlo Park, CA, 1962.
  5. Gildall, Gary. Computer Connections: People, Places, and Events in the Evolution of the Personal Computer Industry. Unpublished, 1993.
  6. Roszak, Theodore. From Satori to Silicon Valley: San Francisco and the American Counterculture. Don’t Call It Frisco Press, 1986.
  7. Raskin, Jef. The Humane Interface: New Directions for Designing Interactive Systems. Addison-Wesley Professional, 2000.
  8. Bardini, Thierry. Bootstrapping: Douglas Engelbart, Coevolution, and the Origins of Personal Computing. Stanford University Press, 2000.
  9. Hiltzik, Michael. Dealers of Lightning: Xerox PARC and the Dawning of the Computer Age. 1999.
  10. Mumford, Lewis. Technics and Civilization. University of Chicago Press, 2010.
  11. Ihde, Don. Technics and Praxis: A Philosophy of Technology. Springer Science & Business Media, 2012.
  12. Wirth, Niklaus, and Jürg Gutknecht. Project Oberon. Addison-Wesley Reading, 1992.
  13. Shasha, Dennis, and Cathy Lazere. Out of Their Minds: the Lives and Discoveries of 15 Great Computer Scientists. Springer Science & Business Media, 1998.
  14. Ingalls, Daniel. “The Evolution of Smalltalk: from Smalltalk-72 through Squeak.” Proceedings of the ACM on Programming Languages, vol. 4, no. HOPL, ACM New York, NY, USA, 2020, pp. 1–101.
  15. Bolter, Jay David, and Richard Grusin. Remediation: Understanding New Media. mit Press, 2000.
  16. Lakoff, George, and Mark Johnson. Metaphors We Live By. University of Chicago press, 2008.
  1. @ingalls2020evolution 

  2. @roszak1986satori 

  3. fig. ¿fig:norton-commander? 

  4. fig. ¿fig:sugar-neighborhood? 

  5. @mumford2010technics @ihde2012technics 

  6. @nelson2010possiplex 

  7. @raskin2000humane 

  8. @computer1993connections 

  9. fig. ¿fig:paper-simulation? 

  10. fig. ¿fig:magic-cap? 

  11. fig. ¿fig:ed-editor? 

  12. fig. ¿fig:unix-tmg? 

  13. fig. ¿fig:tennis-for-two? 

  14. fig. ¿fig:magnavox-odyssey? 

  15. @engelbart1962augmenting @lanier2010you 

  16. @bolter2000remediation 

  17. fig. ¿fig:emulators? 

  18. @bardini2000bootstrapping 

  19. @hiltzik1999dealers 

  20. fig. ¿fig:lisa-bootstrapping? 

  21. @wirth1992project 

  22. fig. ¿fig:nova? 

  23. fig. ¿fig:altair-teletype? 

  24. @kay1993early 

  25. fig. ¿fig:terminal-emulator? 

  26. fig. ¿fig:vnc?