<?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>Developer World &#187; developers</title>
	<atom:link href="http://developer.sonyericsson.com/wp/tag/developers/feed/" rel="self" type="application/rss+xml" />
	<link>http://developer.sonyericsson.com/wp</link>
	<description>Sony Ericsson Developer World</description>
	<lastBuildDate>Wed, 08 Feb 2012 21:32:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Tips for reducing APK file size</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=tips-for-reducing-apk-file-size</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/#comments</comments>
		<pubDate>Tue, 31 Jan 2012 18:21:33 +0000</pubDate>
		<dc:creator>Joe Padre</dc:creator>
				<category><![CDATA[Portal]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[9Patch]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android development]]></category>
		<category><![CDATA[APK]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[guidelines]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=5315</guid>
		<description><![CDATA[Are you having problems getting under the current 50 MB upload limit imposed by Android Market™? Don’t let it be a roadblock in preparing your Android™ app for market. Instead, use these excellent tips for reducing the file size of your APK. David Karlsson, a software architect at Sony Ericsson, will get you all the [...]]]></description>
			<content:encoded><![CDATA[<p>Are you having problems getting under the current 50 MB upload limit imposed by Android Market™? Don’t let it be a roadblock in preparing your Android™ app for market. Instead, use these excellent tips for reducing the file size of your APK. David Karlsson, a software architect at Sony Ericsson, will get you all the details. Read more after the jump.</p>
<p><span id="more-5315"></span></p>
<div id="attachment_5319" class="wp-caption alignnone" style="width: 435px"><a href="http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/david_karlsson/" rel="attachment wp-att-5319"><img class="size-medium wp-image-5319" src="http://developer.sonyericsson.com/wp/files/2012/01/david_karlsson-425x256.jpg" alt="David Karlsson" width="425" height="256" /></a><p class="wp-caption-text">David Karlsson, Sony Ericsson software architect</p></div>
<p>Hi, I’m David Karlsson, a Sony Ericsson Software Architect. My work mainly involves giving architectural guidance and technical support to our development partners and third party vendors. One important developer topic that comes up frequently is how to reduce the APK file size of an app. Developers who are submitting apps to Android Market™ sometimes discover that their APK file exceeds 50 MB, the current upload size limit. But you don’t have to accept the APK file size as is. There are ways you can reduce your APK file size.</p>
<p><strong>What is an APK file?</strong></p>
<p>An <a title="APK defintion" href="http://en.wikipedia.org/wiki/APK_(file_format)" target="_blank">APK</a> is an Android application package file. Each Android application is compiled and packaged in a single file that includes all of the application&#8217;s code (.dex files), resources, assets, and manifest file. The APK file is basically a .zip file, so there’s no way of compressing its size any further.</p>
<p><strong>Why you should consider keeping files as small as possible</strong></p>
<p>Memory space on smartphones is often a competitive area, now that most users are storing music, video, messages are more, in addition to downloading apps. The smaller you make your APK, the better it is for the user, and that may be a deciding factor on whether to download your app, versus a similar app that takes up more phone memory.</p>
<p><strong>Tips for reducing file size</strong></p>
<p>Here are a number of recommendations for reducing static footprint. You can choose the ones that fit best for your own particular needs.</p>
<p><em>ProGuard</em><em></em></p>
<p>A tool for code shrinking, like ProGuard, will significantly reduce the static foot print. The tool is available at <a title="SourceForge home page" href="http://proguard.sourceforge.net/" target="_blank">sourceforge</a>. Note that it is very important to re-test all of the application after applying ProGuard since it may change the application behavior. As ProGuard replaces the application symbols, to make the code difficult to read, it is important that you retain the symbol mapping, so that you can translate a stack trace back to the original symbols if you have to investigate a crash in your application.</p>
<p><em>Removal of debug information</em><em></em></p>
<p>We recommend that you remove all debug-related functionality from the application. The application generally does not see or use this data, and the Android operating system does not require it to run the application. Hence, the debug information only wastes space, and should be removed.</p>
<p>To accomplish this, all debug related functionality must be enclosed in conditional blocks, like below:</p>
<p>static final debug = false;</p>
<p>if (debug) {</p>
<p>          Log.v(TAG, &#8220;Debug …”);</p>
<p>}</p>
<p>It is important that the debug flag is set at compile time (i.e. declared as static final) for the compiler to be able to completely remove all debug functionality. Creating your own debug method like the one shown below is not a good idea because the call to myDebugPrint() is not enclosed by a conditional block, which means that the compiler must retain information about myDebugPrint() in the calling class.</p>
<p>public void myDebugPrint() {</p>
<p>    if (Debug) {</p>
<p>              Log.v(TAG, &#8220;Debug …”);</p>
<p>    }</p>
<p>}</p>
<p>…</p>
<p>myDebugPrint()</p>
<p>…</p>
<p><em> </em></p>
<p><em>Removal of debug symbols from native libraries</em><em></em></p>
<p>Using debug symbols makes sense if your application is still in development, and still requires debugging. But if debug symbols are still appearing when you compile a release build, and if you want to remove them, then we recommend that the Debug symbols be removed from native libraries (.so files). This is done using the arm-eabi-strip command, from the Android NDK.</p>
<p><em>Recommended media formats</em><em></em></p>
<p>If your application relies heavily on images, audio or video, another way you can reduce the APK size is by using certain media formats. We recommend that you use the following media formats for images, audio and video:</p>
<ul>
<li><strong>Images</strong>: PNG or JPEG. Use PNGs; since it is a lossless format it is very suitable for textures and artwork as there will be no visual artefacts from the compression. If there are space constraints, use JPEGs or a combination of PNGs and JPEGs. A high quality JPEG image may work fine for large photo-realistic images, which the JPEG compression scheme is optimised for.</li>
<li><strong>Audio</strong>: AAC Audio is recommended for all audio resources. AAC achieves better compression at a given quality, compared to mp3 or Ogg Vorbis. Raw formats such as WAV should never be used. The common rational for using the WAV format is that decoding compressed audio streams usually means high latency at playback. However, Android provides the Sound Pool API which enables applications to use compressed audio streams without the penalty of high latency.</li>
<li><strong>Video:</strong> Use H264 AVC. Encode the video to a resolution no larger than the screen resolution of the target device (if known).</li>
</ul>
<p><em>Optimise PNG sizes without losing quality</em></p>
<p>If you use PNG format, PNG images can be reduced in file size without losing quality. To do this, use a tool such as <a title="OptiPNG home page" href="http://optipng.sourceforge.net/" target="_blank">OptiPNG</a> or <a title="PNGCrush home page" href="http://pmt.sourceforge.net/pngcrush/" target="_blank">PNGCrush</a>. Both are great for reducing PNG file size while still ensuring image quality. PNGcrush is an open-source program that iterates over PNG filters and zlib (Deflate) parameters, compresses the image repeatedly using each parameter configuration, and chooses the configuration that yields the smallest compressed (IDAT) output. On the other hand, OptiPNG performs the trials entirely in memory, and writes only the final output file on the disk. Moreover, it offers multiple optimization presets to the user.</p>
<p><em>Use 9patch PNGs</em><em> to scale your images</em></p>
<p>A <a title="9Patch png description" href="http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch" target="_blank">9patch png</a> is a special format for PNG that can be used for backgrounds. Nine patch images are especially useful when designing buttons. Instead of defining a regular bitmap to be used as a background, a 9patch defines nine segments – for each of the four corners, the four edges, and the centre. (See illustration).</p>
<div id="attachment_5320" class="wp-caption alignnone" style="width: 149px"><a href="http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/9patchpng/" rel="attachment wp-att-5320"><img class="size-full wp-image-5320" src="http://developer.sonyericsson.com/wp/files/2012/01/9PatchPNG.jpg" alt="9Patch PNG" width="139" height="165" /></a><p class="wp-caption-text">Segments defined for 9patch PNG.</p></div>
<p>When you use a 9patch image, the image is subject to the following conditions:</p>
<ul>
<li>The corner segments are never scaled.</li>
<li>The edge segments are repeated along the edge of the in order to fill the edge between the corner segments.</li>
<li>The centre segment is repeated to fill the centre of the background between the four edges.</li>
<li>The illustration below shows two buttons. The background of each button is generated from the same 9patch.
<p><div id="attachment_5321" class="wp-caption alignnone" style="width: 245px"><a href="http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/9patchpngexamples/" rel="attachment wp-att-5321"><img class="size-full wp-image-5321" src="http://developer.sonyericsson.com/wp/files/2012/01/9PatchPNGexamples.jpg" alt="9Patch PNG examples" width="235" height="51" /></a><p class="wp-caption-text">Example of buttons generated from the same 9patch file.</p></div></li>
</ul>
<p> A single 9patch PNG can be used to replace many background images, as it can scale to fill the size of the control. Equally, a single 9patch image can be used on all devices of the same dpi screen, removing the need for screen-dependent backgrounds.</p>
<p><em>Remove unused resources</em><em></em></p>
<p>Another potential group of space wasters to consider for removal from your APK file are unused resources in your res directory, such as unused layouts, drawables and colors. To detect unused resources in your APK which might be able to be removed, use the <a title="Android Unused Resources" href="http://code.google.com/p/android-unused-resources/" target="_blank">android-unused-resources</a> tool. Android Unused Resources is a Java application that will scan your project for unused resources.</p>
<p><em>Avoid duplication</em></p>
<p>Making sure that your application doesn’t have duplicate functionality or duplicate assets is an obvious way to avoid having unnecessary files in your APK. It is important to understand which Android APIs you use, and the full functionality that each provides. It could be that one Android API is already doing the work of another API. Duplicated assets (strings, bitmaps etc) are also a waste of space, and can be easily avoided. To a lesser extent, duplicated code will also unnecessarily increase the size of the delivered binary.</p>
<p>***</p>
<p>If you have any questions on how to reduce APK file size, feel free to leave a comment and we’ll get back to you with an answer as soon as possible.</p>
<p><strong>More information</strong><strong></strong></p>
<ul>
<li>Read our developer tip about <a title="Installing large APK files to the SD card blog post" href="http://developer.sonyericsson.com/wp/2011/08/01/game-developer-tip-3-installing-large-apk-files-to-the-sd-card/">installing large APK files to the SD card</a>.</li>
<li>Read our developer tutorial on <a title="How to use multiple APK support tutorial" href="http://developer.sonyericsson.com/wp/2011/10/11/use-the-multiple-apk-support-in-android-market/">how to use multiple APK support</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/31/tips-for-reducing-apk-file-size/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Stepping up our open source activities</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/25/stepping-up-our-open-source-activities/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=stepping-up-our-open-source-activities</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/25/stepping-up-our-open-source-activities/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 15:30:31 +0000</pubDate>
		<dc:creator>Karl-Johan Dahlström</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[custom rom]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=5269</guid>
		<description><![CDATA[As part of our continuing efforts towards openness and knowledge sharing, we are now stepping up our open source activities. For a long time, we have been one of the major contributors to the Android Open Source Project. We’ve also been active in the open developer community where we most notably published an ICS alpha [...]]]></description>
			<content:encoded><![CDATA[<p>As part of our continuing efforts towards openness and knowledge sharing, we are now stepping up our open source activities. For a long time, we have been one of the major contributors to the <a title="Android Open Source Project" href="http://source.android.com/" target="_blank">Android Open Source Project</a>. We’ve also been active in the open developer community where we most notably published an <a title="Ice Cream Sandwich alpha released for Xperia phones" href="http://developer.sonyericsson.com/wp/2011/12/15/ice-cream-sandwich-alpha-rom-available-for-unlocked-xperia-phones/">ICS alpha release</a> a couple of months ago. And now, we’re excited to release a couple of new open source projects that are available on our <a title="Sony Ericsson Dev's GitHub" href="https://github.com/sonyericssondev" target="_blank">GitHub</a>. As you can see below, we have just now released two very interesting projects as open source: the analysis tool <a title="ChkBugReport" href="http://developer.sonyericsson.com/wp/?p=5245">ChkBugReport</a>, and our <a title="WebGL for Xperia phones running Android 4.0" href="http://developer.sonyericsson.com/wp/?p=5261">WebGL implementation for Android™ 4.0</a>.</p>
<p>This way, we would like to continue to be transparent, share our knowledge, and get external developer contributions to make the tools even better. On our GitHub, you can also find our <a title="Sony Ericsson's WebSDK" href="https://github.com/sonyericssondev/WebSDK" target="_blank">Web SDK</a>  project we published a while back, and a project called DrmLicenseService, which we will tell more about soon. Stay tuned for more information about open source projects going forward!</p>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/25/stepping-up-our-open-source-activities/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WebGL implementation for Xperia™ phones released as open source</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/25/webgl-implementation-for-xperia-phones-released-as-open-source/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webgl-implementation-for-xperia-phones-released-as-open-source</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/25/webgl-implementation-for-xperia-phones-released-as-open-source/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 15:29:09 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android 2.3]]></category>
		<category><![CDATA[android 4.0]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[gingerbread]]></category>
		<category><![CDATA[ice cream sandwich]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=5261</guid>
		<description><![CDATA[In November, we announced that we were the first phone manufacturer in the world to support WebGL in the native Android web browser on Xperia™ phones. As a next step, we are now very excited to release our WebGL implementation for our coming Xperia™ phones running Android™ 4.0 (Ice Cream Sandwich) and above as open [...]]]></description>
			<content:encoded><![CDATA[<p>In November, we announced that we were the first phone manufacturer in the world to <a title="Xperia phones first to support WebGL" href="http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/">support WebGL in the native Android web browser on Xperia™ phones</a>. As a next step, we are now very excited to release our WebGL implementation for our coming Xperia™ phones running Android™ 4.0 (Ice Cream Sandwich) and above <strong>as open source</strong>. Read more after the jump, as Anders Edenbrandt, Senior Software Architect, explains more!</p>
<p><span id="more-5261"></span></p>
<div class="mceTemp">
<dl>
<dt><a href="http://developer.sonyericsson.com/wp/2012/01/25/webgl-implementation-for-xperia-phones-released-as-open-source/anders_edenbrandt_590x356/" rel="attachment wp-att-5264"><img class="size-medium wp-image-5264" src="http://developer.sonyericsson.com/wp/files/2012/01/anders_edenbrandt_590x356-425x256.jpg" alt="Anders Edenbrandt" width="425" height="256" /></a></dt>
<dd>Anders Edenbrandt, Senior Software Architect.</dd>
</dl>
<p>Since we announced that we had added support for WebGL in our Android 2.3 (Gingerbread) phones, we have received a lot of feedback from the community. Most of the feedback has been very encouraging, but we have also received comments saying that WebGL needs to get a wider deployment within the Android ecosystem, for the market to take off. This is something we completely agree with.</p>
<p>As a way of encouraging this, and in line with our continuous support of the open developer community and open standards like WebGL and HTML 5, as well as our ambition to be transparent, we have decided to publish our implementation of WebGL for Android 4.0 as open source. This way, it’s free for anyone who is interested in using it as is, but it’s of course also there as a base for anyone who would like to contribute in further development of the code.</p>
<p>The reason for publishing the implementation of WebGL for Android 4.0, and not the solution we used for our Android 2.3 phones, is that the WebKit code for Android 4.0 is much more recent, and therefore the required modifications are more manageable.</p>
<p><strong>What is required to enable support for WebGL in Android 4.0?</strong><br />
We have published the code to enable support for WebGL in Android 4.0 on the <a title="WebGL on GitHub" href="https://github.com/sonyericssondev/WebGL" target="_blank">Sony Ericsson Dev Github</a>. You don’t need any particular access rights to download the source code, but you must be a fairly advanced developer. To make use of the code, you must be able to build your own Android™ operating system. The code consists of the following files:</p>
<ul>
<li>Patched WebKit files to enable WebGL with the hardware accelerated compositing enabled.</li>
<li>New files that implements the binding between the WebKit and OpenGL on Android.</li>
</ul>
<p>To enable WebGL, the changes must be applied to the WebKit component in the <a title="Android source download" href="http://source.android.com/source/downloading.html" target="_blank">Android ICS-MR1 release</a>. Right now the code only supports Android 4.0. Please note the work on the code is still in progress, and you can expect changes in the code base until we have launched our first commercial Android 4.0 software for our Xperia™ phones.</p>
<p>We hope to see a lot of interest in this, and many contributions as well. If you would like to contribute to the work with the code, or if you have any questions or comments, feel free to get go to our <a title="WebGL forum thread on XDA developers" href="http://forum.xda-developers.com/showthread.php?p=21805119#post21805119" target="_blank">WebGL thread on the XDA Forum</a>. If you have any direct comments or questions on this post, drop us a line below!</p>
</div>
<div class="mceTemp">
<p><strong>More information:</strong></p>
<ul>
<li>Read our announcement about <a title="WebGL support in our 2011 Xperia phones" href="http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/">WebGL support for the 2011 Xperia™ phones</a> (including demos).</li>
<li>Check out our first announcement about <a title="WebGL as an internal research project" href="http://blogs.sonyericsson.com/wp/2011/02/24/webgl-support-in-the-android-web-browser/">WebGL as an internal research project</a>.</li>
<li>Download <a title="Copyleft archives for Sony Ericsson phones" href="http://developer.sonyericsson.com/wportal/devworld/technology/opensource?cc=gb&amp;lc=en">copyleft archives for Sony Ericsson phones</a>.</li>
<li>Read more about <a title="Open developer community activities" href="http://developer.sonyericsson.com/wp/2011/09/28/sony-ericsson-supports-independent-developers/">our support in the open developer community</a>.</li>
<li>Learn about <a title="New bugreport analysis tool released as open source" href="http://developer.sonyericsson.com/wp/2012/01/25/new-bugreport-analysis-tool-released-as-open-source/">ChkBugReport</a>, another open source initiative from Sony Ericsson.</li>
</ul>
</div>
<div class="mceTemp"> </div>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/25/webgl-implementation-for-xperia-phones-released-as-open-source/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The family of Xperia™ phones supporting ANT+ is growing</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/12/the-family-of-xperia-phones-supporting-ant-is-growing/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=the-family-of-xperia-phones-supporting-ant-is-growing</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/12/the-family-of-xperia-phones-supporting-ant-is-growing/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 08:04:54 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[ant]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Dynastream]]></category>
		<category><![CDATA[fitness]]></category>
		<category><![CDATA[health]]></category>
		<category><![CDATA[Xperia ion]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=5029</guid>
		<description><![CDATA[When we announced the Xperia™ S the other day (and the Xperia™ ion on the US market), it also meant we added new devices to the family of Xperia™ phones supporting ANT+. ANT+ is a wireless personal network protocol mainly designed for gathering and transfer of sensor data, and it has become especially popular within the sports [...]]]></description>
			<content:encoded><![CDATA[<p>When we announced the <a title="Announcing our new flagship smartphone, the Xperia™ S" href="http://developer.sonyericsson.com/wp/2012/01/10/announcing-our-new-flagship-smartphone-the-xperia-s/">Xperia™ S</a> the other day (and the <a title="Introducing Xperia™ ion – our first LTE smartphone for the U.S. market" href="http://developer.sonyericsson.com/wp/2012/01/09/introducing-xperia-ion-our-first-lte-smartphone-for-the-us-market/">Xperia™ ion </a>on the US market), it also meant we added new devices to the family of Xperia™ phones supporting ANT+. ANT+ is a wireless personal network protocol mainly designed for gathering and transfer of sensor data, and it has become especially popular within the sports and health industry. Yesterday <a title="This is ANT" href="http://www.thisisant.com/" target="_blank">Dynastream </a>(the company behind ANT+) announced an ANT+ emulator for Android™, which means it is now possible to develop ANT+ apps using just the Android™ device emulator, and an ANT USB stick plugged into a PC. Find out more after the jump!</p>
<p><span id="more-5029"></span></p>
<p>In the ANT+ ecosystem, an Android smartphone could be used in several different ways. It could be the sensor broadcasting data, or the receiver storing data and possibly displaying it. But it could also be the Internet gateway to publish data. Or, it could be everything at once. At Sony Ericsson, we’re happy to have included support for this interesting and useful technology in the new Xperia™ S and Xperia™ ion. Besides these phones, Sony Ericsson has released several phones supporting ANT+ previously, including all 2011 Xperia™ phones except Xperia™ PLAY.</p>
<p>To find out more about ANT+ and the latest news about the ANT+ emulator, we spoke with Jeff Fung, who is one of the main developers at Dynastream.</p>
<div class="mceTemp">
<dl>
<dt><a href="http://developer.sonyericsson.com/wp/2012/01/12/the-family-of-xperia-phones-supporting-ant-is-growing/jeff_fung_dynastream/" rel="attachment wp-att-5033"><img class="size-medium wp-image-5033" src="http://developer.sonyericsson.com/wp/files/2012/01/jeff_fung_dynastream-425x256.jpg" alt="" width="340" height="205" /></a></dt>
<dd>Jeff Fung at Dynastream.</dd>
</dl>
<p><em>So Jeff, what makes ANT+ such an interesting technology for developers?<br />
</em>I think it’s an exciting technology, not only because it allows the phone to be used as a display device for the millions of ANT+ biking, running and heart rate sensors that are already in the consumer’s hands, but also because it opens up many new possibilities for phone connectivity in other areas, such as connecting to ANT+ health and activity monitoring devices, geocache tags, and ANT+ enabled light electric vehicles. All of these use cases are defined in published ANT+ profiles available to ANT+ adopters at the <a title="ANT website" href="http://www.thisisant.com/pages/ant/ant-device-profiles" target="_blank">ANT website</a>.</p>
<p><em>What’s so good about the ANT wireless protocol?<br />
</em>The flexibility of the ANT wireless protocol allows for low power connectivity between all ANT-enabled devices regardless of their role (master/slave) on other networks. Peer connections between phones as well as connections between phones and other “hub” or master devices, allow for some interesting use cases. One example could be to use sports watches and bicycle computers to control the phone’s calling, music, messaging, and camera functions.   </p>
<p><em>How does the new ANT+ emulator for Android™ work?<br />
</em>The ANT+ emulator allows you to run and develop ANT+ enabled applications in the standard Android™ emulator running on a Windows PC. It works by bridging the ANT+ communications from the Android emulator to an ANT USB stick plugged into the PC. This allows for the development and debugging of ANT+ enabled applications inside of the emulator environment without the need to use an actual ANT+ enabled smart phone. Our hope is that this will open the door for more developers to start creating their own innovative ANT+ applications.</p>
<p><em>So if I’m interested in developing ANT+ enabled apps, how do I go about getting started?<br />
</em>The first step is to get the <a title="ANT+ Android application API" href="http://www.thisisant.com/pages/developer-zone/android-api" target="_blank">ANT+ Android application API </a>from the ANT website, where the <a title="ANT+ emulator" href="http://www.thisisant.com/pages/developer-zone/android-api" target="_blank">ANT+ emulator </a>is also available.  The official ANT+ profile documentation can be found in the<a title="ANT+ Adopter's Zone" href="http://www.thisisant.com/pages/ant/ant-adopter-zone" target="_blank"> ANT+ Adopter’s Zone</a>.  The ANT+ Adopter’s Zone also contains many other useful things such as the ANT+ device simulators which can be used to simulate ANT+ devices for testing your applications. Finally, the <a title="ANT+ forums" href="http://www.thisisant.com/ANTforum" target="_blank">ANT+ forums </a>are a great place to ask and find answers to any questions you may have regarding developing ANT+ applications.</p>
<p><em>What can ANT+ developers expect going forward?<br />
</em>In the spring of 2012, we will be releasing an updated ANT+ Android API which will allow for better sharing of the ANT radio between multiple applications. The API will also add a better interface base around devices defined by the ANT+ device profiles.  Our hope is that this will make it even easier for applications to make use of ANT+.  Please stay tuned to the <a title="ANT website" href="http://www.thisisant.com/" target="_blank">ANT website</a>  for future announcements regarding this next release.</p>
<p>***</p>
<p>We hope that all you aspiring ANT+ developers are inspired to get started on this – at Sony Ericsson, we certainly think this is an exciting technology. If you’ve got any questions on this topic, feel free to drop us a comment and we will try come back with an answer as soon as possible. So what do you say developers, is ANT+ interesting to you? What health or fitness apps do you miss today?</p>
<p><strong>More information:</strong></p>
<ul>
<li>Read more about the <a title="ANT API for Android released" href="http://developer.sonyericsson.com/wp/2011/02/16/ant-api-for-android-released/">ANT API</a> for Android™.</li>
<li>Check out the <a title="ANT website" href="http://www.thisisant.com/" target="_blank">ANT website</a>.</li>
<li>Find the <a title="ANT device profiles" href="http://www.thisisant.com/pages/ant/ant-device-profiles" target="_blank">ANT device profiles</a>.</li>
<li>Get the <a title="ANT+ Android emulator" href="http://www.thisisant.com/pages/developer-zone/android-api" target="_blank">ANT+ Android emulator </a>and the <a title="ANT+ Android application API" href="http://www.thisisant.com/pages/developer-zone/android-api" target="_blank">ANT+ Android application API</a> .</li>
<li>Check out the official <a title="ANT+ profile documentation" href="http://www.thisisant.com/pages/ant/ant-adopter-zone" target="_blank">ANT+ profile documentation</a>.</li>
<li>Ask questions and interact with other developers in the <a title="ANT forum" href="http://www.thisisant.com/ANTforum" target="_blank">ANT Forum</a>.</li>
<li>Check out our <a title="ANT+ on Developer World" href="http://developer.sonyericsson.com/wportal/devworld/technology/android/ant?cc=gb&amp;lc=en">ANT+ Technology page</a> on Developer World.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/12/the-family-of-xperia-phones-supporting-ant-is-growing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New barometric sensor app and code example available for Xperia™ active</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/04/new-barometric-sensor-app-and-code-example-available-for-xperia-active/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=new-barometric-sensor-app-and-code-example-available-for-xperia-active</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/04/new-barometric-sensor-app-and-code-example-available-for-xperia-active/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 18:00:19 +0000</pubDate>
		<dc:creator>Joe Padre</dc:creator>
				<category><![CDATA[Portal]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[pressure sensor]]></category>
		<category><![CDATA[sensor]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[Xperia active]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4880</guid>
		<description><![CDATA[We recently showed you how to get your apps to work with the Xperia™ active pressure sensor. And to help with your development, we’ve also created a simple app and a new code example that shows you exactly how a pressure sensitive app works. Read on to learn more about our new barometric sensor app, [...]]]></description>
			<content:encoded><![CDATA[<p>We recently showed you how to <a title="Get your apps to work with the Xperia™ active pressure sensor" href="http://developer.sonyericsson.com/wp/2011/07/26/get-your-apps-to-work-with-the-xperia%e2%84%a2-active-pressure-sensor/">get your apps to work with the Xperia™ active pressure sensor</a>. And to help with your development, we’ve also created a simple app and a new code example that shows you exactly how a pressure sensitive app works. Read on to learn more about our new barometric sensor app, download the apk file and view the new code example.</p>
<p><span id="more-4880"></span></p>
<p>Awhile back, we brought you an article on how to <a title="Get your apps to work with the Xperia™ active pressure sensor" href="http://developer.sonyericsson.com/wp/2011/07/26/get-your-apps-to-work-with-the-xperia%e2%84%a2-active-pressure-sensor/">get your apps to work with the Xperia™ active pressure sensor</a>. In that post, we provided instructions on how to create a simple app that could read data from the pressure sensor, along with tips and code examples to get your app to work with the pressure sensor. This tutorial builds upon that information, and provides you with a <a title="Sony Ericsson Barometric Sensor Application download" href="http://developer.sonyericsson.com/wportal/devworld/downloads/download/barometricaltitudeandspeedapkandcodeexample?cc=gb&amp;lc=en">code example</a> to show how to create applications that measure altitude differences and vertical air speed using the Xperia™ active pressure sensor. We’ve also created a <a title="Sony Ericsson Barometric Sensor Application download" href="http://developer.sonyericsson.com/wportal/devworld/downloads/download/barometricaltitudeandspeedapkandcodeexample?cc=gb&amp;lc=en">small app</a>  that demonstrates how the Xperia™ active’s barometric air pressure sensor can be used to measure altitude differences and vertical speed.</p>
<div>
<p><strong>How the example app works</strong></p>
<p>The app works by registering as a listener to the air pressure sensor, and receives updates of the values of the sensor. It then takes a number of values (the default is three because at least three values are needed to calculate a median average) and calculates the median pressure value. The median value is chosen since effects of peak values are minimised. A single data sample includes measurements of air pressure, speed and time. These data readings are grouped together as one object, called pressureDataObject. Then the app selects the current sample as the candidate with the median value of air pressure.</p>
<p>After calculating the speed using the previous sample, speed data is added to the current sample. Altitude is calculated using current air pressure minus air pressure at a reference point. The difference in <a title="mbar definition" href="http://www.sensorsone.co.uk/pressure-measurement-glossary/mbar-millibar-pressure-unit.html" target="_blank">mBar</a>, the metric unit of pressure, is multiplied by 8 to get the altitude in meters, since 8 meters gives an air pressure difference of 1 mBar at sea level. Sea level can be approximated in most cases, since measuring air pressure from an airplane is harder to obtain.</p>
<p>The app also stores air pressure at a reference point, which is used for altitude calculations, since GPS alone is not accurate enough for altitude measurement. The air pressure data of the concerned reference point is stored as a ContentProvider database, which enables anyone to utilise the core data as an altitude or speed logger. Our implementation only provides the bare essentials to display the data, but if you’ve got the time, you can design your app’s UI to display the logged data in a fancier way.</p>
<p>You could also use the Xperia™ active’s <a title="GPS definition" href="http://en.wikipedia.org/wiki/Global_Positioning_System" target="_blank">GPS</a> satellite-based positioning capabilities to get a better location fix. You can then use this as a reference when you’re using a map on the ground, then get a position with altitude and set that as a fix to get altitude calculations when you’re mountain climbing, paragliding, etc.</p>
<p>To get started, download the <span style="text-decoration: underline"><a title="Sony Ericsson Barometric Sensor Application download" href="http://developer.sonyericsson.com/wportal/devworld/downloads/download/barometricaltitudeandspeedapkandcodeexample?cc=gb&amp;lc=en">code example and APK file</a></span> for a pressure sensor application that you can use and try out. If you have any questions, feel free to leave to a comment below and we’ll get back to you as soon as we can.</p>
<p><strong>More information</strong></p>
<ul>
<li>Download the Barometric altitude and speed <a title="Sony Ericsson Barometric Sensor Application download" href="http://developer.sonyericsson.com/wportal/devworld/downloads/download/barometricaltitudeandspeedapkandcodeexample?cc=gb&amp;lc=en">code example and APK file</a>.</li>
<li>Get the basics from our previous <a title="Get your apps to work with the Xperia™ active pressure sensor" href="http://developer.sonyericsson.com/wp/2011/07/26/get-your-apps-to-work-with-the-xperia%E2%84%A2-active-pressure-sensor/">Xperia active pressure sensor tutorial</a>.</li>
<li>Learn more about the <a title="Xperia active" href="http://www.sonyericsson.com/cws/products/mobilephones/overview/xperia-active?cc=gb&amp;lc=en#view=overview">Xperia active</a>.</li>
</ul>
</div>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/04/new-barometric-sensor-app-and-code-example-available-for-xperia-active/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Meet the Developer World team at the AT&amp;T Developer Summit</title>
		<link>http://developer.sonyericsson.com/wp/2012/01/03/meet-the-developer-world-team-at-the-att-developer-summit/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=meet-the-developer-world-team-at-the-att-developer-summit</link>
		<comments>http://developer.sonyericsson.com/wp/2012/01/03/meet-the-developer-world-team-at-the-att-developer-summit/#comments</comments>
		<pubDate>Tue, 03 Jan 2012 08:19:37 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[at&t]]></category>
		<category><![CDATA[CES]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[event]]></category>
		<category><![CDATA[sony ericsson]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4858</guid>
		<description><![CDATA[Are you planning to go to CES and the AT&#38;T Developer Summit in Las Vegas next week? In that case, don’t miss the Sony Ericsson booth, where you can meet representatives from the Developer World team. Our staff will include business managers, developers, and developer marketing managers. So if you want to discuss partnerships, technical issues [...]]]></description>
			<content:encoded><![CDATA[<p>Are you planning to go to CES and the <a title="AT&amp;T Developer Summit" href="https://www.travelhq.com/events/2012devsummit/pretrip/home.mtc" target="_blank">AT&amp;T Developer Summit</a> in Las Vegas next week? In that case, don’t miss the Sony Ericsson booth, where you can meet representatives from the Developer World team. Our staff will include business managers, developers, and developer marketing managers. So if you want to discuss partnerships, technical issues or communication activities for developers, feel free to stop by and have a chat with us! We will also demonstrate all the latest and greatest products.</p>
<p><span id="more-4858"></span></p>
<p>The 2012 AT&amp;T Developer Summit will take place on January 8-9, at the Palms Casino Resort in Las Vegas, Nevada. This year’s event will focus on about emerging technologies, and will bring some nice opportunities to network with the industry&#8217;s top professionals and experts.</p>
<p>You can find the Developer World team in the Sony Ericsson booth at the Summit Expo on Jan 9, between 11AM and 3PM. Here you will also get to see and get demonstrations of all our latest products, and maybe even the chance to win a cool prize!</p>
<p>See you in Vegas!</p>
<p><strong>More information:</strong></p>
<ul>
<li>Learn more about the <a title="AT&amp;T Developer Summit" href="https://www.travelhq.com/events/2012devsummit/pretrip/home.mtc" target="_blank">2012 AT&amp;T Developer Summit</a>.</li>
<li>Stay connected with us and all our latest CES news through <a title="SonyEricsson Dev on Twitter" href="http://twitter.com/sonyericssondev" target="_blank">Twitter</a> (<a title="SonyEricssonDev on Twitter" href="http://twitter.com/sonyericssondev" target="_blank">@SonyEricssonDev</a>).</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2012/01/03/meet-the-developer-world-team-at-the-att-developer-summit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ice Cream Sandwich alpha ROM available for unlocked Xperia™ phones</title>
		<link>http://developer.sonyericsson.com/wp/2011/12/15/ice-cream-sandwich-alpha-rom-available-for-unlocked-xperia-phones/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ice-cream-sandwich-alpha-rom-available-for-unlocked-xperia-phones</link>
		<comments>http://developer.sonyericsson.com/wp/2011/12/15/ice-cream-sandwich-alpha-rom-available-for-unlocked-xperia-phones/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 14:48:37 +0000</pubDate>
		<dc:creator>Karl-Johan Dahlström</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[alpha ROM]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android 4.0]]></category>
		<category><![CDATA[custom rom]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[ice cream sandwich]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4706</guid>
		<description><![CDATA[To show our continuous support to the open developer community, and get your valuable feedback, we are today making an alpha ROM of Ice Cream Sandwich (Android 4.0.1) for Xperia™ arc S, Xperia™ neo V and Xperia™ ray available for download. This is something we have not done before, and we are obviously very excited [...]]]></description>
			<content:encoded><![CDATA[<p>To show our continuous support to the open developer community, and get your valuable feedback, we are today making an alpha ROM of Ice Cream Sandwich (Android 4.0.1) for Xperia™ arc S, Xperia™ neo V and Xperia™ ray available for download. This is something we have not done before, and we are obviously very excited about it. </p>
<p>This ROM is strictly targeting advanced developers, and <strong>it will not work </strong>for ordinary everyday usage, as it <strong>only has a limited set of features working </strong>(you can for example not make any phone calls).<strong> </strong>Several more legal and usage conditions apply – please see the <em>Important information </em>section below for more details.</p>
<p><span id="more-4706"></span></p>
<p>As you read this, a few weeks have passed since the source code for Ice Cream Sandwich was released. Since then, the Sony Ericsson engineering teams have been working hard on all the activities needed to roll out the final software upgrade of Ice Cream Sandwich for the 2011 Xperia™, as previously described in our article <a title="Ice Cream Sandwich – from source code to software upgrade " href="http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/">Ice Cream Sandwich – from source code to software upgrade</a>.</p>
<p>Creating a full software upgrade is a complex process involving hardware bring up of the lower software layers, software and feature adaptations, certifications and approvals. However, even though we are now in the <em>Bring up phase</em>, we wanted to release a snapshot of where we are today, for advanced developers in the open community who want to try it out.</p>
<p><strong>Important information<br />
</strong>Since this is far from the final software upgrade roll out, there are a few things to pay close attention to before you download and install the ROM:</p>
<ul>
<li>You should be an advanced developer with extensive knowledge in how to install, and switch between different ROMs. <strong>If you are a consumer without these developer skills, then we strongly recommend you not do try this as you may damage your phone</strong>.</li>
<li>You must be using Xperia™ arc S, Xperia™ neo V or Xperia™ ray, running the latest Sony Ericsson software release (which is 4.0.2.A.0.42). Please note that you can’t use the original Xperia™ arc or Xperia™ neo, as they have different partition layouts.</li>
<li>You must unlock your phone using Sony Ericsson’s <a title="Sony Ericsson's Unlock boot loader service" href="http://unlockbootloader.sonyericsson.com">Unlock boot loader service</a>, and agree to all the legal and warranty conditions that apply. Please note that <strong>you may void the warranty of your phone and/or any warranty from your operator </strong>if you unlock the boot loader of your phone. Sony Ericsson can then no longer guarantee the full functionality of your phone, and will <strong>not be responsible</strong> for any unusable functions or loss of personal data associated to the alpha ROM being flashed to the phone. Please pay special attention to the following legal statement before downloading (the full statement is available on the download link):</li>
</ul>
<p><strong>“You must acknowledge that the software is provided “as is” without warranty of any kind, express, or implied, and to the maximum extent permitted by applicable law.” </strong></p>
<ul>
<li>Also, if you unlock the boot loader, <strong>you will not be able to download and install the final Ice Cream Sandwich software upgrade </strong>from Sony Ericsson. For additional information on limitations and warranty, please see the Sony Ericsson <a title="Sony Ericsson's Unlock boot loader service" href="http://unlockbootloader.sonyericsson.com">Unlock boot loader service</a>.</li>
<li>You should have read through and acknowledged the limitations of the software described below. </li>
<li>You must read and accept the end user license agreement on the download link, before you can download the alpha ROM zip file.</li>
</ul>
<p><strong>Limitations and functionality<br />
</strong>The number of features and functionalities working and turned on in this alpha ROM are very limited. This is because many features are not yet certified, and in a few cases because we have more work to do on certain features, as they are still in the <a title="Ice Cream Sandwich – from source code to software upgrade" href="http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/">Bring up phase</a>. These are <strong>some of the features turned off or not yet working</strong> in this alpha ROM: </p>
<ul>
<li>Google Mobile Services (GMS) apps are not included (for example, Gmail, Google Maps, etc.).</li>
<li>Modem is turned off and SIM card will therefore not be recognised (this also means you can’t make any phone calls).</li>
<li>Bluetooth™ is turned off.</li>
<li>Wi-Fi® is turned off.</li>
<li>ANT+ is turned off.</li>
<li>FM-radio is turned off.</li>
</ul>
<p>In other words, this software is not intended for ordinary everyday usage – it is for demonstration purposes only. However, this alpha ROM includes a number of new features:</p>
<ul>
<li>New “Roboto” font.</li>
<li>New “Holo” theme is supported (you are able to test apps written to make use of the Holo theme).</li>
<li>Music player control from lock screen.</li>
<li>Updated UI in the Settings menu.</li>
<li>Updated UI in the web browser.</li>
<li>Updated UI and interaction with the new messaging action bar.</li>
<li>Updated UI for improved multitasking.</li>
<li>Swipe to dismiss notifications, tasks and browser tabs in the Notification menu.</li>
</ul>
<p>Check out the video in the beginning to see a demo of some of these features!</p>
<p><strong>Download and install<br />
</strong>Follow the instructions below to download and install the alpha ROM. Please note that it only works with Xperia™ arc S, Xperia™ neo V and Xperia™ ray.</p>
<ol>
<li>Make sure your phone is running the latest software release, which is build number 4.0.2.A.0.42. If not, upgrade your phone through PC Companion. If you can’t upgrade to this build number, it is not possible to try the Ice Cream Sandwich alpha ROM for Xperia™ phones.</li>
<li>Go to <a title="Sony Ericsson's Unlock boot loader service" href="http://unlockbootloader.sonyericsson.com">unlockbootloader.sonyericsson.com</a>  and unlock the boot loader of your phone. To do this, you must read through and agree to all the legal and warranty conditions that apply. </li>
<li>Download the <a title="Ice Cream Sandwich alpha ROM for Xperia arc S" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_arcS_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ arc S</a>  (132MB), the <a title="Ice Cream Sandwich alpha ROM for Xperia neo V" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_neoV_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ neo V</a> (131MB) or the <a title="Ice Cream Sandwich alpha ROM for Xperia ray" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_ray_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ ray</a>  (132MB) depending on your phone model.</li>
<li>Extract the downloaded zip file to your Android Fastboot directory. For example: ..\android-sdk\fastboot\Xperia_arcS_ICS_alpha.</li>
<li>Open a command prompt and go to your Fastboot directory: ..\android-sdk\fastboot\</li>
<li>Flash the three alpha ROM files one at a time using Fastboot. Use these three commands (replace the folder name if you are using Xperia™ neo V or Xperia™ ray):</li>
<ul>
<li>fastboot flash boot ..\Fastboot\Xperia_arcS_ICS_alpha\boot.img</li>
<li>fastboot flash userdata ..\Fastboot\Xperia_arcS_ICS_alpha\userdata.img</li>
<li>fastboot flash system ..\Fastboot\Xperia_arcS_ICS_alpha\system.img</li>
</ul>
<li>Once done, please reboot your phone.</li>
</ol>
<p><strong>Please let us know what you think about this alpha ROM</strong><br />
Another ambition with this release is to work with all of the talented developers in the open community to get feedback on this alpha ROM. If you download and install the alpha ROM, please try out the software and go to our <a title="Ice Cream Sandwich alpha ROM survey" href="https://www.surveymonkey.com/s/STRJKQF" target="_blank">Ice Cream Sandwich alpha ROM survey for Xperia™ phones</a>, to send us your feedback. It is very much appreciated – the summary of this survey will be used for future product and software strategies short term and long term. Your voice counts!</p>
<p><strong>Additional feedback<br />
</strong>If you want to discuss this alpha ROM initiative, please check out the <a title="Ice Cream Sandwich alpha ROM for Xperia on XDA forum" href="http://forum.xda-developers.com/showthread.php?p=20328701#post20328701" target="_blank">Ice Cream Sandwich alpha ROM for Xperia thread </a>on the XDA forum. Here you can discuss with other developers, and ask questions to us. We will monitor this thread and reply to any questions as soon as we can. If you have any additional ideas on what you would like us to do, feel free to drop us a comment below!</p>
<p><strong>More information:</strong> </p>
<ul>
<li>Download the <a title="Ice Cream Sandwich alpha ROM for Xperia arc S" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_arcS_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ arc S</a>.</li>
<li>Download the <a title="Ice Cream Sandwich alpha ROM for Xperia neo V" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_neoV_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ neo V</a>.</li>
<li>Download the <a title="Ice Cream Sandwich alpha ROM for Xperia ray" href="http://dl-developer.sonyericsson.com/Xperia/ICS/Alpha/Xperia_ray_ICS_alpha_EULA.html">Ice Cream Sandwich alpha ROM for Xperia™ ray</a>.</li>
<li>Learn what happens <a title="Ice Cream Sandwich – from source code release to software upgrade" href="http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/">from the Ice Cream Sandwich source code release until the final software upgrade</a>.</li>
<li>Read about <a title="Read about Sony Ericsson's unlock boot loader initiative." href="http://developer.sonyericsson.com/wp/2011/03/29/unlocking-the-boot-loader-in-the-new-xperia%e2%84%a2-smartphones/">Sony Ericsson’s unlock boot loader  initiative</a>.</li>
<li>Check out the <a title="Sony Ericsson's Unlock boot loader service" href="http://unlockbootloader.sonyericsson.com/">Sony Ericsson Unlock boot loader website</a>.</li>
<li>Learn <a title="How to build a Linux kernel." href="http://blogs.sonyericsson.com/wp/2011/05/06/how-to-build-a-linux-kernel/">how to build a Linux kernel</a>.</li>
<li>Read about and download <a title="Camera libraries for the 2011 Xperia™ phones." href="http://developer.sonyericsson.com/wp/2011/11/17/camera-libraries-available-for-sony-ericsson-phones">camera libraries for the 2011 Xperia™ phones</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2011/12/15/ice-cream-sandwich-alpha-rom-available-for-unlocked-xperia-phones/feed/</wfw:commentRss>
		<slash:comments>240</slash:comments>
		</item>
		<item>
		<title>Create games for Xperia™ PLAY with the Unity engine</title>
		<link>http://developer.sonyericsson.com/wp/2011/12/13/create-games-for-xperia-play-with-unity-engine/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=create-games-for-xperia-play-with-unity-engine</link>
		<comments>http://developer.sonyericsson.com/wp/2011/12/13/create-games-for-xperia-play-with-unity-engine/#comments</comments>
		<pubDate>Tue, 13 Dec 2011 09:58:01 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[design3]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[Unity]]></category>
		<category><![CDATA[xperia play]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4761</guid>
		<description><![CDATA[Our friends at design3 posted an interesting blog post the other day, including a great introduction on how to create games for Xperia™ PLAY using the Unity engine. If you are considering to create a game adapted to the unique Xperia™ PLAY hardware features, the Unity engine is a real good game development tool to use, considering all the features that comes with it (including [...]]]></description>
			<content:encoded><![CDATA[<p>Our friends at <a title="design3" href="http://www.design3.com/index.php" target="_blank">design3</a> posted <a title="design3: Making Games For The Xperia™ PLAY Is Easy On The Unity Engine " href="http://www.design3.com/industry-insight/item/2277-making-games-for-the-xperia%E2%84%A2-play-is-easy-on-the-unity-engine" target="_blank">an interesting blog post</a> the other day, including a great introduction on how to create games for Xperia™ PLAY using the Unity engine. If you are considering to create a game adapted to the unique Xperia™ PLAY hardware features, the <a title="Unity" href="http://unity3d.com/" target="_blank">Unity </a>engine is a real good game development tool to use, considering all the features that comes with it (including the option to use the visual editor, javascript or C#, and the full support of both 2D and 3D art).</p>
<p>Head over to the design3 <a title="design3: http://www.design3.com/blog/item/2277-making-games-for-the-xperia%E2%84%A2-play-is-easy-on-the-unity-engine" href="http://www.design3.com/industry-insight/item/2277-making-games-for-the-xperia%E2%84%A2-play-is-easy-on-the-unity-engine" target="_blank">blog post </a>to read more more about it! design3 is one of the leading game development portals in the industry. You can find hundreds of hours of video tutorials on game engine, 3D tools, 2D tools, and much more on <a title="design3" href="http://www.design3.com/index.php" target="_blank">their website</a>. For more information about Xperia™ PLAY game development, check out our <a title="Xperia PLAY game development" href="http://developer.sonyericsson.com/wportal/devworld/technology/android/xperiaplay/overview?cc=gb&amp;lc=en">game development </a>section.</p>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2011/12/13/create-games-for-xperia-play-with-unity-engine/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ice Cream Sandwich – from source code release to software upgrade</title>
		<link>http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ice-cream-sandwich-from-source-code-release-to-software-upgrade</link>
		<comments>http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 09:55:55 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android 4.0]]></category>
		<category><![CDATA[bring up]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[ice cream sandwich]]></category>
		<category><![CDATA[software upgrade]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4650</guid>
		<description><![CDATA[A couple of weeks ago, the source code for Ice Cream Sandwich (Android™ 4.0) was released. This meant the start of an intensive period for the engineers at Sony Ericsson, in order to create a working, stable and certified software release of Ice Cream Sandwich for our 2011 Xperia™ phones. In our pursuit for greater [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of weeks ago, the source code for Ice Cream Sandwich (Android™ 4.0) was released. This meant the start of an intensive period for the engineers at Sony Ericsson, in order to create a working, stable and certified software release of Ice Cream Sandwich for our 2011 Xperia™ phones.</p>
<p>In our pursuit for greater openness in the Android community, we would like to share some exclusive information of the different phases and activities of Sony Ericsson’s Android development, starting with the release of the Ice Cream Sandwich source code, and leading up to the release of a software upgrade for you to download on your phone. Find out more after the jump!</p>
<p><span id="more-4650"></span></p>
<p>On the Sony Ericsson Product Blog, we have previously announced that all our <a title="Ice Cream Sandwich for Sony Ericsson 2011 Xperia phones product blog post" href="http://blogs.sonyericsson.com/products/2011/11/15/ice-cream-sandwich-for-sony-ericsson-2011-xperia%e2%84%a2-portfolio/" target="_blank">2011 Xperia™ phones will receive software upgrades</a>  to Ice Cream Sandwich (please check the <a title="Sony Ericsson Product Blog" href="http://blogs.sonyericsson.com/products" target="_blank">Sony Ericsson Product Blog</a> for upcoming announcements regarding the timing for these software upgrades). However, before we can roll out those software upgrades, there are a lot of activities to first of all get Ice Cream Sandwich to work and become stable on all Sony Ericsson phones. We call this the <strong>Bring up phase</strong>.</p>
<div>
<div>
<div>
<p>Secondly, and perhaps most important, we must certify and approve the new software release with all the different technologies, networks, and hardware that a modern smartphone should work with. We call this the <strong>Certification and approval phase</strong>.</p>
<div id="attachment_4668" class="wp-caption alignnone" style="width: 600px"><a href="http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/publicpush/" rel="attachment wp-att-4668"><img class="size-full wp-image-4668" src="http://developer.sonyericsson.com/wp/files/2011/12/publicpush.png" alt="Ice Cream Sandwich upgrade process" width="590" height="356" /></a><p class="wp-caption-text">Illustration showing activities from source code release, to software upgrade.</p></div>
<p><strong>The Bring up phase: Getting Ice Cream Sandwich to work on our phones<br />
</strong>On November 14, the <a title="Ice Cream Sandwich source code Google announcement" href="https://groups.google.com/forum/#!topic/android-building/T4XZJCZnqF8" target="_blank">Ice Cream Sandwich source code</a>  was made available. This was also the day when our engineers started their work in order to get Ice Cream Sandwich to run on the 2011 Xperia™ phones, by starting the Bring up phase, as we didn’t have pre-access to the Ice Cream Sandwich source code.</p>
<p>The first thing we do is to integrate the latest available Android source code with the Sony Ericsson development branch, to make sure it compiles. This is done by our engineering teams, who in addition need to confirm that all test and debugging tools are in place. Since we will continue to build more on this basic set of code, the stability of the software is very important at this stage.</p>
<p>In the first Ice Cream Sandwich source code that was released, the <a title="Hardware abstraction layer definition" href="http://en.wikipedia.org/wiki/Hardware_abstraction" target="_blank">Hardware Abstraction Layer</a> (HAL) – the software layer giving applications direct access to the hardware components – was to some extent adapted for a Texas Instruments hardware platform. However, for all 2011 Xperia™ phones, we used a Qualcomm hardware platform. This means we have to replace the default HAL coming with first source code released for Ice Cream Sandwich, with our own HAL.</p>
<p>The HAL changes have impact on several features on a phone, including the camera, different sensors (such as proximity, light, accelerometer and compass), audio, Bluetooth™, Wi-Fi™, GPS, as well as multimedia and graphics components. Thus, we do not only have to modify and configure the HAL according to the Qualcomm hardware platform, but also all the other hardware components used in a phone.</p>
<p>Another layer of complexity to the adaption work is the fact that even though all the 2011 Xperia™ products are based on the same hardware platform and use the Qualcomm 8255 chipset, there are several variations in screen size, memory, peripheral components (such as the camera) and modem constellations. At this stage, we make sure to get all the legacy and basic functionalities (such as phone calls, SMS, MMS, SIM card and access to the SD card) to work.</p>
<p><strong>Integrating Android patches</strong><br />
In the Bring up phase, another task is to integrate a number of patches, to improve and adapt the Android legacy code according to our needs. These are customised patches important to the phone, such as improved error handling. To avoid fragmentation, many of these customised patches are actually contributed back to the Android Open Source Project, so that they are included in the default Android source code for the next software release. This work has made Sony Ericsson one of the main contributors to Android. At this stage, we also integrate our own feature upgrades, such as customised graphics.</p>
<p>As we incorporate these customisations, we also do a basic quality check to confirm that all the integrated changes fulfill the required quality level. Here we run many tests cases, such as confirming the functionality of the music player, video streaming, USB and <a title="Digital rights management definition" href="http://en.wikipedia.org/wiki/Digital_rights_management" target="_blank">DRM</a>. When we eventually merge all the functionalities in to one code branch, we run more tests to ensure that all our legacy user scenarios run without problems. This also includes that we ensure that apps installed from Android Market are working properly in general.</p>
<p><strong>Getting the software stable and adding localisation<br />
</strong>When all functionalities have been merged into one code branch, we start on the stability tests to make sure the software runs stable in all sorts of use cases. Besides pure lab testing, we rely on a number of live users for testing and reporting defects. And along with pure stability testing, we are continuing with the quality tests. For example, we are performing power consumption tests to improve the power consumption in different user scenarios.</p>
<p>Another important task in this stage is to integrate the localisation support in our applications. In most cases, we are adding more languages to the Android software itself. For example, in the software upgrade we rolled out to our 2011 Xperia™ phones in October, we added support for bi-directional languages such as Arabic.</p>
<p>Once all of these tasks are done, and the software is stable and tested, the software is ready to be submitted for certifications. However, the Bring up phase is overlapped by the Certification and approval phase, as some parts of the software are ready for certification earlier than others. As soon as a specific software module is ready, it’s sent for certification. So while one module can be in the Certification and approval phase, others are still in the Bring up phase.</p>
<div id="attachment_4671" class="wp-caption alignnone" style="width: 600px"><a href="http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/hal/" rel="attachment wp-att-4671"><img class="size-full wp-image-4671 " src="http://developer.sonyericsson.com/wp/files/2011/12/HAL.png" alt="Android architecture showing position of the HAL." width="590" height="631" /></a><p class="wp-caption-text">Illustration showing simplified Android architecture.</p></div>
<p><strong>The Certification and approval phase: Making sure the software and hardware is compliant<br />
</strong>A phone comes with parts and software working with a number of different technologies, such as Bluetooth, Wi-Fi, modem and so on. To use these technologies, we have to certify that the new software is compliant with these technology standards. We therefore need to certify a new software release for all of these different technologies due to operator community requirements (<a title="Global certification forum definition" href="http://en.wikipedia.org/wiki/Global_Certification_Forum" target="_blank">GCF </a>, <a title="PTCRB definition" href="http://en.wikipedia.org/wiki/PTCRB" target="_blank">PTCRB </a>, <a title="CDMA Certification Forum description" href="http://en.wikipedia.org/wiki/CDMA_Certification_Forum" target="_blank">CCF</a>) and Intellectual Property Rights (IPRs), if we have modified the software module related to such technology.</p>
<p>To a great extent, we try to get global certifications, but in many cases specific countries demand specific tests. For a global, worldwide product, we need local certifications approvals in up to 80 countries. For all these external certifications we are either allowed to test ourselves, and submit evidence that we passed, or we can get external test houses, such as Cetecom, to perform the tests.</p>
<p>Besides the operator and IPR certifications, we must externally comply with certifications for regulatory requirements. For example, we must show evidence that we comply with <a title="Spurious emissions definition" href="http://en.wikipedia.org/wiki/Spurious_emission" target="_blank">spurious emissions</a>, <a title="Specific absorption rate definition" href="http://en.wikipedia.org/wiki/Specific_absorption_rate" target="_blank">SAR</a>, <a title="Electromagnetic compatibility definition" href="http://en.wikipedia.org/wiki/Electromagnetic_compatibility" target="_blank">EMC</a>, as well as other environmental and health compliances. But when it comes to software upgrades for existing phone models, not all of the regulatory certifications are needed as they have already been performed once.</p>
<p>On top of this, Sony Ericsson is doing internal self certifications in areas we have identified as extra important to deliver the highest possible quality.</p>
<p>All certifications are based on each phone model, and even if a phone model has been certified with a previous software release, the parts which have been changed must be recertified if we are doing a new software release. So if we, for example, have made changes to the Wi-Fi module in an existing phone model, we need to recertify it. When we are working with a new Android release, such as Ice Cream Sandwich, all the affected areas must be recertified.</p>
<p>Another example is if the <a title="Bluetooth stack definition" href="http://en.wikipedia.org/wiki/Bluetooth_stack" target="_blank">Bluetooth stack</a> is changed. Then we have to recertify the Bluetooth part of the new software release. There are many apps that needs to be recertified for each of our phones, if they are changed in a new Android software release, for example Bluetooth, MMS, Wi-Fi, HDMI, DLNA and Adobe FLASH. Besides this, we rerun the Android Compatibility Test Suite (CTS) to make sure that we are compliant.</p>
<p>Contrary to what people may think, it is not the Bring up phase, but the Certification and approval phase that is the most time consuming process when it comes to getting a new software release out on our phones. This is one of the major tasks that are legally required from us as phone manufacturer, but is a task that the custom ROM community doesn’t have to take into consideration. Furthermore, by putting all this efforts into testing and certification, we ensure that quality and conformance is at a top level, in benefit for all consumers worldwide.</p>
<div>
<div>
<div>
<p><strong>Additional approvals might be needed<br />
</strong>In some cases, the new and complete software release has to be approved to be used in all the different networks that our phones should work in. Many operators also want to customise the software according to their requirements, which in turn are based on their market, network, differentiation and business model. We implement all of these customisations and create a variety of software packages and releases for each operator.</p>
<p>When all of this is done, we are ready to roll out the software release variants as software upgrades to operators and consumers around the world. The software upgrade can then be downloaded and installed either in the operator’s own update tool (if they have one), from Sony Ericsson’s PC Companion tool, or by over the air updates (FOTA – Firmware Over the Air).</p>
<p>***</p>
<p>It should be pointed out that this summary of all the activities and phases is somewhat simplified and is meant to provide a general picture of what we do from the release of the first Ice Cream Sandwich source code, until it is released to our consumers. From Sony Ericsson, we hope it has shed some of light on the work being done for the software upgrades.</p>
<p>If you have any question on this topic, feel free to drop us a line below. We will try to respond as soon as possible. For general software announcements and product information, please check the <a title="Sony Ericsson Product Blog" href="http://blogs.sonyericsson.com/products/" target="_blank">Sony Ericsson Product Blog</a> regularly.</p>
<p><strong>More information:</strong></p>
<ul>
<li>Check the <a title="Sony Ericsson Product Blog" href="http://blogs.sonyericsson.com/products/" target="_blank">Sony Ericsson Product Blog</a> regularly for product information and software announcements.</li>
<li>Read the <a title="Ice Cream Sandwich software upgrade announcement" href="http://blogs.sonyericsson.com/products/2011/11/15/ice-cream-sandwich-for-sony-ericsson-2011-xperia%e2%84%a2-portfolio/" target="_blank">2011 Xperia™ phones Ice Cream Sandwich software upgrade  announcement </a>on the Product Blog.</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2011/12/07/ice-cream-sandwich-from-source-code-release-to-software-upgrade/feed/</wfw:commentRss>
		<slash:comments>153</slash:comments>
		</item>
		<item>
		<title>Xperia™ phones first to support WebGL™</title>
		<link>http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=xperia-phones-first-to-support-webgl</link>
		<comments>http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 09:16:25 +0000</pubDate>
		<dc:creator>Tobias Nilsson</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Portal]]></category>
		<category><![CDATA[3d]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[WebGL]]></category>
		<category><![CDATA[Xperia]]></category>

		<guid isPermaLink="false">http://developer.sonyericsson.com/wp/?p=4569</guid>
		<description><![CDATA[In the latest software upgrade  we did for the 2011 Xperia™ phones, we’ve included WebGL™ support. By doing so, Sony Ericsson is the first mobile phone manufacturer to support WebGL for the Android web browser. WebGL basically makes it possible to extend the capability of the JavaScript programming language to allow it to generate interactive [...]]]></description>
			<content:encoded><![CDATA[<p>In the latest <a title="Software upgrade for 2011 Xperia™ phones" href="http://blogs.sonyericsson.com/products/2011/10/28/global-roll-out-of-new-software/">software upgrade</a>  we did for the 2011 Xperia™ phones, we’ve included WebGL™ support. By doing so, Sony Ericsson is the first mobile phone manufacturer to support WebGL for the Android web browser. WebGL basically makes it possible to extend the capability of the JavaScript programming language to allow it to generate interactive 3D graphics within the web browser. Read more about Sony Ericsson’s WebGL support after the jump, and find out about special considerations to keep in mind when developing 3D web applications targeting touch-enabled devices.</p>
<p><span id="more-4569"></span></p>
<p>In this article, Anders Isberg from Sony Ericsson’s Technology Reseach department explains more about WebGL and what to think of when you develop 3D web applications for touch-enabled devices. If you scroll down, you will also find three WebGL examples that you can browse to from the Android browser, if you have the latest software on your 2011 Xperia™ phone. You can also check out how it looks in the video above.</p>
<p>***</p>
<p>Earlier this year, I made a blog post about an<a title="WebGL support in the Android™ browser" href="http://blogs.sonyericsson.com/wp/2011/02/24/webgl-support-in-the-android-web-browser/"> internal WebGL research project  </a>on how WebGL could be implemented in phones. Based on the feedback we received back then, we decided to launch support for WebGL in the latest <a title="Software upgrade for the 2011 Xperia™ phones" href="http://blogs.sonyericsson.com/products/2011/10/28/global-roll-out-of-new-software/">software upgrade  </a>we rolled out for the 2011 Xperia™ phones during this autumn and winter. Now let’s take a closer look at what WebGL support means for mobile.</p>
<div id="attachment_4574" class="wp-caption alignnone" style="width: 600px"><a href="http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/anders_isberg/" rel="attachment wp-att-4574"><img class="size-full wp-image-4574" src="http://developer.sonyericsson.com/wp/files/2011/11/anders_isberg.jpg" alt="" width="590" height="356" /></a><p class="wp-caption-text">Anders Isberg, Sony Ericsson.</p></div>
<p><strong>What is required to implement a WebGL application?<br />
</strong>Unlike other 3D web technologies, WebGL will not require any plug-in modules. Once the device is WebGL enabled, no further installations are required, and developers can go ahead and explore the WebGL™ functionality. To learn how to develop WebGL applications, we recommend visiting one of the following online resources that gives an introduction on WebGL application development, for example, <a title="Learning WebGL™" href="http://learningwebgl.com/" target="_blank"><em>Learning WebGL</em></a> or the <a title="Khronos WebGL tutorial" href="http://www.khronos.org/webgl/wiki/Tutorial" target="_blank"><em>Khronos WebGL Tutorial</em></a>.</p>
<p>Due to the fact that WebGL is a low level API, the technical threshold is rather high if you are new to developing WebGL applications. However, there is no reason to be scared by this. There are several JavaScript frameworks available that make it easier to create WebGL applications. Several of these can be found on the <a title="Khronos WebGL Wiki" href="http://www.khronos.org/webgl/wiki/User_Contributions#Frameworks" target="_blank"><em>Khronos WebGL Wiki</em></a><em>.</em></p>
<p><strong>Navigating and interacting with 3D web applications<br />
</strong>Most of the existing WebGL applications available on the web are tailored for a desktop environment. Consequently, those applications are making use of the W3C DOM Mouse and Keyboard events to navigate and control the WebGL application. However, on a mobile device, the touch events must be used to navigate and control the 3D scene. The Android web browser supports three basic touch events that can be used to navigate and control the WebGL application:</p>
<ul>
<li>touchstart: generated when the finger is placed on a selected DOM element.</li>
<li>touchmove: generated when a finger is moved over a DOM element.</li>
<li>touchend: generated when the finger is removed from a DOM element.</li>
</ul>
<p>The following code example shows how an event listener is assigned to touchmove event on a WebGL accelerated HTML Canvas element:</p>
<p><code>// Add an event listener on the WebGL™ canvas<br />
webglcanvas.addEventListener('touchmove', onTouchMove);<br />
function onTouchMove (event) {<br />
// Cancel the default event handler<br />
event.preventDefault();<br />
// Readout the current X and Y coordinate relative the viewport<br />
var currentX = event.targetTouches[0].clientX;<br />
var currentY = event.targetTouches[0].clientY;<br />
}</code></p>
<p>In many cases, the same code used to handle mouse movements can be reused for touch events. There are also frameworks available to simplify the handling of touch events. For example, there is a <a title="jQuery plugin" href="https://github.com/dotmaster/Touchable-jQuery-Plugin" target="_blank">jQuery plugin</a> that unifies touch and mouse events across platforms, as well as a <a title="Mobile jQuery" href="http://jquerymobile.com/" target="_blank">Mobile jQuery</a> that has support for high level events like swipe.</p>
<p><strong>Considerations when developing for mobile<br />
</strong>Devices such as Xperia™ PLAY, Xperia™ arc, Xperia™ neo and Xperia™ pro are equipped with a 1 GHz Snapdragon™ processor and an Adreno™ 205 graphics processor, so even if the processing power is not in parity with desktop computers, there are enough processing capabilities to create astonishing 3D web applications. Check out the video in the beginning to see some examples of WebGL running on a 2011 Xperia™ phone. You can also check out these examples by browsing to them from the Android browser on your 2011 Xperia™ phone, if you have the latest software. Just click one of the links to the demos below. Please be patient while the demos are loading, it might take some time. </p>
<ul>
<li>WebGL-based interactive 3D demo of the <a title="WebGL-based interactive 3D demo of the Sony Ericsson logo." href="http://dl-developer.sonyericsson.com/demo/webgl/blackcube/index.html">Sony Ericsson logo</a>. </li>
<li>WebGL-based interactive 3D demo of <a title="WebGL-based interactive 3D demo of Walt Disney." href="http://dl-developer.sonyericsson.com/demo/webgl/blog/webgl_materials_cubemap.html">Walt Disney</a>. </li>
<li>WebGL-based interactive 3D demo of <a title="WebGL-based interactive 3D demo of two Ninjas." href="http://dl-developer.sonyericsson.com/demo/webgl/blog/webgl_materials_normalmap.html">two Ninjas</a>.</li>
</ul>
<p>When working with WebGL in mobile devices, it is important to take a look under the hood to get good performance. It is essential to consider how the shaders are written, how many polygons that are used in the 3D model, and to select textures carefully. At Developer World, we have published a blog post called <a title="Optimising shader performance for the Xperia™ PLAY" href="http://blogs.sonyericsson.com/wp/2011/06/01/optimizing-shader-performance/">Optimising shader performance for the Xperia™ PLAY</a>, which includes several useful tips that can be used to enhance the performance.</p>
<p>One limitation in the Android browser is that web workers are not supported. For some WebGL frameworks that could be a limiting factor. For example, the WebGL framework <a href="https://github.com/mrdoob/three.js/">three.js</a> implements resource loading with web workers. In the WebGL examples listed earlier you can see how this can be solved by using a JavaScript shim layer that emulates web workers. More information about this topic is available at the <a title="Google Code Web Workers Emulation " href="http://code.google.com/p/fakeworker-js/" target="_blank"><em>Google Code Web Workers Emulation</em></a> project site.</p>
<p>Hopefully this has given you enough information (and confidence!) to get you started with your own WebGL project! Good luck!</p>
<p><em>Anders Isberg<br />
</em><em>Master Engineer Technology Research<br />
</em><em>Sony Ericsson</em></p>
<p><strong>More information:</strong></p>
<ul>
<li>Learn more about <a title="WebGL™ support in the Android™ web browser" href="http://developer.sonyericsson.com/wp/2011/02/24/webgl-support-in-the-android-web-browser/">WebGL</a>  in Anders Isberg’s previous post.</li>
<li>Check out the <a title="Learning WebGL" href="http://learningwebgl.com/blog/" target="_blank">Learning WebGL</a> website. </li>
<li>Find out more in the <a title="Khronos WebGL tutorial" href="http://www.khronos.org/webgl/wiki/Tutorial" target="_blank">Khronos WebGL tutorial</a>.</li>
<li>Find more information about our latest <a title="Software upgrade for the 2011 Xperia™ phones" href="http://blogs.sonyericsson.com/products/2011/10/28/global-roll-out-of-new-software/" target="_blank">software upgrade for the 2011 Xperia™ phones</a>.</li>
<li>Check out the WebGL-based interactive 3D demo of the <a title="WebGL-based interactive 3D demo of the Sony Ericsson logo" href="http://dl-developer.sonyericsson.com/demo/webgl/blackcube/index.html">Sony Ericsson logo</a>. </li>
<li>Check out the WebGL-based interactive 3D demo of <a title="WebGL-based interactive 3D demo of Walt Disney." href="http://dl-developer.sonyericsson.com/demo/webgl/blog/webgl_materials_cubemap.html">Walt Disney</a>. </li>
<li>Check out the WebGL-based interactive 3D demo of <a title="WebGL-based interactive 3D demo of two Ninjas." href="http://dl-developer.sonyericsson.com/demo/webgl/blog/webgl_materials_normalmap.html">two Ninjas</a>. </li>
<li>Find out more about the WebGL framework <a title="three.js" href="https://github.com/mrdoob/three.js/" target="_blank">three.js</a>.</li>
<li>Learn more about the <a title="Google Code Web Workers Emulation " href="http://code.google.com/p/fakeworker-js/" target="_blank">Google Code Web Workers Emulation </a>project.</li>
<li>Learn how to <a title="Optimise the shader performance for the Xperia PLAY" href="http://blogs.sonyericsson.com/wp/2011/06/01/optimizing-shader-performance/">optimise the shader performance for the Xperia PLAY</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://developer.sonyericsson.com/wp/2011/11/29/xperia-phones-first-to-support-webgl/feed/</wfw:commentRss>
		<slash:comments>57</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: basic

Served from: blogs.sonyericsson.com @ 2012-02-12 15:04:28 -->
