In the past when I was mainly working on custom software development projects, I liked to wireframe my application before actually diving into the code or IDE. To create these mockups I used tools like Balsamiq.
Creating mockups can save you a lot of time. Definitely when you need to start from the ground up. You don’t have to worry too much about functionality or the esthetical part of the application. The client will not start complaining that he/she doesn’t like that certain tone of grey that you have used or that a certain button doesn’t behave exactly like it should.
With Dynamics CRM this is of course a different story. First of all, you get already the base functionality straight of the box. Second, there will probably not be a lot of discussion possible concerning the GUI of the application itself. Normally you stick to what you get out of the box.
However I see some added value in wire framing, prototyping or sketching your CRM2011 application. I will come back to that later on.
I went looking for some decent approach to start prototyping Dynamics CRM applications and my search brought me to mSketch from Magnetism. mSketch is a collection of stencils that can be used to create mockups of CRM2011 applications. All the work is done with Expression Blend 4 SketchFlow. If you don’t have that much experience with this tool, I would really advice you to check it out. This great tool was introduced by Microsoft to shorten the bridge between developer and designer creating WPF or Silverlight applications. The company Magnetism was also no stranger to me because I had been following their blog posts and work on Twitter for a while.
With mSketch you get a solution that you can open with Expression Blend. This solution contains the CRM2011 forms predefined by Magnetism. These forms you can then use to create your own implementation. A nice to have would be to have an installer that would install the stencils as a project type in Expression Blend.
I was quite impressed by the level of detail that the team from Magnetism had put in the creation of these stencils. The ribbon, the tabs, the fields.. a really nice job in total. Magnetism also provided a decent user guide that you can use working with the mSketch stencils. This is always on my checklist when I try new tools or applications: Is there a decent user guide that will actually help me? Yes there is with mSketch, check it out here: http://help.magnetism.co.nz/#getting-started-with-msketch
Here is what the stencils look like inside Expression Blend:
Ok, so the stencils gave me a great head start. All I had to do now was to copy one of the forms in my own solution and start the customization of my custom CRM2011 application. Using sketchflow functionality you can define the paths that your application needs to follow. Once completed I just had to push F5 and I had a running prototype of my custom CRM2011 application.
Now to come back to a previous discussion, what are the benefits of prototyping your CRM2011 application? Here are some of the benefits I see with prototyping a CRM2011 applications.
1) You can use Expression Blend 4 and the mSketch stencils together with a client to rapidly workout a draft of their CRM2011 application.
2) The client can easily play around with the mockup using the sketchFlow preview created by Expression Blend. This can be deployed to IIS.
3) You don’t need to have CRM2011 installed from the beginning, everything is done in Expression Blend (or IIS for the testing). In cost and performance requirements this makes a big difference.
4) You can limit the discussions concerning the placement of fields, the ribbon, the operations or scripts on a form. You can explain that this is just a draft, a prototype. The full functionality will come later.
More information on the Magnetism mSketch stencils: http://www.magnetism.co.nz/solutionscasestudies/solutions/msketch.aspx
mSketch user guide: http://help.magnetism.co.nz/#getting-started-with-msketch
More information on Expression Blend 4 + SketchFlow: http://www.microsoft.com/expression/products/blend_overview.aspx