<?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>Peter Friese &#187; USA</title>
	<atom:link href="http://www.peterfriese.de/category/usa/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.peterfriese.de</link>
	<description>mobile / model-driven</description>
	<lastBuildDate>Mon, 14 Nov 2011 16:14:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<item>
		<title>iPhones on Mars</title>
		<link>http://www.peterfriese.de/iphones-on-mars/</link>
		<comments>http://www.peterfriese.de/iphones-on-mars/#comments</comments>
		<pubDate>Wed, 31 Mar 2010 10:42:06 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=413</guid>
		<description><![CDATA[EclipseCon 2010 is over and as always has been a great chance to meet up with fellow committers and users of the software we build. Xtext has received a tremendous amount of attention: not only did we deliver several talks and tutorials on Xtext, but also did Xtext get mentioned in a number of talks [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.eclipsecon.org/2010/">EclipseCon 2010</a> is over and as always has been a great chance to meet up with fellow committers and users of the software we build. <a href="http://www.xtext.org">Xtext</a> has received a tremendous amount of attention: not only did we deliver several talks and tutorials on Xtext, but also did Xtext get mentioned in a number of talks we were not involved in. Xtext even received the <a href="http://www.eclipse.org/org/press-release/20100322_awardswinners.php">Eclipse Community Award</a> in the category "Most Innovative New Feature of Eclipse Project".<br />
<span id="more-413"></span><br />
I presented on Xpand, the template engine we use in Xtext. Of course - as I've demonstrated in my 12 minutes lightning talk - it can be used to generate anything that can be expressed with text, so you can use it in your project, too! I uploaded my slides to Slideshare, <a href="http://www.slideshare.net/peterfriese/xpand-eclipsecon-2010">feel free to browse them</a>.</p>
<p>Right after my talk, <a href="http://www.heikobehrens.net">Heiko</a> showed how Xtext and Xpand can be used to generate native iPhone applications - something that he and I are currently working on as a part of our day-to-day job at <a href="http://www.itemis.com">itemis</a>. Heiko's slides <a href="http://www.slideshare.net/HeikoB/mdsd-on-iphone-eclipsecon-2010">also are available on Slideshare</a>. </p>
<p>Something which - originally - wasn't related to code generation or iPhones at all was the <a href="http://www.eclipse.org/community/e4RoverMars/challenge.php">e4 Mars Rover Challenge</a>. In this challenge, the goal was to control a Mars rover (built with <a href="http://mindstorms.lego.com">LEGO Mindstorms</a>) in a Mars-like environment by using an Eclipse e4 based client and a set of server components hosted on <a href="http://aws.amazon.com/ec2/">Amazon EC2</a>. In order to win, you either needed to score the highest score or improve the Eclipse e4 client. It was left to the developer's fantasy how to improve the client. In order to score the most points, you needed to drive the rover to certain places in the Mars arena and present one of two "tools" highlighted on the rover - see the <a href="http://www.eclipse.org/community/e4RoverMars/howtoplay.php">rules of the challenge</a>.</p>
<p>On the first day, I played some rounds with the basic e4 client (you needed to install it on your local machine) and scored quite OK. In the evening, after I dropped off my laptop in my room, it occurred to me that without my computer, I wouldn't be able to take the challenge that evening. "Wouldn't it be awesome to use my iPhone to control the Mars Rover", I thought? Compared to a laptop, an iPhone is a very small device so you can take it with you where ever you go. Also, as the Mars Rover Challenge was setup to be a completely distributed system, with the command server being hosted "in the cloud", delivering an image of the Mars arena to the clients, I should be able to connect to the rover from anywhere on the world (as long as I have access to the internet).</p>
<p>When I mentioned my thinking to <a href="http://www.twitter.com/HBehrens">Heiko</a>, he was equally thrilled as I was and we immediately set out to take the new challenge of writing an iPhone client for the Mars Rover.</p>
<p>We discussed quite a few interaction patterns we wanted to try out:</p>
<ol>
<li>Using buttons (much like the cursor pad on a keyboard) to "joystick" the rover</li>
<li>Using a touch interface to control the rover: use pinching to rotate the rover and pointing to make it move in a certain direction</li>
<li>Using the accelerometer to be able to control the Rover by tilting the iPhone</li>
</ol>
<p>Heiko took on the job of evaluating the human interaction interface, whereas I was busy implementing the interface between the iPhone app and the command server backend. The command server of the Mars Rover is implemented as a RESTful webservice, so I could use plain HTTP calls to send commands to the server and to retrieve telemetry and imagery data. At first, I used blocking calls and later replaced them with asynchronous calls - sometingh which I'll liekly blog about the next days, so stay tuned. In order to test my code, I implemented a very simple button-based UI. With this UI, I was able to score 2702 points - not too bad!</p>
<div style="text-align:center;"><a class="lightbox" href="http://farm3.static.flickr.com/2700/4478823448_963fe43271.jpg" title="iPhone Mars Rover Basic"><img border="0" alt="iPhone Mars Rover Basic" src="http://farm3.static.flickr.com/2700/4478823448_963fe43271_m.jpg" /></a></div>
<p>After just two nights of development time (we wanted to attend the sessions and also had to man the itemis booth), we finally had a slick iPhone app that was able to control the Mars Rover by using the accelerometer. In the nght just before we had to hand in our submission, we shot a video of us driving the Rover. You can watch this video on the <a href="http:/www.iphonemarsrover.com">iPhone Mars Rover website</a>.</p>
<p>Here is a little diagram outlining the controls of the application:</p>
<div style="text-align:center;"><a class="lightbox" href="http://farm5.static.flickr.com/4060/4473119658_105d444c56.jpg" title="iPhone Mars Rover"><img border="0" alt="iPhone Mars Rover" src="http://farm5.static.flickr.com/4060/4473119658_105d444c56_m.jpg"/></a></div>
<p>We knew right from the start that we wouldn't be able to match the competition criteria (the contest rules clearly state that the client has to be Eclipse e4-based in order to qualify). However, we still were eager to work on this project, as it fit very well with our current obsession with all things iPhones.</p>
<p>While it certainly is a fun idea to use an iPhone app to control a LEGO Mindstorms robot, we would not recommend using this approach for controlling real robots - especially if they're some 55 million km away on Mars! Signal latency from Mars to Earth is said to be around 15 to 20 minutes, which suggests to use a move-oriented approach to drive the rover.</p>
<p>Nevertheless it has been an exciting and fun project for Heiko and me. By the way, we're not only developing iPhone apps for fun, but also for profit: we're spearheading the <a href="http://www.itemis.com/itemis-ag/portfolio/language=en/29470/business-applications-for-mobile-devices">brand-new mobile development division of itemis</a>, so I'm pretty sure we will blog about mobile technology soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/iphones-on-mars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Everything You Always Wanted To Know About Modeling (But Were Afraid To Ask)</title>
		<link>http://www.peterfriese.de/everything-you-always-wanted-to-know-about-modeling-but-were-afraid-to-ask/</link>
		<comments>http://www.peterfriese.de/everything-you-always-wanted-to-know-about-modeling-but-were-afraid-to-ask/#comments</comments>
		<pubDate>Tue, 13 Oct 2009 20:18:52 +0000</pubDate>
		<dc:creator>Peter Friese</dc:creator>
				<category><![CDATA[Canada]]></category>
		<category><![CDATA[DSLs]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[EMF]]></category>
		<category><![CDATA[MDSD]]></category>
		<category><![CDATA[USA]]></category>

		<guid isPermaLink="false">http://www.peterfriese.de/?p=333</guid>
		<description><![CDATA[Does Model Driven Software Development actually work? Are some developers more productive than others? What happens during code generation? Do diagrams and text go together well? What happens during model transformation? What are DSLs? And can I create them with Eclipse? Does modeling scale in the enterprise? You guessed it, these are not the questions [...]]]></description>
			<content:encoded><![CDATA[<ol>
<li>Does Model Driven Software Development actually work?</li>
<li>Are some developers more productive than others?</li>
<li>What happens during code generation?</li>
<li>Do diagrams and text go together well?</li>
<li>What happens during model transformation?</li>
<li>What are DSLs? And can I create them with Eclipse?</li>
<li>Does modeling scale in the enterprise?</li>
</ol>
<p>You guessed it, these are not the questions from a <a href="http://en.wikipedia.org/wiki/Everything_You_Always_Wanted_to_Know_About_Sex*_(*But_Were_Afraid_to_Ask)">well-know Woody Allen movie</a>, but questions that will be answered at the <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">Eclipse Modeling Days</a> which will be held in <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day#New_York_City">New York</a> and <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day#Toronto">Toronto</a> in November.<br />
<span id="more-333"></span><br />
So if you are wondering why everybody in Europe is so thrilled about Modeling, attend to one of these events - you'll get the answers there. </p>
<p>For your convenience, here is a list of some of the talks:</p>
<ul>
<li>Case Study: Model Transformations - Richard Woods, Credit Suisse</li>
<li>Building DSLs with Xtext - Heiko Behrens, itemis</li>
<li>Modeling on an enterprise scale - Eike Stepper, Eclipse Modeling Project</li>
<li>Query, Transaction and Validation - Bernd Kolb & Boris Gruschko, both SAP</li>
<li>Agent-Based Computer Simulation for Operational Risk Analysis - Ed MacKerrow, Los Alamos Labs</li>
<li>Papyrus: Advent of an Open Source IME - Kenn Hussey, Zeligsoft</li>
<li>B3: A Model for Unbreakable Builds</li>
<li>There's a Modeling Solution for That - Bruce Trask, MDE Systems & Angel Roman, MDE Systems</li>
</ul>
<p>If you ask me, this is a pretty decent line-up, both content-wise and people-wise. Not being one of the big conferences, the Modeling Days will actually give you the chance to talk to the experts and other end-users. Remember, networking is key.</p>
<p>So go ahead and register by adding your name to <a href="http://wiki.eclipse.org/Eclipse_Modeling_Day">this wiki page</a>. Registration is free, but you need to register in order to help the organizers to plan the catering. If you don't have an account for editing the wiki page or don't want to create one, just send mail to <a href="mailto:eclipse_modeling_nyc@eclipse.org">eclipse_modeling_nyc@eclipse.org</a> or <a href="mailto:eclipse_modeling_toronto@eclipse.org">eclipse_modeling_toronto@eclipse.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.peterfriese.de/everything-you-always-wanted-to-know-about-modeling-but-were-afraid-to-ask/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

