<?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>Obvious Ideas &#187; Software Development</title>
	<atom:link href="http://www.arikfr.com/blog/category/software-development/feed" rel="self" type="application/rss+xml" />
	<link>http://www.arikfr.com/blog</link>
	<description>From the desk of a Software Developer</description>
	<lastBuildDate>Mon, 05 Sep 2011 08:05:33 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>How To Write Class Methods in CoffeScript</title>
		<link>http://www.arikfr.com/blog/how-to-write-class-methods-in-coffescript.html</link>
		<comments>http://www.arikfr.com/blog/how-to-write-class-methods-in-coffescript.html#comments</comments>
		<pubDate>Sun, 10 Jul 2011 10:03:03 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[CoffeeScript]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=144</guid>
		<description><![CDATA[I recently started writing my client side code in CoffeeScript. While CoffeeScript (and migrating to it) deservers a post of its own, I wanted to share something quick and simple I learned today, which is how to write class methods: &#8230; <a href="http://www.arikfr.com/blog/how-to-write-class-methods-in-coffescript.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I recently started writing my client side code in <a href="http://jashkenas.github.com/coffee-script/" title="CoffeeScript Project Homepage">CoffeeScript</a>. While CoffeeScript (and migrating to it) deservers a post of its own, I wanted to share something quick and simple I learned today, which is how to write class methods:</p>
<p><script src="https://gist.github.com/1074428.js?file=class_methods.coffee"></script></p>
<p>In this example, <em>stripTags</em> is class method of the <em>Utils</em> class.<br />
It took me some googling to find it, so I thought it&#8217;s worth sharing.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-write-class-methods-in-coffescript.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using the terminal often? You need Terminitor</title>
		<link>http://www.arikfr.com/blog/using-the-terminal-often-you-need-terminitor.html</link>
		<comments>http://www.arikfr.com/blog/using-the-terminal-often-you-need-terminitor.html#comments</comments>
		<pubDate>Fri, 11 Mar 2011 19:01:19 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Productivity]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[gem]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[terminitor]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=140</guid>
		<description><![CDATA[Terminitor is a Ruby gem that automates your development workflow setup. Basically, it allows you to easily set different environments in your terminal. Defining which tabs to open and which commands to run in each. Installation is as easy as: &#8230; <a href="http://www.arikfr.com/blog/using-the-terminal-often-you-need-terminitor.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="https://github.com/achiu/terminitor">Terminitor</a> is a Ruby gem that automates your development workflow setup. Basically, it allows you to easily set different environments in your terminal. Defining which tabs to open and which commands to run in each. </p>
<p>Installation is as easy as:<br />
<code>gem install terminitor<br />
terminitor init</code><br />
(assuming you already have Ruby and Ruby gems installed)</p>
<p>Then you create your terminitor setups with <code>terminitor edit [name]</code>. Defining terminitor setup is very is. Here is mine for one of my projects:<br />
<script src="https://gist.github.com/866372.js?file=pulse.term"></script></p>
<p>No more keeping all those servers running in the background, just because I&#8217;m lazy to open them again. Now restarting my working environment is just a single command.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/using-the-terminal-often-you-need-terminitor.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To Protect Your Program Against Piracy</title>
		<link>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html</link>
		<comments>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:22:16 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[piracy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[xbox]]></category>
		<category><![CDATA[xbox live]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=94</guid>
		<description><![CDATA[A friend of mine sent me this question by email today: I have  a software written in visual C++ which is compiled into an .exe file and I wish to distribute (sell) it in a &#8220;secure&#8221; (anti pirated) way.  How &#8230; <a href="http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 250px"><a href="http://www.flickr.com/photos/penner42/2889744739/"><img src="http://farm4.static.flickr.com/3018/2889744739_399aa6795b_m.jpg" alt="This is another way to protect your software - just ask politely. (Photo by penner42 on Flickr)" width="240" height="172" /></a><p class="wp-caption-text">This is another way to protect your software - just ask politely. (Photo by penner42 on Flickr)</p></div>
<p>A friend of mine sent me this question by email today:</p>
<blockquote><p>I have  a software written in visual C++ which is compiled into an .exe file and I wish to distribute (sell) it in a &#8220;secure&#8221; (anti pirated) way.  How can I &#8220;lock it&#8221; so it will be able to run on only one computer (the one of the person who purchased the software)?  Is there a software to turn .exe files into protected ones, or good tutorials on what to do from the coding side?</p></blockquote>
<p>I thought that for the general good and in order to get more views on the topic, I will post my answer to him here:</p>
<p>I can think of mainly four ways to protect your software -</p>
<ol>
<li>Some serial number authentication mechanism &#8211; this is the most traditional way and it fails big time. All of the documented techniques to protect yourself in such a way are already broken, and if you&#8217;re not in the field of software security you probably won&#8217;t find anything better. This might be a good way if you know that your target market is non-technical people who probably won&#8217;t bother breaking your authentication mechanism themselves and usually don&#8217;t know someone who can do it for them.</li>
<li>Serial number authentication and online check &#8211; this is what Babylon do. When their application connects to their server it verifies the serial number it has with their database, if they see some misuse they either lock your application or just stop providing you answers. Microsoft use similar technique with XBox Live accounts &#8211; whenever you connect to XBox Live they check if the games you run are legal &#8211; if not they take actions against you. <a href="http://www.informationweek.com/news/hardware/peripherals/showArticle.jhtml?articleID=221601267">In recent check they disabled 1 million pirated accounts</a>. But not only they disabled their access to XBox Live, they also disabled the hard drive in their console. This is quite good method as long as your software requires constant communication with your server. If not there are ways to override this protections (like disabling access to the Internet from your application).</li>
<li>Good target market &#8211; like in mentioned in (1) a lot depends on your target audience. If you create a truly great product and price it in reasonable and achievable price, most people are likely to pay (unless your target solely to the Israeli market&#8230;).</li>
<li>Online service &#8211; if you convert your software into an online service (like the <a href="http://www.37signals.com/">37Signals</a> products, <a href="http://www.zoho.com/">ZoHo</a>, <a href="http://www.github.com/">GitHub</a> and many more), you are fully protected up to the extent that people will use stolen credit cards or hack your system in some way. But this actions are considered as &#8220;real crimes&#8221; by most people and they will less likely use them or spread the knowledge about them.</li>
</ol>
<p>This are the four ways I can think of. If you ask me what would I do, I would go with option #4 &#8211; all other ways (besides #3) require you to invest unreasonable time and money in protecting your software instead of improving it. While it can be a nice mouse&amp;cat game, it highly unproductive.</p>
<p>That&#8217;s what I think, I&#8217;m not sure if it really helps my friend, but maybe one of the readers will offer some better insights &amp; tips on the topic.</p>
<p><strong><em>Arik</em></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>How To Create a Teapot with PHP</title>
		<link>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html</link>
		<comments>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html#comments</comments>
		<pubDate>Wed, 13 May 2009 09:05:30 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[2324]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rfc]]></category>
		<category><![CDATA[rfc-2324]]></category>
		<category><![CDATA[teapot]]></category>
		<category><![CDATA[topify]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=67</guid>
		<description><![CDATA[Saw on @toolmantim&#8216;s blog that he turned his blog into a tea pot. He even made a Rack middleware that can turn any Rake app into a teapot. &#8220;Cool! it can be cool addition to Topify, too&#8221;, I thought to &#8230; <a href="http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Saw on @<a href="http://twitter.com/toolmantim">toolmantim</a>&#8216;s blog that he <a href="http://toolmantim.com/articles/im_a_little_teapot">turned his blog into a tea pot</a>. He even made <a href="http://github.com/toolmantim/teapot/">a Rack middleware</a> that can turn any Rake app into a teapot. <em>&#8220;Cool! it can be cool addition to Topify, too&#8221;</em>, I thought to myself. The problem? <a href="http://www.topify.com/">Topify</a> is PHP and not Ruby. The solution? 6 lines of PHP code:<br />
<script src="http://gist.github.com/110940.js"></script></p>
<p>And now you can do :</p>
<blockquote><p>
<strong>arikfr:~ arik$ curl -i -X BREW http://topify.com/</strong><br />
HTTP/1.1 418 I&#8217;m a teapot<br />
Date: Wed, 13 May 2009 08:51:07 GMT<br />
Server: Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2<br />
X-Powered-By: PHP/5.2.6<br />
Content-Length: 29<br />
Content-Type: text/html</p>
<p>We do serve ICE Tea, though.</p></blockquote>
<p>It&#8217;s not as elegant as Ruby code or Ruby gem, but it does the work.</p>
<p>If you use this on your own server, please ping me. I would love to hear <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gravatars to Google Contacts Importer</title>
		<link>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html</link>
		<comments>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html#comments</comments>
		<pubDate>Sun, 12 Oct 2008 07:16:28 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Contacts]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Google Code]]></category>
		<category><![CDATA[Gravatar]]></category>
		<category><![CDATA[Mono]]></category>
		<category><![CDATA[Opensource]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html</guid>
		<description><![CDATA[I really like avatars and therefore I&#8217;m a big fan of Gravatar. When Google first released their Contacts API, the first thing I though of was creating a small application to sync my friend&#8217;s Gravatars to my Google Contacts addressbook. The problem &#8230; <a href="http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I really like avatars and therefore I&#8217;m a big fan of <a href="http://www.gravatar.com" title="Gravatar">Gravatar</a>. When Google first <a href="http://googledataapis.blogspot.com/2008/03/3-2-1-contact-api-has-landed.html">released their Contacts API</a>, the first thing I though of was creating a small application to sync my friend&#8217;s Gravatars to my Google Contacts addressbook. The problem was that the first version of the API didn&#8217;t have an option to manage the photos of the contacts. Few months later, <a href="http://googledataapis.blogspot.com/2008/05/google-contacts-api-update.html">Google updated the API</a> to include the option to update the contact&#8217;s photos. I played a bit with the new API, but never had the time to write the appliaction.
</p>
<p>Yesterday  (October 11 2008), the guys from Automattic/Gravatar wrote a post the <a href="http://blog.gravatar.com/2008/10/11/gravatar-one-year-later/" title="Gravatar, one year later">summarizes their last year</a>. This reminded me of this small project that I always wanted to code. I&#8217;ve decidced to code a first release of the application and put the code on <a href="http://code.google.com/p/gravatar-importer/" title="Gravatars to Google Contacts Importer">Google Code</a> for other to contribute.</p>
<p>
<a href="http://www.flickr.com/photos/arikfr/2933928932/"><img src="http://farm4.static.flickr.com/3205/2933928932_19030debce_m.jpg" alt="Gravatars to Google Contacts Importer" width="240" height="180" /> </a>
</p>
<p>
I&#8217;v decided to make it a .NET application and not a Python script, to address more people (I guess that more people are comfortable with running application than Python scripts). The reason that this isn&#8217;t a webapp, is because it takes a whole lot of time to process each contact list. If there was an option to question the Gravatar API for existence of a Gravatar for each email, it would make everything a bit quicker.</p>
<p>
It&#8217;s .NET 2.0, so I guess there shouldn&#8217;t be a problem to run it on Linux using <a href="http://www.mono-project.com/Main_Page" title="Mono Project">Mono</a>, although I didn&#8217;t try that. The code is very simple, so if someone wants to translate it to other languages it&#8217;s possible and shouldn&#8217;t take too much time.</p>
<p>This is an alpha version, therefore don&#8217;t be scared if a nasty exception jumps at you <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  There are a lot of things to imporve, like adding threads to speed up things, time left counter and more. When I will have some more free time, I might add all this.</p>
<p>This is my first opensource project and<span style="font-weight: bold" class="Apple-style-span"> your comments are mostly appreciated. </span></p>
<p><span style="font-weight: bold" class="Apple-style-span"></span><span style="font-weight: bold" class="Apple-style-span"><span style="font-style: italic" class="Apple-style-span">Arik</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>How To Send SMS Message From Python Via Skype</title>
		<link>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html</link>
		<comments>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html#comments</comments>
		<pubDate>Fri, 03 Oct 2008 17:56:51 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Develop]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Script]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[SMS]]></category>
		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html</guid>
		<description><![CDATA[In case you didn&#8217;t know, Skype offers an extensive API for their application. This API can be used via Java library, COM module or a Python library. The Java library, COM Module and Python library all share similar features and &#8230; <a href="http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In case you didn&#8217;t know, <a href="https://developer.skype.com/">Skype offers an extensive API</a> for their application. This API can be used via <a href="https://developer.skype.com/wiki/Java_API">Java library</a>, <a href="https://developer.skype.com/Docs/Skype4COM">COM module</a> or a <a href="https://developer.skype.com/wiki/Skype4Py">Python library</a>. The Java library, COM Module and Python library all share similar features and I decided to try out the Python library. What I wanted to do is to write a simple Python script that uses the Skype API to send SMS message from Skype. After going through their API documention, I was ready to go and the outcome was this short script: <br />
<script src="http://gist.github.com/110066.js"></script><br />
I think that the code is pretty straightforward and doesn&#8217;t require additional explaining. Feel free to ask questions at the comments.<br />
<em>Arik</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>ASP.NET MVC extension as a sign of change at Microsoft</title>
		<link>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html</link>
		<comments>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 22:09:24 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html</guid>
		<description><![CDATA[The new ASP.NET MVC extension seems to be a sign of change at Microsoft. This extension is born from the requests of the community, being released with full source-code and integrates with not only Microsoft&#8217;s unit testing solution, but also &#8230; <a href="http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://www.asp.net/mvc/">ASP.NET MVC extension</a> seems to be a sign of change at <a href="http://www.microsoft.com/">Microsoft</a>. This extension is born from the requests of the community, being released with <a href="http://weblogs.asp.net/scottgu/archive/2008/03/21/asp-net-mvc-source-code-now-available.aspx">full source-code</a> and integrates with not only Microsoft&#8217;s unit testing solution, but also with the alternatives.</p>
<p>And from what it seems, it really brings the fun to developing Web applications with ASP.NET.</p>
<p><em>Is Microsoft really changing?</em></p>
<p>Just wanted to share this thought. And if ASP.NET MVC interests you, I recommend following <a href="http://www.hanselman.com/blog">ScottHa</a>&#8216;s and <a href="http://weblogs.asp.net/scottgu/">ScottGu</a>&#8216;s blogs and watching this <a href="http://www.asp.net/mvc/">excellent screencasts</a> by ScottHa.</p>
<p><em>Arik</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>A look into the new Android SDK</title>
		<link>http://www.arikfr.com/blog/a-look-into-the-new-android-sdk.html</link>
		<comments>http://www.arikfr.com/blog/a-look-into-the-new-android-sdk.html#comments</comments>
		<pubDate>Thu, 14 Feb 2008 07:00:04 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Geo]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[Updates]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/a-look-into-the-new-android-sdk.html</guid>
		<description><![CDATA[After seeing all this videos of prototype Android devices from 3GSM at Barcelona, it&#8217;s time for some more good news &#8211; as I reported earlier on twitter, Google has finally released the new Android SDK. As Dan Morill mentioned on &#8230; <a href="http://www.arikfr.com/blog/a-look-into-the-new-android-sdk.html">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After <a href="http://gizmodo.com/354849/android-hands+on-video-its-fast-its-still-not-there">seeing</a> <a href="http://www.anddev.org/viewtopic.php?p=3629#3629">all</a> <a href="http://www.anddev.org/viewtopic.php?p=3545#3545">this</a> videos of prototype Android devices from 3GSM at Barcelona, it&#8217;s time for some more good news &#8211; as I <a href="http://twitter.com/arikfr/statuses/708590932">reported</a> earlier on <a href="http://twiter.com/arikfr">twitter</a>, Google has finally released the <a href="http://android-developers.blogspot.com/2008/02/android-sdk-m5-rc14-now-available.html">new Android SDK</a>. As Dan Morill mentioned on the <a href="http://www.arikfr.com/blog/updates-from-android-code-day.html">Code Day</a>, the new SDK introduces a new UI (although Google promised that it still work in progress), new Eclipse plugin and some very interesting API changes -</p>
<blockquote>
<ul>
<li><strong>New user interface</strong> &#8211; As I <a href="http://android-developers.blogspot.com/2007/11/posted-by-jason-chen-android-advocate.html" title="mentioned when we introduced the m3 version">mentioned when we introduced the m3 version</a> of the Android SDK, we&#8217;re continuing to refine the UI that&#8217;s available for Android. m5-rc14 replaces the previous placeholder with a new UI, but as before, work on it is still in-progress.</li>
<li><strong>Layout animations</strong> &#8211; Developers can now create layout animations for their applications using the capabilities introduced in the <a href="http://code.google.com/android/migrating/m3-to-m5/m5-api-changes.html#animations" title="android.view.animation">android.view.animation</a> package. Check out the LayoutAnimation*.java files in the APIDemos sample code for examples of how this works.</li>
<li><strong>Geo-coding</strong> &#8211; <a href="http://code.google.com/android/reference/android/location/Geocoder.html" title="android.location.Geocoder">android.location.Geocoder</a> enables developers to forward and reverse geo-code (i.e. translate an address into a coordinate and vice-versa), and also search for businesses.</li>
<li><strong>New media codecs</strong> &#8211; The <a href="http://code.google.com/android/reference/android/media/MediaPlayer.html" title="MediaPlayer">MediaPlayer</a> class has added support for the OGG Vorbis, MIDI, XMF, iMelody, RTTL/RTX, and OTA audio file formats.</li>
<li><strong>Updated Eclipse plug-in</strong> &#8211; A new version of ADT is available and provides improvements to the Android developer experience. In particular, check out the new Android Manifest editor.</li>
</ul>
</blockquote>
<p>As for the UI change, you can watch the following videos (<a href="http://www.anddev.org/viewtopic.php?p=3542#3542">origin</a>) from 3GSM Barcelona :</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/h6FtqpnpMtE&#038;rel=1&#038;border=0"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/h6FtqpnpMtE&#038;rel=1&#038;border=0" type="application/x-shockwave-flash" wmode="transparent"width="425" height="355"></embed></object></p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/Drxj-uL1UaY&#038;rel=1"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/Drxj-uL1UaY&#038;rel=1" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>You can see a more complete list of the major changes <a href="http://code.google.com/android/migrating/m3-to-m5/m5-api-changes.html" title="Android SDK M5 Release - API Changes Overview">here</a> (you can also find a complete difference report <a href="http://code.google.com/android/migrating/m3-to-m5/changes.html" title="API Differences Report">here</a>). So what are you waiting for? Go <a href="http://code.google.com/android/intro/upgrading.html" title="Upgrading the SDK Instructions">upgrade</a> <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/a-look-into-the-new-android-sdk.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

