Molti di voi lettori sviluppano applicazioni ASP.NET solitamente dedicate al mondo desktop, mentre alcuni probabilmente sviluppano anche applicazioni Web ASP.NET fruibili non solo da PC ma anche da device mobili come gli ultimi smartphone più evoluti che utilizzano sistemi operativi quali Windows Phone 7, iPhone, o Android.
Quando ci si accosta al mondo dello sviluppo per Mobile, il primo più importante problema da risolvere è l'identificazione del device o più precisamente le funzionalità che questo supporta affinché si possa offrire una buona esperienza d'uso dell'applicazione.
Chi ha già sviluppato in questo ambito sa che un aiuto enorme ci viene dato dalla classe "Request.Browser" che da accesso alla funzionalità conosciuta come ASP.NET built-in browser detection support, ovvero la possibilità di conoscere le caratteristiche dello specifico device che sta effettuando la richiesta alla pagina ASP.NET così da poter prendere le dovute decisioni e utilizzare gli opportuni controlli di interfaccia. Questo meccanismo si basa su un insieme di file XML (Browser Definition XML file) contenenti l'elenco delle caratteristiche della maggior parte dei device mobili presenti sul mercato.
Solitamente questo sistema può andar bene ma il suo difetto è quello di non essere aggiornato continuamente e necessità quindi di solito un intervento manuale per aggiornare i file XML di definizione presenti oppure di aggiungerne di nuovi per identificare correttamente gli ultimi modelli di device che continuamente escono sul mercato o le nuove versioni di sistema operativo mobile anch'esse continuamente rilasciate nel tempo. Per risolvere questo problema è nato addirittura un vero e proprio progetto finalizzato a mantenere costantemente aggiornato questo elenco di definizioni affinché possano essere utilizzate nelle applicazioni Web dedicate al mondo Mobile.
Il progetto si chiama WURFL (Wireless Universal Resource File) e sostanzialmente consiste in una community che si preoccupa di mantenere costantemente aggiornato un file XML di definizioni. Possiamo utilizzare direttamente questo file XML nella nostra applicazione ASP.NET integrandola con la funzionalità di "Browser detection" oppure possiamo utilizzare la libreria 51degrees che intercetta le chiamate della classe "Request.Browser" redirezionandole al file del progetto WURFL invece che ai file di definizione di default di ASP.NET.