Dallas, June 4, 2003 – One of the coolest devices around right now is the Tablet PC. According to Frank Gocinski, Microsoft’s ISV Manager for the Tablet PC Platform Group, it is the most powerful smart client ever. He believes that the Tablet PC will replace the notebook in a couple of years. The device is the ultimate fusion of hardware and software. The two simply can not be separated from each other. There have been attempts before, like PenOS and Apple’s Newton, but this time it is going to work because of the ability to work closely with hardware manufacturers. The out of the box experience is incredible, mainly thanks to digital ink. Using digital ink it is possible to collect and store pen strokes in an efficient vector format. It is possible to keep notes in handwriting, so no conversion to text is is necessary. The demo that Gocinski gave was incredible, ink is very fast. It is also cool to see how ink integrates with text, even when using explorer it is possible to get a list of files, some filenames in text, some in ink, but all correctly sorted. In the future, individual handwriting will be recognized even better because it will become self-learning.

It is also remarkable how amazingly simple it is to create applications, specific for the Tablet PC that support inking capabilities. The Tablet PC SDK is downloadable and it exposes a number of COM objects. Especially when writing managed applications, making use of the COM interoperability capabilities of .NET, Tablet PC specific features are extremely simple to implement. For instance, this sample is all that is needed to enable ink with the InkCollector:
 Doug Boling talked about interoperability between managed code and unmanaged code. The first question he answered was why we actually need this. The reason is simple, the .NET Compact Framework is a subset of the full blown .NET framework and certainly in its first release not everything is supported what developers need. Especially for Windows CE devices that have custom hardware that needs to be accessed by software, interoperability will always be necessary (e.g. to read information from a barcode scanner). The possibilities for interoperability for Windows CE are somewhat limited. Not all data types can be passed to unmanaged code and ActiveX controls are not supported. To overcome this limitation, Odyssey Software has created a solution. Boling warned the audience not to move to quickly to calling native code. Even though a subset, the .NET Compact Framework is extremely rich, so don’t P/Invoke unless it is absolutely necessary. Boling said that performance is no reason for P/Invoke, because the .NET Compact Framework is surprisingly well performing. A great advice that Boling had is to avoid calling a self written native DLL, because you have to support it for each individual processor that is supported by Windows CE, and that just eliminates the beauty of managed applications, platform independence. A good explanation of P/Invoke can be found on MSDN. |