W

Communities, Communities, Communities! (semicit.)

Fare parte di una community tecnologica (nel mio caso 3) può essere davvero impegnativo, ma al tempo stesso molto molto appagante.

Seguo molto assiduamente gli eventi che tutte le community italiane (sopratutto del mondo .NET) organizzano e quando è possibile cerco di parteciparvi di persona.

Questo sopratutto perchè credo che a parte il contenuto strettamente tecnico che si può erogare in una sessione (che per altro può tranquillamente essere vista via web) il vero valore stia nelle persone, nel poterle conoscere, il loro valore, le loro passioni. le loro idee.

In questo ovviamente c’è anche la possibilità di togliersi il dubbio su un certo problema che abbiamo incontrato e che non riusciamo a risolvere, o addirittura mettere le basi per collaborazioni di lavoro.

Insomma quello che comunemente viane chiamato fare Networking.

A questo proposito negli ultimi giorni di febbraio si sono svolti presso la sede Microsoft di Milano I CommunityDays 2014 che quest’anno hanno davvero battuto ogni record!

Infatti la prima novità era l’estensione dell’evento su 3 giornate in cui le prime due seguivano uno schema “classico” di tracce multiple con sessioni su tutto l’arco della giornata per coprire tutto lo spettro tecnologico del mondo Microsoft.

La terza giornata, definita °fabbrichetta edition° (cit.) poneva làaccento sulle problematiche da affrontare oggi per avviare una nuova azienda o startup.

Lo sforzo organizzativo per Daniele ed Andrea è stato improbo, ma credo che I risultati abbiano ampiamente ripagato gli sforzi.

Praticamente tutte le community italiane erano coinvolte in un modo o nell’altro nell’evento; o nelle sessioni, o nelle operazioni di checkin e nel controllo delle sale.

Da parte mia ho avuto il piacere di erogare due sessioni insieme all’amico e collega Marco Minerva, la prima dal titolo “Interagire con device esterni” e la seconda “Sviluppare applicazioni con Azure Mobile Services”.

Durante la prima sessione fra l’altro abbiamo anche mostrato come interfacciare il Drone AR.Parrot con WIndows Phone e WIndows 8, a tale riguardo ho realizzato un piccolo video che mostra la demo relativa.

Drone FlyWithMe.mp4 from Marco Dal Pino on Vimeo.

Sono tornato a casa davvero caricato da questo evento e non posso che ringraziare tutti coloro che lo hanno organizzato e vi hanno partecipato per aver reso indimenticabili quei tre giorni.

Tagged with:  
W

Rilasciato Windows Embedded 8 Handheld SDK

in Embedded, Handheld, Windows Phone , by dpcons

Dopo molta attesa finalmente è disponibile il Windows Embedded 8 Handheld SDK ed è possibile scaricarlo ed installarlo da qui. mobile1green

Vorrei però fare un poco di ordine su cosa effettivamente è questo SDK e quale ruolo riveste nel mercato.

Windows Embedded 8 Handheld fa parte della famiglia di prodotti Embedded proposti da Microsoft, in particolare la versione Handheld esista già da alcuni anni e di fatto è il prodotto precedentemente conosciuto come Windows Mobile che Microsoft offriva sugli smartphone dell’epoca. Tuttora distribuito con I terminali industriali delle principali aziende del settore (Symbol-Motorola, Honeywell, Intermec, Datalogic ecc).

 

La versione 8 di Handheld invece da un taglio con il passato e il nuovo sistema abbandonerà Windows Mobile (basato sul kernel Windows CE) e passerà invece a Windows Phone 8.

Questo cambio di direzione punta verso l’allineamento e l’unificazione delle piattaforme anche nel mondo embedded.

Questo nuovo Sistema operativo dovrebbe vedere la luce nel prossimo anno (le ultime notizie ufficiali parlano della prima metà del 2014), ed èmobile2green[7] lecito attendersi tempistiche vicine al rilascio della vNext di Windows Phone (comunemente noto come Windows Blue).

Ma quali saranno le caratterisctiche peculiari?

  1. Prima di tutto la presenze sui device di nuovi sensori e interfacce, quali I lettori di codici a barre, lettori di carte magnetiche, il supporto per la connessione di dispositivi HID (via BLuetooth e USB)
  2. La possibilità di impostare il cosiddetto “Kiosk mode”, ovvero poter impostare una applicazione come unica o principale ed inibire l’accesso ad alcune o tutte le altre funzionalità del sistema operativo dalla interfaccia utente. In questo modo potremo “blindare” l’utilizzo del device alle sole funzionalità cui è programmato (tipicamente operazioni di data retrieve e collection, logistica, distribuzione, retail e hospitality).
  3. Distribuire applicazioni sui device senza passare dallo store (possibilità già nota come pubblicazione Enterprise delle applicazioni)
  4. Gestione remota dei device tramite Windows Intune o sistemi di gestione dei dispositivi di terze parti

mobilepackcyan

Installazione

Ma cosa otteniamo installando questo SDK?

iniziamo mobile2blue lo scaricamento del pacchetto di installazione (circa 460 MB).

L’installazione si conclude rapidamente se già è presente un ambiente di sviluppo per Windows Phone 8 (sia esso su VS2012 o VS2013).

La prima traccia evidente dell’installazione image la notiamo appena creiamo o apriamo un progetto Windows Phone 8 e notiamo nella lista degli emulatori a disposizione alcune nuove voci. Tutte evidenziate dal nome “WE8H Emulator” seguito dalla relativa misura dello schermo emulato.

Interessante notare fra gli altri una nuova misura corrispondente alle nuove risoluzioni 1080p disponibile a partire dall’aggiornamento GDR3 di Windows Phone (per I dispositivi Full HD come il Nokia Lumia 1520) a tale proposito potete dare una occhiata a questo interessante post sulla gestione di risoluzioni multiple nei nuovi device.

Da un primo test effettuato con una piccola applicazione di prova, ho tuttavia verificato che utilizzando tale emulatore non possiamo correttamente testare le nostre applicazioni come sui nuovi device Full HD, infatti lo scale factor ritornato dalla relativa API è 150, mentre la risoluzione fotografica di scatto è 7152×5364 esattamente I valori che vengono ritornati anche dall’emulatore 720p. Ecco lo snippet che ho utilizzato.

image

Sull’argomento credo che cercherò di approfondire in seguito.

La documentazione dell’SDK (disponibile a questo link)  copre I due namespace Windows.Device.PointOfService e Microsoft.Embedded.Devices.Enumeration aggiunti dall’SDK e un esempio per emulare il lettore di codici a barre all’interno dell’emulatore.

In pratica adesso è possibile utilizzare le API Point of Service già disponibili in Windows 8.1 anche su WP, ovviamente considerando di sviluppare per I device WE8H.

W

Prossimi eventi per Dev Embedded

Vista l’onda di uscita dei nuovi prodotti Windows Embedded avremo presto parecchi eventi per conoscere I nuovi prodotti, intanto volevo segnalarvi due eventi che si svolgeranno nei prossimi mesi in cui sarà già possibile vederne un assaggio.

DotNetCampus il 13 Aprile presso Università Roma Tre

.NET Campus 2013

 

Better Embedded l’8 e 9 Luglio a Firenze

Better Embedded 2013

In queste due conferenze presenterò alcune sessioni riguardo Windows Embedded Handeld e le Applicazioni Enterprise.

W

Portiamo una applicazione Enterprise da Windows Mobile a Windows Phone (Parte 1 di ??)

in Dev, Embedded, Handheld, Windows Phone , by dpcons

Sta arrivando! Il (vero) successore di Windows Mobile (Windows Embedded Handheld 6.5.x) arriverà nei prossimi mesi (settimane?), come già ben sappiamo.

Abbiamo anche ben compreso che la prossima generazione di terminali portatili sarà basata su Windows Phone OS (il nome corretto è Windows Embedded 8 Handheld o WE8H), per questo ho iniziato il porting, o forse sarebbe meglio dire riscrittura, di una delle mie applicazioni gestionali che ho sviluppato negli ultimi anni, verso il nuovo sistema operativo.

imageTQuesto è il primo di una numero imprecisato di post, in cui cercheò di analizzare e mostrare ogni aspetto del porting/riscrittura dell’applicazione.

 

La  App

E’ stata sviluppata per alcuni clienti operanti nel settore della moda e abbigliamento per gestire I trasferimenti di merce fra negozio e negozio, fra magazzini e negozi e vice versa.

Oltre ai trasferimenti la applicazione implementa le procedure di inventario della merce per il magazzino o per il negozio. Gli articoli sono identificati naturalmente dal loro codice a barre che corrisponde ad un articolo in un certo colore (o variante) e taglia. Gestiamo anche alcune altre informazioni di cui vedremo I dettagli in uno dei prossimi post.

 

I Dati

Di solito I barcode risiedono in un DB locale installato sul device e sincronizzato ogni notte con il server centrale dell’azienda. Ai tempi in cui fu scritta questa applicazione la disponibilità reti WiFi affidabili nei magazzini non era comune, per questo la maggior parte delle installazioni utilizzano il DB locale sul device.

In molti casi il numero di barcode (record) è molto elevato, ho delle installazioni di questa procedura con 4 Milioni di record nel DB, si 4.000.000 righe in un file sdf di un DB SQLCe che necessita di essere sincronizzato ogni notte (moltiplicato per il numero di dispositivi installati).

In molti casi ho cercato di di convincere il cliente ad installare un server di backoffice, degli access point ed utilizzare un servizio WCF sul server per reperire il barcode e le altre informazioni dal terminale via connessione WiFi. Ho quasi sempre fallito! Crying face

Considerare di passare questa struttura su WP8 non è molto difficile, possiamo continuare ad utilizzare SQLCe ma non con le metodologie di accesso precedenti (connessione, command esecuzione della query ecc) ma solo via LINQ to SQL, non c’è supporto per T-SQL su WP8. potremmo anche considerare l’adozione di un DB SQLite, che viene utilizzato sempre più spesso nelle applicazioni WP8 e Win8, visto anche che su quest’ultimo non c’è supporto a SQLCe.

Al giorno d’oggi tutti (la maggior parte ) dei magazzini sono equipaggiati con una copertura WiFi che permetterebbe più semplicemente di utilizzare lo scenario di lavoro connesso. C’è comunque da tenere in considerazione e gestire le modalità di lavoro disconnesse per tutte le situazioni di lavoro fuori copertura, o in negozio dove potrebbe non esserci copertura o accesso al server.

 

I device

image

Solitamente io ho sempre installato dispositivi Symbol (Motorola) ed in particolare I modelli MC70/75 e MC3000/3100.

Questi device montano dei processori ARM a 600 MHz ed hanno un massimo di 256 MB Ram /1GB Flash (per I modelli più recenti) nulla al confronto dei requisiti minimi di un device WP8: processore Snapdragon a non meno di 1 GHz dual core, 512 MB Ram /4GB Storage.

Per ora non sono disponibili e non sono stati ancora annunciati device WE8H, Suppongo però che le specifiche tecniche non differiranno di molto da quelle di WP8. La principale differenza sarà la costruzione di tipo rugged (1), il lettore di codici a barre, le tipologie di radio che avranno a bordo (Wi-Fi, GSM/3G/LTE, Bluetooth), o I tipi di interfacce di scrittura/lettura tipo NFC or RFID.

 

Nel prossimo post vedremo la struttura della applicazione ed inizieremo ad analizzare come “portare” alcune caratteristiche valutando le differenze dei sistemi operativi e considerando le guideline  per le Modern UI app per la User Experience e per la User Interface.

 

(1) Contenitori  e strutture del device che permettono di resistere a cadute a terra o schizzi e polvere, o di lavorare in ambienti con agenti ambientali sfavorevoli.

W

La mia “prima volta” ai Community Days

La scorsa settimana presso la sede Milanese di Microsoft si sono svolti I CommunityDays 2013, un evento che riunisce le community italiane legate allo sviluppo .NET e Windows.

Una due giorni di sessioni su tutte le novità relative alle tecnologie Microsoft.

CommunityDays.it

Io, alla mia prima presenza in qualità di speaker, ho presentato due sessioni (una delle quali per sostituire un collega indisposto).

Le sessioni erano:

MFX02 Kinect e gadgeteer: Al giorno d’oggi, l’utilizzo di NUI (Natural User Interface) rende possibili nuove modalità di interazione con i dispositivi. In questa sessione utilizzeremo .NET Gadgeteer per costruire un robot dotato di telecamera e sistema di difesa, mostreremo come controllare i suoi movimenti e i suoi accessori utilizzando sia Kinect, con gesture e riconoscimento vocale, sia il nuovo Sensor and Location Platform di Windows 8.

Questa sessione è stata preparata e presentata insieme a due amici Marco Minerva e Massimo Bonanni.

Trovate due brevi video relativi a questa sessione qui e qui

 

WP806 – Mappe su Windows Phone 8: Tra le molte novità arrivate con Windows Phone 8 vi sono i nuovi servizi di geolocazione e il nuovo Map Control basato su Nokia Maps. In questo ‘crash course’ di mezzora illustreremo velocemente i concetti principali per poi soffermarci sull’implementazione delle funzionalità di background tracking e di fast resume e dei relativi metodi di notifica all’utente.

Riporto il link al blog di Nicolò Carandini che era lo speaker originariamente previsto per questa sessione.

Tagged with:  
W

Fare Community

in Community, Dev, Eventi , by dpcons

Questa mattina voglio condividere una piccola riflessione che mi ha accompagnato ieri sera durante il viaggio di ritorno da Milano dove ho partecipate all’evento WPReborn organizzato dalla community DotNetLombardia.

L’evento si è svolto presso l’innovation campus di Microsoft a Peschiera Borromeo (MI) WP_20130128_002e, come è stato detto nell’introduzione, era “un concentrato di sessioni sullo sviluppo Windows Phone 8 da riempire una settimana in un solo giorno”, ed è stato davvero così. Le sessioni erano divise in due track parallele: una Basic per chi si avvicinava per la prima volta allo sviluppo WP, ed una “Deep” che affrontava argomenti più specifici e di alto livello.

Lungo il ghiacciato e innevato tragitto che mi ha riportato da Milano alla mia Toscana, ho provato a calarmi nella mente di una qualsiasi delle persone che ieri ha partecipato all’evento; uno studente di informatica o ingegneria, un professionista del mondo IT, un programmatore, un imprenditore.

Ho provato a chiedermi cosa pensi questo spettatore di chi organizza un evento del genere. Immagino che pensi a delle persone che fanno questo di mestiere, persone che sono lì pagate da qualcuno (forse addirittura Microsoft) che l’unico e specifico scopo di queste persone è di vendere prodotti o servizi.

Immagino che questo sia un ragionamento che potrebbe venir logico se uno vive la cosa da esterno o per la prima volta.

In realtà non è così!

La realtà invece è che queste persone, fanno parte di una Community (la maiuscola è intenzionale) ! Ovvero sono un gruppo di persone, connesse da comuni interessi o passioni che cercano di condividere e diffondere queste passioni ad altri, gratuitamente.

Si, gratuitamente! Le persone che hanno organizzato e presentato l’evento di ieri erano lì a titolo gratuito, ed anzi, per quanti di loro hanno un lavoro dipendente hanno preso un giorno di ferie.

Ma allora lo spettatore esterno potrebbe chiedersi: perchè lo fanno? Non potrebbero sfruttare le loro energie e competenze magari per un secondo lavoro visti I tempi di crisi?

Si, lo potrebbero fare, ma per quanto strano possa sembrare preferiscono partecipare od organizzare eventi come quello di ieri !

A questo punto voglio aggiungere quello che invece penso io del fare community, ma per farlo devo premettere che da parte mia faccio parte dello staff di DotNetToscana, che considero la mia community di casa, ma partecipo attivamente agli eventi di altre community tipo DotNetLombardia, DomusDotNet, DotNetCampania, dotDotNet, DotNetLiguria, Visual Basic Tips & Tricks ed altre…

Per me fare Community ha il senso di imparare, incontrare, confrontarsi, condividere e perchè no discutere (anche animatamente) con altre persone che VOGLIONO farlo, e questo magari anche facendo qualche risata o mangiando una pizza (o qualcos’altro). Aggiungo anche che ho potuto stringere delle SINCERE (almeno da parte mia) amicizie con molti componenti di queste community e questo vi garantisco che è un plus non da poco!

Io partecipo alle attività di molte community non, perchè non ho di meglio da fare, ma perchè come nella natura delle persone, ogniuno ha le sue specificità e si può apprendere qualcosa da chiunque.

Non voglio ovviamente raccontarvi delle favolette, credetemi, lo so anche io che poi tutti lavoriamo e dobbiamo portare il pane a casa tutti I giorni, e devo anche riconoscere che gli eventi delle community possono essere in molti casi dei “palcoscenici” importanti per qualcuno che in quel modo presenta la sua professionalità a persone che altrimenti non avrebbe mai potuto raggiungere, tuttavia per me vale lo spirito con cui lo si fa,  se hai del valore è giusto che questo venga evidenziato, ma non soppporto le marchette pubblicitarie, questo no.

 

Credo che sia venuto il momento di mettersi a lavorare adesso…. Basta chiacchiere.

Ciao a tutti.

Tagged with:  
W

Windows Embedded 8 Handeld: Il ritorno di Windows Mobile!

in Embedded , by dpcons

So già che con questo titolo mi getterò addosso le ire del marketing Microsoft, ma credo che questo fosse l’unico titolo che poteva riassumere il mio pensiero.

Infatti, se percorriamo a ritroso la storia fino all’inizio del 2010 troviamo l’annuncio della nuova piattaforma ed ecosistema: Windows Phone 7 o, come venne chiamato all’inizio Windows Phone 7 series.

Quell’annuncio segnò di fatto la fine della piattaforma Windows Mobile su cui buona parte del mercato enterprise per il retail, logistica, hospitality ecc era basato.

Molti (me compreso) si trovarono sostanzialmente improvvisamente privati si un futuro rispetto alla principale piattaforma di lavoro utilizzata.

Da Microsoft vennero anche nei mesi successivi ampie rassicurazioni sul fatto che la piattaforma sarebbe ancora stata supportata ed avrebbe avuto evoluzioni ed upgrade.

Tuttavia in questi 2 anni (2011 e 2012) le uniche novità sono state che Windows Mobile passava alla divisione Embedded e cambiava nome in Windows Embedded Handeld.

Le attese del mercato però restavano disattese in merito ad annunci o lanci di novità, fatta eccezione forse per la revisione 6.5.3 che poi è stata adottata dai principali player del mercato (Motorola, Intermec, Honeywell ecc) sugli ultimi modelli di terminale usciti sul mercato.

Le buone notizie poi sono iniziate ad arrivare con la fine dello scorso anno quando, dopo il lancio ufficiale di Windows 8, sono state rilasciate informazioni sulla roadmap dei prodotti Windows Embedded dell’”era” Windows 8; ed ecco apparire anche Windows Embedded 8 Handeld!

wencSidebar0114_page_Page

Esatto anche il (nostro) sistema operativo fa parte della nuova famiglia e riceve un major update.

A dire il vero è un vero e proprio cambio di rotta, infatti Windows Embeded 8 Handeld (d’ora in poi lo chiamerò WE8H) sarà basato su Windows Phone 8 e lo sviluppo sarà quindi basato sull’SDK del telefono di Microsoft già ampiamente conosciuto e documentato ovunque in rete.

E finalmente ieri (14 Gennaio 2013) il lancio ufficiale al National Retail Federation (NRF) Annual Convention & EXPO, dove è stato anche presentato il primo showcase in collaborazione proprio con Motorola ed HomeDepot.

Sul treno dei produttorri ci sono (per fortuna) tutti i soliti nomi tipo: Bluebird, Honeywell, Ingenico, Intermec, Motorola Solutions (ex Symbol per capirci) che nel frattempo ha assorbito anche Psion,

Più avanti nell’anno Microsoft rilascerà anche un SDK specifico per WE8H per supportare tutte le API specifiche che I device industriali necessitano, ad esempio lettura di barcode, lettura/scrittura di RFID e NFC, accesso a smartcard e badge magnetici ecc.

Non ci resta quindi che ripartire, mouse e tastiera in pugno per tornare a sviluppare le nostre beneamate applicazioni enterprise abbandonando definitivamente il nostro caro vecchio WinForm ma non del tutto il caro Compact framework!!!

A proposito di questo voglio segnalarvi che nell’evento WPReborn 2013 che si svolgerà presso la sede Microsoft Italia a Milano il 28 Gennaio, sarò presente con una sessione in cui parlerò dello sviluppo di una applicazione enterprise “reale” di quelle che vediamo all’opera tutti I giorni nelle nostre città. Vi aspetto, spero di riuscire anche a farvi vedere qualche bell’”Effetto speciale” che ho in mente! Winking smile