Archive for May, 2005
Not too long ago, I had issues with a flat tyre. Not long after that, I got my car serviced, and my front-tyre fixed properly, only to discover that my tread was wearing low and that I need to get them replaced anyway…
What can you do?
http://www.windowsforms.net has two new samples for developing Smart Client applications (basically applications that use the Web behind the scenes, a cross between a web site and an application with the best of both worlds.)
Unfortunately Microsoft doesn’t seem to be worrying too much that their "Best Practices" don’t match their samples.
- They suggest that communication with the Web Service should be done asynchronously from the User-interface, yet their sample application IssueVision doesn’t.
- They suggest that communication with the Web Service should be secure and authenticated, yet their IssueVision sample sends a clear-text username and password with each web-request.
- They suggest that when developing a smart client, the first point of call is writing the Contracts, or WSDL, and then making the client and server communicate based upon that contract. IssueVision just uses the cheats approach of dumping the entire Database schema down in one DataSet – not scalable or efficient in the slightest.
Just pisses me off that the future of Windows applications is the Smart Client and Microsoft still haven’t given a good example of it working.
Unfortunately to my surprise, System.Xml.XPath.XPathNodeIterator in .NET doesn’t inherit from a standard System.Xml.XmlElement, so the Nodes they iterate over cannot be converted to an XmlNode for use with my common Xml code. How sucky, they actually re-implemented the Node object from scratch, obviously to make it more lightweight. (why they couldn’t have used a lightweight object as the base Element in the first place is beyond me)