Μέχρι τα μέσα -τουλάχιστον, για τα δεδομένα της Ελλάδας- της περασμένης δεκαετίας τα κλειστά (συνήθως APIs για τη δημιουργία φωνητικών και τηλεφωνικών γενικότερα αλληλεπιδραστικών εφαρμογών αρνούνταν πεισματικά να παραδώσουν τη σκυτάλη στο ανοιχτά πρότυπα VXML (πλέον στην έκδοση 3.0), CCXML, GRXML κλπ.
Και παρόλο που αρκετοί ήθελαν να δημιουργήσουν τέτοιες εφαρμογές ως μια από τις βασικές εκδοχές του ubiquitous computing (μιας και το mobile web ήταν ακόμη στα σπάργανα), χάθηκε η ευκαιρία ο χώρος να ακολουθήσει τους ρυθμούς εξέλιξης των εφαρμογών web. Βέβαια, με δεδομένες τις δυνατότητες των σημερινών συσκευών δεν μιλάμε για αντικατάσταση των εφαρμογών ιστού αλλά για συμπλήρωσή τους για εκείνες τις περιπτώσεις που ακόμη και η περιοριστική παροχή πληροφοριών με γραμμικό τρόπο είναι πιο κατάλληλη (ή η μόνη διαθέσιμη μέσω της κλήσης ενός τηλεφωνικού αριθμού κι από την πιο απλή τηλεφωνική συσκευή).
Οι λόγοι της υστέρησης, πέρα από τον παραπάνω, είναι πολλοί:
κλειστή φύση των εφαρμογών τηλεφωνίας αλλά και της επικοινωνίας με μηχανές αναγνώρισης ομιλίας/σύνθεσης φωνής που ελέγχονταν από λίγες μεγάλες εταιρείες
διαρκώς νέα APIs και εργαλεία (γραφικά ή μη) που πρέπει να υιοθετηθούν από τους προγραμματιστές
μεγάλο κόστος εγκατάστασης τηλεπικοινωνιακών υποδομών διασύνδεσης και ακριβό υλικό τηλεφωνίας
μη εξοικείωση με τις τεχνολογίες τηλεφωνίας από το ευρύ κοινό προγραμματιστών
Οι τεχνολογίες web απαλλαγμένες από τα παραπάνω προβλήματα έγιναν το κύριο μέσο για τη διάδοση/διάχυση των πληροφοριών. Τα πράγματα άρχισαν να αλλάζουν με την είσοδο της προσέγγισης του ανοιχτού λογισμικού/λογισμικού ανοιχτού κώδικα στο χώρο της τηλεφωνίας (βλ. Asterisk) και του VoIP. Με τα εργαλεία αυτά υπήρχε πλέον η δυνατότητα να εγκαταστήσει και να φτιάξει εφαρμογές τηλεφωνίας οποιοσδήποτε με σχετικά μειωμένου κόστους εξοπλισμό και με υπηρεσίες που δίνονταν από τους τηλεπικοινωνιακούς παρόχους σε οικιακούς χρήστες.
Το πρόβλημα όμως της ευρείας αποδοχής των εφαρμογών τηλεφωνίας παρέμενε μέχρι που μια νέα προσέγγιση υπόσχεται πλέον να δώσει λύση μέσω της σύγκλισης με τις τεχνολογίες ιστού και τη λογική της φιλοξενίας και την παροχή ως υπηρεσία (SaaS ή στη συγκεκριμένη περίπτωση VaaS: Voice as a Service): οι τηλεφωνικές υπηρεσίες βασισμένες στο σύννεφο (cloud telephony/voice).
Θα λέγαμε ότι μέσα στο 2010, υπήρξε μια έκρηξη εμφάνισης πολλών εταιρειών και λύσεων προς την κατεύθυνση αυτή με τα ακόλουθα βασικά κοινά χαρακτηριστικά:
Παρέχεται ένα web based API μέσω του οποίου οι χρήστες/εφαρμογές μπορούν να καλέσουν βασικές υπηρεσίες τηλεφωνίας όπως η απάντηση κλήσεων, η αναπαραγωγή ήχου, η συλλογή επιλογών μέσω DTMF τόνων, η εγγραφή ήχου κλπ
Τα αποτελέσματα αποστέλλονται, στη συνέχεια, στα πλαίσια μιας αίτησης προς το διακομιστή της εφαρμογής για την περαιτέρω επεξεργασία και για να αποφασιστεί από την εφαρμογή πώς θα εξελιχθεί η αλληλεπίδραση
Η παραμετροποίηση/εγκατάσταση του απαιτούμενου υλικού, η εξασφάλιση τηλεφωνικού αριθμού/δρομολόγησης κλπ γίνεται από τον πάροχο χωρίς να πρέπει να ανησυχεί τον χρήστη
Έχει υιοθετηθεί πολιτική πληρωμής ανάλογα με τη χρήση με αποτέλεσμα το αρχικό κόστος εγκατάστασης να είναι πλέον μηδενικό
Κάποιες (με πρωτοπόρο τo tropo.com της Voxeo) προσπαθούν να εντάξουν από την αρχή και τις δυνατότητες αναγνώρισης και σύνθεσης ομιλίας
Τα χαρακτηριστικά αυτά έχουν αρχίσει να δίνουν μια νέα ώθηση στις τηλεφωνικές εφαρμογές και στον ολοένα και πιο πρωτοποριακό συμπληρωματικό συνδυασμό (και όχι βέβαια να λειτουργούν ανταγωνιστικά) με εφαρμογές web αλλά και εφαρμογές που αξιοποιούν άλλα κανάλια επικοινωνίας (πολύκαναλικές εφαρμογές) ώστε να μιλάμε πλέον για ανάκαμψή τους.
Ανάμεσα στις πιο δημοφιλείς τέτοιες υπηρεσίες είναι:
Tropo (μέσω του Tropo WebAPI και ευρεία χρήση JSON)
Twilio (μέσω της υποστήριξης της TwiML)
Cloudvox|IfByPhone (με υιοθέτηση του FastAGI από τον κόσμο του Asterisk ως API
Teleku (UPDATE 2010-08-14 η οποία εξαγοράστηκε από τη Voxeo)
Invox
QuickFuse (με online γραφικό εργαλείο workflow)
VoiceSage
Παρόλο που με την προσέγγιση αυτή πράγματι διευρύνεται η βάση των προγραμματιστών που μπορούν να τις αξιοποιήσουν λόγω της απλούστευσης αλλά και η δυνατότητα για mashups, το βασικό θέμα είναι ότι το προγραμματιστικό μοντέλο επιστρέφει εκεί που βρισκόταν όχι πριν από τη VXML (και τον ενσωματωμένο form interpretation αλγόριθμο) αλλά ακόμη κι πριν από τους πίνακες καταστάσεων (state-tables ή state-machines).
Αυτό που αναμένεται πλέον είναι, μαζί κι από την εμπειρία χρήσης της VXML σε δυναμικές εφαρμογές, τουλάχιστον όταν έρθει η ανάγκη για πιο πολύπλοκες εφαρμογές από αυτές ενός απλού κατευθυνόμενου διαλόγου ή μιας απλής business διαδικασίας, να αναδυθούν/προταθούν νέα μοντέλα και μηχανισμοί που θα δίνουν τη δυνατότητα στον προγραμματιστή ανεξάρτητα από την πλατφόρμα που θα επιλέξει να επιτύχει πιο εύκολα την επιθυμητή αίσθηση αλληλεπίδρασης (Voice User Interface).
UPDATE: Μια πολύ ενδιαφέρουσα διάκριση σε γενιές συστημάτων IVR κάνει Nickolay Schmyrev, βασικός συντελεστής της ανάπτυξης του Sphinx στο άρθρο του εδώ.
Ουσιαστικά αναφέρεται στις παραπάνω υπηρεσίες τηλεφωνίας ως τη δεύτερη γενιά μετά την πρώτη γενιά των εφαρμογών βασισμένων σε VXML και αφήνει υποσχέσεις για εφαρμογές τρίτης γενιάς βασισμένων στην υποβοήθηση της σημασιολογική ανάλυση του διαλόγου μέσα και από αξιοποίηση dialogue manager, όπως ο Ravenclaw, o DMCPP κ.α.