<?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>Tracelight.ch - Leuchtspur im Internet &#187; Mobile Development</title>
	<atom:link href="http://www.tracelight.ch/category/informationtechnology/mobile-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tracelight.ch</link>
	<description></description>
	<lastBuildDate>Sun, 04 Dec 2011 10:48:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Part II: Mimic SynchronizationContext behaviour on .NET CF</title>
		<link>http://www.tracelight.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/</link>
		<comments>http://www.tracelight.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/#comments</comments>
		<pubDate>Sun, 15 Feb 2009 20:18:34 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[CF]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[Delegate]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[SendOrPostCallback]]></category>
		<category><![CDATA[SynchronizationContext]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/</guid>
		<description><![CDATA[I just posted the second part of the article Part I: Mimic SynchronizationContext behaviour on .NET CF on planetgeek.ch! On the article I try to show how the basic behavior of the SynchronizationContext can be achieved on the .NET compact framework platform. Please refer to the article under: http://www.planetgeek.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/]]></description>
			<content:encoded><![CDATA[<p>I just posted the second part of the article <em>Part I: Mimic SynchronizationContext behaviour on .NET CF</em> on planetgeek.ch! On the article I try to show how the basic behavior of the SynchronizationContext can be achieved on the .NET compact framework platform. Please refer to the article under:</p>
<p><a title="http://www.planetgeek.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/" href="http://www.planetgeek.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/">http://www.planetgeek.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2009/02/15/part-ii-mimic-synchronizationcontext-behaviour-on-net-cf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Part I: Mimic SynchronizationContext behaviour on .NET CF</title>
		<link>http://www.tracelight.ch/2009/02/08/part-i-mimic-synchronizationcontext-behaviour-on-net-cf/</link>
		<comments>http://www.tracelight.ch/2009/02/08/part-i-mimic-synchronizationcontext-behaviour-on-net-cf/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 17:42:57 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.NET CF]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[Delegate]]></category>
		<category><![CDATA[SendOrPostCallback]]></category>
		<category><![CDATA[SynchronizationContext]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2009/02/08/part-i-mimic-synchronizationcontext-behaviour-on-net-cf/</guid>
		<description><![CDATA[Before I got into the details of the problem I want to briefly describe what the SynchronizationContext class really does and what it’s main purpose really is in the first part of the article. From that perspective I&#8217;m going to show how the basic functionality of the SynchronizationContext class can be implemented for the .NET [...]]]></description>
			<content:encoded><![CDATA[<p>Before I got into the details of the problem I want to briefly describe what the <em>SynchronizationContext</em> class really does and what it’s main purpose really is in the first part of the article. From that perspective I&#8217;m going to show how the basic functionality of the <em>SynchronizationContext</em> class can be implemented for the .NET compact framework in the second part of the article..</p>
<p> The msdn library documentation states:
</p>
<blockquote><p>Provides the basic functionality for propagating a synchronization context in various synchronization models.</p>
</blockquote>
<p>I must admit the first time when I read this definition I didn’t really get the key point behind the SynchronizationContext class. Detailed look into the implementation of SynchronizationContext and its base classes provided me the following information:</p>
<blockquote><p><span style="background-color: #ffffff">The <em>SynchronizationContext</em> class is a class belonging to the System.Threading namespace. The <em>SynchronizationContext</em> provides a model to make the communication between threads easier and more robust especially if multiple threading contexts/apartments such as “UI threading context” etc. are present.</span></p>
</blockquote>
<p>To get a deeper understanding of the definition above I want to give you a short example. Imagine if you have a separate thread performing an intense calculation such as calculating the n-th Fibonacci number. When the separate thread has finished its long running operation you want to display the n-th Fibonacci number on a user interface. Normally (without using the <em>SynchronizationContext</em> class) you would need to do the following (or at least something similar):</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">delegate</span> <span style="color: #6666cc; font-weight: bold;">void</span> FibonacciResultDelegate<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">long</span> fibonacciResult<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> MethodCalledByTheFibonacciThread<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">long</span> fibonacciNumber<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
   <span style="color: #0600FF; font-weight: bold;">if</span><span style="color: #008000;">&#40;</span> fibonacciResultTextBox<span style="color: #008000;">.</span><span style="color: #0000FF;">InvokeRequired</span><span style="color: #008000;">&#41;</span>
   <span style="color: #008000;">&#123;</span>
      FibonacciResultDelegate fibonacciDelegate <span style="color: #008000;">=</span>
         MethodCalledByTheFibonacciThread<span style="color: #008000;">;</span>
      fibonacciDelegate<span style="color: #008000;">.</span><span style="color: #0000FF;">Invoke</span><span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span>, <span style="color: #008000;">new</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> <span style="color: #008000;">&#123;</span> fibonacciNumber <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
      <span style="color: #0600FF; font-weight: bold;">return</span><span style="color: #008000;">;</span>
   <span style="color: #008000;">&#125;</span>
   fibonacciResultTextBox<span style="color: #008000;">.</span><span style="color: #0000FF;">Text</span> <span style="color: #008000;">=</span> fibonacciNumber<span style="color: #008000;">.</span><span style="color: #0000FF;">ToString</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>
  <br />With the <em>SynchronizationContext</em> class we can invoke delegates in the context of a different thread. For the example above we could do the following: </p>
<p></p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
</pre></td><td class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> FibonacciPresenter
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #0600FF; font-weight: bold;">readonly</span> Thread workerThread<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #0600FF; font-weight: bold;">readonly</span> SynchronizationContext context<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #0600FF; font-weight: bold;">readonly</span> IFibonacciView fibonacciView<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> FibonacciWorker<span style="color: #008000;">&#40;</span>IFibonacciView view<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            fibonacciView <span style="color: #008000;">=</span> view<span style="color: #008000;">;</span>
&nbsp;
            context <span style="color: #008000;">=</span> SynchronizationContext<span style="color: #008000;">.</span><span style="color: #0000FF;">Current</span><span style="color: #008000;">;</span>
&nbsp;
            workerThread <span style="color: #008000;">=</span> <span style="color: #008000;">new</span> Thread<span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> ThreadStart<span style="color: #008000;">&#40;</span>FibonacciCalc<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
            workerThread<span style="color: #008000;">.</span><span style="color: #0000FF;">Start</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">void</span> FibonacciCalc<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #6666cc; font-weight: bold;">long</span> result <span style="color: #008000;">=</span> CalculateFibonacciNumber<span style="color: #008000;">&#40;</span> <span style="color: #008000;">...</span> <span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            context<span style="color: #008000;">.</span><span style="color: #0000FF;">Post</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">new</span> SendOrPostCallback<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">delegate</span><span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">object</span> state<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
               fibonacciView<span style="color: #008000;">.</span><span style="color: #0000FF;">DisplayResult</span><span style="color: #008000;">&#40;</span>result<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
            <span style="color: #008000;">&#125;</span><span style="color: #008000;">&#41;</span>, <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #008080; font-style: italic;">// details omitted...</span>
    <span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>In code line 13 we can see how the <em>SynchronizationContext</em> is retrieved. The <em>SynchronizationContex.Current</em> property points to the <em>SynchronizationContext</em> of the thread where the <em>FibonacciWorker</em> was created (in my example the <em>FibonacciWorker</em> would be created in a control). Then the <em>FibonacciCalc</em> method can <em>post</em> (asynchronous) or <em>send</em> (synchronous) a <em>SendOrPostCallback</em> delegate containing the “job” which needs to be marshaled over the <em>SynchronizationContext</em>. Therefore the line <em>fibonacciView.DisplayResult(result)</em> would be invoked on the UI thread which allows us to remove the “invoke required” code parts and directly set the fibonacci calculation result to the textbox <em>text</em> property.</p>
<p>We can briefly summarize that the purpose of the <em>SynchronizationContext</em> is to post (asynchronous) or send (synchronous) <em>SendOrPostCallback</em> delegates in the correct threading context which simplifies marshaling.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2009/02/08/part-i-mimic-synchronizationcontext-behaviour-on-net-cf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rumors about Windows Mobile 6.5</title>
		<link>http://www.tracelight.ch/2009/01/21/rumors-about-windows-mobile-65/</link>
		<comments>http://www.tracelight.ch/2009/01/21/rumors-about-windows-mobile-65/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 20:07:39 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Rumors]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Windows Mobile]]></category>
		<category><![CDATA[Windows Mobile 6.5]]></category>
		<category><![CDATA[Windows7]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2009/01/21/rumors-about-windows-mobile-65/</guid>
		<description><![CDATA[There are rumors going around on the internet about the release of windows mobile 6.5. Some say that windows mobile 6.5 is never going to be released but other strongly believe that the new windows mobile 6.5 will be released soon. Not long ago people were blogging on the internet that Microsoft is probably going [...]]]></description>
			<content:encoded><![CDATA[<p>There are rumors going around on the internet about the release of windows mobile 6.5. Some say that windows mobile 6.5 is never going to be released but other strongly believe that the new windows mobile 6.5 will be released soon. </p>
<p>Not long ago people were blogging on the internet that Microsoft is probably going to focus on windows 7 and it’s integration into the newest mobile devices. But that has not been approved by Microsoft.</p>
<p>And today some screenshots about windows mobile 6.5 came up out of never on the following blog:</p>
<p><a title="http://wmpoweruser.com/?p=2536" href="http://wmpoweruser.com/?p=2536">http://wmpoweruser.com/?p=2536</a></p>
<p>Nobody can approve if these screenshots are real or just another horrible fake. We are staying put and watching the latest news on this topic. We’ll keep you guys posted!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2009/01/21/rumors-about-windows-mobile-65/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Delegate.DynamicInvoke for .NET Compact Framework</title>
		<link>http://www.tracelight.ch/2009/01/18/delegatedynamicinvoke-for-net-compact-framework/</link>
		<comments>http://www.tracelight.ch/2009/01/18/delegatedynamicinvoke-for-net-compact-framework/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 00:35:14 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[Compact Framework]]></category>
		<category><![CDATA[Delegate]]></category>
		<category><![CDATA[DynamicInvoke]]></category>
		<category><![CDATA[ExtensionMethod]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/?p=600</guid>
		<description><![CDATA[As you might already know I&#8217;m a certified windows mobile application developer. My speciality is hybrid application development for applications which target both the full .NET framework platform and also the mobile platform. Of course nobody wants to write the same code for each platform again so you have to come up with some tricks [...]]]></description>
			<content:encoded><![CDATA[<p>As you might already know I&#8217;m a certified windows mobile application developer. My speciality is hybrid application development for applications which target both the full .NET framework platform and also the mobile platform. Of course nobody wants to write the same code for each platform again so you have to come up with some tricks and solutions to overcome some limitations on the compact framework.</p>
<p>One such limitation is the missing Delegate.DynamicInvoke method. The Delegate.DynamicInvoke method allows to dynamically invoke delegates late-bound. That means normally when you are invoking a method via a delegate you actually need to have knowledge about the target type where the delegate gets executed. With Delegate.DynamicInvoke this is not longer necessary. The beauty of this is, that you can have base code like the following:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008080; font-style: italic;">// Elsewhere</span>
RegisterDelegate<span style="color: #008000;">&#40;</span>SomeClass<span style="color: #008000;">.</span><span style="color: #0000FF;">SomeMethod</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
RegisterDelegate<span style="color: #008000;">&#40;</span>SomeOtherClass<span style="color: #008000;">.</span><span style="color: #0000FF;">SomeOtherMethod</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
FireForAllWith<span style="color: #008000;">&#40;</span><span style="color: #FF0000;">1</span>, <span style="color: #FF0000;">2</span>, <span style="color: #FF0000;">3</span>, <span style="color: #FF0000;">4</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
&nbsp;
<span style="color: #008080; font-style: italic;">// Code in some utility</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> FireForAllWith<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">params</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
   someGenericCollection<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">ForEach</span><span style="color: #008000;">&#40;</span>dlg <span style="color: #008000;">=&gt;</span> dlg<span style="color: #008000;">.</span><span style="color: #0000FF;">DynamicInvoke</span><span style="color: #008000;">&#40;</span>args<span style="color: #008000;">&#41;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span>
<span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">void</span> RegisterDelegate<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">Delegate</span> dlg<span style="color: #008000;">&#41;</span>
<span style="color: #008000;">&#123;</span>
   someGenericCollection<span style="color: #008000;">.</span><span style="color: #0000FF;">Add</span><span style="color: #008000;">&#40;</span>dlg<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
<span style="color: #008000;">&#125;</span></pre></div></div>

<p>But if you try to use Delegate.DynamicInvoke in the compact framework your infrastructure code will not compile because for some obscure reasons microsoft decided not to implement Delegate.DynamicInvoke for .NET compact framework. Here is my solution to this problem:</p>
<p>I created an extension method for the delegate class with the name DynamicInvoke. This extension method uses a small trick to implement the DynamicInvoke behaviour of the full framework platform.</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;">    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">class</span> DelegateExtensions
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #0600FF; font-weight: bold;">static</span> <span style="color: #6666cc; font-weight: bold;">object</span> DynamicInvoke<span style="color: #008000;">&#40;</span><span style="color: #0600FF; font-weight: bold;">this</span> <span style="color: #6666cc; font-weight: bold;">Delegate</span> dlg, <span style="color: #0600FF; font-weight: bold;">params</span> <span style="color: #6666cc; font-weight: bold;">object</span><span style="color: #008000;">&#91;</span><span style="color: #008000;">&#93;</span> args<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0600FF; font-weight: bold;">return</span> dlg<span style="color: #008000;">.</span><span style="color: #0000FF;">Method</span><span style="color: #008000;">.</span><span style="color: #0000FF;">Invoke</span><span style="color: #008000;">&#40;</span>dlg<span style="color: #008000;">.</span><span style="color: #0000FF;">Target</span>, BindingFlags<span style="color: #008000;">.</span><span style="color: #0600FF; font-weight: bold;">Default</span>, <span style="color: #0600FF; font-weight: bold;">null</span>, args, <span style="color: #0600FF; font-weight: bold;">null</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span></pre></div></div>

<p>As you can see I&#8217;m using the delegates method property which returns a MethodInfo object. On the MethodInfo I&#8217;m able to call Invoke and pass the arguments to the bound method. But the problem here is that Invoke requires a target where the method gets executed. This is where the delegates target property comes into play. That&#8217;s the whole magic and you&#8217;re able to dynamically invoke late bound methods via Delegate.DynamicInvoke.</p>
<p>Download <a href='http://www.tracelight.ch/wp-content/uploads/2009/01/delegateextensions.cs'>DelegateExtensions</a> for the source code.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2009/01/18/delegatedynamicinvoke-for-net-compact-framework/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Really useless stuff you can do with G-Sensor</title>
		<link>http://www.tracelight.ch/2008/11/28/really-useless-stuff-you-can-do-with-g-sensor/</link>
		<comments>http://www.tracelight.ch/2008/11/28/really-useless-stuff-you-can-do-with-g-sensor/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 21:16:19 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[BeMario]]></category>
		<category><![CDATA[G-Sensor]]></category>
		<category><![CDATA[Spin-the-bottle]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/11/28/really-useless-stuff-you-can-do-with-g-sensor/</guid>
		<description><![CDATA[First of all I must say I&#8217;m watching a movie and at the same time I&#8217;m writing a blog post on my computer. I really miss my multi monitor environment I have at my office Back to the topic&#8230; I just stumbled over two really cool programs you can install on your windows mobile device [...]]]></description>
			<content:encoded><![CDATA[<p>First of all I must say I&#8217;m watching a movie and at the same time I&#8217;m writing a blog post on my computer. I really miss my multi monitor environment I have at my office <img src='http://www.tracelight.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Back to the topic&#8230;</p>
<p>I just stumbled over two really cool programs you can install on your windows mobile device with G-Sensor. The first application is BeMario. BeMario is a cool implementation of the lovely Super Mario Game we all played till we had wound fingers. So you might asking yourself what is new with this game? The cool thing is that Mario only jumps in this game if you jump with your phone in your hands (or shake it accordingly) <img src='http://www.tracelight.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><a href="http://www.tracelight.ch/wp-content/uploads/2008/11/bemario.gif"><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="192" alt="bemario" src="http://www.tracelight.ch/wp-content/uploads/2008/11/bemario-thumb.gif" width="144" border="0"></a> </p>
<p><a title="http://forum.xda-developers.com/showthread.php?p=2934494" href="http://forum.xda-developers.com/showthread.php?p=2934494">http://forum.xda-developers.com/showthread.php?p=2934494</a></p>
<p>The second one is the old game called spin-the-bottle. This romantic game should not be played with your work colleagues <img src='http://www.tracelight.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Every shake with your phone will make the bottle spin. Hopefully the bottle will point to a nice cute person standing in front of you <img src='http://www.tracelight.ch/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p><embed src="http://www.youtube.com/v/LFFRPsJba2o&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true"></embed></p>
<p>&nbsp;<a title="http://blog.lieberlieber.com/2008/11/13/warum-programmieren-und-trinken-so-gut-zusammen-passt/" href="http://blog.lieberlieber.com/2008/11/13/warum-programmieren-und-trinken-so-gut-zusammen-passt/">http://blog.lieberlieber.com/2008/11/13/warum-programmieren-und-trinken-so-gut-zusammen-passt/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/11/28/really-useless-stuff-you-can-do-with-g-sensor/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Android vs. Windows Mobile</title>
		<link>http://www.tracelight.ch/2008/10/04/android-vs-windows-mobile/</link>
		<comments>http://www.tracelight.ch/2008/10/04/android-vs-windows-mobile/#comments</comments>
		<pubDate>Sat, 04 Oct 2008 09:59:20 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[HTC]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/10/04/android-vs-windows-mobile/</guid>
		<description><![CDATA[John Wang von HTC sagt, Android sei kein Konkurrenz-Betriebssystem sondern ziele auf im Gegensatz zu Windows Mobile weniger auf die Business-Features ab sondern sei flexibler in Sachen Applikations- und Ger&#228;tedesigns und w&#252;rde eher auf die Usability fokusieren. HTC plant, weiter beide Betriebssysteme einzusetzen und Ger&#228;te daf&#252;r zu entwickeln. Quelle: Digitimes.com (Englisch). Das ist vor Allem [...]]]></description>
			<content:encoded><![CDATA[<blockquote><p>John Wang von HTC sagt, Android sei kein Konkurrenz-Betriebssystem sondern ziele auf im Gegensatz zu Windows Mobile weniger auf die Business-Features ab sondern sei flexibler in Sachen Applikations- und Ger&#228;tedesigns und w&#252;rde eher auf die Usability fokusieren. HTC plant, weiter beide Betriebssysteme einzusetzen und Ger&#228;te daf&#252;r zu entwickeln.</p>
<p>Quelle: <a href="http://www.digitimes.com/news/a20080925PD213.html">Digitimes.com</a> (Englisch).</p>
<p>Das ist vor Allem interessant wenn man bedenkt, dass Microsoft weiter daran festh&#228;llt, von den Herstellern und den Mobilfunkanbietern Lizenzgeb&#252;ren zu fordern (zwischen USD 8 und USD 15 pro Ger&#228;t). Wenn man dazu &#252;berlegt, dass f&#252;r Hersteller keine Lizenzgeb&#252;ren f&#228;llig werden f&#252;r Symbian oder Android-OS. </p>
<p>Quelle: <a href="http://www.pocketpcthoughts.com/news/show/90802/microsoft-to-continue-licensing-fees-for-windows-mobile.html">PocketPCthouchts.com</a></p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/10/04/android-vs-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managed Services f&#252;r Windows Mobile</title>
		<link>http://www.tracelight.ch/2008/06/12/managed-services-fr-windows-mobile/</link>
		<comments>http://www.tracelight.ch/2008/06/12/managed-services-fr-windows-mobile/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 07:00:18 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Codeplex]]></category>
		<category><![CDATA[Managed Services]]></category>
		<category><![CDATA[Services]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/06/12/managed-services-fr-windows-mobile/</guid>
		<description><![CDATA[Sicherlich haben schon einige von euch die M&#246;glichkeit Services unter Windows Mobile zu erstellen vermisst. Selbstverst&#228;ndlich war das bis anhin schon m&#246;glich aber nur &#252;ber komplizierte PInvokes. Dies hat sich nun ge&#228;ndert! Peter Nowak hat auf Codeplex eine Library ver&#246;ffentlicht, mit der es m&#246;glich ist, Managed Services f&#252;r Windows Mobile zu erstellen! Die Library ist [...]]]></description>
			<content:encoded><![CDATA[<p>Sicherlich haben schon einige von euch die M&#246;glichkeit Services unter Windows Mobile zu erstellen vermisst. Selbstverst&#228;ndlich war das bis anhin schon m&#246;glich aber nur &#252;ber komplizierte PInvokes. Dies hat sich nun ge&#228;ndert! Peter Nowak hat auf Codeplex eine Library ver&#246;ffentlicht, mit der es m&#246;glich ist, Managed Services f&#252;r Windows Mobile zu erstellen! Die Library ist folgendermassen aufgebaut:</p>
<p><a href="http://www.tracelight.ch/wp-content/uploads/2008/06/managedserviceclassdiagram.png" target="_blank"><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="316" alt="ManagedServiceClassDiagram" src="http://www.tracelight.ch/wp-content/uploads/2008/06/managedserviceclassdiagram-thumb.png" width="400" border="0" /></a> </p>
<p>Mehr dazu unter:</p>
<p><a title="http://www.codeplex.com/managedserviceswm" href="http://www.codeplex.com/managedserviceswm">http://www.codeplex.com/managedserviceswm</a></p>
<p>Die technischen Details dahinter:</p>
<p><a title="http://bansky.net/blog/2008/04/services-for-windows-mobile-in-managed-code/" href="http://bansky.net/blog/2008/04/services-for-windows-mobile-in-managed-code/">http://bansky.net/blog/2008/04/services-for-windows-mobile-in-managed-code/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/06/12/managed-services-fr-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Schnelle Bitmapmanipulation unter Windows Mobile</title>
		<link>http://www.tracelight.ch/2008/06/11/schnelle-bitmapmanipulation-unter-windows-mobile/</link>
		<comments>http://www.tracelight.ch/2008/06/11/schnelle-bitmapmanipulation-unter-windows-mobile/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 06:43:14 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Fast Bitmap Manipulation]]></category>
		<category><![CDATA[Roshan Khna]]></category>
		<category><![CDATA[Schnelle Bitmapmanipulation]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/06/11/schnelle-bitmapmanipulation-unter-windows-mobile/</guid>
		<description><![CDATA[Roshan Khan zeigt in seinem Blogartikel wie man unter Windows Mobile eine schnelle und effiziente Manipulation von Bitmaps durchf&#252;hren kann. Obwohl die Klasse Bitmap sealed ist, zeigt er eine elegante M&#246;glichkeit Bilder zu manipulieren. http://blogs.msdn.com/windowsmobile/archive/2008/04/15/faster-c.aspx]]></description>
			<content:encoded><![CDATA[<p>Roshan Khan zeigt in seinem Blogartikel wie man unter Windows Mobile eine schnelle und effiziente Manipulation von Bitmaps durchf&#252;hren kann. Obwohl die Klasse Bitmap sealed ist, zeigt er eine elegante M&#246;glichkeit Bilder zu manipulieren. </p>
<p><a title="http://blogs.msdn.com/windowsmobile/archive/2008/04/15/faster-c.aspx" href="http://blogs.msdn.com/windowsmobile/archive/2008/04/15/faster-c.aspx">http://blogs.msdn.com/windowsmobile/archive/2008/04/15/faster-c.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/06/11/schnelle-bitmapmanipulation-unter-windows-mobile/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Mobile 6.1 unter Visual Studio emulieren</title>
		<link>http://www.tracelight.ch/2008/04/14/windows-mobile-61-unter-visual-studio-emulieren/</link>
		<comments>http://www.tracelight.ch/2008/04/14/windows-mobile-61-unter-visual-studio-emulieren/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 19:06:45 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Emulator]]></category>
		<category><![CDATA[Mobile 6.1]]></category>
		<category><![CDATA[Visual Studio]]></category>
		<category><![CDATA[Windows Mobile]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/04/14/windows-mobile-61-unter-visual-studio-emulieren/</guid>
		<description><![CDATA[Hier wieder einmal interessante News von der mobile Front. Im Download Center von Microsoft stehen Emulator Images f&#252;r Windows Mobile 6.1 zur Verf&#252;gung. Diese k&#246;nnen entweder mit Visual Studio 2005 oder Visual Studio 2008 verwendet werden, um Applikationen zu testen, die f&#252;r die neue Windows Mobile-Version erstellt wurden. Die Images k&#246;nnen auch als Standalone-Version ohne [...]]]></description>
			<content:encoded><![CDATA[<p>Hier wieder einmal interessante News von der mobile Front.</p>
<blockquote><p>Im Download Center von Microsoft stehen Emulator Images f&#252;r Windows Mobile 6.1 zur Verf&#252;gung. Diese k&#246;nnen entweder mit Visual Studio 2005 oder Visual Studio 2008 verwendet werden, um Applikationen zu testen, die f&#252;r die neue Windows Mobile-Version erstellt wurden. Die Images k&#246;nnen auch als Standalone-Version ohne Visual Studio benutzt werden. Bisher stehen lediglich englische Images zur Verf&#252;gung.</p>
</blockquote>
<p>Quelle: <a title="http://it-republik.de/dotnet/news/Windows-Mobile-6.1-unter-Visual-Studio-emulieren-042647.html" href="http://it-republik.de/dotnet/news/Windows-Mobile-6.1-unter-Visual-Studio-emulieren-042647.html">http://it-republik.de/dotnet/news/Windows-Mobile-6.1-unter-Visual-Studio-emulieren-042647.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/04/14/windows-mobile-61-unter-visual-studio-emulieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Programming unter VS2008</title>
		<link>http://www.tracelight.ch/2008/03/19/mobile-programming-unter-vs2008/</link>
		<comments>http://www.tracelight.ch/2008/03/19/mobile-programming-unter-vs2008/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 07:25:52 +0000</pubDate>
		<dc:creator>Daniel Marbach</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Mobile Development]]></category>
		<category><![CDATA[Mobile Programmierung]]></category>
		<category><![CDATA[Professional]]></category>
		<category><![CDATA[SmartDevice]]></category>
		<category><![CDATA[Standard]]></category>
		<category><![CDATA[Visual Studio 2008]]></category>
		<category><![CDATA[VS2008]]></category>

		<guid isPermaLink="false">http://www.tracelight.ch/2008/03/19/mobile-programming-unter-vs2008/</guid>
		<description><![CDATA[Visual Studio 2008 hat den Support f&#252;r das Programmieren auf mobilen Plattformen erheblich erweitert. Ich m&#246;chte hier aber nicht auf diese Feature eingehen sondern einen wichtigen Hinweis betreffend der Unterst&#252;tzung von Visual Studio 2008 f&#252;r mobile Programmierung machen. Neu ist n&#228;mlich nicht mehr Visual Studio 2008 Standard bereits in der Lage SmartDevice Projekte zu erstellen, [...]]]></description>
			<content:encoded><![CDATA[<p>Visual Studio 2008 hat den Support f&#252;r das Programmieren auf mobilen Plattformen erheblich erweitert. Ich m&#246;chte hier aber nicht auf diese Feature eingehen sondern einen wichtigen Hinweis betreffend der Unterst&#252;tzung von Visual Studio 2008 f&#252;r mobile Programmierung machen. Neu ist n&#228;mlich nicht mehr Visual Studio 2008 Standard bereits in der Lage SmartDevice Projekte zu erstellen, sondern es ist die Professional Variante von N&#246;ten! Also Achtung beim Kauf von Visual Studio 2008.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tracelight.ch/2008/03/19/mobile-programming-unter-vs2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

