<?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>Sat, 20 Feb 2010 13:21:57 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<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[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 them to be dragged to other monitors.
Popup Search Dialogs
Although drag &#38; drop is very powerful, not all [...]]]></description>
			<content:encoded><![CDATA[<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[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 the User Interface
Instead of asking &#8220;How will the user solve this problem?&#8220;, ask &#8220;What [...]]]></description>
			<content:encoded><![CDATA[<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[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 implementation concerns.
Value Objects stem from the actual domain problem, not from  persistence.  Read Dylan&#8217;s post to [...]]]></description>
			<content:encoded><![CDATA[<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[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 all folders for the application that is affected.
]]></description>
			<content:encoded><![CDATA[<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[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 for defining how a person is going to solve a business problem.  It&#8217;s not great [...]]]></description>
			<content:encoded><![CDATA[<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>
