Friday, July 23, 2004

.NET Compact Framework...

... and its frellin' mother.

My new project, on which I'm inmersed since last Monday, it's a testing to convince a potential client that the things they want to do with a PDA can be done.

And I'm beginning to feel really unsure about it.

Our client wants to use several PDAs just like the SWATs used their M-16s: they were in a file to enter their van and grabbing an M-16 each, without choosing it. I mean no PDA will belong to any of the users, anyone of them could use any of the machines.

When one of the users has grabbed a PDA, he must make a login against a WLAN domain, stating his username and password (and domain name), just the same he'd do if he was sitting in front of a desktop.

Quite beautiful, ain't it? But it clashes frontally against the design philosophy of a PDA: this machines are thought to be single-user. That's why you have the network identification located in the same dialog box as the PDA owner identification, under Control Panel, on a Windows CE OS. One's supposed to set hose settings when the PDA is bougth, and not changing them again; or very rarely if so.

To make a long story short, I have to program a little form that allows a user to log against a WLAN domain; stating domain name, user name and password.

And I'm blocked.

I've been hitting my desk with my forehead since last Monday, and it's starting to crack (the desk, not my forehead). I'm joyfully discovering that neither PDAs nor the .NET Compact Framework are really ready to admit network authentications such as NTLM, Kerberos, or anything. This doesn't mean that the things I want can't be done, this means it's complicated. In other words, I'll have to use APIs with P/Invoke callings.

And the API is, of course, poorly documented. In this particular case, the euphemism means the documentation is a frellin' sh*tload. Just for kicks, I've had to download and install a 120 days license of Microsoft's Platform Builder, each and every one of them 700 Mbs; only to find a single file (netui.h) and finding out the value of certain API constants.

And after all this work, just to make the P/Invoking calls and getting a single, constant reply no matter what one tries or changes: System.NotSupportedException. Translating that to standard it means more or less: "This application has crashed but I'm not going to tell you way, and get the frell out".

I quit. I'm gonna become a farmer, as Luke.


Post a Comment

<< Home