<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Design</title>
        <link>http://geekswithblogs.net/tmurphy/category/5641.aspx</link>
        <description>Design</description>
        <language>en-US</language>
        <copyright>Tim Murphy</copyright>
        <managingEditor>twmurph@gmail.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>New Windows Phone 7 Stencil For Cacoo</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/11/28/new-windows-phone-7-stencil-for-cacoo.aspx</link>
            <description>&lt;p&gt;I have created &lt;a href="https://cacoo.com/diagrams/A9snfOv3pKK67LiO" target="_blank"&gt;a stencil&lt;/a&gt; for wire framing Windows Phone 7 application in Cacoo.  This is definitely a work in progress, but until it is complete I would suggest combining this stencil with the Android stencil that is available by default in Cacoo.  Below are a couple of screen shots of the stencil so far.&lt;/p&gt;  &lt;p&gt;First here is what the stencil window looks like currently.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_4.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_thumb_1.png" width="162" height="358" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Taking a closer look the main device frame is illustrated below&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_6.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_thumb_2.png" width="222" height="392" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Lastly is the button pallet which contains the icons from the Windows Phone toolkit.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Laying-Out_D9C9/image_thumb.png" width="141" height="335" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Check back and see more as other general controls are added to speed mocking your applications.  You can find the stencil &lt;a href="https://cacoo.com/diagrams/A9snfOv3pKK67LiO" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;      &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b2b6227f-e798-4219-b009-bb9a91c5e8e0" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Windows+Phone+7" rel="tag"&gt;Windows Phone 7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Cacoo" rel="tag"&gt;Cacoo&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Stencil" rel="tag"&gt;Stencil&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Design" rel="tag"&gt;Design&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/147865.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/11/28/new-windows-phone-7-stencil-for-cacoo.aspx</guid>
            <pubDate>Tue, 29 Nov 2011 04:40:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/147865.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/11/28/new-windows-phone-7-stencil-for-cacoo.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/147865.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/147865.aspx</trackback:ping>
        </item>
        <item>
            <title>Wire Framing WP7 Apps With Cacoo</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/11/21/wire-framing-wp7-apps-with-cacoo.aspx</link>
            <description>&lt;p&gt;While looking for a free alternative to Sketchflow I landed on the Cacoo web site.  Any developer who decides to use the free Visual Studio tools may find themselves doing the same search.  The base functionality of Cacoo is free although there are certain features that have fees attached to them such as extended stencils and templates.&lt;/p&gt;  &lt;p&gt;Cacoo doesn’t seem to have a template for WP7.  It does have templates for iOS and Android development so I started with the Android template and started modidfying it for WP7.  Funny thing is since Android has the same hardware vendors as Windows Phone the basic frame looks just right (I would swear I was looking at my Samsung Focus).&lt;/p&gt;  &lt;p&gt;Below is the start of a new mockup for the user group that I help run.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Wire-Framing-WP7-Apps-With-Cacoo_9360/image_2.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://geekswithblogs.net/images/geekswithblogs_net/tmurphy/Windows-Live-Writer/Wire-Framing-WP7-Apps-With-Cacoo_9360/image_thumb.png" width="489" height="257" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I found that while Cacoo doesn’t have all the icons I need I am able to insert them from the Windows Phone Toolkit folder.  If I put them off to the side as you can see above.  I can simply copy and paste them into the appropriate place as needed.  &lt;/p&gt;  &lt;p&gt;Beyond that I have customized the main frame frame so I can have my base to work from.  In the future I intend to create this as a stencil and if it looks good enough I would consider making it public.&lt;/p&gt;  &lt;p&gt;My use of this product is still in it’s early phase, but it seems like a great way to start.  Maybe if you use this to get going you can earn enough from your resulting apps to pay for something with more bells and whistles in the future.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:a80dde6e-25bc-4836-b2d9-9af30eafc5cf" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/WP7" rel="tag"&gt;WP7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Windows+Phone+7+development" rel="tag"&gt;Windows Phone 7 development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/design" rel="tag"&gt;design&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Cacoo" rel="tag"&gt;Cacoo&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/wire+frame" rel="tag"&gt;wire frame&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/147788.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/11/21/wire-framing-wp7-apps-with-cacoo.aspx</guid>
            <pubDate>Mon, 21 Nov 2011 22:21:20 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/147788.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/11/21/wire-framing-wp7-apps-with-cacoo.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/147788.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/147788.aspx</trackback:ping>
        </item>
        <item>
            <title>Discovering Your Project</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/11/18/discovering-your-project.aspx</link>
            <description>&lt;p&gt;The discovery phase of any project is both exciting and critical to the project’s success.  There are several key points that you need to keep in mind as you navigate this process.&lt;/p&gt;  &lt;p&gt;The first thing you need to understand is who the players in the project are and what their motivations are for the project.  Leaving out a key stakeholder in the resulting product is one of the easiest ways to doom your project to fail.  The better the quality of the input you have at this early phase the better chance you will have of creating a well accepted deliverable.&lt;/p&gt;  &lt;p&gt;The next task you should tackle is to gather the goals for the project.  Specifically, what does the company expect to get for the money they are about to layout.  This seems like a common sense task, but you would be surprised how many teams to straight to building the system.  Even if you are following an agile methodology I believe that this is critical.&lt;/p&gt;  &lt;p&gt;Inventorying the resources that already exists gives you an idea what you are going to have to build and what you can leverage at lower risk.  This list should include documentation, servers, code repositories, databases, languages, security systems and supporting teams.  All of these are “resources” that can effect the cost and delivery schedule of your project.&lt;/p&gt;  &lt;p&gt;Finally, you need to verify what you have found and documented with the stakeholders and subject matter experts.  Documentation that has not been reviewed is actually a list of assumptions and we all know that assumptions are the mother of all screw ups.&lt;/p&gt;  &lt;p&gt;If you give the discovery phase of your project the attention that it deserves your project has a much better chance of success.&lt;/p&gt;  &lt;p&gt;I would love to hear what other people find important for this phase.  Please leave comments on this post so we can share the knowledge.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b44956c4-bb74-4673-925d-f1132fe121d3" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Project+discovery" rel="tag"&gt;Project discovery&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/documentation" rel="tag"&gt;documentation&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/business+analysis" rel="tag"&gt;business analysis&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/architecture" rel="tag"&gt;architecture&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/147751.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/11/18/discovering-your-project.aspx</guid>
            <pubDate>Fri, 18 Nov 2011 20:55:52 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/147751.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/11/18/discovering-your-project.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/147751.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/147751.aspx</trackback:ping>
        </item>
        <item>
            <title>Why We Need UX Designers</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/11/14/why-we-need-ux-designers.aspx</link>
            <description>&lt;p&gt;Ok, so maybe this is really why I need UX designers.  While I have always had an interest in photography and can appreciate a well designed user interface putting one together is an entirely different endeavor.  Being color blind doesn’t help, but coming up with ideas is probably the biggest portion of the issue.  I can spot things that just don’t look like they work right, but what will?&lt;/p&gt;  &lt;p&gt;UX designers is an area that most companies do not spend much if any resources.  As they say, you only get one chance to make a first impression and and a poorly designed site or application is a bad first impression.  Given that they you would think that companies would invest more in appearance and usability.&lt;/p&gt;  &lt;p&gt;One of two things need to be done to rectify this issue.  Either we need to start educating our developers on user experience and design or we need to start finding ways to subsidize putting full time designers on our project teams.  Maybe it should be a time share type of situation, but something needs to be done.  As architects we need to impress on our project stakeholders the importance of User Experience and why it should be part of the budget.  If they hear it often enough eventually they may present it to you as their own idea.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2b9ce47e-a608-4d22-97f9-90bd0416e2da" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/User+Experience" rel="tag"&gt;User Experience&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/UX" rel="tag"&gt;UX&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Application+Design" rel="tag"&gt;Application Design&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/147692.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/11/14/why-we-need-ux-designers.aspx</guid>
            <pubDate>Tue, 15 Nov 2011 03:40:49 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/147692.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/11/14/why-we-need-ux-designers.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/147692.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/147692.aspx</trackback:ping>
        </item>
        <item>
            <title>Styling Windows Phone Silverlight Applications</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/11/10/styling-windows-phone-silverlight-applications.aspx</link>
            <description>&lt;p&gt;If you have not developed with styles in Silverlight/XAML then it can be challenging and resources can be sparse depending on how deep you get.  One thing that you need to understand is what level you can apply styles and how much they can cascade.  What I am finding is that this doesn’t go to the level that we are used to in HTML and CSS.&lt;/p&gt;  &lt;p&gt;While styles can be defined at a page level if you want to share styles throughout your application they should be defined in the App.xaml file.  This is of course analogous to placing a style in your HTML file versus an external CSS file.  This is the type of style I will concentrate on in this post.&lt;/p&gt;  &lt;p&gt;The first thing to look it how styles associate to elements.  TargetType defines the object type that your style will apply to.  In the example below the style is targeting the TextBlock object type.&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;Style x:Key=&lt;span style="color: #006080"&gt;"TextBlockSmallGray"&lt;/span&gt; TargetType=&lt;span style="color: #006080"&gt;"TextBlock"&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;Next we use a Setter which allows you to apply values for specific attributes of the target object type.  The setters can be a simple value or complex.  The first example here is simply applying a color to the background property of the target.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;Setter Property=&lt;span style="color: #006080"&gt;"Background"&lt;/span&gt; Value=&lt;span style="color: #006080"&gt;"White"&lt;/span&gt;/&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;The second setter example here is for the same property, but we are applying a the definition of a LinearGradientBrush.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;Setter Property=&lt;span style="color: #006080"&gt;"Background"&lt;/span&gt;&amp;gt;&lt;br /&gt;                &amp;lt;Setter.Value&amp;gt;&lt;br /&gt;                    &amp;lt;LinearGradientBrush&amp;gt;&lt;br /&gt;                        &amp;lt;GradientStop Offset=&lt;span style="color: #006080"&gt;"0"&lt;/span&gt; Color=&lt;span style="color: #006080"&gt;"Black"&lt;/span&gt;/&amp;gt;&lt;br /&gt;                        &amp;lt;GradientStop Offset=&lt;span style="color: #006080"&gt;"1"&lt;/span&gt; Color=&lt;span style="color: #006080"&gt;"White"&lt;/span&gt;/&amp;gt;&lt;br /&gt;                    &amp;lt;/LinearGradientBrush&amp;gt;&lt;br /&gt;                &amp;lt;/Setter.Value&amp;gt;&lt;br /&gt;            &amp;lt;/Setter&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;The last thing I want to cover here is that you can leverage the system styles and then override or extend them.  The BasedOn attribute of the Style tag allows this sort of inheritance.  In the example below I am going to start with the PhoneTextTitleStyle and then override properties as needed.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;Style x:Key=&lt;span style="color: #006080"&gt;"TextBlockTitle"&lt;/span&gt; BasedOn=&lt;span style="color: #006080"&gt;"{StaticResource PhoneTextTitle1Style}"&lt;/span&gt; TargetType=&lt;span style="color: #006080"&gt;"TextBlock"&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;So now that we have our styles defined applying it is fairly straight forward.  Add the style name as a static resource to the style property of the element in your page and off you go.&lt;/p&gt;

&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;
  &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; background-color: #f4f4f4; margin: 0em; border-left-style: none; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; border-right-style: none; font-size: 8pt; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&amp;lt;Grid x:Name=&lt;span style="color: #006080"&gt;"LayoutRoot"&lt;/span&gt; Style=&lt;span style="color: #006080"&gt;"{StaticResource PageGridStyle}"&lt;/span&gt;&amp;gt;&lt;/pre&gt;

  &lt;br /&gt;&lt;/div&gt;

&lt;p&gt;So this is one step in creating consistency in your application’s look.  In future posts I will dig a little deeper.&lt;/p&gt;

&lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ff829b5e-6c5e-4cd6-b4d2-6f6c84f21413" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/windows+phone+7" rel="tag"&gt;windows phone 7&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/mobile+development" rel="tag"&gt;mobile development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/windows+phone+7+development" rel="tag"&gt;windows phone 7 development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/.NET" rel="tag"&gt;.NET&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/software+development" rel="tag"&gt;software development&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/design" rel="tag"&gt;design&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/UX" rel="tag"&gt;UX&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/147644.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/11/10/styling-windows-phone-silverlight-applications.aspx</guid>
            <pubDate>Thu, 10 Nov 2011 12:56:04 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/147644.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/11/10/styling-windows-phone-silverlight-applications.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/147644.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/147644.aspx</trackback:ping>
        </item>
        <item>
            <title>Alternate OOXML Document Generation Approach</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/03/31/alternate-ooxml-document-generation-approach.aspx</link>
            <description>&lt;p&gt;&lt;a href="http://ericwhite.com/blog/" target="_blank"&gt;Eric White&lt;/a&gt; has put out a document generation &lt;a href="http://ericwhite.com/blog/2011/03/29/release-of-v2-of-doc-gen-system-xpath-in-content-controls/" target="_blank"&gt;example&lt;/a&gt; which uses XPath and Word Content Controls.  I applaud Eric for the amount of work he has done with his exploration of different ways to perform template base generation.  This is a subject that is challenging and we need as many ideas as we can get.  There are a couple of areas that I see room for improvement in this XPath design that I would like to bring up.  &lt;/p&gt;  &lt;p&gt;The first is that Eric has chosen to put his document generation in the document itself.  I see this as a maintenance and reusability issue.  Architecturally I would prefer to have my code external to the document so that I can write and maintain it centrally in a generic fashion and tie it to a rules engine.&lt;/p&gt;  &lt;p&gt;Another place I see that this approach falls down is that it is good for simple text replacement, but it doesn’t handle formatting, replacing images or working with charts.  This doesn’t mean that it can’t handle them, but I think it would lose the simplicity which looks to be it’s appeal.&lt;/p&gt;  &lt;p&gt;Lastly, Content Controls are currently a Word only feature.  It would be great if we could come up with a mark-up technique that was universal to all Office document types.  Hey, we can dream, right?&lt;/p&gt;  &lt;p&gt;Personally, I prefer a more meta data driven approach based on my experience with solutions which had output that was more marketing material quality.  That being said, but approach is an interesting idea to add to the design arsenal.  Thanks for the thoughts Eric.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:c775260e-cd96-4dd8-a8f3-52ebd64445de" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/OOXML" rel="tag"&gt;OOXML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Office+Open+XML" rel="tag"&gt;Office Open XML&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Eric+White" rel="tag"&gt;Eric White&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Document+Generation" rel="tag"&gt;Document Generation&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/144621.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/03/31/alternate-ooxml-document-generation-approach.aspx</guid>
            <pubDate>Thu, 31 Mar 2011 11:49:05 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/144621.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/03/31/alternate-ooxml-document-generation-approach.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/144621.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/144621.aspx</trackback:ping>
        </item>
        <item>
            <title>What Is INET_ATON And Why Is It In A Database</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2011/03/22/what-is-inet_aton-and-why-is-it-in-a-database.aspx</link>
            <description>&lt;p&gt;While converting some MySql databases to SQL Server I ran across this function.  Confused by the lack of hints to its purpose in the name I did what any red-blooded IT person would do…  look it up.  It turns out that this function turns the string representation of an IP address into a long integer.  What good that does I am still not sure, but here is the jist of the operation.&lt;/p&gt;  &lt;p&gt;&lt;code&gt;(octet1 * 256^3) + (octet2 * 256^2) + (octet3 * 256) + octet4&lt;/code&gt;&lt;/p&gt;  &lt;p&gt;Simple enough, right?  Now for the real question.  What the heck is this function doing in the database?  My only thought is that it is faster to search an integer than a string, but to my way of thought this function has nothing to do with normal database operations and doesn’t belong.  A value like this should be converted to an integer by your business logic and passed into the database.  Your DBMS should not be concerned with IP infrastructure.  Of course that is jus my opinion and I would love to hear what others think.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f6329d3c-f96e-4a83-8515-84557c147c47" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/SQL" rel="tag"&gt;SQL&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/DBMS" rel="tag"&gt;DBMS&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/SQL+Server" rel="tag"&gt;SQL Server&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/MySQL" rel="tag"&gt;MySQL&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/INET_ATON" rel="tag"&gt;INET_ATON&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/144473.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2011/03/22/what-is-inet_aton-and-why-is-it-in-a-database.aspx</guid>
            <pubDate>Tue, 22 Mar 2011 05:18:27 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/144473.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2011/03/22/what-is-inet_aton-and-why-is-it-in-a-database.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/144473.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/144473.aspx</trackback:ping>
        </item>
        <item>
            <title>October 2010 Chicago Information Technology Architects Group Wrap Up</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2010/10/21/october-2010-chicago-information-technology-architects-group-wrap-up.aspx</link>
            <description>&lt;p&gt;Earlier this week Mike Vogt and I presented an introduction to design patterns.  While I think that all developers should understand design patterns I don’t believe you can be a good architect unless you a firm grasp of patterns at at the application, system and enterprise levels.&lt;/p&gt;  &lt;p&gt;We had some fun with the subject by alternating between .NET and Java examples.  I think if we had hidden certain parts of the IDE we could have challenged the attendees to tell us which example was in C# and which was in Java.&lt;/p&gt;  &lt;p&gt;At next month’s CITAG meeting Shankar Ramachandran will be covering NoSQL.  Be sure to join us&lt;/p&gt;  &lt;p&gt;Here are links to the slides and the .NET code.&lt;/p&gt; &lt;a href="http://www.slideshare.net/twmurph/citag-design-patterns" target="_blank"&gt;Slides&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://www.box.net/shared/sbf340h3pb" target="_blank"&gt;.NET Code&lt;/a&gt;   &lt;br /&gt;&lt;a href="http://www.box.net/shared/08armlpbsj" target="_blank"&gt;Java Code&lt;/a&gt;   &lt;p&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:fe91c583-b0cf-4a72-b7f4-84192042b599" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/CITAG" rel="tag"&gt;CITAG&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Chicago+Information+Technology+Architects+Group" rel="tag"&gt;Chicago Information Technology Architects Group&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/design+Patterns" rel="tag"&gt;design Patterns&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Java" rel="tag"&gt;Java&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/.NE" rel="tag"&gt;.NE&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/142396.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2010/10/21/october-2010-chicago-information-technology-architects-group-wrap-up.aspx</guid>
            <pubDate>Thu, 21 Oct 2010 10:02:20 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/142396.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2010/10/21/october-2010-chicago-information-technology-architects-group-wrap-up.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/142396.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/142396.aspx</trackback:ping>
        </item>
        <item>
            <title>Review: Head First Design Patterns</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2010/10/20/review-head-first-design-patterns.aspx</link>
            <description>&lt;p&gt;Design patterns are an important part of understanding the best practices of software development.  &lt;a href="http://www.amazon.com/gp/product/0596007124/ref=s9_simh_gw_p14_d1_i2?pf_rd_m=ATVPDKIKX0DER&amp;amp;pf_rd_s=center-2&amp;amp;pf_rd_r=0HHMBCS7CCD41B4X71AQ&amp;amp;pf_rd_t=101&amp;amp;pf_rd_p=470938631&amp;amp;pf_rd_i=507846" target="_blank"&gt;Head First Design Patterns&lt;/a&gt; is another great book in the Head First series which takes a more story based teaching approach.  &lt;/p&gt;  &lt;p&gt;As you get past the format of the book there are specific things that I like about the subject matter coverage.  Rather than just laying out the name, problem and solution for each of the original patterns, they compare and contrast them.  In some cases they even pull in patterns outside of the Gang of Four list such as dependency injection.&lt;/p&gt;  &lt;p&gt;The only reservations I have about Head First Design Patterns is that some of the patterns, the strategy pattern for example, are kind of glossed over.  You get a basic idea, but not the depth that I would like.&lt;/p&gt;  &lt;p&gt;For those of you that spend all of your time in the .NET world you will have to convert the examples from Java, but this is rather trivial.  The syntax just isn’t that different.&lt;/p&gt;  &lt;p&gt;Overall this is a great book for introducing developers to the subject of patterns and how they are used.&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ca4656e2-2b17-4133-9c56-186ab4496b6c" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/GOF" rel="tag"&gt;GOF&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Design+Patterns" rel="tag"&gt;Design Patterns&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/software+design" rel="tag"&gt;software design&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/book+review" rel="tag"&gt;book review&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/Head+First+Design+Patterns" rel="tag"&gt;Head First Design Patterns&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/142371.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2010/10/20/review-head-first-design-patterns.aspx</guid>
            <pubDate>Wed, 20 Oct 2010 06:41:05 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/142371.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2010/10/20/review-head-first-design-patterns.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/142371.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/142371.aspx</trackback:ping>
        </item>
        <item>
            <title>New User Group Name and October Presentation</title>
            <link>http://geekswithblogs.net/tmurphy/archive/2010/09/29/new-user-group-name-and-october-presentation.aspx</link>
            <description>&lt;p&gt;For reasons that I will not discuss here the Chicago Architects Group has changed its name to the Chicago Information Technology Architects Group.  It is the same great group of people discussing topics that are of interest to IT architects of all flavors.  Whether your responsibilities are at an enterprise, solution or application level there is something here for you.&lt;/p&gt;  &lt;p&gt;For October the topic will be design patterns presented by Mike Vogt and myself.  Mike has a Java background so we will be alternating between Java and .NET with the exmples.  Come and join us.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://chicagoinformationtechnologyarchitectsgroup.eventbrite.com/" target="_blank"&gt;Register&lt;/a&gt;&lt;/p&gt;  &lt;div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2d2c3ba1-1e1a-4db4-9e62-479596c5d488" class="wlWriterEditableSmartContent"&gt;del.icio.us Tags: &lt;a href="http://del.icio.us/popular/Chicago+Information+Technology+Architects+Group" rel="tag"&gt;Chicago Information Technology Architects Group&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/CITAG" rel="tag"&gt;CITAG&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/architecture" rel="tag"&gt;architecture&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/name+change" rel="tag"&gt;name change&lt;/a&gt;,&lt;a href="http://del.icio.us/popular/chicago" rel="tag"&gt;chicago&lt;/a&gt;&lt;/div&gt; &lt;img src="http://geekswithblogs.net/tmurphy/aggbug/142033.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Tim Murphy</dc:creator>
            <guid>http://geekswithblogs.net/tmurphy/archive/2010/09/29/new-user-group-name-and-october-presentation.aspx</guid>
            <pubDate>Wed, 29 Sep 2010 12:38:08 GMT</pubDate>
            <wfw:comment>http://geekswithblogs.net/tmurphy/comments/142033.aspx</wfw:comment>
            <comments>http://geekswithblogs.net/tmurphy/archive/2010/09/29/new-user-group-name-and-october-presentation.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/tmurphy/comments/commentRss/142033.aspx</wfw:commentRss>
            <trackback:ping>http://geekswithblogs.net/tmurphy/services/trackbacks/142033.aspx</trackback:ping>
        </item>
    </channel>
</rss>
