Archive for May 2005

PropertyDescriptor

In the Visual Studio.NET IDE, you may have wondered how the property grid works, especially when the properties show interesting dropdowns, like the colors or a list of dataset fields. It turns out that this all works through the magic of PropertyDescriptors.

I thought it might be nice to re-use this magic in my own forms applications. After all, it has mechanisms for handling captions, field descriptions, multiple styles of entering or shoosing data, etc. Plus, if you do it right, you should be able to re-use the functionality in different editing environments, such as a datagrid.

I’m almost there, but this has been a little bit of a timesink for me. It is complex, and testing can be difficult. Although there is a PropertyGrid control, there is not a control for each item in the property grid. So that had to be coded. Luckily, someone else did the brunt of that work.

My challenge has been in trying to develop a generic control that derives its context from the existing pieces that make up the application. It needs to get captions from one place, and lookup information from another, and type information from another. All of this has to be done in a way that makes it really, really easy for new forms to be developed.

The idea is that screen developers can drop a control onto a form, and then choose from a predefined set of fields. The framework will take care of the correct type of editor for the field, including appropriate lookup lists, or popup dialogs (ala the Font Dialog), and field captions. In this way, we can ensure consistency through all forms. We still have the flexibility of writing code-behind the forms, but we do not have to worry about the small stuff.

In the end, I’m hoping we can ship off screen designs to a separate group, which will not need any coding skills.

Laws of Identity

Someone has finally hit the nail on the head in terms of handling identities. As everyone knows, the current system is very broken, as can be seen from the growth of Phishing, Pharming, etc. So Kim Cameron has published the “Laws of Identity“. Wow.

Best white paper I have seen at Microsoft, ever. It is obvious that some really smart people have been thinking about this problem. As with all laws, we will have to see how they stand the test of time. Personally, I think that these laws or some minor variation will become part of CS101 courses of the future.

If I had to question anything, it would be the medium for publishing the paper. I think it would have been better placed in ACM or IEEE Software, to be able to gain more industry support.

Dream Teams

This article on the characteristics of successful teams is interesting. On the surface, it does not apply much to software development, but the last paragraph caught my attention:

“If your systemic network has teams with only incumbents, and especially incumbents who have worked together repeatedly, your field tends to have low impact scores. The fact that we found this across fields with equally powerful minds suggests that how the brain power of a field is organized into different kinds of networks determines the field’s success.

In Windows development circles, blogging has really taken off. Like never before, there is a huge amount of collaboration and sharing of knowledge, creating this giant community. Tying it together is RSS, allowing people to tune in to the parts of the community that they are interested int. In effect, we have one giant network, with hefty helpings of brainpower.

That can only be a good thing, from a creative perspective.

New Job

Well, same employer, different position at least. My immediate boss is leaving the company, and so I will be attempting to transition into his role of managing the “projects” side of the business. This involves a lot more project management, not to mention sales (mostly just supporting the sales guys).

The position is mine on an interim (8 week) basis. After that, if things go well (or at least don’t fall apart), I expect to be offered the position permanently.

Initially, time management will be very difficult, as I still have commitments to my current client. But, change happens, and I think it is a good move for my career. I am looking forward (with some trepidation) to the challenge.

XSLT power

Last week I had started to write some VB.NET code to import an XML document into a database. I had already designed the XML Schema, based off of the database schema. I was building on some XML import code that another developer had previously created, and it was going well.

Then today, it dawned on me — it should be really simple to write an XSLT to transform the source XML into SQL code. And sure enough, a few hours later, I now have an XSLT to do it! Much simpler than the VB.NET code. Of course, I used a decent XSLT editor, so I did not even have to learn XSLT.