Thursday, September 08, 2005

I've used this construct in many of my talks. Usually i refer to the "Default namespace" within an XML instance document and XPath queries problem. I am more and more convinced this is a general, and very underestimated, problem.

 

So, what's the issue? you might ask. Defaults are there for productivity and help with 'the initial learning curve'. But I'm starting to believe most 'defaults' are causing more harm than good.

 

The main reason of this more 'harm than good' is the tendency within these 'defaults providing applications or toolkits' to hide to much. By providing defaults in configuration settings, users of that system do no longer 'feel the need' to configure. They'll just use "the default".

 

Here is where we can make a separation between "probably bad" and "probably good". Noticed the use of "system" and "toolkit" in the previous paragraph? That’s one of our hints for, how we get to determine where a default could be good or bad.

 

Let me put forth this statement and try to elleborate:

 

Defaults are only good if used for non critical variables, they do more harm than good in any critical variable!

 

The main reason for providing defaults is productivity. Instead of having to go through specific instructions, configuration storages (file, registry, environment variables) and 'experience through time', defaults are intended to remove these learning curves and allow the system to operate according to accepted parameters.

 

The problem today is; What are the accepted parameters?

 

By having the vendor of the system 'choose for you' what these parameters are, we are totally at the mercy of this vendor’s insight. Recognizing this thread, most systems now come with multiple defaults. This brings back some of the 'choice power' to you, but its still not enough.

 

In most cases the defaults cover 'everything', but never 'your thing'. You will have to tweak the configuration defaults and learn how to do that. Skipping this 'learn how to' is usualy even forced from outside factors like 'time to market' and 'strategic board decisions'. Wizards have been created to help ‘skip learning this’ and press “next, next, next, finish”.

 

Some examples of defaults causing issues:

  • (allmost all) WebServices toolkits defaults promote the RPC approach
    Although the toolkits provide message based approaches, it is hidden by all defaults.
  • Default namespace usage in XML is still the cause of many issues
    This might be considered an XML-XSD-XPath specification/implementation issue, a 'non-experienced' user issue, but the fact remains that the default namespace is causing much confusion.
  • Default logfile locations cause security issues or break a system.
    Having a logfile point to "C:\Temp\MyLogFile.log" today is dangerous. The "Temp" directory might not exist, or have access rights protection.

All of the above mentioned 'defaults' where critical to the core functionality of the system.

 

 

Some examples of defaults being useful:

  • End user input.
    Users hate to 'repeat steps'. The less repetition, the better. Having defaults filled in and modifying a few is easier than filling them all in.
  • Editor assisted functionalities.
    Editors are for creation and manipulation of content, not for the system maintaining the content. Content that is not considered critical from a system point of view.

All of the above mentioned 'default' where non-critical to the core functionality of the system.

 

 

One remark often made against this reasoning is; "But the user should have known better!". To a certain extend i agree, but lets not hide this fact from them then! Lets force them to 'do this configuration & maintenance stuff' instead of hiding behind 'these same defaults that the users should have known about'.

 

So, what’s my default behavior? It’s pretty straight forwards and I like to call it the ‘common sense’ approach;

 

Reevaluate the weight of the variable for which the default is intended. If there’s any way this default could cause serious issues, side-effect or even break the system: Do not use a default! Document it clearly and force it as step of the configuration process. Make defaults them self configurable!

 

 

 

 

P.s. Of course I’m all for the creation of great configuration tools! With defaults to the max! But those are the defaults for the configuration editing tool, not the system for which the configuration is being edited. (did that make sense?)
9/8/2005 9:01:27 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [3]Trackback
 Wednesday, August 31, 2005

I already notified you of the upcomming Biztalk 2006 @ Microsoft. I'm happy to announce the European version is now also planned and availalbe for registration.

Schedule date is November 2005 in London!

Hope to see you all there.

 

8/31/2005 3:45:04 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [3]Trackback
 Tuesday, August 30, 2005

Happily surprised, i found the 'WinFS Beta 1' to be available on MSDN subscribers as of yesterday.

The WinFS team blog is also up to relay info.

New stuff... New stuff... New Stuff.... :)

 

8/30/2005 10:41:50 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [5]Trackback
 Monday, August 29, 2005

I just love some artistic freedom in a message or two.

 

* Thanks too Kyle wuolle from the microsoft biztalk newgroups for sharing this with us.

8/29/2005 11:49:31 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4]Trackback
 Friday, August 19, 2005

I've now come across several issues, like the BizTalk service restarting all the time or not being able to run configureFramework.exe correctly.

After some searching & spelunking(tm) I've found the NT Eventlog to be the culprit!

As we all know Biztalk dumps tremendous amounts of logging information into the NT Eventlog. In certain circumstances (like configuring & un-configuring a number of times) the eventlog might run into its configured limit. When this happens Biztalk kind of chokes.

The error of not being able to write to the eventlog, is being written to the NT eventlog.

Ehhh.. anyone got a problem with that?

Just remember to set up your development system using a 'overwrite when needed' configured NT Eventlog

8/19/2005 12:56:22 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [4]Trackback
 Friday, July 29, 2005

With pride I'm happy to announce the upcomming Guerrila (5 days of 12hours coding fun) version of BizTalk. And to go "All the way", we are going to do this with BizTalk 2006, at the Microsoft campus.

Be sure to visit the place to sign up for this amazing week of indept tech, fun & be the first to work with BT'06.

7/29/2005 2:23:27 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]Trackback

Windows Vista (codename Longhorn) Beta 1 has become available to MSDN (Subscribers), MVP's , etc. etc.

Go get it now!

Ps: It does run in VMWare 4.5 (using XP as guest OS).

7/29/2005 10:19:59 AM (W. Europe Daylight Time, UTC+02:00)  #    Comments [5]Trackback
 Sunday, July 10, 2005

In one of my previous posts i mentioned an idea about using a tool i'de read about, using an RSS feed representing the eventlog. This was based on my thoughts on BizTalks 'report in NT Eventlog' behaviour.

This weekend i was together with a number of my friends and was pointed to a post from Dominick which presented the same link.

I now have to admit to either 'trying to highjack his post' or 'not being up-to-date' with it. I think i'll tell the truth this time and say; it is the latter. Sorry Dom!

Fun part is thinking about how we both thought of the use at almost the same time.

7/10/2005 8:51:30 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [2]Trackback
 Thursday, July 07, 2005

Another shock came today when hearing of the 'explosions in London's tube'. A bus was to follow.

The first thing that springs to mind is family & friends. Having friends living in London, I had to contact them, and hear they where fine. But, the mobile net seems to have been out-capacitated, because i heard lots of people couldn't get through. A number of my UK friends where currently in Amsterdam, at the Microsoft TechEd conference. IM's gave the confirmation none of my direct friends where effected.

That’s when the bigger picture of it all comes into play. Slowly more information was released. Although we still are far from the picture of 'what really happened', it was becoming clear it was an attack and no incident(s). Both the tube and a bus where hit. A number of explosions happened at the same time in different places.

Makes you all stand still for a moment and think about the priorities we set in life, and how we end up in that book.

7/7/2005 10:27:30 PM (W. Europe Daylight Time, UTC+02:00)  #    Comments [0]Trackback