.NET Compact Framework and Smart Device Programming (August 9, 2005)

Posted: August 9, 2005

Please note: Portions of this transcript have been edited for clarity

Introduction

mikefos_msft (Moderator):
Welcome to today’s chat. Our chat today is hosted by MVPs on the topic of the .NET Compact Framework and Smart Device Programming Your questions, comments and feedback are welcome.

We are pleased to welcome our Experts for today’s chat. I will have them introduce themselves now.

ctacke (Expert):
Hello, I'm Chris Tacke, Co-founder of OpenNETCF.org

AlexFeinmanMVP (Expert):
Hello, I'm Alex Feinman. I'm a Mobile Device developer and another one of the OpenNETCF.org guys.

PeterFoot_MVP (Expert):
Hi I'm Peter Foot a .NETCF MVP and developer from the UK with In The Hand Ltd, and OpenNETCF.org member

PaulT_MVP (Expert):

Hello, Paul Tobey. I'm a Windows CE/.NET Compact Framework MVP and yet another OpenNETCF helper.

AlexYakhnin_MVP (Expert):
Hi, Al am Alex Yakhnin. .NET CF MVP, IntelliProg and a member of directory board of OpenNETCF.org

mikefos_msft (Moderator):
Let’s begin the chat. We welcome you to begin submitting your questions for our Experts.

Start of Chat

ctacke (Expert):
Q: What’s new in SDF 1.4?
A: SDF 1.4 has several bug fixes, designer updates and some other items summarized here: https://blog.opennetcf.com/2005/08/05/smart-device-framework-1-4-released/
You can always get a full list by viewing the archive History with Vault Client

PeterFoot_MVP (Expert):
Q: WM5.0 SDK has managed APIs that is not part of CF 1.0 or 2.0. Is that right?
A: That is correct. These APIs are available once you install the WM 5.0 SDK and only when used on WM 5.0 devices. They are based around .NETCF v1.0 so you can use them in either v1.0 or v2.0 projects

PeterFoot_MVP (Expert):
Q: Will a standalone CF 2.0 SDK be released or do we need VS2005 to develop for CF 2.0?
A: Yes, you'll be able to built .NETCF v2.0 projects from the command line using the .NET v2.0 SDK - the same as you would for desktop projects

ctacke (Expert):
Q: So I see that the SDF 1.4 is out. I'm curious how much of your own time you guys are devoting to this?
A: Depends on the "who" involved, but really all SDF work is done on our own time. Neil spent a lot of time just getting the installer working and working well over the last couple weeks. Others spent time testing. I can't guess the hours 1.4 took, as some areas (like Bluetooth) had a lot of hours in them.

AlexYakhnin_MVP (Expert):
Q: So I see that the SDF 1.4 is out. I'm curious how much of your own time you guys are devoting to this?
A: And we do not get paid for this.

AlexYakhnin_MVP (Expert):
Q: Will a standalone CF 2.0 SDK be released or do we need VS2005 to develop for CF 2.0?
A: CF 2.0 will be a part of .NET v2.0 SDK, so you could use it to develop with no need of VS2005

PeterFoot_MVP (Expert):
Q: So what's the plan for the SDF once NetCF 2.0 comes out? I understand that it'll still be there for NetCF 1.0, but will there be a new version or something for NetCF 2.0?
A: There are still big chunks of the SDF which aren't present in .NETCF v2.0, so there is still a place for it, We may thin out some of the functionality which is available in the base framework of course but this isn't firmly decided yet...

ctacke (Expert):
Q: So what's the plan for the SDF once NetCF 2.0 comes out? I understand that it'll still be there for NetCF 1.0, but will there be a new version or something for NetCF 2.0?
A: SDF 2.0 will target Studio 2005, so integration will be there, plus the SDF libraries will be build of CF 2.0 instead of 1.0. We've got some features that we're considering, but we're always open for suggestions.

KGrey_MSFT (Expert):
Q: Hello I need to get this patch URGENT ..How download???? Pampa00: .... The patch is KB887131
A: Please see: https://support.microsoft.com/?kbid=887131
A supported hotfix is now available from Microsoft, but it is only intended to correct the problem that is described in this article. Only apply it to systems that are experiencing this specific problem. This hotfix may receive additional testing. Therefore, if you are not severely affected by this problem, we recommend that you wait for the next release that contains this hotfix.

To resolve this problem immediately, contact Microsoft Product Support Services to obtain the hotfix. For a complete list of Microsoft Product Support Services telephone numbers and information about support costs, visit the following Microsoft Web site: https://support.microsoft.com/contactus/?ws=support

AlexFeinmanMVP (Expert):
Q: Is GAPI unsupported in WM5.0? Is DirectDraw (mobile) its replacement?
A: GAPI is still supported in WM5. It will be likely removed in the future, so DirectX (DirectDraw) is the preferred approach for high-performance graphic on the mobile devices

ctacke (Expert):
Q: Is there a way through which we can also participate in OpenNetCF.NET ?
A: Sure. Send submissions or bug fixes to submissions@opennetcf.org.

ctacke (Expert):
Q: No, I mean, in developing it. Sure, we can send bug fixes, but am talking about developing also. How can we do that?
A: Depends on the level of development. You can send submissions for smaller scale stuff. For larger scale stuff, or work across a larger area contact me and we can discuss direct Vault access.

DanielMoth_MVP (Expert):
Q: Are there managed API for WM2003 that’s not part of CF 1.0 (Like WM5.0 APIs)?
A: No. But you can obtain a set of equivalents form In The Hand. Peter Foot has the details on his blog.

ctacke (Expert):
Q: I see significant changes for designer support for CF custom controls but was unable to find helpful documentation. Can you shed some light on it?
A: There was a webcast on it about 2 weeks ago and there is some documentation online. An article is in the works outlining the process.

DanielMoth_MVP (Expert):
Q: I see significant changes for designer support for CF custom controls but was unable to find helpful documentation. Can you shed some light on it?
A: The article is here: https://symbian.sys-con.com/read/113332_3.htm

DanielMoth_MVP (Expert):
Q: I have read that article. But I'd like to see how to integrate custom UIType editors, designers, bitmap images.
A: I suggest you go watch the recorded webcast. It was mentioned on this blog: https://blogs.msdn.com/vsdteam/archive/2005/06/16/429894.aspx (you'll find links to webcasts from there)

PeterFoot_MVP (Expert):
Q: Theorize on the future of Bluetooth, and if a large amount of time and money invested into the development of technologies that can utilize Bluetooth networking would be worthwhile
A: One of the problems with Bluetooth development with Windows CE (and I guess Windows Mobile specifically) is that there are multiple software stacks which very different APIs, this makes it difficult to target all devices. However once you've got the basics in place Bluetooth can offer some exciting possibilities for exchanging data both for games as well as serious applications - see https://www.peterfoot.net/Bluetoothv14.aspx for the current .NETCF wrapper around the MS stack

NeilC_MVP (Expert):
Q: So what's the plan for the SDF once NetCF 2.0 comes out? I understand that it'll still be there for NetCF 1.0, but will there be a new version or something for NetCF 2.0?
A: There is definitely a future for the SDF once .NET CF 2.0 is out. VS 2005 supports both CF 1.0 and 2.0, and so will the SDF. All this will be integrated right into the IDE and no doubt there'll be a few surprises thrown in to

mikefos_msft (Moderator):
Q: Hello can I ask about MSN Messenger? I need help
A: As mentioned earlier, for MSN Messenger questions, the Windows XP Expert Zone is probably the right place. https://www.microsoft.com/windowsxp/expertzone/default.mspx The MSDN Chat room is typically for developer-related questions (such as today's .NET Compact Framework chat)

AlexFeinmanMVP (Expert):
Q: Does GAPI support VGA screen resolution?
A: I don't believe there is any sort of inherent screen size limitation in GAPI. It simply gets you access to the video memory as a linear buffer. So, you should not have any new issues on the high-resolution devices

PeterFoot_MVP (Expert):
Q: Can you describe shortly what the "ApplicationBlocks" in SDF are?
A: The Application Blocks are a subset of the Microsoft Patterns and Practices blocks (https://msdn.microsoft.com/practices/) which have been ported to work with .NETCF. These include the Exception Management, Data Access, Caching and Smart Client blocks

DanielMoth_MVP (Expert):
Q: What changes, that aren't behind the scenes, from 1.0 to 2.0 CF will have the greatest impact for developers?
A: Far too many to describe. Performance, productivity through VSD, generics at the language level, parity with desktop on most APIs... Which area are you interested in most?

DanielMoth_MVP (Expert):
Q: Daniel, parity with desktop is of most concern to me.
A: An example in that area is the resx files are now compatible. I found when I opened my projects that are shared between both platforms, I could remove a lot of conditional compilation paths and merge them into one (if that makes sense). Try it with your projects.

PeterFoot_MVP (Expert):
Q: Are there WM5.0 devices on the market at this moment? If not, do you have any ideas when they will arrive?
A: Not at the moment, there haven't been any formal announcements by any manufacturers on release dates, so keep an eye on the news sites...

KGrey_MSFT (Expert):
Q: Are there WM5.0 devices on the market at this moment? If not, do you have any ideas when they will arrive?
A: No devices at the moment. They will likely hit the market around November.

ctacke (Expert):
Q: So the CF 2.0 can be compiled from command line. Does this also include the APIs in WM5.0 SDK?
A: Yes

PeterFoot_MVP (Expert):
Q: So the CF 2.0 can be compiled from command line. Does this also include the APIs in WM5.0 SDK?
A: I think from recollection that the WM 5.0 SDK installer requires VS2005 to be installed on your machine, but as long as you can get hold of the design time references for the WM 5.0 APIs (which the SDK installs) you could build these from the command line

DanielMoth_MVP (Expert):
Q: FYI, I know very little about CF and programming for mobile devices, but its part of a feasibility study report that will be conducted soon regarding my project here at the FAA.
A: For sharing code between both platforms start here: https://www.danielmoth.com/Blog/2004/09/share-code-if-fullframe_17.html For any problems you can use the new forums or use the netcf newsgroup archives. For more on what's new see this: https://msdn2.microsoft.com/library/ws1c3xeh.aspx

DanielMoth_MVP (Expert):
Q: Where can I find more information regarding porting existing windows app (fx 1.1) code for use with the CF 2.0, specifically pitfalls to be cautious of and what kind code will not migrate?
A: See my previous reply and specifically the link to my blog entry.

DanielMoth_MVP (Expert):
Q: What's new in CF 2005?
A: See my previous reply with URLs. Which area are you most interested in?

DanielMoth_MVP (Expert):
Q: Does all the remote tools from eVC exist in VS2005?
A: Some of them exist from the Start->Program Files menu (under VS). So they are there but not integrated in the IDE....

ctacke (Expert):
Q: Hey....do you guys have any information about the real-time capabilities of the .NETCF?
A: Sure. While managed code is inherently nondeterministic, there are ways around it. It's possible to get deterministic behavior with latencies on par with unmanaged code.

PeterFoot_MVP (Expert):
Q: Is it possible to build native WM5.0 application without VS2005?
A: VS2005 is the only supported tool for native WM5.0 development. While you can develop for raw CE 5.0 with eVC++ 4.0 there isn't support for WM 5.0. Also VS2005 is a pre-requisite for the WM 5.0 SDK to install

ctacke (Expert):
Q: Are there any known limitations in the Device Emulator? I seems to run most applications just fine.
A: The clock is terrible, so don't use it for anything that you need time measurements on

PeterFoot_MVP (Expert):
Q: Are there any known limitations in the Device Emulator? It seems to run most applications just fine.
A: The new emulator in VS2005 is ARM based so will run a lot of software which is built for "real" devices. The areas where the emulator is limited are performance - you still won't get the performance of a real device, and hardware support - you can map COM ports which is useful but if you are working with other hardware whether it be Bluetooth, barcode readers etc then you'll need to debug on a real device

jimsup_MSFT (Expert):
Q: Are there any known limitations in the Device Emulator? It seems to run most applications just fine.
A: Something of a minor gotcha when working with the device emulator. It pulls the correct date/time from you system however it does not set the Daylight savings time correctly which means the OS believes it is operating in Standard time. DateTime.Now will result in a time that is one hour off.

PeterFoot_MVP (Expert):
Q: I've heard about some security related limitations in Active Sync 4.0. Can you tell me something about it?
A: Yes, the ability to sync over WiFi was removed for AS 4.0 due to security concerns, whether it will be re-implemented in a future update is anyone’s guess right now...

ctacke (Expert):
Q: What is the current job market prediction for mobile developers on the CF platform (another question that will come up on the feasibility study)? Thought I would ask you since you are all experts in the field.
A: I see it as in its infancy. There are a lot more openings today than when I started, and I think it's still very small compared to what it will be as mobile and embedded devices become more ubiquitous.

PaulT_MVP (Expert):
Q: Can I write an application in C++ to run on Win CE? I already have Win Ce ver 5.0.1400. My application uses to test LCD touch screen.
A: Yes, you can use eMbedded Visual C++ 4.0 SP4 (don't forget to get the Service Pack 4 from www.microsoft.com/downloads), along with the SDK generated for the Windows CE 5 device by the device manufacturer to do that.

KGrey_MSFT (Expert):
Q: What is the current job market prediction for mobile developers on the CF platform (another question that will come up on the feasibility study)? Thought I would ask you since you are all experts in the field.
A: I can't give you numbers on predictions, but you can use several metrics that are likely at your disposal to determine this. A good one would be attendance at MEDC '04 versus '05

PeterFoot_MVP (Expert):
Q: The GPS API in WM5.0 seems to connect to a predetermined COM-port. Do you have to make some registry setting to make sure it connects to the right COM-port?
A: Yes, you can setup the hardware port through the registry (or through the Settings applet). The details for this are available in the online documentation at msdn.microsoft.com/library but these topics were missing from the help file which is installed with the SDK

PeterFoot_MVP (Expert):
Q: Are there WM5.0 devices on the market at this moment? If not, do you have any ideas when they will arrive?
A: None on the market at the moment, best guess is November

DanielMoth_MVP (Expert):
Q: What is the current job market prediction for mobile developers on the CF platform (another question that will come up on the feasibility study)? Thought I would ask you since you are all experts in the field.
A: Some numbers that you can use: netcf newsgroup ~500 posts per week (2nd most active newsgroup). >600000 downloads of service packs alone for v1.0.

KGrey_MSFT (Expert):
Q: The State And notification API seems to be very interesting. Is it accessible from both native and managed?
A: Yes

PeterFoot_MVP (Expert):
Q: The State And notification API seems to be very interesting. Is it accessible from both native and managed?
A: The State and Notifications API works by publishing state to a particular location in the registry. And because CE 5.0 brings support for volatile keys which you can get notified on changes, you get events support from native APIs as well as through the managed interface. The location of the standard properties is documented in the snapi.h header file - and of course you can publish your own properties in the same way

PeterFoot_MVP (Expert):
Q: I think its a bit confusing with what development tools you have to use for different versions of Windows Mobile and .CF. Is there a good table/description on the web showing this?
A: See here: https://blogs.msdn.com/windowsmobile/archive/2005/06/02/424382.aspx

AlexYakhnin_MVP (Expert):
Q: What component or solution is available to avoid database driver requirements for smart client applications? I’m specificall, looking for smart client code to access a data object on a remote machine that will access the database, thus avoiding possible MDAC
A: If it's a Smart Client, you can put Web Services in the middle.

PaulT_MVP (Expert):
Q: Can any experts comment on performance optimization of the Win CE.NET on ARMV and the latest Intel PXa architecture code base?
A: Are you looking for "how do I optimize the performance of the OS for this?" or "how do I optimize my application's performance on this processor?"

ctacke (Expert):
Q: Can any experts comment on performance optimization of the Win CE.NET on ARMV and the latest Intel PXa architecture code base?
A: Is there a specific area you're interested in?

ctacke (Expert):
Q: Do you know if WM5.0 is a faster platform than WM2003SE? Is WCE5.0 more effective than WCE4.2?
A: "Effective" is pretty broad. In general 5.0 tends to be more deterministic than 4.2.

AlexYakhnin_MVP (Expert):
Q: Do you know if WM5.0 is a faster platform than WM2003SE? Is WCE5.0 more effective than WCE4.2?
A: There're a few changes in many areas affecting performance. RAM vs ROM specifically.

ctacke (Expert):
Q: We have been developing a CE.NET app on ARMV arch. but since the newer Intel chip, performance is really slow!
A: Sounds like a BSP problem. In general the 27x is significantly faster than the 25x

DanielMoth_MVP (Expert):
Q: What is CE in Win CE mean?
A: Nothing.

DanielMoth_MVP (Expert):
Q: someone mentioned that MS is not going to care about that and leave that to the Vendors to optimize on their platform.
A: Don't believe them.

DanielMoth_MVP (Expert):
Q: Does the new SQL Mobile CE support concurrent access?
A: You mean multiple connections to it at the same time? Yes.

mikefos_msft (Moderator):
Thank you for joining us today for our chat today and a special thank you to our experts today. We welcome any feedback about this chat. Please forward comments, suggestions or any other feedback to me (mikefos@microsoft.com)! Any complaints can go to ctacke ;-)

We’ll see you again soon!

Top of Page Top of Page