<?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>Novoda &#187; Blog</title>
	<atom:link href="http://novoda.com/category/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://novoda.com</link>
	<description>Android mobile development and consultancy</description>
	<lastBuildDate>Wed, 03 Mar 2010 12:09:25 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Live Wallpapers part 1 &#8211; Animated Live Wallpaper</title>
		<link>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/</link>
		<comments>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/#comments</comments>
		<pubDate>Wed, 03 Mar 2010 12:09:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Themes]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[livewallpaper]]></category>
		<category><![CDATA[nexusone]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wallpaper]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=364</guid>
		<description><![CDATA[Live wallpapers serve up an impressive introduction to Nexus Ones. Introduced in Android 2.1, these dashboard backgrounds have the advantage of being able to interact with a device programatically.  To celebrate receiving our Nexus Ones at a Londroid / Google Android developer lab have excitedly created some quick LiveWallpapers demos we&#8217;d like to share.
Animated LiveWallpaper
Live [...]]]></description>
			<content:encoded><![CDATA[<p>Live wallpapers serve up an impressive introduction to Nexus Ones. Introduced in Android 2.1, these dashboard backgrounds have the advantage of being able to interact with a device programatically.  To celebrate receiving our Nexus Ones at a Londroid / Google Android developer lab have excitedly created some quick LiveWallpapers demos we&#8217;d like to share.</p>
<h2>Animated LiveWallpaper</h2>
<p>Live Wallpapers offer unique screen real estate over widgets and a chance to show off some dashboard visuals. Childhood memories have instilled a message of freedom into the image of a Testerrossa speeding down an open road with a pretty girl ala &#8220;Ferris Buellers day off&#8221; and Sega&#8217;s classic &#8220;Outrun&#8221;. So What better to express the open platform than an OutRun inspired Live Wallpaper?</p>
<p>A sexy implementation using the openly available <a href="http://github.com/novoda/android/tree/master/Livewallpaper">github source code</a>:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" 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://www.youtube.com/v/ZjzAqJL-gNc&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/ZjzAqJL-gNc&amp;hl=en_US&amp;fs=1&amp;" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://andappstore.com/AndroidApplications/apps/OutRun_LiveWallpaper">Download the outrun livewallpaper for the Nexus One</a><br />
Scenery changes every time the phone is sleeping as you can see <a title="outrunlivewallpaper-day" href="http://qik.com/video/5226711">here</a>, <a title="outrunlivewallpaper-sunset" href="http://qik.com/video/5226632">here</a> and <a title="outrunlivewallpaper-night" href="http://qik.com/video/5226436">here</a>, in awful quality.</p>
<p>Admittedly my graphics aren&#8217;t quite as inspiring.</p>
<p><a href="http://novoda.com/wp-content/uploads/2010/02/demo_graphics.png"><img class="aligncenter size-full wp-image-368" title="demo_graphics" src="http://novoda.com/wp-content/uploads/2010/02/demo_graphics.png" alt="Demo graphics" width="589" height="292" /></a></p>
<p><a href="http://cloud.github.com/downloads/novoda/android/nexus_livewallpaper_anim.apk">Download Demo apk compiled for a Nexus One</a></p>
<h3>Animated LiveWallpaper Notes</h3>
<p>Src code for Demos projects on Github:<br />
<a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_leftright/">Switch Image on left/right</a><br />
<a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_animation/">Switch Animation on left/right</a></p>
<p>A Live Wallpaper consists of an &#8216;Engine&#8217; and a &#8216;Service&#8217;. The engine specifies how your wallpaper is rendered while it&#8217;s service creates instances for the home screen. A wallpaper service differs from a normal service in addition of  OnEngineCreate(). This has been the first time I&#8217;ve used the canvas extensively and I learned you first must lock the canvas and choose which region you wish to redraw. onVisibilityChanged() or onSurfaceChanged() will read much like the instructions of how to draw your canvas from empty. Onvisibility() will first change to true in rendering your wallpaper  preview and this will return false when your wallpaper falls out of view and you transition to your dashboard. This is a handy function as every time your wallpaper falls out of view you can stop everything you are doing and free up the associated resources.</p>
<p>To update the drawn canvas state you need to tell the UI to refresh via a handler. In my case I needed to request an indexed image from within an collection upon each draw, Each time the handler returns back I update my drawn bitmap with a frame from the animation. It should be noted here that you should only be keeping the image Resource IDs in memory rather than the actual binary contents of the images. I was at first doing this, following a demo I downloaded but I soon ran into this error at runtime:</p>
<pre class="sh_java">ERROR/AndroidRuntime(1067):
Uncaught handler: thread main exiting due to uncaught exception
java.lang.OutOfMemoryError: bitmap size exceeds VM budget</pre>
<p>This is because all of the png images although starting out quite small, when transformed to bitmaps upon interpreation they become a lot larger and quickly fill up the allotted memory allocation. Instead I just kept an array of resIds using res.getIdentifier(). This seems pretty good in the performance stakes.</p>
<p>I chose to play an animation for left and right steering when a user flicks between panels. I kept track of this via the onTouchEvent()&#8217;s <a href="http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_DOWN">ACTION_DOWN</a> and then checking which side of the screen their<a href="http://developer.android.com/reference/android/view/MotionEvent.html#ACTION_UP"> ACTION_UP</a> was upon. The reason I added a timer in there was to add a little delay for the animation so you can appreciate the perfect driving line of the Testerossa.An area that I would like to return to is recognising when the user&#8217;s finger has dragged the screen a certain distance. My original approach to recognising significant drag was to monitor the start and end points and see if they lay at different sides of the screen, I have since learned measuring the distance within onOffSetsChanged would probably be a more reliable approach.</p>
<p>The last thing of note with Live Wallpapers is that they have a convenience listener for dropping icons and tapping on the dashboard screen via sendWallpaperCommand() and then acting on the input via onCommand(), these could also be very useful and are used to good effect in the demos with water droplets and colours.</p>
<p>At the moment it seems like the wallpaper is a bit of a memory hog and I&#8217;d like to find out why. Any suggestions are appreciated.<br />
We think that the problem is in the BitmapFactory.decodeResources() function recreating the Bitmap every time. In order to get around this I think the best way would be to create a &#8217;spriteSheet&#8217; then move around the area of this big sheet masking it to only the area I need like one of those revolving wheels that show the horse running. Live and learn, I always wondered why people used sprite sheets in games programming I guess this must be one of the reasons.</p>
<p>As a side note, if anyone has any information on how The Nexus One splash screen is able to read in it&#8217;s splash screen consisting of 97pngs (/system/media/bootanimation.zip)  I&#8217;d love to hear how they achieved this. When developing ideas for your Live Wallpapers consider trying to include the interaction of forces particular to the context of a mobile device such as time, movement and position.</p>
<blockquote><p>Android SDK at time of writing was: <strong>android-sdk-mac_x86-2.1 ( SDK version 7 )</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://code.google.com/p/android-apps-by-minghai/">Really cute anime live wallpaper on google code</a></cite></li>
<li><cite><a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_leftright/">Github: Demo of switching left and right</a></cite></li>
<li><cite><a href="http://github.com/novoda/android/tree/master/Livewallpaper/switch_animation/">Github: Demo of switching Animation on left/right</a></cite></li>
<li><cite><a href="http://cloud.github.com/downloads/novoda/android/nexus_livewallpaper_anim.apk">Live Wallpaper anim demo APK for Nexus One</a></cite></li>
</ul>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_java.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;bodytext=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;notes=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;title=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper&amp;annotation=Live%20wallpapers%20serve%20up%20an%20impressive%20introduction%20to%20Nexus%20Ones.%20Introduced%20in%20Android%202.1%2C%20these%20dashboard%20backgrounds%20have%20the%20advantage%20of%20being%20able%20to%20interact%20with%20a%20device%20programatically.%C2%A0%20To%20celebrate%20receiving%20our%20Nexus%20Ones%20at%20a%20Londroi" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;t=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;t=Live%20Wallpapers%20part%201%20-%20Animated%20Live%20Wallpaper" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F03%2F03%2Flive-wallpapers-part-1-animated-live-wallpaper%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/03/03/live-wallpapers-part-1-animated-live-wallpaper/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile World Congress Schedule 2010</title>
		<link>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/</link>
		<comments>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 18:13:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mobile world congress]]></category>
		<category><![CDATA[mwc]]></category>
		<category><![CDATA[wip]]></category>

		<guid isPermaLink="false">http://novoda.com/?p=316</guid>
		<description><![CDATA[
Annual since 1987, Mobile world congress is the world&#8217;s largest exhibition for the mobile industry and with 47,000 in attendance last year, it&#8217;s safe to say that it&#8217;s worth mobile companies showing face. Since there is so much happening that week it makes sense to plan well ahead of schedule. Everyone has been sharing lists [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://novoda.com/wp-content/uploads/2010/02/mwc_logo.jpg"><img class="aligncenter size-full wp-image-317" title="mwc_logo" src="http://novoda.com/wp-content/uploads/2010/02/mwc_logo.jpg" alt="" width="430" height="307" /></a></p>
<p>Annual since 1987, Mobile world congress is the world&#8217;s largest exhibition for the mobile industry and with 47,000 in attendance last year, it&#8217;s safe to say that it&#8217;s worth mobile companies showing face. Since there is so much happening that week it makes sense to plan well ahead of schedule. Everyone has been sharing lists of events and excited talk but no maps. So I thought it might be worth me throwing in my plans in the hope that someone may benefit from my timings, maps and event lists. These timings are in no way guaranteed as a good judge of how you should spend your time but could help make sure you&#8217;ve not missed anything really beneficial. Most of my time is going to be spent in App planet but I really want to try and get around as many exhibition stands as I can in my rare few minutes in between. Feel free to say hello to me if you are in attendance. You can catch me on MotoDev&#8217;s panel of Android developers on Monday at 11:30am Hall 7.</p>
<p><a href="http://wipjam.com/">WIP</a> have very kindly developed an <a href="http://r20.rs6.net/tn.jsp?et=1103002598593&#038;s=11158&#038;e=001s_GrA-xMGSFFVEzIQrGun9OLcg0zdEB7tng3VxhuubxwSdKiVTn-D2cJIZGZ0-htpL90F1sGtXtmiXd2lxluJc6zN8j1cCmfmqJz-op21w8u492pWKtmdqkV-GxQEwDPgNtXTdJm70xKFFSyhNJlnXrsL6vYC830W58tbMYUKz3Fm2m7Ad3zElbXKGqc-O12jU8e2gltFM0=">MWC attendance survival guide</a> which I very much recommend if not just for the Exhibition floor plan.</p>
<p><strong>Mobile World Congress 2010 address</strong><br />
Event Details &#8211; <a href="http://www.mobileworldcongress.com">http://www.mobileworldcongress.com</a><br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=q&amp;source=s_q&amp;hl=en&amp;geocode=&amp;q=Fira+de+Barcelona+Montju%C3%AFc&amp;sll=37.767004,-122.414366&amp;sspn=0.018557,0.038581&amp;ie=UTF8&amp;hq=Fira+de+Barcelona+Montju%C3%AFc&amp;hnear=&amp;radius=15000&amp;ll=41.383056,2.154608&amp;spn=0.017615,0.038581&amp;t=h&amp;z=14&amp;iwloc=A&amp;cid=17974055343114840695&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=q&amp;source=embed&amp;hl=en&amp;geocode=&amp;q=Fira+de+Barcelona+Montju%C3%AFc&amp;sll=37.767004,-122.414366&amp;sspn=0.018557,0.038581&amp;ie=UTF8&amp;hq=Fira+de+Barcelona+Montju%C3%AFc&amp;hnear=&amp;radius=15000&amp;ll=41.383056,2.154608&amp;spn=0.017615,0.038581&amp;t=h&amp;z=14&amp;iwloc=A&amp;cid=17974055343114840695" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Sim Cards</h2>
<p>To obtain a prepaid Spanish sim with 3G Internet I&#8217;ve been recommended Yoigo. You need photo ID and the address of your hotel to sign up. Remember to get itit on any day other than Sunday and shops close around 2pm to 4pm:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+V%C3%ADa+Corts+Catalanes+407-409,+08015+Barcelona,+Spain+(Opencor)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFb1ddwIdCNUgACHBugntSB49OimDXuVefKKkEjHETAWPXEdAUw&amp;mra=ls&amp;dirflg=w&amp;sll=41.386804,2.133528&amp;sspn=0.035224,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.3752,2.150555&amp;spn=0.004,0.00229&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+V%C3%ADa+Corts+Catalanes+407-409,+08015+Barcelona,+Spain+(Opencor)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFb1ddwIdCNUgACHBugntSB49OimDXuVefKKkEjHETAWPXEdAUw&amp;mra=ls&amp;dirflg=w&amp;sll=41.386804,2.133528&amp;sspn=0.035224,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.3752,2.150555&amp;spn=0.004,0.00229" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Monday</h2>
<p>09:00 – MotoDev &#8211; Breakfast at Motodev in AppPlanet &#8211; Hall 7<br />
11:30 – MotoDev &#8211; Android Developer Panel &#8211; Hall 7<br />
11:30 &#8211; MotoDev &#8211; Maximise your Android Market Opportunity &#8211; App Planet &#8211; Hall 7<br />
12:15 – MotoDev &#8211; Lunch with the experts &#8211; App Planet &#8211; Hall 7<br />
14:00 – Mobile premier awards &#8211; Palau De La Música 4 08003 Barcelona, Spain 932 957 200<br />
21:00> – Mobile premier awards dinner &#8211; Bel-Luna Jazz Club &amp; Restaurant</p>
<h3>MotoDev</h3>
<p><a href="http://community.developer.motorola.com/t5/MOTODEV-Blog/MOTODEV-will-be-at-App-Planet-Mobile-World-Congress-mdap10-mwc10/ba-p/4134">More MotoDev event details&#8230;</a><br />
Not much has been mentioned in the Android pres about the motodev sessions but I for one am interested in the opinions of anyone developing plugins for my IDE. They have a bunch of sessions planned at MWC a few of which I&#8217;ll be attending.</p>
<h3>Mobile Premier awards</h3>
<p><a href="http://www.mobilepremierawards.com/">View event details</a><br />
To get to the mobile premier awards take the Espanya tube to Urquinaona then walk straight down the road: Carrer de les Jon que res<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.39353,2.138849&amp;sspn=0.070441,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.381,2.16214&amp;spn=0.0156,0.02546&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.39353,2.138849&amp;sspn=0.070441,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.381,2.16214&amp;spn=0.0156,0.02546" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h3>Mobile premier awards dinner</h3>
<p><a href="http://www.amiando.com/mpadinner.html">RSVP for the dinner here</a><br />
A swanky affair after the award ceremony which promises to be both an interesting and beautiful meal.<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;daddr=Rambla+Catalunya+5,+08007+Barcelona,+Spain+(Bel+Luna)&amp;hl=en&amp;geocode=FQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg%3BFYyGdwIdKRUhACFPKF1YEDrj5inlPc6x86KkEjHhsXVDxoWf3w&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.442158,2.091765&amp;sspn=0.460165,1.056747&amp;ie=UTF8&amp;t=h&amp;ll=41.388038,2.171495&amp;spn=0.002817,0.00456&amp;z=17&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Palau+De+La+M%C3%BAsica+4+08003+Barcelona,+Spain+932+957+200&amp;daddr=Rambla+Catalunya+5,+08007+Barcelona,+Spain+(Bel+Luna)&amp;hl=en&amp;geocode=FQ6GdwIdmi8hACklHTNx-qKkEjEYHbAi5BrBGg%3BFYyGdwIdKRUhACFPKF1YEDrj5inlPc6x86KkEjHhsXVDxoWf3w&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.442158,2.091765&amp;sspn=0.460165,1.056747&amp;ie=UTF8&amp;t=h&amp;ll=41.388038,2.171495&amp;spn=0.002817,0.00456&amp;z=17" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Tuesday</h2>
<p>08:30 &#8211; Opportunities with on-device payments and preloaded content &#8211; Tanla MWC Seminar<br />
08:00 &#8211; UKTI &#8211; Challenges in Japan &#8211; Location Sala D<br />
11:30 &#8211; UKTI &#8211; Turkish / UK Partnering Event &#8211; UKTI stand?<br />
17:00 &#8211; Scottish Development International &#8211; Whisky Reception &#8211; Stand, 1E66<br />
18:00 – GoMo &#8211; Incognito BAR, calle Fusina 6, 08003 Barcelona, Spain<br />
18:00 –	Androiders Dinner at MWC</p>
<p>The Tuesday looks like it will be quite businessy  until the evening where a bunch of Androiders will be getting together informally to chat and get dinner. So there is no official page or anything like that, just turn up or message someone who you know will be there(I&#8217;m @kevinmcdonagh) and we&#8217;ll be glad to have you in acquaintance.  The plan is to prey on the hospitality of GoMo and turn up for their free bar and food. This plan should work win/win since a bunch of Android experts will be going to meet with mobile businessy people.</p>
<p><strong>GoMo</strong><br />
Event details &#8211; <a href="http://www.facebook.com/#!/event.php?eid=180379714149&#038;ref=ts">http://www.facebook.com/#!/event.php?eid=180379714149&#038;ref=ts</a><br />
 Here are some directions to get from Mobile World Congress to the GoMo event. I&#8217;ll be taking the Espanya Tube to Jamuel:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina,+08004+Barcelona,+Spain&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.380115,2.16648&amp;sspn=0.035228,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina,+08004+Barcelona,+Spain&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.380115,2.16648&amp;sspn=0.035228,0.077162&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Wednesday</h2>
<p>08:30 -	UKTI &#8211; UK / US Panel discussion &#8211; UKTI?<br />
09:00 -	Android dev lab (Games Dev) &#8211; Hall7 App world, MWC<br />
12:30 -	Sony Ericsson talk &#8211; App world Hall 7<br />
14:00 -	Tech crunch Mobile 2010<br />
18:00&gt; -	Android cocktails &#8211; B Hotel in Gran Vía 389-391, Barcelona (next to MWC congress grounds)<br />
18:30&gt; -	Swedish beers &#8211; Dostrece, carme 40, 08001, barcelona, Spain , 933017306<br />
19:00&gt; -	Carnival of nations party &#8211; 7 Sins Bar, Muntaner 7, Barcelona, Spain</p>
<p>There is so much happening on the Wednesday sacrifices will have to be made. I&#8217;m really excited to get close to the participants of the Android developer session and get some basic questions out the way from the best in class. I do not currently plan to attend the Tech crunch event as I will instead be using the time to take part in Sony Ericsson&#8217;s training sessions. I&#8217;m also really looking forward to meeting the Barcelona user group at the Android Cocktails, I&#8217;ll have to split my time between this and  Swedish beers which will inevitably be more businessy but essential.</p>
<p><strong>Android Cocktails</strong><br />
<strong>Event details</strong> &#8211; <a href="http://eventuo.com/event/HN9foG5u6NI">http://eventuo.com/event/HN9foG5u6NI</a><br />
An informal get together with the Barcelona Androids located beside MWC  in the Nuñez i Navarro B Hotel<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+Via+de+les+Corts+Catalanes+389-391+08015+Barcelona,+Spain&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3B&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.367826,2.141579&amp;sspn=0.070469,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.374845,2.149895&amp;spn=0.00329,0.00097&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avinguda+de+la+Reina+Maria+Cristina+08004+Barcelona,+Spain&amp;daddr=Gran+Via+de+les+Corts+Catalanes+389-391+08015+Barcelona,+Spain&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3B&amp;hl=en&amp;mra=ls&amp;dirflg=w&amp;sll=41.367826,2.141579&amp;sspn=0.070469,0.154324&amp;ie=UTF8&amp;t=h&amp;ll=41.374845,2.149895&amp;spn=0.00329,0.00097" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p><strong>Swedish Beers</strong><br />
<strong>Event Details</strong> &#8211; <a href="http://swedishbeers.blogspot.com/">http://swedishbeers.blogspot.com/</a><br />
A small scale yet still international event for businesses interested in mobile.<br />
To Swedish Beers from the Android Cocktails event take the Espanya metro to Liceu:<br />
<iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Avda.+Reina+Maria+Cristina+s%2Fn+08004+Barcelona&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.453574,2.14727&amp;sspn=0.230042,0.528374&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Avda.+Reina+Maria+Cristina+s%2Fn+08004+Barcelona&amp;daddr=calle+Fusina+6,+08003+Barcelona,+Spain+(Incognito+Cocktail+Bar)&amp;hl=en&amp;geocode=FQ5OdwId788gAClJE9AweqKkEjGR0mtRgMU8uA%3BFZiCdwIdiVEhACFCoqx_-kWP7ymhZUPt_aKkEjEnu4ZVpFZJ3w&amp;mra=ls&amp;dirflg=w&amp;sll=41.453574,2.14727&amp;sspn=0.230042,0.528374&amp;ie=UTF8&amp;t=h&amp;ll=41.380115,2.16648&amp;spn=0.01383,0.03414" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<p><strong>WIP Carnival of Nations party</strong><br />
<strong>Event Details</strong> &#8211; <a href="http://wipjam.com/party-carnival-of-nations/">http://wipjam.com/party-carnival-of-nations/</a><br />
In the unlikely event that I&#8217;ll have time to get to the Carnival of Nations event it is only 10mins walking distance away: Walking round the corner 10min away:</p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.co.uk/maps?f=d&amp;source=s_d&amp;saddr=Carrer+del+Carme,+40,+08001+Barcelona,+Spain+(Dostrece+Restaurant)&amp;daddr=Carrer+de+Muntaner+7,+08011+Barcelona,+Spain+(7Sins+Lounge+%26amp%3B+Music+Bar)&amp;hl=en&amp;geocode=FUBwdwIdLxshACkVVo0K9qKkEjEiJ3yv-6DgiA%3BFfR3dwIddAAhACHAqk3Mzdk4OCnZBgoPi6KkEjGbvRgJkJBVMQ&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.393323,2.154708&amp;sspn=0.057564,0.132093&amp;ie=UTF8&amp;t=h&amp;ll=41.382456,2.166688&amp;spn=0.003598,0.008256&amp;output=embed"></iframe><br /><small><a href="http://maps.google.co.uk/maps?f=d&amp;source=embed&amp;saddr=Carrer+del+Carme,+40,+08001+Barcelona,+Spain+(Dostrece+Restaurant)&amp;daddr=Carrer+de+Muntaner+7,+08011+Barcelona,+Spain+(7Sins+Lounge+%26amp%3B+Music+Bar)&amp;hl=en&amp;geocode=FUBwdwIdLxshACkVVo0K9qKkEjEiJ3yv-6DgiA%3BFfR3dwIddAAhACHAqk3Mzdk4OCnZBgoPi6KkEjGbvRgJkJBVMQ&amp;mra=pe&amp;mrcr=0&amp;dirflg=w&amp;sll=41.393323,2.154708&amp;sspn=0.057564,0.132093&amp;ie=UTF8&amp;t=h&amp;ll=41.382456,2.166688&amp;spn=0.003598,0.008256" style="color:#0000FF;text-align:left">View Larger Map</a></small></p>
<h2>Thursday</h2>
<p>08:00 -	GetJar Demo &#8211; App Planet Auditorium, Hall 7, FIRA, Barcelona, Spain<br />
9ish - 	WIP Jam &#8211; App Planet Auditorium, Hall 7, FIRA, Barcelona, Spain<br />
11:45 – Join people Luncheoning form WIP &#8211; Hall 7<br />
15:30 &#8211; More	WIP Networking type interaction &#8211; Hall 7<br />
18:00&gt; <a href="http://www.meetup.com/android">Londroid &#8211; London Android Meetup</a></p>
<p>I&#8217;m obviously going to give the London Android Meeting a miss this time and instead I&#8217;ll be trying to make new WIP friends. Thankfully I can spend the whole day in the same place so no need for running to different locations.</p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Mobile%20World%20Congress%20Schedule%202010&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;bodytext=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;notes=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Mobile%20World%20Congress%20Schedule%202010%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;title=Mobile%20World%20Congress%20Schedule%202010&amp;annotation=%0D%0A%0D%0AAnnual%20since%201987%2C%20Mobile%20world%20congress%20is%20the%20world%27s%20largest%20exhibition%20for%20the%20mobile%20industry%20and%20with%2047%2C000%20in%20attendance%20last%20year%2C%20it%27s%20safe%20to%20say%20that%20it%27s%20worth%20mobile%20companies%20showing%20face.%20Since%20there%20is%20so%20much%20happening%20that%20week" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;t=Mobile%20World%20Congress%20Schedule%202010" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;t=Mobile%20World%20Congress%20Schedule%202010" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F02%2F08%2Fmobile-world-congress-schedule-2010%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/02/08/mobile-world-congress-schedule-2010/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Key Dates and projects beginning 2010</title>
		<link>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/</link>
		<comments>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 14:46:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[londroid]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=160</guid>
		<description><![CDATA[2010 promises to be an interesting year for Android. Starting off on the right foot I'd like to share some key dates and projects of general interest with everyone.
If there are any other events on the horizon we'd love to know about them so please get in touch and share.]]></description>
			<content:encoded><![CDATA[<p>2010 promises to be an interesting year for Android. Starting off on the right foot I&#8217;d like to share some key dates and projects of general interest with everyone.<br />
If there are any other events on the horizon we&#8217;d love to know about them so please get in touch and share.</p>
<h3>Community Calendar</h3>
<p>The closest thing a a community calendar in the Android world is the one started by a bunch of blogger sites including <a title="Android guys" href="http://androidguys.com">androidguys</a> and <a title="ANdroid and me" href="http://anddroidandme.com">anddroidandme</a><br />
To subscribe to the community maintained Android global events calendar see here:<br />
<a title="The Android global events calendar" href="http://www.google.com/calendar/embed?src=g72pef2iiuu28hmedcnce5h0u4%40group.calendar.google.com&amp;ctz=Europe%2FLondon&amp;gsessionid=ycdhn2eV3gvznWmB8IIIlQ">http://www.google.com/calendar/embed?src=g72pef2iiuu28hmedcnce5h0u4%40group.calendar.google.com&amp;ctz=Europe%2FLondon&amp;gsessionid=ycdhn2eV3gvznWmB8IIIlQ</a></p>
<h3>Upcoming Android Related Events</h3>
<p><strong>Mobile World Congress (MWC), Barcelona</strong><br />
15 &#8211; 18th Feb<br />
€599 &#8211; €4,999<br />
<a title="Mobile world congress" href="http://www.mobileworldcongress.com">http://www.mobileworldcongress.com</a><br />
The world&#8217;s largest mobile event</p>
<p><strong>Google IO</strong>, San francisco<br />
May 19th &amp; 20th<br />
$400/$500/ student $100<br />
<a title="Google IO" href="http://code.google.com/events/io/2010/">http://code.google.com/events/io/2010/</a><br />
Google&#8217;s annual global get together.</p>
<p><strong><br />
Londroid &#8211; The London Android meetup<br />
</strong>Monthly, free<br />
<a title="Londroid" href="http://www.meetup.com/android">http://www.meetup.com/android</a><br />
<a title="Londroid" href="http://www.londroid.co.uk">http://www.londroid.co.uk</a><br />
Skillsmatter London<br />
- Jan21, Feb18, Mar18, Apr22, May20, Jun17<br />
Our fave monthy meeting. Very much recommended.</p>
<p><strong>GeoMob</strong><br />
Monthly meetings, London 21Jan<br />
<a href="http://www.ctiawireless.com/">http://gmdlondon.ning.com/</a></p>
<p><strong>Droidcon Berlin</strong>, Nov? TBD £100<br />
<strong>Droidcon London</strong>, Dec? TBD £100<br />
Last year&#8217;s explicitly Android themed conference events. Dates will likely be announced within a few months.<br />
<a title="Droidcon" href="http://www.droidcon.de/">http://www.droidcon.de/</a></p>
<p><strong>Android Meetup Barcelona</strong><br />
16Feb (while MWC)<br />
<a title="Android meetup Barcelona" href="http://eventuo.com/of/barcelona-androides">http://eventuo.com/of/barcelona-androides</a><br />
A month;y get together in Barcelona. We&#8217;ll be attending the one held during MWC.</p>
<p><strong>Android Stammtisch</strong> Berlin, C-base<br />
<a title="Android Stammtisch" href="http://www.android-in-berlin.de/">http://www.android-in-berlin.de/</a><br />
Jan 27, Feb 24<br />
The monthly meetup held in Berlin&#8217;s excellent C-base hackspace.</p>
<p><strong>JavaUserGroup</strong><br />
Monthly<br />
<a title="Java meet" href="http://jroller.com/javawug/">http://jroller.com/javawug/</a></p>
<p><strong>Chigago Android eco-challenge hacakthon </strong><br />
Feb 6th, $1<br />
<a href="http://chigtug6.eventbrite.com/">http://chigtug6.eventbrite.com/</a></p>
<p><strong>Mobile Monday London</strong><br />
Monthly meetings<br />
<a href="http://www.m2-d2.de/">http://momolo.org/</a></p>
<p><strong>FosDem</strong>, Brussels Belgium<br />
6-7th Feb<br />
<a href="http://fosdem.org/2010/">http://fosdem.org/2010/</a></p>
<p><strong>AppJam<br />
</strong><a href="http://www.meetup.com/App-Jam/">http://www.meetup.com/App-Jam/</a></p>
<p><strong>Mobile Geeks of London</strong><br />
Monthly meetup<br />
facebook group</p>
<p><strong>CTIA Wireless</strong>, Las vegas<br />
March 23-25<br />
<a href="http://www.ctiawireless.com/">http://www.ctiawireless.com/</a></p>
<p><strong>WhereCampEU</strong><br />
March 12,13th<br />
London<br />
<a title="Where Camp" href="http://wherecamp.eu/">http://wherecamp.eu/</a></p>
<h3>Podcasts</h3>
<p>Androidguys &#8211; <a href="http://www.blogtalkradio.com/androidguys">http://www.blogtalkradio.com/androidguys</a><br />
Motodev &#8211; <a href="http://www.blogtalkradio.com/motodev">http://www.blogtalkradio.com/motodev</a><br />
The Java Posse &#8211; <a href="http://javaposse.com/">http://javaposse.com/</a></p>
<h3>Community hotspots</h3>
<p>IRC &#8211; irc.freenode.net  &#8211; #android, #android-dev<br />
The most active community channel for developers just generally getting together and chatting has been the IRC chat room from Android&#8217;s conception. A regular haunt for the members of Google&#8217;s Android team this chatroom is a the closest thing to a point of contact with the Android team.</p>
<h3>Sites</h3>
<p>Android neighbourhood &#8211; <a href="http://okmijnt.appspot.com/">http://okmijnt.appspot.com/</a> &#8211; The AndroidNeighbourhood was started as an extension to the official android site listing all of the upcoming worldwide Android events.<br />
<a title="Android and Me" href="http://androidandme.com/">Android and Me</a> &#8211; Popular Android enthusiast website with good periodicals and reporting<br />
<a title="Planet Android" href="http://planetandroid.com">planetandroid.com</a> &#8211; The big daddy Android aggregator. If you watch one site for Android news, watch this one.<br />
<a title="And dev" href="http://anddev.org">anddev.org</a> &#8211; This forum has remained one of the most active communities in enthusiast Android development since the early betas<br />
<a title="Android devices" href="http://android-devices.net ">android-devices.net </a>- nice source for upcoming Android devices.<br />
<a title="Android bloke" href="http://androidbloke.co.uk">androidbloke.co.uk</a> &#8211; UK based news source<br />
<a title="Android Guys" href="http://androidguys.com">androidguys.com</a> &#8211; A popular community for android developers and enthusiasts alike<br />
<a title="Open intents Group" href="http://groups.google.com/group/openintents">Open intents Group</a> &#8211; The chat group for Open intents</p>
<h3>Projects</h3>
<p>The most important open source projects are undoubtedly:<br />
<a href="http://www.openintents.org/en/">Open intents</a> -  Open intents is a project to publically declare agreed standards for intents outside Google. The source repo for open intent projects is here: <a id="pk2c" title="http://code.google.com/p/openintents/" href="http://code.google.com/p/openintents/">http://code.google.com/p/openintents/</a><br />
and the open intents registry &#8211; <a href="http://www.openintents.org/en/intentstable" target="_blank">http://www.openintents.org/en/intentstable</a> ,<br />
Open Android Alliance &#8211; <a href="http://code.google.com/p/open-android-alliance/" target="_blank">http://code.google.com/p/open-android-alliance/</a></p>
<p>Although there has been very little movement from the open android alliance, open intents are very active.<br />
Some notable other libraries that which we believe are useful:</p>
<p>Android &#8211; <strong>source</strong>.<strong>android</strong>.com<br />
<a id="trky" title="Commonsware" href="http://github.com/commonsguy">Commonsware</a> &#8211; Lot of very interesting and useful Android projects including code for caching, tutorials and helpful Adapters.<br />
<a href="http://github.com/kaeppler/droid-fu" target="_blank">Droid-fu</a> &#8211; <span>A utility library for your daily Android needs<br />
</span><a id="ftt1" title="Calculon" href="http://github.com/kaeppler/calculon/">Calculon</a> &#8211; Story based functional tests<br />
<a href="http://code.google.com/p/angle/" target="_blank">Angle</a> &#8211; an open GL game engine<br />
<a id="o_vm" title="Live Android" href="http://code.google.com/p/live-android/">Live Android</a> &#8211; An Android Live OS CD for x86<br />
Android x86 project &#8211; x86 ports<br />
<a id="ez-r" title="Android on Github" href="http://github.com/android/">Android on Github</a> &#8211; Mirror of Android repo<br />
<a id="o5fu" title="Phone Gap" href="http://github.com/sintaxi/phonegap/">Phone Gap</a> &#8211; Take advantage of platform specific features through a generic Javascript API</p>
<p><a href="http://github.com/kaeppler/signpost" target="_blank">Signpost</a> &#8211; <span>A light-weight client-side OAuth library for Java</span><br />
<a href="http://github.com/novoda/RESTProvider%20" target="_blank">RESTProvider </a>- <span title="Click to edit!">Automatically parses RESTful API responses into a Provider in Android</span><br />
<a href="http://code.google.com/p/maven-android-plugin/%20" target="_blank">Maven-android-plugin </a> <a name="1255518e62813378_Easy_to_use_Maven_plugin_for_Android!"> maven build plugin for android, useful for continuous integration.<br />
</a><a href="http://github.com/novoda/oauth_for_android" target="_blank">OAuth dashboard / providers</a> &#8211; An OAuth Library/application for Android. Acts as a dashboard for users permissions that they have allowed/dissalowed to applications and for developers gives them an easy way to securely authenticate using a thirdparty android OAuth implementation.</p>
<p><a id="t5uk" title="Busybox" href="http://www.busybox.net/">Busybox</a> &#8211; See here for how to install on Android. Adds <strong>chown, chgrp</strong>, <strong>awk, sed</strong>, <strong>grep</strong>,  <strong>du</strong>,  <strong>vi,</strong> <strong>pidof</strong>, <strong>less</strong>,  <strong>tail, </strong> <strong>gunzip, gzip, tar, bzip2, </strong> <strong>clear</strong>,  <strong>crontab, crond</strong>,  <strong>diff</strong>,  <strong>httpd</strong>,  <strong>telnet, </strong> <strong>xargs</strong>,  <strong>su</strong>,  <strong>wget, </strong> <strong>which</strong><br />
DoomForAndroid &#8211; http://code.google.com/p/doom-for-android/ &#8211; Doom<br />
<a style="text-decoration: none; color: #000000;" href="http://code.google.com/p/androidscreencast/">androidscreencast</a> &#8211; http://code.google.com/p/androidscreencast/ &#8211; Control an android device remotely</p>
<h3>Twitter</h3>
<p>Most popular twits: <a title="Popularly followed android related people" href="http://wefollow.com/twitter/android">http://wefollow.com/twitter/android</a><br />
A list of Android related people I think are worth following on twitter here: <a title="Kevinmcdonagh's Android related people list " href="http://twitter.com/kevinmcdonagh/droids/members">http://twitter.com/kevinmcdonagh/droids/members</a></p>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Key%20Dates%20and%20projects%20beginning%202010&amp;body=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;bodytext=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;notes=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Key%20Dates%20and%20projects%20beginning%202010%20-%20http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;title=Key%20Dates%20and%20projects%20beginning%202010&amp;annotation=2010%20promises%20to%20be%20an%20interesting%20year%20for%20Android.%20Starting%20off%20on%20the%20right%20foot%20I%27d%20like%20to%20share%20some%20key%20dates%20and%20projects%20of%20general%20interest%20with%20everyone.%0D%0AIf%20there%20are%20any%20other%20events%20on%20the%20horizon%20we%27d%20love%20to%20know%20about%20them%20so%20please%20get%20in%20touch%20and%20share." title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;t=Key%20Dates%20and%20projects%20beginning%202010" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;t=Key%20Dates%20and%20projects%20beginning%202010" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2010%2F01%2F20%2Fkey-dates-and-projects-beginning-2010%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2010/01/20/key-dates-and-projects-beginning-2010/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Scala on Android</title>
		<link>http://novoda.com/2009/10/17/scala-on-android/</link>
		<comments>http://novoda.com/2009/10/17/scala-on-android/#comments</comments>
		<pubDate>Sat, 17 Oct 2009 19:31:43 +0000</pubDate>
		<dc:creator>Akshay Dashrath</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Languages & syntax]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=154</guid>
		<description><![CDATA[
The Scala Programming Language:
The Scala programming Language is an object oriented functional programming language designed to run on the JVM. It is ideal for programming on the Dalvik Platform as code written with the Scala language is more compact, readable and could possibly have performance benefits (which will be analysed at a later date) and [...]]]></description>
			<content:encoded><![CDATA[<div class="style2">
<p><strong>The Scala<span> </span>Programming Language:</strong></p>
<p>The Scala programming Language is an object oriented functional programming language designed to run on the JVM. It is ideal for programming on the Dalvik Platform as code written with the Scala language is more compact, readable and could possibly have performance benefits (which will be analysed at a later date) and it also supports Java and Android APIs.</p>
<p><span>You can easily build DSL with Scala and the trait (e.g. mixin) aspect of Scala is very attractive in order to build intricate activities which mixes different logic.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Requirements:</strong></div>
<ul type="disc">
<li class="style2">Eclipse IDE<span> </span>– Galileo Classic v3.6</li>
<li class="style2">Android ADT<span> </span>plugin v0.93</li>
<li class="style2">Android SDK v1.6r1</li>
<li class="style2">Scala<span> </span>eclipse plug-in latest</li>
<li class="style2">Scala-android library      latest</li>
</ul>
<div>
<p><strong><span><br />
Step 1: Setting up the environment</span></strong></p>
<p>The Scala project is rather heavy on resources therefore we would need to increase the heap size of the eclipse VM and of the dx tool which is present in the SDK.</p>
<p><strong></strong></p>
<p><strong> </strong><strong>Editing the eclipse memory size:</strong></p>
<p><span>In order to increase the maximum permissible memory of the IDE we need to edit the <em>exlipse.ini</em> file that resides in the root folder of the IDE (in my case C:/Program Files/eclipse or /opt/eclipse). Open the file with your favourite text editor and edit the files as shown in the figure below and add the following lines to the file:</span></p>
<p><code><span> 256m<br />
-vmargs<br />
-Xms256m<br />
-Xmx1024m<br />
-XX:PermSize=64m</span></code></p>
<p><code> </code></p>
<p><img src="http://docs.google.com/File?id=dc2cgzjn_175g325cwdg_b" alt="" /></p>
<p><strong></strong></p>
<p><strong> </strong></p>
<p><strong> </strong><strong></strong></p>
<p><strong> </strong><strong>Editing dx.bat/dx.sh:</strong></p>
<p><span>The file <em>dx.bat</em>/dx.sh is located in the &lt;ANDROID_HOME&gt;\platforms\android-1.6\tools. Open dx.bat/dx.sh with your favourite text editor and uncomment the javaOpts line while changing the value to 512M:</span><br />
<strong><span><img src="http://docs.google.com/File?id=dc2cgzjn_176cjr7rbg7_b" alt="" /></span></strong></p>
<p><strong> </strong><strong>Step 2: Install Scala</strong></p>
<p>I installed both the stand alone Scala installer as well as the Eclipse IDE plugin, which I recommend to get the system working stable.</p>
<p><strong></strong></p>
<p><strong> </strong><strong>The Scala Installer:</strong></p>
<p><span>On writing this post the latest version of Scala available for download was the 2.7.6 version, which can be downloaded from: <a href="http://www.scala-lang.org/downloads/distrib/files/scala-2.7.6.final-installer.jar">http://www.scala-lang.org/downloads/distrib/files/scala-2.7.6.final-installer.jar</a> . The installation procedure is quite trivial and further information can be found on the Scala website. The installer consists of a sequence of simple steps which on completion result in the installation of Scala on your system.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Eclipse Plugin:</strong></p>
<p><span>In order to install the eclipse plugin we have to goto the <em>Help-&gt;Install New Software-&gt;Add</em> and then enter the following:</span></p>
<p><span>Name: Scala<br />
Location: http://www.scala-lang.org/scala-eclipse-plugin</span></p>
<p><span>You should then see <em>&#8220;Scala Eclipse Plugin&#8221;</em> offered for installation. Click on the <em>&#8220;Install&#8221;</em> button and follow the instructions from there.</span></p>
<p><strong></strong></p>
<p><strong>Step 3: Download scala-android.jar</strong></p>
<p><strong> </strong></p>
<p><span>Open a new shell prompt window in administrator mode. Navigage to the &lt;SCALA_HOME&gt;/bin directory defined in the previous Scala installation step. Then enter the following commands</span></p>
<p><span>sbaz install scala-android</span></p>
<p><span>The scala-android library will be installed in &lt;SCALA_HOME&gt;/lib directory.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 4: Creating a Scala Project</strong></div>
<p class="style2"><span>In order to create our first Scala project we go about creating first an Android Project in the Eclipse IDE (<em>File-&gt;New-&gt;Android Project</em>).</span></p>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_177d9d5msgd_b" alt="" /></span></p>
<div class="style2">
<p><span>Then right mouse click on the project in the package workspace and navigate down to the <em>Scala</em> menu, then click on <em>Add Scala Nature, </em>once this is completed the project would look like:</span></div>
<p class="style2"><span><!--[if gte vml 1]&gt;--><br />
<img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_178f8n8fsc8_b" alt="" /></span></p>
<p align="center">
<div class="style2">
<p><span>Once this is complete, right mouse click on the project again and click on the <em>Properties-&gt;Builders</em> tab, and make sure the Scala Builder is in the position as shown in the figure (you will have to move it down two places)</span></div>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_179dnmn3hcc_b" alt="" /></span></p>
<div class="style2">
<p><span>Then open the <em>Java Build Path-&gt;Libraries</em> tab and remove the <em>Scala Library Version 2.6 final</em> , then add the scala-android.jar file by click on <em>Add External Jar. </em>You will then have the menu resembling:</span></div>
<p class="style2"><span><img class="aligncenter" src="http://docs.google.com/File?id=dc2cgzjn_1806f42mrcz_b" alt="" /></span></p>
<div class="style2">
<p><span>Note: The build process needs to compile the scala files into classes which then compiles them into dex files. If you receive errors upon compilation or classpath, try to clean and rebuild the project.</span></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 5: Creating ScalaTest.scala</strong></p>
<p>Now goto the <em>ScalaTest-&gt;src-&gt;com.scala</em> package and delete the the file ScalaTest.java. Right mouse click on the package and then click on <em>New-&gt;Other-Scala</em> <em><span>Class</span></em><span> , call this class ScalaTest.</span></p>
<div class="style2"><span></p>
<p>Open the file <em>ScalaTest.scala</em> and enter the following code and save it:</p>
<p><code><span>package test.scala<br />
import android.app.Activity<br />
import android.os.Bundle<br />
import android.widget.TextView<br />
class ScalaTest extends Activity {<br />
override def onCreate(savedInstanceState: Bundle) {<br />
super.onCreate(savedInstanceState)<br />
val tv = new TextView(this)<br />
tv.setText("Hello Android, it's me, Scala!")<br />
setContentView(tv)<br />
}}</span></code></p>
<p><strong></strong></p>
<p><strong></strong></p>
<p><strong> </strong><strong>Step 6: Running the application</strong></p>
<p>In order to run the application goto <em><span>Run-&gt;Run Configuration-&gt;Android Application </span></em><span>and run set it up as shown in the figure below, and then click on Run.</span></p>
<p><span><!--[if gte vml 1]&gt;--></span></p>
<p><img src="http://docs.google.com/File?id=dc2cgzjn_182d26wm9c4_b" alt="" /></p>
<p><span>If everything was set up right you’d then see the emulator load up and run your application</span></p>
<p>:</p>
<p><span><img src="http://docs.google.com/File?id=dc2cgzjn_183dqtpg6ft_b" alt="" /></span></p>
<p><em>References:</em></p>
<p></span></div>
<ul type="disc">
<li class="style2">http://www.scala-lang.org/node/160</li>
<li class="style2">http://www.ibm.com/developerworks/opensource/library/os-eclipse-scala/index.html?ca=dgr-jw64Android-Scaladth-o&amp;S_TACT=105AGY46&amp;S_CMP=grjw64#</li>
<li class="style2"><span>http://www.scala-lang.org/node/1403</span></li>
</ul>
</div>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Scala%20on%20Android&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;bodytext=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;notes=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Scala%20on%20Android%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;title=Scala%20on%20Android&amp;annotation=%0D%0A%0D%0AThe%20Scala%20Programming%20Language%3A%0D%0A%0D%0AThe%20Scala%20programming%20Language%20is%20an%20object%20oriented%20functional%20programming%20language%20designed%20to%20run%20on%20the%20JVM.%20It%20is%20ideal%20for%20programming%20on%20the%20Dalvik%20Platform%20as%20code%20written%20with%20the%20Scala%20language%20is%20more" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;t=Scala%20on%20Android" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;t=Scala%20on%20Android" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F10%2F17%2Fscala-on-android%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/10/17/scala-on-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Observations from Google IO 2009</title>
		<link>http://novoda.com/2009/06/09/observations-from-google-io-2009/</link>
		<comments>http://novoda.com/2009/06/09/observations-from-google-io-2009/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 10:05:21 +0000</pubDate>
		<dc:creator>Kevin McDonagh</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[JISC]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=115</guid>
		<description><![CDATA[Google IO 2009 was held in sunny San Francisco and Novoda&#8217;s presence acted as a technical bridge for the Royal Veterinary College, London Knowledge Lab and the wider Bloomsbury Colleges as they further explored Google&#8217;s Android platform as a potential tool for the collection of medical &#38; veterinary data. As I was acting on behalf [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_122" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-122" title="googleio" src="http://novoda.co.uk/wp-content/uploads/2009/06/googleio.jpg" alt="" width="450" height="359" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">Google IO 2009 was held in sunny San Francisco and Novoda&#8217;s presence acted as a technical bridge for the <a title="Royal vetinary college" href="http://www.rvc.ac.uk/" target="_blank">Royal Veterinary College</a>, <a title="London Knowledge Lab" href="http://www.lkl.ac.uk/cms/" target="_blank">London Knowledge Lab</a> and the wider <a title="Bloomsbury Colleges" href="http://www.bloomsbury.ac.uk/" target="_blank">Bloomsbury Colleges</a> as they further explored Google&#8217;s Android platform as a potential tool for the collection of medical &amp; veterinary data. As I was acting on behalf of Academia the trip was very kindly funded by <a title="JISC" href="http://www.jisc.ac.uk/">JISC</a>, so a big thank you to them.</p>
<p>Google event&#8217;s are renowned for merging developers&#8217; unique personalities with the approachable yet cutting edge image of Google technology. There were <a title="Bean bags" href="http://www.flickr.com/photos/stephaniefalla/3573899725/">brightly coloured bean bags</a>, <a title="QRcode scavenger hunt" href="http://www.flickr.com/photos/phpprincess/3574868263/">qr-code scavenger hunts</a>, make shift Google street view <a title="Holodeck" href="http://www.flickr.com/photos/niallkennedy/3571464961/" target="_blank">holo-chambers</a>, <a title="arcade cabinets" href="http://www.flickr.com/photos/16447282@N00/3572456520/" target="_blank">arcade cabinets</a> and <a title="robot wars" href="http://www.flickr.com/photos/mtantow/3574415005/">robot wars</a> but they were all in aid of furthering the interaction of developers and getting them conversing on areas of tech. As if the fact that all the attendees received free <a href="http://shop.vodafone.co.uk/shop/mobile-phone/htc-magic?WT.srch=1">G2 HTC magic phones</a> was not reason enough for conversation.</p>
<h2 style="margin: 0 0 20px 0;">Talks</h2>
<div id="attachment_135" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-135" title="chris" src="http://novoda.co.uk/wp-content/uploads/2009/06/chris.jpg" alt="" width="450" height="337" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">The talks were generally of a very high standard with a whole section dedicated to each Google interest  including mobile (Android). Outside of each speaking area was an alcove where Google advocates were freely available for questioning on the intricacies of each specific technology. Each recorded session lasts about an hour so specifically, I recommend watching the following:</p>
<p><a title="Writing Real-Time Games for Android" href="http://code.google.com/events/io/sessions/WritingRealTimeGamesAndroid.html" target="_self">Writing Real-Time Games for Android w/ Chris Pruett</a> is well delivered with captivating game development content. Chris considers the resource usage on Android from the perspective of a developer used to a similarly constrained C++ mobile environment.</p>
<p><a title="Android Media Framework" href="http://code.google.com/events/io/sessions/MasteringAndroidMediaFramework.html">Android media framework w/ David Sparks</a> contains good graphical representations of media call life cycles from the native system upwards and addresses the techniques while dealing with all forms of media.</p>
<p><a title="Coding for Life -- Battery Life, That Is" href="http://code.google.com/events/io/sessions/CodingLifeBatteryLife.html">Coding for Life &#8212; battery life, that is w/ Jeffrey Sharkey </a> offers a primer on how to be mindful of your applications specific actions how they are affecting a device&#8217;s power consumption.</p>
<p><a title="Supporting Multiple=" href="http://code.google.com/events/io/sessions/SupportingMultipleDevicesBinary.html">Supporting Multiple Devices with One Binary w/ Joe Onorato &amp; Romain guy</a> addresses the problem of standarising the presentation of a UI of multiple &#8216;densities&#8217; on different devices.</p>
<p>Although not based on Android, another talk which is well worth mentioning was the second day&#8217;s big topic of conversation <a title="Google Wave" href="http://www.youtube.com/watch?v=v_UyVmITiYQ">&#8216;Google wave&#8217;</a> which it has to be said is an exciting convergence in persisted communications.</p>
<h2>Attendees &amp; Exhibitors</h2>
<p>It was difficult choosing to not attend talks and venturing away from the Android alcove but there were some worthwhile exhibitors.</p>
<ul class="wp-caption alignleft" style="list-style-type: none; list-style-image: none; list-style-position: outside; width: 125px;">
<li><img class="size-full wp-image-123" title="spotify_logo" src="http://novoda.co.uk/wp-content/uploads/2009/06/spotify_logo.png" alt=" " width="115" height="115" /></li>
<li><img class="alignnone size-full wp-image-124" title="ea" src="http://novoda.co.uk/wp-content/uploads/2009/06/ea.png" alt="" width="115" height="115" /></li>
<li><img class="alignnone size-medium wp-image-125" title="catalista" src="http://novoda.co.uk/wp-content/uploads/2009/06/catalista.png" alt="" width="115" height="58" /></li>
<li><img class="alignnone size-medium wp-image-126" title="illusion" src="http://novoda.co.uk/wp-content/uploads/2009/06/illusion.png" alt="" width="115" height="37" /></li>
<li><a href="http://www.tubaloo.com"><img class="alignnone size-medium wp-image-128" title="tubaloo" src="http://novoda.co.uk/wp-content/uploads/2009/06/tubaloo.png" alt="" width="115" height="66" /></a></li>
</ul>
<p>EA consistently sets a high technical standard on all platforms and the same can be said about their android offerings, <em>Sim city, The Sims, Tetris</em> and <em>Monopoly</em>. Close by them was the extremely nice <a title="Spotiy android application" href="http://www.youtube.com/watch?v=7ALGPknOsiU" target="_blank">Spotify (premium content) app</a> which sports intuitive &amp; innovative UI design. Each of the bottom tabs can be slid upwards to reveal a more detailed selection of options within that tab&#8217;s context which is a nice touch on an already very usable app.</p>
<p>Mobile media company <span style="background-color: #ffffff;"><a title="1Cast" href="http://www.1cast.com/" target="_blank">1Cast</a> were showing off thier app&#8217;s streaming capabilities </span>and the fact that it can search through a huge catalogue of their partners premium content. The very snappy responsiveness signals a mobile media viewing experience which is slowly entering the big leagues.</p>
<p>Swedish Game development company <span style="background-color: #ffffff;"><a title="Illusion labs" href="http://www.illusionlabs.com/" target="_blank">Illusion Labs</a> </span><span style="background-color: #ffffff;">had their games on show including my personal fave &#8216;</span>Labyrinth&#8217;<span style="background-color: #ffffff;">. Labyrinth works the same as the traditional wooden games but the real charm of this particular port is that it provides such pleasant tactile feedback whenever your metal ball hits against the sides of the wooden box. The subtle feedback makes this an exemplar experience for tactile interaction within mobile games.</span></p>
<p><a title="Catalista" href="http://www.mommiworks.com/main.html" target="_blank">Catalista</a> also had a very nice location aware application which allows user to find nearby volunteering opportunities.</p>
<p>Some guys from <a title="Tubaloo" href="www.tubaloo.com" target="_blank">Tubaloo</a> demonstrated a personalised VoIP build of android which they are planning to soon offer the Latin American market. The threat of VoIP to traditional phone services has been looming on the horizon and we&#8217;ve recently seen some movement from Skype onto cellphones but could this signal the start of competition in this market?</p>
<p>Also worth a notable mention even though they weren&#8217;t technically exhibiting was the Czech Republic based company <a title="Inmite" href="http://www.inmite.eu/web/en/projects" target="_blank">Inmite</a> who impressed me with both their development knowledge and their popular <a title="Lokola" href="http://www.lokola.cz/" target="_blank">&#8216;Lokola&#8217;</a> application which finds searches through the online portal&#8217;s directory of resources relative to the device&#8217;s global positioning.</p>
<h2 style="margin: 0 0 20px 0;">Post Google IO</h2>
<div id="attachment_127" class="wp-caption aligncenter" style="width: 460px"><img class="size-full wp-image-127" title="lounge" src="http://novoda.co.uk/wp-content/uploads/2009/06/lounge.jpg" alt="" width="450" height="268" /><p class="wp-caption-text"> </p></div>
<p style="margin-top: 15px;">Eager to network with universities, I was surprised to speak with very few groups doing exploratory research on Google Android especially since I encountered such wide acknowledgment of it&#8217;s potential in this area. There were the notable exception of <a href="http://www.sfsu.edu/">San Francisco State University</a> who are just beginning to look into the possibilities of mobile applications within their current work in blood &amp; disease analysis. Hopefully we can soon establish some talks between them and RVC to exchange experiences. If you yourself know of universities working on with the Android platform then <a title="Contact us" href="http://www.novoda.com/blog/?page_id=20" target="_self">please do contact us</a>!</p>
<p>I was lucky enough to spend some time with the developers from the well intentioned <a title="ODK project" href="http://code.google.com/p/open-data-kit/" target="_blank">ODK project</a> who are developing free tools to aid the collection of standard data by providing an easy click through forms interface. They wished to emphasize their eagerness to receive participation and feedback which I hopefully helped them with by suggesting some commercial and academic use cases.</p>
<p>Some of  the world&#8217;s largest media networks for games, music and television were at Google IO to show off their polished offerings to a standard which has until recently has been reserved for the IPhone. This is encouraging because as industry draws attention to the platform, media companies will invest in the relevant training and as a by product we should hopefully see an explosion of free and organisational offerings. <a title="ADC2" href="http://code.google.com/android/adc/">ADC2</a> itself would usually have had entrepreneurial developers inquiring into Google&#8217;s offered cash prize but team this with the fact they have given free devices to their most loyal developer audience ensures that there will soon be fresh activity hitting the Android market.</p>
<blockquote><p>Android SDK at time of writing was: <strong>1.5_r2</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://www.flickr.com/photos/cvander/3572630723/">Google IO logo sourced from cvander&#8217;s Flickr account</a></cite></li>
</ul>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Observations%20from%20Google%20IO%202009&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;bodytext=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;notes=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Observations%20from%20Google%20IO%202009%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;title=Observations%20from%20Google%20IO%202009&amp;annotation=%0D%0AGoogle%20IO%202009%20was%20held%20in%20sunny%20San%20Francisco%20and%20Novoda%27s%20presence%20acted%20as%20a%20technical%20bridge%20for%20the%20Royal%20Veterinary%20College%2C%20London%20Knowledge%20Lab%20and%20the%20wider%20Bloomsbury%20Colleges%20as%20they%20further%20explored%20Google%27s%20Android%20platform%20as%20a%20potent" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;t=Observations%20from%20Google%20IO%202009" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;t=Observations%20from%20Google%20IO%202009" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F06%2F09%2Fobservations-from-google-io-2009%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/06/09/observations-from-google-io-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Motion Sensors and Orientation in Android</title>
		<link>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/</link>
		<comments>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/#comments</comments>
		<pubDate>Sat, 02 May 2009 01:15:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Sensors]]></category>
		<category><![CDATA[azimuth]]></category>
		<category><![CDATA[motion]]></category>
		<category><![CDATA[OrientationEventListener]]></category>
		<category><![CDATA[pitch]]></category>
		<category><![CDATA[roll]]></category>
		<category><![CDATA[SensorEventListener]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=77</guid>
		<description><![CDATA[How to Interpret the values returned from OrientationEventListener and SensorEventListener in relation to orientation.]]></description>
			<content:encoded><![CDATA[<p>An Activity can listen for changes in a device&#8217;s motion sensors by implementing the OrientationEventListener or SensorEventListener. The Listener&#8217;s onSensorChanged function will return units of measure differently depending on the axis of rotation. Each of the axes returned from the SensorEventListener are best interpretted by considering their roots in flight dynamics and how they would relate to a plane&#8217;s joystick in flight, where the android device would be the joystick.<br />
<a title="Sensor Event Listener Cheat Sheet" href="http://novoda.co.uk/wp-content/uploads/2009/05/sensoreventcheatsheet_v1.pdf">Download the SensorEventListener Cheatsheet &gt;&gt;</a></p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/x_azimuth1.png"><img class="alignnone size-full wp-image-105" title="x_azimuth1" src="http://novoda.co.uk/wp-content/uploads/2009/05/x_azimuth1.png" alt="" width="500" height="321" /></a></p>
<p>X represents the &#8216;Azimuth&#8217; which is the angle in current reference to Magnetic North. The units of  measure are within 0-360 degrees imagining a complete rotation divided by 360 equal divisions. This is easiest interpretted by considering the device from a birds eye view and considering that this is the same response as you would expect from a compass.</p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/y_pitch.png"><img class="alignnone size-full wp-image-106" title="y_pitch" src="http://novoda.co.uk/wp-content/uploads/2009/05/y_pitch.png" alt="" width="500" height="321" /></a></p>
<p>Y or &#8216;Pitch&#8217; is the degree to which the device is tilted forwards or backwards. The measure of pitch is zero when the device is lying flat, -90 when standing upright and 180 when lying flat on the device face. Realising that -90 is the value of the device upstanding and 90 being the value when it is upside down is initially confusing until you think about the aviation analogy. If a plane&#8217;s nose is dipping and the plane is losing height a pilot would pull upwards. The upwards values represent the increase in height as the pilot pulled back on the joystick. Using this analogy, holding the device and pulling backwards would increase the height and pushing forwards would decrease the height.</p>
<p><a href="http://novoda.co.uk/wp-content/uploads/2009/05/z_roll.png"><img class="alignnone size-full wp-image-107" title="z_roll" src="http://novoda.co.uk/wp-content/uploads/2009/05/z_roll.png" alt="" width="500" height="321" /></a></p>
<p>Z or &#8216;Roll&#8217; is the rotation of the device in relation to the bottom left hand corner of the screen. The units returned represent the degree of change in degrees from 0 &#8211; +/-90. Zero is when the device is upright standing and forward facing. Any movement left or right will then increase or decrease to 90 or -90 and on to 0 when going past these values. Each quadrant within the clock face of rotation will progress 0 &#8211; 90. During flight a plane&#8217;s wings would ideally be aligned with the horizon and the cockpit would be upright at 90 degrees.</p>
<p>Initially dealing with data in this format can be a bit dis-orientating so if you only want to get the angle of the phone moving from an initial upright standing position use the OrientationEventListener. Otherwise the values returned form the SensorEventListener are the Y &amp; Z representing the 0 &#8211; 90 degrees of rotation while the angle is passing through a certain quadrant within a full clock face of rotation while X units are returned in relation to Magnetic North.</p>
<h2>The OrientationEventListener</h2>
<p>The OrientationEventListener provides a much easier solution to detecting the phone&#8217;s current angle when you only need the angle of change from upright standing to left/right and around a clock face of rotation. Implementing this interface will enable you to access orientation as a simple int representing the rotation in degrees.</p>
<p>Rather than have you feel the pain of trying to make sense of Android Sensor data from scratch we&#8217;ve made a quick printable cheat sheet, so puzzle no more!</p>
<p><a style="font-size:2em" title="Sensor Event Listener Cheat Sheet" href="http://novoda.co.uk/wp-content/uploads/2009/05/sensoreventcheatsheet_v1.pdf">SensorEventListener cheatsheet</a></p>
<blockquote><p>Android SDK at time of writing was: <strong>android-sdk-mac_x86-1.5</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://en.wikipedia.org/wiki/Flight_dynamics">Flight Dynamics on Wikipedia</a></cite></li>
<li><cite><a href="http://www.amazon.co.uk/Trigonometry-Teach-Yourself-P-Abbott/dp/0340549130/ref=sr_11_1?ie=UTF8&amp;qid=1241226183&amp;sr=11-1">Teach yourself Trigonometry</a><cite></cite></cite></li>
<li><cite><a href="http://developer.android.com/reference/android/hardware/SensorEventListener.html">Android API: Sensor Event Listener</a><cite></cite></cite></li>
</ul>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;bodytext=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;notes=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Motion%20Sensors%20and%20Orientation%20in%20Android%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;title=Motion%20Sensors%20and%20Orientation%20in%20Android&amp;annotation=How%20to%20Interpret%20the%20values%20returned%20from%20OrientationEventListener%20and%20SensorEventListener%20in%20relation%20to%20orientation." title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;t=Motion%20Sensors%20and%20Orientation%20in%20Android" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;t=Motion%20Sensors%20and%20Orientation%20in%20Android" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F05%2F02%2Fmotion-sensors-and-orientation-in-android%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/05/02/motion-sensors-and-orientation-in-android/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Building Android: CupCake</title>
		<link>http://novoda.com/2009/01/17/building-android-cupcake/</link>
		<comments>http://novoda.com/2009/01/17/building-android-cupcake/#comments</comments>
		<pubDate>Sat, 17 Jan 2009 11:19:33 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[build]]></category>
		<category><![CDATA[cupcake]]></category>
		<category><![CDATA[htc]]></category>
		<category><![CDATA[installation]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=56</guid>
		<description><![CDATA[&#8216;Cupcake&#8217; is the name of the new Android OS which will shortly hit the consumer market.  Future Android based phones &#8211; such as Lenovo or Kogan agora &#8211; will by default probably have the CupCake milestone of the OS installed. This new version carries with it, bug fixes and a couple of enhancements such as [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_60" class="wp-caption alignleft" style="width: 210px"><a href="http://novoda.co.uk/wp-content/uploads/2009/01/screenshot-android-emulator-5554.png"><img class="size-medium wp-image-60" title="screenshot-android-emulator-5554" src="http://www.novoda.com/blog/wp-content/uploads/2009/01/screenshot-android-emulator-5554-200x300.png" alt="" width="200" height="300" /></a><p class="wp-caption-text">Latest emulator with on-screen keyboard</p></div>
<p><em>&#8216;Cupcake&#8217;</em> is the name of the new Android OS which will shortly hit the consumer market.  Future Android based phones &#8211; such as Lenovo or Kogan agora &#8211; will by default probably have the CupCake milestone of the OS installed. This new version carries with it, bug fixes and a couple of enhancements such as video recorder and on-screen keyboard.</p>
<p>There are times when your application&#8217;s future compatibility testing cannot wait for an official milestone release and you require the very latest  development image of the Android OS to run under the latest Android emulator. There are of course other Android enthusiasts like myself who will find it very exciting to download and play with the source and I&#8217;d recommend it, as it is not difficult.  In this article I will detail my experience of following the official android documentation to obtain the latest source from the main Android development branch, in this case the contents of CupCake; compiling it and then finally running the images under the latest emulator.<br />
Development Environment</p>
<p>Manually building the source code is system intensive so you should have a good machine in order to compile the project, enough disk space (around 6GB) and a good connection as you will download around 2GB. Currently, I am running Ubuntu intrepid 8.10 with kernel 2.6.27-11-generic and Sun&#8217;s jvm 1.6 on a quad core with 4GB of RAM.<br />
Thus the below assumes you are running similar setup. The official Android installation page lists the procedure for Max OS and Windows.</p>
<h3>1. Obtaining the code</h3>
<p>I followed the Google documentation wiki page without any problems. I had a previous version of the source code checked out on to my machine which I had to update, thus I had to remove the recovery directory as discussed <a href="http://groups.google.com/group/android-platform/browse_thread/thread/3774d038e5382764/8bb8349e951ec9b6?lnk=gst&amp;q=rm#8bb8349e951ec9b6" target="_blank">here</a> and <a href="http://source.android.com/known-issues" target="_blank">here</a> with the following command: <code>rm -rf recovery bootloader</code></p>
<p>If you do a fresh init you will not need to remove the 2 directories. As I am on amd64, I also had to install the X11 dev packages and followed the workaround suggested for X11.</p>
<p>Note that I did not need to update the java alternative to ia32-sun-java6-bin and used the sun-java6-jdk instead. Furthermore, I did not need to point ANDROID_JAVA_HOME to my JAVA_HOME variable.</p>
<h3>2. Compilation</h3>
<p>WIth the source code checked out I now made a compilation with &#8216;make&#8217;. The compilation took some time &#8211; around an hour on my quad core &#8211; enough time to drink a couple of espressos and poke around the source structure. A successful compilation produced a new directory at the root of the source called &#8216;out&#8217;. This directory contained the newly created build which can then be used to start the emulator.</p>
<h3>3. Layering on proprietary libs from the G1 &#8211; optional</h3>
<p>Specific phone manufacturers commonly bundle their own libraries for specific phones. Usually those libraries are proprietary thus need to be downloaded from the phone itself. For now, this is possible only for the G1  as <a href="http://source.android.com/documentation/building-for-dream" target="_blank">this wiki page</a> indicates. Note that I used my T-mobile phone, not the dev one.</p>
<p>Running &#8216;make&#8217; will create a specific build for the phone located under &#8216;&lt;android_source&gt;/out/target/product/dream&#8217;. You can run that build within the emulator which would be specific to the HTC dream. I would not anticipate much difference except that you would not have access to specific proprietary hardware powered devices such as the camera phone.</p>
<h3>4. Starting the emulator with the new build</h3>
<p>Now with a fresh build, I could start the emulator with the new images.<br />
Issued from the root of source, the following command started the emulator with the dream&#8217;s image:</p>
<pre class="sh_sh">
./out/host/linux-x86/bin/emulator
 -system out/target/product/dream
-kernel prebuilt/android-arm/kernel/kernel-qemu
-data out/target/product/dream/userdata.img
</pre>
<p>If you have followed me this far but did not compile the dream target, you can run the default images as follow:</p>
<pre class="sh_sh">
./out/host/linux-x86/bin/emulator
-system out/target/product/default
-kernel prebuilt/android-arm/kernel/kernel-qemu
-data out/target/product/default/userdata.img</pre>
<p>Voila! I had the latest emulator running! I accessed it using &#8216;adb shell&#8217; and installed my test applications using: <code>adb install &lt;app&gt;.apk</code><br />
Stumbling a little is to be expected with any new undertaking but I found the solution to the majority of your average source compilation problems can be found within the or on the <a href="http://source.android.com/download" target="_blank">well tended official source code  documention</a>. Otherwise Google Groups hosts&#8217; an active <a href="http://groups.google.com/group/android-platform/" target="_blank">android mailing list</a> who will try their best to answer questions.</p>
<p>Next I will look into setting up eclipse and maybe playing around with the code if my caffeine level stays high enough.</p>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://source.android.com/documentation/building-for-dream">Instructions on how to build for the HTC Dream</a></cite></li>
<li><cite><a href="http://groups.google.com/group/android-platform/">Google android news group</a></cite></li>
<li><cite><a href="http://source.android.com/download">Source Docs</a></cite></li>
<li><cite><a href="http://groups.google.com/group/android-platform/browse_thread/thread/3774d038e5382764/8bb8349e951ec9b6?lnk=gst&amp;q=rm#8bb8349e951ec9b6">bootloader folder removal problems upon checkout</a></cite></li>
<li><cite><a href="http://source.android.com/known-issues">Known Google Android Issues</a></cite></li>
</ul>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Building%20Android%3A%20CupCake&amp;body=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;bodytext=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;notes=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Building%20Android%3A%20CupCake%20-%20http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;title=Building%20Android%3A%20CupCake&amp;annotation=%0D%0A%0D%0A%27Cupcake%27%20is%20the%20name%20of%20the%20new%20Android%20OS%20which%20will%20shortly%20hit%20the%20consumer%20market.%C2%A0%20Future%20Android%20based%20phones%20-%20such%20as%20Lenovo%20or%20Kogan%20agora%20-%20will%20by%20default%20probably%20have%20the%20CupCake%20milestone%20of%20the%20OS%20installed.%20This%20new%20version%20carr" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;t=Building%20Android%3A%20CupCake" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;t=Building%20Android%3A%20CupCake" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2009%2F01%2F17%2Fbuilding-android-cupcake%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2009/01/17/building-android-cupcake/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Fom2008 and coming articles</title>
		<link>http://novoda.com/2008/11/22/fom2008-and-coming-articles/</link>
		<comments>http://novoda.com/2008/11/22/fom2008-and-coming-articles/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 19:01:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Conference & Events]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Training & Speaking]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[fom2008]]></category>
		<category><![CDATA[summary]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=23</guid>
		<description><![CDATA[In light of the questions asked to us by developers at FOM we will present on this blog, a series of articles based around the lesser explained points of Android’s underlying architecture and design.

In this series we will seek to offer value over Google’s own very well prepared documentation by layering external developer experience and context to each of the areas we cover. This series is intended for seasoned developers who wish to gain a well documented, experienced technical insight into the platform. The following articles are planned:]]></description>
			<content:encoded><![CDATA[<p>On Tuesday 18th November Novoda attended London’s <a href="http://www.future-of-mobile.com/2008/london/">Future of Mobile 2008</a> and gave a short workshop introduction to Android in conjunction with Kieran Gutteridge of <a title="Intohand" href="http://www.intohand.com/">Intohand</a>. The talk was aimed at developers experienced in a variety of other mobile and embedded platforms but who were not familiar with the various specifics of Android. All the attendant’s benefited from the presentation, but ideally more resources prepared for the event would have increased it’s value for everyone. In light of the questions asked to us by developers at FOM we will present on this blog, a series of articles based around the lesser explained points of Android’s underlying architecture and design.</p>
<div id="attachment_29" class="wp-caption aligncenter" style="width: 310px"><a href="http://novoda.co.uk/wp-content/uploads/2008/11/carl_giving-_pres11.jpg"><img src="http://www.novoda.com/blog/wp-content/uploads/2008/11/carl_giving-_pres1-300x218.jpg" alt="Carl Carl presenting at Fom 2008 with Kieran Gutteridge" title="Carl-Gustaf Harroch: Fom 2008" width="300" height="218" class="size-medium wp-image-29" /></a><p class="wp-caption-text">Carl presenting at Fom 2008 with Kieran Gutteridge</p></div>
<h2>A Summary of coming articles</h2>
<p>In this series we will seek to offer value over Google’s own very well prepared documentation by layering external developer experience and context to each of the areas we cover. This series is intended for seasoned developers who wish to gain a well documented, experienced technical insight into the platform. The following articles are planned:</p>
<h3>Android Architecture Overview</h3>
<p>Android is often cited as a ‘full stack’. This means that the platform is provided with an OS, sys bins/libs, JRE and SDK. The full shabang is open source from top to bottom but the documentation only lightly covers the Dalvik Virtual Machine. We explore the specifically built packages that make up android from the kernel to the Java libraries in the hope to completely orientate developers with the inner technical workings within most current Android package.</p>
<h3>AndroidManifest.xml</h3>
<p>The AndroidManifest.xml serves as an application’s contract between it’s end environment and the other installed applications. Through the AndroidManifest.xml an application can choose to expose its intentions, services and content to outside applications. We look into the alternative situations in which the AndroidManifest.xml’s role affects an application and expose its implementation.</p>
<h3>Activities</h3>
<p>An activity is embodied as a screen and breaks up high level functional elements in an Application. When navigating through an android system the forefront process operates upon the ‘context’ of the shown Activity. We examine the relationships between different types of activities in an attempt to completely understand their life cycle and how it affects the surrounding system.</p>
<h3>Intents &#038; BroadcasteReceivers</h3>
<p>In Android, actions and re-actions across processes and activities are carried out through means of Intents and BroadcastReceivers. Instead of hard coding the intended application path, applications can choose to leave their journey open to re navigation and simply declare their intentions to the rest of the system. By preemptively declaring their intentions, both the user and other applications can choose to supplement any behavior upon their phone with any other piece of software that offers the same functionality. We explore the extents to which you can choose to customize the experience and look at the practical aspects and challenges that lie in deciding how to best share with the rest of the system.</p>
<h3>Views and Resources</h3>
<p>External resources are subject to localization and more commonly changed than the internals of an applications inner code. For this reason amongst others the layouts of views are marked up in xml. Binary resources such as images and audio files are also more prone to change and security issues and so are located within a predefined area. The Android SDK makes all resources available through an automatically generated and local binary registry. An application can easily access any of it’s resources via this registry throughout it’s operation. To what advantage has xml been used in such an unconventional why does the Android SDK choose to enforce the location of all binary files so rigidly?</p>
<h3>Services</h3>
<p>Services have no user interface and can run locally within an application or can take on a life of their own outside any one application, adhering to Linux’s inbuilt security model. Remote Services are shared via Android’s own IDL (Interface description language). The majority of the code for this external communication is generated for a user after declaring the interface by which the data is to be exchanged.</p>
<h3>Content Providers</h3>
<p>The architecture of Android applications is designed around the idea of opting into a degree of sharing within a community of applications. And application can choose to what extent it makes its data available through content providers. Content providers promote the idea of global data inter exchange and reuse within every system and we look at how Applications can best take advantage of this unique feature upon the Android platform.</p>
<p>We would be very happy to hear comments, criticism and requests so if you have anything to say on anything we cover then please leave a comment.</p>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite>Official Google Android Overview: <a title="Google:Anatomy of an app" href="http://code.google.com/android/intro/anatomy.html">&#8220;Anatomy of an app&#8221;</a></cite></li>
<li><cite>Google&#8217;s official videos overviews of Android Architecture:<br />
<a title="You Tube:Android Architecture part 1" href="http://www.youtube.com/watch?v=Mm6Ju0xhUW8">part 1</a>, <a title="You Tube:Android Architecture part 2" href="http://www.youtube.com/watch?v=fL6gSd4ugSI">part 2</a>, <a title="You Tube:Android Architecture part 3" href="http://www.youtube.com/watch?v=MPukbH6D-lY">part 3</a></cite></li>
<li><cite><a title="Google:Anatomy of an app" href="http://code.google.com/android/devel/bblocks-manifest.html">Android developer reference: AndroidManifest.xml</a></cite></li>
<li><cite><a title="Android Docs:Activity" href="http://code.google.com/android/reference/android/app/Activity.html">Android Technical Docs: android.app.Activity</a><br />
</cite></li>
<li><cite><a title="Android Docs:Intent" href="http://code.google.com/android/reference/android/content/Intent.html">Android developer reference: android.content.Intent</a><br />
</cite></li>
<li><cite> <a title="Android Docs:BroadcastReciever" href="http://code.google.com/android/reference/android/content/BroadcastReceiver.html">Android Technical Docs: Android.content.BroadcastReceiver</a><br />
</cite></li>
<li><cite><a title="Google:Security and Permissions in Android" href="http://code.google.com/android/devel/security.html">Android developer reference: Security and Permissions in Android</a><br />
</cite></li>
<li><cite><a title="Android Docs:View" href="http://code.google.com/android/reference/android/view/package-summary.html">Android Technical Docs: android.view</a></cite></li>
<li><cite><a title="Android Docs:view.View" href="http://code.google.com/android/reference/android/view/View.html">Android Technical Docs: android.view.View</a></cite></li>
<li><cite><a title="Google:View Gallery" href="http://code.google.com/android/reference/view-gallery.html">Types of views in Google&#8217;s view gallery</a></cite></li>
<li><cite><a title="Android Docs:Service" href="http://code.google.com/android/reference/android/app/Service.html">Android Technical Docs: android.app.Service</a><br />
 </cite></li>
<li><cite><a title="Google:Security and Permissions in Android" href="http://code.google.com/android/devel/security.html">Android developer reference: Security and Permissions in Android</a><br />
</cite></li>
<li><cite<a title="Android Docs:android.content.ContentProvider" href="http://code.google.com/android/reference/android/content/ContentProvider.html">Android Technical Docs: android.content.ContentProvider</a><br />
</cite></li>
</ul>



Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Fom2008%20and%20coming%20articles&amp;body=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;title=Fom2008%20and%20coming%20articles&amp;bodytext=In%20light%20of%20the%20questions%20asked%20to%20us%20by%20developers%20at%20FOM%20we%20will%20present%20on%20this%20blog%2C%20a%20series%20of%20articles%20based%20around%20the%20lesser%20explained%20points%20of%20Android%E2%80%99s%20underlying%20architecture%20and%20design.%0D%0A%0D%0AIn%20this%20series%20we%20will%20seek%20to%20offer%20value%20over%20Google%E2%80%99s%20own%20very%20well%20prepared%20documentation%20by%20layering%20external%20developer%20experience%20and%20context%20to%20each%20of%20the%20areas%20we%20cover.%20This%20series%20is%20intended%20for%20seasoned%20developers%20who%20wish%20to%20gain%20a%20well%20documented%2C%20experienced%20technical%20insight%20into%20the%20platform.%20The%20following%20articles%20are%20planned%3A" title="Digg"><img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://delicious.com/post?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;title=Fom2008%20and%20coming%20articles&amp;notes=In%20light%20of%20the%20questions%20asked%20to%20us%20by%20developers%20at%20FOM%20we%20will%20present%20on%20this%20blog%2C%20a%20series%20of%20articles%20based%20around%20the%20lesser%20explained%20points%20of%20Android%E2%80%99s%20underlying%20architecture%20and%20design.%0D%0A%0D%0AIn%20this%20series%20we%20will%20seek%20to%20offer%20value%20over%20Google%E2%80%99s%20own%20very%20well%20prepared%20documentation%20by%20layering%20external%20developer%20experience%20and%20context%20to%20each%20of%20the%20areas%20we%20cover.%20This%20series%20is%20intended%20for%20seasoned%20developers%20who%20wish%20to%20gain%20a%20well%20documented%2C%20experienced%20technical%20insight%20into%20the%20platform.%20The%20following%20articles%20are%20planned%3A" title="del.icio.us"><img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;title=Fom2008%20and%20coming%20articles" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Fom2008%20and%20coming%20articles%20-%20http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;title=Fom2008%20and%20coming%20articles&amp;annotation=In%20light%20of%20the%20questions%20asked%20to%20us%20by%20developers%20at%20FOM%20we%20will%20present%20on%20this%20blog%2C%20a%20series%20of%20articles%20based%20around%20the%20lesser%20explained%20points%20of%20Android%E2%80%99s%20underlying%20architecture%20and%20design.%0D%0A%0D%0AIn%20this%20series%20we%20will%20seek%20to%20offer%20value%20over%20Google%E2%80%99s%20own%20very%20well%20prepared%20documentation%20by%20layering%20external%20developer%20experience%20and%20context%20to%20each%20of%20the%20areas%20we%20cover.%20This%20series%20is%20intended%20for%20seasoned%20developers%20who%20wish%20to%20gain%20a%20well%20documented%2C%20experienced%20technical%20insight%20into%20the%20platform.%20The%20following%20articles%20are%20planned%3A" title="Google Bookmarks"><img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;t=Fom2008%20and%20coming%20articles" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;t=Fom2008%20and%20coming%20articles" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F22%2Ffom2008-and-coming-articles%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2008/11/22/fom2008-and-coming-articles/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extending Android&#8217;s shell with BusyBox</title>
		<link>http://novoda.com/2008/11/12/extending-androids-shell-with-busybox/</link>
		<comments>http://novoda.com/2008/11/12/extending-androids-shell-with-busybox/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 01:40:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[busybox]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.novoda.com/blog/?p=3</guid>
		<description><![CDATA[A vanilla android installation is a bare bones affair aimed solely at the mobile device. This comes at the initial expense of our development environment. This platform is only intended for only the smallest devices and so searching amoungst 'system/bin' reveals only a cherry picking of Linux system administrator staples, even the most common binaries such as 'ls', 'mv' and 'rm' have been stripped of all but their essential options and recompiled. Installing third party tools on Android offers a range of additional productive tools and options for ease of development within the Android shell.]]></description>
			<content:encoded><![CDATA[<p>A vanilla android installation is a bare bones affair aimed solely at the mobile device. This comes at the initial expense of our development environment. This platform is only intended for only the smallest devices and so searching amongst &#8216;<em>system/bin</em>&#8216; reveals only a cherry picking of Linux system administrator staples, even the most common binaries such as &#8216;<em>ls</em>&#8216;, &#8216;<em>mv</em>&#8216; and &#8216;<em>rm</em>&#8216; have been stripped of all but their essential options and recompiled. Installing third party tools on Android offers a range of additional productive tools and options for ease of development within the Android shell.</p>
<h2>Android shell</h2>
<p>Invoking the android emulator from within an IDE is the ideal setup but developers will find need to interact with the emulator through other means for scripting, integration testing and just practical reasons. The SDK tools are located in the tools directory and I&#8217;d recommend regular users of the sdk to add this directory to their shell&#8217;s export path.</p>
<p>I develop on a mac so I have added the <em>android-sdk-mac_x86-1.0_r1/tools</em> to my <em>.profile</em> but you could equally add it to your <em>.bashrc</em> or <em>.kornrc</em> within your user&#8217;s home area giving you convenient direct access to all of android&#8217;s development tools via the binary names such as $adb, $emulator or $ddms. If you are on a windows machine these variables would instead be set via your system settings -&gt; environment variables.</p>
<p>With the tools on the shells $PATH, the emulator can now be invoked:</p>
<pre class="sh_sh">
$emulator
</pre>
<p>Now to telnet to the running device image:</p>
<pre class="sh_sh">
$adb shell
</pre>
<h2>BusyBox</h2>
<p><a href="http://www.busybox.net/">BusyBox</a> is a single multicall binary that packages the functionality of many popular standard Unix tools. The aim of the BusyBox project is to keep the total package size overhead as small as possible by sharing  commonly used gnu libC libraries via a single set of ELF headers and stripping down gnu&#8217;s libc so as only to provide the functions necessary to support Busybox and the other executables.</p>
<h3>Side note &#8211; Standing up for GNU with legal action</h3>
<p>Busybox author&#8217;s have gained a reputation for their commendable efforts to uphold the <a href="http://www.oss-watch.ac.uk/resources/gpl.xml">legal rights of the GNU public license</a> as they have brought about court action as plaintiffs on a series of cases where they believed companies were not holding to the terms of GNU public license. Companies they have appealed against include Verizon, High-Gain Antennas and Xterasys. Most notably they are commonly credited with the first GNU public licence related court action <a href="http://www.softwarefreedom.org/news/2007/sep/20/busybox/">against Monsoon Multimedia</a> for their use of BusyBox within it&#8217;s <a href="http://www.myhava.com/index.html">HAVA</a> streaming video software (Hava have since made their alterations available). So far all cases have been settled before they reached the court.</p>
<h2>Installing busy box <span>on Android</span></h2>
<p>It is common place for developers to check out the source of BusyBox and compile a tailor made build with any preferred tools and options. There are others like myself who just use whatever they can find and I have settled with a build generously donated with the intent of android deployment by Ben Leslie available from both <a href="http://benno.id.au/blog/2007/11/14/android-busybox">his site</a> and the <a>run buddy code wiki</a>.</p>
<p>First aquire your build and then add it to the running android device like so:</p>
<pre class="sh_sh">
$adb shell mkdir /data/busybox
$adb push busybox /data/busybox
$adb shell
</pre>
<p>Now within the android Emulator shell:</p>
<pre class="sh_sh">
$cd /data/busybox
$chmod 775 busybox
$./busybox –install
</pre>
<p>Now you have installed BusyBox!</p>
<p>For ease of use I would add this to the shell&#8217;s $PATH</p>
<pre class="sh_sh">
export PATH=/data/busybox:$PATH
</pre>
<p>Now invoking busybox will reveal all your new commands!</p>
<pre class="sh_sh">
$busybox
</pre>
<p>Some highlights of this particular binary of BusyBox are:<br />
<strong>chown, chgrp</strong>: change permission ownership.<br />
<strong>awk, sed</strong>: languages to both process &amp; transform text<br />
<strong>grep</strong>: a text search utility<br />
<strong>du</strong>: shows disk usage<br />
<strong>vi</strong>: a shell based text editor<br />
<strong>pidof</strong>: return the pid of a running process<br />
<strong>less</strong>: text reader with back and forward nav<br />
<strong>tail</strong>: trail the end of a file for activity<br />
<strong>gunzip, gzip, tar, bzip2</strong>: archival compression software<br />
<strong>clear</strong>: clear screen<br />
<strong>crontab, crond</strong>: task scheduling<br />
<strong>diff</strong>: compare files<br />
<strong>httpd</strong>: a light webserver<br />
<strong>telnet</strong>: basic TCP remote login<br />
<strong>xargs</strong>: use the output of a command as the arguments for another<br />
<strong>su</strong>: masquerade as another system user<br />
<strong>wget</strong>: retrieves content from a web server<br />
<strong>which</strong>: identifies the location of an executable<br />
For info on these or any linux commands check the <a href="http://man.he.net/">man pages online</a>.</p>
<p>Have I missed any of your shell essentials? If you have any BusyBox builds for Android then we&#8217;d love to hear about how you are using them in your development environment.</p>
<blockquote><p>Android SDK at time of writing was: <strong>android-sdk-mac_x86-1.0_r1</strong></p></blockquote>
<h3>Citations &amp; Research</h3>
<ul>
<li><cite><a href="http://www.busybox.net/">http://www.busybox.net/</a></cite></li>
<li><cite><a href="http://www.busybox.net/downloads/BusyBox.html">Official Busy box documentaion</a></cite></li>
<li><cite><a href="http://www.busybox.net/cgi-bin/viewcvs.cgi/trunk/busybox/">Busy box Source code repository</a></cite></li>
<li><cite>I sourced the build of BusyBox from <a href="http://benno.id.au/blog/2007/11/14/android-busybox">Ben Leslie&#8217;s site</a> &#8211; Thanks!</cite></li>
<li><cite><a href="http://www.ibm.com/developerworks/library/l-busybox/">BusyBox article on dev works by M. Tim Jones</a></cite></li>
<li><cite><a href="http://www.linuxdevices.com/files/article018/00load.html">An Animated guide to BusyBox</a></cite></li>
<li><cite><a href="http://blogs.zdnet.com/open-source/?p=1837">Busybox takes another step up GPL protection ladder</a><cite></cite></cite></li>
<li><cite><a href="http://news.cnet.com/8301-13505_3-9831376-16.html?tag=mncol;title">GPL lawsuits: A reason to rejoice(?), not panic</a><cite></cite></cite></li>
<li><cite><a href="http://blogs.zdnet.com/open-source/?p=2511">Do the Busybox cases change anything?</a><cite></cite></cite></li>
</ul>
<script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script><script type="text/javascript" src="/wp-content/plugins/shjs-syntax-hiliter/shjs/lang/sh_sh.js"></script>


Share this post:


	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F&amp;partner=sociable" title="Print"><img src="http://novoda.com/wp-content/plugins/sociable/images/printfriendly.png" title="Print" alt="Print" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="mailto:?subject=Extending%20Android%27s%20shell%20with%20BusyBox&amp;body=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F" title="email"><img src="http://novoda.com/wp-content/plugins/sociable/images/email_link.png" title="email" alt="email" class="sociable-hovers" /></a>
	<img src="http://novoda.com/wp-content/plugins/sociable/images/digg.png" title="Digg" alt="Digg" class="sociable-hovers" /></a>
	<img src="http://novoda.com/wp-content/plugins/sociable/images/delicious.png" title="del.icio.us" alt="del.icio.us" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://reddit.com/submit?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F&amp;title=Extending%20Android%27s%20shell%20with%20BusyBox" title="Reddit"><img src="http://novoda.com/wp-content/plugins/sociable/images/reddit.png" title="Reddit" alt="Reddit" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://twitter.com/home?status=Extending%20Android%27s%20shell%20with%20BusyBox%20-%20http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F" title="Twitter"><img src="http://novoda.com/wp-content/plugins/sociable/images/twitter.png" title="Twitter" alt="Twitter" class="sociable-hovers" /></a>
	<img src="http://novoda.com/wp-content/plugins/sociable/images/googlebookmark.png" title="Google Bookmarks" alt="Google Bookmarks" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.facebook.com/share.php?u=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F&amp;t=Extending%20Android%27s%20shell%20with%20BusyBox" title="Facebook"><img src="http://novoda.com/wp-content/plugins/sociable/images/facebook.png" title="Facebook" alt="Facebook" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://news.ycombinator.com/submitlink?u=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F&amp;t=Extending%20Android%27s%20shell%20with%20BusyBox" title="HackerNews"><img src="http://novoda.com/wp-content/plugins/sociable/images/hackernews.png" title="HackerNews" alt="HackerNews" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://technorati.com/faves?add=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F" title="Technorati"><img src="http://novoda.com/wp-content/plugins/sociable/images/technorati.png" title="Technorati" alt="Technorati" class="sociable-hovers" /></a>
	<a rel="nofollow"  href="http://www.printfriendly.com/print?url=http%3A%2F%2Fnovoda.com%2F2008%2F11%2F12%2Fextending-androids-shell-with-busybox%2F&amp;partner=sociable" title="PDF"><img src="http://novoda.com/wp-content/plugins/sociable/images/pdf.png" title="PDF" alt="PDF" class="sociable-hovers" /></a>


<br/><br/>]]></content:encoded>
			<wfw:commentRss>http://novoda.com/2008/11/12/extending-androids-shell-with-busybox/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
