Q&A from Mobility MSDN TechTalk

Tuesday evening I was speaking at an MSDN event in Reading, UK about Mobile Development and there were a number of questions raised during and after the event:

 

From Chris Walker: "Do you know if there is any audio/multi media tutorials etc. I think there was a VB.Net TV program that Microsoft sponsored."

We are working on a new initiative call ‘nuggets’ that are a collection of short video clips showing how to solve common code issues or use certain product features. They are still being recorded and released on a 2 per week basis.

No mobile ones yet, but I have a long list.

Get more details from this earlier blog.

 

Another great source of information (including audio recordings) is the Learn247 project: https://www.learn247.net

Check out Football 247 and WeRock247 to see sessions around ~1 hour long covering introductions and more advanced topics. This material can be acquired in DVD form for the cost of shipping (~$6).

From Sarah Blow: "1> How can you become an OEM developer of Windows CE on third party proprietary devices? "

There is usually a representative from your local Microsoft office from their OEM team that will help with this. Microsoft don’t sell the tools or license the Windows CE OS directly, but instead use resellers for this – you can usually find a list of resellers from the Microsoft local web site. It always helps to have an estimate of the device volume you are likely to be producing and timescales for that production.

The two resellers for UK are: Abacus and Avnet Europe

From Sarah Blow: 2> "How do you manage to get multi line text boxes and individual tick boxes on a c# mobile web application? More clarification of this question can be found at: https://spaces.msn.com/members/waterbaby/Blog/cns!1p8onyOGBY_N4a9_eT3OsBwA!257.entry "

Probably the easiest way to do this is by dropping a panel control onto your mobile form and then place a Device Specific control inside the panel. Placing the Device Specific control at form level has a special meaning – it allows you to control the page headers and footers in a device specific way. Only one Device Specific control is supported by a container – e.g. one at form level and one per panel.

You are able to drop compatible Web Form controls such as the Text Field control within a Device Specific control.

Device Specific controls are designed to provide different ‘Templates’ to different browsers – almost like the concept of a Tab except you only see the tab page that fits your browser.

To create different templates for different browser capabilities you need to do this:

  • First right click your Device Specific control and select Template Options. This is where you can select how many Templates you want to support and for what browsers.
  • Click edit to see the templates already selected.
  • Select the device filter you want and click Add to List. Click OK to apply

Now you can change the Device Specific control to show the template you want to edit.

Right click on the DevceSpecific control select Edit Template and Content Template. This will show you a design surface to place controls and text onto.

If you selected Pocket IE or HTML 3.2, try dragging the Text Field or the check box onto the template. To resize the Text Field control you need to first set it to multiline, then extend the Device Specific area by putting a new line after the control, then you can resize the control – weird!

Don’t forget that this area will only be visible if the browser caps sent in the header from the device matches the test criteria for the filter. If it doesn’t match then the page will just display a blank! To deal with all the ‘other’ browsers that your filter excludes can be dealt with by using the Default filter.

I built a small sample that you can take a look at here.

Better still, go have a look at these docs:

DeviceSpecific Class

Mobile Web Development

Special controls

From Sarah Blow: 3>" I would also be interested in how you managed to get hold of the full API for the camera functionality of the HTC mobile devices. I have Neil Cowburns wrapper class (One of the OpenNetCF developers https://blog.opennetcf.org/ncowburn/PermaLink,guid,5f0ebbac-8199-4ad1-aaa5-5e84af695359.aspx) but it does not enable the camera to be used for video capture which the device is capable of doing."

HTC are an amazing company when it comes to device innovation, but sadly I have always had problems when trying to deal with them as a developer – their heart is in the right place, but they are just not geared up to deal with developer interaction.

Camera on Windows Mobile hardware are still not covered by a consistent OS supplied API – its coming in the next version of Windows Mobile (how many times have you heard that from Microsoft!) but at this point in time all the devices with cameras use a proprietary API from the specific device manufacturer. Fortunately HTC makes the common camera loaded devices and does offer an API to access those cameras, but you need to contact them directly, and sign an agreement with them, before they will release the SDK and docs to you.

Neil’s wrapper is a very convenient way of interacting with the camera on these devices so long as your needs fit within its capability. If it doesn’t go far enough then you have to go to HTC and persevere until you get an answer from them.

Anonymous: I need finer control over the Bluetooth operation on the device but there doesn’t appear to be any SDK from Microsoft to do this.

Bluetooth on Windows Mobile is a bit of a mess right now. Windows Mobile was late to the game with their Bluetooth stack and OS support for Bluetooth, so many manufacturers has already gone looking for 3rd party providers of Bluetooth for their devices. The most common stack you will find on devices today is from WidComm (now owned by Broadcom). They do offer an SDK for their stack but its not cheep – the order form is here and the product information is here.

Things are getting better in (yeah, you guessed it!) the next version of Windows Mobile.

Just as an FYI, check out this video from Channel 9 demonstrating how to use Bluetooth over a COM port.

Shawn Fraser: Smartphone Personal Certificates – Pocket PC operates correctly to install and use personal certificates but the same is not true of Smartphone 2003. I can install and view the personal certificate (I have tried both on the device and the emulator) but all I get back is the 403.7 error even though the personal certificate appears to be OK in the personal section of the certificate store. The root certificate is working correctly, as I don't see a warning about the site being untrusted.

If you can give me any idea on how to check the personal certificate, or if there is any way to get the personal certificate prompt in PocketIE, that would be great.

As I said, I am using exactly the same certificates on PC and PocketPC (which used crtimprt) and both work correctly.

Still investigating this one so if anyone can suggest a reason | solution | work around that would be great!

 

Marcus