Wandering in the land of .NET
Thursday, April 22, 2004
 
Mouse Gestures for Windows
StrokeIt is a fantastic free piece of software that I just found: It allows mouse gestures in all of your Windows applications.

If you've never tried Mouse Gestures, you are really missing out. Essentially you hold down the right mouse button, draw a shape on screen, and "some action" happens depending on how you configure it.

It's great for UI-intensive tasks, such as designing orchestrations or web browsing, as you can quickly and easily close windows/run explorer and so on without needing to either aim at small screen icons or have a hand permanently at the keyboard, freeing it up for other handy things such as holding a cup of tea while you work.

Current favourite gesture (I could make this a feature?) are drawing "E" for explorer and "C" for close window :-)

Download it now!
Comments-[ comments.]
Tuesday, April 20, 2004
 
Tickling the Scobleizer
Ever given anyone a good soul tickling?

Now's your chance. Anyone interested in reading one of the best bloggers in Microsoft should check out The Scobleizer's blog which manages to be both content-rich and a highly entertaining read.
Comments-[ comments.]
 
User Interface Process (UIP) Application Block - Version 2.0
Microsoft have released the User Interface Process (UIP) Application Block Version 2. This application block lets you separate out your UI code from your UI navigation code by using a config-driven navigation/workflow system.

I've been using version 1 quite extensively on a project in my day job, and an in-house framework that was pretty similar at my previous company and I recommend you take a look at it if you have any kind of halfway-complex or repeating navigation/workflow.

One caveat - the back button support isn't quite as good in v2 as it could be. V1 had some serious issues with the back button for which I released a fix on the Got Dot Net community workspace. Having had a quick glance at the v2 source, I'm pleased to see that it looks like they've fixed one of my biggest gripes - namely that an out of order post back used the wrong controller - however three key issues are still present:

- You can't use the same ASP.NET page as the basis for multiple views
- Out-of-order postbacks of the same ASP.NET page are not detected as being an out of order postback
- Out-of-order postbacks (when detected and explicitly allowed) are potentially sent to the wrong nav graph.

In detail, it detects back-button usage by comparing the System.Type of the posted back page with the System.Type of the most-recently-rendered page and uses this to figure out the page's view name. This is where we hit the first issue: You can't have multiple views defined with the same underlying page. I use this scenario quite extensively when I want to have a common page which renders subtly differently in different contexts - for example on a customer details screen the page checks if it's the "new customer details", or the "amend customer details" view, and adjusts itself accordingly. Yes, I could infer this from the NavGraph but then the UI code becomes aware of the navigation, instead of only caring about its own state.

Secondly, the post back is handled by the most recent navgraph. Hence if your view is used in multiple navigation graphs (eg the 'new customer' and the 'amend details' nav graphs) then you're going to suddenly launch into the wrong navgraph if you use the 'back' button to get to a view used in an old navgraph. The UIP block does check that the view exists in the current nav graph, which seems to me to be a half hearted compromise. If you are doing context-sensitive navigation - for example by having a 'next' button for new customer but an 'update' button for amendments then Stuff will still break.

Finally, and as should be obvious from the above, the system can't detect that you're an out of order postback when you use the back button and post back a page of the same System.Type as the most recently rendered page.

So all in all the V2 release is better than the V1 release in terms of back button support, but still leaves a lot to be desired for my particular scenario. I'll try to get an enhanced back button support release together for V2 as soon as I can.
Comments-[ comments.]
Thursday, April 08, 2004
 
Google's Secret Sauce
Aaron Skonnard's* blog has a fascinating link to an article about Google and their server architecture. Can they really have 100,000 servers? Wow... The story is well worth a read for any tecchie.

* I once was lucky enough to get taught a Developmentor XML course by Aaron, he's a great guy. I didn't quite appreciate how high profile he was at the time, shame, but I did tell him about this 'typical British humour' page. With hindsight, "Oh, the shame!"
Comments-[ comments.]
Tuesday, April 06, 2004
 
The Register
Urk! What a hatchet job on The Register's layout. I'm sure it'll grow on me in time...
Comments-[ comments.]
 
BizTalk Server 2004 Documentation Online
Sweet - the BizTalk Server 2004 updated documentation is available online.
Comments-[ comments.]
Monday, April 05, 2004
 
Merge Modules and Web Project Installer
It seems that if you include a Merge Module in an ASP.NET Web Installer project and leave the Module Retargettable property on the default setting of 'bin', you will get a Windows Installer Error 1606 "Could not access network location \bin" when you try to uninstall or upgrade the package.

To ensure you don't get this problem:
Highlight the merge module in your installer project
Expand the 'Merge Module Properties' node in your properties window
Change the 'Module Retargetable Folder' from 'bin' to '(Default)'

Now your web apps should roll on and roll off.

If you have already deployed your application with this broken method and are having problems you can butcher the registry to remove Windows Installer's knowledge of the package. You can Google for the "proper" way to do this - my solution was removing some registry keys under HKLM\Software\Microsoft\Windows\CurrentVersion\[Uninstall|Installer].

Disclaimer: If you hack about with your registry, you may well break your system. Of course you *are* using VMs for testing your install, right?
Comments-[ comments.]
 
BizTalk Server 2004 Rollup Package 1
Microsoft have released BizTalk Server 2004 Rollup Package 1 - it's good to see a relatively quick release to address some of the problems even if it's questionable that some of them ever made it into a release product...
Comments-[ comments.]
Friday, April 02, 2004
 
BizTalk 2004 Documentation and other goodies
When they said that the BTS2004 documentation would be available on the 2nd, I assumed they meant 23:59 PST, but no it's with us now! Thanks to Jan Tielen's excellent blog for the heads-up (specifically this post).

The documentation is here.
Comments-[ comments.]
Tuesday, March 30, 2004
 
Orchestration naming conventions
Scott Colestock's blog has a good post on the subject of Orchestrations, some interesting non-development ways to use them, and a reasonable set of naming conventions.

Well worth a read.
Comments-[ comments.]

Powered by Blogger