<?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>Rich Internet Applications (RIA) &#187; Android</title>
	<atom:link href="http://www.canoo.com/blog/category/google-android/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.canoo.com/blog</link>
	<description></description>
	<lastBuildDate>Wed, 18 Jan 2012 14:30:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Android Testing in IntelliJ IDEA</title>
		<link>http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/</link>
		<comments>http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 13:19:08 +0000</pubDate>
		<dc:creator>Hamlet</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hamlet]]></category>
		<category><![CDATA[idea]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2411</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/";</script>Google&#8217;s Android site has some fairly detailed instructions for testing Android applications&#8230; from Eclipse. They were nice enough to supply a &#8220;Testing from Other IDEs&#8221; page, but that is nothing more than instructions on using Ant and the command line. Well, if you are using IntelliJ IDEA then you already believe the IDE is going [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/";</script><p>Google&#8217;s Android site has some fairly detailed instructions for testing Android applications&#8230; from Eclipse. They were nice enough to supply a &#8220;<a href="http://developer.android.com/guide/developing/testing/testing_otheride.html">Testing from Other IDEs</a>&#8221; page, but that is nothing more than instructions on using Ant and the command line. Well, if you are using IntelliJ IDEA then you already believe the IDE is going to be a better tool than Ant for this. It&#8217;s easy to set up a test project in IDEA and get your tests running. Here are some simple instructions.</p>
<p><strong>Prerequisites</strong></p>
<p>This tutorial assumes you have installed <a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a> and an <a href="http://developer.android.com/sdk/">Android SDK</a>, and also created an Android project. If you haven&#8217;t yet, then you should read <a href="http://developer.android.com/guide/topics/testing/testing_android.html">Testing Fundamentals</a> accessible from Google&#8217;s <a href="http://developer.android.com/guide/topics/testing/index.html">Testing Home</a> page.</p>
<p><strong>Creating a Test Project</strong></p>
<p>Your Android tests are going to be placed in a separate module from your main Android application. Remember: an IDEA <em>project</em> is composed of several <em>modules</em>. We&#8217;re going to have the main application module and the test module. Each module has it&#8217;s own set of dependencies and classpath. (Eclipse users confused about the terminology should <a href="http://www.jetbrains.com/idea/webhelp/intellij-idea-vs-eclipse-terminology.html">read this</a>). Here are the steps to follow to set up a test project:</p>
<p>1. Have your main project open in IDEA<br />
2. Create a new module using the menu File-&gt;New Module<br />
3. Select &#8220;Create module from scratch&#8221; and click Next<br />
4. Select &#8220;Android Module&#8221;, give the module a new name, and click Next. You should put the module in a directory called &#8220;tests&#8221; that is in your project root. That way your project will follow the same naming conventions that Ant expects, making the project easier to set up in a CI server later. Here is what your wizard screen might look like:</p>
<div id="attachment_2415" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2012/01/01AddModule.png"><img class="size-medium wp-image-2415" title="Adding an Android Testing Module" src="http://www.canoo.com/blog/wp-content/uploads/2012/01/01AddModule-300x207.png" alt="Adding an Android Testing Module" width="300" height="207" /></a><p class="wp-caption-text">Adding an Android Testing Module</p></div>
<p>5. On the next wizard step just click Next to create a source directory for your files.<br />
6. Finally, on the last wizard step select &#8220;Test&#8221; under Project properties. Make sure it is going to test your module. Then Finish.</p>
<div id="attachment_2422" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2012/01/02AddModule1.png"><img class="size-medium wp-image-2422" title="02AddModule - Select Test" src="http://www.canoo.com/blog/wp-content/uploads/2012/01/02AddModule1-300x207.png" alt="" width="300" height="207" /></a><p class="wp-caption-text">Select Test as Project Type</p></div>
<p>At this point your two modules exist: the production module and your test module. If you look in the Project View (Alt+1) you will see both modules. Mine are named &#8220;android-testing-in-idea&#8221; and &#8220;tests&#8221;. You&#8217;ll even be given a template test for your main activity. It&#8217;s pretty slim so you will certainly want to write some of your own tests. IDEA isn&#8217;t smart enough to automatically create the test content for you&#8230; at least yet.</p>
<p><span style="font-weight: bold;">Running Tests</span></p>
<p>Running tests is simple. A run configuration to run all tests was created for you when you added the project. Click the &#8216;run triangle&#8217; to run the tests or the &#8216;bug triangle&#8217; to debug the tests. You&#8217;ll be prompted to select an emulator if you don&#8217;t have one set by default.</p>
<div id="attachment_2424" class="wp-caption aligncenter" style="width: 308px"><a href="http://www.canoo.com/blog/wp-content/uploads/2012/01/03ProjectView.png"><img class="size-medium wp-image-2424" title="03ProjectView" src="http://www.canoo.com/blog/wp-content/uploads/2012/01/03ProjectView-298x300.png" alt="run all tests" width="298" height="300" /></a><p class="wp-caption-text">Click to Run All Tests</p></div>
<p>There are other ways to run tests at a more granular level, too. To run all the tests in a package, right click the package and select Run (Ctrl+Shift+F10). To run all the tests in a class, right click the class and select Run (Ctrl+Shift+F10). You can also run individual test methods one at a time. Just right click inside the test method within the IDE editor and select Run (once again, (Ctrl+Shift+F10)).</p>
<p>You may want to switch the emulator version from time to time in order to test across multiple devices. You can bring up the Run Configuration from the drop down menu highlighted in the screenshot above. It opens a screen like this where you configure the run target:</p>
<div id="attachment_2425" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2012/01/05RunConfigAllTests.png"><img class="size-medium wp-image-2425" title="05RunConfigAllTests" src="http://www.canoo.com/blog/wp-content/uploads/2012/01/05RunConfigAllTests-300x209.png" alt="Configure the Test Run Target" width="300" height="209" /></a><p class="wp-caption-text">Configure the Test Run Target</p></div>
<p>You can switch the emulator here to a different version. Be sure to check out the other tabs as well. The Emulator tab allows you to configure the network speed and latency, and the Logcat tabs lets you configure one or two things about Logcat. Handy.</p>
<p><span style="font-weight: bold;">Viewing Results</span></p>
<p>So you want to view the test results? Well results window probably popped up on screen after you ran the test. Anyway, if you&#8217;re still confused you can click the Run (Alt+4) or Debug (Alt+5) drawer and see the JUnit results. There is also a Logcat drawer to click (sorry no shortcut) to view the logs.</p>
<div id="attachment_2426" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2012/01/07Results.png"><img class="size-medium wp-image-2426" title="07Results" src="http://www.canoo.com/blog/wp-content/uploads/2012/01/07Results-300x240.png" alt="Viewing Test Results" width="300" height="240" /></a><p class="wp-caption-text">Viewing Test Results</p></div>
<p><strong>Other Tools</strong></p>
<p>The last thing you need to know is a little about the other tools. You can manage your emulator ROMs using the AVD Manager. The menu option for that is Tools -&gt; Android -&gt; AVD Manager. Also, you can change the project compatibility to be a different version of Android OS. It&#8217;s under File-&gt;Project Structure (Ctrl+Alt+Shift+S) then click Module SDK. Finally, if you want to set the project up for continuous integration then head on back to the Ant command line guide from Google. It&#8217;s best not to have the IDEA project file drive your builds.</p>
<p>You made it to the end. Thanks for reading! And remember, Canoo is here to help with your Android and Mobile needs. Email me directly (hamlet.darcy@canoo.com) or give us a phone call. Thanks.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2012/01/12/android-testing-in-intellij-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Fragmentation</title>
		<link>http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/</link>
		<comments>http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/#comments</comments>
		<pubDate>Thu, 24 Nov 2011 13:28:09 +0000</pubDate>
		<dc:creator>Andreas Hölzl</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[andreas]]></category>
		<category><![CDATA[andrei]]></category>
		<category><![CDATA[articles]]></category>
		<category><![CDATA[fragmentation]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2341</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/";</script>The latest issue of the german Android360 magazine is featuring an article by our Android experts about fragmentation on the platform. Fragmentation on the Android platform comes in several flavors. Mobile devices in the wild can differ on their installed Android version, their screen size/resolution and their supported hardware features. With the advent of Android [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/";</script><p><img alt="" src="http://it-republik.de/it/sonderhefte/android/graf/android360-cover-thumb.jpg" title="Android360" class="alignleft" width="100" height="142" style="padding:10px;" /><br />
The latest issue of the <a href="http://www.android360.de">german Android360 magazine</a> is featuring an article by our Android experts about fragmentation on the platform.</p>
<p>Fragmentation on the Android platform comes in several flavors.<br />
Mobile devices in the wild can differ on their installed Android version, their screen size/resolution and their supported hardware features.<br />
With the advent of Android tablets the platform added a new class of supported hardware to its portfolio.<br />
The article summarizes the main does and don&#8217;t to tackle fragmentation successfully.</p>
<p>If you are experiencing fragmentation problems in your Android project or want to avoid them upfront, talk to us. Our <a href="http://www.canoo.com/services/shareacanooie/">share-a-canooie</a> service might be just the right thing for you.</p>
<p>Remember: think Android, think Canoo</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/11/24/android-fragmentation-article/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5 for iOS</title>
		<link>http://www.canoo.com/blog/2011/11/01/html5-for-ios/</link>
		<comments>http://www.canoo.com/blog/2011/11/01/html5-for-ios/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 10:36:30 +0000</pubDate>
		<dc:creator>Erik Jan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPad]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2330</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/11/01/html5-for-ios/";</script>My grandfather used to say: &#8220;Makkelijker gezegd dan gedaan&#8221; (easier said then done). So when I talked about how HTML5 could be the new platform in-depended development paradigm, in this previous post, I better come with some real world examples instead of only saying it. So that is exactly what I&#8217;ve been doing. My wife [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/11/01/html5-for-ios/";</script><p>My grandfather used to say: &#8220;<em>Makkelijker gezegd dan gedaan</em>&#8221; (easier said then done). So when I talked about how HTML5 could be the new platform in-depended development paradigm, in this <a href="http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/">previous post</a>, I better come with some real world examples instead of only saying it.</p>
<p>So that is exactly what I&#8217;ve been doing. My wife is a bit of an apple fan woman. And she has a book that she would like to publish. She couldn&#8217;t find a publisher, so the next best thing would be to put her book on an iPad, but you still need an publisher to put something on the iBook store and publishers are still stuck in the dark ages. So we&#8217;ve decided to make an application out of her book. Now I&#8217;ve written some objective-c code before and I must say it wasn&#8217;t the best experience I&#8217;ve had. Xcode at that time was awful, it was like writing software 10 years ago. So I started to look for alternatives. It could be a simple html page, but how to create a native iPad application out of that?</p>
<p>I&#8217;ve found something that I&#8217;m really exited about. <a href="http://playn.googlecode.com">Playn</a> is a cross-platform game abstraction library for writing games that compile to multiple platforms one of these is html using gwt. Now if I use this in combination with <a href="http://phonegap.com/">phonegap</a> then I can create a iPad app that can also run on android based pads. Not only that I could make it interactive add a game to the book and best of all do it in Java.</p>
<p>If you think about it, for companies this makes a lot of sense. Unless your companies key platform is iOS, having developers in-house that have objective-c knowledge is expensive. Also hiring external company to build an iPhone app is expensive and they have to work together with you to integrate your existing architecture. So having something like this where one can use existing knowhow to create a android and iPhone solution that works on both platforms is a huge cost saver.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2011/11/01/html5-for-ios/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/11/01/html5-for-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android and IDEA for the Eclipse Refugee</title>
		<link>http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/</link>
		<comments>http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/#comments</comments>
		<pubDate>Tue, 18 Oct 2011 15:46:21 +0000</pubDate>
		<dc:creator>Hamlet</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[hamlet]]></category>
		<category><![CDATA[idea]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2302</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/";</script>Earlier this month I switched from writing my Android projects in Eclipse to writing them in IntelliJ IDEA. Overall the experience has been great, and I much prefer using IDEA to Eclipse for Android development. And now that IntelliJ IDEA 11 EAP (Early Access) has a visual layout window, there is almost no reason for [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/";</script><p>Earlier this month I switched from writing my Android projects in <a href="http://developer.android.com/sdk/eclipse-adt.html">Eclipse</a> to writing them in <a href="http://www.jetbrains.com/idea/">IntelliJ IDEA</a>. Overall the experience has been great, and I much prefer using IDEA to Eclipse for Android development. And now that <a href="http://confluence.jetbrains.net/display/IDEADEV/IDEA+11+EAP">IntelliJ IDEA 11 EAP (Early Access)</a> has a visual layout window, there is almost no reason for me to write my Android apps in anything else. I wrote this post to help other users along their way when converting between the IDEs. </p>
<h2>Why IntelliJ IDEA for Android?</h2>
<p>There&#8217;s no need to ask why if IDEA is already your favorite IDE or if your company is forcing you to use it. But just in case you&#8217;re not already a raving fanboy, here are some of the features specific to Android that made me want to switch.</p>
<p>Find usages (Alt+F7) is aware of Android XML resources (and the semantic meaning of their content), so searching across project assets is easier. Plus, I just find IDEA&#8217;s search capabilities a little saner than Eclipse&#8217;s. Below you can see what happens when I search from within my layout XML file for a certain widget ID: </p>
<div id="attachment_2304" class="wp-caption aligncenter" style="width: 678px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/01_FindUsages.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/01_FindUsages.png" alt="01. Find Usages" title="01. Find Usages" width="668" height="236" class="size-full wp-image-2304" /></a><p class="wp-caption-text">Find Usages in IDEA</p></div>
<p>Because IDEA knows about the Android XML resources, refactorings like Rename (Shift+F6) work across Java code and XML. You can rename a widget&#8217;s ID from the XML file and have the Java code updated, or rename from the Java code and have the XML updated. Here I am renaming a widget ID in XML. Nice. In general, I do not search within comments and Strings because it is a little too aggressive.</p>
<p><div id="attachment_2307" class="wp-caption aligncenter" style="width: 452px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/02_Rename.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/02_Rename.png" alt="02. Rename Refactor" title="02. Rename Refactor" width="442" height="180" class="size-full wp-image-2307" /></a><p class="wp-caption-text">02. Rename Refactor</p></div>
<p>There are several Android specific intentions that make life easier in IDEA. Intentions are the quick-fixes that are activated in Eclipse with Ctrl+1. In IDEA you use Alt+Enter. For example, if there is a static String referenced from your code then you should make that String a resource by moving it to strings.xml. Put your cursor into the String, press Alt+Enter, accept the name suggestion, and you&#8217;re ready to go. Ctrl+Z for undo on refactorings work great, too. One of the big differences between IDEA and Eclipse is refactoring support. In IDEA, the source files do not need to compile in order for refactorings to work. It is quite common to have a broken file and fix it through a couple automated renames or refactors.</p>
<p><div id="attachment_2308" class="wp-caption aligncenter" style="width: 508px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/03_Move.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/03_Move.png" alt="03. Move Refactor" title="03. Move Refactor" width="498" height="210" class="size-full wp-image-2308" /></a><p class="wp-caption-text">03. Move Refactor</p></div>
<p>Finally, before IDEA 11, the killer feature for Eclipse Android was the visual editor for XML based layout files. Personally, I don&#8217;t often use drag and drop layout editors but I do value seeing my code changes immediately without recompiling and redeploying. Eclipse had the better feature set. But IDEA 11 now has a layout &#8220;Preview&#8221; mode. Make a change in the XML and see it immediately updated in the preview. You can also quickly change the theme, preview in landscape and portrait, switch to night mode, and select different screen sizes. If you absolutely need a visual editor, then Eclipse is the way to go. Otherwise, the Preview in IDEA 11 is good enough. More info available on the <a href="http://blogs.jetbrains.com/idea/2011/10/new-in-intellij-idea-11-preview-of-android-ui-layouts">IDEA blog</a>.</p>
<p><div id="attachment_2311" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/04_VisualEditor.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/04_VisualEditor-300x207.png" alt="04. Visual Preview" title="04. Visual Preview" width="300" height="207" class="size-medium wp-image-2311" /></a><p class="wp-caption-text">04. Visual Preview</p></div>
<p>Let&#8217;s get started with a tour of IDEA.</p>
<h2>Getting Oriented in IDEA</h2>
<p>The basic layout of IDEA is not all that different from Eclipse. You have a main code window (right, in image below), you have a Project View (upper left), and you have a Structure View (lower left). If there is a window for it in Eclipse, then there is probably a window for it in IDEA. A good way to get started and get familiar with IDEA is to read the <a href="http://refcardz.dzone.com/refcardz/intellij-idea-update">DZone IDEA RefCard</a> I wrote a few years ago. It is still relevant today. I highlighted the image to show the relevant details.</p>
<div id="attachment_2314" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/05_ProjectView.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/05_ProjectView-300x225.png" alt="05. Project View" title="05. Project View" width="300" height="225" class="size-medium wp-image-2314" /></a><p class="wp-caption-text">05. Project View</p></div>
<p>At any time you can jump to the code window by pressing Escape, and you can close any open tool window with Shift+Escape. On thing that IDEA does not have is perspectives. Maybe you love Eclipse perspectives. Maybe you love when your code view shrinks up into a postage sized porthole whenever you launch a debugger. Who knows, perhaps this is useful to you somehow. I am trying very hard to be positive here, and the nicest thing I have to say about perspectives is that I hate them. Another thing IDEA does not have is a &#8220;Team Plugin&#8221;. There is no single &#8220;Team&#8221; abstraction that somehow fits on top of every version control system. Instead, when you enable Subversion then you use Subversion features. Git uses Git Features. Version control systems are enabled using the Tools->Enable Version Control menu item. Then the Alt+9 shortcut brings up the Version Control View. </p>
<h2>Running, Debugging, and the Android Tools</h2>
<p>Running and Debugging an application is slightly different in IDEA than in Eclipse. You manage your &#8220;Run Configurations&#8221; using your Run/Debug dropdown menu at the top of the screen: </p>
<div id="attachment_2315" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/06_RunDropDown.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/06_RunDropDown-300x269.png" alt="06. Run/Debug Configurations" title="06. Run/Debug Configurations" width="300" height="269" class="size-medium wp-image-2315" /></a><p class="wp-caption-text">06. Run/Debug Configurations</p></div>
<p>You can create temporary and permanent run configurations. Right clicking a test and choosing Run creates a temporary run config. If you want to run the target repeatedly then just save it so it is permanent. And you Maven users: you can right click a goal in the Maven view and create a run target, such as a run:jetty goal. The Maven support is amazing in IDEA, so you are actually lucky to be a Maven user in this case. </p>
<p>The features of the debuggers are fairly close between the two products. Set a break point by clicking in the gutter (Ctrl+F8), select and right click a reference to add to the watch window. I&#8217;ve noticed that Eclipse users love to enable and disable breakpoints rather than just set and remove them. Well, you can press Ctrl+Shift+F8 to manage all your breakpoints if that&#8217;s the sort of thing you like to do. Also, notice the Logcat tab on the debugger, which shows you the Android log. If you are Running (and not debugging), then the Logcat output is in the &#8220;Android Logcat&#8221; view that you see on the bottom toolbar: </p>
<div id="attachment_2317" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/07_DebugWindow.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/07_DebugWindow-300x277.png" alt="07. Debug Window" title="07. Debug Window" width="300" height="277" class="size-medium wp-image-2317" /></a><p class="wp-caption-text">07. Debug Window</p></div>
<p>The main Android Tools from the SDK are available under the Tools->Android menu. You can export a signed package this way and also launch the AVD to manage your emulators and environments. If you need the other SDK tools like &#8220;hierarchyviewer&#8221; or &#8220;monkeyrunner&#8221; then you&#8217;ll have to launch them from the command line. There is built-in Android testing support in IDEA, and when you run a unit test then the IDE will ask you whether to run it as a JUnit test or an Android test. It remembers your answer, so if you make a mistake then just delete the run configuration and start over. It will ask you again.</p>
<h2>Managing Your IDEA Project</h2>
<p>The two hardest parts of switching IDEs is Project configuration and Web Server configuration. Luckily we avoid the latter in an Android tutorial. But you still need to set up the project. First, some terminology. An &#8220;Eclipse Workspace&#8221; is an &#8220;IDEA Project&#8221;. An &#8220;Eclipse Project&#8221; is an &#8220;IDEA Module&#8221;. An Eclipse Workspace is composed of several projects. An IDEA Project is composed of several modules. If you have Eclipse project files then IDEA should be able to import them with no problems, and this is the fastest way to get started.</p>
<p>The Project is configured using the File->Project Structure menu item. You can also open the window using the Ctrl+Alt+Shift+S shortcut, which I call the Paw Mash because holding your left hand like a bear paw and mashing the keyboard usually suffices to open the window. This is where you specify your source folders, your SDK version, and your dependencies. If there is no Project SDK selected in the dropdown list, or if the list shows an error, then click on the SDKs item in the left side pane to create a new one.</p>
<div id="attachment_2318" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/08_Project.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/08_Project-300x231.png" alt="08. Project Configuration" title="08. Project Configuration" width="300" height="231" class="size-medium wp-image-2318" /></a><p class="wp-caption-text">08. Project Configuration</p></div>
<p>Configure the modules by clicking the module entry on the left side. Here you can mark certain folders as source or as tests. By default, a fresh IDEA Android project has no &#8220;tests&#8221; folder, so you should add the folder and then come in here as mark it as Test Sources. You can also change some of the Android compiler settings by clicking the Android facet shown in the middle. </p>
<div id="attachment_2319" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/09_ModuleSource.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/09_ModuleSource-300x155.png" alt="09. Module Configuration" title="09. Module Configuration" width="300" height="155" class="size-medium wp-image-2319" /></a><p class="wp-caption-text">09. Module Configuration</p></div>
<p>One last thing to configure before leaving the window. If you are writing JUnit tests then you&#8217;ll need to add JUnit to your project dependencies. If you just annotate a method as @Test then IDEA prompts you to add the junit.jar to your classpath. The problem is that they add it as the last dependency, which causes the test to fail with the error &#8220;java.lang.RuntimeException: Stub!&#8221;. Come into this window and move JUnit up in the dependency list. Or configure Ivy/Maven/Whatever to do this automatically for you. </p>
<div id="attachment_2320" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/10_ModuleDependencies.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/10_ModuleDependencies-300x124.png" alt="10. Module Dependencies" title="10. Module Dependencies" width="300" height="124" class="size-medium wp-image-2320" /></a><p class="wp-caption-text">10. Module Dependencies</p></div>
<p>That&#8217;s the quick tour of Project Structure&#8230; lets move on to Settings. Settings are the options not directly related to compiling the project. Things like code style, version control, plugins, and much more. Open Settings using File->Settings or use your Claw Attack to hit Ctrl+Alt+S. I call this shortcut the claw attack because if you pinch your left hand into an eagle claw and swoop it down on your keyboard then the Settings window usually opens right up. It helps to let out a mighty, &#8220;Ka-KAW&#8221; when you do it.</p>
<p>There are thousands of settings in here. I heard the advice recently that new users of either IDE should spent a few hours just clicking around the settings page, and I honestly think that is pretty good advice. If you know what you&#8217;re looking for but can&#8217;t find it, then enter your search term in the upper left side search box and the settings list dynamically displays only those pages with matching entries. For instance, if you know you want to show line numbers, then type in Line or Line Numbers and click through the resulting pages. In this case, the highlighting you see in the image was created by IDEA and is used to point you to the correct setting.</p>
<div id="attachment_2321" class="wp-caption aligncenter" style="width: 310px"><a href="http://www.canoo.com/blog/wp-content/uploads/2011/10/11_Settings.png"><img src="http://www.canoo.com/blog/wp-content/uploads/2011/10/11_Settings-300x226.png" alt="11. Settings Configuration" title="11. Settings Configuration" width="300" height="226" class="size-medium wp-image-2321" /></a><p class="wp-caption-text">11. Settings Configuration</p></div>
<p>You most definitely want to change some of the default settings. Showing Line Numbers is under Editor->Appearance. Changing your tabs and space settings are done on a per-file type basis, and is accessed from Editor -> Code Style. By default IDEA allows you to place the cursor past the end of the line in a text file, and you turn this off under the Editor page. And Version Control is something you really must configure as well, which is under Version Control. <a href="http://www.jetbrains.com/idea/webhelp/using-github-integration.html">GitHub integration</a> in IDEA is tip-top and goes beyond just Git support, but lately I&#8217;ve been using and recommending <a href="https://bitbucket.org">BitBucket</a> for free, private git hosting. In general I find myself using the IDE to make local commits and manage changelists, and the command line to perform pushes.</p>
<h2>Links</h2>
<p>That&#8217;s it! There are tons of ways to learn more, and here are my favorite links:</p>
<ul>
<li><a href="http://refcardz.dzone.com/refcardz/intellij-idea-update">IntelliJ IDEA RefCard</a> from me</li>
<li><a href="http://hamletdarcy.blogspot.com/2010/10/intellij-idea-shortcut-wallpaper.html">IDEA Shortcut Wallpaper</a> from me again</li>
<li>JetBrains&#8217; <a href="http://www.jetbrains.com/idea/documentation/migration_faq.html">IDEA Q&#038;A for Eclipse Users</a></li>
<li><a href="http://hamletdarcy.blogspot.com/2008/02/10-helpful-hints-on-moving-from-eclipse.html">10 Hints for Moving from Eclipse to IDEA</a> from me</li>
<li>All of my <a href="http://hamletdarcy.blogspot.com/search/label/IDEA">IDEA Related Blog Posts</a></li>
<li>All of Canoo&#8217;s <a href="http://www.canoo.com/blog/tag/idea/">IDEA Related Blog Posts</a></li>
<li><a href="http://tv.jetbrains.net/tags/hamlet">My Other Videos on JetBrains.tv</a></li>
<li><a href="http://hamletdarcy.blogspot.com/2011/05/intellij-idea-keyboard-stickers.html">IDEA Keyboard Stickers</a>, so you can learn the shortcuts</li>
<li>And last, you could try <a href="http://www.jetbrains.com/idea/webhelp/">reading the manual</a></li>
</ul>
<p>As always, feel free to keep in touch by leaving a comment. You can read more from me on my blog at <a href="http://hamletdarcy.blogspot.com/">http://hamletdarcy.blogspot.com/</a>, see <a href="http://www.youtube.com/hamletdrc">my YouTube channel</a> for more screencasts, and follow me on Twitter:&nbsp;<a href="http://twitter.com/hamletdrc">@HamletDRC</a></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/10/18/android-and-idea-for-the-eclipse-refugee/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Learning Android in Switzerland? Upcoming Workshops in the next Month</title>
		<link>http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/</link>
		<comments>http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/#comments</comments>
		<pubDate>Wed, 14 Sep 2011 06:40:35 +0000</pubDate>
		<dc:creator>Hamlet</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2248</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/";</script>Canoo is helping organize three different Android workshops in the next month, so now is a great time to get started if you&#8217;ve been wanting to take a shot at Android development. The first event is starting today (14 September) at ch/open in Z&#252;rich. If you hurry you can still get down there in time. [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/";</script><p>Canoo is helping organize three different Android workshops in the next month, so now is a great time to get started if you&#8217;ve been wanting to take a shot at Android development. </p>
<p>The first event is starting today (14 September) at <a href="http://www.ch-open.ch/">ch/open</a> in Z&uuml;rich. If you hurry you can still get down there in time. It is a German language session called <a href="http://www.ch-open.ch/wstage/workshop-tage/workshop-tage-2011/ws9-fragmentierung-der-android-platform/">Umgang mit Fragmentierung auf der Android Plattform&#8221;</a> presented by Andreas H&ouml;lzl and Andrei Socaciu. It&#8217;s a full day session, so feel free to drop in. Better late than never. </p>
<p>The second event is Wednesday 28 September in Basel. <a href="http://www.hackergarten.net">Hackergarten</a>, the monthly user group, is hosting Andreas who will lead us in an Android development night. We plan to develop and publish a full Android app during the evening. This is a free event and Canoo provides food and drinks. You can read the <a href="http://groups.google.com/group/hackergarten/browse_thread/thread/1d6d33a36ea15c16">mailing list thread</a> for more information. The group is in English and German, and it&#8217;s generally a lot of fun. </p>
<p>The third event is in Geneva/Genf. The <a href="http://soft-shake.ch/">SoftShake</a> conference is the 3rd and 4th of October. Andreas and Andrei are presenting <a href="http://soft-shake.ch/en/conference/sessions.html">Tackling fragmentation on the Android platform&#8221;</a>, another full day workshop but this time in English. (By the way, I&#8217;ll be presenting there on Code Generation and Java Boilerplate Busting). </p>
<p>Do none of these fit your schedule? Would you rather have them presented on-site? Canooies are always available to come to your worksplace and present on topics, whether it is Java, Groovy, Andriod, iOS, or whatever. It&#8217;s actually more fun to speak at a customer-site than at a conference. Just email <a href="mailto:info@canoo.com">info@canoo.com</a> for more info or to set something up. </p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/09/14/learning-andriod-in-switzerland-upcoming-workshops-in-the-next-month/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GWT and HTML5 Canvas, the future of the web?</title>
		<link>http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/</link>
		<comments>http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/#comments</comments>
		<pubDate>Thu, 25 Aug 2011 11:35:52 +0000</pubDate>
		<dc:creator>Erik Jan</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Java RIA]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://www.canoo.com/blog/?p=2217</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/";</script>The future of computing lies in mobile computing, more and more devices come on the market, tablets and phones that will connect through the Internet as technology is getting cheaper and wifi and 3g more common. That means our software will also need to run on these handheld devices, because our clients will want their [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/";</script><p>The future of computing lies in mobile computing, more and more devices come on the market, tablets and phones that will connect through the Internet as technology is getting cheaper and wifi and 3g more common. That means our software will also need to run on these handheld devices, because our clients will want their services on all platforms. This is what Java set out to do 15 years ago, so that we have the ability to write software once and run it everywhere. The problem is these new platforms, that I believe will make up a large part of the future have, until now, no Java. It would be great if we can find something that will give us the ability to write our software only once.</p>
<p>I believe that the technology that is going to deliver us this promise is called HTML5. More and more applications will run inside you browser. I&#8217;m typing this article in google docs, which is a perfect example of how applications will evolve. No need to install anything or maintain up to date versions, even an operating system could be very minimalistic (<a href="http://chrome.blogspot.com/search/label/chrome%20os">google chrome</a>). So Google is obviously sharing this vision, but also Microsoft is building it&#8217;s next version of office on something that is based on their web-browser.</p>
<p>Sadly the development language of HTML5 Javascript and not Java. Java has been around a long time and there are a lot of libraries that people have made. Would be cool if we can still use these, the answer is <a href="http://code.google.com/webtoolkit/">Googles Web Toolkit</a>. GWT provides a way to code in Java and then translate that code into Javascript. This way we can still use all that great stuff that others made.</p>
<p>A good example of this future is <a href="http://chrome.angrybirds.com/">Angry Birds</a>, you have probably heard of this game. To create this game they have taken the java implementation of <a href="http://box2d.org/">box2d</a> called <a href="http://www.jbox2d.org/">jbox2d</a> and created a javascript version of that with the help of GWT. Once that is done you can use <a href="http://en.wikipedia.org/wiki/Canvas_element">HTML5 Canvas</a> to draw the Birds and calculate their positions if they are falling. Now because they have build it this way with HTML5 this game could also work on an iPhone, but even better because android is based on java you could create from this source a android version with only one line of code.</p>
<p>Have a look at some of the great things people are building with the HTML5, be sure that your browser supports it.</p>
<ol>
<li>Drawing program <a href="http://muro.deviantart.com/">deviantART</a></li>
<li>Old style game with new technology <a href="http://www.kevs3d.co.uk/dev/arena5/">area5</a></li>
<li><a href="http://www.youtube.com/watch?v=XhMN0wlITLk">Quake GWT HTML5 port</a></li>
</ol>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2011/08/25/gwt-and-html5-canvas-the-future-of-the-web/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileTech Conference 2010 wrap up</title>
		<link>http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/</link>
		<comments>http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 09:24:27 +0000</pubDate>
		<dc:creator>Andreas Hölzl</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=1465</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/";</script>This years MobileTech Conference took place from 6.-8.9. in Mainz at the Rheingoldhalle. In his keynote Tim Bray (Google Android advocate) did not fail to stress the importance of the mobile business by showing some impressive numbers, charts and statements. 6.8 Billion people worldwide, 3.6 Billion mobile subscriptions, +1 Billion mobile devices / year. The [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/";</script><p>This years <a href="http://mobiletechcon.de">MobileTech Conference</a> took place from 6.-8.9. in Mainz at the Rheingoldhalle.</p>
<p>In his keynote Tim Bray (Google Android advocate) did not fail to stress the importance of the mobile business by showing some impressive numbers, charts and statements.<br />
6.8 Billion people worldwide, 3.6 Billion mobile subscriptions, +1 Billion mobile devices / year.<br />
The whole mobile business is a <a href="http://communities-dominate.blogs.com/brands/2008/12/trillion-with-a.html">Trillion (yes, T!) dollar business</a> and the the biggest digital business (asymco.com).<br />
Eric Schmidt: if your web strategy won&#8217;t be successful on mobile, it will not succeed at all.<br />
Steve Jobs: we are a mobile company.</p>
<p><img class="alignnone" title="Tim Bray at the MobileTech Con, Mainz" src="http://sphotos.ak.fbcdn.net/hphotos-ak-ash2/hs314.ash2/59464_156398941039729_138510612828562_485345_2415655_n.jpg" alt="" width="720" height="478" /></p>
<p><strong>Web vs. native?</strong></p>
<p>Actually to Google the question is open. Both approaches have their know advantages and disadvantages. The market will show and in the meantime they&#8217;ll do both (see Chrome and Android).</p>
<p><strong>Whats the ideal number of mobile platforms in the world? (provocative)</strong></p>
<p><strong></strong>Certainly 1 is not ideal, that&#8217;s the conclusion from the Windows Desktop OS experience.<br />
Will the technical aspects decide, compiling down to the metal vs. running a VM?<br />
Certainly the big players are <a href="http://blog.quantcast.com/quantcast/2010/09/august-2010-mobile-os-share.html ">iOS, Android and web</a>.<br />
Again, the market will decide. He believes that Blackberry is here to stay (well at least for some more time), he wouldn&#8217;t count Nokia out, but Windows is certainly not a player showing only vaporware atm. He was wishing WebOS (Palm) to succeed, but questioned that HP has the necessary brains to achieve that.</p>
<p><strong>How to earn money in the mobile software business?</strong></p>
<p><strong></strong>With respect to monetization through Appstores the revenue distribution is inverse squared. That means not many people are earning serious money by selling apps.<br />
Potential ways of monetizing apps are as follows:<br />
sell apps, sell app upgrades, sell in app ads, do in app sales, sell whats on the server<br />
Currently selling apps and selling ads in apps generate equal amounts of revenue. For the future he is expecting the ad side to increase a lot.<br />
He concluded the talk by stressing the importance of privacy in the mobile business.<br />
He himself actually does not feel easy giving away his physical location, interesting &#8230;<br />
Privacy is not only a question of guidelines, but of culture within a company. Google obviously takes the issue very seriously &#8230;<br />
Last but not least he shifted the audience focus to the emerging mobile markets of India, China and Africa. One shouldn&#8217;t limit oneself to a western perspective on the issue.</p>
<p>&#8212;</p>
<p>The conference had a good mix of technical and executive level talks.<br />
Here are my notes on some of them:</p>
<p><strong>iAds</strong></p>
<p><strong></strong>According to Steve Jobs a totally new experience of advertising. Emotional as TV but targeted to a persons specific profile.<br />
Current problems: the ratio of ads to advertising space is very low. Well who wonders given that there are currently only 2 iAds around (Nissan and Unilever). A reason for that is the current restriction that you need a Mio.$ budget to be eligible for advertising on the platform.<br />
Technically iAds are applications you write in the iAd framework, which is an interesting fact and opens up a new market for software company (and closes one for the classical ad designer with no software skills). Atm Apple is doing most of the ads themselves &#8230;<br />
A much more lightweight form of iAds are iAds for developers (less costly, less impressive).<br />
That way app developers can ad for their apps.<br />
Some very interesting legal informations are:<br />
Since you might not agree with user profile Apple is generating secretly of you to optimally target you with iAds, there is an out option: Go to oo.apple.com/ you disallow personal data collection. The consequence might be worth considering: untargeted ads &#8230;<br />
Certainly one might ask oneself the question, how other ad frameworks fit into this new scene?<br />
Well, as long as you (as an ad framework maintainer) to not run a mobile platform in parallel you are safe &#8230; (read that again!)<br />
That means apps with integrated admob ads will no longer make it through the review process.</p>
<p><strong>Mobile couponing</strong></p>
<p><strong></strong>interesting facts: classical paper couponing has a conversion rate of 0.2% whereas mobile couponing has 9%.<br />
Have a look at <a href="http://www.mymobai.de/">MyMobai</a> if you are searching for a service provider in that area.</p>
<p><strong>Usability and mobile platforms</strong></p>
<p><strong></strong>bottom line: there are significant differences between the existing mobile platforms.<br />
In order to promote discoverability one should stick to the customs of the given platform.<br />
consequence: read the usability guideline (if there is one)<br />
consequence2: crossplatform approaches won&#8217;t be that successful<br />
take home message: do not develop for a platform you are not using youself</p>
<p><strong>Lessons learned from </strong><strong><a href="http://www.swoodoo.com/de/">swoodoo</a></strong></p>
<p><strong></strong>Good wrap up of iterative, user centric development.<br />
Prototyping can be easily done with keynote/powerpoint and paper models (have a look at <a href="http://www.uistencils.com">uistencils.com</a> for your favorite UI elements &#8230;).<br />
Actually when developing mobile applications proper usability engineering is key. Users won&#8217;t forgive bad design.</p>
<p><strong>The state of AR</strong></p>
<p><strong></strong>Gardeya started off with an example of Desktop AR (Tissot) went on to <a href="http://www.layar.com/">Layar</a>, currently the biggest AR platform.<br />
It might be surprising, but AR actually sells smartphones (Samsung Galaxy comes with Layar preinstalled).<br />
Next evolutionary step: form video overlay to video analysis<br />
Did you know that Google has a patent on street view to replace real world billboards with virtual ones?<br />
Final statement about AR: <a href="http://www.youtube.com/watch?v=fSfKlCmYcLc">kiichi matsuda &#8211; domestic robocop</a></p>
<p><strong>Staying connected with jwebsocket.org</strong></p>
<p><strong></strong>good framework, full-duplex efficient real-time communication using a permanent connection.<br />
Good talk, but to be &#8220;web&#8221; in the sense of &#8220;web scale&#8221; the server implementation should provide support to handle 100k+ simultaneous connections.</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2010/09/10/mobiletech-conference-2010-wrap-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jazoon 08 Day I</title>
		<link>http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/</link>
		<comments>http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 10:04:06 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Jazoon]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=269</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/";</script>Here are some quick notes on the sessions I attended yesterday at Sihlcity. I believe Jazoon will be uploading videos and slides very soon: First in my lineup was a talk on using Google Web Toolkit for a business application in a typical enterprise environment. This was kind of like a case study. Dmitry Buzdin [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/";</script><p><a href="http://www.flickr.com/photos/canoo/2609288583/" title="jazoon by canoo engineering, on Flickr"><img src="http://farm4.static.flickr.com/3078/2609288583_756f72145e_m.jpg" width="240" height="180" alt="jazoon" /></a></p>
<p>Here are some quick notes on the sessions I attended yesterday at Sihlcity. I believe Jazoon will be uploading videos and slides very soon:</p>
<p>First in my lineup was a talk on using Google Web Toolkit for a business application in a typical enterprise environment. This was kind of like a case study. Dmitry Buzdin talked about the experience his company gained and listed the various pros and cons.</p>
<p>Next, I listened in to Bruno Schäffer&#8217;s talk together with Christoph Henrici and Daniel Buffet of APG. The talk described the migration of an Oracle Forms application to Java forms for the advertising industry. Main requirement: development and application performance had to remain just as fast as with Oracle Forms. A requirement that the migrated application managed to over-fulfill. </p>
<p><a href="http://www.flickr.com/photos/canoo/2610175088/" title="IMG_5023 by canoo engineering, on Flickr"><img src="http://farm4.static.flickr.com/3208/2610175088_2fba5ea635_m.jpg" width="180" height="240" alt="IMG_5023" /></a></p>
<p>Canoo&#8217;s Andreas Hölzl and Christian Stettler presented their Google Android experience report. They showed an application they developed for the Android Developer Challenge called Mobile Zoo. Their baseline: &#8220;What&#8217;s here looks promising. Let&#8217;s see the devices!&#8221;</p>
<p>Brian Sletten&#8217;s presentation on data-driven applications was very interesting. I particularly liked the analogy between resampling music and data. </p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2008/06/25/jazoon-08-day-i/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sun asks for a repeat performance!</title>
		<link>http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/</link>
		<comments>http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/#comments</comments>
		<pubDate>Fri, 09 May 2008 13:06:13 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[JavaFX]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Dierk König]]></category>
		<category><![CDATA[Mike Mannion]]></category>
		<category><![CDATA[Speakers/Sessions]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=260</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/";</script>Fun and great feedback following Mike and Dierk&#8217;s talk at JavaOne; Sun asks for a repeat performance! As previously announced, Dierk and I held a talk at JavaOne today (actually Dierk held no less than TWO talks &#8211; there&#8217;s just no stopping this guy!) The title of our over-subscribed session was &#8220;Going Mobile with JavaFX [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/";</script><p><em>Fun and great feedback following Mike and Dierk&#8217;s talk at JavaOne; Sun asks for a repeat performance!</em></p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2008/03/javaone.jpg" alt="" title="javaone.jpg" width="110" height="38" class="alignnone size-medium wp-image-228" /></p>
<p>As previously announced, Dierk and I held a talk at JavaOne today  (actually Dierk held no less than TWO talks &#8211; there&#8217;s just no stopping this guy!) The title of our over-subscribed session was <strong>&#8220;Going Mobile with JavaFX Script Technology, Groovy and Google Android&#8221;</strong> and in addition to an eager and informed public, we were  honoured to have some of JavaFX&#8217;s and Android&#8217;s champions and contributors in the audience.</p>
<p>We took the first few moments of the session to emphasize one of Canoo&#8217;s core value propositions: The discernment of hyperbole from reality. Indeed, much of my part of the talk concerned the current<br />
status of JavaFX Script (scheduled official release in June 08) and how it does not (yet) live up to many of the claims being made about it.</p>
<p>Unsurprisingly, our statements concerning the immature status of functionality and tooling in JFX were not met with silence. And in a delightfully spontaneous moment at the end of the talk we invited<br />
James Weaver to join us on stage for what amounted to a mini panel session.</p>
<p>James&#8217; main point was that JFX makes rich client development  significantly easier than, say, with Swing, and that this can only be  good for the Java platform. Of course, we don&#8217;t disagree with this<br />
statement. But where differences in opinion remain is (a) in the use of the word &#8220;significantly&#8221;; and (b) in our level of confidence  regarding whether or not JavaFX Script will succeed in a market, where<br />
competition is tough, well-established, and only getting tougher by  the week. JFX&#8217;s current deficiencies (which we talked about in some detail) of course only reduce its chances of success.</p>
<p>So what&#8217;s our primary take-home based on the feedback we got directly after the talk and at the Canoo booth? That a level-headed and unbiased opinion on a given technology is what the majority of<br />
conference attendees are looking for. And who are these attendees? Quite simply: Real people representing real companies who serve real customers, who nevertheless enjoy being inspired by examples from the cutting edge, such as our <a href="http://musicpinboard.com/">MusicPinboard</a> JavaFX and Mobile Shopping Android applications.</p>
<p>Finally, to top off all the great feedback, Sun asked us to repeat the  session this coming Friday!!! So if you didn&#8217;t catch us the first time around, we&#8217;d be thrilled to see you in hall 302 of the Moscone Center  at 13:30.</p>
<p>Thanks to everyone who did attend for coming and for the positive feedback!</p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2008/05/09/sun-asks-for-a-repeat-performance/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Canoo session at JavaOne 2008</title>
		<link>http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/</link>
		<comments>http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/#comments</comments>
		<pubDate>Tue, 22 Apr 2008 07:33:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[JavaOne]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Rich Internet Applications]]></category>

		<guid isPermaLink="false">http://canoo.com/blog/?p=253</guid>
		<description><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/";</script>While Dierk König is speaking at this week&#8217;s JAX in Wiesbaden, Germany, I&#8217;m sending out an info pointing to his next session in San Francisco. Dierk König and Mike Mannion are presenting a session at JavaOne 2008 on: Going Mobile with JavaFX™ Script Technology, Groovy, and Google Android Add this session to your schedule! And [...]]]></description>
			<content:encoded><![CDATA[<script type="text/javascript">dzone_url = "http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/";</script><p>While <a href="http://it-republik.de/jaxenter/jax/speaker.php?language=#1208-k%F6nig-dierk">Dierk König</a> is speaking at this week&#8217;s JAX in Wiesbaden, Germany, I&#8217;m sending out <a href="http://www.canoo.com/news/javaone.html">an info</a> pointing to his next session in San Francisco.  </p>
<p><img src="http://canoo.com/blog/wp-content/uploads/2008/03/javaone.jpg" alt="JavaOne 2008" /></p>
<p>Dierk König and Mike Mannion are presenting a session at JavaOne 2008 on:    	</p>
<blockquote><p> <a href="https://www28.cplan.com/cc191/session_details.jsp?isid=295815&#038;ilocation_id=191-1&#038;ilanguage=english">Going Mobile with JavaFX™ Script Technology, Groovy, and Google Android</a>
</p></blockquote>
<p><br/><br />
Add this session to your schedule! And stop by at the Canoo booth at booth number 429.<br />
<br/></p>
<script>var dzone_style="2";</script><script language="javascript" src="http://widgets.dzone.com/widgets/zoneit.js"></script><div style="float: left; width: 140px; height: 21px; overflow: hidden; position: relative; left: 8px;"><script>//<![CDATA[
reddit_url="http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/";
//]]&gt;
</script><script language="javascript" src="http://reddit.com/button.js?t=1"></script></div>]]></content:encoded>
			<wfw:commentRss>http://www.canoo.com/blog/2008/04/22/canoo-session-at-javaone-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

