I am a London-based technical architect. Over the years I have built a lot of cool stuff such as web sites and services, rich applications for mobile and multi-screen, systems integrations and middleware.

I like writing about good software design, interesting technology and pragmatic development process.

Automating Adobe Air builds using Ant and Flex

The Flex SDK does contain some support for build scripting with Apache Ant. However, as with all automated build management, some script hacking is required to get a smooth automated build working for an AIR application.

Posted on February 23rd, 2011. Filed under Development process, Multi-screen.

Estimation pitfalls: Why software development estimates are so difficult

Estimates are, in essence, a kind of crystal ball gazing. You are making a series of educated guesses about how long something will take whilst often being hampered by imperfect understanding and squeezed by commercial pressures.

Posted on February 3rd, 2011. Filed under ASP.NET, C#, Development process.

Surface 2.0 – Microsoft have gone back to the drawing board.

Touch-based devices have gone truly mainstream in the few years since Surface first emerged. No wonder Microsoft have taken a totally different approach to Surface 2.0.

Posted on January 6th, 2011. Filed under Multi-screen.

Exception safety in C# – more than just trying and catching

I’m surprised how often exceptions can be a source of bugs. Not just bugs, but nasty, impossible to find bugs that can have maintenance teams chasing their tails for days on end.

Posted on December 12th, 2010. Filed under C#.

ORM wars: Comparing nHibernate, LINQ To SQL & the Entity Framework

Ted Neward described ORM as the “vietnam of computer science” in that it’s a quagmire that starts well, gets more complicated as time passes and ends up as an open-ended commitment with poorly-defined goals and no clear exit strategy.

Posted on November 10th, 2010. Filed under Architecture, C#, SQL Server.

How to write useful .NET and C# coding standards

Coding standards are one of those documents that managers often feel obliged to produce, so they are frequently written without any clear sense of purpose. A number of different motives can inspire coding standards – not all of them very positive.

Posted on October 15th, 2010. Filed under ASP.NET, C#.

Using Google Mini as an EPiServer search solution

Google Mini can provide a low-cost alternative to Lucene-based searching in EPiServer. Although its text-based search is simple and powerful, the devil, as ever, is in the detail.

Posted on September 3rd, 2010. Filed under ASP.NET, EPiServer, SEO.

Does a scoring methodology help or hinder CMS selection?

Scoring methodologies are often used in CMS procurement to provide transparency, but in reality they don’t offer much more than the illusion of a structured process.

Posted on August 11th, 2010. Filed under CMS, Strategy.