Salta al contenuto principale

winguido e skype: riepilogo storico del problema

guido ruggeri su winguido tecnica, 15\07\2008, h. 22.40.

l'annuncio di andrea la macchia su winguido tecnica.

Ed ora, un po' di pubblicità

:

come ho detto nei giorni scorsi, ho preferito dirvi cosa avevo in mente da progettare in WinGuido a tempo debito, ed eccomi con i risultati, ora finalmente
ve lo posso dire!
Bene, fra noi, sicuramente ci sarà chi ha aggiornato skype alla 3.8 e ha riscontrato che WinGuido non riesce a gestirlo, giusto?
Benissimo, ho fatto una ricerca su Internet facendomi aiutare dal grande Diego, per cercare la libreria di Skype che potesse essere usata da WinGuido,
oltre che da altri programmi...
Il pacchetto si chiama skype4com, è zippato e contiene, oltre ai file necessari per il suo funzionamento, anche una guida (file .chm) in cui sono riportati
anche vari esempi di codice da usare in Visual Basic... Dopo l'invio di questo messaggio, manderò quindi il file zippato a Guido, però prima vorrei incollarvi
qui sotto le indicazioni che mi ha suggerito Diego, in modo che possano servire anche a voi listaioli.
Ah, dimenticavo, all'inizio credevo che esistessero le librerie di skype in codice sorgente, quindi, la ricerca di questi sorgenti era praticamente inutile.

Ecco ciò che ha scritto Diego:

"...non sono mai state disponibili, a mia memoria, librerie sorgenti di Skype. Skype è esposto alle altre applicazioni attraverso l'interfaccia Skype4COM,
liberamente scaricabile da
https://developer.skype.com/Download
 dove puoi trovare anche esempi di codice per usarla.
Essendo un'interfaccia, non sono necessari particolari aggiornamenti a seconda della versione di Skype in uso...."
Per il momento è tutto, spero che questo contributo vi sia gradito... intanto, continuerò a ricercare e, appena troverò qualcos'altro che ci può servire
per portare avanti questo lavoro, ve lo comunicherò in lista.
Credo proprio che qui ci voglia un bel riepilogo sul problema di Skype, che evidentemente, sebbene se ne sia già parlato, non è affatto chiaro. E lo ha
dimostrato Andrea che pensava di risolvere il problema mandandomi una libreria, che si è rivelata essere nient'altro che quella che WinGuido usa già.
Quindi cerchiamo di fare chiarezza.
L'interazione tra WinGuido e Skype nasce 2 anni fa, nel luglio del 2006, facendo uso della libreria SkypeX, prodotta dalla BeeSync.
Quella libreria serviva infatti a fare da ponte tra il linguaggio Visual Basic e il programma Skype.
Il suo limite era che non permetteva di programmare proprio tutte le funzionalità di Skype, inoltre era risultata piena di errori e malfunzionamenti che
mi avevano costretto a ricorrere a trucchi vari per aggirarli.
Si presentò fin da allora un problema: che quando Skype si accorge del tentativo, da parte di un altro programma, di usare le sue funzioni, reagiva aprendo
una finestra che avvertiva l'utente.
Saggia precauzione concepita contro i virus, ma che per noi rappresenta un problema.
In quella finestra appariva un messaggio del tipo: "Il programma WinGuido.exe sta tentando di usare Skype", e quindi c'era un pulsante da premere se l'utente
voleva concedere l'autorizzazione.
Questo bastava farlo una sola volta, la prima, e quindi l'autorizzazione per quel programma sarebbe rimasta permanente.
Nel caso nostro, però, c'era un ulteriore problema: che dopo ogni aggiornamento di WinGuido, la finestra di autorizzazione si ripresentava.
Questo evidentemente perché, essendo cambiati la lunghezza e la data dell'eseguibile WinGuido.exe, Skype lo considerava come un programma diverso, da autorizzare
nuovamente.
Perciò ci voleva una soluzione che servisse non una volta per tutte, ma anche dopo ogni aggiornamento.
E la soluzione la trovai: programmai WinGuido perché riconoscesse l'apertura di quella finestra di autorizzazione. E quando la finestra si apriva, WinGuido
simulava la pressione di quel pulsante per dare l'autorizzazione.
Faceva, cioè automaticamente, quello che un utente vedente avrebbe dovuto fare a mano.
Insomma, WinGuido si autorizzava da solo.
Un importante cambiamento avviene nel marzo 2007, quando abbandono la libreria SkypeX e passo ad usare la Skype4COM, realizzata dalla Skype Technologies,
cioè dagli stessi produttori di Skype.
Questa libreria, come c'era da aspettarsi, si dimostra più completa, più stabile e con meno errori dell'altra. Ciò nonostante, rimangono ancora molte funzionalità
di Skype che la libreria non gestisce.
Fin qui tutto bene. O meglio: tutto bene fino alla versione 3.6.0.216.
Con le versioni successive a questa, cominciano i guai.
E ce ne accorgiamo il 24 febbraio di quest'anno: il meccanismo che consentiva a WinGuido di autorizzarsi da solo all'interazione con Skype non funziona
più.
Questo perché l'avvertimento all'utente non si presenta più con la stessa finestra di prima, ma con un altra finestra più piccola che invita ad usare,
per l'autorizzazione, un link che poi l'utente troverà nella finestra principale di Skype.
Insomma per un utente vedente la cosa si risolve con un paio di click del mouse, ma per WinGuido diventa un problema insormontabile perché questo meccanismo,
più complesso, non è più simulabile automaticamente come quello di prima.
Evidentemente è stata una cosa voluta da quelli di Skype, che si sono resi conto che il sistema precedente era facilmente aggirabile: infatti, come ci
riuscivo io a fare in modo che WinGuido si autorizzasse da solo, allo stesso modo avrebbe potuto riuscirci anche un virus.
Quindi è stata una saggia precauzione da parte loro, che però ci ha messo nei guai.
Perché adesso ci vuole, dopo ogni aggiornamento di WinGuido, un vedente oppure qualcuno abile con gli screen reader che vada in Skype a dare l'autorizzazione
perché WinGuido possa interagirvi.
Io, non avendo trovato un rimedio, ho bloccato il sistema di aggiornamento di Skype per mezzo di WinGuido alla versione 3.6.0.216, l'ultima che non presentava
questo problema funzionando ancora con la vecchia finestra di autorizzazione.
Quindi chi usa WinGuido per aggiornare Skype non incappa nel problema, però di fatto Skype non lo aggiorna più perché rimane fermo ad una versione risalente
all'inizio di quest'anno.
Chi invece aggiorna Skype con altri sistemi, e quindi lo aggiorna per davvero, poi si trova a dover dare manualmente l'autorizzazione a WinGuido.
Una soluzione io non l'ho trovata, perciò non rimaneva che cercare di prendere contatti con i produttori di Skype per sottoporre il problema e farci indicare
una soluzione.
Maria cercò di farlo scrivendogli, ma, a quanto mi risulta, senza esito.
Questa è la situazione. Che già conoscevate, perché ne avevamo parlato. Guido Ruggeri.