The second day of TechEd is now complete. It was another day of learning opportunities and some light hearted fun. I'll cover the mobile technologies in this post and follow-up with some subsequent posts on the other sessions I encountered.
Windows Mobile 6 SDKs - Emulate, Emulate, Emulate
Those that have seen some of my previous posts and public talks for NxtGen User Group and elsewhere will know that Windows Mobile development is one of favourite topics. I have previously used many of the Windows 6 SDK elements but the interactive session given by Andy Wigley and Andrej Radinger both Windows Mobile MVPs from AppaMundi gave me some extra hints and tips when using these tools.
If you haven't come across it already, it is well worth downloading the Windows Mobile 6 SDK as it contains many simple tools and code samples that make building, deploying and testing simpler and less fraught. It contains useful tools such as a GPS emulator for emulating device GPS interactions (very useful as most developers sit indoors!).
Cellular Emulator
One such example is the Cellular Emulator. I knew this could emulate the cellular radio stack in a given mobile device but I didn't realise that it faithfully let you simulate busy calls, no answer and hang on answer scenarios as well and emulate the processing of sending and receiving SMS messages. The emulator lets you make calls over its networking stack to WCF services, web sites etc as if the real networking stack was being used rather than directly relying on the networking of the development machine. Very useful for imitating those real life scenarios in a way that is a close to the hardware as possible without deploying the application to a real device. I also didn't realise that the cellular emulator let you throttle the bandwidth to simulate the relative speeds of 2G and 3G networks.
Other useful goodies from the session included and awareness of the Compact Framework 3.5 PowerToys distribution. I was aware of previous generations of PowerToys for mobile devices but this one passed me by somehow. Any way it includes a Compact Framework Windows Communication Foundation proxy client generator tool. This enables the building of code generated proxies - and avoids the need to manually add a web reference via Visual Studio. This can have advantages when trying to retain a specific proxy client version as it avoids accidental updates to web references.
Demos and "Aerial Object Distribution"
Certainly one of the most entertaining session of the day was provided by the "triple act" of Jason Langridge, Lake Ue Tan and Rob Tiffany in the Windows Mobile Smackdown session. This consisted of masses of demonstrations of the latest fantastic Windows Mobile 6.1 devices and raft of new applications. This was interspersed with the throwing of large quantities of giveaway items (including mobile batteries) into the audience.
On a more serious note what was most significant from a hardware perspective was the presence of high spec , cameras, GPS, high speed data access and accelerometers in all the devices.
From a software point of view what was noticeable was the sheer variety of immersive, innovative UI interfaces that these devices now bring to the market. Although the ageing Windows Mobile user interface is still there underneath, many of these user interfaces and a range of new applications, make particular use of the accelerometers in devices such as the Htc Touch Diamond and Htc Touch Pro to provide gesture based interactions. All of the applications seemed very responsive and intuitive.
Also significant was the number of Windows Mobile UI applications coming to market that have a highly connected relationship between the mobile device, its data and network web portals. These ranged from online backup tools, to social networking sites through to gesture based games. All of the applications integrated seamlessly between data and the corresponding web functionality. Of particular note was an offering that allowed access to Microsoft's Live Mesh solution to allow mobile data to be synchronised from the device to the "cloud".
If this is an indication of the health of the Window Mobile OEM and VAR market then despite the growing competition the future looks very promising.
Windows Mobile Security
Mobile security is one of those areas that I thought I had an approximate understanding of the area but whenever I tried to do something practical with it, you always realised how much you don't know. Such was the case with the interactive presentation given by Marcus Perryman on Windows Mobile Security. Marcus has a wealth of Windows Mobile experience and now works closely with the Windows Mobile product groups.
Although essentially a whiteboard and interactive session Marcus's explanations meant that for the first time I got a fully complete handle on all the aspects of two-tier security, key stores for each level of privilege , code signing, certificates for particular types of interaction. You can find a good summary of this security model at this MSDN location I had mostly understood this area but my knowledge often fell down around the question of why if certificates and code signing were needed, didn't commercial apps need signing by each and every mobile operator?
It turns out that as part of the Windows Mobile partner agreement each mobile operator needs to pay for and ship a general set of certificates on each device. As part of the MobileToMarket and other initiatives Microsoft then ensures that applications are then code signed with the relevant part of each of the certificate key. It all fits a little better into place.
Most of the policies and certificate settings around these areas can be viewed using the Security Configuration Manager tool . This is a PowerToy that allows developers to build up the XML contained in a .cpf file by a visual tool rather than by hand crafting. Further details are at: http://msdn.microsoft.com/en-us/library/bb158510.aspx
The session also covered the security offered by System Center For Windows Mobile Device Manager via its provision mechanisms, centralised control over uses policies and the Mobile VPN it utilises for communication.
Anyway a useful session.