Mobile Phone Assistant: on line su CodePlex

CP_banner_111x111_gen Tempo fa, giracchiando per la rete, trovai un piccolo software per Windows Mobile (dalla 5 in poi) scritto per una demo da un ragazzo del team di Windows Mobile. Il software si chiama(va) “Mobile Secretary”.
Brian (l’autore), mise on line pubblicamente i sorgenti (qui). Sebbene il software fosse interessante come funzionalità, era pur sempre una demo e quindi carente, IMHO, di alcune cose.
Così, presi carta e penna (aprì Outlook) e scrissi a Brian, confidandogli i miei più reconditi desideri, tra i quali c’era quello di prendere il suo sorgente, stravolgerlo quel tanto che basta per farne un qualcosa di realmente usabile, e metterlo on line.

Brian è stato così gentile da acconsentire alla mia richiesta (ed assecondare i miei desideri) quindi … da pochi minuti, l’ex “Mobile Secretary”, ora divenuto Mobile Phone Assistant (nome che prima o poi cambierò in qualcosa di meno scandaloso), è on line su CodePlex!!! Laughing .

Ma vediamo che combina questo affare. Cito dal blog di Brian:

This app allows your Windows Mobile device to automatically respond to a missed call with a custom text message and optionally with your current calendar information

Fantastico! In pratica, se qualcuno mi chiama ed io sono in riunione, l’applicazione manda un SMS a chi mi ha chiamato dicendogli che lo richiamerò! E se voglio, posso pure mandare al chiamante le info sul mio appuntamento in corso! Fantastico!
Lo so che messa così può sembrare un suicidio, ma Brian aveva già pensato alle implicazioni di tale funzionalità ed io ho ci ho aggiunto altre funzionalità per rendere il software ancora più flessibile.

Vediamo….

Innanzitutto, esistono dei gruppi di “Azione”. In poche parole, si tratta di gruppi in cui possiamo settare il comportamento del software in base al chiamante. Di default esistono 2 gruppi (entrambi non attivi):

  • “<default>”: a questo gruppo, fanno parte tutti i chiamanti che sono nella nostra rubrica.
  • “<unknow>”: a questo invece, fanno parte tutti i chiamanti che non lo sono.

A questi, possiamo aggiungere i nostri gruppi personalizzati (senza limiti).

Per ogni gruppo, possiamo impostare i seguenti parametri:

  • Name: è il nome del gruppo corrente
  • Status: abilita o disabilita il gruppo corrente. Quando un gruppo è disabilitato, non accadrà nulla in caso di chiamata persa da parte di un contatto appartenente al gruppo.
  • Act only on Appointment: se selezionato, il software agirà (invio di SMS, scrittura sul calendario etc.) SOLO SE quando arriva una chiamata persa, esiste un appuntamento segnato sul vostro calendario.
  • Only if Busy: come sopra, ma solo se l’appuntamento corrente è in uno stato di occupato.
  • Send Meeting info: se selezionato, invierà alcune informazioni sul vostro appuntamento in corso (nello specifico, l’oggetto e l’ora di fine)
  • Write missed to calendar: se spuntato, in caso di chiamata persa, verrà automaticamente creato un nuovo appuntamento nel vostro calendario che vi ricorderà di richiamare il contatto. L’appuntamento avrà ora di inizio fissata a 15 minuti dalla fine dell’appuntamento in cui siete impegnati.
  • Send Message: se selezionato, verrà inviato l’sms scritto nella textbox in basso.

Mi si dirà: ma come…invio le informazioni sui miei appuntamenti? Dipende da come il software viene configurato. Procediamo per passi:

supponiamo di avere il gruppo “<default>” attivo, con le spunte su “Act only on Appointment”“Write missed to calendar” e “Send Message”. Supponiamo di aver creato anche un gruppo “Famigliarie di aver spuntato tutto (quindi, oltre alle spunte di prima, abbiamo aggiunto anche “Only if busy” e “Send meeting info”. A tale gruppo avete aggiunto la/il vostra/o moglie/fidanzata/marito/fidanzato e la vostra mamma.

Avete inolte fissato un appuntamento che va dalle 16.00 alle 18.00 con oggetto “Riunione team di sviluppo”.

Cosa succede se vi chiama il vostro amico Gianni alle 16.30?
Se non è in nessun gruppo (e supponiamo che non lo sia)

  • il software gli invierà un SMS con dicendogli semplicente: “In questo momento non posso rispondere. Ti richiamo appena possibile”
  • sul vostro calendario verrà creato un nuovo appuntamento alle 18.15 con oggetto: “Richiama: Gianni” e con testo “richiamare Gianni al numero 320123456”.

Cosa succede invece se vi chiama vostra moglie alle 17.15?
Essendo nel gruppo “Famigliari”:

  • riceverà un SMS con la dicitura: “Sono impegnato in ‘Riunione Team di Sviluppo’. Mi libero alle 18.00′. Ti richiamo dopo”.
  • sul vostro calendario verrà creato un nuovo appuntamento alle 18.15 con oggetto: “Richiama: Moglie” e con testo “richiamare Moglie al numero 320987654”.

Una cosa importantissima: ovviamente, per tutelare la privacy di chi userà questo software, se avete marcato il vostro appuntamento come Privato, non partirà nessun messaggio. Quindi … se siete sbadati e vi segnate anche l’appuntamento con l’amante sul vostro smartphone, abbiate l’accortezza di marcarlo come Privato. L’inibizione all’invio di SMS sugli appuntamenti che non sono in uno stato di Normal è hard coded, quindi non si può disabilitare.

In ogni caso, c’è un delay di 15 secondi (scadenzati da una progress bar) prima dell’invio degli SMS. Quindi…se vi chiama vostra mogle, voi siete con l’amante e per un caso fortuito avete il telefono in mano (magari le state proprio facendo vedere questo software ….. si …. come no tongue-out) e vi siete dimenticati di marcare il vostro appuntamento come Privato, siete sempre in tempo a premere “Cancel Send” e fermare tutto.

Detto questo, il software non è sicuramente “bug free” quindi …. se volete usarlo, fatelo con accortezza.
Se decidete di usarlo (io vi garantisco che lo stò già facendo), comunicatemi le vostre impressioni, segnalatemi bugs e richieste di features. Ho già delle cosuccie in programma per la prossima release, ma prima voglio stabilizzare questa.

Se volete unirvi al progetto, siete i benvenuti Smile.

Enjoy.

Tags: