<?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>Heiko Behrens (Blog)</title>
	<atom:link href="http://HeikoBehrens.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://HeikoBehrens.net</link>
	<description>11:60 p.m. - my plain thoughts</description>
	<lastBuildDate>Tue, 10 Jan 2012 16:48:30 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Breaking New Ground</title>
		<link>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/</link>
		<comments>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 12:25:03 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[BeamApp]]></category>
		<category><![CDATA[BlackBerry]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1788</guid>
		<description><![CDATA[After nearly three years with itemis I decided to found my own startup and to create a product in the mobile area. I like to think back of the awesome time with the Xtext team and later the newly founded mobile division at itemis. It&#8217;s been a pleasure to do consulting for demanding customers and [...]]]></description>
			<content:encoded><![CDATA[<p>After nearly <a title="Working for itemis" href="http://HeikoBehrens.net/2008/10/02/working-for-itemis/">three years with itemis</a> I decided to found my own startup and to create a product in the mobile area. I like to think back of the awesome time with the <a title="Xtext won Eclipse Community Award!" href="http://blog.efftinge.de/2010/03/xtext-won-eclipse-community-award.html">Xtext team</a> and later the newly founded <a title="Itemis' Mobile Division" href="http://mobile.itemis.com/">mobile division</a> at itemis. It&#8217;s been a pleasure to do consulting for demanding customers and to advocate model-driven development with Eclipse at <a href="http://heikobehrens.net/speaking/">international conferences</a>. I learned a lot over this time and want to thank all of my colleagues within itemis &#8211; Thank you for a great time!</p>
<div id="attachment_1792" class="wp-caption aligncenter" style="width: 460px"><a href="http://getBeamApp.com"><img class="size-full wp-image-1792 " title="BeamAppBanner" src="http://HeikoBehrens.net/wp-content/uploads/2011/08/BeamAppBanner.png" alt="" width="450" height="225" /></a><p class="wp-caption-text">My startup BeamApp builds a consumer product for mobile users</p></div>
<p>I was carrying the idea of building a &#8220;real&#8221; product for quite some time. So, after extensive discussions with friends, colleagues, other entrepreneurs and the directors of itemis I finally decided to leave my efforts in &#8220;consulting services&#8221; behind and to create my own business. It&#8217;s called <a href="http://getBeamApp.com">BeamApp</a> and focusses solely on building a consumer product for the growing market of mobile users.</p>
<p>As <a href="http://hackfwd.com/companies#beamapp">HackFwd reports</a>:</p>
<blockquote><p>With BeamApp, you can pass your current context from one device to another to continue an ongoing task with the gadget that fits best. A hassle-free, wireless setup and a seamless integration for dialing, texting, surfing, directions or music simplifies your mobile life. It works on iPhone, Android and BlackBerry with any laptop, netbook and tablet that runs Windows, Mac OS X or a browser.</p></blockquote>
<p>Thanks to <a href="http://en.wikipedia.org/wiki/Lars_Hinrichs">Lars Hinrichs</a> I got funded by <a href="http://hackfwd.com/">HackFwd</a> for roughly a year. From here, I will concentrate on the minimal viable product first, so please apologize the poor artwork and lack of promotion at the moment. If you want to stay up to date, follow <a href="https://twitter.com/#!/beamApp">BeamApp on Twitter</a> and subscribe at <a href="http://beta.getBeamApp.com/">BeamApp&#8217;s teaser page</a>.</p>
<p>You do not believe how excited I am about this step!</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/9863c8560baa4ac7b403b2a019f041b1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1788&amp;md5=f5142e964bca3077b82c8eedb8941b6e" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/08/17/breaking-new-ground/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>New Website: Xtext 2.0 Indigo, CSS3 + HTML5</title>
		<link>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/</link>
		<comments>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/#comments</comments>
		<pubDate>Wed, 13 Jul 2011 22:47:49 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1758</guid>
		<description><![CDATA[There&#8217;s been a major redesign of the Xtext website. Not only, it leverages the modern Eclipse Indigo look in different variations. Similar to Xtext itself, it comes with some cool new features whereas others had been polished and could be improved. You will find a completely overhauled documentation and dedicated areas for the infamous Xbase and [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a major redesign of the <a href="http://eclipse.org/Xtext/">Xtext website</a>. Not only, it leverages the modern<a href="http://www.eclipse.org/indigo/"> Eclipse Indigo</a> look in different variations. Similar to Xtext itself, it comes with some cool new features whereas others had been polished and could be improved. You will find a <a href="http://www.eclipse.org/Xtext/documentation/2_0_0/010-xtext-in-5-minutes.php">completely overhauled documentation</a> and dedicated areas for the infamous <a href="http://www.eclipse.org/Xtext/#xbase">Xbase</a> and <a href="http://www.eclipse.org/Xtext/#xtend2">Xtend 2</a>.</p>
<div id="attachment_1761" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.eclipse.org/Xtext/"><img class="size-full wp-image-1761" title="website" src="http://HeikoBehrens.net/wp-content/uploads/2011/07/website.png" alt="" width="550" height="411" /></a><p class="wp-caption-text">The new Xtext website comes with many cool features</p></div>
<p>When you first open the new website you will notice an extensive realignment compared to the <a href="http://heikobehrens.net/2010/01/07/recent-updates-of-the-xtext-website/">previous version</a>. The site leverages various CSS3 features such as animations (look at the subtle &#8220;2.0&#8243; glow), smooth hover effects or a slider-based navigation at the top.</p>
<p>In addition to <a href="http://www.eclipse.org/Xtext/#LatestNews">various news streams</a> that collect blog posts, tweets or commit statistics, there are randomly drawn quotes from happy Xtext users. Talking about mashups and happiness: The documentation now integrates with <a href="http://disqus.com/">Disqus</a> (at the bottom of every page) so you can give direct feedback on any topic or provide useful code snippets to others!</p>
<p>From a technical perspective, the &#8220;Install Now&#8221; button at the top is the most interesting enhancement: It supports the <a href="http://ianskerrett.wordpress.com/2011/04/06/drag-and-drop-install-is-coming-to-eclipse/">new Eclipse Marketplace Drag&amp;Drop installation</a> feature that comes with Indigo. Still, if you just click on the button, you will be guided to the classic Xtext download page (thanks to some JavaScript). Both alternatives are explained with an HTML5-powered animation (read: NO FLASH) that appears once you hover over the button. Yes, there&#8217;s definitely some <a href="http://tumultco.com/hype/">hype</a> going on&#8230;</p>
<p>Unfortunately, I couldn&#8217;t contribute much code to the Xtext project over the last two years. Working on the Xtext website once a year is my attempt to say: &#8220;Thank you, Xtext team. Your work is great!&#8221;</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/ddab09664a804d4f989065d60733aa9a" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1758&amp;md5=cce643233f6035c3578a3ea3eb02a1dd" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/07/13/new-website-xtext-2-0-indigo-css3-html5/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Publications in current issues of PAGE magazine and mobile business</title>
		<link>http://HeikoBehrens.net/2011/04/29/publications/</link>
		<comments>http://HeikoBehrens.net/2011/04/29/publications/#comments</comments>
		<pubDate>Fri, 29 Apr 2011 15:40:13 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[publication]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1665</guid>
		<description><![CDATA[The German print magazines PAGE 5.11 and mobile business 03.11 both share some of my ideas about mobile development in general, web vs. native, and how designers and developers can work hand in hand to produce a great mobile experience. The PAGE article collects examples of several professionals to give an overview of today&#8217;s processes [...]]]></description>
			<content:encoded><![CDATA[<p>The German print magazines <a href="http://www.page-online.de/heft/einzelheft/2011/5" target="_blank">PAGE 5.11</a> and <a href="http://www.mobilebusiness.de" target="_blank">mobile business 03.11</a> both share some of my ideas about mobile development in general, web vs. native, and how designers and developers can work hand in hand to produce a great mobile experience.</p>
<div id="attachment_1670" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1670" title="clippingPage" src="http://HeikoBehrens.net/wp-content/uploads/2011/04/clippingPage.png" alt="" width="550" height="194" /><p class="wp-caption-text">PAGE 3.11 - practical experiences from different areas about collaboration of design and implementation collected on 11 pages</p></div>
<p>The <a href="http://www.page-online.de" target="_blank">PAGE</a> article collects examples of several professionals to give an overview of today&#8217;s processes in the area of print, web, and mobile. Throughout the interview I had with the editor, several tools, good and unavoidably bad experiences came into my mind. Most of the time, I was talking about what works well (avoid the man-in-the-middle, keep a good relationship and use the right tool for the job) and emphasized a single advice: Do not treat apps as &#8220;just a small website&#8221; if you want to keep to the budget. Also, if you carefully look on page 31 you might notice the featured <a title="Video Compositing on the iPhone: OpenGL with alpha mask on top of a full motion video" href="http://HeikoBehrens.net/2010/07/07/video-compositing-on-the-iphone-opengl-with-alpha-mask-on-top-of-a-full-motion-video/">NIVEA Waterfall Race I wrote about before</a> from a technical perspective.</p>
<div id="attachment_1672" class="wp-caption aligncenter" style="width: 560px"><a href="http://www.mobilebusiness.de/nc/home/news-detail/article/allzweckwaffe-oder-spezialist.html"><img class="size-full wp-image-1672" title="clippingMobileBusiness" src="http://HeikoBehrens.net/wp-content/uploads/2011/04/clippingMobileBusiness.png" alt="" width="550" height="190" /></a><p class="wp-caption-text">mobile business 03.11 - you can read my German article about mobile web and native apps online</p></div>
<p>The <a href="http://www.mobilebusiness.de" target="_blank">mobile business</a> asked me to write about the controversially discussed topic &#8220;mobile web or native apps?&#8221;. Even though I can see high potential on current mobile web technology it&#8217;s still not on par with the native counterpart when looking at user experience and features such as the camera or app store distribution. Addressing decision makers and non-developers I skipped technical details of <a title="Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010" href="http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/">cross-platform development</a> but explained the different alternatives (including hybrid apps) in words one could use to make a business decision and to find the right developer instead. Also, you can find a reduced pro/con list for these two approaches. This article is <a href="http://www.mobilebusiness.de/nc/home/news-detail/article/allzweckwaffe-oder-spezialist.html" target="_blank">available online</a>, too!</p>
<p>Both magazines can be ordered online and are of course part of our company library. So, if you happen to <a href="http://mobile.itemis.com/" target="_blank">visit us in Hamburg</a> you are more than welcome to flip through our copy.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.page-online.de/heft/einzelheft/2011/5" target="_blank">PAGE magazine issue 5.11</a> (German)</li>
<li><a href="http://www.mobilebusiness.de/nc/home/news-detail/article/allzweckwaffe-oder-spezialist.html" target="_blank">Online version of my article &#8220;Allzweckwaffe oder Spezialist&#8221;</a>, mobile business issue 03.11 (German)</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/f6e0bc6cd8104766a22fd65dc2269b2d" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1665&amp;md5=7763722b43519fd8af68e1a316e60938" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/04/29/publications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Nudity on the Web</title>
		<link>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/</link>
		<comments>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 15:59:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1565</guid>
		<description><![CDATA[Today, I am switching off the styling of my blog to celebrate the Naked CSS Day 2011. Similar to last year, I am participating in this annual event to promote web standards and proper, semantic markup. Not only do web standards such as Cascading Style Sheets (CSS) build the solid foundation of every browser-based endeavor. On a [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I am switching off the styling of my blog to celebrate the <a href="http://naked.threepixeldrift.com/" target="_blank">Naked CSS Day 2011</a>. Similar to <a title="Let’s get naked" href="http://HeikoBehrens.net/2010/04/09/lets-get-naked/">last year</a>, I am participating in this annual event to promote web standards and proper, semantic markup.</p>
<div id="attachment_1651" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1651" title="Comparison" src="http://HeikoBehrens.net/wp-content/uploads/2011/04/Comparison.png" alt="Comparison between Style and No-Style" width="550" height="248" /><p class="wp-caption-text">My blog&#39;s front page with and without cascading style sheets.</p></div>
<p>Not only do web standards such as <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets" target="_blank">Cascading Style Sheets</a> (CSS) build the solid foundation of every browser-based endeavor. On a political level their existence encouraged the community and vendors of different origins to consolidate their work over time, eventually to the advantage of us &#8211; the online citizens.</p>
<p>For years, the <a href="http://www.acidtests.org/" target="_blank">Acid tests</a> let users discuss how standard compliant their browsers (with respect to CSS) were. Recently, the <a href="http://www.w3.org/html/logo/" target="_blank">HTML5 logo initiative</a> came up and tries to make the technology huddle easier to understand for mere mortals. And this is where the Naked CSS day comes in:</p>
<p><!-- p.p1 {margin: 0.0px 0.0px 0.0px 0.0px; text-align: right; line-height: 19.0px; font: 13.0px Times; color: #666666} --></p>
<blockquote><p>The idea behind [<a href="http://naked.threepixeldrift.com/" target="_blank">Naked CSS Day</a>] is to promote Web Standards. Plain and simple. This includes proper use of html, semantic markup, a good hierarchy structure, and of course, a good &#8216;ol play on words. It&#8217;s time to show off your &lt;body&gt; for what it really is.</p></blockquote>
<p>Once again, thank you – <a href="http://people.opera.com/howcome/">Håkon Wium Lie</a>, the <a href="http://www.w3.org/Style/CSS/">W3C</a> and the web community! For a single day, I will deactivate CSS to honor your work.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1565&amp;md5=fa49c9f504bd2052ef9e08203cf6978f" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/04/08/nudity-on-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Live Recording: Cross-Platform Mobile Development for iPhone, Android &amp; Co. at MobileTech Conference</title>
		<link>http://HeikoBehrens.net/2011/03/26/video-recording-cross-platform-mobile-development-mtc/</link>
		<comments>http://HeikoBehrens.net/2011/03/26/video-recording-cross-platform-mobile-development-mtc/#comments</comments>
		<pubDate>Sat, 26 Mar 2011 18:16:56 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1635</guid>
		<description><![CDATA[Next week, the German MobileTech Conference 2011 (Spring Edition) will take place in Munich and features three fully-packed days of sessions and workshops around mobile development and marketing. Being still in California, I won&#8217;t speak this year but S&#38;S media gratefully allowed me to publish a (German) live recording of my talk about &#8220;Cross-Platform App [...]]]></description>
			<content:encoded><![CDATA[<p>Next week, the German <a href="http://mobiletechcon.de/2011spring/" target="_blank">MobileTech Conference 2011 (Spring Edition)</a> will take place in Munich and features three fully-packed days of sessions and workshops around mobile development and marketing. Being still in California, I won&#8217;t speak this year but S&amp;S media gratefully allowed me to publish a (German) live recording of my talk about &#8220;<a title="Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010" href="http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/" target="_blank">Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison</a>&#8221; I presented at MobileTechCon 2010 back in September.</p>
<div class="wp-caption aligncenter">
<p><iframe src="http://player.vimeo.com/video/20983647?portrait=0" width="550" height="303" frameborder="0"></iframe></p>
<p class="wp-caption-text">Video recording of my talk about &#8220;cross-platform mobile development&#8221; courtesy of S&amp;S media</p>
</div>
<p>Studying this year&#8217;s <a href="http://mobiletechcon.de/2011spring/zeitplaner" target="_blank">conference program</a>, I can find a set of related talks covering technologies and approaches I was discussing during my talk:</p>
<ul>
<li><strong>Plattformübergreifender Datenzugriff für iPhone und Android</strong><br />
Peter Friese | Tuesday, 11.45 &#8211; 12.45 | Sidney</li>
<li><strong>Front- und Backend-unabhängige Mobilisierung von Enterprise-Applikationen<br />
</strong>Tobias Philipp | 14.45 &#8211; 15.45 | Ballsaal B</li>
<li><strong>Hybride Apps<br />
</strong>Matthias Proske | Tuesday,  17.30 &#8211; 18.30 | Atlanta</li>
<li><strong>Mobile Web Apps mit JavaScript, CSS und HTML5<br />
</strong>Matthias Lübken | Wednesday, 10.00 &#8211; 11.00 | Ballsaal A</li>
<li><strong>Anwendungsentwicklung für iOS und Android mit Sencha Touch und PhoneGap<br />
</strong>Stefan Kolb | Wednesday, 11.30 &#8211; 12.30 | Ballsaal A</li>
<li><strong>The Next App Generation – Die Zukunft liegt im Mobile Browser<br />
</strong>Jan Webering | Wednesday, 16.00 &#8211; 17.00 | Ballsaal A</li>
</ul>
<p>So, if you are interested in cross-platform mobile development, make sure to visit those. Also, my colleague <a title="Peter's Blog" href="http://PeterFriese.de" target="_blank">Peter Friese</a> will be on-site throughout the whole conference and would be happy to answer any of your questions about <a title="Retrospection: Cross-Platform Mobile Development at EclipseCon" href="http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/" target="_blank">MDSD for mobile devices</a>.</p>
<p>Have fun at <a href="http://twitter.com/mobiletechcon" target="_blank">@MobileTechCon</a> and be sure to let me know about the event on twitter!</p>
<h3>Links</h3>
<ul>
<li><a href="http://vimeo.com/20983647">Live recording on vimeo</a></li>
<li><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens" target="_blank">Slides of that talk on slideshare</a></li>
<li><a title="Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010" href="http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/" target="_blank">Orignal blog post</a> discussing these slides</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/2c28002d16694799bb8b8d3771ce1ff0" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1635&amp;md5=f2d9e6b031c3dff1b0b5f642f89d3fd9" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/26/video-recording-cross-platform-mobile-development-mtc/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retrospection: Cross-Platform Mobile Development at EclipseCon</title>
		<link>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/</link>
		<comments>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/#comments</comments>
		<pubDate>Thu, 24 Mar 2011 02:27:14 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[WP7]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1611</guid>
		<description><![CDATA[Yesterday, Peter and I talked about &#8220;Cross-Platform Mobile Development with Eclipse&#8221; at EclipseCon in Santa Clara. After some conceptual slides telling about the difficulties one face when targeting different platforms (in our case iPhone, Android, Windows Phone 7 and minimalistic, mobile web), we went over to some live-hacking. First, we presented a domain-specific language for [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday, <a href="http://PeterFriese.de" target="_blank">Peter</a> and I talked about &#8220;<a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">Cross-Platform Mobile Development with Eclipse</a>&#8221; at <a href="http://www.eclipsecon.org/2011" target="_blank">EclipseCon</a> in Santa Clara. After some conceptual slides telling about the difficulties one face when targeting different platforms (in our case iPhone, Android, Windows Phone 7 and minimalistic, mobile web), we went over to some live-hacking.</p>
<div id="attachment_1613" class="wp-caption aligncenter" style="width: 550px"><a href="http://www.slideshare.net/HeikoB/eclipsecon2011-crossplatformheikobehrenspeterfriese"><img class="size-full wp-image-1613" title="Slides of our Talk" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/slideteaser.png" alt="Slides of our Talk" width="540" height="101" /></a><p class="wp-caption-text">You can find the few slides we presented before and after the live-coding on Slideshare</p></div>
<p>First, we presented a domain-specific language for data-driven mobile applications. Our goal was to build an application similar to the <a href="http://www.peterfriese.de/save-a-tree-put-eclipsecon-2011-in-your-pocket/" target="_blank">official EclipseCon conference apps</a> during the show. The application listed every speaker with a picture, bio and a list of talks. Also, a schedule for every day could be browsed where details of both speakers and sessions were revealed once you clicked on an item of the list.</p>
<p>As you might know, there are quite a few <a title="Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010" href="http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/">options to produce cross-platform native (and look-alikes) mobile applications</a> from a single source. As <a href="http://mobile.itemis.com/" target="_blank">itemis</a> is specializing in model-driven approaches, we picked a domain-specific language to describe the application together with a code generator that produces the appropriate source code of the different platforms.</p>
<div class="wp-caption aligncenter">
<iframe src="http://player.vimeo.com/video/15018235?portrait=0" width="550" height="385" frameborder="0"></iframe></p>
<p class="wp-caption-text">Screencast of an earlier version of the DSL and generator</p>
</div>
<p>For the iPhone, we started by adding a &#8220;News&#8221;-Tab listing recent blog posts written by employees of itemis. The code generator produced Objective-C code as expected and we had the first native application right on the screen.</p>
<p>On Android, we enhanced the application a bit further. Based on the names of the blog authors we built a mash-up and integrated each blog entry with the related speaker&#8217;s profile of the existing conference app. The generator produced the needed Java code and we happily deployed it on the <a title="Google Android Emulator Skins for Nexus S and Nexus One" href="http://HeikoBehrens.net/2011/03/15/android-skins/">&#8220;gorgeous&#8221; (as Peter said) Android Emulator</a>.</p>
<p>Yet another set of generator templates produced a Python/Django web application we pushed to the cloud as we went on. It was running on the Google App Engine and represented what I am recommending to most of today&#8217;s mobile endeavors: &#8220;Have at least a minimalistic mobile web site that runs on any phone&#8221;. One of the attendees brought a BlackBerry Bold on stage to proof everything worked out fine &#8211; thanks for that!</p>
<div id="attachment_1624" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1624" title="Windows Phone 7" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/WindowsPhone7.png" alt="Windows Phone 7" width="550" height="218" /><p class="wp-caption-text">Different result from the same input: Windows Phone 7 displays a Pivot Control instead of a tab bar</p></div>
<p>Now, the tricky part began. One of our iPhones served as an external camera and “Lazy Peter” used GitHub to push some generated C#-code from his MacBook to an instance of Visual Studio running inside of a VMWare virtual machine (the reason being that accessing code on a networked drive is being considered harmful by Visual Studio). From there, Peter deployed this automatically produced app to a phone running Windows Phone 7.</p>
<p>For the grand finale, we put all of our phones (iPhone, Android, Windows Phone 7) plus two of the attendees&#8217; BlackBerry devices running the mobile web app on a table and put this lineup on the two big screns with our iPhone camera to show how we used one single model to generate native apps for the various platforms while taking advantage of their respective UI paradigms (<a href="http://msdn.microsoft.com/en-us/library/ff941098(v=vs.92).aspx">such as Pivot Controls on WP7</a>).</p>
<p>For Peter and me, it was great fun to see what one can accomplish within half an hour of live-hacking on stage. Unfortunately, we couldn&#8217;t talk to everyone who came to the front after the show but we&#8217;d love to answer every question you&#8217;ve got. At EclipseCon, you can find us at the Xtext booth on the first floor, or at the bar later at night. Also, please feel free to follow us on Twitter (<a href="https://twitter.com/#!/hbehrens">@HBehrens</a> and <a href="https://twitter.com/#!/peterfriese">@peterfriese</a>) or <a href="mailto:Heiko.Behrens@itemis.de">drop us</a> <a href="mailto:Peter.Friese@itemis.de">a mail</a>.</p>
<p>We will both attend the Xtext tutorial tomorrow morning</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2053" target="_blank">Pragmatic DSL Design with Xtext, Xbase and Xtend 2<br />
</a></strong>Thursday, 10:30, 2 hours and 30 minutes | Ballroom A<br />
<a href="http://blog.efftinge.de/" target="_blank">Sven Efftinge</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG), <a href="http://koehnlein.blogspot.com/" target="_blank">Jan Köhnlein</a> (itemis AG)</li>
</ul>
<p>and start polishing what we presented. Later, we will publish it on GitHub. I will provide a link here, as soon as we are done. Please, stay tuned.</p>
<h3>Links</h3>
<ul>
<li>Our <a href="http://www.slideshare.net/HeikoB/eclipsecon2011-crossplatformheikobehrenspeterfriese" target="_blank">Slides on Slideshare</a></li>
<li>Official <a href="http://bit.ly/econ2011iphone" target="_blank">iPhone conference app</a></li>
<li>Official <a href="http://bit.ly/econ2011android" target="_blank">Android conference app</a></li>
<li><a href="http://bit.ly/econ2011html" target="_blank">Minimalistic website</a> on Google App Engine</li>
<li>Source Code on GitHub (coming soon)</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/0bf45df0532243a8a3d79957c765158a" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1611&amp;md5=c01d23441f86c1f2ea685db2f6a8c0e1" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/24/retrospection-cross-platform-mobile-development-at-eclipsecon/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>&#8220;What is EclipseCon?&#8221;</title>
		<link>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/</link>
		<comments>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/#comments</comments>
		<pubDate>Fri, 18 Mar 2011 16:15:43 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1555</guid>
		<description><![CDATA[In a few hours from now, I will be on my flight towards this year&#8217;s EclipseCon in Santa Clara. Similar to my blitz talk last year, I am going to talk about mobile development based on domain-specific languages. This time, I am really excited that Peter will team up and we were approved for an [...]]]></description>
			<content:encoded><![CDATA[<p>In a few hours from now, I will be on my flight towards this year&#8217;s <a href="http://www.eclipsecon.org/2011/">EclipseCon in Santa Clara</a>. Similar to my blitz talk last year, I am going to talk about mobile development based on domain-specific languages. This time, I am really excited that <a href="http://www.peterfriese.de/">Peter</a> will team up and we were approved for an extended talk (40 minutes) at Ballroom BC to entertain you with fully packed material and several live demos. In addition to <a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">the session&#8217;s description</a> we will not only produce mobile apps for iPhone, Android and mobile web (Google App Engine). You will experience the model-driven way on yet another platform that was ignored by <a href="http://www.eclipsecon.org/2011/activities/#app" target="_blank">the official conference apps</a>.</p>
<div id="attachment_1591" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1591" title="watson-at-eclipsecon" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/watson-at-eclipsecon.png" alt="watson and eclipse" width="550" height="283" /><p class="wp-caption-text">What can we expect from IBM Watson in the future and how is it related to Eclipse? Find out at David Gondek&#39;s Keynote at EclipseCon on Tuesday (Eclipse Icon courtesy of Shaun Smith)</p></div>
<p>&nbsp;</p>
<p>Beyond the aforementioned talk by <a href="http://www.peterfriese.de/">Peter</a> and myself</p>
<ul>
<li><a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank"></a><strong><a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank">Cross-Platform Mobile Development with Eclipse</a></strong><br />
Tuesday, 17:00, 40 minutes | Ballroom BC<a href="http://www.eclipsecon.org/2011/sessions/sessions?id=2075" target="_blank"><br />
</a><a href="http://www.peterfriese.de/" target="_blank">Peter Friese</a> (itemis AG ), Heiko Behrens (itemis AG )</li>
</ul>
<p>there are a few other sessions I am looking forward to attend</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2175" target="_blank">INTERSTELLAR THERMONUCLEAR WAR &#8230; with ECF &#8211; Multiplayer Game Development for High-Latency Mobile Networks</a></strong><br />
Monday, 13:00, 20 minutes | Ballroom D<br />
Mustafa Isik, Sebastian Schmidt</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2035" target="_blank">Effective Git</a></strong><br />
Monday, 15:40, 2 hours | Stevens Creek<br />
Chris Aniszczyk (Red Hat, Inc.), Stefan Lay (SAP AG), Matthias Sohn (SAP AG), Shawn Pearce (Google Inc.)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2034" target="_blank">What&#8217;s Cooking in Xtext 2.0</a></strong><br />
Tuesday, 14:00, 20 minutes | Ballroom A<br />
<a href="http://koehnlein.blogspot.com/" target="_blank"> Jan Köhnlein</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2179" target="_blank">Graphiti and GMF Compared: Revisiting the Graph Editor</a></strong><br />
Tuesday, 14:30, 40 minutes | Lafayette<br />
Koen Aers</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2111" target="_blank">Building a Great Community for Your Open Source Project</a></strong><br />
Tuesday, 16:30, 20 minutes | Lafayette<br />
Ian Skerrett (Eclipse Foundation)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2253" target="_blank">Codegeneration Goodies</a></strong><br />
Wednesday, 10:40, 20 minutes | Stevens Creek<br />
Moritz Eysholdt (itemis AG)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2232" target="_blank">JavaScript Debugged</a></strong><br />
Wednesday, 14:00, 20 minutes | Ballroom BC<br />
Simon Kaegi (IBM)</li>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2053" target="_blank">Pragmatic DSL Design with Xtext, Xbase and Xtend 2</a></strong><br />
Thursday, 10:30, 2 hours and 30 minutes | Ballroom A<br />
<a href="http://blog.efftinge.de/" target="_blank"> Sven Efftinge</a> (itemis AG), <a href="http://zarnekow.blogspot.com/" target="_blank">Sebastian Zarnekow</a> (itemis AG), <a href="http://koehnlein.blogspot.com/" target="_blank">Jan Köhnlein</a> (itemis AG)</li>
</ul>
<p>Apart from these, there are many other talks worth attending, but listing those eventually would result in a copy of <a href="http://www.eclipsecon.org/2011/program/?page=program">the official program</a> (the program committee did a great job, again). I am expecting interesting conversations and social activities (like last year&#8217;s <a href="http://iphonemarsrover.com/">iPhone Mars Rover</a>) to happen, too.</p>
<p>But, my personal highlight is the keynote on Tuesday about <a href="http://www.watson.ibm.com/" target="_blank">IBM Watson</a> by David Gondek:</p>
<ul>
<li><strong><a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2366" target="_blank">Keynote &#8211; What Is Watson?</a></strong><br />
Tuesday, 09:00, 1 hour | Ballrooms ABCD<br />
David Gondek (IBM)</li>
</ul>
<p>Over the last weeks, I watched more than five hours of video material and read countless interviews and articles about Watson. There&#8217;s just so much potential in this technology and the whole industry of computer-supported activities. By any chance, users will use computational time from systems like Watson in the not-so-distant future to verify their personal goals, collect evidence, do research or -in case of a keynote- have some fun. If we had the chance to let Watson calculate the question for a clue at EclipseCon, my take would be:</p>
<blockquote><p><strong>Conferences $500:</strong> Started as a User&#8217;s Group Meeting in 2002 this anual &#8220;family event&#8221; became the most recognizable celebration of a community named after the obscuration of a celestial object.</p></blockquote>
<p>Anyway, I am looking forward to four engaging days in Santa Clara and I am thinking of everyone who could not make it this year like <a href="http://ekkescorner.wordpress.com/">Ekke</a>, <a href="http://www.vogella.de/">Lars</a>, and especially our friends from Japan.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/6c1a915c755b452395fb98340b33193c" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1555&amp;md5=3694dd5c49774c5661ae62ab9391872a" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/18/what-is-eclipsecon/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Android Emulator Skins for Nexus S and Nexus One</title>
		<link>http://HeikoBehrens.net/2011/03/15/android-skins/</link>
		<comments>http://HeikoBehrens.net/2011/03/15/android-skins/#comments</comments>
		<pubDate>Tue, 15 Mar 2011 07:13:58 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1481</guid>
		<description><![CDATA[When I was producing the screencast for Peter&#8217;s blog post about the EclipseCon App, I had a hard time to bring the Android App in shape. As any Android developer will know Google&#8217;s Android Emulator comes with a set of loveless default looks you are ashamed of each time you compare them with their sexy [...]]]></description>
			<content:encoded><![CDATA[<p>When I was producing the screencast for <a href="http://www.peterfriese.de/save-a-tree-put-eclipsecon-2011-in-your-pocket/">Peter&#8217;s blog post about the EclipseCon App</a>, I had a hard time to bring the Android App in shape. As any Android developer will know Google&#8217;s Android Emulator comes with a set of loveless default looks you are ashamed of each time you compare them with their sexy iPhone counterpart. Fortunately and contrary to the latter, the Android emulator offers support for skins to overcome this grievance and so I decided to build a set of high-quality Android Skins for <a href="http://www.google.com/phone/detail/nexus-s">Samsung Nexus S</a> and <a href="http://www.google.com/phone/detail/nexus-one">HTC Nexus One</a> including reflection overlays.</p>
<div id="attachment_1512" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1512" title="Overview" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/overview.png" alt="Overview" width="550" height="247" /><p class="wp-caption-text">This package contains a set of four different skins including overlays for a glare effect.</p></div>
<p>Thanks to the great work of <a href="http://zandog.deviantart.com">Alexander Gillis</a>, I was able to create these skins with their native screen resolution at a superb image quality. They offer a glow effect when hovering over the hardware buttons, render a subtile drop shadow on both orientations and come with smooth corners on every edge.  However, the outstanding feature of this set of skins is the fitting overlay image that can be put on top of the actual emulator screen. It&#8217;s based on the Android Emulator&#8217;s <a href="http://groups.google.com/group/android-developers/browse_thread/thread/877b1b9f87543ac0">mostly unknown support for &#8220;onions&#8221;</a>. That is a feature other mobile simulators, especially the iPhone simulator, do not provide (although tools like <a href="http://blog.atebits.com/2009/03/not-your-average-iphone-screencast/">simfinger</a> offer a great workaround).</p>
<div id="attachment_1516" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1516" title="Details of the Emulator" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/details.png" alt="Details of the Emulator" width="550" height="260" /><p class="wp-caption-text">These skins come with a glare effect above the actual screen, highlighted hardware buttons, smooth corners and a subtile drop shadow.</p></div>
<p>I produced these skins especially to record screencasts and to take high quality screenshots of running Android applications with respect to the actual screen resolution of the devices and their physical proportions. Therefore, these skins come at a relatively large size in pixels that might exceed your average 1600&#215;1200 display. Nevertheless, you can still run them on smaller screens by passing the scale option to the Emulator on startup or by specifying the scale options with &#8220;Scale display to real size&#8221; on the dialog &#8220;launch options&#8221;.</p>
<pre># scale emulator to half of its actual size
-scale 0.5﻿</pre>
<p>To activate the glare overlay you have to specify an &#8220;onion&#8221; by passing another command line option to the Android Emulator (sorry, there&#8217;s no dialog to do this). Each skin has its own &#8220;overlay.png&#8221; to seamlessly continue the reflection visible on the body. Be sure to pass the full path to the appropriate graphic along with 100% opacity.</p>
<pre># activate the glare overlay
-onion-alpha 100 -onion &lt;absolutePathToSkin&gt;/overlay.png</pre>
<p>Each included hardware.ini contains an example of these arguments. If you are familiar with Android Emulator skins, go ahead and <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">download the archive</a> or <a href="https://github.com/HBehrens/android-emulator-skins/">fork them on GitHub</a>. The clueless remainder of the Android developers should follow these briefly outlined installation steps.</p>
<h2>Installing the Emulator Skins</h2>
<p>An Android Emulator skin basically is a folder consisting of files for graphics and configuration. Once installed, skins are named after their folder names. Let&#8217;s start and <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">download the ZIP archive containing the skins</a>. After extracting the archive you will find a set of different folders corresponding to (fictitious) device names, e.g. &#8220;NEXUS-S&#8221; . Each of these folders is what&#8217;s called a skin.</p>
<p>Locate the <a href="http://developer.android.com/sdk/installing.html#sdkContents" target="_blank">&#8220;platforms&#8221; folder of your Android SDK</a>. Each platform has its own set of skins you can find at &#8220;&lt;AndroidSDK&gt;/platforms/&lt;platform&gt;/skins&#8221;. Assuming you are developing against the Google API of Android 2.1, the proper platform would be 7. If unsure, have a look at <a href="http://developer.android.com/guide/developing/devices/managing-avds.html" target="_blank">your AVD manager</a>. Extract the desired skin into the platform&#8217;s skins folder, e.g.</p>
<pre>~/dev/android-sdk-mac_86/platforms/android-7/skins/NEXUS-S
c:\android-sdk-windows\platforms\android-9\skins\NEXUS-S</pre>
<p>Now, restart the AVD manager so it is aware of the new skin and create a new virtual device based on one of your freshly installed skins.</p>
<div id="attachment_1538" class="wp-caption aligncenter" style="width: 490px"><a href="http://HeikoBehrens.net/wp-content/uploads/2011/03/avdManager.png"><img class="size-full wp-image-1538" title="ADV Manager" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/avdManager.png" alt="ADV Manager" width="480" height="653" /></a><p class="wp-caption-text">Create a new AVD with one of the freshly installed skins.</p></div>
<p>You can use this AVD similar to any other virtual device, but as written before, these skins are quite large. If you want to reduce the size of the emulator window, be sure to explicitly pass a scaling factor. Yes, you can do this with a graphical dialog from within the AVD Manager but doing so will thwart your whole development process later on. Instead, I will show you how to configure your Eclipse run configuration since this will be needed for the glare effect anyway.</p>
<div id="attachment_1527" class="wp-caption aligncenter" style="width: 560px"><a href="http://HeikoBehrens.net/wp-content/uploads/2011/03/EclipseRunConfig.png"><img class="size-large wp-image-1527 " title="Eclipse Run Configuration" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/EclipseRunConfig-1024x622.png" alt="Eclipse Run Configuration" width="550" height="373" /></a><p class="wp-caption-text">Change your Eclipse run configuration to scale your emulator window and activate the glare effect.</p></div>
<p>In Eclipse, go to your run configuration and open the tab &#8220;Target&#8221;.  Choose &#8220;Automatic&#8221; for the option &#8220;Deployment Target Selection Mode&#8221; and select your new virtual device. Also, in the field &#8220;Additional Emulator Command Line Options&#8221; at the bottom pass these values (where &lt;absolutePathToSkin&gt; had been changed accordingly):</p>
<pre>-scale 0.5 -onion-alpha 100 -onion &lt;absolutePathToSkin&gt;/overlay.png</pre>
<p>Hit &#8220;Run&#8221; and watch the console output on startup. The Emulator will tell you if it cannot find the onion file.  If everything went right, you should see your Android application within a beautiful Emulator window by now.</p>
<p>Have fun!</p>
<h2>Links</h2>
<ul>
<li>Download <a href="https://github.com/HBehrens/android-emulator-skins/zipball/master" target="_blank">Android Emulator skins for Nexus S and Nexus One</a></li>
<li>Fork the <a href="https://github.com/HBehrens/android-emulator-skins/">skin set on GitHub</a></li>
<li>More <a href="http://zandog.deviantart.com">beautiful graphics by Alexander Gillis</a> on DeviantArt</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/6a4313d02c734e5f82981fe6cee0c0cf" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1481&amp;md5=de515ebfdb2498a1ce604275339a8d5a" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/15/android-skins/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Repair Broken RSS/ATOM with The Feed Sanitizer</title>
		<link>http://HeikoBehrens.net/2011/03/07/feedsanitizer/</link>
		<comments>http://HeikoBehrens.net/2011/03/07/feedsanitizer/#comments</comments>
		<pubDate>Mon, 07 Mar 2011 08:00:58 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1483</guid>
		<description><![CDATA[Web feeds are a standardized yet widely underestimated way to attach software systems to content providers. You can both bind a news portal of any publisher to you very own piece of software or aggregate and filter several twitter feeds with the very same underlying technology. While giving presentations, I am often tempted to reuse [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Web_feed">Web feeds</a> are a standardized yet widely underestimated way to attach software systems to content providers. You can both bind a news portal of any publisher to you very own piece of software or aggregate and filter several twitter feeds with the very same underlying technology. While giving presentations, I am often tempted to reuse an arbitrary <a href="http://en.wikipedia.org/wiki/Atom_(standard)">ATOM</a> or <a href="http://en.wikipedia.org/wiki/RSS">RSS</a> feed to build a content-driven mobile application within minutes (<a href="http://www.eclipsecon.org/2011/sessions/?page=sessions&amp;id=2075">next stop: EclipseCon, Santa Clara</a>). Unfortunately, many of those feeds in the wild do not conform to their pretended format when it comes to the details. In order to minimize the risk of a broken live-demo and to make mash-ups of services a bit safer in general, I came up with a free service called <a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com">The Feed Sanitizer</a>.</p>
<div id="attachment_1490" class="wp-caption aligncenter" style="width: 560px"><a href="http://feedsanitizer.appspot.com"><img class="size-full wp-image-1490" title="feedsanitizer" src="http://HeikoBehrens.net/wp-content/uploads/2011/03/feedsanitizer_screenshot.png" alt="" width="550" height="250" /></a><p class="wp-caption-text">The Feed Sanitizer normalizes your invalid web feed</p></div>
<p>Here&#8217;s a short description of what the service actually does. Please don&#8217;t feel offended by these words. They had been taken directly from the project&#8217;s website and try to provoke a more personal relationship to its users:</p>
<blockquote><p><a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com/">The Feed Sanitizer</a> takes any news or web feed and turns it into straight, normalized RSS 2.0 / ATOM 1.0. This comes in handy if you are confronting with tangled or messed or knocked up feeds that are barely well-formed and want to parse these with a not-so-solid piece of software. The Feed Sanitizer scrubs off the dirt and returns germ-free feeds.</p></blockquote>
<p>You could simply pass through a given URL to receive a normalized feed of the desired format, download the result once, or just look at the pretty-printed output with the embedded XML viewer.</p>
<p>For those of you interested in the technical details, the service has been written with <a href="http://www.python.org/">Python</a> and runs on <a href="http://code.google.com/appengine/">Google App Engine</a>. It uses several open source libraries such as <a href="http://www.allbuttonspressed.com/projects/djangoappengine">djangoappengine</a>, <a href="http://www.feedparser.org/">feedparser</a> and <a href="http://alexgorbatchev.com/SyntaxHighlighter">SyntaxHighlighter</a>.</p>
<p><a title="The Feed Sanitizer" href="http://feedsanitizer.appspot.com/">The Feed Sanitizer</a> is free and ready to serve you. It&#8217;s open source, too! Feel free to <a title="The Feed Sanitizer on GitHub" href="https://github.com/HBehrens/feedsanitizer">fork it on GitHub</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/212f6a1a69774c09a2da0629eec633a1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1483&amp;md5=2fb1edb49aa5ff0bf65ac83174f356ef" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/03/07/feedsanitizer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ge.tt &#8211; The Superior Online File Sharing Alternative to Our Departed Drop.io</title>
		<link>http://HeikoBehrens.net/2011/02/27/gett-the-superior-online-file-sharing-alternative/</link>
		<comments>http://HeikoBehrens.net/2011/02/27/gett-the-superior-online-file-sharing-alternative/#comments</comments>
		<pubDate>Sun, 27 Feb 2011 12:56:42 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1458</guid>
		<description><![CDATA[When Drop.io had been purchased (read: shut down) by Facebook last October a great way of sharing files disappeared without any equally simple alternative. Times have changed and free services such as Crate, Senduit, DropSend, or Box.net are trying to close the gap. But the superior alternative surely is Ge.tt! Ge.tt comes with a sleek interface [...]]]></description>
			<content:encoded><![CDATA[<p>When <a href="http://mashable.com/2010/10/29/facebook-acquires-drop-io/">Drop.io had been purchased</a> (read: shut down) by Facebook last October a great way of sharing files disappeared without any equally simple alternative. Times have changed and free services such as <a href="http://letscrate.com/">Crate</a>, <a href="http://www.senduit.com/">Senduit</a>, <a href="http://www.dropsend.com/">DropSend</a>, or <a href="http://box.net/">Box.net</a> are trying to close the gap. But the superior alternative surely is <a href="http://ge.tt/">Ge.tt</a>!</p>
<div id="attachment_1466" class="wp-caption aligncenter" style="width: 310px"><a href="http://HeikoBehrens.net/wp-content/uploads/2011/02/107322v2.png"><img class="size-medium wp-image-1466" title="Ge.tt landing page" src="http://HeikoBehrens.net/wp-content/uploads/2011/02/107322v2-300x167.png" alt="" width="300" height="167" /></a><p class="wp-caption-text">Ge.tt is easy to use and offers unmatched quality</p></div>
<p><a href="http://ge.tt/">Ge.tt</a> comes with a sleek interface and a hassle-free process. There&#8217;s no registration required, it creates a convenient download page with previews while your upload is still ongoing, and deletes files automatically if they hadn&#8217;t been accessed within two weeks. In comparison to many other services, there&#8217;s no averting size limitation (well, individual files may not exceed 2GB) or number of shares you create per month.<br />
Free accounts will give you additional services such as statistics, or &#8220;admin rights&#8221; on shares to modify their contents after publishing. But even without having a dedicated account, <a href="http://ge.tt/">Ge.tt</a> keeps a history of your shares without the need of a password as long as you browse the site with the same machine (based on cookies).</p>
<p>As I am writing this post there had been more than 291.900 shares created (20+ of them by myself) with <a href="http://ge.tt/">Ge.tt</a> since its launch in November and services such as <a href="http://eu.techcrunch.com/2011/01/25/ge-tt-launches-its-realtime-filesharing-service/">TechCrunch</a> or <a href="http://mashable.com/2010/12/03/gett/">Mashable</a> are as excited as I am.</p>
<p>Wishing the best for <a href="http://twitter.com/gettsharing">the Ge.tt team</a> I am looking forward to seeing how your paid service could be even better.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1458&amp;md5=ae8addaf20ae6cb9cbb4a47a1eba9204" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/02/27/gett-the-superior-online-file-sharing-alternative/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>pyKeynoteTweet: Participate in your Twitter backchannel while presenting with Keynote</title>
		<link>http://HeikoBehrens.net/2011/01/31/pykeynotetweet/</link>
		<comments>http://HeikoBehrens.net/2011/01/31/pykeynotetweet/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 21:22:21 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=916</guid>
		<description><![CDATA[Social media like Twitter and Facebook have changed the way we interact at technical conferences. You might have noticed that people are using their mobile devices and laptops quite a lot when attending sessions. In fact, they&#8217;re not impolite or rude &#8211; they just google up further information about the topic presented! As a speaker, [...]]]></description>
			<content:encoded><![CDATA[<p>Social media like Twitter and Facebook have changed the way we interact at <a href="http://lanyrd.com/people/hbehrens/sessions/">technical conferences</a>. You might have noticed that people are using their mobile devices and laptops quite a lot when attending sessions. In fact, they&#8217;re not impolite or rude &#8211; they just google up further information about the topic presented! As a speaker, you can help your audience to use your presentation even more efficiently by preparing a little take-away for them. Here is how.<br />
<a href="https://github.com/HBehrens/pyKeynoteTweet"><img class="aligncenter size-full wp-image-1438" title="pyKeynoteTweet" src="http://HeikoBehrens.net/wp-content/uploads/2011/01/pyKeynoteTweet-logo.png" alt="Get pyKeynoteTweet on GitHub" width="348" height="208" /></a></p>
<p>A few months ago, I read Olivia Mitchell&#8217;s free e-book <a href="http://speakingaboutpresenting.com/twitter/present-twitter-backchannel-ebook/">“How to present with Twitter (and other backchannels)”</a> and stumbled across the tool <a href="http://code.google.com/p/keynotetweet/">keynotetweet</a> she mentions throughout her advices. Unfortunately, the tool stopped working when Twitter changed its authentication mechanism to <a href="http://oauth.net/">OAuth</a>. Instead of modifying the bunch of AppleScript (well&#8230; you know) I decided to come up with <a href="https://github.com/HBehrens/pyKeynoteTweet">pyKeynoteTweet</a>.</p>
<p>The tool allows you to send out tweets while you give your presentation with Keynote. It does so by looking for the pattern</p>
<pre style="margin-bottom: 1em;">[twitter]your tweet[/twitter]</pre>
<p>in your presenter&#8217;s notes. Each time a new slide with this pattern appears during presentation mode it sends out the payload. You can refer to other people (e.g. <a href="http://twitter.com/#!/HBehrens">@hbehrens</a>) or use #hashtags as you are used to. The script warns you for tweets that exceed the 140 character boundary of Twitter before you start your presentation and avoids repetitive tweets if you go back to a previous slide when questions arise.</p>
<p>Olivia Mitchell lists <a href="http://speakingaboutpresenting.com/wp-content/uploads/Twitter.pdf#page=6">some benefits of using Twitter during your presentation</a> and I can only encourage you to try it out. Not only does it help you to receive more feedback (some people do not like to speak up), and encourage your audience to spread your word (RT: your point). It&#8217;s also a good starting point for virtual discussions and digital relationships.</p>
<p>Download or fork <a href="https://github.com/HBehrens/pyKeynoteTweet">pyKeynoteTweet on GitHub</a> and let me know about your creative ways of using it.</p>
<p>By the way: My next talk complemented with this script will be at <a href="http://www.beyondtellerrand.com/speakers_sessions.php#behrens">beyond tellerrand on Monday, 7 February</a>. Stay tuned and <a href="http://twitter.com/#!/HBehrens">follow me on twitter</a>!</p>
<h3>Links</h3>
<ul>
<li><a href="https://github.com/HBehrens/pyKeynoteTweet">pyKeynoteTweet on GitHub</a></li>
<li>e-book <a href="http://speakingaboutpresenting.com/twitter/present-twitter-backchannel-ebook/">“How to present with Twitter (and other backchannels)”</a> by Olivia Mitchell</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/1e655e8f035546009c7e416c65720556" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=916&amp;md5=8a44ed15b1f50f86f9db1ea6db2b35d1" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2011/01/31/pykeynotetweet/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Your List of Wishes for the EclipseCon (iPhone&#124;Android&#124;.*?) App</title>
		<link>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/</link>
		<comments>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/#comments</comments>
		<pubDate>Fri, 26 Nov 2010 16:28:57 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1346</guid>
		<description><![CDATA[Three weeks ago, the mobile conference app we built at itemis mobile helped many attendees to keep track of their personal schedule at Eclipse Summit Europe 2010. With three different versions we not only addressed the Android and iPhone users with true native apps available on the Market Place (search for &#8220;eclipse summit&#8221;) and App Store. There is [...]]]></description>
			<content:encoded><![CDATA[<p>Three weeks ago, <a href="http://www.peterfriese.de/updated-use-your-iphone-android-or-blackberry-to-build-your-eclipse-summit-europe-2010/">the mobile conference app</a> we built at <a href="http://mobile.itemis.com/">itemis mobile</a> helped many attendees to keep track of their personal schedule at <a href="http://www.eclipsecon.org/summiteurope2010/">Eclipse Summit Europe 2010</a>. With three different versions we not only addressed the Android and iPhone users with true native apps available on the Market Place (search for &#8220;eclipse summit&#8221;) and <a href="http://itunes.apple.com/app/eclipse-summit-europe-2010/id398492430?mt=8">App Store</a>. There is also a <a href="http://eclipsesummit2010.appspot.com/">mobile website built on top of Google App Engine</a> to serve everyone else including owners of Blackberry and Nokia phones and especially phones with outdated browsers.</p>
<div id="attachment_1348" class="wp-caption alignnone" style="width: 570px"><a href="http://www.flickr.com/groups/1510201@N24/"><img class="size-full wp-image-1348" title="Every second attendee has used one of our apps" src="http://HeikoBehrens.net/wp-content/uploads/2010/11/people.jpg" alt="Every second attendee has used one of our apps" width="560" height="278" /></a><p class="wp-caption-text">Every second attendee has used one of our apps (Photo: Anne Jacko)</p></div>
<p>We derived quite a few numbers from the download data of the various sources and personally I am quite proud to say that every second attendee has used one or the other version of our app. During the conference about 225 people out of 467 attendees downloaded the native Apps (iOS: 154, Android: 71) and 8 people managed their schedule with the website (201 people tried it but picked only three or less sessions). Compared to the survey the Eclipse foundation carried out as part of the registration process every single iOS user downloaded the iPhone app! Only 73% of the Android users downloaded the app and 17% of the remaining group (including Nokia and Blackberry owners) used the mobile website.</p>
<p><img class="aligncenter size-full wp-image-1369" title="Numbers from the various sources" src="http://HeikoBehrens.net/wp-content/uploads/2010/11/stats.jpg" alt="Numbers from the various sources" width="285" height="123" /></p>
<p>One can interpret these numbers in different ways. &#8220;Native apps are far better than mobile web&#8221;, I heard several times. &#8220;Your mobile website should be improved- who need apps?&#8221; reflects another opinion. The Blackberry users might have used <a href="http://ekkescorner.wordpress.com/2010/11/02/blackberry-app-for-eclipse-summit-2010/">Ekke&#8217;s prototype</a> (attendees with Blackberry according to survey: 17, actual downloads: 31) instead of the website. Others generally put these numbers into question (134% of the iOS users downloaded the app?). I&#8217;d like to overcome this uncertainty with even more data.</p>
<h2>EclipseCon 2011</h2>
<p>Currently, we are talking with the Eclipse foundation to develop another conference app for the upcoming <a href="http://www.eclipsecon.org/2011/">EclipseCon 2011</a>. To deliver the best experience we would like to collect your wishes and ideas. Please use the quick polls below and/or leave a comment to push us in the right direction.</p>
<div class="polls"><script src="http://www.blogpolls.com/poll/69100.js" type="text/javascript"></script> <script src="http://www.blogpolls.com/poll/69101.js" type="text/javascript"></script></div>
<p>Thank you! And again: Please leave a comment to give feedback beyond the polls.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/81e8a1f2ac0b441cba303e9b6fba5c86" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1346&amp;md5=12f81be470da29028f62fb0e6419c18d" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/11/26/your-list-of-wishes-for-the-eclipsecon-iphoneandroid-app/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Cross-Platform App Development for iPhone, Android &amp; Co. — A Comparison I Presented at MobileTechCon 2010</title>
		<link>http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/</link>
		<comments>http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/#comments</comments>
		<pubDate>Mon, 11 Oct 2010 18:16:23 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[cross-platform]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://HeikoBehrens.net/?p=1281</guid>
		<description><![CDATA[Last month, I gave a presentation about cross-platform app development at MobileTechCon in Mainz, Germany. Several attendees asked for for the slides (now available on SlideShare) and since I promised to deliver links to the presented technologies and demos I hereby summarize the material. Also, you can find a video recording of this talk on my blog. [...]]]></description>
			<content:encoded><![CDATA[<p>Last month, I gave a presentation about cross-platform app development at <a href="http://mobiletechcon.de/">MobileTechCon in Mainz, Germany</a>. Several attendees asked for for <a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens">the slides (now available on SlideShare)</a> and since I promised to deliver links to the presented technologies and demos I hereby summarize the material. Also, you can find a <a href="http://HeikoBehrens.net/2011/03/26/video-recording-cross-platform-mobile-development-mtc/">video recording of this talk on my blog</a>. I split the presentation into different parts where I tried to motivate the topic &#8220;cross-platform app development&#8221; at the very beginning.</p>
<h2>Why Cross-Platform?</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens"><img class="aligncenter size-full wp-image-1294" title="motivation" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/motivation.png" alt="motivation" width="560" height="105" /></a></p>
<p>More than eight major platforms such as <a href="http://developer.apple.com/ios">iOS</a>, <a href="http://www.android.com/">Android</a>, <a href="http://developer.symbian.org/">Symbian OS</a>, <a href="http://na.blackberry.com/eng/developers/">BlackBerry OS</a>, <a href="http://www.windowsphone7.com/">Windows Phone 7</a>, <a href="http://meego.com/">MeeGo</a>, <a href="http://developer.palm.com/">HP webOS</a>, or <a href="http://developer.bada.com/">bada</a> with different programming languages and paradigms each currently struggle for predominance of the mobile market. Not even looking at the vast amount of different devices, the sheer number of app stores (<a href="http://www.wipconnector.com/appstores">currently 94)</a> indicates a growing diversity of today&#8217;s market.</p>
<p>When producing mobile apps, the key problem arises in the conflict between market penetration on the one hand and cost of development on the other. If you want to address the majority of today&#8217;s mobile users you could either develop your app for each of these platforms independently, or try to follow a cross-platform strategy in order to cut the invest. While the former means running several parallel traditional software projects (with all their individual consequences) in parallel, the latter approach tries to reuse parts of the intellectual achievements (often source code) while accepting other drawbacks.</p>
<h2>Mobile Web vs. Native Apps</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens/9"><img class="aligncenter size-full wp-image-1301" title="webVsNative" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/webVsNative.png" alt="mobile web vs. native apps" width="560" height="105" /></a></p>
<p>A wide range of software companies and clients choose <a href="http://en.wikipedia.org/wiki/Mobile_Web">mobile web applications</a> as a proven way to address any mobile device that features a web browser. At my presentation I used the website of <a href="http://www.tagesschau.de/">tageschau.de</a> and <a href="http://www.spiegel.de/">SPIEGEL ONLINE</a> (both German) to demonstrate the difference between classic and mobile-enabled websites. As a cliff-hanger I demonstrated an ordinary <a href="http://www.unitconverters.net/">unit converter website</a> on the iPad as well as an optimized web-based game for the iPhone to debilitate the misconception of a missing <a href="http://www.apple.com/webapps/">app store for</a> <a href="http://openappmkt.com/">mobile applications</a>.</p>
<p>In contrast to the aforementioned web-based solutions I presented the gorgeous <a href="http://taptaptap.com/#convert">convert app by taptaptap</a>. It implements the very same use-case &#8220;unit conversion&#8221; more elegant and efficient even on a smaller display. The <a href="http://www.epicgames.com/technology/epic-citadel">Unreal Tech Demo</a> finally proved that native applications offer certain capabilities that are currently out of reach for web-based alternatives.</p>
<p>Even though mobile apps made a big step forward of the last years, they still suffer from technical limitations including visibility on the market due to the absence of an &#8220;official&#8221; distribution channel. Also, native apps are superior regarding user experience &#8211; the foremost reason that made apps such a huge success in the first place.</p>
<p>Both aspects might change over the next years.</p>
<h2>Mobile Web Apps</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens/22"><img class="aligncenter size-full wp-image-1300" title="web" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/web.png" alt="mobile web apps" width="560" height="105" /></a></p>
<p>Looking at the current state of the art of software development, I gave an overview of several available libraries including <a href="http://iwebkit.net/">iWebKit</a>, <a href="http://code.google.com/p/iui/">iUI</a> and <a href="http://www.jqtouch.com/">jQTouch</a>. I think of these as a reasonable set of CSS and JS to let you express yourself with simple HTML. <a href="http://www.sencha.com/products/">Sencha Touch</a> on the other hand follows a programmatic approach where the developer leverages a rich API to express herself without HTML or CSS but with pure JavaScript code. The <a href="http://jquerymobile.com/">JQuery mobile framework</a> is waiting in the wings to combine the best of both worlds. It is announced for 2010 Q4.</p>
<p>Using any of these libraries simplifies the development of a native-look-a-like web app but comes at a cost. One cannot reuse an existing set of HTML but has to produce properly redesigned documents suited for the given framework. Also, these frameworks are far-off from the idea of cross-platform. Only a limited set of mobile browsers are currently supported. If you need a fail-safe web-based solution you have to stick with an even more cut down feature set or implement platform-specific mobile websites.</p>
<h2>Hybrid Apps</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens/27"><img class="aligncenter size-full wp-image-1298" title="hybrid" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/hybrid.png" alt="hybrid apps" width="560" height="105" /></a></p>
<p>One of the major drawbacks of mobile web applications is the lack of  the lack of direct access to individual features of the udnerlying hardware platform. Even though recent versions of mobile browsers propagate information such as screen orientation or geolocation they are still limited. There is neither a common way to read the accelerometer nor can one access the camera to upload a video.</p>
<p>This is where frameworks such as <a href="http://www.phonegap.com/">PhoneGap</a> come into play. Basically, it&#8217;s a thin native application that is only little more than an embedded web browser. The user receives an ordinary native app that displays web content under the hood. With a simple technique called HTTP request interception (sorry, cannot find a suitable link) these frameworks bridge the gap between device and a web app. The developer can use a JavaScript-API to read additional data from the device and trigger actions such as vibration in a standardized way across the different native platforms.</p>
<p>Hybrid apps combine advantages of the native world such as distribution via the app store with common web technology as outlined above. But since the rendering and interaction relies on an embedded web browser they appear to me as the poor-mans native app. The user downloads and pays for a native app and therefore should not be disappointed. The developer is required to spend a considerable amount of time to make the included web app look and feel as a native counter part in order to match these expectations.</p>
<h2>Interpreted Apps</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens/31"><img class="aligncenter size-full wp-image-1299" title="interpreted" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/interpreted.png" alt="interpreted apps" width="560" height="105" /></a></p>
<p>Interpreted apps use platform-specific native UI elements to interact with the user whereas the application logic is captured in a platform-independent way. This can be a set of commands in XML or another description language (<a href="http://www.ipfaces.org/">ipfaces</a>, <a href="http://www.jmango.com.au/web/">JMango</a>, <a href="http://ramp.virtualmobiletech.com/">ramp</a>). Other technologies such as <a href="http://monotouch.net/">MonoTouch</a> (.NET) or <a href="http://rhomobile.com/">Rhodes</a> (Ruby) implement full execution environments of existing programming languages. The most prominent competitor no doubt is <a href="http://www.appcelerator.com/">Appcelerator Titanium</a>. During my talk I illustrated how you can use a JavaScript-API to produce quasi-native apps for iOS and Android.</p>
<p>This approach offers a number of benefits but has an inherent drawback at the same time. Developers are tied to the feature set of the chosen framework whenever the demand exceeds the foreseen possibilities of the given technology or cannot catch up with new features of a platform (e.g. iPhone&#8217;s Retina Display). Even though some of these technologies are open-source and offer extension mechanisms, the developer has to stick with the paradigms of the chosen framework. Therefore, she cannot use a project-specific short-cut to deliver the unforeseen remaining 20% of the app without following the restrictions of the framework.</p>
<h2>Generated Apps</h2>
<p style="text-align: center;"><a href="http://www.slideshare.net/HeikoB/mtc10-crossplatform-heikobehrens/38"><img class="aligncenter size-full wp-image-1297" title="generated" src="http://HeikoBehrens.net/wp-content/uploads/2010/10/generated.png" alt="generated apps" width="560" height="105" /></a></p>
<p>The common idea of this approach is to produce truly native apps for each targeted platform with its respective programming language from a single code-base. During my talk I presented <a href="http://www.xmlvm.org/">xmlvm</a> and <a href="http://code.google.com/p/applause/">APPlause</a> as two examples of code generators.</p>
<p>The advantages of this approach are manifold and do not end with the extensibility of the produced apps. If needed the generated output can (be adjusted to) interact with every single aspect of the native platform. Even though the results of xmlvm are barely readable, other solutions such as APPlause based on a domain-specific language not only simplify the development process but produce code that conforms to the sample-code in any aspect (let me know if you want to read more about this technology on this blog).</p>
<p>These advantages come at a price of a relatively high upfront investment, though. None of the publicly available technologies is production-ready right now. Nevertheless, if you plan to produce a set of related apps or try to mobilize an enterprise application you should definitely have a look at this approach!</p>
<h2>Where To Go?</h2>
<p>Unfortunately, there is not <em>one technology to bind them all</em>. The right choice depends on the specific needs of your project and often turns out to be a combination of the aforementioned approaches. At the end of my talk at MTC 2010, I had a very lively Q&amp;A session with the audience regarding this question. <a href="http://software-support.biz/zonen/sus/psecom,id,1,nodeid,1,p,0,_language,en.html">S&amp;S</a> allowed me to upload the <a href="http://HeikoBehrens.net/2011/03/26/video-recording-cross-platform-mobile-development-mtc/">video recoding of this talk on my blog</a>.</p>
<p>As always: If you need further help with your current project, just let me know.</p>
<p>Also, if you happen to be at <a href="http://www.iphonedevcon.de/">this year&#8217;s iPhoneDevCon in Cologne (01-02 December)</a> you should attend my session about cross-platform mobile development. I will give a similar, refined presentation with a lot of live demos and more information on the audio track. You welcome to ask more questions over there &#8211; but this should not bar you from dropping a comment below.</p>
<h2>Update</h2>
<p>Meanwhile, S&amp;S media gratefully allowed me to publish a (German) live recording of this talk.</p>
<div class="wp-caption aligncenter">
<p><iframe src="http://player.vimeo.com/video/20983647?portrait=0" width="550" height="303" frameborder="0"></iframe></p>
<p class="wp-caption-text">Video recording of my talk about &#8220;cross-platform mobile development&#8221; courtesy of S&amp;S media</p>
</div>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/eb390c6349c64a739bc6cde1c2323854" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1281&amp;md5=c8cb6821eeaadf454cbf8b9be8bb6375" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/10/11/cross-platform-app-development-for-iphone-android-co-%e2%80%94-a-comparison-i-presented-at-mobiletechcon-2010/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Books you should read to learn iPhone app development</title>
		<link>http://HeikoBehrens.net/2010/08/20/books-you-should-read-to-learn-iphone-app-development/</link>
		<comments>http://HeikoBehrens.net/2010/08/20/books-you-should-read-to-learn-iphone-app-development/#comments</comments>
		<pubDate>Fri, 20 Aug 2010 13:05:18 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1214</guid>
		<description><![CDATA[Every now and then, people ask me which books they should read after they had dug into Apple&#8217;s official material on the iPhone Dev Center. Whereas starters want a big picture (A) instead of losely stitched articles, more experienced programmers often approach the iPhone development from desktop computing and want to learn more about Objective-C (B) [...]]]></description>
			<content:encoded><![CDATA[<p>Every now and then, people ask me which books they should read after they had dug into Apple&#8217;s official material on the <a href="http://developer.apple.com/iphone">iPhone Dev Center</a>. Whereas starters want a big picture (A) instead of losely stitched articles, more experienced programmers often approach the iPhone development from desktop computing and want to learn more about Objective-C (B) or the interface concepts of the iPhone (C). From different conversations about individual needs and recommendations I find myself mentioning a few favorites again and again.</p>
<p><span id="more-1214"></span></p>
<h2>Beginning iPhone Development</h2>
<p><a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592"><img class="size-full wp-image-1223 alignleft" title="Beginning iPhone Development" src="http://www.heikobehrens.net/wp-content/uploads/2010/08/BeginningIphoneDevelopment.png" alt="" width="200" height="264" /></a></p>
<p>This book truly falls into category (A) and explains step by step how to start developing for the iPhone. <a href="http://www.davemark.com/">Dave Mark</a> and <a href="http://iphonedevelopment.blogspot.com/">Jeff LaMarche</a> not only discuss the concepts of the iPhone SDK. They describe essential little details of the tools you will face during your work such as the key strokes you have to know when using the Interface Builder. Some examples span across several chapters but the authors encourage you to branch out and try things on your own.<br />
It&#8217;s still for the iOS 3.0 and doesn&#8217;t cover multi tasking nor the retina display or universal apps for iPhone and iPad. But once you have mastered this book, looking up those features on the Dev Center should be easy.</p>
<p><a href="http://www.amazon.com/Beginning-iPhone-Development-Exploring-SDK/dp/1430224592">Link to Amazon</a>, <a href="http://www.iphonedevbook.com/">Book&#8217;s Website</a></p>
<h2 style="clear: both;">Cocoa Design Patterns</h2>
<p><a href="http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022"><img class="size-full wp-image-1224 alignleft" title="Cocoa Design Patterns" src="http://www.heikobehrens.net/wp-content/uploads/2010/08/CocoaDesignPatterns.png" alt="" width="200" height="264" /></a></p>
<p>This book definitely is not for beginners, it belongs to category (B). Readers should have worked with Objective-C and other programming languages before to value this great book by Erik Buck and Donald Yacktman. Newcomers to the iPhone development can use this book to gain a deeper understanding of the APIs they will face. Some of the patterns of this book are rather common in other programming languages, others are more or less unique to Objective-C. Over time, you will adapt these patterns to improve the design of your own programs, too.</p>
<p><a href="http://www.amazon.com/Cocoa-Design-Patterns-Erik-Buck/dp/0321535022">Link to Amazon</a>, <a href="http://www.cocoadesignpatterns.com/">Book&#8217;s Website</a></p>
<h2 style="clear: both;">Tapworthy</h2>
<p><a href="http://www.amazon.com/Tapworthy-Designing-Great-iPhone-Apps/dp/1449381650"><img class="size-full wp-image-1225 alignleft" title="Tapworthy" src="http://www.heikobehrens.net/wp-content/uploads/2010/08/Tapworthy.png" alt="" width="200" height="264" /></a></p>
<p>This book is a must-read for mobile app developers and you should definitely read it before you seriously think about the development of an iPhone app. <a href="http://globalmoxie.com/">Josh Clark</a> shares his deep understanding of the mobile user. To make it clear: This is not a coding book! You will learn a lot about designing interfaces (C), guiding your users through your app and keep them using your app by fleshing out its core features. The colorfully illustrated book rounds out with interesting experience reports by the developers of the Facebook app, Twitterrific, Gowalla, Things, and the like.</p>
<p><a href="http://www.amazon.com/Tapworthy-Designing-Great-iPhone-Apps/dp/1449381650">Link to Amazon</a></p>
<p style="clear: both;">Yes, there are a lot more exciting books covering iPhone development but these are my personal highlights of the aforementioned categories. Feel free to ask for more recommendations <a href="http://twitter.com/HBehrens">via twitter</a> or in the comments. What are your own favorites?</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/3e188b5e941048a78af8b8b3c6721690" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1214&amp;md5=7d405bb8a7253784a1038b84e3f1353e" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/08/20/books-you-should-read-to-learn-iphone-app-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Video Compositing on the iPhone: OpenGL with alpha mask on top of a full motion video</title>
		<link>http://HeikoBehrens.net/2010/07/07/video-compositing-on-the-iphone-opengl-with-alpha-mask-on-top-of-a-full-motion-video/</link>
		<comments>http://HeikoBehrens.net/2010/07/07/video-compositing-on-the-iphone-opengl-with-alpha-mask-on-top-of-a-full-motion-video/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 13:50:41 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1154</guid>
		<description><![CDATA[During the iPhone game project I have written about before we had to implement a highly dynamic 3D scene in great detail here at itemis. From a third-person perspective, the player looks at a semi-transparent ball rolling through a gully towards a waterfall. To implement this with the limited resources of the mobile device we [...]]]></description>
			<content:encoded><![CDATA[<p>During the <a href="http://www.heikobehrens.net/2010/06/03/psychologically-tricked-perceived-speed-in-an-iphone-game/">iPhone game project I have written about before</a> we had to implement a highly dynamic 3D scene in great detail here at <a href="http://mobile.itemis.de">itemis</a>. From a third-person perspective, the player looks at a semi-transparent ball rolling through a gully towards a waterfall. To implement this with the limited resources of the mobile device we came up with an adaption of the<a href="http://en.wikipedia.org/wiki/Rear_projection_effect"> rear projection technique</a> as known from film productions.</p>
<div id="attachment_1155" class="wp-caption aligncenter" style="width: 529px"><img class="size-full wp-image-1155" title="compositingExplained" src="http://www.heikobehrens.net/wp-content/uploads/2010/07/compositingExplained.png" alt="Layer compositing" width="519" height="189" /><p class="wp-caption-text">The game screen has been built with a full motion video behind the HUD and the game layer. </p></div>
<p>The game screen as seen by the player internally consists of different layers. The top-most layer contains 2D graphics and displays information such as speed or remaining time. Behind this layer (or plate) the dynamic 3D game scene is being rendered. This layer contains the actual game elements the player controls. It has been built with OpenGL and displays the player&#8217;s character inside a rolling ball.</p>
<p>Now, in addition to this quite common setup we implemented a third layer in the back that plays a <a href="http://en.wikipedia.org/wiki/Full_motion_video">full motion video</a> of a pre-rendered game scene. Even though this technique had been used for games such as <a href="http://en.wikipedia.org/wiki/Star_Wars:_Rebel_Assault">Rebel Assault on the PC</a> between the late 80&#8242;s and the early 90&#8242;s I am not aware of any iPhone game that integrates the game layer as tight as we did with matting and <a href="http://en.wikipedia.org/wiki/Alpha_compositing">alpha compositing</a>.</p>
<div id="attachment_1161" class="wp-caption aligncenter" style="width: 560px"><img class="size-full wp-image-1161" title="Compositing Result" src="http://www.heikobehrens.net/wp-content/uploads/2010/07/compositingResult.png" alt="" width="550" height="187" /><p class="wp-caption-text">Game elements (a) with animated matting (b) appear inside (c) or even &quot;behind&quot; a background movie as illustrated on (d).</p></div>
<p>In no case we wanted to deliver a separate, affixed game layer above the movie. Instead, we tried to create the impression of embedded game elements (a) as an integrated part of the pre-rendered movie. With the help of an animated alpha mask (holdout matte) that corresponds to the wave movements of the river (b) we were able to let the water appear above the ball (c). And by using a matte with a true alpha channel we were even able to let submerged parts of the scene shine through the water surface as you can see on (d).</p>
<p><a href="http://itunes.apple.com/de/app/nivea-for-men-waterfallrace/id375677447?mt=8">NIVEA FOR MEN WaterfallRace is available on the App Store</a> for free and I will write another post including a screencast once the scheduled update for known bugs is out.</p>
<p>We were able to make this compositing feature work on the 1st generation iPod Touch and iPhone with the SDK 3.0. Please let me know if you are interested in the technical details on how to configure the EAGLView and MPMoviePlayerController or how to sync with the movie on the targeted iPhone OS 3.1. Also, please comment on this post if there&#8217;s another development aspect of this project you want to learn more about.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/43d4c7af807649e88fc0527c7d0d85cc" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1154&amp;md5=fdc12ee4ed46a491a45a56949ccc59fa" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/07/07/video-compositing-on-the-iphone-opengl-with-alpha-mask-on-top-of-a-full-motion-video/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Psychologically Tricked: Perceived Speed in an iPhone Game</title>
		<link>http://HeikoBehrens.net/2010/06/03/psychologically-tricked-perceived-speed-in-an-iphone-game/</link>
		<comments>http://HeikoBehrens.net/2010/06/03/psychologically-tricked-perceived-speed-in-an-iphone-game/#comments</comments>
		<pubDate>Thu, 03 Jun 2010 12:00:50 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1042</guid>
		<description><![CDATA[In a recent iPhone game project I was involved with at itemis the player had to gain speed by tapping on the touch screen. Several game elements conveyed the impression of acceleration to motivate the player achieving this goal. The 3D game graphic of fly-by elements in a canyon were supported by a crescendo of game sounds [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent iPhone game project I was involved with at <a href="http://mobile.itemis.de/">itemis</a> the player had to gain speed by tapping on the touch screen. Several game elements conveyed the impression of acceleration to motivate the player achieving this goal. The 3D game graphic of fly-by elements in a canyon were supported by a crescendo of game sounds and as with any serious racing game there was a speedometer, too.</p>
<p><strong>Update: <a href="http://www.heikobehrens.net/2010/07/07/video-compositing-on-the-iphone-opengl-with-alpha-mask-on-top-of-a-full-motion-video/"><span style="font-weight: normal;">Read the follow-up post</span></a></strong> about the <a href="http://itunes.apple.com/de/app/nivea-for-men-waterfallrace/id375677447?mt=8">NIVEA FOR MEN WaterfallRace</a>.</p>
<div id="attachment_1045" class="wp-caption aligncenter" style="width: 400px"><img class="size-full wp-image-1045" title="separation of actual and displayed value" src="http://www.heikobehrens.net/wp-content/uploads/2010/06/chartscombined.png" alt="" width="390" height="156" /><p class="wp-caption-text">Different functions to separate actual and displayed speed values</p></div>
<p>During our first phase of interaction tests we constantly got the feedback that the speedo was not accurate, though. Players had the impression to be way faster than the value displayed by the gauge. Others complained about how hard it was to gain speed in the lower region.</p>
<p>We decided to separate the actual speed used for game logic from the displayed value as shown by the speedometer. The paper &#8220;<a href="http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf">Rethinking the Progress Bar</a>&#8221; I stumbled across a while ago when I was improving the user experience of a desktop application came in handy to do so. Chris Harrison et. al. discuss how different update rates of ordinary progress bars change the user&#8217;s perception of progress duration. They come up with some simple, yet useful functions to map a real progress value <em>x</em> to the displayed value <em>f(x)</em>.</p>
<div id="attachment_1046" class="wp-caption aligncenter" style="width: 359px"><img class="size-full wp-image-1046" title="selection of progress functions" src="http://www.heikobehrens.net/wp-content/uploads/2010/06/formulars.png" alt="" width="349" height="172" /><p class="wp-caption-text">Selection of functions as described in Rethinking the Progress Bar</p></div>
<p>Whereas the results in the paper highlight functions that produce an accelerating progress bar in the end we needed to achieve the opposite for our game.</p>
<blockquote><p>My speed is quite good by now but I am not at top speed, yet. I will try harder.</p></blockquote>
<p>On slow speed ranges our speedometer simulated a higher speed and greater variation on speed changes. Beginners got immediate feedback and felt success that way. High speed values on the other hand were visually more difficult to achieve. That behavior seemed to motivate advanced players.</p>
<p>We first used the <em>Inverse Fast Power</em> function but eventually settled on <em>Late Pause</em>. No player ever mentioned a mismatch between the actual and the displayed value after our adjustments and nobody seemed to recognize the fake.</p>
<p><strong>Links</strong></p>
<ul>
<li><a href="http://itunes.apple.com/de/app/nivea-for-men-waterfallrace/id375677447?mt=8">NIVEA FOR MEN WaterfallRace</a> on the App Store</li>
<li><a href="http://www.chrisharrison.net/projects/progressbars/ProgBarHarrison.pdf">&#8220;Rethinking the Progress Bar&#8221; by Chris Harrison, Brian Amento, Stacey Kuznetsov and Robert Bell</a></li>
<li><a href="http://mobile.itemis.de/">itemis mobile application development</a></li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/8096c848ed1845dfa9394e2d82f30de6" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1042&amp;md5=e2ce0e6b3219070eaa1257d7e9e3a411" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/06/03/psychologically-tricked-perceived-speed-in-an-iphone-game/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Preview your photoshop design directly on the iPhone/iPad</title>
		<link>http://HeikoBehrens.net/2010/05/07/preview-your-photoshop-design-directly-on-the-iphoneipad/</link>
		<comments>http://HeikoBehrens.net/2010/05/07/preview-your-photoshop-design-directly-on-the-iphoneipad/#comments</comments>
		<pubDate>Fri, 07 May 2010 20:19:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1022</guid>
		<description><![CDATA[Too many screen designers are not yet familiar with mobile touch screens. There, you have to look carefully for buttons large enough to hit with your thumb, fonts that are readable on the go and colors that compensate those energy-saving displays. As with print, you should proof your design against the actual output early and [...]]]></description>
			<content:encoded><![CDATA[<p>Too many screen designers are not yet familiar with mobile touch screens. There, you have to look carefully for buttons large enough to hit with your thumb, fonts that are readable on the go and colors that compensate those energy-saving displays. As with print, you should proof your design against the actual output early and regularly. But since we are in the 21st century we can choose a more effective way than using color calibration, DPI adjustments, or print-outs to do this.</p>
<p>A week ago I stumbled across a small and free tool by <a href="http://zambetti.com/">Nicholas Zambetti</a> called <a href="http://zambetti.com/projects/liveview/">LiveView</a> you can find <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301069270&amp;mt=8">on the App Store</a>. Its concept is easy: On your Mac you run the LiveView ScreenCaster. That counter part renders an iPhone/iPad frame in its actual (huge!) dimensions on your monitor. Anything that shines through the screen of that imaginary device is being sent over the Wi-Fi. On the iPhone/iPad you can now run the LiveView app. It automatically finds every Mac currently running a ScreenCaster via Bonjour, asks you for the one to display and&#8230; Well, that&#8217;s it. You can now see your screen pixel perfect without exporting and importing images anymore.</p>
<div id="attachment_1023" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.heikobehrens.net/wp-content/uploads/2010/05/liveviewonipad.png"><img class="size-full wp-image-1023" title="LiveView on iPad" src="http://www.heikobehrens.net/wp-content/uploads/2010/05/liveviewonipad.png" alt="The liveview app+screencaster copies the content of your screen directly to your device over the air." width="400" height="318" /></a><p class="wp-caption-text">Get a live copy of your screen on the iPad with the LiveView app.</p></div>
<p>As it turns out, this is just the way you can immediately test out anything you mock on your big screen. The ScreenCaster frame gives you the right idea about the actual dimensions of the device including its borders. You can adjust its position pixel by pixel with the cursor keys and finally press CMD+H to hide it. This is far more convenient than any VNC-based approach I tried before.</p>
<p>From there, work with <a href="http://www.adobe.com/products/photoshop/family/">Photoshop</a>, <a href="http://www.pixelmator.com/">Pixelmator</a>, <a href="http://www.omnigroup.com/applications/omnigraffle/">OmniGraffle</a> or any other tool as usual. You can hide layers, resize elements, and change your font size while watching everything live on your device.</p>
<p>Impress your client and hand over the iPhone to your stunning audience while swapping layers. Or, use the tool as I did it with my current project at <a href="http://www.itemis.com/">itemis</a>. I looked at a flash website through the iPhone! That way, I was able to gain a first impression of what can be improved with a true iPhone app.</p>
<p>Unfortunately, the ScreenCaster cannot be rotated to send the data in landscape mode. Another flaw is the lack of a Windows version of the ScreenCaster. Nicholas, if you read this: I meant it the way I mailed it. Let me know if I can help you with the Windows port!</p>
<h3>Links</h3>
<ul>
<li><a href="http://zambetti.com/projects/liveview/">LiveView project website</a></li>
<li><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=301069270&amp;mt=8">LiveView on the App Store</a></li>
<li><a href="http://labs.ideo.com/2009/01/20/liveview-an-iphone-app-for-on-screen-prototyping/">blog post about LiveView by Gentry Underwood</a></li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/2accf61ab9a34c8a8f5c828e91fef41d" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1022&amp;md5=04e6ec69a3218eae953d782f8021558f" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/05/07/preview-your-photoshop-design-directly-on-the-iphoneipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s get naked</title>
		<link>http://HeikoBehrens.net/2010/04/09/lets-get-naked/</link>
		<comments>http://HeikoBehrens.net/2010/04/09/lets-get-naked/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 07:37:24 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=1002</guid>
		<description><![CDATA[Today is CSS Naked Day 2010, hopefully many websites will participate and deactivate their styling as I did with this blog. The idea behind CSSND is to promote web standards and proper, semantic markup. In my opinion web standards such as Cascading Style Sheets (CSS) tremendously evolved over the last years. Where I used images [...]]]></description>
			<content:encoded><![CDATA[<p>Today is <a href="http://naked.threepixeldrift.com/">CSS Naked Day 2010</a>, hopefully many websites will participate and deactivate their styling as I did with this blog. The idea behind CSSND is to promote web standards and proper, semantic markup.</p>
<div id="attachment_1012" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-1012 " title="Comparison between CSS and non-CSS" src="http://www.heikobehrens.net/wp-content/uploads/2010/04/csscomparison1.png" alt="This blog with and without Cascading Style Sheets on the CSSND." width="400" height="300" /><p class="wp-caption-text">This blog with and without Cascading Style Sheets on the CSSND.</p></div>
<p><span id="more-1002"></span>In my opinion web standards such as <a href="http://en.wikipedia.org/wiki/Cascading_Style_Sheets">Cascading Style Sheets</a> (CSS) tremendously evolved over the last years. Where I used images and tables years ago in order to achieve a proper site layout I can simply use CSS nowadays. In my current project I go even forward and implement transitions, rotations and semi-perspective alignment in a consistent, declarative way.</p>
<p>For a single day, I will deactivate CSS to honor these achievements. Thank you &#8211; <a href="http://people.opera.com/howcome/">Håkon Wium Lie</a>, the <a href="http://www.w3.org/Style/CSS/">W3C</a> and the early adopting web community!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=1002&amp;md5=9a45a5fa1f0e7f21896d6ddcc96c0ad8" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/04/09/lets-get-naked/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The iPad sucks &#8211; my first impressions</title>
		<link>http://HeikoBehrens.net/2010/04/07/the-ipad-sucks-my-first-impressions/</link>
		<comments>http://HeikoBehrens.net/2010/04/07/the-ipad-sucks-my-first-impressions/#comments</comments>
		<pubDate>Wed, 07 Apr 2010 15:25:54 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[featured]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=984</guid>
		<description><![CDATA[Now that I got your attention, read on and understand what exactly I dislike about the current version of the iPad. In short: its weight, the curved flip side while typing, the reflecting display and the absence of multi-user support. So, what does this mean to me? Weight and Typing When I held this device [...]]]></description>
			<content:encoded><![CDATA[<p>Now that I got your attention, read on and understand what exactly I dislike about the current version of the iPad. In short: its weight, the curved flip side while typing, the reflecting display and the absence of multi-user support. So, what does this mean to me?</p>
<div id="attachment_986" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2010/04/img_0255.jpg"><img class="size-medium wp-image-986" title="iPad after 15 minutes" src="http://www.heikobehrens.net/wp-content/uploads/2010/04/img_0255-300x225.jpg" alt="The iPad after 15 minutes of usage" width="300" height="225" /></a><p class="wp-caption-text">The iPad after 15 minutes of usage</p></div>
<h3>Weight and Typing</h3>
<p>When I held this device in my hands this morning my first reaction was &#8220;oh, that&#8217;s heavy&#8221;. And in fact, after holding it a few minutes between my thumb and forefinger while swiping and touching through the apps this impression got stronger. Its weight becomes even more annoying while typing when you hold the device with one hand and type letter by letter with the other one.</p>
<p>&#8220;Not a problem&#8221; you might say, &#8220;one can place it on the table to type&#8221;. Well, yes and no. I was suprised how stable it was on the tabletop despite its curved flip side. The keys are way larger than those on the iPhone and typing with two hands would be a pleasure if there wasn&#8217;t the space bar. Each time I hit the spacer with my thumb the device slightly revolved around its own axis. Only cloth could prevent this.</p>
<p>&#8220;Why not using two thumbs for typing&#8221;, I thought by myself. This is what I do on the iPhone the whole time and it might work well on the iPad even though it&#8217;s larger. I was looking at the virtual keyboard to hit the proper keys with my thumbs and kept quite happy for a few letters. To conquer those larger distances with your fingers is one thing. To focus text and keyboard with my single pair of eyes simultanously simply doesn&#8217;t work. The keyboard at the bottom and text at the very top of the screen are so far away from each other on that huge display, this technique doesn&#8217;t work anymore. The seesaw between text and keyboard made me feel like I haven&#8217;t typed before at all.</p>
<p>In the end, only few postures on the sofa where you place the iPad on your lap worked fine for me.</p>
<h3>Glossy Display</h3>
<p>At first glance, this might only be an esthetic issue. Having finger prints all over the display is not really the end of the world. It&#8217;s just in the eye of the beholder. Right, but having reflections of your ceiling light, sunblinds or windows in general is more than annoying. When one finally found a way to type successfully on the iPad, there are not many options to prevent those reflections anymore. There&#8217;s no turnable display lid like the one on your laptop and you cannot easily change the angle between your tables and your windows &#8211; once you figured out how to type with two hands.</p>
<h3>No Multi-User Support</h3>
<p>I think of the iPad as the obvious extension of your living room. Your guests can look-up the soccer results, browse on youtube, pass it around to complete the pizza ordering or even check their facebook status. And the latter is exactly the problem with the iPad. As anything else in your living room the iPad is open to anyone. But what about your mails? What about your browser history and your stored logins? And what about your beloved calender, twitter, facebook or baking apps that grant access at a single finger tip?</p>
<p>Do you really have to lock the iPad? Is it just a toy and must not be used for serious data?</p>
<h3>Conclusion</h3>
<p>I am still fascinated by the iPad. It&#8217;s an amazing (some argue &#8220;magical&#8221;) piece of technology. I will get used to its weight and will learn how to type and look at the glossy display. But the lack of a &#8220;guest profile&#8221; or an equivalent way to hide away sensible data is something apple has to work on. Under these circumstances there&#8217;s only one option for me to use the iPad in future &#8211; I will need two of them.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/98e18dae6725438188652cc273bb205c" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=984&amp;md5=3bfb0b7229bbf72aa1f7e47b67af30c3" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/04/07/the-ipad-sucks-my-first-impressions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The iPhone at EclipseCon 2010</title>
		<link>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/</link>
		<comments>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 08:49:36 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=968</guid>
		<description><![CDATA[The EclipseCon 2010 was a huge success not only for our flagship project Xtext. As mentioned by Sven and Jan before, we gratefully received the Eclipse Community Award and enthusiastically delivered more than 6 talks around model-driven software development. But beyond that, it&#8217;s been the first international conference where you could learn about a new area [...]]]></description>
			<content:encoded><![CDATA[<p>The EclipseCon 2010 was a huge success not only for our flagship project <a href="http://www.eclipse.org/Xtext/">Xtext</a>. As mentioned by <a href="http://blog.efftinge.de/2010/03/xtext-won-eclipse-community-award.html">Sven</a> and <a href="http://koehnlein.blogspot.com/2010/03/eclipsecon-2010-xtext-everywhere.html">Jan</a> before, we gratefully received the <a href="http://www.eclipse.org/org/press-release/20100322_awardswinners.php">Eclipse Community Award</a> and enthusiastically delivered more than 6 talks around model-driven software development. But beyond that, it&#8217;s been the first international conference where you could learn about <a href="http://www.itemis.com/itemis-ag/portfolio/language=en/29470/business-applications-for-mobile-devices">a new area of itemis&#8217; activities: mobile applications</a>.</p>
<div id="attachment_975" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2010/03/generatediphoneapp.png"><img class="size-medium wp-image-975" title="generatediphoneapp" src="http://www.heikobehrens.net/wp-content/uploads/2010/03/generatediphoneapp-300x176.png" alt="Generated iPhone app" width="300" height="176" /></a><p class="wp-caption-text">100% Generated iPhone app of my EclipseCon talk</p></div>
<p>During my talk on Monday (<a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">slides on slideshare</a>), I argued how you can leverage the ideas of MDSD to be more efficient when building iPhone apps with the help of domain-specific languages. To prove this, I built a running iPhone application in front of the audience in just 12 minutes. That application was able to browse the corporate blog of itemis as well as an index of itemis speakers and talks available at EclipseCon. From any screen you could jump to related bits of information. Everything was being loaded on demand and behaved like every other native application on the iPhone &#8211; since <em>it is</em> a native app. And the coolest thing: All this without leaving Eclipse!</p>
<p>As you can read in the <a href="http://www.thebitsource.com/featured-posts/iphonical-model-driven-iphone-application-development/">interview I gave to The Bitsource</a> I understand this particular demo app as an example. It represents an important part of many apps you can find in the stores today and the provided results are substitutional for the whole group of data-centric mobile applications itemis is going to deliver with the powerful help of MDSD.</p>
<div id="attachment_971" class="wp-caption aligncenter" style="width: 310px"><a href="http://vimeo.com/10438569"><img class="size-medium wp-image-971" title="Heiko holding the iPhone Mars Rover app" src="http://www.heikobehrens.net/wp-content/uploads/2010/03/portraitheiko-300x225.png" alt="" width="300" height="225" /></a><p class="wp-caption-text">Me holding the iPhone Mars Rover app. Click the image to watch a video of the iPhone Mars Rover app.</p></div>
<p>A rather unusual event we stumbled upon was the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">EclipseCon Mars Rover Challenge</a> held in cooperation with the <a href="http://www.jpl.nasa.gov/">NASA JPL</a>. It&#8217;s idea was to create the very best robotic control system to drive a robot across a prototypical Mars landscape. And guess what? <a href="http://www.peterfriese.de">Peter</a> and I set out to deliver an iPhone application to do so.</p>
<p>To make a <a href="http://www.google.com/search?q=iphone%20mars%20rover">long and amusing story</a> short, we came up with a vibrating and blinking iPhone app that allows you to steer the robot by tilting the device. <a href="http://www.popsci.com/technology/article/2010-03/watch-iphone-control-mars-rover-earth">Popular Science</a>, <a href="http://mashable.com/2010/03/26/iphone-mars-rover/">Mashable</a>, <a href="http://tech.slashdot.org/story/10/03/26/1318208/iPhone-App-Developed-To-Control-NASA-Robot">Slashdot</a> and many other news sites caught up quickly &#8211; so we decided to publish a <a href="http://iPhoneMarsRover.com">dedicated website (iPhoneMarsRover.com)</a> discussing the details and providing more images on that particular application. At this point I want to thank <a href="http://www.carsten-oltmann.de/">Carsten</a> and <a href="http://jendryschik.de/">Michael</a> for their invaluable help building that site. It&#8217;s a pleasure to work with such talented people.</p>
<p>And regarding the Mars Rover app: In future, we will most probably give droids the chance to hold that app in their hands &#8211; stay tuned!</p>
<p>Yes, itemis truly enters the market of mobile applications. And this goes way beyond ordinary iPhone, Android or Symbian apps. We are currently working on something that will knock your socks off! But that&#8217;s still a #secretproject&#8230;</p>
<p><strong>Update 04/15/10:</strong> Dzone interviewed <a href="http://www.PeterFriese.de">Peter</a> and me about the aforementioned talk as well as the Mars Rover app. <a href="http://java.dzone.com/articles/xtext-and-iphone">Read more details over there</a>.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">Slides of my MDSD on iPhone talk</a></li>
<li><a href="http://vimeo.com/10438569">Video of the iPhone Mars Rover app</a></li>
<li><a href="http://iPhoneMarsRover.com">iPhoneMarsRover.com</a></li>
<li><a href="http://www.thebitsource.com/featured-posts/iphonical-model-driven-iphone-application-development/">Interview at BitSource about MDSD on iPhone</a></li>
<li><a href="http://java.dzone.com/articles/xtext-and-iphone">Interview at DZone about MDSD on iPhone and Mars Rover</a></li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/3de71db378514448bd62728387ad37b2" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=968&amp;md5=56013ecb671b17efdcebaff331e5e0be" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/03/31/the-iphone-at-eclipsecon-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Recent updates of the Xtext website</title>
		<link>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/</link>
		<comments>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 18:27:08 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=932</guid>
		<description><![CDATA[In conjunction with the Eclipse M4 release of Xtext its website has been updated, too. We wanted the new features to reflect how lively the Xtext project is by just looking at the website. At the same time, they should not scare away new visitors but be informative and subtle. In the end we came [...]]]></description>
			<content:encoded><![CDATA[<p>In conjunction with <a href="http://www.eclipse.org/Xtext/documentation/0_8_0/new_and_noteworthy.php#M4">the Eclipse M4 release of Xtext</a> its website has been updated, too. We wanted the new features to reflect how lively the Xtext project is by just looking at the website. At the same time, they should not scare away new visitors but be informative and subtle.</p>
<p>In the end we came up with: Some statistics of the project activity (1), a news aggregator (2), and a condensed (53 secs) introductory screencast (3).</p>
<div id="attachment_938" class="wp-caption alignnone" style="width: 410px"><a href="http://www.eclipse.org/Xtext"><img class="size-full wp-image-938" title="Updated Xtext website" src="http://www.heikobehrens.net/wp-content/uploads/2010/01/website.png" alt="The new Xtext website displays commit statistics (1), recent blog posts plus other web content (2) and a brand-new screencast (3)" width="400" height="304" /></a><p class="wp-caption-text">The updated Xtext website displays commit statistics (1), recent blog posts plus other web content (2) and a brand-new introductory screencast (3)</p></div>
<p>Our project website attracted some attention since <a href="http://blog.efftinge.de/2009/06/xtext-new-website.html">it has been launched this June</a>. The <a href="http://eclipse.org/amp/">AMP project</a> reuses its layout and Denis from <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/2009/10/08/nice-project-website/">the Eclipse webmaster team embraces the results</a>, too. From there, the <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=235828">bugzilla 235828</a> discusses whether the Xtext website should serve as the standard template for new Eclipse projects.</p>
<p>Currently, you can see such an <a href="http://www.eclipse.org/default/">&#8220;empty Xtext website&#8221; at eclipse.org/default</a> - how cool is that!</p>
<h3>The Bells and Whistles</h3>
<p>Even if <a href="http://dev.eclipse.org/blogs/eclipsewebmaster/">Denis, Matt &amp; Karl</a> will provide a standard template based on the Xtext website you might want to adapt some of our additional features, too. To support you in doing so, I will summarize the underlying technology of the recently introduced features.</p>
<p>To produce the commit stats (1) the page leverages the <a href="http://dash.eclipse.org/dash/commits/web-app/summary.cgi?company=y&amp;month=x&amp;project=modeling.tmf.xtext">commit statistics of Xtext</a> and renders the polished data with the <a href="http://code.google.com/apis/chart/">Google Chart API</a> on order to match our visual expectations.</p>
<p>The news section has been built with <a href="http://pipes.yahoo.com/">Yahoo Pipes</a> to scan, filter and aggregate different web resources asynchronously. You can even <a href="http://pipes.yahoo.com/pipes/pipe.run?_id=c90e6166f0e980bf8df929fce8213a4e&amp;_render=rss">subscribe to the news feed directly</a> to always stay up to date.</p>
<p>For both the commit stats as well as the news section Denis allowed me to install a cronjob that fetches and stores the results independently from the http requests.</p>
<p>The <a href="http://www.vimeo.com/8260921">screencast</a> has been recorded and edited with <a href="http://www.telestream.net/screen-flow/">ScreenFlow</a>. Also, <a href="http://blog.efftinge.de/">thanks to Sven</a> for the audio equipment!</p>
<p>Let me know if you want me to provide more details.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/a221cf78f6624f208a7f59126661ee5e" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=932&amp;md5=d66a86dfea7fc85889ff704b193bca66" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2010/01/07/recent-updates-of-the-xtext-website/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Retrospection of the iPhone Developer Conference 2009</title>
		<link>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/</link>
		<comments>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 20:11:49 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=914</guid>
		<description><![CDATA[The German iPhone Developer Conference in Cologne (01-02 December) was an exciting event that started with a very informative keynote by Maximilian Reiß who elaborated the tide of iPhone events of the last years. From there, nearly 200 attendees were invited to join business-related presentations and developer-oriented talks on separated tracks over the next two [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.iphonedevcon.de/">German iPhone Developer Conference</a> in Cologne (01-02 December) was an exciting event that started with a very informative keynote by Maximilian Reiß who elaborated the tide of iPhone events of the last years. From there, nearly 200 attendees were invited to join business-related presentations and developer-oriented talks on separated tracks over the next two days.</p>
<div id="attachment_917" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-917" title="iPhoneDevCon" src="http://www.heikobehrens.net/wp-content/uploads/2009/12/iphonedevcon.png" alt="Nearly 200 attendees, 29 talks on 2 days and 3 winners of the best German iPhone App contest at the iPhone Developer Conference" width="450" height="133" /><p class="wp-caption-text">Nearly 200 attendees, 29 talks on 2 days and 3 winners of the best German iPhone App contest at the iPhone Developer Conference in Cologne</p></div>
<p>I had the chance to introduce the <a href="http://code.google.com/p/iphonical/">iPhonical project</a> that applies model-driven techniques to produce parts of iPhone applications automatically. <a href="http://www.slideshare.net/HeikoB/iphonical-and-modeldriven-software-development-for-the-iphone">The presentation</a> first describes a way to separate generated code from manually written source with the Objective-C concept of categories. From there, I demonstrated that even with powerful frameworks such as <a href="http://iphoneonrails.com/">ObjectiveResource</a> (an adapter to connect iPhone apps with Rails applications) one can benefit from code generation. With the help of the iPhonical DSL (implemented with <a href="http://www.Xtext.org">Xtext</a>) keeping data-centric classes in sync with the web application was way easier than coding them by hand.</p>
<p>The iPhoneDevCon was a very informative event. Many passionated developers or leads, growing studios and enthusiastic marketing representatives shared their ideas and during the breaks you could easily discuss different viewpoints of today&#8217;s opportunities and approaches.</p>
<p>Apart from the 3 winners of the &#8220;<a href="http://www.iphonedevcon.de/Beste-App-09.322.0.html">best German iPhone app</a>&#8221; (according to iPhone &amp; Co) a <a href="http://www.mac-developer.de/">brand-new iPhone and Mac magazine, mac-developer,</a> has been announced. As the name suggests it concentrates on developers and its first issue is quite promissing.</p>
<h3>Links</h3>
<ul>
<li><a href="http://iphonedevcon.de/">iPhone Developer Conference</a> website</li>
<li><a href="http://www.slideshare.net/HeikoB/iphonical-and-modeldriven-software-development-for-the-iphone">Slides &#8220;iPhonical and model-driven software development for the iPhone&#8221;</a> on SlideShare</li>
<li><a href="http://code.google.com/p/iphonical/">iPhonical project</a> website</li>
<li><a href="http://www.mac-developer.de/">mac-developer</a> magazine (German)</li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/8fe30d0afe604ed4a389c5f039d76ac5" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=914&amp;md5=2734f1d2c4d73b85edf7358c1204c103" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/12/07/retrospection-of-the-iphone-developer-conference-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhonical at the second German iPhone Developer Conference in December 2009</title>
		<link>http://HeikoBehrens.net/2009/10/25/iphonical-at-the-second-german-iphone-developer-conference-in-december-2009/</link>
		<comments>http://HeikoBehrens.net/2009/10/25/iphonical-at-the-second-german-iphone-developer-conference-in-december-2009/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 17:33:33 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=858</guid>
		<description><![CDATA[This December will start with two exciting days when the German iPhone Developer Conference takes place in Cologne. With 28 talks about business and engineering on two tracks the second iPhoneDevCon celebrates the second anniversary of the iPhone itself. Not by accident Maximilian Reiß picks up this coincidence and gives a résumé of two eventful [...]]]></description>
			<content:encoded><![CDATA[<p>This December will start with two exciting days when the <a href="http://www.iPhoneDevCon.de">German iPhone Developer Conference takes place in Cologne</a>. With 28 talks about business and engineering on <em>two</em> tracks the <em>second</em> iPhoneDevCon celebrates the <em>second</em> anniversary of the iPhone itself. Not by accident Maximilian Reiß picks up this coincidence and gives a résumé of two eventful years with apple&#8217;s successful device in his keynote.</p>
<p>My talk about model-driven iPhone development in general and the <a href="http://code.google.com/p/iphonical/">open source tool iPhonical</a> in particular ranks among many other promising talks for developers.</p>
<div id="attachment_861" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.iphonedevcon.de/"><img class="size-full wp-image-861" title="iphonedevconlogo" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/iphonedevconlogo.png" alt="Visit the iPhoneDevCon in Cologne on December 01-02, 2009" width="400" height="71" /></a><p class="wp-caption-text">Visit the German iPhoneDevCon in Cologne on December 01-02, 2009</p></div>
<p>If you are planning to attend please contact me in advance. Being a speaker I can give away a limited amount of promotion codes. This might safe you some expenses and allows you to buy me a drink in return <img src='http://HeikoBehrens.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=858&amp;md5=ec90f1899c38674421a6b2d1fde4c0ec" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/25/iphonical-at-the-second-german-iphone-developer-conference-in-december-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>EWiTa 2009 in retrospect</title>
		<link>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/</link>
		<comments>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 10:42:48 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=891</guid>
		<description><![CDATA[Yesterday&#8217;s first Elmshorner Wirtschaftsinformatiktag at the Nordakademie was a worthwhile event. As expected, the lineup arranged by Hinrich Schröder and Frank Zimmermann motivated controversial discussions. Hartmut Herde asked critical questions about MDSD whereas I outlined how MDSD can be applied successfully with the needed knowlege at hand. Anyway, I fully agree with his opinion and [...]]]></description>
			<content:encoded><![CDATA[<p>Yesterday&#8217;s <a href="http://ewita.nordakademie.de/">first Elmshorner Wirtschaftsinformatiktag</a> at the Nordakademie was a worthwhile event. As expected, the lineup arranged by Hinrich Schröder and Frank Zimmermann motivated controversial discussions. Hartmut Herde asked critical questions about MDSD whereas I outlined how MDSD can be applied successfully with <a href="http://www.itemis.de">the needed knowlege at hand</a>. Anyway, I fully agree with his opinion and enjoyed listening. Try to read his paper <a href="http://www.amazon.de/Tagungsband-ersten-Elmshorner-Wirtschaftsinformatiktag-2009/dp/3832286233">in the proceedings</a> if possible.</p>
<p>Frank Zimmermann explained how Eclipse Modeling and <a href="http://www.Xtext.org">Xtext</a> in particular can be used to produce SAP applications. He even gave a live-presentation of the <a href="http://www.heikobehrens.net/2009/09/11/xtext-goes-sap/">tools his students developed during a research project</a>.</p>
<div id="attachment_892" class="wp-caption aligncenter" style="width: 475px"><a href="http://www.flickr.com/photos/sza/sets/72157622523990299/"><img class="size-full wp-image-892" title="Photos By Simon Zambrovski" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/photos.png" alt="Simon Zambrovski took some photos at the EWiTa" width="465" height="153" /></a><p class="wp-caption-text">Simon Zambrovski took some photos at the EWiTa</p></div>
<p>Since the <a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">slides I used at the EWiTa</a> were an excerpt from a <a href="http://www.heikobehrens.net/2009/06/17/impressions-of-code-generation-2009/">former talk at the Code Generation 2009 in Cambridge</a> I will only list the related talks I mentioned in the end:</p>
<ul>
<li><strong>Xtext Workshop</strong><br />
<a href="http://www.eclipsecon.org/summiteurope2009/">Eclipse Summit Europe</a> &#8211; 27 October 2009 – Ludwigsburg</li>
<li><strong>Mastering differentiated MDSD Requirements at Deutsche Börse AG</strong><br />
<a href="http://it-republik.de/jaxenter/wjax09/">W-JAX 09</a> - 10 November 2009 – Munich<strong><br />
</strong></li>
<li><strong>Experience Report by Deutsche Börse AG</strong><br />
<a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Frankfurt">Eclipse DemoCamp Frankfurt </a> &#8211; 26 November 2009 – Frankfurt</li>
<li><strong>Combining Graphics and Text in Model Editors</strong><br />
<a href="http://wiki.eclipse.org/Eclipse_DemoCamps_November_2009/Hamburg">Eclipse DemoCamp Hamburg</a> &#8211; 04 December 2009 – Hamburg</li>
</ul>
<h3>Links</h3>
<div>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">Slides at Slideshare</a> (from Code Generation 2009)</li>
<li><a href="http://www.amazon.de/Tagungsband-ersten-Elmshorner-Wirtschaftsinformatiktag-2009/dp/3832286233">Proceedings at Amazon</a> (not available, yet)</li>
<li><a href="http://www.flickr.com/photos/sza/sets/72157622523990299/">Images by Simon Zambrovski</a></li>
</ul>
</div>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=891&amp;md5=11d2ac51510410dd8225b029a8ea8c1c" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/24/ewita-2009-in-retrospect/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Modeling Days 2009 in New York and Toronto</title>
		<link>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/</link>
		<comments>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/#comments</comments>
		<pubDate>Tue, 20 Oct 2009 17:27:48 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=871</guid>
		<description><![CDATA[This November you are invited to learn more about modeling with Eclipse at the Modeling Days in New York (November 16th) and Toronto (November 18th). Both one-day long events will get together experts of different modeling domains and will give you the chance to get in touch with them. Personally, I am looking forward to [...]]]></description>
			<content:encoded><![CDATA[<p>This November you are invited to learn more about <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">modeling with Eclipse at the Modeling Days</a> in New York (November 16th) and Toronto (November 18th). Both one-day long events will get together experts of different modeling domains and will give you the chance to get in touch with them.</p>
<div id="attachment_872" class="wp-caption aligncenter" style="width: 356px"><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day"><img class="size-full wp-image-872" title="eclipsemodelinglogo" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/eclipsemodelinglogo.png" alt="Learn more about modeling with Eclipse" width="346" height="233" /></a><p class="wp-caption-text">Meet us at the Eclipse Modeling Days in New York and Toronto</p></div>
<p>Personally, I am looking forward to the talks</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Modeling_on_an_Enterprise_Scale">&#8220;Modeling on an Enterprise Scale&#8221;</a> (read: &#8220;Learn more about CDO&#8221;)<br />
by Eike Stepper and</li>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Agent-Based_Computer_Simulation_for_Operational_Risk_Analysis">&#8220;Agent-Based Computer Simulation for Operational Risk Analysis&#8221;</a><br />
by Ed MacKerrow</li>
</ul>
<p>to learn more about two exciting topics I am curious about. Of course, <a href="http://www.itemis.com">itemis</a> will be there as well. Make sure you don&#8217;t miss</p>
<ul>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Converging_Textual_and_Graphical_Editors">&#8220;Converging Textual and Graphical Editors&#8221;</a><br />
by Moritz Eysholdt and</li>
<li><a href="http://wiki.eclipse.org/Eclipse_Modeling_Day/Session_Abstracts#Building_DSLs_with_Xtext">&#8220;Building DSLs with Xtext&#8221;</a><br />
presented by myself.</li>
</ul>
<p>Head over to <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">the wiki page</a> to browse the abstracts and register for one of these free events or read <a href="http://www.eclipse.org/org/press-release/20091002modelingday.php">some</a> <a href="http://www.peterfriese.de/everything-you-always-wanted-to-know-about-modeling-but-were-afraid-to-ask/">other</a> <a href="http://ed-merks.blogspot.com/2009/09/whats-all-this-fuss-about-modeling.html">announcements</a>.</p>
<p>Looking forward to seeing you over there!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=871&amp;md5=c0b7a80fc86a23c43bf7560b403062e2" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/20/eclipse-modeling-days-2009-in-new-york-and-toronto/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Focus on Modeling at the first Elmshorner Wirtschaftsinformatiktag</title>
		<link>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/</link>
		<comments>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/#comments</comments>
		<pubDate>Wed, 14 Oct 2009 21:20:46 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=848</guid>
		<description><![CDATA[On Friday, October 23rd the first Elmshorner Wirtschaftsinformatiktag near Hamburg will open its doors to elaborate on the topic &#8220;Modeling the Business&#8221;. I will give a talk about some best-practices itemis applied in MDSD projects based on Eclipse Modeling. An ongoing project at Deutsche Börse AG offers insights in how even established and widely known modeling techniques such [...]]]></description>
			<content:encoded><![CDATA[<p>On Friday, October 23rd the <a href="http://ewita.nordakademie.de/">first Elmshorner Wirtschaftsinformatiktag</a> near Hamburg will open its doors to elaborate on the topic &#8220;Modeling the Business&#8221;. I will give a talk about some best-practices <a href="http://www.itemis.com">itemis</a> applied in MDSD projects based on Eclipse Modeling. An ongoing project at Deutsche Börse AG offers insights in how even established and widely known modeling techniques such as UML or code generation can be optimized with some pragmatic adjustments.</p>
<div id="attachment_849" class="wp-caption aligncenter" style="width: 410px"><a href="http://ewita.nordakademie.de/"><img class="size-full wp-image-849" title="nordakademie" src="http://www.heikobehrens.net/wp-content/uploads/2009/10/nordakademie.png" alt="First Elmshorner Wirtschaftsinformatiktag at the Nordakademie near Hamburg" width="400" height="124" /></a><p class="wp-caption-text">Elmshorner Wirtschaftsinformatiktag at Nordakademie near Hamburg</p></div>
<p>Other talks such as</p>
<ul>
<li><a href="http://ewita.nordakademie.de/keynote.pdf">&#8220;Collaborative Modeling of Business Processes&#8221;</a> (Mathias Weske),</li>
<li><a href="http://ewita.nordakademie.de/vortrag8.pdf">&#8220;Test-Driven and Model-Driven combined with openArchitectureWare&#8221;</a> (Arne Michael Törsel) or</li>
<li><a href="http://ewita.nordakademie.de/vortrag2.pdf">&#8220;Being Skeptic about MDSD&#8221;</a> (Hartmut Herde)</li>
</ul>
<p>show great promise for interesting discussions. Please note that the aforementioned talks as well as every other talk will be held in German (I freely translated the titles for you).</p>
<p>There&#8217;s no conference fee and the organizers will be happy to welcome you at the Nordakademie if you <a href="http://ewita.nordakademie.de/registration.html">register before October 23rd</a>. So, if you happen to be around Hamburg that Friday don&#8217;t miss the <a href="http://ewita.nordakademie.de">1st EWiTa</a>!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=848&amp;md5=f2a23038fd812b47eaaaeddc912f8e9e" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/14/focus-on-modeling-at-the-first-elmshorner-wirtschaftsinformatiktag/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Burlington Ducky iPhone App</title>
		<link>http://HeikoBehrens.net/2009/10/02/burlington-ducky-iphone-app/</link>
		<comments>http://HeikoBehrens.net/2009/10/02/burlington-ducky-iphone-app/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 07:32:52 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=688</guid>
		<description><![CDATA[The people at itemis provide a vast range of skills beyond model-driven engineering. For me, this versatility yielded an iPhone project in cooperation with Weischer Mobile and phi mobile media where a funny marketing app had to be delivered. The design concept presented to Burlington drafted a line (water), a circle (duck) inside a rectangle [...]]]></description>
			<content:encoded><![CDATA[<p>The people at <a href="http://www.itemis.com/">itemis</a> provide a vast range of skills beyond model-driven engineering. For me, this versatility yielded an iPhone project in cooperation with <a href="http://www.weischermobile.de/">Weischer Mobile</a> and <a href="http://www.phimobile.com/">phi mobile media</a> where a funny marketing app had to be delivered. The design concept presented to <a href="http://www.burlington.de/">Burlington</a> drafted a line (water), a circle (duck) inside a rectangle (iPhone) and an arrow (movement). Some bullet points completed the requirements of the part I was asked to implement. Even though the final app offers some more features such as a movie, funny photo tricks and wallpapers, I was responsible for the ducky only. This is what I came up with:</p>
<div style="text-align: center; margin-left: auto; margin-right: auto;"><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="380" height="384" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=6839893&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="380" height="384" src="http://vimeo.com/moogaloop.swf?clip_id=6839893&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=00ADEF&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></div>
<p>Under the hood, the animated ducky as well as the illusion of water is based on a hand-crafted physics engine. The water is implemented as a particle-based fluid simulation. Matthias Müller <a href="http://www.matthiasmueller.info/publications/sca03.pdf">published a paper with the same title</a> and great <a href="http://people.cs.ubc.ca/~rbridson/fluidsimulation/GameFluids2007.pdf">slides for SIGGRAPH 2007</a> as a starting point if you are interested in this topic. The ducky itself <a href="http://en.wikipedia.org/wiki/Rigid_body_dynamics">interacts as rigid body</a> with these particles where buoyancy had been implemented explicitly. Play with <a href="http://www.myphysicslab.com/collision.html">Erik Neumann&#8217;s demo</a> to have fun with rigid body physics. These concepts had been adjusted and combined with the accelerometer and touch sensors built into the iPhone to let the user interact with the simulation.</p>
<div id="attachment_693" class="wp-caption aligncenter" style="width: 461px"><img class="size-full wp-image-693" title="overview" src="http://www.heikobehrens.net/wp-content/uploads/2009/08/overview.png" alt="Different techniques had been applied to realize the illusion of a ducky swimming in water" width="451" height="211" /><p class="wp-caption-text">Different techniques had been applied to realize the illusion of a splashing ducky</p></div>
<p>Having just dots and circles as one could look at the physics engine was obviously not the ultimate goal. From the raw data of the simulation the water surface area had to be derived, the ducky had to be put in shape and some smooth animations and sounds were needed to round out the illusion of an interactive bathtub.</p>
<p>Without going into every detail I want to emphasize that the iPhone is not a MacBook Pro. Where you traditionally use <a href="http://en.wikipedia.org/wiki/Marching_cubes">marching cubes</a>/<a href="http://en.wikipedia.org/wiki/Marching_squares">squares</a> to convert distinct particles into a cohesive area the processing power of mobile devices requires you to squeeze out every cycle by thinking outside the box and taking advantage of hardware acceleration. In this case, <a href="http://www.khronos.org/opengles/">OpenGL ES</a> offers a variety of techniques including framebuffers, blending functions and alpha tests to perform the needed steps by the <a href="http://en.wikipedia.org/wiki/Gpu">GPU</a>.</p>
<div id="attachment_689" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-689" title="metaballs" src="http://www.heikobehrens.net/wp-content/uploads/2009/08/fluid.png" alt="metaball technique from particles using blending and alpha functions" width="450" height="185" /><p class="wp-caption-text">metaball technique from particles using blending and alpha functions</p></div>
<p>Some other findings during the project include the unreliability of sensor data as well as users&#8217; unpredictable behavior. Be aware that humans and machines act differently under certain circumstances. For applications where the interaction between those both is crucial you should do usability tests early, often and extensively before delivery, again.</p>
<p>The iPhone is different from other mobile devices or the emulator. Generally, <a href="http://en.wikipedia.org/wiki/Floating_point">floating point arithmetic</a> will be evaluated more efficient than <a href="http://en.wikipedia.org/wiki/Fixed-point_arithmetic">fixed-point</a>. Some GPU operations are executed faster on the device than on the emulator, others are of poor performance though. Therefore, you should profile on the device to test different approaches of your design regularly. And: You must not forget to do so with sound enabled since sound processing might take more than 30% of your overall processing power.</p>
<p>So, go ahead and grab your version of the <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=329171550&amp;mt=8">Burlington Duck on the app store</a>:</p>
<p><a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=329171550&amp;mt=8"><img class="alignnone size-full wp-image-822" style="margin-bottom: 20px;" title="Download Burlington Duck from App Store" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/download.png" alt="" width="260" height="90" /></a></p>
<p>If you are interested in details (e.g. &#8220;unpredictable human factor&#8221;, production of the screencast, etc.), please let me know and use the comment function of this post.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/a50f873be34944caa8ae08fb2cedb7e4" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=688&amp;md5=74e210432e14cdd779235c7cd556c60c" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/10/02/burlington-ducky-iphone-app/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Profiler for Xpand/Xtend/Check</title>
		<link>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/</link>
		<comments>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 10:27:16 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=793</guid>
		<description><![CDATA[A polished version of the announced profiler will be part of the upcoming 0.8.0 M2 release of Xpand next Tuesday. It acts as a callback for any expression-based workflow component to measure the execution times of Xpand templates, Xtend functions and Check validations. Also, it constructs a call-graph model to introspect callers and callees and [...]]]></description>
			<content:encoded><![CDATA[<p>A polished version of the <a href="http://HeikoBehrens.net/2009/02/10/speed-comparison-of-oaw-and-m2t-xpand/">announced profiler</a> will be part of the upcoming 0.8.0 M2 release of Xpand next Tuesday. It acts as a callback for any expression-based workflow component to measure the execution times of Xpand templates, Xtend functions and Check validations. Also, it constructs a <a href="http://en.wikipedia.org/wiki/Call_graph">call-graph</a> model to introspect callers and callees and their corresponding call times. From this model you can then generate an HTML report as part of your generator workflow.</p>
<div id="attachment_794" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2009/09/profiler.png"><img class="size-medium wp-image-794" title="profiler" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/profiler-300x159.png" alt="Output of the profiler from the Xpand Sample-Project" width="300" height="159" /></a><p class="wp-caption-text">Output of the profiler from the Xpand Sample-Project</p></div>
<p>If you stay with the text-based GProf output format (another option to dump the collected data) you can also use tools like <a href="http://code.google.com/p/jrfonseca/wiki/Gprof2Dot">Gprof2Dot to visualize hot spots with colors</a> and callees as painted connections.</p>
<div id="attachment_797" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.heikobehrens.net/wp-content/uploads/2009/09/result.png"><img class="size-medium wp-image-797" title="result" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/result-300x65.png" alt="Same workflow visualized with Gprof2Dot without reduction of nodes with no impact" width="300" height="65" /></a><p class="wp-caption-text">Same workflow visualized with Gprof2Dot without reduction of nodes with no impact</p></div>
<p>The updated documentation explains how you can integrate the profiler into your workflow. Also, the Xpand Sample-Project Wizard creates a second workflow &#8220;generatorWithProfiler.mwe&#8221; where I have generated the above results from.</p>
<p>In a real-world project we were able to reduce the execution time of a workflow that originally took nearly half an hour down to less than 3 minutes using an earlier version of this profiler. It can also help you detecting unwanted indirections and recursions.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=793&amp;md5=7523b29ecb14c50c9862d5cd9e268fb9" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/25/profiler-for-xpandxtendcheck/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>openArchitectureWare working group at Eclipse</title>
		<link>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/</link>
		<comments>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/#comments</comments>
		<pubDate>Mon, 21 Sep 2009 09:31:22 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=778</guid>
		<description><![CDATA[Over the weekend we have finally announced openArchitectureWare&#8217;s move to Eclipse at the respective websites. You will now find a landing page at openArchitectureWare.org that announces the move. The letter of intent summarizes the ideas behind the move for the loyal oAW 4 community. The homepage of the working group at Eclipse offers links to [...]]]></description>
			<content:encoded><![CDATA[<p>Over the weekend we have finally announced openArchitectureWare&#8217;s move to Eclipse at the respective websites. You will now find a <a href="http://www.openArchitectureWare.org">landing page at openArchitectureWare.org</a> that announces the move. The <a href="http://www.openarchitectureware.org/staticpages/index.php/oaw_eclipse_letter_of_intent">letter of intent</a> summarizes the ideas behind the move for the loyal oAW 4 community.</p>
<div id="attachment_779" class="wp-caption aligncenter" style="width: 331px"><a href="http://www.openArchitectureWare.org"><img class="size-full wp-image-779" title="oaworg-minibanner" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/oaworg-minibanner.png" alt="openArchitectureWare moved to Eclipse" width="321" height="85" /></a><p class="wp-caption-text">openArchitectureWare moved to Eclipse</p></div>
<p>The <a href="http://www.eclipse.org/workinggroups/oaw/">homepage of the working group</a> at Eclipse offers links to ready-to-use distributions and we are working on update sites, too.</p>
<p>I want to thank <a href="http://www.peterfriese.de/">Peter</a> and <a href="http://kthoms.wordpress.com/">Karsten</a> for their help with this. Hopefully, this public notice will encourage even more users to migrate to the more stable and feature-rich version at Eclipse. Again, if you need professional support around oAW <a href="http://oaw.itemis.com/">itemis will be glad to assist you</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=778&amp;md5=df95572e8c39414035377d4ee62028ec" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/21/openarchitectureware-working-group-at-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Xtext goes SAP</title>
		<link>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/</link>
		<comments>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 09:26:31 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=611</guid>
		<description><![CDATA[In a recent cooperative project between the Nordakademie, cimt AG and itemis AG we explored the possibilities of model-driven approaches in combination with domain-specific languages in the field of enterprise software (read: SAP). A group of nine students used Xtext and other Eclipse modeling components to express bid estimates of ocean carriers to derive and [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent cooperative project between the <a href="http://www.nordakademie.de/">Nordakademie</a>, <a href="http://www.cimt-ag.de/">cimt AG</a> and <a href="http://www.itemis.de/">itemis AG</a> we explored the possibilities of model-driven approaches in combination with domain-specific languages in the field of enterprise software (read: <a href="http://www.sap.com/">SAP</a>). A group of nine students used <a href="http://www.xtext.org">Xtext</a> and other Eclipse modeling components to express bid estimates of ocean carriers to derive and deploy database tables, Dynpros and <a href="http://en.wikipedia.org/wiki/Abap">ABAP</a> code with a one-click solution.</p>
<div id="attachment_763" class="wp-caption aligncenter" style="width: 459px"><img class="size-full wp-image-763" title="Xtext goes SAP" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/xtextgoessap.png" alt="MDSD process shortens development cycles where different estimates are needed by the customer." width="449" height="268" /><p class="wp-caption-text">MDSD process shortens development cycles where the customer expects specific applications to calculate different classes of estimation bids</p></div>
<p>My work as the &#8220;technical facilitator&#8221; was mainly enjoying the progress and providing alternatives during the sprint review and planning meetings (yes, the group decided to go with <a href="http://www.itemis.com/scrum">Scrum</a>). Without excessive help the students were able to develop a DSL that is able to</p>
<ul>
<li>make simple and complex existing data types of the SAP system available to the editor,</li>
<li>express business formulas based on variables of these types,</li>
<li>provide a comfortable editor that checks many constraints and guides the expert, and</li>
<li>describe layout of the UI based on these values.</li>
</ul>
<p>From this input some Xpand templates generate</p>
<ul>
<li>a testbed for these formulas that allows domain experts to capture their expectations within a spread sheet application,</li>
<li>database table descriptions to store estimates for reference,</li>
<li>a dynpro frontend including search masks to fill in the needed dimensions and displaying results in real-time, and</li>
<li>the needed ABAP code to perform the calculations as well as glue code for the SAP system.</li>
</ul>
<p>Prof. Frank Zimmermann published a <a href="http://www.nordakademie.de/fileadmin/bilder/ressortbilder/campusforum/CF_31.pdf#page=13">short description of this project in the in-house magazine Capusforum of the Nordakademie (German)</a>. There will be more material on these results soon: The students are preparing a publication addressing MDSD for Enterprise systems in a larger German magazine. The cimt AG and itemis will use this project to demonstrate the possibilities as well.</p>
<p>For me, this research project is just a proof of concept. I am sure the vast majority of SAP projects can benefit from MDSD principles. Thanks again to Prof. Zimmermann from the Nordakademie, Michael Neuenstadt, Michael Flemming as well as Dr. Kuhlmann from cimt AG and last not least the students. It was a pleasure to work with you!</p>
<p>If you have detailed questions -technical or commercial- don&#8217;t hesitate to contact me or the <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/21482/hamburg">responsible sales representative, Asaf Ikram</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/2188535ccea64e3dac0ef7c28183e8cc" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=611&amp;md5=bc36de4f34715af5e70f129996317255" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/11/xtext-goes-sap/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Detect erroneous white spaces with Hex Fiend</title>
		<link>http://HeikoBehrens.net/2009/09/03/hex-fiend/</link>
		<comments>http://HeikoBehrens.net/2009/09/03/hex-fiend/#comments</comments>
		<pubDate>Thu, 03 Sep 2009 12:13:47 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=711</guid>
		<description><![CDATA[Recently, a colleague of mine received a small patch via email to apply it with Eclipse. To our both suprise the version that worked perfectly for me lead to syntax errors in his side. The patch seemed to be ok and so did the resulting Java code &#8211; apart from the syntax error. For some unexplained reasons [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, a colleague of mine received a small <a href="http://en.wikipedia.org/wiki/Patch_(Unix)">patch</a> via email to apply it with <a href="http://www.eclipse.org">Eclipse</a>. To our both suprise the version that worked perfectly for me lead to syntax errors in his side. The patch seemed to be ok and so did the resulting Java code &#8211; apart from the syntax error.</p>
<div id="attachment_751" class="wp-caption aligncenter" style="width: 337px"><img class="size-full wp-image-751" title="strangeeclipseerror" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/strangeeclipseerror.png" alt="Can you introspect this Java errors with a plain text editor?" width="327" height="75" /><p class="wp-caption-text">Can you explain this Java error with an ordinary text editor?</p></div>
<p>For some unexplained reasons one of the spaces (0&#215;20) had been replaced with another character (0xCA) which looks perfectly in any text editor but forces Eclipse to stop with an error. This might be connected with a common mistake I am doing regularly when switching between different types of computers is hitting &lt;ALT&gt;+&lt;SPACE&gt; on my Mac. This produces an &#8220;erroneous white space&#8221;, too!</p>
<div id="attachment_750" class="wp-caption aligncenter" style="width: 449px"><a href="http://ridiculousfish.com/hexfiend/"><img class="size-full wp-image-750 " title="hexfiend" src="http://www.heikobehrens.net/wp-content/uploads/2009/09/hexfiend.png" alt="Hex Fiend not allows you to introspect you clipboard, it's a sophisticated hex editor." width="439" height="252" /></a><p class="wp-caption-text">Hex Fiend is a sophisticated hex editor for Mac with many handy features.</p></div>
<p>Meanwhile, I am using <a href="http://ridiculousfish.com/hexfiend/">Hex Fiend</a> to quickly analyze Java code with such errors but also to look into arbitrary binary data. It allows you to paste snippets from your clipboard directly into the editor and does not force you to search and open a file before. Although it works perfectly with huge files of several Gigabytes (or even Petabytes if you trust <a href="http://ridiculousfish.com/hexfiend/Screenshot_3.html">their own words</a>) working with the clipboard is really handy. Beyond this it allows you to convert byte ranges to different integer formats and the find/replace actions concentrate on binary data as well.</p>
<p><a href="http://ridiculousfish.com/hexfiend/">Give it a try</a> when you have to analyze binary data or your next strange text file the next time.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=711&amp;md5=7d2bbb4349ddff681bd58adff4828889" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/09/03/hex-fiend/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>obj2opengl: convert obj 3D models to arrays compatible with iPhone OpenGL ES</title>
		<link>http://HeikoBehrens.net/2009/08/27/obj2opengl/</link>
		<comments>http://HeikoBehrens.net/2009/08/27/obj2opengl/#comments</comments>
		<pubDate>Thu, 27 Aug 2009 19:07:32 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.heikobehrens.net/?p=695</guid>
		<description><![CDATA[Whenever you want to use 3D objects modeled with a software such as Blender, 3ds Max or Cinema 4D in your iPhone Application or any other OpenGL project, you somehow have to make the designed data accessible to you program. To do this you can either load and interpret the files your models are saved [...]]]></description>
			<content:encoded><![CDATA[<p>Whenever you want to use 3D objects modeled with a software such as <a href="http://en.wikipedia.org/wiki/Blender_(software)">Blender</a>, <a href="http://en.wikipedia.org/wiki/3ds_Max">3ds Max</a> or <a href="http://en.wikipedia.org/wiki/Cinema_4D">Cinema 4D</a> in your iPhone Application or any other <a href="http://www.opengl.org/">OpenGL</a> project, you somehow have to make the designed data accessible to you program. To do this you can either load and interpret the files your models are saved into or you could directly provide the needed in-memory representation your program expects.</p>
<p>OBJ2OPENGL does the latter and acts as a converter from model files to C/C++ headers that describe vertices of the faces, normals and texture coordinates as simple arrays of floats.</p>
<div id="attachment_697" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-697" title="screenshot" src="http://www.heikobehrens.net/wp-content/uploads/2009/08/screenshot.png" alt="Texturized and lighted 3D model with 8056 faces on the iPhone" width="450" height="241" /><p class="wp-caption-text">Texturized and lighted 3D model with 8,056 faces on the iPhone</p></div>
<p>OBJ2OPENGL is a Perl script that reads a <a href="http://en.wikipedia.org/wiki/Obj">Wavefront OBJ file</a> describing a 3D object and writes a C/C++ include file describing the object in a form suitable for use with OpenGL ES. It is compatible with <a href="http://en.wikipedia.org/wiki/Objective-C">Objective C</a> and the libraries of the iPhone SDK.</p>
<p>The original idea and code base of this script comes from <a href="http://people.sc.fsu.edu/~burkardt/pl_src/obj2opengl/obj2opengl.html">Margaret Geroch</a> who kindly allowed me to enhance and republish this version. It now supports texture mapping and stored normals (instead of recalculating them). I have changed the structure of the generated arrays to work with <em>glDrawArrays</em> instead of <em>glDrawElements</em>. This is particularly needed for normals and textures where a vertex holds different information for some shapes. Also, this version includes several command line options to better control its behavior (such as scaling and moving the origin or setting the object&#8217;s and output file&#8217;s name).</p>
<p>If you can go with the defaults the conversion is as simple as</p>
<pre class="brush: plain;">./obj2opengl.pl banana.obj</pre>
<p>To include the converted object all you have to do is</p>
<pre class="brush: java;">// include generated arrays
#import "banana.h"

// set input data to arrays
glVertexPointer(3, GL_FLOAT, 0, bananaVerts);
glNormalPointer(GL_FLOAT, 0, bananaNormals);
glTexCoordPointer(2, GL_FLOAT, 0, bananaTexCoords);

// draw data
glDrawArrays(GL_TRIANGLES, 0, bananaNumVerts);</pre>
<h3>Examples</h3>
<p>These are two models and generated sample output that is included in the provided archive:</p>
<table border="0">
<thead>
<tr>
<th>Input</th>
<th>Output</th>
<th>Texture</th>
<th>Vertices</th>
<th>Faces</th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="https://github.com/HBehrens/obj2opengl/blob/master/cube.obj">cube.obj</a></td>
<td><a href="https://github.com/HBehrens/obj2opengl/blob/master/cube.h">cube.h</a></td>
<td></td>
<td>8</td>
<td>6</td>
</tr>
<tr>
<td><a href="https://github.com/HBehrens/obj2opengl/blob/master/banana.obj">banana.obj</a></td>
<td><a href="https://github.com/HBehrens/obj2opengl/blob/master/banana.h">banana.h</a></td>
<td><a href="https://github.com/HBehrens/obj2opengl/raw/master/banana.jpg">banana.jpg</a></td>
<td>4,032</td>
<td>8,056</td>
</tr>
</tbody>
</table>
<h3>Downloads</h3>
<ul>
<li><a href="https://github.com/HBehrens/obj2opengl/zipball/master"> OBJ2OPENGL.ZIP</a> (script and examples)</li>
<li><a href="https://github.com/HBehrens/obj2opengl/blob/master/obj2opengl.pl"> OBJ2OPENGL.PL</a></li>
</ul>
<div>Please use the comment function of this post to discuss any problems or noteworthy results accomplished with help of this script. I will read feature requests, too. Feedback is highly appreciated.</div>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/4236005830ea4f6fba24dcf3c79c6f42" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=695&amp;md5=74c86e2ebab3b246bb9e861f983cf323" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/08/27/obj2opengl/feed/</wfw:commentRss>
		<slash:comments>167</slash:comments>
		</item>
		<item>
		<title>Xtext in print</title>
		<link>http://HeikoBehrens.net/2009/07/23/xtext-in-print/</link>
		<comments>http://HeikoBehrens.net/2009/07/23/xtext-in-print/#comments</comments>
		<pubDate>Thu, 23 Jul 2009 10:06:08 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=670</guid>
		<description><![CDATA[Complementary to the extensive twitter presence, heaps of blog posts, the website relaunch as well as the successful webinar Xtext now enters print media. Today, the German iX Magazin for professional IT (issue 08/2009) publishes an article where I try to offer a general idea of Xtext: &#8220;Domänenspezifische Sprachen mit dem Eclipse-Projekt Xtext&#8220;. But this [...]]]></description>
			<content:encoded><![CDATA[<p>Complementary to the extensive <a href="http://twitter.com/xtext">twitter presence</a>, <a href="http://www.google.com/search?&amp;q=blog+xtext">heaps of blog posts</a>, the <a href="http://blog.efftinge.de/2009/06/xtext-new-website.html">website relaunch</a> as well as the <a href="http://www.1160pm.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/">successful webinar</a> Xtext now enters print media. Today, the German <a href="http://www.heise.de/ix/">iX Magazin</a> for professional IT (<a href="http://www.heise.de/kiosk/archiv/ix/2009/8">issue 08/2009</a>) publishes an article where I try to offer a general idea of Xtext: &#8220;<a href="http://www.heise.de/kiosk/archiv/ix/2009/8/110_kiosk">Domänenspezifische Sprachen mit dem Eclipse-Projekt Xtext</a>&#8220;.</p>
<div id="attachment_672" class="wp-caption aligncenter" style="width: 435px"><a href="http://www.heise.de/ix/inhalt.shtml"><img class="size-full wp-image-672" title="Xtext in iX Magazin" src="http://www.1160pm.net/wp-content/uploads/2009/07/magazine.png" alt="iX Magazin issue 08/2009 prints my article about Xtext" width="425" height="184" /></a><p class="wp-caption-text">iX Magazin issue 08/2009 prints my article about Xtext</p></div>
<p>But this is not the only publication that discusses Xtext: Next week the German <a href="http://it-republik.de/jaxenter/eclipse-magazin/">Eclipse Magazin</a> (issue 5.2009) will start a series by <a href="http://koehnlein.blogspot.com/">Jan Köhnlein</a> and <a href="http://zarnekow.blogspot.com/">Sebastian Zarnekow</a> that explains the technology in detail. And <a href="http://blog.efftinge.de/">Sven Efftinge</a> sums up the recent events around the Eclipse Modeling Project (including Xtext) in the very same issue (<a href="http://it-republik.de/jaxenter/artikel/Galileo-macht%B4s-moeglich-Modeling-wird-praxistauglich-2396.html">online version of this article</a> already available).</p>
<p><a href="http://startbigthinksmall.wordpress.com/">Lars Corneliussen</a> and <a href="http://www.voelter.de/">Markus Völter</a> started a series about DSLs in the in <a href="http://www.dotnetpro.de/">dotnetpro</a> (so far, <a href="http://startbigthinksmall.wordpress.com/2009/04/17/dotnetpro-kurzer-rede-langer-sinn/">issue 05/2009</a> and <a href="http://startbigthinksmall.wordpress.com/2009/06/17/dotnetpro-072009-turmbau-zu-babel-dsls-entwickeln-mit-eclipse-xtext/">07/2009</a>). Even though the focus is on .net platform the former version of Xtext (oAW 4.3) plays a significant role.</p>
<p>Unfortunately, all these publications are in German. If you are interested in writing an English article and need someone to review your work or if you have strong connections to English publishers who might be interested in an article written by us, please contact us via <a href="mailto:xtext at itemis dot com">xtext at itemis dot com</a> or comment this blog post.</p>
<p>That said, I want to thank the reviewers of my iX article for their valuable feedback!</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.heise.de/kiosk/archiv/ix/2009/8/110_kiosk">Online version of the iX Article</a></li>
<li><a href="http://www.heise.de/ix/artikel/2009/08/links/110.shtml">Links mentioned in the iX Article</a></li>
</ul>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=670&amp;md5=dde5aaac1cf4eb143f0f8f9af65342dc" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/23/xtext-in-print/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtext: Model Prize Laureate</title>
		<link>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/</link>
		<comments>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/#comments</comments>
		<pubDate>Mon, 13 Jul 2009 23:34:17 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=649</guid>
		<description><![CDATA[What do a G1 Android mobile phone, a ticket for the Eclipse Summit Europe 2009, signed books about modeling as well as Xtext T-Shirts have in common? I am proud to say that itemis, the company I am working for, offers these juicy prizes to the winners of the upcoming Xtext contest. If you are [...]]]></description>
			<content:encoded><![CDATA[<p>What do a G1 Android mobile phone, a ticket for the Eclipse Summit Europe 2009, signed books about modeling as well as Xtext T-Shirts have in common? I am proud to say that <a href="http://www.itemis.com/">itemis</a>, the company I am working for, offers these juicy prizes to the winners of the upcoming <a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate">Xtext contest</a>.</p>
<p><a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate"><img class="aligncenter size-full wp-image-650" title="Model Prize Laureate" src="http://www.1160pm.net/wp-content/uploads/2009/07/xtext-laureate.png" alt="" width="411" height="292" /></a></p>
<p>If you are looking for a challenge and wanted to play around with Xtext since you heard about it this one is definitely for you. Pimp Xtext the way you want, combine it with colors, graphical aspects or any other technology, work with huge models, come up with a new programming language &#8211; your mind is the limit.</p>
<blockquote><p>Be creative, use unusual techniques, explore your skills, do whatever it takes &#8211; we want you to get really excited about it so we will be excited as well.<br />
<strong></strong></p></blockquote>
<p>You will have two months to submit an inspiring solution based on Xtext. And, with a bit of luck, you will not only win an Xtext T-shirt but program your next Java project for an Android mobile phone or meet other Eclipse enthusiasts at the Summit in Ludwigsburg.</p>
<p>Feel free to comment if you have any questions. <a href="http://xtext.itemis.com/xtext/language=en/25279/model-prize-laureate">Good luck</a>!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=649&amp;md5=bed78eea774a44fa6634b18a2c4b1f48" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/14/xtext-model-prize-laureate/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing the Xtext Webinar on Wednesday, 15th July</title>
		<link>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/</link>
		<comments>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/#comments</comments>
		<pubDate>Sun, 12 Jul 2009 14:30:10 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=643</guid>
		<description><![CDATA[Next Wednesday, Sven and I will hold the Eclipse Webinar &#8220;Xtext: Developing Domain Specific Languages&#8221;. We are going to classify Xtext compared to other concepts and frameworks and demonstrate its capabilities with a refined version of an example I presented in London last week. After that we discuss the versatile possibilities for extending and customizing [...]]]></description>
			<content:encoded><![CDATA[<p>Next Wednesday, <a href="http://blog.efftinge.de/">Sven</a> and I will hold the <a href="http://live.eclipse.org/node/705">Eclipse Webinar &#8220;Xtext: Developing Domain Specific Languages&#8221;</a>. We are going to classify <a href="http://www.xtext.org">Xtext</a> compared to other concepts and frameworks and demonstrate its capabilities with a refined version of an example I presented in <a href="http://www.1160pm.net/2009/07/01/xtext-at-democamp-london-in-june-2009/">London last week</a>. After that we discuss the versatile possibilities for extending and customizing the framework and finish with an exciting outlook.</p>
<p><a href="http://live.eclipse.org/node/705"><img class="aligncenter size-full wp-image-638" title="Xtext Webinar" src="http://www.1160pm.net/wp-content/uploads/2009/07/webinar_teaser.png" alt="" width="253" height="84" /></a></p>
<p>The webinar will start at 5:00 pm GMT (<a href="http://www.timeanddate.com/worldclock/fixedtime.html?month=7&amp;day=15&amp;year=2009&amp;hour=17&amp;min=0&amp;sec=0&amp;p1=0">convert to local time</a>) and will take approximately one hour. We will offer a chat to answer your questions either live or in the end of the show. And since the program is not yet completely settled, it&#8217;s your chance to declare anything as a must-see. Just leave your comments here.</p>
<h2>Update</h2>
<p>The webinar was a great success! With the help of <a href="http://zarnekow.blogspot.com/">Sebastian</a> and Moritz we were able to inform and entertain 130 Attendees. You can <a href="http://live.eclipse.org/node/705">watch the replay</a> at any time and follow some useful links either via its website or directly here:</p>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-webinar">Slides (via SlideShare)</a></li>
<li>Chess Example (not there, yet)</li>
<li><a href="http://blog.efftinge.de/2009/07/xtext-scopes-and-emf-index-in-action.html">Domain Model and Index (via Svens Blog)</a></li>
<li><a href="http://koehnlein.blogspot.com/2009/06/synchronized-editors-with-tmfxtext-and.html">Xtext and GMF (via Jans Blog)</a></li>
</ul>
<p>Also, <a href="http://www.1160pm.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/#more-643">here</a> you will find the final poll results. Thank you for you help, Lynn!</p>
<p><span id="more-643"></span></p>
<div id="attachment_664" class="wp-caption aligncenter" style="width: 176px"><img class="size-full wp-image-664" title="modelingexperience" src="http://www.1160pm.net/wp-content/uploads/2009/07/modelingexperience.png" alt="Do you have any experience with modeling? (99 Answers)" width="166" height="166" /><p class="wp-caption-text">Do you have any experience with modeling? (99 Answers)</p></div>
<div id="attachment_665" class="wp-caption aligncenter" style="width: 387px"><img class="size-full wp-image-665" title="thoughtsaboutxtext" src="http://www.1160pm.net/wp-content/uploads/2009/07/thoughtsaboutxtext.png" alt="What do you think about Xtext? (59 Answers)" width="377" height="168" /><p class="wp-caption-text">What do you think about Xtext? (59 Answers)</p></div>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=643&amp;md5=9575d46d219a100be8fdec5ef8f0bd27" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/12/announcing-the-xtext-webinar-on-wednesday-15th-june/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>How Dropbox simplifies life</title>
		<link>http://HeikoBehrens.net/2009/07/08/how-dropbox-simplifies-live/</link>
		<comments>http://HeikoBehrens.net/2009/07/08/how-dropbox-simplifies-live/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 12:15:33 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[tools]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=613</guid>
		<description><![CDATA[Recently, I had to prepare a conference talk together with a colleague while both of us were working at different locations across the country. Via chats and phone calls we elaborated the topics, shared ideas and presented our current progress to each other. To share diagrams, images and the current version of the slides, well [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I had to prepare a conference talk together with a colleague while both of us were working at different locations across the country. Via chats and phone calls we elaborated the topics, shared ideas and presented our current progress to each other. To share diagrams, images and the current version of the slides, well basically every digital asset, we were using <a href="http://www.getdropbox.com">Dropbox</a>.</p>
<p><a href="http://www.getdropbox.com"><img class="aligncenter size-full wp-image-614" title="Dropbox" src="http://www.1160pm.net/wp-content/uploads/2009/07/dropbox.png" alt="" width="290" height="103" /></a></p>
<p>Dropbox offers a shared directory directly inside your file system you can then access from different computers simultaneously. It does so by synchronizing with a secure web storage in the background. It integrates tightly into your desktop and works on both Windows and Mac OS (and Linux but I cannot tell you about this). It notifies you whenever a shared file has been modified on another computer and a little icon overlay indicates whether a file is currently being synchronized. Technically, you could compare this to a classic <a href="http://en.wikipedia.org/wiki/Revision_control">version control system</a> and indeed it comes with a history, too. But its seamless and hassle-free integration allows you to forget about all these details and to work with your image editor or word processor as you are used to, hit save and tell your buddy on the phone to open the file. It&#8217;s that easy.</p>
<p>I am using Dropbox for my personal life, too. You can control whether a folder is shared among others or is for private use only (default). I share my dropbox folder accross different Macs and PCs I am working on. When working on a laptop and a desktop at the very same desk sharing files between them is a common task for me. Before, the fastest way to transfer a file between these computers was copying it to a USB Stick, ejecting (and waiting for delayed write) it and mounting it at the other computer again. Funnily enough, sending an email with an attachment is sometimes even simpler than this procedure.</p>
<p>But with Dropbox I save the file into my Dropbox folder or even use this folder as primary editing location for my work. After hopping to the other computer this file in the latest version is already there without leaving any application on the first computer or performing additional tasks.</p>
<p><a href="http://www.getdropbox.com">Dropbox</a> is yet another tool that simplifies your daily life.<a href="http://www.getdropbox.com"><br />
</a></p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/2c2e04b5fce9483a9bf82f32d9181c83" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=613&amp;md5=48ee7a59590c3aaced66171fc72a2505" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/08/how-dropbox-simplifies-live/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Xtext at DemoCamp London in June 2009</title>
		<link>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/</link>
		<comments>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 13:44:11 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=590</guid>
		<description><![CDATA[This Monday the Eclipse DemoCamp took place in London at Skills Matter. You will find a comprehensive review at InfoQ by Alex Blewitt where you can read about NatTable (Dan Pollitt) and JQantLib/OSGi (Richard Gomes) as well as Xtext. And thanks to Eren Aykin you will find a video podcast of the latter, too! This [...]]]></description>
			<content:encoded><![CDATA[<p>This Monday the <a href="http://skillsmatter.com/event/java-jee/eclipse-democamp-2009">Eclipse DemoCamp took place in London at Skills Matter</a>. You will find a <a href="http://www.infoq.com/news/2009/06/eclipse-democamp-london">comprehensive review at InfoQ</a> by <a href="http://alblue.blogspot.com/">Alex Blewitt</a> where you can read about <a href="http://sourceforge.net/projects/nattable">NatTable</a> (Dan Pollitt) and <a href="http://www.jquantlib.org/">JQantLib</a>/OSGi (Richard Gomes) as well as <a href="http://www.xtext.org">Xtext</a>. And thanks to <a href="http://www.erenaykin.net/">Eren Aykin</a> you will find a <a href="http://skillsmatter.com/podcast/java-jee/itemis-xtext-developing-domain-specific-languages">video podcast</a> of the latter, too!</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=5391612&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="340" src="http://vimeo.com/moogaloop.swf?clip_id=5391612&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always"></embed></object></p>
<p>This time I tried to spread the idea of DSLs with chess and different ways of expressing moves within the game. In the first part of my presentation I processed cryptic notations like &#8220;Rd2-c2&#8243; or more natural equivalents such as &#8220;rook at d2 moves to c2&#8243; to work with them as true Java objects and eventually visualized chess fields. Second, I tried to emphasize the value of DSLs in today&#8217;s software projects where we implemented another DSL live at the DemoCamp in the end. You will find <a href="http://www.slideshare.net/HeikoB/xtext-at-eclipse-democamp-london-in-june-2009">my slides at SlideShare</a> again.</p>
<p>It was quite informative to chat with the Eclipse folks in London afterwards. Most of them have a pragmatic view at modeling and tools in general. I really appreciate this! Thank you, <a href="http://neilbartlett.name/blog/2009/06/26/calling-all-dsl-nuts-and-scaliens-in-london/">Neil</a>, for organizing this event and <a href="http://twitter.com/njbartlett/statuses/2177688004">inviting via twitter</a>.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-at-eclipse-democamp-london-in-june-2009">Slides at SlideShare</a></li>
<li><a href="http://skillsmatter.com/podcast/java-jee/itemis-xtext-developing-domain-specific-languages">Video Podcast at Skills Matter</a></li>
<li><a href="http://www.infoq.com/news/2009/06/eclipse-democamp-london">Review at InfoQ</a></li>
</ul>
<h3>Source Code</h3>
<p>Loading chess DSL text files as Java objects:</p>
<pre class="brush: java; collapse: true; toolbar: true;">package org.xtext.example.chess;

import org.eclipse.emf.common.util.URI;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.emf.ecore.resource.ResourceSet;
import org.eclipse.xtext.resource.XtextResourceSet;
import org.xtext.example.ChessStandaloneSetup;

public class JavaTest {

	public static void main(String[] args) {
		String filename = "some/path/MyModel.chess";
		Game g = getGame(filename);
		System.out.println(g.getWhitePlayer() + " vs. " + g.getBlackPlayer());
		for (Move m : g.getMoves())
			System.out.println(m.getSource() + " to " + m.getDest());
	}

	private static Game getGame(String filename) {
		ChessStandaloneSetup.doSetup();
		ResourceSet rs = new XtextResourceSet();
		Resource res = rs.getResource(URI.createFileURI(filename), true);
		return (Game) res.getContents().get(0);
	}

}</pre>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/5d95ae1a9e40428c968abee5ef9d9cbd" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=590&amp;md5=b7fd009bb53188451f396db9650c1372" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/07/01/xtext-at-democamp-london-in-june-2009/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Impressions of Code Generation 2009</title>
		<link>http://HeikoBehrens.net/2009/06/17/impressions-of-code-generation-2009/</link>
		<comments>http://HeikoBehrens.net/2009/06/17/impressions-of-code-generation-2009/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 22:43:59 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=563</guid>
		<description><![CDATA[On Monday, Sven, Sebastian, Moritz, Jan and me traveled to Cambridge where the Code Generation Conference takes place each year. Arriving one day ahead we had enough time to acclimate with fish &#8216;n chips and some ale at the local pubs before polishing our presentations. The first conference day on Tuesday&#8230; &#8230;started with a smooth [...]]]></description>
			<content:encoded><![CDATA[<p>On Monday, <a href="http://blog.efftinge.de/">Sven</a>, <a href="http://zarnekow.blogspot.com/">Sebastian</a>, Moritz, <a href="http://koehnlein.blogspot.com/">Jan</a> and me traveled to Cambridge where the <a href="http://www.codegeneration.net/cg2009">Code Generation Conference</a> takes place each year. Arriving one day ahead we had enough time to acclimate with fish &#8216;n chips and some ale at the local pubs before polishing <a href="http://www.1160pm.net/2009/03/06/xtext-and-oaw-at-cg2009/">our presentations</a>.</p>
<p><a href="http://www.codegeneration.net/cg2009"><img class="aligncenter size-full wp-image-571" title="Logo" src="http://www.1160pm.net/wp-content/uploads/2009/06/logo.gif" alt="" width="250" height="62" /></a></p>
<h3><strong>The first conference day on Tuesday&#8230;</strong></h3>
<p>&#8230;started with a <a title="Beginning Model-Driven Development " href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=54">smooth introduction on modeling</a>, DSLs and all the other terms specific to our focal point. It&#8217;s always interesting to see how other experts try to explain what we are doing and Juha-Pekka Tolvanen (MetaCase) did a great job even though he nearly ignored alternatives to graphical models.</p>
<p>Second, Sven and Sebastian talked about <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=23">challenges in textual DSL design</a> and concentrated on topics such as reusing languages and using models beyond the description of structures. If you follow <a href="http://blog.efftinge.de/">their</a> <a href="http://zarnekow.blogspot.com/">blogs</a> you will certainly find out what they are interested in. This was the second time I noticed that the audience here at <a href="http://twitter.com/#search?q=%23cg2009">#CG2009</a> acts a bit more open-minded towards UML models and my coworkers sometimes had to play hardball with questioners.</p>
<p><a href="http://www.modeldrivensoftware.net/profiles/blogs/the-code-generation-family">Karsten</a> and me skipped the next time slot to prepare ourselves for our own talk &#8220;<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=64">Mastering Differentiated MDSD Requirements at Deutsche Boerse AG</a>&#8221; we gave at the end of the day. We packed a lot material into 75 minutes but still managed to come up with a short demo that shows how <a href="http://www.xtext.org">Xtext</a> can interact with graphical models. You can <a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">download the slides at slideshare</a> but the demo is not yet ready, sorry (<em>the attendees asked for this, please drop me a mail or comment on this post so I can inform you later on</em>).</p>
<div id="attachment_579" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/33466493@N04/3633424849/"><img class="size-full wp-image-579" title="Punting" src="http://www.1160pm.net/wp-content/uploads/2009/06/punting.jpg" alt="Punting in Cambridge (Foto by Karsten Thoms)" width="400" height="268" /></a><p class="wp-caption-text">Punting in Cambridge (Foto by Karsten Thoms)</p></div>
<p>After a stressful day, the organized <a href="http://en.wikipedia.org/wiki/Punt_(boat)">punting trip</a> along the Cam made this day perfect to me.</p>
<h3>Wednesday&#8230;</h3>
<p>&#8230;was a completely different story to me. Instead of listening to or presenting well-known ideas I had the opportunity to get some deep insights of concepts I only read about before. After an <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=1">amusing staged fight</a> between Markus Völter (textual modeling) and Steven Kelly (graphical modeling) my day started with the <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=31">well-prepared hands-on session about MetaEdit+</a> Juha-Pekka Tolvanen, Risto Pohjonen and Steven Kelly gave. From what I have seen I would say that this software is the most sophisticated graphical modeling tool at the market today.</p>
<p>The session I have joined afterwards was not that impressive but I compensated for this with today&#8217;s highlight: <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=9">Language Definition, Extension and Composition with MPS</a>. Markus Völter and Konstantin Solomatov complemented one another and impressed the audience deeply with the upcoming version of <a href="http://www.jetbrains.com/mps/">MPS</a>. This was the first time I have seen a live presentation on this little pearl of modeling.</p>
<p>Some lightning sessions about <a href="http://fit4oaw.wiki.sourceforge.net/">Fit4oaw</a>, MBase, <a href="http://umlcanvas.org/">UMLCanvas</a> and <a href="http://code.google.com/webtoolkit/">GWT</a> made the end of the technical part. A nice dinner with french impressions made the night a big success again.</p>
<p>I want to thank Mark Dalgarno and Andy Moorly for organizing this event. Questions about the room plan, the need for a different stage setup, giving up their seat at the dinner or ad hoc money exchange for thirsty attendees &#8211; no problems for them. Your upfront organization as well as your courteous appearance is simply overwhelming!</p>
<p><em><strong>Update:</strong></em> This post has been <a href="http://www.modeldrivensoftware.net/profiles/blogs/impressions-of-code-generation">published at The Model Driven Software Network</a>, too.</p>
<h3>Links</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/mastering-differentiated-mdsd-requirements-at-deutsche-boerse-ag">Slides of the session at slideshare</a></li>
<li><a href="http://www.flickr.com/groups/cg2009/">Pictures of the conference at flickr</a></li>
<li><a href="http://twitter.com/#search?q=%23cg2009">Twitter tweeds about the conference</a></li>
</ul>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/cd51dc0098f047d5831af46da1e36196" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=563&amp;md5=0ca8c17f05aca50a43dc5bdab6a91492" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/06/17/impressions-of-code-generation-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>iWannaSleep</title>
		<link>http://HeikoBehrens.net/2009/06/09/iwannasleep/</link>
		<comments>http://HeikoBehrens.net/2009/06/09/iwannasleep/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 21:04:24 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=549</guid>
		<description><![CDATA[I love to listen to radio plays when going to bed and often I fall asleep only a few minutes after starting an episode. This works great for me but who switches off my Computer? A few years ago I have written a PC program that shuts down Windows after a given time. However, on [...]]]></description>
			<content:encoded><![CDATA[<p>I love to listen to radio plays when going to bed and often I fall asleep only a few minutes after starting an episode. This works great for me but who switches off my Computer? A few years ago <a href="http://tjohnwhatsup.blogspot.com/2007/09/h-tools.html">I have written a PC program</a> that shuts down Windows after a given time. However, on the Mac there&#8217;s an even better tool: <a href="http://www.sb-software.de/sb-english/iWannaSleep.html">iWannaSleep</a>.</p>
<div id="attachment_550" class="wp-caption aligncenter" style="width: 447px"><img class="size-full wp-image-550" title="iWannaSleep" src="http://www.1160pm.net/wp-content/uploads/2009/06/iwannasleep.png" alt="iWannSleep brings your Mac to bed" width="437" height="209" /><p class="wp-caption-text">iWannaSleep puts your Mac to bed</p></div>
<p><a href="http://web.mac.com/mabi99/marcocoa/blog/Entries/2007/6/5_Finding_oneself_in_Korea.html">Marco Binder has written this little helper</a> that puts your Mac to bed. It acts as a timer, fades out the sound and performs an action. This could be &#8220;shut down&#8221;, &#8220;stop iTunes&#8221; or &#8220;run apple script&#8221;. I usually stay with &#8220;put to sleep&#8221; (so my Mac has no hangover the next morning). The tool remembers the options I have chosen the last time and has never dozed off itself before doing its job.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=549&amp;md5=0df76a5315170e9e4ff037fddc1505d8" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/06/09/iwannasleep/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New Xtext Logo</title>
		<link>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/</link>
		<comments>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/#comments</comments>
		<pubDate>Sun, 07 Jun 2009 21:49:23 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=496</guid>
		<description><![CDATA[Reading tweets, newsgroup posts, blogs, articles or press releases I am very excited to notice that xText gains increasing attention. As far as I can see most newcomers learn about xtext as a great tool to create domain specific languages (DSLs). Also, X-Text seems to fulfill a need many software engineers feel: Inventing their own [...]]]></description>
			<content:encoded><![CDATA[<p>Reading tweets, newsgroup posts, blogs, articles or press releases I am very excited to notice that <em>xText</em> gains increasing attention. As far as I can see most newcomers learn about <em>xtext</em> as a great tool to create domain specific languages (DSLs). Also, <em>X-Text</em> seems to fulfill a need many software engineers feel: Inventing their own programming language.</p>
<p>People are just starting to explore the possibilities and sometimes it is difficult for them to find the right word to name a concept or share an idea. We do our best to support those seekers and are glad to do away with a common uncertainness: The right spelling is &#8220;<a href="http://www.Xtext.org">Xtext</a>&#8221; and from today its logo does reflect this.</p>
<div id="attachment_499" class="wp-caption aligncenter" style="width: 410px"><img class="size-full wp-image-499" title="New Xtext Logo" src="http://www.1160pm.net/wp-content/uploads/2009/06/newxtextlogo.png" alt="The new Xtext logo starts with a capital X" width="400" height="125" /><p class="wp-caption-text">The new Xtext logo starts with a capital X</p></div>
<p>Beside every other wrong spelling &#8220;xtext&#8221; was the most prominent. It took us a while to find out why this was the case. Eventually, we realized that the omnipresent logo started with a lower-case &#8220;x&#8221; (<a href="http://www.1160pm.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/">convince yourself</a>). So it was our own <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=270727">fault</a>!</p>
<p>With the help of Carsten Oltmann we are proud to present the new version of the Xtext logo. Feel free to place it into your presentations, on your blogs or as a <a href="http://www.1160pm.net/wp-content/uploads/2009/06/svens-sticker.png">sticker at your laptop</a>.</p>
<h3>Downloads</h3>
<p>I will provide the logo in four different flavours and in two different formats. You can download a vector graphic and a PNG in suitable sizes. The background color of the thumbnails are for reference only, the provided graphics are transparent.</p>
<table border="0">
<thead>
<tr>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-color.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-negative.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-dark.png" alt="" width="97" height="33" /></th>
<th><img class="alignnone size-full wp-image-508" title="xtext-sample-color" src="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-sample-white.png" alt="" width="97" height="33" /></th>
</tr>
</thead>
<tbody>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-coloreps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negativeeps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-darkeps.zip">EPS (vector)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-whiteeps.zip">EPS (vector)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-800.png">PNG (800px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-800.png">PNG (800px)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-300.png">PNG (300px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-300.png">PNG (300px)</a></td>
</tr>
<tr>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-color-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-negative-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-dark-100.png">PNG (100px)</a></td>
<td><a href="http://www.1160pm.net/wp-content/uploads/2009/06/xtext-logo-white-100.png">PNG (100px)</a></td>
</tr>
</tbody>
</table>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=496&amp;md5=f1f31dcea9ba6d3a39dd17e232f6221b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/06/07/new-xtext-logo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Xtext at Eclipse DemoCamp May 2009 in Hamburg</title>
		<link>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/</link>
		<comments>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/#comments</comments>
		<pubDate>Tue, 26 May 2009 22:15:26 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=471</guid>
		<description><![CDATA[Yesterday&#8217;s Eclipse DemoCamp in Hamburg was a successful social event. The organizers Peter and Martin scheduled the Eclipse Stammtisch directly after the demo sessions so that many known but (to me) even more unknown faces gathered together to discuss the impressions at the bar. Beside the talks from Moritz Eysholdt (Patching Models and Evolving Meta [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">Yesterday&#8217;s Eclipse DemoCamp in Hamburg</a> was a successful social event. The organizers <a href="http://www.peterfriese.de/">Peter</a> and <a href="http://www.martinlippert.com/">Martin</a> scheduled the Eclipse Stammtisch directly after the demo sessions so that many known but (to me) even more unknown faces gathered together to discuss the impressions at the bar.</p>
<p>Beside the talks from Moritz Eysholdt (Patching Models and Evolving Meta Models), Simon Zambrovski (Playing with Eclipse Common Navigator Framework) and Markus Alexander Kuppe (Distributed OSGi, RFC 119 &#8211; The ECF way) there was a talk about <a href="http://www.objectteams.org/">ObjectTeams</a> again. Marco Mosconi demonstrated how one can weave manually written code into generated GMF editors with an aspect-oriented approach. Nice!</p>
<div id="attachment_486" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.flickr.com/photos/sza/3568564774/"><img class="size-full wp-image-486" title="Xtext talk at the Eclipse DemoCamp in Hamburg" src="http://www.1160pm.net/wp-content/uploads/2009/05/xtexttalkvonheiko2.png" alt="Me talking about Xtext at the Eclipse DemoCamp in Hamburg" width="400" height="296" /></a><p class="wp-caption-text">Me talking about Xtext at the Eclipse DemoCamp in Hamburg</p></div>
<p>I had the opportunity to talk about <a href="http://www.xtext.org">Xtext</a> in front of an audience that mostly had not seen it before. Playing with expectations and trying out some new ideas was great fun. Xtext becomes more stable and doing live presentations is no risk but a pleasure.</p>
<p>For those who do not want to miss the pizza recipe nor the class schedule DSL, you will find attached the slides. <a href="http://www.flickr.com/photos/peterfriese/sets/72157618835467216/">Peter&#8217;s photos</a> and <a href="http://www.flickr.com/photos/sza/sets/72157618745344503/">Simon&#8217;s album</a> give a visual impression of the event. Also, please note that we have just published ready-to-use distributions with the current Xtext RC2 release. Nothing should stop you from implementing your very own grammar. And if you come up with a textual DSL to avoid wrong IDs in your plugin.xml, let me know <img src='http://HeikoBehrens.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<h3>Downloads</h3>
<ul>
<li><a href="http://www.slideshare.net/HeikoB/xtext-und-was-man-damit-anstellen-kann">Slides at SlideShare (German)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-linux-gtk.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (Linux-gtk)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-macosx-carbon.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (MacOS X-carbon)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-macosx-cocoa.tar.gz">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (MacOS X-cocoa)</a></li>
<li><a href="http://xtext.itemis.com/distros/eclipse-SDK-3.5RC2-xtext-0.7RC2-win32.zip">Eclipse SDK 3.5RC2 with Xtext 0.7RC2 (Win32)</a></li>
</ul>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=471&amp;md5=db73e2b6a7e20183139b2f36bc1f1ed3" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/05/26/xtext-at-eclipse-democamp-may-2009-in-hamburg/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mac SVN Server</title>
		<link>http://HeikoBehrens.net/2009/05/24/mac-svn-server/</link>
		<comments>http://HeikoBehrens.net/2009/05/24/mac-svn-server/#comments</comments>
		<pubDate>Sun, 24 May 2009 18:40:32 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=460</guid>
		<description><![CDATA[Last Wednesday Peter, Jan and me discussed the idea to blog about nifty little tools that make up our daily life with our Macs. With this post I will start to do so and want to present MAS, the Mac SVN Server, to you. Whenever you have to prepare a digital show case, a presentation [...]]]></description>
			<content:encoded><![CDATA[<p>Last Wednesday <a href="http://www.peterfriese.de/">Peter</a>, <a href="http://koehnlein.blogspot.com/">Jan</a> and me discussed the idea to blog about nifty little tools that make up our daily life with our Macs. With this post I will start to do so and want to present <a href="http://sourceforge.net/projects/macsvnserver">MAS, the Mac SVN Server</a>, to you.</p>
<p><a href="http://sourceforge.net/projects/macsvnserver"><img class="aligncenter size-full wp-image-461" title="MAS" src="http://www.1160pm.net/wp-content/uploads/2009/05/mas.png" alt="" width="300" height="144" /></a></p>
<p>Whenever you have to prepare a digital show case, a presentation or simply try out a new programming library, the burnt IT-professional sticks to <a href="http://en.wikipedia.org/wiki/Revision_control">version control</a>. And since the Internet is not yet omnipresent in trains, planes, secured environments or due to <a href="http://www.thelocal.de/sci-tech/20090421-18783.html">unpredictable events</a> there is the demand for a locally installed system.</p>
<p>I am using <a href="http://www.eclipse.org/">Eclipse</a> most of the development time so the <a href="http://subclipse.tigris.org/">choices</a> <a href="http://www.eclipse.org/subversive/">are</a> <a href="http://help.eclipse.org/ganymede/nav/0_3_2">limited</a>. And since I prefer SVN over CVS I was looking for a subversion server that can be used the Mac-ish way. <a href="http://zathras.de/">Uli Kusterer</a> put together an Apache server with the desired SVN capabilities built-in, tied it as a <a href="http://sourceforge.net/projects/macsvnserver">drop-installable application and called it MAS</a>. It comes with a simple GUI that allows you to manage users to grant access to the repository that resides in your home directory (~/Library/Application Support/MAS). Download and drop it into you application directory. There&#8217;s nothing more to say.</p>
<p>For the last months <a href="http://sourceforge.net/projects/macsvnserver">MAS</a> has done exactly what it was designed for. It supports me every time I want to put something under version control and stops serving when closing the application.</p>
<p>And tomorrow&#8217;s presentation at the <a href="http://wiki.eclipse.org/Eclipse_DemoCamps_Galileo_2009/Hamburg">Eclipse DemoCamp in Hamburg</a> will benefit from it, too!</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=460&amp;md5=d69be2cfaf1a52a481e78215b4c2945b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/05/24/mac-svn-server/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Generation Gap Pattern</title>
		<link>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/</link>
		<comments>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 19:35:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[featured]]></category>
		<category><![CDATA[openArchitectureWare]]></category>
		<category><![CDATA[Add new tag]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=213</guid>
		<description><![CDATA[The Generation Gap Pattern is a common way to weave manually written code into generated software artifacts. While this pattern describes how to structure your classes logically it does not teach you where to place these classes physically as files into the filesystem. Separating generated files from manually written code is best practice for many [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a> is a common way to weave manually written code into generated software artifacts. While this pattern describes how to structure your classes logically it does not teach you where to place these classes physically as files into the filesystem.</p>
<div id="attachment_452" class="wp-caption aligncenter" style="width: 461px"><img class="size-full wp-image-452" title="Figure 1" src="http://www.1160pm.net/wp-content/uploads/2009/04/generationgappattern.png" alt="Figure 1: The Generation Gap Pattern" width="451" height="230" /><p class="wp-caption-text">Figure 1: The Generation Gap Pattern</p></div>
<p>Separating generated files from manually written code is <a href="http://www.infoq.com/articles/model-driven-dev-best-practices">best practice</a> for many reasons. It enables you to use version control wisely and makes the distinction between generated and manually written code easy. The Eclipse <a href="http://wiki.eclipse.org/Modeling_Workflow_Engine_(MWE)">EMF Modeling Workflow Engine</a> together with <a href="http://wiki.eclipse.org/Xpand">M2T Xpand</a> allows you to accomplish this goal in different ways.</p>
<p>In this post, I will present three different approaches that share some common ideas. Each strategy uses a dedicated directory for generated class files whereas manually written subclasses are stored for themselves in a different directory.</p>
<p><span id="more-213"></span></p>
<h2>General Directory Layout</h2>
<p>Both sets of classes belong to the same package but reside in different source folders. Framework classes should be kept in yet another directory and might be placed in a package specific for the framework as seen in <a href="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral.png">Figure 2</a>.</p>
<div id="attachment_435" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral.png"><img class="size-medium wp-image-435" title="Figure 2" src="http://www.1160pm.net/wp-content/uploads/2009/04/projectgeneral-300x258.png" alt="Figure 2: Schematic directory layout of an Eclipse Java project" width="300" height="258" /></a><p class="wp-caption-text">Figure 2: Schematic directory layout of an Eclipse Java project</p></div>
<p>In Eclipse you can configure such a project structure by adding new source folders (<em>New</em> → <em>Source Folder&#8230;</em>) or by declaring ordinary folders as source folders in the project properties (<em>Properties</em> → <em>Java Build Path</em> → <em>Source</em>).</p>
<p>Please note that folder names such as <em>src-generatedClasses</em> are meant to be schematically and stand for a category of folders each. In real world projects you might have several source folders that contain generated artifacts and you might deal with many folders or even projects that contain manually written classes. In the following sections you will see how these categories of folders can be used in practice.</p>
<h2>Generate Once</h2>
<p><a href="http://www.peterfriese.de/how-to-distinguish-generated-code-from-non-generated-code/">Peter describes a directory layout</a> many <a href="http://www.xtext.org">Xtext users</a> are familiar with. Generated artifacts go into a folder <em>src-gen</em> whereas manually written classes will be stored in a folder <em>src-once</em>. Each time you run the generator the content of folder <em>src-gen</em> will be purged and generated again whereas the the content of <em>src-once</em> will remain untouched.</p>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png"><img class="size-full wp-image-283" title="Figure 3" src="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png" alt="Figure 3: src-once collects one-time generated artefacts for future editing" width="500" height="168" /></a><p class="wp-caption-text">Figure 3: Generate Once collects one-time generated artifacts for future editing</p></div>
<p>Since each model element <em>A</em> leads to two classes <em>AbstractA</em> and <em>ConcreteA</em> (<a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a>) you can reduce the amount of manual work by generating the class <em>ConcreteA</em> if it does not exist, yet. During the next run of the generator the class <em>ConcreteA</em> won’t be generated again, hence the name “once”.</p>
<p>Configure an additional outlet in your EMF MWE file:</p>
<pre class="brush: xml; highlight:6">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
   &lt;metaModel idRef="mm"&gt;
   &lt;expand value="MyTamplate::main FOR model"&gt;
   &lt;outlet overwrite="true" path="src-gen"&gt;
   &lt;outlet name="MANUAL" overwrite="false" path="src-once"&gt;
&lt;/component&gt;</pre>
<p>Using M2T Expand you can than refer to the outlet <em>MANUAL</em> where appropriate</p>
<pre class="brush: plain">«DEFINE ConcreteClass FOR Element»
   «FILE this.fileName() MANUAL»
   ...
«ENDDEFINE»</pre>
<p>This approach works well in many scenarios but has its limits. As seen in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/generateonce.png">Figure 3</a> problems arise whenever you delete or rename a model element. In these cases each concrete artifact at <em>src-once</em> that does not correspond to a model element anymore is abandoned and will remain with compile errors. This is desired for classes that hold manual code but is cumbersome for those that do not.</p>
<div id="attachment_288" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce.png"><img class="size-medium wp-image-288" title="Figure 4" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce-300x256.png" alt="Figure 4" width="300" height="256" /></a><p class="wp-caption-text">Figure 4: Generate Once in package explorer</p></div>
<p>For scenarios where a huge amount of generated classes is customized only in a few cases the &#8220;Generate Once&#8221; approach leads to unwanted manual refactoring effort including file movement. Life is getting worse when you are working with a complex folder structure instead of a single flat directory. <a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectonce.png">Figure 4</a> might give you an idea of how things will look for growing models.</p>
<h2>Conditional Generation 1 (with one gen-folder)</h2>
<p>The following approach plays well when only a small subset of classes has to be extended with manual code. According to the <a href="http://www.research.ibm.com/designpatterns/pubs/gg.html">Generation Gap Pattern</a> for each model element <em>A</em> there is a generated class<em> AbstractA</em> as well as an concrete class <em>ConcreteA</em>. But in contrast to the “Generate Once” approach both files will be placed in the very same folder <em>src-gen</em> and therefore deleted and regenerated for each generator run.<br />
There is one exception to this behavior. Whenever the generator finds a file <em>ConcreteA</em> in the folder <em>src-man</em> it skips the generation process for this particular file. This is how you introduce manual code.</p>
<div id="attachment_289" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond1.png"><img class="size-full wp-image-289" title="Figure 5" src="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond1.png" alt="Figure 5" width="500" height="214" /></a><p class="wp-caption-text">Figure 5: Conditional Generation 1 reduces manual refactoring effort</p></div>
<p>At first glance this approach seems to be similar to the solution above. But when deleting or moving model elements this approach really pays off. Each concrete class that does not contain manual code will be deleted and regenerated. Therefore, when moving or deleting the model elements no additional manual work has to be done. Also, a quick look at <em>src-man</em> reveals any code that has been written manually.</p>
<div id="attachment_290" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectman.png"><img class="size-medium wp-image-290" title="Figure 6" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectman-300x248.png" alt="Figure 6" width="300" height="248" /></a><p class="wp-caption-text">Figure 6: Conditional Generation 1 in package explorer</p></div>
<p>To implement the desired behavior of the generator users of MWE can configure an outlet with a special veto strategy. Please note that the outlet <em>MANUAL</em> does not need to keep files (<em>overwrite=&#8221;true&#8221;</em>), they will be purged by the directory cleaner anyway.</p>
<pre class="brush: xml; highlight:6-7">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
  &lt;metaModel idRef="mm" /&gt;
  &lt;expand value="MyTamplate::main FOR model"/&gt;
  &lt;outlet overwrite="true" path="src-gen" /&gt;
  &lt;outlet name="MANUAL" overwrite="true" path="src-gen"&gt;
    &lt;vetoStrategy class="your.package.CondGenVetoStrategy" path="src-man"/&gt;
  &lt;/outlet&gt;
&lt;/component&gt;</pre>
<p>Such a veto strategy would read like:</p>
<pre class="brush: java; collapse: true; toolbar: true;">public class CondGenVetoStrategy implements VetoStrategy, VetoStrategy2 {

	private String path;

	public void setPath(String value) {
		path = value;
	}

	public String getPath() {
		return path;
	}

	public boolean hasVeto(FileHandle fileHandle) {
		URI fileToBeGenerated = fileHandle.getTargetFile().toURI();
		URI pathToGenerateInto = new File(fileHandle.getOutlet().getPath()).getAbsoluteFile().toURI();
		URI relativeFileName = pathToGenerateInto.relativize(fileToBeGenerated);
		File potentiallyExistingFile = new File(this.getPath(), relativeFileName.toString());

		return potentiallyExistingFile.exists();
	}

	public boolean hasVetoBeforeOpen(FileHandle handle) {
		return hasVeto(handle);
	}
}</pre>
<p><strong>oAW 4.x: </strong>VetoStrategy2 has been introduced with oAW 4.3.1.</p>
<p>Unfortunately, the advantages of this approach do not come for free: Compared to &#8220;Generate Once&#8221; it is more difficult to introduce manual code since it is harder to understand the needed steps. One has to create a concrete class in the <em>src-man</em> folder manually (or move it from <em>src-gen</em> and remove all comments that mark them as generated) where no class exists, yet. This might seem to be a no-brainer but can lead into trouble when defining a process for large projects. This is especially true for the unlikely case that you check-in generated code of <em>src-gen</em>.</p>
<h2>Conditional Generation 2 (with two gen-folders)</h2>
<p>A slighty different way that basically follows the same idea introduces yet another folder <em>src-gencond</em>.</p>
<div id="attachment_291" class="wp-caption aligncenter" style="width: 510px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png"><img class="size-full wp-image-291" title="Figure 7" src="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png" alt="Figure 7" width="500" height="217" /></a><p class="wp-caption-text">Figure 7: Conditional Genration 2 lists classes that can implemented manually</p></div>
<p>As you can see in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/generatecond2.png">Figure 7</a> the generated artifacts are split into the folder <em>src-gen</em> where the abstract classes reside and the newly introduced folder <em>src-gencond</em>. The latter contains only the concrete classes that could be replaced by manually implemented classes. In contrast to the “Conditional Generation 1” approach the users are now able to find classes that can be augmented be manual implementations without any challenge. Users still have to move classes from <em>src-gencond</em> to <em>src-man</em> by hand but it is simpler to communicate the necessary steps.</p>
<div id="attachment_292" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond.png"><img class="size-medium wp-image-292" title="Figure 8" src="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond-300x232.png" alt="Figure 8" width="300" height="232" /></a><p class="wp-caption-text">Figure 8: Conditional Generation 2 in package explorer</p></div>
<p>As you can see in <a href="http://www.1160pm.net/wp-content/uploads/2009/03/projectcond.png">Figure 8</a> one can easily identify that there are two classes that could be implemented by hand. Such a folder structure can pay off when different groups of developers are dealing with a fairly large and scattered set of classes.</p>
<p>In order to realize &#8220;Conditional Generation 2&#8243; you simply reconfigure the outlet <em>MANUAL</em> to write its output to <em>src-gencond</em>. Also, a second directory cleaner removes all files from this directory before code generation starts.</p>
<pre class="brush: xml; highlight: [2, 7]">&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gen"/&gt;
&lt;component class="org.eclipse.emf.mwe.utils.DirectoryCleaner" directory="src-gencond"/&gt;
&lt;component class="org.eclipse.xpand2.Generator"&gt;
  &lt;metaModel idRef="mm" /&gt;
  &lt;expand value="MyTamplate::main FOR model"/&gt;
  &lt;outlet overwrite="true" path="src-gen" /&gt;
  &lt;outlet name="MANUAL" overwrite="true" path="src-gencond"&gt;
    &lt;vetoStrategy class="your.package.CondGenVetoStrategy" path="src-man"/&gt;
  &lt;/outlet&gt;
&lt;/component&gt;</pre>
<h2>Comparison</h2>
<p>Each of these solutions do their job in real world <a href="http://en.wikipedia.org/wiki/Model_Driven_Software_Development">MDSD</a> projects. Where projects with rather stable interfaces go with the “Generate Once” approach larger projects address growing maintenance effort with the “Conditional Generatation 1/2”  solution. The move from “Conditional Generatation 1” towards “Conditional Generatation 2” is rather trival and can smoothly be taken within a running project.</p>
<p>I&#8217;d be happy to read about your experience with these or different project setups.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/4b0f53a51d4f43f88b2925594e2ddd24" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=213&amp;md5=7c7ac8baa2ff09a50842c136a7ef5b7b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/23/generation-gap-pattern/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Xtext Workshop</title>
		<link>http://HeikoBehrens.net/2009/04/14/xtext-workshop/</link>
		<comments>http://HeikoBehrens.net/2009/04/14/xtext-workshop/#comments</comments>
		<pubDate>Tue, 14 Apr 2009 17:21:13 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=423</guid>
		<description><![CDATA[Sebastian and me had the opportunity to give some exciting Xtext Workshops during the last two weeks. Starting with internal trainings at different offices of itemis we continued our tour to our customers. In  groups from 4 up to 12+ attendees we explained simple things as well as more complex topics such as Scoping or [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://zarnekow.blogspot.com/">Sebastian</a> and me had the opportunity to give some exciting Xtext Workshops during the last two weeks. Starting with internal trainings at <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/2668/pforzheim">different</a> <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/2667/leipzig">offices</a> <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/2663/dortmund">of</a> <a href="http://www.itemis.com/itemis-ag/company/offices/language=en/2664/bonn">itemis</a> we continued our tour to our customers. In  groups from 4 up to 12+ attendees we explained <a href="http://wiki.eclipse.org/Xtext/GettingStarted">simple things</a> as well as more complex topics such as <a href="http://wiki.eclipse.org/Xtext/Documentation#Scoping">Scoping</a> or <a href="http://wiki.eclipse.org/Xtext/Documentation#Actions">Actions</a>.</p>
<p><a href="http://www.1160pm.net/wp-content/uploads/2009/04/slides1.png"><img class="aligncenter size-medium wp-image-424" title="Slides" src="http://www.1160pm.net/wp-content/uploads/2009/04/slides1-300x173.png" alt="" width="300" height="173" /></a></p>
<blockquote><p>By now I won&#8217;t call us Xtext experts but one thing is safe to say: Beyond the convincing basic functions Xtext does an awesome job when facing advanced topics.<br />
<strong>(Falko Riemenschneider)</strong></p></blockquote>
<blockquote><p>I am glad to see that TMF Xtext got rid of many strange issues oAW Xtext had when it comes to corner cases. And the extensibility with Google Guice will be of great value.<br />
<strong>(Steffen Stundzig)</strong></p></blockquote>
<p>Please understand that I can neither publish the slides nor exercises of this workshop since it is material <a href="http://www.itemis.com/itemis-ag/language=en/2642/training-and-coaching">our customers pay for</a>. We are still working on more content that will be publicly available. Meanwhile, if you are interested in Xtext the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.modeling.tmf">newsgroup</a> is a valuable place to share experience and to delve into questions the <a href="http://wiki.eclipse.org/Xtext/Documentation">documentation</a> cannot answer.</p>
<p>For you itemis co-workers, <a href="https://intern.itemis.de/personal/aus-und-weiterbildung/interner-xtext-workshop/">read on at the intranet and download the material</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=423&amp;md5=a194aa62baab6d89f76dd5cfe1a635da" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/14/xtext-workshop/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google App Engine for Java and Google plug-in for Eclipse</title>
		<link>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/</link>
		<comments>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 08:43:27 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=379</guid>
		<description><![CDATA[Today, Google announced that the Google App Engine will support Java. This is great news for every Java developer who wants to experiment with the cloud. At the moment Google grants an &#8220;early look&#8221; to only a few (10,000) developers that sign up early. Everybody else can code, test, debug und run Java-based applications using the SDK [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Google <a href="http://googleappengine.blogspot.com/2009/04/seriously-this-time-new-language-on-app.html">announced</a> that the <a href="http://code.google.com/appengine/docs/java/overview.html">Google App Engine will support Java</a>. This is great news for every Java developer who wants to experiment with <a href="http://en.wikipedia.org/wiki/Cloud_computing">the cloud</a>. At the moment Google grants an &#8220;early look&#8221; to only a few (10,000) developers that <a href="http://appengine.google.com/promo/java_runtime">sign up</a> early. Everybody else can code, test, debug und run Java-based applications using the SDK locally but won&#8217;t be able to upload the application until this service is available for everybody.<a href="http://code.google.com/appengine/docs/java/overview.html"><img class="aligncenter size-full wp-image-380" title="Google App Engine for Java" src="http://www.1160pm.net/wp-content/uploads/2009/04/logo.png" alt="" width="250" height="235" /></a></p>
<p>At the same time the <a href="http://code.google.com/eclipse">Google Plug-in for Eclipse</a> has been <a href="http://googlewebtoolkit.blogspot.com/2009/04/google-plugin-for-eclipse-peanut-butter.html">announced</a>, too. Together with the <a href="http://code.google.com/webtoolkit">1.6 release of GWT</a> there&#8217;s much to explore and a <a href="http://code.google.com/p/googleappengine/issues/detail?id=1">long and eagerly awaited feature</a> comes true.</p>
<p>This is by far better than the fake of a <a href="http://googleappengine.blogspot.com/2009/04/brand-new-language-on-google-app-engine.html">Google App Engine for Fortran</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=379&amp;md5=a615b698e34cdf8f41d8d76e4e1e1f5c" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/08/google-app-engine-for-java-and-google-plug-in-for-eclipse/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Xtext at EclipseCon 2009</title>
		<link>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/</link>
		<comments>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 13:28:51 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=366</guid>
		<description><![CDATA[This year&#8217;s EclipseCon in Santa Clara was not only about Eclipse itself. For me, a silent observer who noticed this event only via the web, it acts like an important hub for many ideas and achievements inside and around the Eclipse ecosystem in general. One of these little treasures that have been mentioned is Xtext. [...]]]></description>
			<content:encoded><![CDATA[<p>This year&#8217;s <a href="http://www.eclipsecon.org/">EclipseCon in Santa Clara</a> was not only about <a href="http://www.eclipse.org/">Eclipse</a> itself. For me, a silent observer who noticed this event only via the web, it acts like an important hub for many ideas and achievements inside and around the Eclipse ecosystem in general. One of these little treasures that have been mentioned is <a href="http://www.xtext.org">Xtext.</a> What else could have been expected?</p>
<p><a href="http://blog.efftinge.de/2009/03/eclipsecon-slides-and-other-stupid.html">Sven</a> and <a href="http://koehnlein.blogspot.com/2009/03/xtext-generic-editor-and-emf-index-at.html">Jan</a> had a <a href="http://www.eclipsecon.org/2009/sessions?id=436">talk about the upcoming release of TMF Xtext</a> and <a href="http://www.slideshare.net/sefftinge/xtext-eclipse-con">shared their slides</a> afterwards. During the event one could recognize some <a href="http://tweettrail.com/search/xtext+eclipsecon">nice comments about Xtext at twitter</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="359" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/AfX+HYfRVQ" /><embed type="application/x-shockwave-flash" width="450" height="359" src="http://blip.tv/play/AfX+HYfRVQ"></embed></object></p>
<p>But for me, the most interesting digital find is an interview with <a href="http://www.itemis.com/itemis-ag/company/language=en/2601/management-board">Wolfgang Neuhaus</a> I stumbled across at <a href="http://ianskerrett.wordpress.com/2009/03/26/eclipsecon-video-what-is-xtext/">Ian&#8217;s Blog</a>. Without the demand for in-depth knowledge of specific tools Wolfgang introduces the ideas behind Xtext in a brief and precise way.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=366&amp;md5=60d2f1b4d3437d3b79c2bff7fd93c330" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/04/02/xtext-at-eclipsecon-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xtext M6 with more documentation and stable API</title>
		<link>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/</link>
		<comments>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 09:53:03 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=260</guid>
		<description><![CDATA[According to the project plan we have published the sixth milestone version of TMF Xtext this Tuesday. Please note, this is not a release candidate, yet. Nevertheless, it&#8217;s another huge step towards the Galileo release in June and tough guys may want to explore M6 as some early adopters already do. We know about bugs and [...]]]></description>
			<content:encoded><![CDATA[<p>According to the <a href="http://www.eclipse.org/projects/project-plan.php?projectid=modeling.tmf">project plan</a> we have published the sixth milestone version of <a href="http://www.xtext.org">TMF Xtext</a> this Tuesday. Please note, this is not a release candidate, yet. Nevertheless, it&#8217;s another huge step towards the Galileo release in June and tough guys may want to explore M6 as some early adopters already do.</p>
<p><a href="http://www.xtext.org"><img class="aligncenter size-full wp-image-261" title="Xtext" src="http://www.1160pm.net/wp-content/uploads/2009/03/xtextlogo.png" alt="" width="300" height="88" /></a></p>
<p>We know about <a href="https://bugs.eclipse.org/bugs/buglist.cgi?query_format=advanced&amp;short_desc_type=allwordssubstr&amp;short_desc=&amp;classification=Modeling&amp;product=TMF&amp;component=Xtext&amp;long_desc_type=allwordssubstr&amp;long_desc=&amp;bug_file_loc_type=allwordssubstr&amp;bug_file_loc=&amp;status_whiteboard_type=allwordssubstr&amp;status_whiteboard=&amp;keywords_type=allwords&amp;keywords=&amp;bug_status=NEW&amp;bug_status=ASSIGNED&amp;bug_status=REOPENED&amp;emailtype1=exact&amp;email1=&amp;emailtype2=substring&amp;email2=&amp;bugidtype=include&amp;bug_id=&amp;votes=&amp;chfieldfrom=&amp;chfieldto=Now&amp;chfieldvalue=&amp;cmdtype=doit&amp;order=Reuse+same+sort+as+last+time&amp;field0-0-0=noop&amp;type0-0-0=noop&amp;value0-0-0=">bugs and missing features</a> but with good cause I want to draw your attention to this release. Apart from the constantly improved <a href="http://wiki.eclipse.org/Xtext/Documentation">core documentation</a> we are beginning with documents like &#8220;<a href="http://wiki.eclipse.org/Xtext/GettingStarted">Getting Started</a>&#8221; or &#8221;<a href="http://wiki.eclipse.org/Xtext/Documentation/Migration">Migration from oAW Xtext</a>&#8220;. The latter is far from being finished and will summarize the lessons we have learned together with our customers that have be been using TMF Xtext since M5 and earlier.</p>
<p>Xtext users might be glad to hear that the <a href="http://wiki.eclipse.org/Xtext/Documentation/API">API of Xtext is reliable</a>. To accomplish this goal we leverage the annotation <em>@java.lang.Deprecated</em> for parts of the API that won&#8217;t be supported in future. But more interesting is the newly introduced annotation <em>@org.eclipse.xtext.Stable</em>. An interface tagged this way is not truly stable itself since we might introduce new methods in future but the annotation might help you anyway. It directs you to an abstract class that you should derive from. Whenever a new method will be introduced in future this class will complement your work with a null implementation your can override as necessary (does anyone know how this pattern is called?).</p>
<div id="attachment_339" class="wp-caption aligncenter" style="width: 438px"><a href="http://www.1160pm.net/wp-content/uploads/2009/03/pattern.png"><img class="size-full wp-image-339" title="Annotation" src="http://www.1160pm.net/wp-content/uploads/2009/03/pattern.png" alt="Interface with @stable and corresponding abstract class" width="428" height="338" /></a><p class="wp-caption-text">Interface with @stable and corresponding abstract class</p></div>
<p>So, even if you won&#8217;t try out TMF Xtext at this stage this documentation material might give you a preview of what you can expect in June. Check out the <a href="http://wiki.eclipse.org/Xtext/Documentation/Xtext_New_and_Noteworthy">New and Noteworthy Page</a> for a general overview of this release.</p>
<p>Feedback is welcome through the <a href="http://www.eclipse.org/newsportal/thread.php?group=eclipse.modeling.tmf">news group</a> and <a href="https://bugs.eclipse.org/bugs/enter_bug.cgi?product=TMF&amp;version=0.7.0&amp;component=Xtext&amp;rep_platform=All&amp;op_sys=All">bugzillas</a>.</p>
<div id="vgwpixel"><img src="http://vg04.met.vgwort.de/na/d177d69995024629a692defbece4ffa1" width="1" height="1" alt=""></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=260&amp;md5=da640d7d9fcca76d42dbc2537b7dc7db" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/19/xtext-m6-with-more-documentation-and-stable-api/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>100 Liegestütze in 6 Wochen</title>
		<link>http://HeikoBehrens.net/2009/03/18/100-liegestuetze-in-6-wochen/</link>
		<comments>http://HeikoBehrens.net/2009/03/18/100-liegestuetze-in-6-wochen/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 09:36:04 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[private]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=266</guid>
		<description><![CDATA[Nachdem ich dieses Unterfangen im Spätsommer aus unterschiedlichen Gründen leider abgebrochen hatte, werde ich dieses Mal mit zwei Mitstreitern erneut versuchen, die magische Grenze zu durchbrechen. Wie? Steve Speirs hat im Juni 2008 ein Trainingsprogramm veröffentlicht, mit dessen Hilfe auch Ungeübte innerhalb von sechs Wochen in die Lage versetzt werden, 100 (in Worten: einhundert) Liegestütze [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich dieses Unterfangen im Spätsommer aus unterschiedlichen Gründen leider abgebrochen hatte, werde ich dieses Mal mit zwei Mitstreitern erneut versuchen, die magische Grenze zu durchbrechen. Wie? Steve Speirs hat im Juni 2008 ein <a href="http://hundredpushups.com/">Trainingsprogramm</a> veröffentlicht, mit dessen Hilfe auch <a href="https://www.xing.com/profile/Heiko_Behrens">Ungeübte</a> innerhalb von sechs Wochen in die Lage versetzt werden, 100 (in Worten: einhundert) <a href="http://de.wikipedia.org/wiki/Liegestütz">Liegestütze</a> am Stück durchzuführen.</p>
<p style="text-align: center;"><a href="http://hundredpushups.com"><img class="aligncenter size-full wp-image-267" title="onehundred" src="http://www.1160pm.net/wp-content/uploads/2009/03/onehundred.png" alt="" width="400" height="187" /></a></p>
<p>Die abgeschlossene <a href="http://www.volleyball-ktv.de/index.php?option=com_content&amp;task=blogcategory&amp;id=17&amp;Itemid=37">Hallen-Volleyball-Saison 2008/2009</a> sowie die berufsbedingte Einschränkung des Mannschaftstrainings berauben mich der wirkungsvollsten&#8230; Begründung eines weiteren Aufschiebens. Dazu gibt es mit der passenden <a href="http://www.retainrelease.com/HundredPushUps/hundredpushups_screenshots.html">iPhone-Anwendung</a> und der <a href="http://www.pushupslogger.com/">persönlichen Trainingswebseite</a> auch genug technisches Spielzeug, um die Motivation aufrecht zu erhalten. Ich werde über den Fortgang <a href="http://twitter.com/HBehrens">berichten</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=266&amp;md5=29aed37f3f7a14461a366419e27315a1" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/18/100-liegestuetze-in-6-wochen/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Xtext and oAW at Code Generation 2009</title>
		<link>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/</link>
		<comments>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 18:19:46 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[openArchitectureWare]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=240</guid>
		<description><![CDATA[The conference program of the Code Generation 2009 has just been released and there will be several sessions that directly or indirectly address Xtext and openArchitectureWare. Tutorial (75 minutes, Tuesday morning) Challenges in DSL Design Sven Efftinge, Sebastian Zarnekow Case study (75 minutes, Tuesday afternoon) Mastering differentiated MDSD requirements at Deutsche Boerse AG Heiko Behrens, Karsten [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.codegeneration.net/cg2009/programme.php">conference program of the Code Generation 2009</a> has just been released and there will be several sessions that directly or indirectly address <a href="http://www.xtext.org">Xtext</a> and <a href="http://www.openArchitectureWare.org">openArchitectureWare</a>.</p>
<ul>
<li><strong>Tutorial <small>(75 minutes, Tuesday morning)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=23">Challenges in DSL Design</a><br />
Sven Efftinge, Sebastian Zarnekow</li>
<li><strong>Case study <small>(75 minutes, Tuesday afternoon)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=64">Mastering differentiated MDSD requirements at Deutsche Boerse AG</a><br />
Heiko Behrens, Karsten Thoms</li>
<li><strong>Hands-On <small>(180 minutes, Thursday midday)</small></strong><br />
<a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=30">Xtext Workshop</a><br />
<del datetime="2009-06-17T23:16:37+00:00">Heiko Behrens</del> Jan Köhnlein, Moritz Eysholdt, Sebastian Zarnekow</li>
</ul>
<p><a href="http://www.codegeneration.net/cg2009"><img class="aligncenter size-full wp-image-245" title="CodeGeneration2009" src="http://www.1160pm.net/wp-content/uploads/2009/03/cg2009logo250x62.gif" alt="" width="250" height="62" /></a></p>
<p>Apart from those, there&#8217;s a <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=20">think tank</a> that might strive oAW, too. Interested in Microsoft&#8217;s and JetBrains&#8217; accompanists I am looking forward to the <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=6">&#8220;Introduction to the Microsoft Oslo Modeling Platform&#8221;</a> as well as <a href="http://www.codegeneration.net/cg2009/sessioninfo.php?session=9">&#8220;Language Definition, Extension and Composition with MPS&#8221;</a>.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=240&amp;md5=06b13948e4bbd6ca58177c9bd2d3743d" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/06/xtext-and-oaw-at-cg2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finanzkrise anschaulich erklärt</title>
		<link>http://HeikoBehrens.net/2009/03/04/finanzkrise-anschaulich-erklaert/</link>
		<comments>http://HeikoBehrens.net/2009/03/04/finanzkrise-anschaulich-erklaert/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 00:10:11 +0000</pubDate>
		<dc:creator>Heiko Behrens</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.1160pm.net/?p=222</guid>
		<description><![CDATA[Jonathan Jarvis zeigt als Teil seiner Abschlussarbeit in einem Animationsfilm, wie es zur anhaltenen Finanzkrise kam (gelesen bei baekdal). Mich fasziniert neben der ikonisierten Bildsprache vor allem die plastische Darstellung des im Studium so häufig erwähnten Leverage-Effekts. Inhaltlich etwas vollständiger aber weniger spektakulär, ein Aufklärungsvideo vom BMF. Während Jonathan nach einer kurzen Einführung und dem weiß [...]]]></description>
			<content:encoded><![CDATA[<p>Jonathan Jarvis zeigt als Teil seiner Abschlussarbeit in einem Animationsfilm, wie es zur anhaltenen Finanzkrise kam (gelesen bei <a href="http://www.baekdal.com/notes/personal/credit-crisis-financial/">baekdal</a>). Mich fasziniert neben der ikonisierten Bildsprache vor allem die plastische Darstellung des im Studium so häufig erwähnten <a href="http://de.wikipedia.org/wiki/Leverage-Effekt">Leverage-Effekts</a>.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="253" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=3261363&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="253" src="http://vimeo.com/moogaloop.swf?clip_id=3261363&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Inhaltlich etwas vollständiger aber weniger spektakulär, ein <a href="http://www.bundesfinanzministerium.de/nn_56828/DE/BMF__Startseite/Multimedia/Gebaerden/018__Finanzkrise.html">Aufklärungsvideo vom BMF</a>. Während Jonathan nach einer kurzen Einführung und dem weiß aufleuchtendem Wendepunkt ein (auch farblich) pessimistisches Ende skizziert, geht es bei der <a href="http://vimeo.com/simpleshow">simpleshow</a> schon etwas freundlicher zu: Wer in Deutschland lebt und besonnen handelt hätte nichts zu befürchten. Einfach das liebe Geld in <a href="http://de.wikipedia.org/wiki/Staatsanleihe">Staatsanleihen</a> investieren und abwarten.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="450" height="340" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=2141108&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="450" height="340" src="http://vimeo.com/moogaloop.swf?clip_id=2141108&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Leider erwecken die beiden Kurzfilme den Eindruck, dass die Finanzkrise nur Immobilienbesitzer oder Menschen mit größeren Spareinlagen betrifft. Die <a href="http://www.tagesschau.de/wirtschaft/dossierfinanzmarktkrise2.html">Übersicht der Tagesschau</a> klärt in dieser Hinsicht auf. Für den besorgten Arbeitnehmer <a href="http://www.focus.de/karriere/perspektiven/zukunft/tid-12401/arbeitnehmer-so-ueberstehen-sie-die-finanzkrise_aid_345128.html">fasst der Focus allgemeine Ratschläge zusammen</a>. Mein persönlicher Favorit gleich zu Beginn der Liste:</p>
<blockquote><p>Halten Sie sich zurück mit apokalyptischen Prognosen. Das Unternehmen will und braucht Optimisten.</p></blockquote>
<p>Klaro! Wikipedia bietet für den interessierten Leser mit dem Artikel &#8220;<a href="http://de.wikipedia.org/wiki/Finanzkrise_ab_2007">Finanzkrise ab 2007</a>&#8221; dazu einen guten Startpunkt für weitere Recherchen. Bleibt zu hoffen, dass dieser Titel bald um eine weitere Jahreszahl zur Eingrenzung des Zeitraums ergänzt wird.</p>
<div id="vgwpixel"></div> <p><a href="http://HeikoBehrens.net/?flattrss_redirect&amp;id=222&amp;md5=822b7ed7007d3efb42ced7852cf0c77b" title="Flattr" target="_blank"><img src="http://HeikoBehrens.net/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://HeikoBehrens.net/2009/03/04/finanzkrise-anschaulich-erklaert/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

