Blog

  • DDD Day 2 Wrapup

    I really enjoyed DDD Day 2 on Saturday. I hope my session was useful and can help raise some interest in the possibilities (and challenges) provided by using Bluetooth for peer-to-peer networking. My slides are available to download here:-


    BluetoothDDD2.ppt (107.5 KB)


    Since I’m new to public speaking I’d really appreciate your feedback on the session so that I can improve my technique. There is an online feedback form on the DDD Day 2 website which I encourage all attendees to spend a few moments on.


    It was difficult to choose which sessions to pick as there were a few clashes on my must-see list. Also some of the sessions had a limited capacity and required registration, which filled up very quickly. But those other sessions I did catch were very interesting, the Avalon and AJAX sessions were quite inspiring. Many of the other speakers and attendees are posting their thoughts on the event, there are also some photos.

  • Installing .NETCF 2.0 Runtimes

    Marcus has posted some instructions on installing .NETCF v2.0 runtimes to a Windows Mobile 5.0 device. Of course you may wish to deploy to Pocket PC 2003 devices too, again it’s a RAM install, and you can follow the same basic steps. There are a few points to note:-



    • You can still build an Autorun in .NETCF v1.0 code as all Pocket PC 2003 devices will have at least the RTM release of v1.0 in ROM. Autorun on devices with multiple card slots can be flaky this was improved in v5.0
    • The CAB file for Pocket PC 2003 is much larger (5.1mb) since Pocket PC 2003 doesn’t support compressed CAB files. By default you’ll find it here:-


    C:Program FilesMicrosoft Visual Studio 8SmartDevicesSDKCompactFramework2.0v2.0WindowsCEwce400armv4NETCFv2.ppc.armv4.cab



    • The Autorun code will require modification because it relies on managed ConfigurationManager – you can either P/Invoke DMProcessConfigXML or use an available wrapper (if your device is a Phone Edition device) or OpenNETCF Registry wrapper – works for all PPC2003 devices.
    • You’ll need to modify how the Autorun determines the path of the SD card on which the files are contained. One solution is to check for potential storage cards with this code:-


    http://www.opennetcf.org/forums/topic.asp?TOPIC_ID=432



    • Place some token file on your SD card and check for it’s existence on each returned path, then when you have your SD card folder you can programmatically install the cab file(s). Again I shouldn’t need to give you any hints as to where to find a Process class for .NETCF v1.0

  • Use IMessageFilter From a VB .NETCF Project

    I posted this to the newsgroup earlier, but figured it was a useful thing to post for future reference. If you want to implement a custom IMessageFilter using OpenNETCF.Windows.Forms.ApplicationEx you have to be aware that VB.NET autogenerates a main proceedure for you if your project startup object is a form. Therefore it will use the Application.Run method and your filter will never be used. Instead you can implement a Sub Main as your startup object and use ApplicationEx:-


    Public Shared Sub Main()

    ApplicationEx.Run(New MyFormType())

    End Sub


     


    Then set your Startup object in project properties to your new Sub Main rather than the name of your form class.

  • Developer Developer Developer Day Session

    The agenda for DDD Day II has now been published and for some crazy reason folks voted for my Bluetooth with .NET session 🙂 I’ll be covering both the Bluetooth and Object Exchange components of the 32feet.NET suite, I wont touch on the IrDA part, but the code would be almost exactly the same. We’ll walk through discovery, client and server connections and sending/receiving objects, hopefully with some audience participation.


    It’s a great priviledge to be selected along with such a great selection of excellent speakers so I have a lot to live up to! I now have to attempt to make my demonstration application absolutely bullet proof since it inexplicably failed when I gave a short session at the MVP Summit. But it wasn’t my code at fault honestly, it worked fine during lunch afterwards (I had several witnesses), obviously a result of the the sinister EM radiation around the Redmond campus… 🙂


     

  • Use Microsoft Bluetooth Stack on Toshiba M200

    I was asked how to replace the default Toshiba stack installed on the M200 with the Windows stack (to allow for .NET programmability). Luckily it’s easy to do and Toshiba include the necessary bits on the hard disk.


    First you need to uninstall the Toshiba stack – Go to Add/Remove programs and select “Bluetooth Stack for Windows by Toshiba”


    Next run the C:TOSHIBAMS_BluetoothBtMon2Inst.exe installer to install the BT monitor.


    Finally reboot the machine, the system will detect the radio and install the necessary drivers.

  • New Personal Area Networking Libraries

    The Bluetooth.NET library has now reached it’s v1.5 milestone and is now part of the 32feet.NET suite. It joins an updated version of my IrDA library for the desktop which now adds some features (borrowed from the Bluetooth developments) so provides a superset of IrDA functionality on either full or compact frameworks. On top of both these libraries sits Object Exchange, this new library makes it easy to programmatically send and receive files and objects over the Object Exchange (OBEX) protocol. This is designed to provide a similar experience to functionality available for .NET for conducting HTTP requests – ObexWebRequest and ObexListener.


    The concept of 32feet.NET is to look at personal area networking for the .NET developer whether your platform of choice is .NETCF on Windows CE or full framework on XP, Tablet PC, XP Embedded or Vista (32 Feet is the range of a standard Bluetooth device, that’s 10 metres if you prefer metric). The website has been setup with discussion forums for the current libraries and associated technologies, you’ll also find all the class library documentation, and of course the download itself which contains assemblies, source, help documentation and samples.

  • SDF v1.4 Dlls

    A request came up on the newsgroups for just the dlls for the SDF. This could be useful if you are using the VS2005 Beta. Of course if you don’t know why you need these or what to do with them, then you can safely ignore this message and grab the package from http://www.opennetcf.org/download.asp?product=SmartDeviceFramework14

    OpenNETCF.1.4.zip (479.38 KB)

  • New MSN APIs to debut Tuesday

    [Via MP2KMag.com]


    At PDC on Tuesday (13th) Microsoft will unveil a new collection of APIs for it’s MSN services to be available from http://msdn.microsoft.com/msn, these will include:-



    • MSN Search Web Services
    • MSN Messenger Activity API (already available here)
    • MSN Virtual Earth API

    The last item is interesting. Firstly it sounds like this will be a “proper” documented API, rather than the jscript hacks currently available. Secondly it is being offered free for both commercial and non-commercial use. It is interesting therefore to see how it stacks up against it’s big brother Mappoint Web Service for simple commercial applications.


    Speaking of which, the new version of Mappoint Web Service (4.0) will also be released at PDC. New features include support for polygons, some new map styles, and further extensions to the mapping coverage.


    [Update] MWS 4.0 SDK is available:-


    http://www.microsoft.com/downloads/details.aspx?FamilyID=cb5148a9-f09e-4ec8-992f-16478c0b5d9a&DisplayLang=en

  • Developer Day reaches phase 2

    The session submissions are all in and it’s now your chance to vote for those you want to attend. So pick your top 20 here:-


    http://www.developerday.co.uk/ddd/votesessions.asp


    Also Sarah has setup a Wiki page to organise a Geek Dinner in Reading after the event, if you are interested in attending check out Sarah’s blog post, and sign up on the Wiki.