Posts
288
Comments
25
Trackbacks
207
September 2006 Entries
The modern age comes to middle England

At long last Alex Homer has brought himself into the 21st century by supplying an RSS feed for his diary entries. I can't call it a blog as he still uses metal letters arranged in a rack, with a room full of monks to transcribe it from "Derbyshire Yokel" into English, but at least we can now keep in touch with his latest exploits.

posted @ Saturday, September 30, 2006 11:15 PM | Feedback (2)
Software is dumb

This happens in many applications, but I just happened to have hit it again in Visual Studio 2005; the fact that it's really dumb about file dialogs. I've just added an existing XML file to a Web project and I then create a schema. Upon saving the schema it doesn't remember where it last opened up, just reverting to its standard Projects folder. Doesn't this seem dumb to you? Why doesn't it have the intelligence to a) offer me the same folder, or b) offer me the current project folder. It's a web project, so common sense dictates that I'd be saving the file within the same project. Instead I have to nagivate back to the project folder again.

This doesn't just affect single applications; I'd really like the OS to be smart about this. For example, when working on a project I'm often dealing with files from different applications: Web projects, databases, documents, spreadsheets and so on. Each application has its own defaults and settings for storage, but there's no connection between them. Since dialogs are system wide, wouldn't it be nice to have a project mode, where all dialogs start at the same point - the main poject folder. I know you can change the folders in some dialogs using TweakUI, but for me it doesn't go far enough.

What would be great would be to integrate this with time tracking systems. A tray application that allows you to define projects (and their associated base folders) and mark time spent on a project. Not just integrated applications, but applications that work together.

Listening to Shake, Rattle and Roll by Mark Lamarr.

posted @ Friday, September 22, 2006 4:02 PM | Feedback (0)
Beginning AJAX with ASP.NET

Wally sent me a copy of Beginning Ajax with ASP.NET (and why is Ajax proper cased, not all in caps?) and I've been flicking through it and have skimmed the first few chapters. I've already learnt things, which was a surprise to me, but then I've not really looked at the object/prototyping stuff in Javascript and it's way more powerful than I though. I really like the first three chapters, they give a really good introduction to Javascript and the DOM and will be useful to ASP.NET developers - both 1.1 and 2.0 - who haven't looked at any client-side programming.

Chapter 4 takes a look at XMLHttpRequest, which is a 2.0 feature. While most Ajax development will use some sort of framework, it's actually worth learning this stuff so that you understand how asynchronous, client-driven development works.

Chapter 5 covers XML, XSLT (ick) and JSON. While XML is fundamental, XSLT less so. JSON however is important to learn and is used by lots of Ajax frameworks; I was a bit non-plussed when I first saw JSON declarations.

Chapter 6 looks at ASP.NET and what sort of asynchronous ability the existing controls have. For example controls such as the TreeView already support asynchronous loading of data. This chapter also looks at how ASP.NET pages can handle tasks asynchronously (some good diagrams make this clear).

Chaters 7-12 take a look at some of the Ajax frameworks, including Atlas. This is the area of the book that's going to have the least longevity as these frameworks change requenctly. This is especially true of Atlas, which is still in technical preview and about to see some major structural changes. It's a good overview of the various frameworks and gives an idea of their capabilities, which would be useful if you are starting a new project.

Chapter 12 is a really important chapter and like all debugging ones, always gets left to the end. I've been guilty of this in the past and in some ways this is wrong - we should put this near the front so that readers know how to do debugging as they work through the rest of the book. That aside, debugging client-side has always been, err, interesting. This chapter gives a great set of steps to show how to debug in the client and the server, both essential when using asynchronous technologies.

The single Amazon review for this book is, I think, a little harsh; not bad, but critical enough that it may put some people off. This is a beginning book and as such will give readers a good understanding of the basics of Ajax style development. It may not stand the test of time, but then the technologies are changing rapidly; the essential understanding of the technologies won't change though. It's not very long book, nor is it expensive and if you've never looked at any of these technologies before it's worth a read.

Listening to No Wheels Blues by Chris Rea from the album Blue Guitars Disc 5

posted @ Wednesday, September 20, 2006 11:37 AM | Feedback (2)
Web Site Dumbness

I've just tried to renew my membership to the Microsoft Parnter Program, but been halted by an overly-restrictive website. The renewal process has a section asking for your VAT number, indicating that certain EU countries are exempt from VAT on this. My VAT was issued in Scotland (my company is Scottish registered, as I was living in Edinburgh when I set it up); the website however, says that  the VAT Number entered is "not a valid VAT Number for my billing country", which is true. But why must my VAT Number be English to be billed to an English address? Unless Scotland has completely split away from England (I suspect many Scots would like it to, but that's an entirely different matter) then we still have the same monetary system.

The lesson here is not to assume countries are distinct; the UK needs to be treated as a single entity sometimes.

posted @ Tuesday, September 19, 2006 8:46 AM | Feedback (0)
SiteMapPath and Urls with Spaces

Here's an interesting bug, found by Phil. If you have a siteMapNode with a space as part of the QueryString, the node won't get rendered in the SiteMapPath. It's not actually a bug in the SiteMapPath, but in the provider and only affects QueryString arguments, not the page name. It also only affects the node if it's a leaf node, so if it has children you're fine.

Listening to Come Clean by Splendid from the album Have You Got a Name for It

posted @ Friday, September 15, 2006 4:39 PM | Feedback (2)
Microformats Server Controls

Plip and I both started on this simultaneously, luckily on different controls. We've combined our efforts and last night I uploaded the first, rather raw implementation of three server controls that emit Microformat markup: hCard, hCalendar and hReview. There is a fair way before we can mark this as a release, but it's a start; plenty of issues to keep us going in our copious spare time.

We're using CodePlex for the project, so take a look at the code if you want and add to the forums with ideas and comments.

posted @ Wednesday, September 13, 2006 9:47 AM | Feedback (-17)
Shelf Stacking Gone Mad

I was in B&Q this afternoon, looking for a tester pot of paint and discovered how incredibly stupid their system is. It used to be that all of the Dulux paint was in one aisle, the Crown stuff in another and so on. But now they've grouped things together, so I spent 10 minutes trying to find the an entire range of Dulux paints. In a very unmanly manner I actually asked or help, to be told "that's two rows over sir". So instead of going to a single place to find all of the colours from one manufacturer, I now have to walk along all of the aisles; there's no indication of which ranges are in which aisles, so it's pretty much a guess situation, especially as there also seems to be little logic applied. I was after one of the natural range, which is alongside all of the white paint, while the off-whites and hints of whites are in another aisle.

We all know I'm a grumpy old man, but did anyone at B&Q actually try and think like a customer? And while we're on the subject, when is Tesco's going to finish its building work; I can't find a bloody thing in there.

posted @ Tuesday, September 12, 2006 4:58 PM | Feedback (-19)
What's up with Microsoft Connect?

So what's up with with Microsoft Connect? I couldn't get in at all yesterday, nor today. I just get timeouts, as does Alex. Plip seems to be able to get to it though. Anyone else having trouble?

posted @ Monday, September 11, 2006 12:58 PM | Feedback (0)
d.Construct deconstructed

Last week I headed down to Brighton for d.Construct, a conference I'd not normally attend. It was Phil's suggestion and I'm glad I went, for a couple of reasons (not including the good company, beer and Chinese/Indian food). First it's good to actually attend a conference where I can watch all of the sessions, rather than presenting, preparing to present, or networking / having meetings. The second reason was the content - sort of Web 2.0 based, but not completely; less hype and some interesting topics. It's made me think about things I wouldn't normally think about, which is good; too often we in the ASP.NET server space get stuck in our existing way of doing things.

One topic of interest was Microformats - a simple way of marking up things like contact or appointment details. In reality I don't see much happening with microformats since there is no intrinsic browser support for the rendering of them; there are plug-ins, but that means you have to pro-actively know about the formats before you can see them. Still, from small acorns etc. To that extent both Phil & I have started writing ASP.NET server controls that can output hCalendar and hCard markup; if the support is there at the control level, then maybe they'll get used more, even if the user experience of them isn't available yet.

I you want to find more about d.Construct, then Phil's blog has a review and links to Photos, plus a much longer review. There are also some videos available if you want to catch up.

posted @ Monday, September 11, 2006 11:15 AM | Feedback (-17)