<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Evolving Software &#187; TrueView tips</title>
	<atom:link href="http://evolving-software.co.uk/blog/category/trueview-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://evolving-software.co.uk/blog</link>
	<description>General tidbits about Domain Driven Design and TrueView</description>
	<lastBuildDate>Tue, 06 Dec 2011 21:29:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Multi-monitor support and popup Search Queries</title>
		<link>http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/</link>
		<comments>http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 06:46:08 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[TrueView tips]]></category>
		<category><![CDATA[multi monitor]]></category>
		<category><![CDATA[search dialog]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://evolving-software.co.uk/blog/?p=261</guid>
		<description><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/" title="Multi-monitor support and popup Search Queries"></a>The latest release includes 2 very useful UI features: Multi-monitor support This option is specially useful when you&#8217;re demoing to others, and can be enabled from Tools-&#62;Options-&#62;UI Settings-&#62;Allow MultiMonitor Use. All subsequent windows will open outside of the Workbench, allowing &#8230;<p class="read-more"><a href="http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/" title="Multi-monitor support and popup Search Queries"></a><p>The <a href="http://evolving-software.co.uk/downloads/TrueViewFreeTrial.exe">latest release</a> includes 2 very useful UI features:</p>
<h3>Multi-monitor support</h3>
<p>This option is specially useful when you&#8217;re demoing to others, and can be enabled from <strong>Tools-&gt;Options-&gt;UI Settings-&gt;Allow MultiMonitor Use</strong>. All subsequent windows will open <em>outside</em> of the Workbench, allowing them to be dragged to other monitors.</p>
<h3>Popup Search Dialogs</h3>
<p>Although drag &amp; drop is very powerful, not all users are comfortable with it, instead preferring to select items from a list.  With this is mind, a new context menu item was added:</p>
<p><img class="alignnone size-full wp-image-264" title="popup-search-dialog-for-entity-property" src="http://evolving-software.co.uk/blog/wp-content/uploads/2009/08/popup-search-dialog-for-entity-property.png" alt="popup-search-dialog-for-entity-property" width="640" height="480" /></p>
<p>Selecting this will open a Search Dialog, where the user can query and select an Entity.  It also works for EntityList properties (multiple Entities can be selected in this case):</p>
<p><img class="alignnone size-full wp-image-265" title="popup-search-dialog-for-entitylist-property" src="http://evolving-software.co.uk/blog/wp-content/uploads/2009/08/popup-search-dialog-for-entitylist-property.png" alt="popup-search-dialog-for-entitylist-property" width="640" height="480" /></p>
<p>It&#8217;s also possible to pre-load the popup search dialog using <strong>Query Specifications</strong>.  See the section &#8220;<strong>Pre-filtered Search Query Dialogs</strong>&#8221; in the <a href="http://evolving-software.co.uk/downloads/TrueViewDevelopersGuide.pdf">user guide</a> to learn more.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolving-software.co.uk/blog/2009/08/10/multi-monitor-support-and-popup-search-queries/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tips for Domain Driven Design and TrueView</title>
		<link>http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/</link>
		<comments>http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 07:27:00 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[TrueView tips]]></category>
		<category><![CDATA[ddd]]></category>
		<category><![CDATA[domain driven design]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://evolving-software.co.uk/blog/?p=230</guid>
		<description><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/" title="Tips for Domain Driven Design and TrueView"></a>Here are some tips for DDD newbies.  It&#8217;s easy to fall back to doing &#8216;what you know best&#8217;, so use these tips to stay focused. Hopefully your design skills will get better (and faster) as a result. Don&#8217;t start with &#8230;<p class="read-more"><a href="http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/" title="Tips for Domain Driven Design and TrueView"></a><p>Here are some tips for DDD newbies.  It&#8217;s easy to fall back to doing &#8216;what you know best&#8217;, so use these tips to stay focused. Hopefully your design skills will get better (and faster) as a result. <img src='http://evolving-software.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<ol>
<li><strong>Don&#8217;t start with the User Interface</strong><br />
Instead of asking &#8220;<em>How will the user solve this problem?</em>&#8220;, ask &#8220;<em>What is the problem?</em>&#8220;</li>
<li><strong>Design Domain Models, not database schemas</strong><br />
Most business users don&#8217;t understand database schemas &#8211; so don&#8217;t make them</li>
<li><strong>Design your Domain Model incrementally</strong><br />
Defining too much detail early on is the fastest way to get side-tracked</li>
<li><strong>Get constant feedback from your Domain Experts</strong><br />
Take advantage of TrueView’s auto-generated prototypes to get instant feedback</li>
<li><strong>Separate <em>business concerns</em> from </strong><em><strong>technical concerns</strong><br />
</em>Writing technical infrastructure code can be counter-productive during the modelling phase</li>
<li><strong>Unit testing wisely</strong><br />
Focus on testing         non-trivial behaviour and complex business logic, possibly using BDD</li>
<li><strong>Think agile, be agile</strong><br />
Your clients don&#8217;t have time to wait, so don&#8217;t make them</li>
</ol>
<p>You can read the detailed version <a href="http://evolving-software.co.uk/tips-for-domain-driven-design.html">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolving-software.co.uk/blog/2009/06/02/tips-for-domain-driven-design-and-trueview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When should you use a Value Object?</title>
		<link>http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/</link>
		<comments>http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/#comments</comments>
		<pubDate>Tue, 26 May 2009 07:12:32 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[TrueView tips]]></category>
		<category><![CDATA[Useful info]]></category>
		<category><![CDATA[domain]]></category>
		<category><![CDATA[persistence]]></category>
		<category><![CDATA[value object]]></category>

		<guid isPermaLink="false">http://evolving-software.co.uk/blog/?p=224</guid>
		<description><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/" title="When should you use a Value Object?"></a>Whilst in the middle of writing about &#8220;Entities vs Value Objects&#8220;  I discovered this post by Dylan Beattie. I&#8217;ve observed that a lot of DDD newbies get hung up on Value Objects, persistence, how to normalise the database, and other &#8230;<p class="read-more"><a href="http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/" title="When should you use a Value Object?"></a><p>Whilst in the middle of writing about &#8220;<strong>Entities vs Value Objects</strong>&#8220;  I discovered <a href="http://dylanbeattie.blogspot.com/2009/02/is-crisp-value-object.html">this post</a> by Dylan Beattie<em>.</em></p>
<p>I&#8217;ve observed that a lot of DDD newbies get hung up on Value Objects, persistence, how to normalise the database, and other<em> implementation concerns</em>.</p>
<p>Value Objects stem from the <em>actual domain problem</em>, not from  persistence.  Read <a href="http://dylanbeattie.blogspot.com/2009/02/is-crisp-value-object.html">Dylan&#8217;s post</a> to understand why.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolving-software.co.uk/blog/2009/05/26/when-should-you-use-a-value-object/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Missing treenodes in Options/Preferences Editor</title>
		<link>http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/</link>
		<comments>http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/#comments</comments>
		<pubDate>Sun, 03 May 2009 08:28:15 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[TrueView tips]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[preferences editor]]></category>

		<guid isPermaLink="false">http://evolving-software.co.uk/blog/?p=194</guid>
		<description><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/" title="Missing treenodes in Options/Preferences Editor"></a>If you were running a previous version of TrueView, you may find tree nodes missing in the Preferences Editor. The fix is to remove  the old user settings.  Open this folder in Windows Explorer:   C:\Users\&#60;your user name&#62;\AppData\Local\Evolving_Software_Ltd\ And remove &#8230;<p class="read-more"><a href="http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/" title="Missing treenodes in Options/Preferences Editor"></a><p>If you were running a previous version of TrueView, you may find tree nodes missing in the Preferences Editor.</p>
<p>The fix is to remove  the old user settings.  Open this folder in Windows Explorer:</p>
<pre>  C:\Users\&lt;your user name&gt;\AppData\Local\Evolving_Software_Ltd\</pre>
<p>And remove all folders for the application that is affected.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolving-software.co.uk/blog/2009/05/03/missing-treenodes-in-optionspreferences-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The reality of UI mock-ups and DDD</title>
		<link>http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/</link>
		<comments>http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 06:51:27 +0000</pubDate>
		<dc:creator>Vijay</dc:creator>
				<category><![CDATA[TrueView tips]]></category>
		<category><![CDATA[Useful info]]></category>
		<category><![CDATA[mockup]]></category>
		<category><![CDATA[modelling]]></category>
		<category><![CDATA[ubiquitous language]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://evolving-software.co.uk/blog/?p=157</guid>
		<description><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/" title="The reality of UI mock-ups and DDD"></a>Casey Charlton is writing a sample application using DDD.  His first step was to create a UI mock-up to reflect a user story &#8220;What&#8217;s so bad about that?&#8221; I hear you cry.  Well, here&#8217;s the problem: UI prototyping is great &#8230;<p class="read-more"><a href="http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/" title="The reality of UI mock-ups and DDD"></a><p>Casey Charlton is writing a <a href="http://devlicio.us/blogs/casey/archive/2009/03/09/ddd-sample-application-first-steps.aspx">sample application</a> using DDD.  His first step was to create a UI mock-up to reflect a user story <img src='http://evolving-software.co.uk/blog/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>&#8220;What&#8217;s so bad about that?&#8221; I hear you cry.  Well, here&#8217;s the problem:</p>
<p>UI prototyping is great for defining <strong><em>how </em></strong>a person is going to solve a business problem.  It&#8217;s not great at defining <strong><em>what </em></strong>the problem actually is (i.e. the business domain).</p>
<p>I&#8217;ve seen this happen many, many times:</p>
<ol>
<li>Developer sketches UI, to start discussions with the Domain Expert/Business Analyst</li>
<li>Business Analyst adds/removes/repositions some widgets</li>
<li>&#8216;Hand waving&#8217; and &#8216;pointing at imaginary boxes&#8217; becomes the communication technique of choice</li>
<li>Developer agrees to &#8216;quickly code up&#8217; an interactive prototype</li>
<li>End user wants a different shade of blue</li>
</ol>
<p>Although the Developer has good intentions of leveraging DDD, the urge to see working apps overrides everything else &#8211; leaving the Developer with a vague understanding of the business domain.</p>
<p>As the Developer <em>does </em>learn more about the domain, he usually finds that the original UI design is inadequate. And changing a UI is expensive (it&#8217;s a pity that most businesses don&#8217;t understand why).</p>
<p>This is where <a href="http://www.evolving-software.co.uk/downloads.html">TrueView</a> shines.  It automatically creates interactive UIs, but only based on domain definitions and relationships. Which means:</p>
<ul>
<li> The Business Analyst <strong>must</strong> describe the business domain.</li>
<li>The Developer <strong>must</strong><strong> </strong>start understanding the domain</li>
<li>Both <strong>must</strong><strong> </strong>define and share the <a href="http://domaindrivendesign.org/discussion/messageboardarchive/UbiquitousLanguage.html"><em>Ubiquitous Language</em></a>.</li>
</ul>
<p>TrueView doesn&#8217;t give you a <em>totally </em>customisable UI, but you <em>do </em>get an interactive prototype that <strong>models the business</strong>.  Once you understand the domain model, you&#8217;re in a perfect position to design a slick UI.</p>
]]></content:encoded>
			<wfw:commentRss>http://evolving-software.co.uk/blog/2009/03/19/the-reality-of-ui-mock-ups-and-ddd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

