<?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) &#187; iPhone</title>
	<atom:link href="http://HeikoBehrens.net/category/iphone/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>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>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>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>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>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>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>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>165</slash:comments>
		</item>
	</channel>
</rss>

