Posted by: Matthew | March 16, 2009

Microsoft Blueprints

I stumbled upon Microsoft Blueprints after looking at some sample code from Vertigo. Essentially it is a replacement for the Guidance Automation Extensions (GAX) from the patterns and practices group. GAX was an effort to allow architects to create templates and guidance for frameworks, components and patterns that may be used by a development team –  Blueprints is the next stage in this development.

Using the Visual Studio plugin, you can use what are termed “Blueprints”. A Blueprint contains guidance for a particular task. For example, setting up authentication and authorization on a website could be contained within a blueprint. This could be as simple as a workflow document (termed a readable resource), or it could be that the Blueprint provides a custom tool or template for doing the task (termed an executable resource).

Why bother with this? Well, the main benefit is that you can create your own Blueprints (that can be distributed via RSS feeds). When you work through a few software projects, you start to see the same things needing to be done again and again. Building a Blueprint is not neccessarily trivial, but what you can do is to ‘harvest’ all of the common code between these projects.

Why not just create a common code library? That is a good idea no matter what else you do, but what Blueprints does is allow a delivery of the common code and the documentated guidance as well, all in the one package. A Blueprint can be composed of other Blueprints, so there is a lot of scope to create some complex, task-specific Blueprints quickly.

Is it any good? After high hopes for it, I am a little disappointed overrall. It is quite cumbersome to create your own Blueprints, and the documentation support is quite lacking, which leads to a pretty steep learning curve to get the most out of it. Also, the use of a Blueprint within your project is more intrusive than I would like … it just doesn’t feel friendly. Future versions of Visual Studio are set to include some incarnation of Blueprints, but I think it needs to improve a bit more first.

Posted by: Matthew | November 11, 2008

Extract assembly from the GAC

There are occasions where you may need to grab an assembly that is held in the Global Assembly Cache (GAC), maybe so that you can deploy it as a private application assembly.

Browsing to the GAC using Windows Explorer (C:\Windows\assembly) it uses a special explorer plug-in to display the assembly names and versions. This plug-in does not allow you to extract/copy and paste the assembly.

However, if you browsed to the GAC using a network mapped drive, this plug-in is not enabled! So, by mapping to \\machineName\c$\windows\assembly you’ll now have access to the raw assemblies.

GAC Assemblies

Posted by: Matthew | November 4, 2008

Christchurch Code Camp – Design with Paper Prototypes

The recent Christchurch Code Camp was a huge success – but I could be biased :)

Here are the slides for the lightning talk I did entitled Design with Paper Prototypes. The Powerpoint has speaker notes attached so there should be a rough idea of what I was talking about.

Drop me an email or comment below with any feedback (especially if you were there on the day!).

Posted by: Matthew | November 2, 2008

Microsoft SyncToy 2.0

At the recent Christchurch Codecamp 2008, Mat Veloso mentioned SyncToy as part of his session on “SQL2008 for developers”. It helps you copy, move, rename, and delete files between folders and computers quickly and easily. This is great for backup and for the whole laptop/desktop worker scenarios.

It was originally developed for professional photographers to sync their photos in confidence. It is built using the Microsoft Synchronisation Framework, which in terms of SQL Server, has the same features as Merge Replication. However, what the framework does is to abstract those same features and allow them to be applied to ‘providers’ other than SQL Server. In this case, the provider is the file system! To get an idea how this was developed, take a look at the white paper “Introducing Microsoft Sync Framework: Sync Services for File Systems”.

Well worth a look! Download SyncToy 2.0 from here.

Posted by: Matthew | October 20, 2008

Codecamp 2008 is coming to Christchurch

Mark it in your diaries – Saturday November 1st – Christchurch NZ .NET Code Camp
Location: Trimble, 11, Birmingham Drive. Time: Sat Nov 1, 9.00am – 6.00pm
Price: FREE

To register, go to www.dot.net.nz

One whole day of great technical presentations, including highly rated TechEd speakers Ivan Towlson and Kirk Jackson. Learn about C# 3.0 and SQL Server 2008 from Microsoft NZ (an agenda outline can be found on our website).

The theme this year is about “getting real”. No CTP’s, no beta’s, just practical sessions that will help broaden your technical knowledge. As an added incentive, there are chances to win lots of great prizes including hardware and a MSDN Premium subscription courtesy of Microsoft NZ and over a dozen products from Altova, Codesmith, Component Source, JetBrains and Typemock.

Posted by: Matthew | October 17, 2008

Modelling interaction design with Paper Prototypes

For many development projects, an application’s interface design is deemed to be more about how it looks than how it works. Look and feel is the realm of graphics designers and is important, but most designers will not appreciate how the application needs to deliver information to the user. Considering the needs of the user in this way is where interaction design (how it works) comes into play and is an important step in any application’s development process.

Working on paper is a great way to prototype screen layouts, controls, etc. With paper prototyping,you can get a feel for how the finished product will work without having to write code! You can ‘run’ the paper prototype by showing potential users what happens when they ‘click’ a button: “If you click there, you’ll get this <place next paper mock-up in front of them> dialog box”. You’ll quickly see what works and what doesn’t; what’s important to the user; what user tasks take too long or too many ‘clicks’ (interactions) to do. Because the sketches are simple, your test users will not be distracted by graphical design, and instead concentrate on the task at hand.

For initial ideas, pencil and paper is great, but when it comes to ‘running the prototype’, hand drawn sketches are too time-consuming to make alterations to or to make presentable enough to be effective. Balsamiqis a cost-effective tool ($79USD) to solve this problem. Balsamiq produces screen mock-ups that have the same feel as hand-drawn sketches, which is important for keeping the essence of paper prototyping. Other software tools create realistic looking mock-ups, which actually ends up being distracting in the same way as fancy graphics; the mock-ups look ‘finished’ and real and so the feedback you get from test users is often not on the interaction.

Balsamiq comes with around 60 ‘controls’to help build your mock-ups. If a control is not there that fits your needs, you cannot (currently at least) create your own. However, at the end of the day, if you can express 90% of your design with the tool, then that’s still a huge saving in time and effort! 

Posted by: Matthew | September 7, 2008

Adding a “Add to Favourites” option to your site

Adding an option inviting your audience to “Add this page to their favourites” has obvious benefits. It’s purely one of those convenience things that can improve the uptake of your site, and the easier you make it for them the better.

So how to do it? Well, it takes some javascript, but to ensure that it works across all browsers, is a few lines longer than you may be expecting. The post here from Digital Inspiration has a full example that (with a few tweaks) will work on all browsers.

The crux of it is:

  • For IE use - window.external.AddFavorite(location.href, document.title);
  • For Firefox use – window.sidebar.addPanel(location.href, document.title,”");

So what’s the added benefit of this? With a little extra programming, you can now monitor and log how many people have added your site to their browser bookmarks, something you couldn’t do otherwise. Now that’s a great way to know what’s hot and what’s not, especially on content based sites!

Posted by: Matthew | June 26, 2008

Icann votes to relax domain name restrictions

Icann (Internet Corporation for Assigned Names and Numbers), who regulates top-level domain names (such as ‘.com’ and ‘.nz’), has voted to relax the rules.

From 2009 and for an initial “low 6 figure sum”, you would be able to register your name or company brand as a top-level domain. I can for-see the same mad clamour for names that was seen when domain names were first available. The high cost and the review process managed by Icann should keep things sensible … maybe. In the event of multiple submissions for the same name, an auction to determine the highest bidder is going to be the only way. How many bidders would there be for control of ‘.search’, or ‘.news’? … that could get pricey!

The other relaxation of rules is around the registration of non-Roman characters in domain names. There may be a few technical challenges with handling this, but it’s obviously a great step to making the world wide web accessible to everyone (4.5b people don’t user Roman script!)

Here’s an article from the BBC with more details.

Posted by: Matthew | June 16, 2008

Silverlight Beta 2 available

Silverlight Beta 2 was made available late last week which means that anyone who has written samples or projects with Beta 1 has a bit of work to do. Upgrading my Silverlight Surface sample was pain-free, but that was because the code was fairly simple.

One of the changes made to Beta 2 was the further separation of the Silverlight assemblies. The System.Net assembly now contains the WebClient class (previously in System.Windows) and due to a few other changes, it is often the case that a reference to System.Windows.Controls.Extended is no longer required. This reduces the size of your .xap file quite considerably, and so traffic and download times. The Silverlight Surface .xap went from 199Kb down to 70Kb!

TheADOGuy has a blog post which gives a pretty comprehensive list of what to look for when migrating a project.

Posted by: Matthew | June 13, 2008

Get the browser to detect your RSS feed

In IE7 and Firefox, there is integration with RSS feeds. When a site contains a feed the RSS icon with highlight, either in the address bar (FireFox) or in the menu bar (IE7). So how do you add support for this to your page?

Add a line similar to the one below, into your html head contents:

<link href=”http://www.pureblue.wordpress.com/rss” rel=”alternate” type=”application/rss+xml” title=”Pure Blue – .NET and other things” />

All compatible browsers will now highlight the feed! 

« Newer Posts - Older Posts »

Categories