<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>MobileRevamp</title>
	
	<link>http://www.mobilerevamp.org</link>
	<description>Revamp Mobile Development</description>
	<lastBuildDate>Thu, 13 Oct 2011 07:38:34 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Mobilerevamp" /><feedburner:info uri="mobilerevamp" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>first impressions about the Amazon Kindle Fire</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/6Hu1QAGxmv0/</link>
		<comments>http://www.mobilerevamp.org/2011/10/13/first-impressions-about-the-amazon-kindle-fire/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 07:26:31 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[NEWS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1553</guid>
		<description><![CDATA[The Kindle Fire could be the first truly successful Android tablet. It touts a very reasonable $200 price tag, a well-curated app store, easy access to Amazon’s cloud-based services, brand trust and recognition.
One of the reasons why I guess it can be a success is because the failing point of many existing 7-inch tablets as [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1552" href="http://www.mobilerevamp.org/2011/10/13/first-impressions-about-the-amazon-kindle-fire/amazonfire022/"><img class="size-medium wp-image-1552 alignleft" title="amazonFIRE022" src="http://www.mobilerevamp.org/wp-content/uploads/2011/10/amazonFIRE022-300x200.jpg" alt="" width="300" height="200" /></a>The Kindle Fire could be the first truly successful Android tablet. It touts a very reasonable $200 price tag, a well-curated app store, easy access to Amazon’s cloud-based services, brand trust and recognition.<br />
One of the reasons why I guess it can be a success is because the failing point of many existing 7-inch tablets as that they thought of the iPad as their competition the Kindle Fire instead has embraced a different way.</p>
<p>The device is an Android device and it supports Gingerbread, rather than Honeycomb, Android’s tablet-specific build.</p>
<p>The main features of this new devices are</p>
<ul>
<li>Stunning Color Touchscreen</li>
<li>Magazines in Rich Color</li>
<li>100,000 Movies and TV Shows</li>
<li>Fast Dual-Core Processor</li>
<li>Ultra-fast web browsing &#8211; Amazon Silk (Yet another <a href="http://www.amazon.com/Kindle-Fire-Tablet-Amazon-Tablet-Color/dp/B0051VVOB2#silk" target="_blank">browser</a>!)</li>
<li>Children&#8217;s Books</li>
<li>Free Cloud Storage</li>
</ul>
<p>As you can see the Kindle Fire is a device created for content consumption, not creation — for reading, listening to music and watching video and even more it doesn&#8217;t need to have big storage capabilities due to the fact that is uses the Amazon Clouds.<br />
The expectations are that this device will finally give developers a reason to develop tablet apps for Android due to the audience (i.e. the Amazon&#8217;s users) that is so big and to the device that is pretty.</p>
<p>Amazon has several advantages over other tablet manufacturers that have tried to compete with Apple. It has an established, built-in audience of loyal customers, whether of the Kindle, its e-books or the wide range of retail goods it sells. All of these give Amazon better brand recognition and loyalty than any comparable manufacturer except perhaps Apple, at least in the United States.<br />
Amazon also deals in a wide range of other media perfectly suited for tablets, including video, magazines, games and apps. It’s customizing Android and its Appstore specifically for its own tablet hardware, potentially solving the fragmentation problem that’s plagued Android on smartphones and tablets.<br />
Finally, Barnes &amp; Noble’s Nook Color showed that customers do want smaller tablets if they can deliver quality media at a low price. Even Hewlett-Packard’s TouchPad death-and-resurrection debacle shows that there’s pent-up demand for a multi-function tablet that’s much less expensive than the iPad.</p>
<p>As soon as the first devices will be shipped the users reaction will make the fortune or the ruin of this device, I strongly believe it can be the first valid alternative to the iPad.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/10/13/first-impressions-about-the-amazon-kindle-fire/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/10/13/first-impressions-about-the-amazon-kindle-fire/</feedburner:origLink></item>
		<item>
		<title>Web caching and Web prefetching</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/2rwGFDkWgl0/</link>
		<comments>http://www.mobilerevamp.org/2011/08/22/web-caching-and-web-prefetching/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 15:33:21 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[TUTORIALS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1541</guid>
		<description><![CDATA[Modern smart phone applications include web browsing, multimedia, gaming thus demanding high performance that are comparable to that of desktop and laptop machines.
Data access optimization and caching is one of the key factors that can dramatically improve performance and therefor the user experience.]]></description>
			<content:encoded><![CDATA[<p>Modern smart phone applications include web browsing, multimedia, gaming thus demanding high performance that are comparable to that of desktop and laptop machines.<br />
Data access optimization and caching is one of the key factors that can dramatically improve performance and therefor the user experience.</p>
<p><span id="more-1541"></span></p>
<p><strong>Data prefetching</strong><br />
The gap between processor and memory performance has been widening in the past decade. It is thus becoming more important to look at techniques for hiding the latency of memory accesses. Data prefetching is one of the techniques for hiding the access latency. Rather than waiting for a cache miss to initiate a memory fetch, data prefetching anticipates such misses according to memory access patterns and issues a fetch to the memory system in advance of the actual memory reference. However, data prefetching can incur additional overhead for processors, such as access pattern computation, prefetching address computation and information bookkeeping.<br />
A number of techniques have been proposed in the literature to implement data prefetching in both hardware and software, for instance in software implementations, the compiler inserts special prefetch instructions that prefetch data many cycles ahead of their use by other instructions. These techniques are simple to implement, but involve the overhead of additional instructions in the pipeline. On the other hand, hardware implementations are complex to implement. But due to the transparency and availability of runtime information, hardware-based data prefetching schemes can significantly improve the effectiveness of prefetching.</p>
<p><strong>Prefetching web files</strong><br />
There are several studies dealing with data prefetching for native applications and / or embedded mobile systems but it&#8217;s mandatory to don&#8217;t forget that most of the modern mobile applications deeply interact with the web.<br />
HTML 5 introduced the &#8220;prefetch&#8221; value for the link tag, so it&#8217;s very simple to prefetch an image or a web page.</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;link</span> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">&quot;prefetch alternate stylesheet&quot;</span> <span style="color: #000066;">title</span>=<span style="color: #ff0000;">&quot;Designed for Mozilla&quot;</span></span><br />
<span style="color: #009900;"><span style="color: #000066;">href</span>=<span style="color: #ff0000;">&quot;mozspecific.css&quot;</span> <span style="color: #000000; font-weight: bold;">/&gt;</span></span></div></div>
<p>Directly from the MDN FAQ section <a href="https://developer.mozilla.org/En/Link_prefetching_FAQ" target="_blank">https://developer.mozilla.org/En/Link_prefetching_FAQ</a><br />
<em>Link prefetching is a browser mechanism, which utilizes browser idle time to download or prefetch documents that the user might visit in the near future. A web page provides a set of prefetching hints to the browser, and after the browser is finished loading the page, it begins silently prefetching specified documents and stores them in its cache. When the user visits one of the prefetched documents, it can be served up quickly out of the browser&#8217;s cache.</em></p>
<p>Right now only Firefox supports this next/preload feature, and it sends a custom header with the request.</p>
<p>CSS files and especially javascript files are a little more tricky to prefetch, especially since you want to be careful that the javascript you grab does not execute on the current page. For these files you can use an AJAX request. Here it is using JQuery:</p>
<div class="codecolorer-container php default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$<span style="color: #339933;">.</span>ajax<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span> url<span style="color: #339933;">:</span><span style="color: #0000ff;">&quot;/URL_OF_FILE.js&quot;</span><span style="color: #339933;">,</span> cache<span style="color: #339933;">:</span><span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">,</span> dataType<span style="color: #339933;">:</span><span style="color: #0000ff;">&quot;text&quot;</span> <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div></div>
<p>Prefetching can be very dangerous because the first temptation of a developer should be the one of prefetch to much data.</p>
<p><strong>Web caching and web prefetching</strong><br />
Web caching and Web prefetching are two important techniques used to reduce the noticeable response time perceived by users. These two techniques can complement each other since the Web caching technique exploits the temporal locality, whereas Web prefetching technique utilizes the spatial locality of Web objects.<br />
These two techniques, if not used and designed properly, can quickly bring an application to a significant degradation of the performances.<br />
An application can cache objects (i.e. images, css, js, data, etc.) in different locations:</p>
<ul>
<li>Browser&#8217;s cache</li>
<li>Client side proxy</li>
<li>Server side proxy</li>
</ul>
<p>In client side proxy the objects are stored closer to the clients in order to avoid repeated round trip between the server and clients to get objects already available.<br />
Server-side proxy on his side routes the users’ requests to the proper and / or closer server-side application to shorten the user perceived response time.</p>
<p>Unlike Web caching, Web prefetching technique takes advantage of the spatial locality of the objects trying to determine and / or calculate a user’s browsing sequence. That is, if object A has a hyperlink to object B, the probability that B will be accessed, given A has been accessed already, will increase significantly, for this reason a strategy should be to prefetch the objects a user can access from another one.<br />
An example of sophisticated web prefetching techniques is the way google works, when you start typing the search engine suggest some prefetched requests in order to reduce the response time and to improve the user experience.<br />
The algorithms behind the scene are very complex, the design of these algorithms is the key for the success of a valuable prefetching technique.</p>
<p><a rel="attachment wp-att-1546" href="http://www.mobilerevamp.org/2011/08/22/web-caching-and-web-prefetching/prefetching/"><img class="alignnone size-full wp-image-1546" title="Prefetching" src="http://www.mobilerevamp.org/wp-content/uploads/2011/08/Prefetching.png" alt="" width="300" height="369" /></a></p>
<p>The integration of these two techniques without any planning and designing might cause significant performance degradation to each other.<br />
For instance, to provide the proxy with rich information, a Web server may deliberately send all possible prefetching hints with various levels of confidences to the proxy creating a bottleneck in the proxy itself.<br />
One of the best solution to define a prefetching rule is through the logs analysis. The logs on the server are the mirror of any user activity, a prefetch engine should be able to read them and to dynamically create the rules to be stored and used to serve content.<br />
The prefetching rules are the responsible to understand what to store and / or what to prefetch each time a user request a resource on the server.<br />
The origin Web server described in the picture is an enhanced Web server which employs a prediction engine to derive prefetching rules from the server’s access log periodically.</p>
<p><strong>Conclusions</strong><br />
As modern mobile applications demand performance that is comparable to desktop machines, it has become mandatory to make deep analysis about the web caching and prefetching strategies of a scalable application.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/08/22/web-caching-and-web-prefetching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/08/22/web-caching-and-web-prefetching/</feedburner:origLink></item>
		<item>
		<title>Adobe Mobile Contest</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/VCFqhGx9txA/</link>
		<comments>http://www.mobilerevamp.org/2011/07/07/adobe-mobile-contets/#comments</comments>
		<pubDate>Thu, 07 Jul 2011 06:52:22 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[NEWS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1534</guid>
		<description><![CDATA[Adobe is launching today Adobe Mobile Challenge, a competition that gives you and your members a chance to win a ticket to MAX.
What&#8217;s it all about:
1.  Develop a mobile AIR application using a pure AS3 project or the Flex framework. It can be a game, a productivity application, a lifestyle app, an artistic experience&#8230; any [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1533" href="http://www.mobilerevamp.org/2011/07/07/adobe-mobile-contets/airmobilelogo2/"><img class="alignleft size-medium wp-image-1533" title="airmobilelogo2" src="http://www.mobilerevamp.org/wp-content/uploads/2011/07/airmobilelogo2-300x108.png" alt="" width="300" height="108" /></a>Adobe is launching today Adobe Mobile Challenge, a competition that gives you and your members a chance to win a ticket to MAX.</p>
<p>What&#8217;s it all about:<br />
1.  Develop a mobile AIR application using a pure AS3 project or the Flex framework. It can be a game, a productivity application, a lifestyle app, an artistic experience&#8230; any kind of engaging application.<br />
2.  package and publish your applications on the three leading marketplaces before the 1st of September: the Android marketplace, the Apple Store, the BlackBerry AppWorld.<br />
3.  Register for the competition and win a trip to MAX.</p>
<p>In order to start in the right way the Adobe Mobile Challenge web site contains a list of <a href="http://www.adobemobilechallenge.com/tutorials/" target="_blank">tutorials</a> from which you can start to build you mobile application.</p>
<p>The official rules are available <a href="http://adobemobilechallenge.com/rules/App%20Contest%20rules.pdf" target="_blank">here</a> , the deadline for all the submissions is the <strong>1st</strong> of <strong>September 2011</strong>.</p>
<p>More details on the competition here: <a href="http://www.adobemobilechallenge.com/" target="_self">http://www.adobemobilechallenge.com/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/07/07/adobe-mobile-contets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/07/07/adobe-mobile-contets/</feedburner:origLink></item>
		<item>
		<title>iOS Devices and page transitions</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/3twgtKf9Orw/</link>
		<comments>http://www.mobilerevamp.org/2011/07/02/ios-devices-and-page-transitions/#comments</comments>
		<pubDate>Sat, 02 Jul 2011 19:18:57 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[iPhone & iPad]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1520</guid>
		<description><![CDATA[Often happens that customers require to implement transitions between pages, nice animations, etc. also in a mobile web sites.
This kind of effects usually belong to Flash web sites but unfortunately on iOS devices there is still no support for Flash. Thanks to &#8220;Stevie&#8221; in fact the web on the mobile is growing up without the [...]]]></description>
			<content:encoded><![CDATA[<p>Often happens that customers require to implement transitions between pages, nice animations, etc. also in a mobile web sites.<br />
This kind of effects usually belong to Flash web sites but unfortunately on iOS devices there is still no support for Flash. Thanks to &#8220;Stevie&#8221; in fact the web on the mobile is growing up without the Flash Player but the request the customers have are always the same: nice transitions, cool effects, etc.<br />
The result is that we have to use technologies that are pretty new and without a strong background like Flash to satisfy customer&#8217;s request.<br />
Anyway, let&#8217;s see hot to create a transition effect on an iOS device with CSS and the webkit transitions.<br />
<span id="more-1520"></span><br />
It&#8217;s pretty easy to create a page transition effect using the webkit transitions in a CSS file or declaration.<br />
As of June 2011, Firefox 5 includes CSS Animation support. CSS animation is also available as a module in the nightly builds of WebKit as well as Google Chrome, Safari 4 and 5 and Safari for iPhone, Android 2.x and 3.x, the RIM OS6 web browser, with the -webkit- prefix.</p>
<p>The syntax to define a transition is pretty sample, it&#8217;s enough to use the @-webkit-keyframes directive followed by the name of the transition</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #a1a100;">@-webkit-keyframes NAME-YOUR-ANIMATION {}</span></div></div>
<p>In the curly braces that follow the name of the transition it&#8217;s possible to define which properties have to be changed at a specific time</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #933;">0%</span><span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #933;">50%</span><span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">20px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #933;">100%</span><span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>If an animation has the same starting and ending properties, you can comma separate the percentage values and define the properties</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #933;">0%</span><span style="color: #00AA00;">,</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">&#123;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">30px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>If you want to create infinite animation you can do it easily combining transitions and transformation.<br />
In this case usually the from and to keyword are used but actually have the same meaning of 0% and 100%.</p>
<p>In order to create a fade in page effect you can just declare in a CSS file two animations</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #a1a100;">@-webkit-keyframes reset {</span><br />
<span style="color: #933;">0%</span> <span style="color: #00AA00;">&#123;</span><br />
opacity<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #933;">100%</span> <span style="color: #00AA00;">&#123;</span><br />
opacity<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<br />
<span style="color: #a1a100;">@-webkit-keyframes fadein {</span><br />
<span style="color: #933;">0%</span> <span style="color: #00AA00;">&#123;</span><br />
opacity<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #933;">60%</span> <span style="color: #00AA00;">&#123;</span><br />
opacity<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">25px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #933;">100%</span> <span style="color: #00AA00;">&#123;</span><br />
opacity<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span><br />
<span style="color: #000000; font-weight: bold;">font-size</span><span style="color: #00AA00;">:</span> <span style="color: #933;">45px</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>The first one is the one needed to make the page blank when loaded.<br />
After you define the animations it&#8217;s enough to create a new CSS class specifying which animations to use, the duration, the timing function and the iteration count</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.fadein</span> <span style="color: #00AA00;">&#123;</span><br />
-webkit-animation-name<span style="color: #00AA00;">:</span> reset<span style="color: #00AA00;">,</span> fadein<span style="color: #00AA00;">;</span><br />
-webkit-animation-duration<span style="color: #00AA00;">:</span> 2s<span style="color: #00AA00;">;</span><br />
-webkit-animation-timing-function<span style="color: #00AA00;">:</span> ease-in<span style="color: #00AA00;">;</span><br />
-webkit-animation-iteration-count<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">1</span><span style="color: #00AA00;">;</span><br />
<span style="color: #00AA00;">&#125;</span></div></div>
<p>If you want that the elements in your page fade in with a specific amount of delay you can add the following lines to your CSS</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #6666ff;">.fadein</span><span style="color: #6666ff;">.first</span> <span style="color: #00AA00;">&#123;</span>-webkit-animation-delay<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span><br />
<span style="color: #6666ff;">.fadein</span><span style="color: #6666ff;">.second</span> <span style="color: #00AA00;">&#123;</span>-webkit-animation-delay<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span> 1s<span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span><br />
<span style="color: #6666ff;">.fadein</span><span style="color: #6666ff;">.third</span> <span style="color: #00AA00;">&#123;</span>-webkit-animation-delay<span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span><span style="color: #00AA00;">,</span> 1.5s<span style="color: #00AA00;">;</span><span style="color: #00AA00;">&#125;</span></div></div>
<p>In the HTML page you have to import your CSS and use the sub classes already defined in order to see your animations working properly</p>
<div class="codecolorer-container xml default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
The content you want to show <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>first<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>...<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
The content you want to show <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>second<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>...<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br />
The content you want to show <span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>third<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/b<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>...<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></div>
<p>The sample animation defined above changes also the font size, actually I did it just in order to show that you can combine more than one properties and create pretty nice effect to show the elements of your pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/07/02/ios-devices-and-page-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/07/02/ios-devices-and-page-transitions/</feedburner:origLink></item>
		<item>
		<title>NOOK APPS technical workshop for Adobe AIR</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/RZ-uyljs07A/</link>
		<comments>http://www.mobilerevamp.org/2011/06/29/nook-apps-technical-workshop-for-adobe-air/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 19:57:47 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[NEWS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1516</guid>
		<description><![CDATA[The Nook Color is a color version of the Nook e-reader device by Barnes &#38; Noble. It is a 7-inch tablet with full-color multitouch touchscreen input.The device is designed for full-color viewing of books, newspapers, magazines, and children&#8217;s picture books. A limited number of the children&#8217;s books available for the Nook Color include interactive animations [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1517" href="http://www.mobilerevamp.org/2011/06/29/nook-apps-technical-workshop-for-adobe-air/color_touchscreen_v2/"><img class="alignleft size-full wp-image-1517" title="color_touchscreen_v2" src="http://www.mobilerevamp.org/wp-content/uploads/2011/06/color_touchscreen_v2.jpg" alt="" width="227" height="170" /></a>The Nook Color is a color version of the Nook e-reader device by Barnes &amp; Noble. It is a 7-inch tablet with full-color multitouch touchscreen input.The device is designed for full-color viewing of books, newspapers, magazines, and children&#8217;s picture books. A limited number of the children&#8217;s books available for the Nook Color include interactive animations and the option to have a professional voice actor read the story. It was announced on 26 October 2010 and shipped on 16 November 2010.</p>
<p>One of the most popular games today, Angry Birds, made its way on to the NOOK Color in April when the tab received the awesome 1.2 firmware upgrade. Angry Birds gets even better now with the “Magic Places” concept that unlocks new content (for free) in the game based on players’ location. Barnes &amp; Noble’s Android device is the first to bring this feature to customers via its WiFi network in-store.</p>
<p>Barnes and Noble has a dedicated NOOK Developer Program where Android, Adobe Flash and AIR developers can go for information on how to create applications for the product. In addition the program has a NOOK Software Development Kit (SDK) for helping in the building of applications for the NOOK Color.<br />
Developers can create Android applications compatible with Froyo Release (2.2) API 8 and also Adobe Flash 10.1 and AIR 2.6 content as the latest release (v1.2) supports these features.</p>
<p>Nearly 2 million apps have been downloaded by NOOK Color customers in the weeks following the launch of NOOK Apps and they’re asking for more.<br />
A very interesting event has been published today the NOOK APPS TECHNICAL WORKSHOP FOR ADOBE AIR, it will take place Thursday, July 14 at San Francisco, more info available <a href="http://nookair.eventbrite.com/" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/06/29/nook-apps-technical-workshop-for-adobe-air/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/06/29/nook-apps-technical-workshop-for-adobe-air/</feedburner:origLink></item>
		<item>
		<title>Mobile Apps for Android, BB PlayBook and iOS devices with Flex</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/Vllw4_3swnk/</link>
		<comments>http://www.mobilerevamp.org/2011/06/20/mobile-apps-for-android-bb-playbook-and-ios-devices-with-flex/#comments</comments>
		<pubDate>Mon, 20 Jun 2011 15:14:18 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[NEWS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1512</guid>
		<description><![CDATA[
Today delivered an update to Adobe® Flash® Builder® 4.5 and Flex 4.5 software to enable developers to build applications for iPhone, iPad and BlackBerry PlayBook. Support for Android devices was released in April 2011. Developers now have a single platform for building highly expressive mobile applications that can be distributed via the Android Market, Apple [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1513" href="http://www.mobilerevamp.org/2011/06/20/mobile-apps-for-android-bb-playbook-and-ios-devices-with-flex/stnd2clg/"><img class="alignleft size-full wp-image-1513" title="Stnd2clg" src="http://www.mobilerevamp.org/wp-content/uploads/2011/06/Stnd2clg.jpg" alt="" width="115" height="144" /></a></p>
<p>Today delivered an update to Adobe® Flash® Builder® 4.5 and Flex 4.5 software to enable developers to build applications for iPhone, iPad and BlackBerry PlayBook. Support for Android devices was released in April 2011. Developers now have a single platform for building highly expressive mobile applications that can be distributed via the Android Market, Apple App Store and BlackBerry App World. Offered standalone or as part of Creative Suite® 5.5 Web Premium and Master Collection, Flash Builder 4.5 enables the creation of applications that work seamlessly across leading mobile device platforms.</p>
<p>To download or trial Flash Builder 4.5, please go to<a href="http://www.adobe.com/products/flash-builder.html" target="_blank"> www.adobe.com/products/flash-builder.html</a>. Street price is US$249 for Flash Builder 4.5 Standard, US$699 for Flash Builder 4.5 Premium. Flash Builder 4.5 Premium is also available as part of the Adobe Creative Suite 5.5 Web Premium and Master Collection. Upgrade pricing for Flash Builder 4.5 is $49 and volume licensing is available. Flex 4.5 is available as a free open source framework. Also, Flash Builder 4.5 for PHP today supports mobile application development for Android, BlackBerry Tablet OS and iOS.</p>
<p><strong>Some useful links</strong></p>
<p>Hello World and mobile applications<br />
<a href="http://www.adobe.com/devnet/flash-builder/articles/hello-world.html" target="_blank">http://www.adobe.com/devnet/flash-builder/articles/hello-world.html</a></p>
<p>Build iOS applications with Flash Builder 4.5<br />
<a href="http://tv.adobe.com/watch/adc-presents/build-ios-applications-using-flex-and-flash-builder-45/" target="_blank">http://tv.adobe.com/watch/adc-presents/build-ios-applications-using-flex-and-flash-builder-45/</a></p>
<p>MuniTracker app for Android and iOS<br />
<a href="http://tv.adobe.com/watch/adc-presents/munitracker-app-for-android-and-ios-built-with-flash-builder/" target="_blank">http://tv.adobe.com/watch/adc-presents/munitracker-app-for-android-and-ios-built-with-flash-builder/</a></p>
<p>Mobile mapping app with the ARCGis API<br />
<a href="http://www.adobe.com/devnet/flash-builder/articles/mobile-mapping-app-arcgis.html" target="_blank">http://www.adobe.com/devnet/flash-builder/articles/mobile-mapping-app-arcgis.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/06/20/mobile-apps-for-android-bb-playbook-and-ios-devices-with-flex/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/06/20/mobile-apps-for-android-bb-playbook-and-ios-devices-with-flex/</feedburner:origLink></item>
		<item>
		<title>Meet the BlackBerry Playbook</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/V56S0jlCVUQ/</link>
		<comments>http://www.mobilerevamp.org/2011/05/29/meet-the-blackberry-playbook/#comments</comments>
		<pubDate>Sun, 29 May 2011 20:03:09 +0000</pubDate>
		<dc:creator>Christian Ferranti</dc:creator>
				<category><![CDATA[EVENTS]]></category>
		<category><![CDATA[RIM]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1504</guid>
		<description><![CDATA[il 14 Giugno, presso il centro Svizzero di via Plaestro 2-4 a Milano si svolgerà l&#8217;atteso &#8220;Meet the BlackBerry Playbook&#8221;.
La giornata è divisa in due sezioni: una tecnica (curata da Adobe e Rim) e una propriamente di marketing (curata da Rim).
La partecipazione è completamente gratuita previa registrazione al seguente link

Seguiranno maggiori informazioni sul programma completo.
Noi [...]]]></description>
			<content:encoded><![CDATA[<p>il 14 Giugno, presso il centro Svizzero di via Plaestro 2-4 a Milano si svolgerà l&#8217;atteso &#8220;Meet the BlackBerry Playbook&#8221;.</p>
<p>La giornata è divisa in due sezioni: una tecnica (curata da Adobe e Rim) e una propriamente di marketing (curata da Rim).</p>
<p>La partecipazione è completamente gratuita previa registrazione al seguente <a href="http://it.blackberry.com/campaign/it_mtp_event.jsp">link</a><br />
<a href="http://www.mobilerevamp.org/2011/05/29/meet-the-blackberry-playbook/pb/" rel="attachment wp-att-1506"><img src="http://www.mobilerevamp.org/wp-content/uploads/2011/05/pb-300x203.png" alt="" title="pb" width="300" height="203" class="aligncenter size-medium wp-image-1506" /></a></p>
<p>Seguiranno maggiori informazioni sul programma completo.<br />
Noi ci saremo!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/05/29/meet-the-blackberry-playbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/05/29/meet-the-blackberry-playbook/</feedburner:origLink></item>
		<item>
		<title>Mobile Flash player 10.1 OR AIR 2.6 on Android?</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/cB2CNABfLUI/</link>
		<comments>http://www.mobilerevamp.org/2011/03/30/mobile-flash-player-10-1-or-air-2-6-on-android/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 13:05:06 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Flash Mobile]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1496</guid>
		<description><![CDATA[After the recent release of the new AIR 2.6 SDK people started again to discuss which can be
the best way to deliver an Flash Platform application on Android devices.
As often happen the right answer is "It depends!".
The aim of this post is to outline the most important differences between Flash Player and Air based applications
in order to help developers to make the right choice]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1497" href="http://www.mobilerevamp.org/2011/03/30/mobile-flash-player-10-1-or-air-2-6-on-android/android-adobe-air/"><img class="alignleft size-medium wp-image-1497" title="android-adobe-air" src="http://www.mobilerevamp.org/wp-content/uploads/2011/03/android-adobe-air-300x191.jpg" alt="" width="300" height="191" /></a>After the recent release of the new AIR 2.6 SDK people started again to discuss which can be<br />
the best way to deliver an Flash Platform application on Android devices.<br />
As often happen the right answer is &#8220;It depends!&#8221;.<br />
The aim of this post is to outline the most important differences between Flash Player and Air based applications<br />
in order to help developers to make the right choice.</p>
<p>The Flash player 10.1 became available in Android 2.2 in June 2010 and runs within the device native browser. There are several similarities and differences between the<br />
two environments and it&#8217;s very important to understand them in order to make the right choice for a mobile application.</p>
<p>Both types of environment are intended for cross-platform rich media applications. They both use the ActionScript language but Air for Android only supports AS3.<br />
In order to keep the size of the runtime down the mobile version of AIR is not distributed with WebKit bundles, it means that is not possible to use HTML and JavaScript to create a mobile app like in the desktop.<br />
To let developers able to show HTML content in the API there is the StageWebView class that provides a simple means to display HTML content on devices where the HTMLLoader class is not supported.<br />
The class provides no interaction between ActionScript and the HTML content except through the methods and properties of the StageWebView class itself.</p>
<p>Both benefit from the recent performance and optimization improvements such as hardware acceleration for graphics and video, bitmap manipulation, battery and CPU optimization, better memory utilization and scripting optimization.<br />
It&#8217;s strongly encouraged to use only Spark components for both of them and even more always keep in mind that a native application lives in the OS without the restriction of the browser sand boxes.</p>
<p>The Flash Player based applications are typically located on a web site, there is no need of installation and updates / bug fixing are easier, the AIR applications require packaging, certificate and installation on the device.<br />
The Flash player is subject to the browser sandbox and its restricted environment. The browser security is high because applications may come from many unknown websites.<br />
The AIR applications security has to be handled by developers and an app can access to most of the OS features and /or files.</p>
<p>The Flash Player based applications store data suing Flash Local SharedObject and there is no access to the file system or any way to access with other applications to the SharedObject data.<br />
AIR applications on their hand function as native applications and have access to local storage and system files. Persistent data may be stored in a local database that can be used also by other applications.</p>
<p>AIR has additional functionality unique to mobile devices such as geolocation, accelerometer and access to the camera. Multi touch and gesture input is currently supported in AIR but not on the device native browser.</p>
<p>A new book from O&#8217;Reilly about Android app with AIR is coming <a href="http://oreilly.com/catalog/0636920013884/" target="_blank">Developing Android Applications with Adobe AIR</a>, we strongly encourage to consider it because this topic cannot be covered with a blog post.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/03/30/mobile-flash-player-10-1-or-air-2-6-on-android/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/03/30/mobile-flash-player-10-1-or-air-2-6-on-android/</feedburner:origLink></item>
		<item>
		<title>Create a cross-platform mobile app with AS3 and HTML5/JS</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/hoGTAPv1WBw/</link>
		<comments>http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/#comments</comments>
		<pubDate>Wed, 02 Mar 2011 09:47:56 +0000</pubDate>
		<dc:creator>Mose' Raguzzini</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile Web]]></category>
		<category><![CDATA[TUTORIALS]]></category>
		<category><![CDATA[Tools & SDKs]]></category>
		<category><![CDATA[iPhone & iPad]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1405</guid>
		<description><![CDATA[
The turning point
In the last months of 2010 Apple has removed many restrictions in its developer agreement and published guidelines about the apps it will accept and reject.
Between these restrictions there was also the impossibility to submit to the appstore apps built using the packager for iPhone.
Flash on the iPhone ? really ?!
No, not really.
This [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1470" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/apple-vs-adobe/"><img class="aligncenter size-large wp-image-1470" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/apple-vs-adobe-594x227.jpg" alt="" width="594" height="227" /></a></p>
<p><strong>The turning point</strong></p>
<p>In the last months of 2010 Apple has removed many restrictions in its developer agreement and published guidelines about the apps it will accept and reject.</p>
<p>Between these restrictions there was also the impossibility to submit to the appstore apps built using the packager for iPhone.</p>
<p><strong>Flash on the iPhone ? really ?!</strong></p>
<p><em>No, not really.</em></p>
<p>This is made possible by a Low Level Virtual Machine (LLVM) compiler infrastructure developed to understand AS3 code and able to output native ARM assembly code.</p>
<p>Porting to iPhone/ipad your AS3 projects is pretty easy and through the Packager for iPhone and Air for Android you can <em>theoretically</em> develop cross-platform application that looks exactly the same regardless the device it runs on.<br />
<span id="more-1405"></span></p>
<p><strong>So..can I export my AS3 app for iPhone and watch it run flawlessly ?</strong></p>
<p><em>No, again.</em></p>
<p>Simple applications might work since the first attempt, but more complex apps requires some tricks to get them to work in the right way.</p>
<p>This is due to iPhone Packager immaturity, iPhone architecture and the impossibility to gain access to the native iPhone APIs.</p>
<p>If you have any experience developing applications with Adobe Flash Lite or other mobile platforms, you can use many of the same tricks and techniques such as caching bitmaps, limiting the display list depth, and so on.</p>
<div id="attachment_1412" class="wp-caption alignright" style="width: 228px"><a rel="attachment wp-att-1412" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/img001/"><img class="size-medium wp-image-1412" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/img001-218x300.gif" alt="iPhone OS publish settings " width="218" height="300" /></a><p class="wp-caption-text">//iPhone OS publish settings </p></div>
<p><strong>CPU vs GPU</strong></p>
<p>In order to boost performances, iPhone packager lets us (through specific combobox in the compiler panel)  to take the advantage of the augmented rendering pipeline that uses OpenGL ES. This augmented rendering pipeline enhances the Flash rendering model to allow developers to take advantage of the GPU on iPhones increasing performances when rotating, scaling, moving o manipulating bitmaps.</p>
<p>This helps, but don&#8217;t expect the same performances that you can achieve with native APIs.</p>
<p>If you are planning to add animation to your app/game you have to use some &#8220;trick&#8221;:</p>
<p>-iPhone packager compiler set to GPU Mode</p>
<p>-assign a BitmapMatrix to all moving/translating/scaling/rotating objects</p>
<p>-cache as bitmap all moving objects and all objects that come to overlap with objects moving</p>
<p>This is because vector objects are redrawn each frame and also any bitmap object that overlaps with them is redrawn too. This seems really expensive for the  iPhone CPU. So comes in play the GPU.</p>
<p>To take advantage of the acceleration you can take advantage of the cacheAsBitmapMatrix and cacheAsBitmap properties, that allows you to cache data on your GPU instead of CPU.</p>
<p><strong>Example:</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">//set the cacheAsBitmapMatrix property<br />
myMovieclip.cacheAsBitmapMatrix = new Matrix();</div></div>
<p>//you have to cache as bitmap your object after a Matrix is assigned<br />
myMovieclip.cacheAsBitmap=true</p>
<p>You can find addictional hints and best pratice for optimizing your code (such mark class as final,listen for an event once etc etc) here:</p>
<p><a href="http://www.adobe.com/devnet/flash/articles/optimize_content_ios.html">http://www.adobe.com/devnet/flash/articles/optimize_content_ios.html</a></p>
<p><strong>Benchmarks</strong></p>
<p>Despite such precautions, it is very difficult to achieve the same performance that can be obtained on Air for Android on the iPhone.</p>
<p>I made (like many other developers) a lot of testing with physics framework (as box2D) and width simple 3d animation (planes with random 3d rotation) and I noticed that where on Air for Android I got 26-28 FPS, the same AS3 project on the iPhone runs at 2-3 FPS.</p>
<p>The day we&#8217;ll can see complex applications developed in AS3 is still far away at the moment . Also due to the fact that native APIs are inaccessible through AS3 and iPhone Packager. So if we need inertial scroll, data picker and so on, we have to code it by hand. It means a lot of waste of time.</p>
<p>I do not exclude that in the near future Adobe might release a new version of the Packager for iPhone with some optimization and native APIs access, but until now I feel to suggest AS3 crossplatform approach only if you have already developed a AS3 project (not too cpu/gpu expensive) that you want port on mobile devices. For complex or GPU/CPU expensive application the best choice is still Objective-C, that lets you more overall control of the iPhone hardware and brings up with itself full access to native APIs/Frameworks.</p>
<p><strong>Other crossplatform mobile free development tools</strong></p>
<p>As many of you know, AS3 with Adobe Packager for iPhone is not the only alternative to native objective-c development.</p>
<p>Nowadays, the best choice came with frameworks that support javascript/HTML5 code and wraps it in to a native application or map it to native code.</p>
<p><a rel="attachment wp-att-1429" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/senchatouch_logo/"><img class="alignleft size-thumbnail wp-image-1429" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/SenchaTouch_logo-150x150.png" alt="Sencha Touch" width="55" height="55" /></a><br />
<a href="http://www.sencha.com/products/touch/">Sencha Touch</a> <em>http://www.sencha.com/products/touch/</em></p>
<p>Sencha touch does not returns native code or wrappers but it&#8217;s designed to develop web apps with native cross-platform look&#8217;n feel.</p>
<p><a rel="attachment wp-att-1442" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/phonegaplogo/"><img class="alignleft size-thumbnail wp-image-1442" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/PhoneGapLogo-150x150.png" alt="PhoneGap" width="55" height="55" /></a><br />
<a href="http://www.phonegap.com/">PhoneGap </a>h<em>ttp://www.phonegap.com/</em></p>
<p>PhoneGap wraps HTML5/Javascript code in to a native webview wrapper that can be installed as app. It supports native API functionality as accelerometer, GPS and so on.</p>
<p><a rel="attachment wp-att-1445" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/titanium_logo/"><img class="alignleft size-thumbnail wp-image-1445" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/titanium_logo-150x148.png" alt="Titanium Appcelerator" width="55" height="54" /></a><br />
<a href="http://www.appcelerator.com/products/titanium-mobile-application-development/">Titanium Appcelerator</a> <em>http://www.appcelerator.com/</em></p>
<p>Titanium Appcelerator deserves a few more words because of its singular approach.</p>
<p><em>Titanium</em> is capable to produce both desktop and mobile cross-platform native application using primarily javascript.</p>
<p>This is possible trough<em> Kroll</em>.</p>
<p>You can see more information about <em>Kroll</em> on the <em>GitHub</em> project page. Here is a small excerpt:</p>
<blockquote><p>&#8220;Kroll is a compact microkernel written in C++ for running pluggable modules. Kroll supports a cross-language, cross-platform &#8220;binding&#8221; and invocation framework which supports mixing and matching code within the Kroll kernel. Yes, that means you can pass a Javascript object to a Python function and stuff like that. It&#8217;s just that bad ass &#8230; admit it.&#8221;</p></blockquote>
<p><strong>Kroll and Titanium Appcelerator</strong></p>
<p>So you can easily use php code in a desktop application or use javascript to map native code in modules (IE: written in OBJ-C) like Titanium does.</p>
<p>This also means that developing Android or iPhone application implies a previously installed native SDK with its APIs.</p>
<p>After installation and during projects creation process Titanium will check for available SDKs (Titanium, iPhone and Android ) and let you choose which platform you want to develop for and with which SDK version.</p>
<div id="attachment_1458" class="wp-caption aligncenter" style="width: 595px"><a rel="attachment wp-att-1458" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/img002/"><img class="size-full wp-image-1458" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/img002.gif" alt="Titanium Appcelerator - New project" width="585" height="389" /></a><p class="wp-caption-text">//Titanium Appcelerator - New project</p></div>
<p>Titanium SDK makes available javascripts calls to instantiate almost all native ui elements and functionality.</p>
<p>To show us how it can be easy to build a simple application Titanium creates for us  (for every new project) a basic app with 2 window in 2 tabs, generated by a single javascript file:</p>
<p><strong>app.js</strong></p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">// this sets the background color of the master UIView (when there are no windows/tab groups on it)<br />
<br />
Titanium.UI.setBackgroundColor('#000');<br />
<br />
// create tab group<br />
<br />
var tabGroup = Titanium.UI.createTabGroup();<br />
<br />
//<br />
<br />
// create base UI tab and root window<br />
<br />
//<br />
<br />
var win1 = Titanium.UI.createWindow({<br />
<br />
title:'Tab 1',<br />
<br />
backgroundColor:'#fff'<br />
<br />
});<br />
<br />
var tab1 = Titanium.UI.createTab({<br />
<br />
icon:'KS_nav_views.png',<br />
<br />
title:'Tab 1',<br />
<br />
window:win1<br />
<br />
});<br />
<br />
var label1 = Titanium.UI.createLabel({<br />
<br />
color:'#999',<br />
<br />
text:'I am Window 1',<br />
<br />
font:{fontSize:20,fontFamily:'Helvetica Neue'},<br />
<br />
textAlign:'center',<br />
<br />
width:'auto'<br />
<br />
});<br />
<br />
win1.add(label1);<br />
<br />
//<br />
<br />
// create controls tab and root window<br />
<br />
//<br />
<br />
var win2 = Titanium.UI.createWindow({<br />
<br />
title:'Tab 2',<br />
<br />
backgroundColor:'#fff'<br />
<br />
});<br />
<br />
var tab2 = Titanium.UI.createTab({<br />
<br />
icon:'KS_nav_ui.png',<br />
<br />
title:'Tab 2',<br />
<br />
window:win2<br />
<br />
});<br />
<br />
var label2 = Titanium.UI.createLabel({<br />
<br />
color:'#999',<br />
<br />
text:'I am Window 2',<br />
<br />
font:{fontSize:20,fontFamily:'Helvetica Neue'},<br />
<br />
textAlign:'center',<br />
<br />
width:'auto'<br />
<br />
});<br />
<br />
win2.add(label2);<br />
<br />
//<br />
<br />
//  add tabs<br />
<br />
//<br />
<br />
tabGroup.addTab(tab1);<br />
<br />
tabGroup.addTab(tab2);<br />
<br />
// open tab group<br />
<br />
tabGroup.open();</div></div>
<p><strong>The results:</strong></p>
<p><a rel="attachment wp-att-1461" href="http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/img003/"><img class="aligncenter size-full wp-image-1461" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/img003.png" alt="" width="381" height="724" /></a></p>
<p>With few lines of code, titanium literally creates a native project (OBJ-C/JAVA) in the relative iPhone/Android build folder (<em>/myApp/build/iphone</em> &#8211; <em>/myApp/build/android</em>) and then compiles it through the relative SDKs allowing us to launch the app on (SDK related) device simulator, publish it on our device for testing purpose or deploy it for appstore submission.</p>
<p>The approach to Titanium may be difficult due the lack of documentation. Luckily Appcelerator makes available for us a all-round demo called Kitchensink on Github <a href="https://github.com/appcelerator/KitchenSink">https://github.com/appcelerator/KitchenSink</a> and a Q&amp;A-like community <a href="http://developer.appcelerator.com/questions/created">http://developer.appcelerator.com/questions/created</a>.</p>
<p>Wherever you will be lead by your tastes .. good mobile development to all of you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/03/02/create-a-cross-platform-mobile-app-with-as3-and-html5js/</feedburner:origLink></item>
		<item>
		<title>Nokia and Microsoft, it’s marriage or funeral?</title>
		<link>http://feedproxy.google.com/~r/Mobilerevamp/~3/7Z6EU1MfIBU/</link>
		<comments>http://www.mobilerevamp.org/2011/02/15/nokia-and-microsoft-its-marriage-or-funeral/#comments</comments>
		<pubDate>Tue, 15 Feb 2011 06:28:36 +0000</pubDate>
		<dc:creator>Giorgio Natili</dc:creator>
				<category><![CDATA[NEWS]]></category>

		<guid isPermaLink="false">http://www.mobilerevamp.org/?p=1400</guid>
		<description><![CDATA[In the past days the mobile developers community got the announcement about a new partnership between Nokia and Microsoft that would use their complementary strengths and expertise to create a new global mobile ecosystem.
The main aspects of this strategic partnership from a developer point of view are that Nokia would adopt Windows Phone as its principal smartphone strategy and that Nokia would help drive the future of Windows Phone contributing
to it with its expertise on hardware design, language support, etc. On the other side Microsoft will bring a consistent expertise about Operating Systems and a good toolbox full of development tools.]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-1399" href="http://www.mobilerevamp.org/2011/02/15/nokia-and-microsoft-its-marriage-or-funeral/nokia-microsoft/"><img class="size-medium wp-image-1399 alignleft" title="Nokia-Microsoft" src="http://www.mobilerevamp.org/wp-content/uploads/2011/02/Nokia-Microsoft-243x300.jpg" alt="" width="243" height="300" /></a></p>
<p>In the past days the mobile developers community got the announcement about a new partnership between Nokia and Microsoft that would use their complementary strengths and expertise to create a new global mobile ecosystem.<br />
The main aspects of this strategic partnership from a developer point of view are that Nokia would adopt Windows Phone as its principal smartphone strategy and that Nokia would help drive the future of Windows Phone contributing<br />
to it with its expertise on hardware design, language support, etc. On the other side Microsoft will bring a consistent expertise about Operating Systems and a good toolbox full of development tools.</p>
<p>There are a lot of developers that believe this step is a very desperate move to stay in business and admitting that Nokia isn&#8217;t in any way capable of creating an attractive smartphone eco-system, moreover there is a general<br />
sense of frustration between the ones that has invested a lot of time and money following the Nokia strategies and created products for the Nokia platform.<br />
The feeling we have about this partnership are different, we believe the decision was not because of today, was because of Nokia in the next years. What we see right now on the market is that Blackberry is consolidating a partnership<br />
with Adobe for the new playbook, google is working in the same direction to improve even more their app market place and the Apple is quite solid and is trying to became a mobile operator.<br />
Create a strong relationship with a company like Microsoft doesn&#8217;t seem a bad solution also because Nokia demonstrated more than once to trust and support the developer community so it&#8217;s still possible to have a Qt porting (I don´t<br />
know what Microsoft thinks about it) and to force Microsoft to include some of the Nokia-related tools up to today (Flash Player at least).</p>
<p>Some years ago the Flash Platform developers community have had the same feeling about Adobe and Macromedia. Adobe did one great marketing effort to demonstrate it was a marriage, right now most of the developers are happy about the marriage<br />
but not all of them.<br />
It&#8217;s too early to get the right feeling, again it&#8217;s something that is up to the high level management, the important is that there is the need for clarity about tools and developers program like Forum Nokia, after we got some clarifications we will be able to follow up and state if it&#8217;s a funeral or a marriage.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilerevamp.org/2011/02/15/nokia-and-microsoft-its-marriage-or-funeral/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.mobilerevamp.org/2011/02/15/nokia-and-microsoft-its-marriage-or-funeral/</feedburner:origLink></item>
	</channel>
</rss>

