Mobile Apps: Adjust Your Ring Volume For Ambient Noise — MSDN Magazine, October 2007

Ieri ho ricevuto il  numero di Ottobre 2007 di MSDN Magazine e, la prima cosa che ho fatto (come faccio sempre) è quella di sfogliarlo velocemente. L’occhio mi è caduto su un articolo dal titolo: Adjust Your Ring Volume For Ambient Noise.

La cosa mi ha colpito per 3 motivi:

  1. l’idea di poter regolare il volume della suoneria in automatico, in base al rumore esterno, è fantastica
  2. avevo in programma una cosa simile da aggiungere a MobilePhoneAssistant (certamente meno evoluta)
  3. mi incuriosiva parecchio il sistema con cui rilevare (e poi calcolare) il rumore ambientale

Perfetto … mi metto comodo ed inizio a leggermi l’articolo che esordisce così:

You’re sitting in the local coffee shop on a sunny afternoon, peacefully enjoying a quiet moment, when your phone starts to ring. It’s set, of course, to full volume and the ring is so loud you nearly spill your coffee. So you turn it down.

Later that day, you’re waiting at a bar for a friend, but he’s nowhere to be seen. He’d forgotten which bar you were meeting at and called to see where you were. Unfortunately, you missed the call because you didn’t hear your phone ring. The problem: the ring volume was still turned down and wasn’t loud enough to hear in the noisy bar.

This is fairly ridiculous when you consider that current mobile phones have as much processing power as the first PC I used for multi-channel audio recording. It would seem that with today’s intelligent mobile devices, which are capable of doing so many things and accessing so much information, this problem should not exist. However, everyone who has a mobile phone has experienced this problem in one form or another.

The obvious way to solve the problem is to remember to change your volume settings. The option to change the ring volume is presumably to deal with the acoustic differences in various environments, but the functionality does not really do that. Devices should be able to act with a little more common sense. It’s simple: I just want my mobile phone not to ring too loudly in a quiet environment and to ring audibly in a loud place.

This article addresses the possibilities and practicality of a Windows Mobile® application that automatically adjusts the Pocket PC’s ring level based on the ambient noise in its current environment. The functionality of this app prevents the phone from ringing too loudly or softly, saving me from embarrassment and missed calls. In this article, I’ll use this problem as an introduction to Windows Mobile development using Visual Studio® 2005 and C#.

Come non essere d’accordo, specie con le parti che ho evdenziato in grassetto.

Così ho proseguito con la lettura (cosa che vi consiglio di fare in quanto l’articolo è davvero interessante).

L’articolo, oltre ad essere molto interessante, è anche chiaro. Secondo me è stato dato un po’ troppo spazio ad argomenti che c’entrano relativamente poco ma è solo una mia impressione.

La cosa che mi lascia un po’ perplesso è stata la scelta di usre il Compact Framework 1.x e non il 2 (e sinceramente non ne capisco le ragioni).
Prima di creare false illusioni, il software presentato, sebbene funzioni, è praticamente inusabile così com’è, e lo lascia intendere anche l’autore:

The application provides a sound approach (sorry, this pun is intended) to monitoring and adapting the ring level of a mobile phone. Like all applications, it does have its limitations, such as the need to configure the reference values for each model of mobile phone. Although this is not an unmanageable task, the current user interface doesn’t support it. The other major limitation is that this approach consumes a lot of power. However, this can be easily solved by, say, having the process activate only when the phone is about to ring.

Una volta avviata l’applicazione infatti, essa continua ad “ascoltare” il rumore esterno e calcolare il livello a cui impostare la suoneria, consumando di conseguenza troppa batteria. L’autore stesso consiglia di “attivare il processo quando il telefono stà per squillare” (cosa non proprio banalissima tenendo conto che, “stà per squillare” non è per sua natura uno stato concreto da poter monitorare e che, ammesso che si possa fare, l’applicazione dovrebbe essere abbastanza veloce per attivarsi, campionare il rumore esterno per 1 secondo, fare i calcoli, impostare la suoneria e far passare la chiamata).

Ad ogni modo:

There are still some improvements to be made, so feel free to start adapting the code and adding any functionality you think would be useful. I’m sure you can think of a lot of features and capabilities that I haven’t discussed here.

Ed io non me lo faccio dire 2 volte. I sorgenti sono sul mio PC. Ora mi resta solo la parte più complessa: trovare il tempo per metterci le mani Wink

Mobile Apps: Adjust Your Ring Volume For Ambient Noise — MSDN Magazine, October 2007

Tags: