Wednesday, April 23, 2008

Don't Overlook Obvious Requirements

So I was working on a mockup for a Silverlight application based upon a prospective customer's proof-of-concept kiosk use case scenario yesterday and made a rather dramatic blunder.  I put together a barebones wireframe mockup of the use case so that the internal team could discuss the user experience and start to develop our vocabulary about the business process.  I shared the wireframe with some team members and was surprised by one of the first questions posed: Will the kiosks have Internet connectivity?... Doh!!

Needless to say we're back to the table with the customer with this and other questions to be resolved before we pursue further design work.  Since it was a proof-of-concept and it was based upon an inherently web-based technology, I assumed that the customer would understand the infrastructure requirements.  But you know what happens when you assume...

Monday, April 14, 2008

CMAP Code Camp

del.icio.us Tags: ,,

The Central Maryland Association of .Net Professionals held their third Code Camp event in Columbia, MD on Saturday, April 12th and the event was outstanding! I attended the event along with several of the AIS Columbia staff. I got to see several valuable sessions including:

  • Introduction to WPF by Mark Lindell - Mark provided a primer on the value and issues involved with eXtensible Application Markup Language (XAML - pronounced 'zam-el'). The presentation was heavily influenced by Adam Nathan's great book on the topic: Windows Presentation Foundation Unleashed.
  • Applied Business Intelligence by Tom Snider - Tom's session really served to clarify some of my thinking around dimensional analysis and data modeling as well as introduce me the to cube generation tools in Visual Studio 2005/SQL Server 2005. These tools are quite powerful. I wonder what SQL Server 2008 has in store for us in terms of Business Intelligence?
  • Introduction to LINQ by Scott Allen - This broad survey of the various LINQ (Language INtegrated Query) flavors focused on those that are of primary interest to the majority of developers: objects, SQL, XML, and Entities. One of the best tidbits to come from this session was a recommendation for a free utility called LINQPad. With this tool I can now write a LINQ expression against a live database, execute the command and even translate my code to the equivalent TSQL command for comparison! This utility is initially a little confusing without the accompanying book from the author, but after reviewing a lot of other online resources the sample code included in the utility made a lot more sense.
  • LINQ to SQL in an N-Tiered Application by Steve Michelotti - Steve composed a rather ambitious presentation covering a lot of ground on LINQ to SQL. He built (with snippets) a data entry application that manipulated contact information. I found the closing section on migrating from the default SQL generation mode to SQL Stored Procedures the most enlightening. It now seems reasonable to use LINQ for this purpose, but Steve also pointed out a lot of potential traps in child collections that I need to investigate further in order to fully grok. Too much for 1.25 hours!