giugno 2010 - Posts
Riporto as is:
Today, the following updates are broadly available:
1. SQL Azure Database size - We are expanding SQL Azure to support up to 50GB per database. With this update, SQL Azure now supports up to 5GB in the Web Edition, and up to 50GB in the Business Edition. SQL Azure can scale to multi-terabytes (across db instances) and is built from the ground up for scaling-out, high performance and high availability.
2. Spatial data support—Geography and Geometry types and query support in T-SQL are now supported in SQL Azure. Customers wanting to run location aware applications can now do so on the Windows Azure Platform.
3. Public preview of SQL Azure Data Sync Service (released at TechEd)— Expanding on the current ability to sync between SQL Server and SQL Azure, now you can also distribute and sync data across multiple datacenters and multiple SQL Azure instances around the globe.
4. Office 2010 Support for SQL Azure (released at TechEd) – This new feature offers native data connectivity support from Microsoft Office (e.g. Access, Excel and PowerPivot) to SQL Azure databases, providing more choices to connect rich Office Business Applications with databases, running either on-premises or in the cloud.
Sul sito http://www.thinkmobile.it, ho pubblicato vari mini-articoli sul mio blog e alcune demo (nella sezione media).
Michele Locuratolo, con l’uscita di Windows Phone 7, tornerà a dare una mano alla community con una serie di blog e articoli. Molti di voi conosceranno Mighell e avranno letto i suoi numerosi post e articoli sullo sviluppo mobile. Tra parentesi, Mighell è l’autore del logo di ThinkMobile, creato nel 2005 quando venne pubblicato il sito della community.
Se siete interessati ad aprire un blog sulla community scrivetemi direttamente a roberto “chiocciola” devleap.com.
Articoli
Fra i vari servizi esposti dal Markeplace (certification, advertising, cross-selling, etc.) esiste il “servizio” di prova di una applicazione. L’idea è molto semplice e nel contempo, molto potente. 1) Come sviluppatori indicheremo al Marketplace se vogliamo...
Chiudiamo questa mini-serie sull’interazione fra codice e API applicative del device/emulatore con un esempio semplicissimo sull’emulatore. Direi che dopo i post precedenti non c’è bisogno di ulteriori spiegazioni sul flusso che stiamo creando: Il tasto...
Come abbiamo avuto modo di segnalare in altri blog e articoli precedenti, l’emulatore attuale non espone attraverso il menù start tutte le applicazioni che è in grado di supportare. La fotocamera è una di queste applicazioni “nascoste”. Da codice possiamo...
Come abbiamo visto nell’ultimo post sulla fotocamera, l’emulatore attuale non espone attraverso il menù start tutte le applicazioni che è in grado di supportare. In questo mini-articolo vediamo come attivare la parte di “email” che comprende la composizione...
Windows Mobile, iPhone e Android ci hanno abituato a semplificare la vita all’utente durante la digitazione di informazioni. Da sempre, su un device mobile occorre facilitare l’input all’utente agendo su vari fronti. Su Windows Phone 7 è possibile agire...
Il servizio “Location Service”, come indica il nome stesso, consente di notificare alle applicazioni che lo utilizzano la posizione corrente del device. Il servizio ottiene i dati da fonti diverse in base alle impostazioni (effettuabili da codice) che...
Come per le applicazioni Silverlight tradizionali, anche sui nuovi Windows Phone 7 sarà possibile utilizzare l’Isoltated Storage per memorizzare informazioni applicative. Vista la natura a Page dell’applicazione è quasi indispensabile salvare lo stato...
Riprendendo una parte di workshop direttamente da MSDN ho ricreato questo piccolo esempio di applicazione client che sfrutta il controllo web browser presente su Windows Phone 7 Si faccia riferimento Windows Phone 7 Intro per una introduzione alla creazione...
Le mini-applicazioni/demo presenti nella sezione media sono:
Esempio di invio di SMS via API
Tue, Jun 15 2010
Esempio di attivazione della fotocamera da codice (funziona anche con l'emulatore)
Tue, Jun 15 2010
Esempio semplice di utilizzo delle API per interagire con Outlook.
Tue, Jun 15 2010
Esempio di gestione dei vari metodi di input dei dati (email, indirizzo web, numeri, etc)
Fri, May 28 2010
Esempio di geolocalizzazione: funziona anche sull'emulatore via Wi-Fi.
Fri, May 28 2010
Esempio di accesso all'Isolated Storage per gestire dati e settaggi applicativi
Fri, May 28 2010
Esempio di creazione e utilizzo del'Application Bar con icone e menù
Fri, May 28 2010
by rob
Esempio di utilizzo delle API dell'accelerometro.
Fri, May 28 2010
Formazione e informazioni
Il primo momento pubblico dove conoscere da vicino il device e le sue API è mercoledì prossimo: a Milano, infatti, si terrà Microsoft Remix che, o oltre a sessioni su Web e Hosting, presenta ben 5 sessioni su Windows Phone. Durante la conferenza verrà utilizzata una applicazione per la gestione delle valutazione che ha, oltre a interfaccia web e sms, un’interfaccia Windows Phone 7, sviluppata seguendo la nostra architettura applicativa.
L’agenda delle sessioni su Windows Phone 7 comprende:
1) Keynote: introduzione a HTML 5, Silverlight e Windows Phone 7
Keynote generale con la panoramica delle tecnologie presentate durante la giornata: sesisone importante per inquadrare il panorama tecnologico
2) Architettura di Windows Phone 7 e nuove opportunità del marketplace
Windows Phone 7 ha introdotto moltissime novità nell'architettura dei device e delle applicazioni realizzabili con Silverlight e XNA. In questa sessione affronteremo le basi dell'architettura dei nuovi device e capiremo come realizzare e distribuire, tramite il marketplace, applicazioni che sfruttino al meglio le funzionalità della nuova piattaforma dei telefoni programmabili con Visual Studio 2010.
Lorenzo Barbieri
3) Sviluppare applicazioni Windows Phone 7 con Silverlight
In questa sessione, rivolta anche a chi non conosce ancora Silverlight, creeremo un'applicazione per Windows Phone 7 utilizzando i tool, l'emulatore e le più importanti caratteristiche dell'API di Silverlight per Windows Phone 7. Capiremo come sfruttare le caratteristiche hardware e software dei dispositivi per creare applicazioni altamente interattive.
Lorenzo Barbieri
4) Migliorare le proprie applicazioni con i servizi "in the cloud" di Windows Phone 7
Windows Phone 7 introduce una serie di servizi (Push Notification, Location, integrazione con Xbox Live, notifiche sulla Start page tramite Tile custom, etc...) utilizzabili dalle applicazioni per aggiungere miglioramenti grazie a informazioni, eventi e molto altro, provenienti dal "cloud". In questa sessione capiremo, con esempi pratici, come usare efficacemente questi servizi per le nostre applicazioni e cosa cambiare nelle stesse per ridurre il carico sulla CPU, sulla rete e quindi sulla durata della batteria.
Michele Locuratolo
5) Windows Phone 7: "smart design & integrated experience"
Scopriremo insieme le principali novità introdotte dalla nuova "user interface" di Windows Phone 7. Un nuovo paradigma di interazione, in cui l'utente risulta sempre più sensibile alla fruizione di applicazioni e mash-up di contenuti e servizi in completa mobilità. Partendo da questi presupposti, nel corso della sessione mostreremo le principali linee guida da tenere in considerazione nella progettazione e nel design di un'applicazione per Windows Phone 7. Tutto questo utilizzando un esempio di progettazione e design di un'applicazione Silverlight per Windows Phone con Expression Blend.
Roberto Cavallini
5) XNA e lo sviluppo di giochi su Windows Phone 7
Nel corso della sessione mostreremo le potenzialità di XNA per lo sviluppo di giochi su Windows Phone 7. Capiremo come realizzare effetti grafici avanzati 2D e 3D attraverso le primitive di disegno e scopriremo come progettare e sviluppare con XNA 4.0 giochi e applicazioni per PC, Xbox e Windows Phone 7.
Giuseppe Maggiore
Ci vediamo a Milano
E’ disponibile Windows Azure Guest OS 1.4 (Release 201005-01). Le applicazioni configurate come “Automatic Upgrade” vengono automaticamente portate alla nuova versione.
Questo la maschera di una applicazione che stiamo con ThinkAhead e DevLeap seguendo in questi giorni

Riporto la notizia esattamente come mi è arrivata: dal 28 giugno SQL Azure cresce, dandoci la possibilità di utilizzare database fino a 50 GB.
“We are pleased to announce that starting on June 28, 2010, we will be increasing the size limit of a SQL Azure Business Edition database from 10 GB to 50 GB and that of a SQL Azure Web Edition database from 1 GB to 5 GB. Please note that if you elect to increase your existing databases to take advantage of these new sizes, there are additional charges. Please refer to our offer comparison table for more details by offer on our pricing. To help familiarize you with SQL Azure pricing, we will also release the pricing preview on June 7th, 2010 on SQL Azure pricing.
Starting August 1, 2010, we will also release a new SQL Azure Development Accelerator Core promotional offer. This new offer will give you the flexibility to purchase commitment quantities of SQL Azure Business Edition databases independent of other Windows Azure platform services at a deeply discounted monthly price. The offer is valid only for a six month term. You may purchase in 10 GB increments the amount of our Business Edition relational database that you require (each Business Edition database is capable of storing up to 50 GB).
The offer price will be $74.95 per 10 GB per month. This promotional offer represents 25% off of our normal consumption rates. Monthly Business Edition relational database usage exceeding the purchased commitment amount and usage for other Windows Azure platform services for this offer will be charged at our normal consumption rates.
Please click here for full details of our new SQL Azure Development Accelerator Core offer. “
Chiudiamo questa mini-serie sull’interazione fra codice e API applicative del device/emulatore con un esempio semplicissimo sull’emulatore.
Direi che dopo i post precedenti non c’è bisogno di ulteriori spiegazioni sul flusso che stiamo creando:
Il tasto SMSCompose utilizza le API per comporre un SMS:
Questo il codice autoesplicativo:
Alla pressione del pulsante il risultato è il seguente:
Si può continuare la conversazione inserendo altri messaggi dopo il Send
Con il tasto Back si torna all’applicazione.
Come abbiamo visto nell’ultimo post sulla fotocamera, l’emulatore attuale non espone attraverso il menù start tutte le applicazioni che è in grado di supportare. In questo mini-articolo vediamo come attivare la parte di “email” che comprende la composizione del testo, la scelta dei contatti e la possibilità di salvare gli indirizzi email.
Partiamo subito dall’esempio (che ho inserito nella sezione media di ThinkMobile.it) creando una nuova applicazione in cui inseriamo alcuni semplici pulsanti che ci serviranno per utilizzare le API dietro le quinte:
Il primo pulsante utilizzerà l’indirizzo indicato nel textbox per comporre una email.
Questo il codice XAML che ci ricorda come non sia importante nel nostro caso l’impaginazione :-)
Vediamo il codice, e il risultato del primo pulsante:
Il codice crea una classe EmailComposeTask che consente di attivare appunto l’attività di scrittura di una mail.
Stiamo usando tutte le proprietà che la classe espone e direi che non ci sono problemi di interpretazione del significato:
Attivando il codice otteniamo questo risultato:
Giustamente, prima di poter inviare una mail dobbiamo impostare un account. Impostato l’account otteniamo il risultato che ci eravamo prefissi.
Proviamo a scegliere il seocondo pulsante vedendo prima il codice relativo:
Anche in questo caso il risultato è quello che ci aspettiamo (la prima volta avremmo non avremmo contatti da cui scegliere)
Visto che il telefono simulato non espone una interfaccia per la gestione dei contatti, aggiriamo il problema invocando da codice il task di salvataggio di un indirizzo email…questa operazioni consente di arrivare dove vogliamo arrivare. Ecco il codice
Eseguiamo il codice e…sopresa…ecco la maschera di gestione dei contatti:
e premendo il tasto Add
Fatto il primo Accept ecco altre informazioni. Ho riempito il nome/cognome e azienda:
Posso aggiungere una foto (si veda il post relativo)
Una volta completato l’aggiunta del contatto si presenta la maschera seguente:
A questo punto possiamo riprovare il secondo pulsante e scegliere il contatto appena aggiunto:
Scelto il contatto la page si presenta così
Il risultato di una task, in questo caso la scelta dell’email di un contatto, ci viene restituito attraverso un metodo della pagina stessa denominato OnChooserReturn. Ecco il codice che testa il tipo di risultato e ne recupera il risultato stesso nel caso in cui l’utente abbia scelto un contatto (ovviamente se preme annulla o back non dovrebbe recuperare nessun valore)
Quando si attivano dei Task, il risultato (in questo caso la fine della composizione della mail) ci viene restituito
Per gli interessati ho pubblicato a questo IASA 9 luglio 2010 le slide in pdf della mia sessione di mini-introduzione a Windows Azure tenuta al primo evento del Chapter italiano di IASA.
Nel caso siate interessati ad approfondire gli argomenti proponiamo due corsi di formazione:
Windows Azure & Services Platform Essentials Windows Azure & Services Platform Advanced
Come abbiamo avuto modo di segnalare in altri blog e articoli precedenti, l’emulatore attuale non espone attraverso il menù start tutte le applicazioni che è in grado di supportare.
La fotocamera è una di queste applicazioni “nascoste”. Da codice possiamo però invocare le API della fotocamera per capire già oggi come si comporterà la nostra applicazione durante l’interazione con la fotocamera stessa.
Partiamo subito dall’esempio (che ho inserito nella sezione media di ThinkMobile.it) creando una nuova applicazione in cui inseriamo alcune semplici pulsanti per attivare la fotocamera
Nel form, anzi nella page, ho inserito due pulsanti Camera e Choose con l’obiettivo, rispettivamente, di attivare la fotocarmera per scattare una foto e di scegliere una foto dagli album dell’utente. Una volta scattata o scelta la foto visualizziamo l’immagine stessa nell’immagine al centro della page.
In questo semplice esempio non ho utilizzato nessuna tecnica di allineamento dei controlli gestione dell’orientamento; questo il codice:
Vediamo il codice del code behind introducendo il concetto di Task: le API espongono varie funzionalità sotto forma di task. Esiste ad esempio un Camera Capture Task implementato nell’omonima classe nell’assembly Microsoft.Phone.Task. La definizione della classe ci mostra i suo metodi pubblici:
Molto semplicemente, le immagini fotografate possono essere serializzate e deserializzate via Stream, e, tramite il metodo Show, attivare la fotocamera per scattare una foto.
Nel nostro esempio il codice è molto semplice e attiva la fotocamera (presente in versione simulata anche sull’emulatore)
Vediamo l’esempio: il codice del tasto button1 è il seguente
Facciamo F5 e vediamo cosa succede
Una volta scattata la foto, la page riceve la chiamata al metodo OnChooserReturn (il chooser è un concetto molto diffuso sul telefono e consiste nell’attivazione della maschera di scelta di elementi presenti sul mercato, contatti o email o foto come stiamo vedendo)
E’ possibile quindi effettuare l’override del metodo per recuperare il valore restituito dal chooser (nel nostro caso la Photo)
Il codice è autoesplicativo: si recupera l’EventArgs come TaskEventArgs<PhotoResult> e dopo il classico controllo sulla compatibilità sul tipo cerchiamo di capire se l’utente ha scelto o ha fatto Cancel. Il risultato di TaskEventArgs<PhotoResult> ha una proprietà, fra le altre, ChosenPhoto che restituisce la photo sotto forma di classico System.IO.Stream.
E’ stato rilasciato sia l’SDK sia gli strumenti per VS 2008/2010.
Queste l'e novità prese direttamente da MSDN:
New for version 1.2:
- Visual Studio 2010 RTM Support: Full support for Visual Studio 2010 RTM.
- .NET 4 support: Choose to build services targeting either the .NET 3.5 or .NET 4 framework.
- Cloud storage explorer: Displays a read-only view of Windows Azure tables and blob containers through Server Explorer.
- Integrated deployment: Deploy services directly from Visual Studio by selecting ‘Publish’ from Solution Explorer.
- Service monitoring: Keep track of the state of your services through the ‘compute’ node in Server Explorer.
- IntelliTrace support for services running in the cloud: Adds support for debugging services in the cloud by using the Visual Studio 2010 IntelliTrace feature. This is enabled by using the deployment feature, and logs are retrieved through Server Explorer.
Windows Azure Tools for Microsoft Visual Studio includes:
- C# and VB Project creation support for creating a Windows Azure Cloud Service solution with multiple roles.
- Tools to add and remove roles from the Cloud Service.
- Tools to configure each Role.
- Integrated local development via the Development Fabric and Development Storage services.
- Running and Debugging a Cloud Service in the Development Fabric.
- Browsing cloud storage through the Server Explorer
- Building and packaging of Cloud Service Packages.
- Deploying to the Windows Azure.
- Monitoring the state of your services through the Server Explorer.
- Debugging in the cloud by retrieving IntelliTrace logs through the Server Explorer.
E’ molto interessante l’integrazione con il Server Explorer che riduce la necessità di tenere sempre aperta la Windows Azure MMC (che resta comunque fondamentale per le Queue e per eseguire operazioni di test e pulizia) e l’integrazione con l’intellitrace: si possono recuperare i log dell’intellitrace direttamente dal Server Explorer e riutilizzarli nell’Intellitrace per riprodurre il flusso eseguito.
Molto comoda l’annunciata funzione di publish diretto.
Molto importante la possibilità di sviluppare in .NET 4.0 (penso soprattutto a progetti che usano Entity Framework 4 o Workflow 4); anche se per adesso non si può pubblicare un servizio .NET 4.0, lo si può iniziare a sviluppare e testare in locale….in ogni caso non mancherà molto…immagino.
Windows Mobile, iPhone e Android ci hanno abituato a semplificare la vita all’utente durante la digitazione di informazioni. Da sempre, su un device mobile occorre facilitare l’input all’utente agendo su vari fronti.
Su Windows Phone 7 è possibile agire in prima battuta sulla attached property denominata InputScope.
L’idea è molto semplice e molto efficace allo stesso tempo: il tastierino appare di default in ogni campo TextBox, ma lo sviluppatore della user interface può suggerire il tipo di dato che l’utente inserirà in modo da adattare il SIP (Software Input Panel == tastierino) in base all’informazione stessa.
Ad esempio se l’utente deve digitare un URL, lo possiamo aiutare indicando al campo textbox che il suo input scope è un indirizzo URL. In questo modo il SIP predispone un pulsante “.com” e un pulsante “http” per semplificare la digitazione all’utente.
L’elenco dei valori possibili è definito nell’enum InputScopeNameValue definito nel namespace System.Windows.Input e prevede i seguenti valori:
Visual Studio 2010 Express for Windows Phone propone l’intellisense direttamente nel designer visuale e nel designer XAML.
Ad esempio la seguente Page:
viene definita con lo XAML seguente (ho tagliato le info non significative)
Come si nota ogni TextBox riceve l’attached property InputScope da valorizzare con un InputScope il cui InputScopeName abbia la proprietà NameValue impostata al valore dell’enum.
In sequenza le immagini di ogni InputScope

Non hai ancora un device ? L’emulatore ancora ha poche funzionalità ? Vuoi prendere la mano con Windows Phone 7 e abituarti alla user interface ?
Nessun problema….sembra la pubblicità di un qualcosa….è in effetti lo è: RainMeter, famoso prodotto per la personalizzazione del desktop tramite widget, ha reso disponibile uno skin Windows Phone 7.
Questo il mio desktop di stamani:
E’ ovviamente tutto personalizzabile con le stesse metodologie/meccanismi di RainMeter.
Download da http://www.rainmeter.net. La versione 1.2 Beta rev 393 o successiva; dopo una decina di giorni di utilizzo mi sembra molto più stabile della 1.1 finale.