<?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>AB-WebLog.com&#187; Development</title>
	<atom:link href="http://www.ab-weblog.com/en/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ab-weblog.com/en</link>
	<description>Andreas Breitschopp</description>
	<lastBuildDate>Wed, 18 Mar 2015 09:47:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Spartakiade Conference in Berlin</title>
		<link>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-3/</link>
		<comments>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-3/#comments</comments>
		<pubDate>Wed, 18 Mar 2015 09:47:48 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[event]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=689</guid>
		<description><![CDATA[Next weekend in Berlin the Spartakiade will take place again &#8211; always a very interesting community conference consisting completely of workshops. I registered for &#8220;Modern web development with AngularJS&#8221; and &#8220;Data stream analysis with Azure Stream Analytics&#8221; and I&#8217;m really &#8230; <a href="http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Next weekend in Berlin the <a title="Website of Spartakiade" href="http://spartakiade.org" target="_blank">Spartakiade</a> will take place again &#8211; always a very interesting community conference consisting completely of workshops.</p>
<p>I registered for &#8220;Modern web development with AngularJS&#8221; and &#8220;Data stream analysis with Azure Stream Analytics&#8221; and I&#8217;m really curious about it. <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spartakiade Conference in Berlin</title>
		<link>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-2/</link>
		<comments>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-2/#comments</comments>
		<pubDate>Sat, 22 Mar 2014 18:28:14 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[event]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=683</guid>
		<description><![CDATA[This weekend in Berlin the Spartakiade took place: a conference that consists completely of workshops and is organized by the software developer community. I attended already the last two years as well as this year and it was again very &#8230; <a href="http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This weekend in Berlin the <a title="Website of Spartakiade" href="http://spartakiade.org" target="_blank">Spartakiade</a> took place: a conference that consists completely of workshops and is organized by the software developer community. I attended already the last two years as well as this year and it was again very interesting. In 2014 everything was on the topic “Mobile Development” and “Psychology”. Beside others these were the topics:</p>
<ul>
<li>Azure Mobile Services</li>
<li>Composite User Interfaces for Service-Oriented Applications</li>
<li>Cross-Platform for WP8, WPF &amp; WinRT</li>
<li>Development with Xamarin</li>
<li>Enterprise Web Applications with Ext JS / EXT.NET</li>
<li>Graphic Recording</li>
<li>Kanban in Reality</li>
<li>Mobile Backend as a Service</li>
<li>Psychologie of Decisions</li>
<li>Team Formation and Transformation</li>
</ul>
<p><img class="aligncenter size-medium wp-image-679" title="Spartakiade 2014" src="http://www.ab-weblog.com/de/files/spartakiade-2014-300x200.png" alt="Spartakiade 2014" width="300" height="200" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/spartakiade-conference-in-berlin-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DevExpress XPO: Expensive SQL Query Upon XPCollection.EndInit() Call</title>
		<link>http://www.ab-weblog.com/en/devexpress-xpo-expensive-sql-query-upon-xpcollection-endinit-call/</link>
		<comments>http://www.ab-weblog.com/en/devexpress-xpo-expensive-sql-query-upon-xpcollection-endinit-call/#comments</comments>
		<pubDate>Sat, 10 Nov 2012 11:03:50 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[DevExpress]]></category>
		<category><![CDATA[XPO]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=672</guid>
		<description><![CDATA[For .NET projects I do like to use the controls by DevExpress. Additionally DevExpress XPO is very useful as database abstraction layer. But in a current project I came across a very strange issue: for a few forms (curiously not for &#8230; <a href="http://www.ab-weblog.com/en/devexpress-xpo-expensive-sql-query-upon-xpcollection-endinit-call/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For .NET projects I do like to use the controls by <a title="DevExpress Website" href="http://www.devexpress.com" target="_blank">DevExpress</a>. Additionally DevExpress XPO is very useful as database abstraction layer.</p>
<p>But in a current project I came across a very strange issue:</p>
<p>for a few forms (curiously not for all) a very expensive SQL query is sent to the database backend while the form is loading. It was basically a SQL query that loads all (and I mean really all) data rows from the database which is obviously not a very good idea. But as I wrote that was not the case for all forms: when loading the other forms only the current data object (the current row in the table) was loaded as expected.</p>
<p>Of course, I&#8217;ve first contacted the always very fast and helpful DevExpress support. They researched what causes the data request and determined that the XPCollection.Count property is requested by the CurrencyManager after the Control.UpdateBindings method call. Because that&#8217;s something inside the .NET Framework they can&#8217;t do anything about it unfortunately.</p>
<p>They suggested to not set the XPCollection at design time, but this would result in losing the possibility to build the forms in the Windows Forms Designer. That would have been very bad, because I do have a lot of big forms in this project and I really don&#8217;t like to build them all in code.</p>
<p>But I found another way &#8211; I will not call that solution, just a work-around &#8211; to be still able to use the designer:</p>
<p>Therefore I simple wrote two batch files (using a command line replacement tool called <a title="FART Website" href="http://fart-it.sourceforge.net" target="_blank">FART</a>), one that runs before the build starts and makes sure no XPCollection is initialized in the InitializeComponent method (by just commenting the lines of code) and a second one that runs after the build finished and reverts these changes.</p>
<p>Here is the content of the pre-build batch file:</p>
<pre class="brush: text; gutter: true">%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;this.xpKern = new DevExpress.Xpo.XPCollection(this.components);&quot; &quot;\x2f\x2fthis.xpKern = new DevExpress.Xpo.XPCollection(this.components);&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;((System.ComponentModel.ISupportInitialize)(this.xpKern)).BeginInit();&quot; &quot;\x2f\x2f((System.ComponentModel.ISupportInitialize)(this.xpKern)).BeginInit();&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;this.xpKern.ObjectType = typeof(Administration.Daten.Kern);&quot; &quot;\x2f\x2fthis.xpKern.ObjectType = typeof(Administration.Daten.Kern);&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;this.xpKern.Session = this.unitOfWork;&quot; &quot;\x2f\x2fthis.xpKern.Session = this.unitOfWork;&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;((System.ComponentModel.ISupportInitialize)(this.xpKern)).EndInit();&quot; &quot;\x2f\x2f((System.ComponentModel.ISupportInitialize)(this.xpKern)).EndInit();&quot;

@exit 0</pre>
<p>And the post-build one that reverts the changes:</p>
<pre class="brush: text; gutter: true">%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;\x2f\x2fthis.xpKern = new DevExpress.Xpo.XPCollection(this.components);&quot; &quot;this.xpKern = new DevExpress.Xpo.XPCollection(this.components);&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;\x2f\x2f((System.ComponentModel.ISupportInitialize)(this.xpKern)).BeginInit();&quot; &quot;((System.ComponentModel.ISupportInitialize)(this.xpKern)).BeginInit();&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;\x2f\x2fthis.xpKern.ObjectType = typeof(Administration.Daten.Kern);&quot; &quot;this.xpKern.ObjectType = typeof(Administration.Daten.Kern);&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;\x2f\x2fthis.xpKern.Session = this.unitOfWork;&quot; &quot;this.xpKern.Session = this.unitOfWork;&quot;
%1Tools\fart.exe -r -C &quot;%1*.designer.cs&quot; &quot;\x2f\x2f((System.ComponentModel.ISupportInitialize)(this.xpKern)).EndInit();&quot; &quot;((System.ComponentModel.ISupportInitialize)(this.xpKern)).EndInit();&quot;

@exit 0</pre>
<p>The <code class="brush: text; gutter: false">@exit 0</code> at the end of them is important as otherwise code 2 is returned (for whatever reason) and the Visual Studio build system will complain about it every build.</p>
<p>Now you just need to call these batch files in the Visual Studio build events with</p>
<pre class="brush: text; gutter: false">$(ProjectDir)Tools\PreBuild.bat $(ProjectDir)</pre>
<p>respectively:</p>
<pre class="brush: text; gutter: false">$(ProjectDir)Tools\PostBuild.bat $(ProjectDir)</pre>
<p>I know that this is not a very good &#8220;solution&#8221;, but the only idea I had that I can still use the form designer while avoiding these expensive SQL queries.</p>
<p><em>Did you ever have the same issue and maybe even a better solution for it? I&#8217;m looking forward to any other suggestion on this topic!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/devexpress-xpo-expensive-sql-query-upon-xpcollection-endinit-call/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Intel Ultrabook MeetUp in Munich</title>
		<link>http://www.ab-weblog.com/en/intel-ultrabook-meetup-in-munich-2/</link>
		<comments>http://www.ab-weblog.com/en/intel-ultrabook-meetup-in-munich-2/#comments</comments>
		<pubDate>Thu, 25 Oct 2012 20:05:58 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[speech]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=662</guid>
		<description><![CDATA[Today there was a second Intel Ultrabook MeetUp in Munich (Germany) this year. The first one was in July. I was invited to speek a little bit about my experience with migrating a HTML5 app to the modern style UI &#8230; <a href="http://www.ab-weblog.com/en/intel-ultrabook-meetup-in-munich-2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Today there was a second Intel Ultrabook MeetUp in Munich (Germany) this year. The <a title="Intel Ultrabook MeetUp in Munich" href="http://www.ab-weblog.com/en/intel-ultrabook-meetup-in-munich/">first one</a> was in July.</p>
<p><a href="http://www.ab-weblog.com/en/files/intel-ultrabook-meetup-munich-2.png"><img class="aligncenter size-medium wp-image-665" title="Intel Ultrabook MeetUp in Munich" src="http://www.ab-weblog.com/en/files/intel-ultrabook-meetup-munich-2-300x225.png" alt="Intel Ultrabook MeetUp in Munich" width="300" height="225" /></a></p>
<p>I was invited to speek a little bit about my experience with migrating a HTML5 app to the modern style UI (formerly Metro) of Windows 8 using the example of my <a title="Ultimate Coder Challenge: Getting Started" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-getting-started/" target="_blank">Vocabulary Trainer</a> project.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/intel-ultrabook-meetup-in-munich-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developer Open Space in Leipzig</title>
		<link>http://www.ab-weblog.com/en/developer-open-space-in-leipzig/</link>
		<comments>http://www.ab-weblog.com/en/developer-open-space-in-leipzig/#comments</comments>
		<pubDate>Fri, 19 Oct 2012 20:39:43 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[speech]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=653</guid>
		<description><![CDATA[This weekend the annual Developer Open Space (German; formerly .NET Open Space) takes place in Leipzig (Germany) with around 150 attendees. I was invited to give a speech there today about utilizing the new Intel Ultrabook features on Windows 8 using &#8230; <a href="http://www.ab-weblog.com/en/developer-open-space-in-leipzig/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This weekend the annual <a title="Developer Open Space Website" href="http://devopenspace.de" target="_blank">Developer Open Space</a> (German; formerly .NET Open Space) takes place in Leipzig (Germany) with around 150 attendees.</p>
<p><a href="http://www.ab-weblog.com/en/files/developer-open-space-2012.png"><img class="aligncenter size-medium wp-image-659" title="Developer Open Space 2012" src="http://www.ab-weblog.com/en/files/developer-open-space-2012-300x217.png" alt="Developer Open Space 2012" width="300" height="217" /></a></p>
<p>I was invited to give a speech there today about utilizing the new Intel Ultrabook features on Windows 8 using the example of my <a title="Ultimate Coder Challenge: Getting Started" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-getting-started/" target="_blank">Vocabulary Trainer</a> project.</p>
<p><a href="http://www.ab-weblog.com/en/files/developer-open-space-2012-after-speech.png"><img class="aligncenter size-medium wp-image-660" title="Developer Open Space 2012: After Speech" src="http://www.ab-weblog.com/en/files/developer-open-space-2012-after-speech-300x225.png" alt="Developer Open Space 2012: After Speech" width="300" height="225" /></a></p>
<p>After the speech several attendees used the opportunity to get a closer look on the new Intel Ultrabook and asked questions regarding app development for Windows 8.</p>
<p><em>Have you been to the Developer Open Space, too?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/developer-open-space-in-leipzig/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ultimate Coder Challenge: Adding a Words Card Game</title>
		<link>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-a-words-card-game/</link>
		<comments>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-a-words-card-game/#comments</comments>
		<pubDate>Sun, 23 Sep 2012 13:45:41 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[IDF]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[Ultimate Coder Challenge]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=640</guid>
		<description><![CDATA[After some interface improvements in my previous post, I added a words card game to the vocabulary trainer app since that. But first I extended the main view with a semantic zoom. Here is the normal view: And with semantic &#8230; <a href="http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-a-words-card-game/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After some interface improvements in <a title="Ultimate Coder Challenge: IDF and Interface Improvements" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-idf-and-interface-improvements/">my previous post</a>, I added a words card game to the vocabulary trainer app since that.</p>
<p>But first I extended the main view with a semantic zoom. Here is the normal view:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-without-semantic-zoom.png"><img class="aligncenter size-medium wp-image-644" title="Screenshot of Vocabulary Trainer: Without Semantic Zoom" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-without-semantic-zoom-300x168.png" alt="Screenshot of Vocabulary Trainer: Without Semantic Zoom" width="300" height="168" /></a></p>
<p>And with semantic zoom (zoomed out):</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-with-semantic-zoom.png"><img class="aligncenter size-medium wp-image-645" title="Screenshot of Vocabulary Trainer: With Semantic Zoom" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-with-semantic-zoom-300x168.png" alt="Screenshot of Vocabulary Trainer: With Semantic Zoom" width="300" height="168" /></a></p>
<p>If there should be many lessons to display the user can get a better overview this way.</p>
<p>But now the more interesting part: the words card game that looks similar to the game Memory® by Ravensburger:</p>
<p>It displays covered playing cards in the first place. After the user touches/clicks on a card it is uncovered and a word in one of the two languages of the current lesson is displayed. The user then needs to find the translated word for it.</p>
<p>If there are too many words in one lesson to show, the words are picked random automatically.</p>
<p>Here is how that looks like now:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-words-card-game.png"><img class="aligncenter size-medium wp-image-646" title="Screenshot of Vocabulary Trainer: Words Card Game" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-words-card-game-300x168.png" alt="Screenshot of Vocabulary Trainer: Words Card Game" width="300" height="168" /></a></p>
<p>OK, that was the last post in the Ultimate Coder Challenge from me.</p>
<p>Of course, there is still enough things left that could be added to this vocabulary trainer &#8211; especially the online sychronization should be available soon -, but there is not more time left in this challenge.</p>
<p>As a summary you can say that it is possible to convert a HTML5 app to the new Windows 8 UI design in six weeks, but it is really much work. Although Microsoft says that with HTML5 you just develop once and deploy it to different platforms that&#8217;s more like wishful thinking. In practice you have to do a lot of extra work to get the right look and feel for each platform &#8211; especially for Windows 8.</p>
<p><em>Anyway, I hope you enjoyed reading my posts!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-a-words-card-game/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ultimate Coder Challenge: IDF and Interface Improvements</title>
		<link>http://www.ab-weblog.com/en/ultimate-coder-challenge-idf-and-interface-improvements/</link>
		<comments>http://www.ab-weblog.com/en/ultimate-coder-challenge-idf-and-interface-improvements/#comments</comments>
		<pubDate>Mon, 17 Sep 2012 07:29:06 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[IDF]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[San Francisco]]></category>
		<category><![CDATA[Ultimate Coder Challenge]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=622</guid>
		<description><![CDATA[It was great that I was invited to be at the IDF in San Francisco last week! There I showed my vocabulary trainer at a booth of Intel at the technical showcase area. But I also had time to implement some Interface &#8230; <a href="http://www.ab-weblog.com/en/ultimate-coder-challenge-idf-and-interface-improvements/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It was great that I was invited to be at the <a title="IDF 2012: Meeting Fellow Ultimate Coders in San Francisco" href="http://www.ab-weblog.com/en/idf-2012-meeting-fellow-ultimate-coders-in-san-francisco/">IDF in San Francisco</a> last week!</p>
<p>There I showed my vocabulary trainer at a booth of Intel at the technical showcase area.</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-idf-2012-showcase.png"><img class="aligncenter size-medium wp-image-630" title="IDF 2012: Showcase" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-idf-2012-showcase-300x169.png" alt="IDF 2012: Showcase" width="300" height="169" /></a></p>
<p>But I also had time to implement some Interface improvements for the vocabulary trainer.</p>
<p>First of all I optimized this dictionary view:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary.png"><img class="aligncenter size-medium wp-image-564" title="Screenshot of the Vocabulary Trainer: Edit Dictionary" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-300x168.png" alt="Screenshot of the Vocabulary Trainer: Edit Dictionary" width="300" height="168" /></a></p>
<p>There is no need to show the flags for every single word. It just wastes space. Here is how it looks now:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-revised.png"><img class="aligncenter size-medium wp-image-633" title="Screenshot of Vocabulary Trainer: Edit Dictionary Revised" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-revised-300x168.png" alt="Screenshot of Vocabulary Trainer: Edit Dictionary Revised" width="300" height="168" /></a></p>
<p>Now the flags are only showed once anymore at the top right of the screen.</p>
<p>Additionally I needed to find a good way to make it possible for the user to delete Folders again. Deleting lessons is done by selecting them first and then hitting the delete button in the command bar. But that&#8217;s not possible for folders as there is no way to select them.</p>
<p>Therefore I decided to use a kind of popup menu for this: when touching/clicking on a folder name a button should appear to enable the user to delete this folder.</p>
<p>After doing some research on that I figured out that this should be possible by using flyouts. So I added this peace of code to the HTML file:</p>
<pre class="brush: html; gutter: true">&lt;div id=&quot;deleteFolderFlyout&quot; data-win-control=&quot;WinJS.UI.Flyout&quot; aria-label=&quot;{Delete folder flyout}&quot;&gt;
    &lt;button id=&quot;deleteFolder&quot;&gt;Delete this folder with all lessons?&lt;/button&gt;
&lt;/div&gt;</pre>
<p>To finally show the flyout about touching/clicking the folder name I needed to call a JavaScript function in the <code class="brush: html; gutter: false">OnClick</code> event. But obviously it is only possible to call the JavaScript function if this is exposed with a WinJS namespace:</p>
<pre class="brush: javascript; gutter: false">GroupedItems.ShowDeleteFolderFlyout(event)</pre>
<p>And here is the JavaScript function itself including the namespace definition:</p>
<pre class="brush: javascript; gutter: true">function showDeleteFolderFlyout(e) {
    var deleteFolderFlyout = document.getElementById(&quot;deleteFolderFlyout&quot;);
    deleteFolderFlyout.deleteFolderId = e.target.groupKey;
    deleteFolderFlyout.winControl.show(e.target, &quot;right&quot;);
}

WinJS.Namespace.define(&#039;GroupedItems&#039;, {
    ShowDeleteFolderFlyout: showDeleteFolderFlyout
});</pre>
<p>That&#8217;s how it looks like now after touching/clicking on a folder name:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-delete-folder-flyout.png"><img class="aligncenter size-medium wp-image-635" title="Screenshot of Vocabulary Trainer: Delete Folder Flyout" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-delete-folder-flyout-300x168.png" alt="Screenshot of Vocabulary Trainer: Delete Folder Flyout" width="300" height="168" /></a></p>
<p>This was the update for the current week again.</p>
<p><em>Read on next Monday!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/ultimate-coder-challenge-idf-and-interface-improvements/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ultimate Coder Challenge: Vocabulary Training</title>
		<link>http://www.ab-weblog.com/en/ultimate-coder-challenge-vocabulary-training/</link>
		<comments>http://www.ab-weblog.com/en/ultimate-coder-challenge-vocabulary-training/#comments</comments>
		<pubDate>Mon, 03 Sep 2012 08:00:14 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[Ultimate Coder Challenge]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=582</guid>
		<description><![CDATA[As I&#8217;ve announced in my blog post of last week, I will go on with the most important part of a vocabulary trainer this time: the vocabulary training itself. Last week there was a funny event by Microsoft here in &#8230; <a href="http://www.ab-weblog.com/en/ultimate-coder-challenge-vocabulary-training/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve announced in <a title="Ultimate Coder Challenge: Adding Functionality" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-functionality/">my blog post of last week</a>, I will go on with the most important part of a vocabulary trainer this time: the vocabulary training itself.</p>
<p>Last week there was a funny event by Microsoft here in Munich (Germany): a <a title="Windows 8 Hackathon for App Development" href="http://www.ab-weblog.com/en/windows-8-hackathon-for-app-development/">Windows 8 Hackathon for App Development</a>.</p>
<p>This was a very good opportunity to ask some questions to competent Microsoft developers and get forward with this app project.</p>
<p>Past week I implemented the vocabulary training:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training.png"><img class="aligncenter size-medium wp-image-596" title="Screenshot of Vocabulary Trainer: Training" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-300x168.png" alt="Screenshot of Vocabulary Trainer: Training" width="300" height="168" /></a></p>
<p>After the user clicked on a lesson a word for translation together with the mentioned info text is shown.</p>
<p>If the user has a tablet PC without a keyboard a virtual keyboard is displayed automatically after the text field got focus:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-typing.png"><img class="aligncenter size-medium wp-image-597" title="Screenshot of Vocabulary Trainer: Training Typing" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-typing-300x168.png" alt="Screenshot of Vocabulary Trainer: Training Typing" width="300" height="168" /></a></p>
<p>By clicking on the check button the app shows a message whether the entered translation is correct</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vokabel-trainer-training-richtig.png"><img class="aligncenter size-medium wp-image-598" title="Screenshot of Vocabulary Trainer: Training Correct" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vokabel-trainer-training-richtig-300x168.png" alt="Screenshot of Vocabulary Trainer: Training Correct" width="300" height="168" /></a></p>
<p>or wrong:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-wrong.png"><img class="aligncenter size-medium wp-image-599" title="Screenshot of Vocabulary Trainer: Training Wrong" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-wrong-300x168.png" alt="Screenshot of Vocabulary Trainer: Training Wrong" width="300" height="168" /></a></p>
<p>Finally, after the lesson has been finished, the user sees how many words were correct and how many were wrong (looks like my German would be quite good already <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  ):</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-statistics.png"><img class="aligncenter size-medium wp-image-600" title="Screenshot of Vocabulary Trainer: Training Statistics" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-training-statistics-300x168.png" alt="Screenshot of Vocabulary Trainer: Training Statistics" width="300" height="168" /></a></p>
<p>Now the added words can be trained, but while working on that I got already several ideas for enhancements: e. g. it would be possible to let the user choose in which direction the translation should be trained. Also adding a words card game, similar to the one in the old vocabulary trainer version, would probably be a nice feature.</p>
<p>So there is enough left to do, but first there are still other interface things that needs to be added or improved. I got some good ideas also from the Microsoft guys last weeks.</p>
<p>Next week I&#8217;ll be at the IDF in San Francisco.</p>
<p><em>So stay tuned for my next post in two weeks again on Monday!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/ultimate-coder-challenge-vocabulary-training/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 8 Hackathon for App Development</title>
		<link>http://www.ab-weblog.com/en/windows-8-hackathon-for-app-development/</link>
		<comments>http://www.ab-weblog.com/en/windows-8-hackathon-for-app-development/#comments</comments>
		<pubDate>Sat, 01 Sep 2012 09:47:59 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Hackathon]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=576</guid>
		<description><![CDATA[Last night Microsoft organized a Windows 8 hackathon here in Munich (Germany). That was the kind of events that really is for developers only - at the latest when you see the time of this event: it started at 6 pm &#8230; <a href="http://www.ab-weblog.com/en/windows-8-hackathon-for-app-development/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Last night Microsoft organized a Windows 8 hackathon here in Munich (Germany).</p>
<p><a href="http://www.ab-weblog.com/en/files/windows-8-hackathon-for-app-development.png"><img class="aligncenter size-medium wp-image-589" title="Windows 8 Hackathon for App Development" src="http://www.ab-weblog.com/en/files/windows-8-hackathon-for-app-development-300x169.png" alt="Windows 8 Hackathon for App Development" width="300" height="169" /></a></p>
<p>That was the kind of events that really is for developers only - at the latest when you see the time of this event: it started at 6 pm and ended at 4 am. <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>But it was fun to be there and doing some development for <a title="Ultimate Coder Challenge: Getting Started" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-getting-started/">my first metro-style app for Windows 8</a> in HTML5, especially as there were some competent Microsoft developers available for questions.</p>
<p><a href="http://www.ab-weblog.com/en/files/windows-8-hackathon-for-app-development-eating.png"><img class="aligncenter size-medium wp-image-590" title="Windows 8 Hackathon for App Development: Eating" src="http://www.ab-weblog.com/en/files/windows-8-hackathon-for-app-development-eating-300x169.png" alt="Windows 8 Hackathon for App Development: Eating" width="300" height="169" /></a></p>
<p>&#8230; and there was also enough to eat. <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p><em>Have you been to a development hackathon before, too?</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/windows-8-hackathon-for-app-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Ultimate Coder Challenge: Adding Functionality</title>
		<link>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-functionality/</link>
		<comments>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-functionality/#comments</comments>
		<pubDate>Mon, 27 Aug 2012 07:28:17 +0000</pubDate>
		<dc:creator>Andreas Breitschopp</dc:creator>
				<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Metro]]></category>
		<category><![CDATA[Ultimate Coder Challenge]]></category>
		<category><![CDATA[Ultrabook]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://www.ab-weblog.com/en/?p=562</guid>
		<description><![CDATA[In my post of last week I wrote about the preparation work needed to be done to convert my vocabulary trainer to a metro-style &#8211; oh, I mean modern UI style or Windows 8 style or whatever this should be called &#8230; <a href="http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-functionality/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In <a title="Ultimate Coder Challenge: Preparation Work" href="http://www.ab-weblog.com/en/ultimate-coder-challenge-preparation-work/">my post of last week</a> I wrote about the preparation work needed to be done to convert my vocabulary trainer to a metro-style &#8211; oh, I mean modern UI style or Windows 8 style or whatever this should be called now <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  &#8211; app for Windows 8.</p>
<p>This time we&#8217;ll add some real functionality to the app.</p>
<p>But before starting with that I&#8217;ll talk about a new issue I came across while developing. Suddenly Visual Studio didn&#8217;t start anymore and printed this error message:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-visual-studio-does-not-start.png"><img class="aligncenter size-medium wp-image-563" title="Screenshot of Error Message While Trying to Visual Studio" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-visual-studio-does-not-start-300x111.png" alt="Screenshot of Error Message While Trying to Visual Studio" width="300" height="111" /></a></p>
<p>It told me:</p>
<pre class="brush: text; gutter: false">The procedure entry point _Atomic_fetch_sub_4 could not be located in the dynamic link library C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe.</pre>
<p>What?<br />
A stil running instance of Visual Studio worked perfectly, but I couldn&#8217;t start a new one!</p>
<p>The only thing (beside developing) I&#8217;ve done till the last reboot was to install some Windows Live apps (to get the Windows Live Writer). I&#8217;ve searched in the internet and, indeed, this was the problem. Obviously there were some incompatibilities between that and the installed Visual Studio version. But, luckily, there is already a <a title="Website to Download Bug-Fix for Visual Studio Start Problem" href="http://www.microsoft.com/en-us/download/details.aspx?id=30178" target="_blank">bug-fix </a>from Microsoft.</p>
<p>These things always cost time, but anyway, everything is still beta. <img src='http://www.ab-weblog.com/en/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>Good, now let&#8217;s go on with the app.</p>
<p>At the end of my last post I made the lessons selectable and added the app bar:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-app-bar.png"><img class="aligncenter size-medium wp-image-548" title="Screenshot of the Vocabulary Trainer: App Bar" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-app-bar-300x168.png" alt="Screenshot of the Vocabulary Trainer: App Bar" width="300" height="168" /></a></p>
<p>As a next step some functionality for the &#8220;Edit dictionary&#8221; button needs to be added. Therefore I created a new page where each word contained in a dictionary of a lesson is displayed again in a grid to stay with the UI design:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary.png"><img class="aligncenter size-medium wp-image-564" title="Screenshot of the Vocabulary Trainer: Edit Dictionary" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-300x168.png" alt="Screenshot of the Vocabulary Trainer: Edit Dictionary" width="300" height="168" /></a></p>
<p>You can see that not only the words in both languages are displayed, but also a short info text for each word. When adding new words to the dictionary the user may enter such an info text as well to give a hint for the translation. In the example I used it to put the word in the context of a sentence. That&#8217;s a hint for beginners and should also increase the learning success.</p>
<p>To be able to change or delete a word the words can be selected just as the lessons on the previous view which opens an app bar again:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-app-bar.png"><img class="aligncenter size-medium wp-image-565" title="Screenshot of the Vocabulary Trainer: Edit Dictionary App Bar" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-dictionary-app-bar-300x168.png" alt="Screenshot of the Vocabulary Trainer: Edit Dictionary App Bar" width="300" height="168" /></a></p>
<p>Now the user can edit an existing word or add a new one:</p>
<p><a href="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-word.png"><img class="aligncenter size-medium wp-image-566" title="Screenshot of the Vocabulary Trainer: Edit Word" src="http://www.ab-weblog.com/en/files/ultimate-coder-challenge-screenshot-vocabulary-trainer-edit-word-300x168.png" alt="Screenshot of the Vocabulary Trainer: Edit Word" width="300" height="168" /></a></p>
<p>At this point words can already be added to the dictionary and this way lessons can be build. But the most important part is still missing: the real vocabulary training.</p>
<p>I&#8217;ll take care of that in the next week.</p>
<p><em>So read on next Monday!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ab-weblog.com/en/ultimate-coder-challenge-adding-functionality/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
<!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->