<?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>Breaking the Mobile Web</title>
	<atom:link href="http://www.mobilexweb.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.mobilexweb.com</link>
	<description>Techniques and best practices for delivering the best experience for each mobile device using HTML5</description>
	<lastBuildDate>Fri, 09 Mar 2012 15:55:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>What iOS 5.1 and the new iPad mean for web developers</title>
		<link>http://www.mobilexweb.com/blog/ios-5-1-new-ipad-web-developers</link>
		<comments>http://www.mobilexweb.com/blog/ios-5-1-new-ipad-web-developers#comments</comments>
		<pubDate>Fri, 09 Mar 2012 15:54:50 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[New devices and browsers]]></category>
		<category><![CDATA[ios safari ipad]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=141</guid>
		<description><![CDATA[Tweet The new iPad is here with iOS 5.1. I&#8217;ve done the usual research and, mm&#8230; there are no much new details to give you. However, the new iPad retina display remembers us some web stuff we should be aware of while creating iPad web experiences. Safari on iOS 5 and Safari on iOS 5.1 [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="What iOS 5.1 and the new iPad mean for web developers - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/ios-5-1-new-ipad-web-developers"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/03/newipad.png"><img class="alignleft size-full wp-image-142" style="margin-left: 10px; margin-right: 10px;" title="newipad" src="http://www.mobilexweb.com/wp-content/uploads/2012/03/newipad.png" alt="" width="72" height="57" /></a>The new iPad is here with iOS 5.1. I&#8217;ve done the usual research and, mm&#8230; there are no much new details to give you. However, the new iPad retina display remembers us some web stuff we should be aware of while creating iPad web experiences.</p>
<p><span id="more-141"></span></p>
<p>Safari on iOS 5 and Safari on iOS 5.1 seems to be exactly the same. There is no new APIs, no new stuff supported, same WebKit version; only we have the version change on the User Agent.</p>
<p>However, iOS 5.1 is the first version supporting <strong>high resolution iPads</strong>. While there is no real devices yet to test on, there are some ideas we need to remember from the iPhone 4 high definition launch and everything goes in the same direction.</p>
<h3>Too many pixels</h3>
<p>The iPad has a resolution of <strong>2048 x 1536</strong>. It&#8217;s far away more pixels than we use to have on the web.</p>
<p><strong>Do we need to change our websites for this new resolution?</strong> Well, definitely no.</p>
<p>First, remember that <strong>more pixels doesn&#8217;t mean more visual space to use</strong>. Your website will be rendered as in iPad 1 and iPad 2 with the advantage of sharpen text, CSS3 effects and gradients.</p>
<p>We need to remember that since the appearance of iPhone 4 -and also followed by Android- mobile browsers are exposing a virtual resolution to web developers based on the viewport meta tag and/or an attribute called <strong>Pixel Ratio</strong>. iPad 1 and iPad 2 have a Pixel Ratio of 1. The new iPad has a Pixel Ratio of 2. This value can be accessed though JavaScript using <em>window</em>.<em>webkitPixelRatio </em>or though CSS media queries using <em>-<em>webkit</em>-device-<em>pixel</em>-<em>ratio. </em></em></p>
<p>If we define a div of 500 pixels-wide, it will be really 500 pixels-wide on iPad and 1,000 pixels-wide on the new iPad, unless an special viewport is defined.</p>
<h3>High resolution images</h3>
<p>Now we know that we will not have problem with text and CSS3 effects. Images is a very different problem. Basically, the new iPad will resize your image. At the end you will not see much difference from iPad 1 or iPad 2. However, if you provide a high resolution alternative the image will become more clear. You can provide alternative images using the Device Pixel Ratio attribute. In case of CSS3, the code should look like:</p>
<p><code> @media (-webkit-device-pixel-ratio: 2) {<br />
#someContainer {<br />
background-image: url('images-hi/image.png');<br />
}<br />
}<br />
</code></p>
<h3>Icons and launch images</h3>
<div> For WebClip icons -those that iOS uses when the user adds our website to the Home Screen- we can leave the current iPad icon -72&#215;72 pixels- or we can provide a high resolution version -<strong>144&#215;144 pixeles</strong>- using the same code:</div>
<div>
<p><code> &lt;link rel="apple-touch-icon" sizes="72x72" href="touch-icon-ipad-lo.png" /&gt;<br />
&lt;link rel="apple-touch-icon" sizes="144x144" href="touch-icon-ipad-hi.png" /&gt;<br />
</code></p>
</div>
<div>If you are creating a chromeless app then you may know about apple-touch-startup-image link element. There is no official way to define different sizes on this element. However, a trick using media queries is working for delivering landscape and portrait versions right now so it&#8217;s possible to have this working for high resolution images too.</div>
<h3>Performance</h3>
<p>Wait before looking for high resolution versions of your images. If we think about it, we need an image with four times pixels. That&#8217;s a huge difference and the image size will be much higher. What does this mean? Your page will be much slower. Ok, there is a 4G version of the new iPad but that doesn&#8217;t mean that the difference will be covered.</p>
<p><strong>Think twice about the value added when delivering high resolution images</strong>.</p>
<p>Creating effects and gradients using CSS3 will be much faster. However, large backgrounds tends to use lot of memory. Fortunately, the new iPad comes with more memory and CPU power so hopefully this won&#8217;t be a problem.</p>
<p>Maybe it&#8217;s time to start looking at scalable solution, such as SVG that will take advantage of the high resolution without harming network performance.</p>
<p>In terms of HTML5 games, we need to wait until having the real device but usually if you want to increase your frame rate sometimes it&#8217;s better to provide a smaller viewport, so the game will use less memory -like a iPad 2 emulator- and using hardware accelerated CSS3 transforms we can scale it if we need to. It&#8217;s just a thought and a trick that is being used in some Android HTML5 games to gain some frames per seconds.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/ios-5-1-new-ipad-web-developers/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>BlackBerry PlayBook 2.0 HTML5: notifications, Flash and the dangerous 3D WebGL</title>
		<link>http://www.mobilexweb.com/blog/blackberry-playbook-2-0-html5-notifications-flash-and-the-dangerous-3d-webgl</link>
		<comments>http://www.mobilexweb.com/blog/blackberry-playbook-2-0-html5-notifications-flash-and-the-dangerous-3d-webgl#comments</comments>
		<pubDate>Wed, 22 Feb 2012 18:20:55 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[New devices and browsers]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[webgl]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=132</guid>
		<description><![CDATA[Tweet A year ago, I&#8217;ve reviewed the BlackBerry Browser for PlayBook –the tablet from RIM- as the browser with better support on new HTML5 APIs (see 1.0 review). Yesterday, 2.0 version of the operating system was released for free for every user and I&#8217;ve just investigated the new APIs available. Let&#8217;s see what I&#8217;ve found. [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="BlackBerry PlayBook 2.0 HTML5: notifications, Flash and the dangerous 3D WebGL - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/blackberry-playbook-2-0-html5-notifications-flash-and-the-dangerous-3d-webgl"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/2.0.jpg"><img class="alignleft size-full wp-image-137" style="margin-top: 0px; margin-bottom: 0px; margin-left: 10px; margin-right: 10px;" title="2.0" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/2.0.jpg" alt="" width="115" height="125" /></a>A year ago, I&#8217;ve reviewed the BlackBerry Browser for PlayBook –the tablet from RIM- as the browser with better support on new HTML5 APIs (see <a href="http://www.mobilexweb.com/blog/blackberry-playbook-tablet-browser-html5" target="_blank">1.0 review</a>). Yesterday, 2.0 version of the operating system was released for free for every user and I&#8217;ve just investigated the new APIs available. Let&#8217;s see what I&#8217;ve found.</p>
<p><span id="more-132"></span></p>
<p>While I&#8217;m still waiting to get a BlackBerry Smartphone 7.0 on my hands to review it -hey RIM, are you listening? ;) – I&#8217;m playing with the PlayBook OS browser. PlayBook Browser is important not just because of its users, but because it will be the same operating system for the next generation of BlackBerry Smartphones (BB10, previously known as BBX).</p>
<p>It was the first one supporting <strong>remote web inspector for debugging</strong> though your LAN and that&#8217;s a great feature. <a href="http://www.mobilexweb.com/blog/google-chrome-android-html5" target="_blank">Chrome for Android</a> also supports web debugging but using USB, not through your network.</p>
<p>If you check my <a href="http://www.mobilexweb.com/blog/blackberry-playbook-tablet-browser-html5" target="_blank">PlayBook 1.0 review</a>, you will see that the first version of the browser was already supporting lot of APIs, such as Web Workers, Web Sockets, Device Motion, touch events, form elements and CSS3.</p>
<h3>HTML5 Support</h3>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/webgl.jpg"><img class="alignright size-full wp-image-138" title="webgl" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/webgl.jpg" alt="" width="165" height="165" /></a>The PlayBook 2.0 documentation for web development was not released yet so I was forced –again- to dig into the DOM and search for APIs.</p>
<p>This new version is again surprising me: this is the first tablet –and even mobile device- supporting by default in the native browser:</p>
<ul>
<li><strong>WebGL</strong> – 3D Drawing API</li>
<li><strong>Web Notifications API</strong></li>
</ul>
<p>It also supports some other new HTML5 stuff, such as:</p>
<ul>
<li>File API</li>
<li>Contenteditable attribute</li>
<li>3D transformations</li>
<li>XMLHttpRequest 2</li>
<li>SVG Fonts</li>
<li>Browser History API</li>
</ul>
<p>Now there is a simpler way to add a page to the Home Screen after touching the star icon instead of adding a bookmark. Unfortunately, it&#8217;s not taking your apple-touch-icon, it&#8217;s just using a screenshot of your page as the icon.</p>
<p>There is no IndexedDB yet but Web SQL is still supported.</p>
<p><strong>Flash Player</strong> is available and running really well, being  the only tablet supporting Flash officially right now.</p>
<h3>Dangerous 3D</h3>
<p>3D is finally here. PlayBook 2.0 supports 3D CSS transforms but it also supports <strong>WebGL</strong> –aka 3D canvas Drawing API-. This is the first installed by-default mobile browser to support WebGL. The first thing that surprised me on the browser was the idea of giving permission to WebGL to work. It seems a good idea for privacy-related APIs such as Geolocation, contacts or notification but giving permission for WebGL is a little strange. How a normal user understands what WebGL is and why is so dangerous?</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/IMG_00000035.jpg"><img class="alignnone  wp-image-133" title="IMG_00000035" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/IMG_00000035.jpg" alt="" width="614" height="360" /></a></p>
<p>I can understand that WebGL may be a battery killer feature, so a message like that is understandable. This is the first time I see a browser warning the user about WebGL security and &#8220;your PlayBook may crash&#8221;. It seems to me something like: &#8220;this is not working properly yet so if your browser crashes it&#8217;s not our fault; it&#8217;s the developer trying to steal your information&#8221;. I know there are some <a href="http://en.wikipedia.org/wiki/WebGL#Security" target="_blank">security issues with WebGL</a> but I don&#8217;t like the warning. If the user is a typical BlackBerry user –security paranoic- then he will not accept WebGL. Why did RIM add WebGL to the browser if it leads to a real security risk?</p>
<h3>Web Notifications</h3>
<p>Web Notifications is the ability to show a notification in the operating system from a webpage, even when our page is in the background –at least on some operating systems with real multitasking-. This is a killer feature, because it allows webapps to communicate with the user anytime.  On the mobile side, this API was only available in Firefox for Chrome.</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/pb_1.jpg"><img class="alignright  wp-image-135" title="pb_1" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/pb_1.jpg" alt="" width="255" height="194" /></a>This API is available in PlayBook 2.0 –using the webkit prefix- but it seems to be incomplete. I was able to show a background notification –see image below- but I could only catch the click event when the user closes the notification with the little &#8220;x&#8221; icon, not when clicking on the message. Even clicking on the notification&#8217;s message doesn&#8217;t do anything. It doesn&#8217;t open the browser again, it doesn&#8217;t open the URL I gave when creating the notification and it doesn&#8217;t trigger any event. It seems like a bug to me.</p>
<p>Trying to deliver an HTML notification message also leads to a buggy situation. Instead of seeing your message you will see an ugly URL as a notification message.</p>
<p>You will need permission on your domain before sending a notification. The following code works properly:</p>
<p><code>webkitNotifications.requestPermission(function() {<br />
// Creates a normal notification<br />
var notification = webkitNotifications.createNotification("http://mobilehtml5.org", "HTML5 notification", "Hi from the webpage");<br />
notification.show();<br />
});</code></p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/IMG_00000038.jpg"><img class=" wp-image-136 alignnone" title="IMG_00000038" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/IMG_00000038.jpg" alt="" width="614" height="360" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/blackberry-playbook-2-0-html5-notifications-flash-and-the-dangerous-3d-webgl/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Google Chrome for Android: welcome to the mobile HTML5 world</title>
		<link>http://www.mobilexweb.com/blog/google-chrome-android-html5</link>
		<comments>http://www.mobilexweb.com/blog/google-chrome-android-html5#comments</comments>
		<pubDate>Wed, 08 Feb 2012 14:23:40 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[New devices and browsers]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=122</guid>
		<description><![CDATA[Tweet It&#8217;s that time of the year again when the mobile web ecosystem changes. Google Chrome Beta for Android was released and it appears as the future replacement of Android Browser. I&#8217;ve made a deep analysis on the browser HTML5 compatibility and the comparison with Safari on iOS and Android Browser and I&#8217;ll show in [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="Google Chrome for Android: welcome to the mobile HTML5 world - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/google-chrome-android-html5"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/logo.png"><img class="alignleft  wp-image-123" style="margin-left: 10px; margin-right: 10px;" title="logo" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/logo.png" alt="" width="106" height="110" /></a>It&#8217;s that time of the year again when the mobile web ecosystem changes. Google Chrome Beta for Android was released and it appears as the future replacement of Android Browser. I&#8217;ve made a deep analysis on the browser HTML5 compatibility and the comparison with Safari on iOS and Android Browser and I&#8217;ll show in this post my results.</p>
<p><span id="more-122"></span></p>
<p>&nbsp;</p>
<h3>Quick look</h3>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_11_36_20.png"><img class="alignright size-medium wp-image-124" style="margin: 10px;" title="Samsung_Galaxy Nexus_Feb_8_2012_11_36_20" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_11_36_20-168x300.png" alt="" width="168" height="300" /></a>If you have an <strong>Android 4.0</strong> device, go to the <a href="https://market.android.com/details?id=com.android.chrome" target="_blank">Market</a> and download it so you can try it yourself. Chrome for Android is a <strong>big step for the whole mobile web community</strong> and I&#8217;m happy for it. It&#8217;s still the first beta so there are some things that need some work but in a quick look, it seems stable, fast, nice, and with the latest HTML5 support.</p>
<p>It&#8217;s the beginning of the future of some APIs in the mobile world, including <strong>Request Animation Frame, FullScreen API, Page Visibility API</strong> and <strong>IndexedDB</strong>. Unfortunately, Chrome is not available yet for Android 2.x and 3.x and WebGL is still out of this version.</p>
<p>I&#8217;ve played a couple of hours with the browser and here is my review. I&#8217;ll update this post if I find some new information to add or correct. <a href="http://www.twitter.com/firt" target="_blank">Follow me</a> if you want to get updates.</p>
<h3>Why Chrome?</h3>
<p>Do we really need a new browser for Android? The answer depends on our point of view. Android is right now the platform with more options in terms of web browsing: the by-default Android Browser, Opera Mobile, Opera Mini, Firefox, UCWeb and now Google Chrome. Chrome appears in the Android world not as a new browser but as a long-term replacement for Android Browser.</p>
<p><strong>The problem was Android Browser</strong>. It was always behind Safari on iOS for iPhone and iPad and it was far away behind its desktop cousin Google Chrome; at least, in terms of HTML5 compatibility. Android Browser had problems in the past and the worst problem from my point of view: it doesn&#8217;t auto-update. And we know that Android users –because of vendors and carriers- usually upgrade only one version of the operating systems, so millions of users are prisoners of the same Android Browser version until they upgrade their device.</p>
<p>Today, <strong>the future of Android browser has begun</strong>. Google has released the first beta version of Google Chrome for Android. Starting from the ground from the Chromium Project instead of the original WebKit-based Android browser, Google did a good job aligning the browsing experience and HTML5 compatibility with the present and future standards.</p>
<p>Chrome Beta is a 17Mb free download available on selected countries via <a href="https://market.android.com/details?id=com.android.chrome" target="_blank">Android Market</a> only for Android 4.0 smartphones and tablets. And that is the first bad news: Gingerbread (2.3) and Honeycomb (3.x) users don&#8217;t have a Chrome version now and there is no official communication about a version for those platforms in the future. Currently, <a href="http://developer.android.com/resources/dashboard/platform-versions.html" target="_blank">only 1% of Android users are using 4.0</a>+.</p>
<h3>Features</h3>
<p>The browser claims to have a faster scrolling experience and I&#8217;m not sure yet if <a href="http://dev.chromium.org/spdy" target="_blank">SPDY</a> protocol is supported, but I hope so.</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_13_02_17.png"><img class="alignright size-medium wp-image-125" title="Samsung_Galaxy Nexus_Feb_8_2012_13_02_17" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_13_02_17-168x300.png" alt="" width="168" height="300" /></a>One of the most important features for me: it&#8217;s an Android app downloaded from the Market. Why this is so important? Because it can be updated in the same way. We will get <strong>auto-update</strong> feature on Chrome, and that&#8217;s the best news we as web developers can receive.</p>
<p>Chrome for Android has a nice UI optimized for tabbed browsing using a new tab browsing experience compared to Android Browser. You can flip/swipe between tabs, as in webOS (if you are creating a touch game, you should avoid use the edges).</p>
<p>It supports <em><strong>Incognito mode</strong></em> (private mode) and a feature called <strong><em>Bandwidth management</em></strong> that preload pages when you are using Wi-Fi. There is no information on how this feature works (rel=preload maybe?) but I believe the search bar is using it. When you search something the first results are being preloaded by default if you are on Wi-Fi.</p>
<p>The user interface includes a <strong>fixed URL bar</strong>, a tab button and a menu button. The URL bar is always visible and there is no way to hide it, as in Safari for iOS or even Android Browser. The URL bar doesn&#8217;t show the page&#8217;s title or the page&#8217;s icon, just the URL.</p>
<p>I really like the new feature called <strong>Link Preview</strong> that will make a quick zoom on areas with lots of links in a site without a mobile viewport (see image below). This feature helps the user selecting the right link.</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/links.png"><img class="alignnone size-medium wp-image-126" title="links" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/links-300x184.png" alt="" width="300" height="184" /></a></p>
<p>Of course, if you sign in with your Google Account, you will get full synchronization between Chrome for Desktop and Chrome for Android, search suggestions, opened tabs, history and bookmarks.</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/sign.png"><img class="alignnone size-medium wp-image-128" title="sign" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/sign-265x300.png" alt="" width="265" height="300" /></a></p>
<h3>Detection</h3>
<p>To avoid misdetection of Chrome for Android as a desktop, the user agent looks like:</p>
<p><strong><span style="color: #008000;">Mozilla/5.0 (Linux; U; Android 4.0.2; en-us; Galaxy Nexus Build/ICL53F) AppleWebKit/535.7 (KHTML, like Gecko) CrMo/16.0.912.75 Mobile Safari/535.7</span></strong></p>
<p>As you can see, there is no Chrome string there; just <strong>CrMo</strong> (Chrome Mobile?) and other Android-typical strings.</p>
<p>I&#8217;ve made a quick test on some websites, and they are all detecting Chrome as Android Browser.</p>
<h3>Remote debugging</h3>
<p>For developers, remote debugging and profiling is one of the greatest additions. I&#8217;ve received lot of feedback a month ago when I&#8217;ve created iWebInspector, a remote debugger helper for iOS Simulator. Now you have the same tool for Android devices.</p>
<p>It allows us to use a <strong>full Remote Inspector</strong> –the same as in Chrome for Desktop- remotely using <strong>USB debugging</strong>. Unfortunately, this feature doesn&#8217;t work via the network as in BlackBerry Browser for PlayBook and Smartphones 7.0, <a href="http://debug.phonegap.com" target="_blank">Weinre</a> or <a href="http://iwebinspector.com" target="_blank">iWebInspector</a>.</p>
<p>You need to use USB debugging mode, meaning that you as a web developer needs the Android SDK tools, the debugging drivers of your phone for Windows users and a couple of command-line tools to deal with. Maybe, it&#8217;s time for a iWebInspector for Chrome to help designers with this process :). I believe this process should be easier for web developer but it&#8217;s not a big deal when you understand how to do it.</p>
<p><iframe src="http://www.youtube.com/embed/s4zpL4VBbuU?rel=0" frameborder="0" width="560" height="315"></iframe></p>
<p>For more information and instructions on how to set this up, visit <a href="http://code.google.com/chrome/mobile/docs/debugging.html" target="_blank">http://code.google.com/chrome/mobile/docs/debugging.html</a></p>
<h3>Hybrids and PhoneGap</h3>
<p>This is a big question. Every developer that had experience with hybrid development in Android, including PhoneGap apps knows that sometimes the embedded WebView on Android gives us lots of problems compared with UIWebView on iOS.</p>
<p>At least today in this first beta, there is no way to use Chrome engine inside your hybrid Android app. However, in the <a href="http://code.google.com/chrome/mobile/docs/faq.html" target="_blank">FAQ</a> this feature is mentioned so I believe it&#8217;s being under consideration so go now and help me ask for this feature. In the future, PhoneGap or other frameworks can detect if Chrome is available and use ChromeView instead of the original WebView. Let&#8217;s dream with that :)</p>
<p>About UI frameworks, just a quick test says that jQuery Mobile and Sencha Touch seems to work properly on Chrome for Android.</p>
<h3>HTML5 compatibility</h3>
<p>The Chrome team did a good job porting Chromium to Android with the latest HTML5 APIs that we already have in Chrome for Desktop and Chrome OS. First, we have almost every API available in Android Browser 4.0. The only missing API is Network Information API that is on Android Browser since 2.2 and it&#8217;s not here on Chrome.</p>
<p>We have the <strong>typical HTML5 basic support</strong>, such as new elements, video –H.264 and WebM support- &amp; audio tags, Geolocation, hardware accelerated Canvas (2D Drawing), Web Storage, SQL Storage (ok, we can discuss if it&#8217;s an HTML5 API), Offline AppCache, and all the CSS3 stuff, such as selectors, effects, media queries, transforms, transitions and animations.</p>
<p>The browser also adds support for <strong>mobile-specific stuff</strong> such as Touch events, viewport definition, mobile icon support (apple-touch-icon) for bookmarks and orientation change events to the Chrome for Desktop compatibility APIs.</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_11_42_24.png"><img class="alignright size-medium wp-image-127" title="Samsung_Galaxy Nexus_Feb_8_2012_11_42_24" src="http://www.mobilexweb.com/wp-content/uploads/2012/02/Samsung_Galaxy-Nexus_Feb_8_2012_11_42_24-168x300.png" alt="" width="168" height="300" /></a>Chrome for Android also <strong>supports</strong>:</p>
<ul>
<li><span style="color: #008080;">History API</span></li>
<li><span style="color: #008080;">SVG and inline SVG</span></li>
<li><span style="color: #008080;">XMLHttpRequest 2.0</span></li>
<li><span style="color: #008080;">Device Orientation &amp; Motion API (accelerometer and gyroscope)</span></li>
<li><span style="color: #008080;">Media Capture API</span></li>
<li><span style="color: #008080;">Web Workers (not shared)</span></li>
<li><span style="color: #008080;">Web Timing API (available also on iOS5 and IE9 on Windows Phone 7.5)</span></li>
<li><span style="color: #008080;">Chrome Performance Timing API (http://ecmanaut.blogspot.com/2010/06/google-bom-feature-ms-since-pageload.html)</span></li>
<li><span style="color: #008080;">File API (File, FileList, FileReader, Blob types)</span></li>
<li><span style="color: #008080;">Console API</span></li>
<li><span style="color: #008080;">Content Editing API (contenteditable attribute and selection API)</span></li>
<li><span style="color: #008080;">Flex CSS Model (the legacy version, not the latest standard)</span></li>
<li><span style="color: #008080;">Form validation and new input types including range and date selections (excepting week selector).</span></li>
<li><span style="color: #008080;">Fixed positioning and scrolling areas (overflow: scroll).</span></li>
</ul>
<p>&nbsp;</p>
<p>And for <strong>new APIs in the mobile world</strong>, we can mention compatibility with:</p>
<ul>
<li><span style="color: #008080;">Page Visibility API</span></li>
<li><span style="color: #008080;">IndexedDB –the standard replacement for the SQL Storage API- (Firefox already supported this on mobile)</span></li>
<li><span style="color: #008080;">Request Animation Frame for smoother animations using HTML5</span></li>
<li><span style="color: #008080;">FullScreen API, but it&#8217;s not working properly yet (see below)</span></li>
</ul>
<h3>Missing features</h3>
<p>Looking at the APIs available on other mobile browsers or in Chrome for Desktop that are not there yet in this first beta version for Android:</p>
<ul>
<li><span style="color: #993300;">WebGL, aka 3D drawing API. The objects seems to be there as in iOS 4 and 5 but there is no way to use it.</span></li>
<li><span style="color: #993300;">Network Information API</span></li>
<li><span style="color: #993300;">Full Camera API (for using the camera source in a <em>&lt;video&gt;</em> tag and create augmented reality experiences)</span></li>
<li><span style="color: #993300;">Notification API, available in Chrome for Desktop and Firefox for Android</span></li>
<li><span style="color: #993300;">Gesture Events (they are only on Safari for iOS)</span></li>
<li><span style="color: #993300;">Flash Player support. However, this is a good decision, as Adobe will not support Flash Player in mobile in the future.</span></li>
<li><span style="color: #993300;">No home screen / applications menu icon support yet.</span></li>
<li><span style="color: #993300;">Some text-based input types don&#8217;t change virtual keyboard, such as email and url while number-based input types do.</span></li>
<li><span style="color: #993300;">There is still no support for datalist, menu and command. However, almost no browser is supporting these HTML5 elements.</span></li>
<li><span style="color: #993300;">No Input Speech extension for input types, available on Chrome for Desktop with the x-input-speech.</span></li>
<li><span style="color: #993300;">No extensions support yet. However, the APIs for extensions are there but disabled, such as <em>window.chrome.app.experimental</em> APIs.</span></li>
<li><span style="color: #993300;"><a href="http://dev.chromium.org/searchbox" target="_blank"><span style="color: #993300;">SearchBox API</span></a> is there but is not working. This API allow us to communicate with the URL bar (known as Omnibox in the Chrome world) while the user is typing or searching.</span></li>
<li><span style="color: #993300;">No compass support</span></li>
<li><span style="color: #993300;">No Web Audio support available on Chrome for Desktop</span></li>
<li><span style="color: #993300;"><a href="http://updates.html5rocks.com/2011/06/Registering-a-custom-protocol-handler" target="_blank"><span style="color: #993300;">Custom Protocol Handler API</span></a> is there but it&#8217;s disabled.</span></li>
</ul>
<h3>Bugs</h3>
<p>This is the first beta version and there are still some bugs to be solved . If you find a bug, you can <a href="http://code.google.com/p/chromium/issues/list?q=label%3AOS-Android" target="_blank">fill a request</a>.</p>
<ul>
<li><span style="color: #993300;">The FullScreen API is there and is working buggy. You can enable full-screen, sending in this mode an element and its content. However, it&#8217;s not really full-screen (the URL bar is still there) and there is no way to close this mode (by JavaScript or back button).</span></li>
<li><span style="color: #993300;">SearchBox, Custom Protocol Handler and Add Search Providers API are there but they don&#8217;t work</span></li>
</ul>
<h3>Emulating Chrome for Android</h3>
<p>Unfortunately, there is <strong>no official way to emulate Chrome for Android</strong>. You can say that Chrome for Desktop should be enough but the reality is that it&#8217;s not. Mobile has specific design properties that need other kind of testing. While the code is based on Chromium, as far as I know, it&#8217;s not exactly 100% the same source code as Google for Desktop, so we still need testing on it.</p>
<p>We have <a href="http://www.mobilexweb.com/emulators" target="_blank">Android Emulator</a>; however there is no official way to install Chrome on it. Android Emulator doesn&#8217;t support Market so you can&#8217;t install the Chrome package. If you are curious like me then you will find a way to get the Chrome package and install it on the emulator. Yes, I did it (don&#8217;t ask me how). However, Chrome is not working fully (it has something to do with some libraries). I could get the Chrome UI but not the ChromeView (the rendering area), so nothing is shown on the screen. I hope the Chrome team can figure out some way to emulate it soon. I know they are reading this post (right? ;) ), so make us happy team.</p>
<h3>Conclusion</h3>
<p>It&#8217;s a great time for the mobile web. This release even put in hold my vacations in the great Tokyo for a couple of hours so I could make this review.</p>
<p>A new first-class browser appears in the mobile web space, joining the list to Firefox, Safari and Internet Explorer. We are going to deal in the next –maybe two- years with Chrome and Android Browser at the same time but for the future, it was a good decision from Google.</p>
<p>I&#8217;ll continue my testing over a real device with Android 4.0 and post my results here. I&#8217;ll also update <a href="http://mobilehtml5.org" target="_blank">Mobile HTML5</a> in the next few days.</p>
<p>Did you find anything else on Chrome for Android? Do you have any other ideas? Use the comments area below.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/google-chrome-android-html5/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>iWebInspector: Debugging webapps and PhoneGap apps on iOS</title>
		<link>http://www.mobilexweb.com/blog/debugging-web-safari-phonegap-iphone-ipad</link>
		<comments>http://www.mobilexweb.com/blog/debugging-web-safari-phonegap-iphone-ipad#comments</comments>
		<pubDate>Mon, 21 Nov 2011 14:14:59 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=117</guid>
		<description><![CDATA[Tweet Debugging mobile web applications was always a painful process. In this post I&#8217;m presenting the free tool iWebInspector I&#8217;ve created to enable a full Web Inspector -including JavaScript debugging &#38; profiling- in Safari for iPhone and iPad and in PhoneGap apps. First of all, full credit of the hack behind the tool to Nathan de [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="iWebInspector: Debugging webapps and PhoneGap apps on iOS - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/debugging-web-safari-phonegap-iphone-ipad"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/11/icon.png"><img class="alignleft size-thumbnail wp-image-119" title="iWebInspector" src="http://www.mobilexweb.com/wp-content/uploads/2011/11/icon-150x150.png" alt="" width="90" height="90" /></a>Debugging mobile web applications was always a painful process. In this post I&#8217;m presenting the free tool <strong>iWebInspector</strong> I&#8217;ve created to enable a full Web Inspector -including JavaScript debugging &amp; profiling- in Safari for iPhone and iPad and in PhoneGap apps.</p>
<p><span id="more-117"></span><br />
First of all, full credit of the hack behind the tool to <a href="http://atnan.com/" target="_blank">Nathan de Vries</a>. He has discovered some days ago a private API and he has published a <a href="http://atnan.com/blog/2011/11/17/enabling-remote-debugging-via-private-apis-in-mobile-safari/" target="_blank">post</a> about it. With this solution we can enable a <strong>Remote Web Inspector on iOS Simulator</strong> included with Xcode 4.2 and iOS 5 SDK using some gdb (debugger) commands.</p>
<p>I&#8217;ve started this post as a tutorial on how to enable this option and debug webapps on the iOS Simulator. After writing this post, I&#8217;ve realized it was too difficult to use and enable for a typical web developer without Xcode experience.</p>
<p>My next thought was: &#8220;<em>it should be great to have a tool making these steps for us</em>&#8220;. And my saturday&#8217;s afternoon paid for that thought. I&#8217;d experience with Objective-C for iOS so it wasn&#8217;t difficult to create my first Cocoa Mac application using the same language. After a couple of hours, the first version of <a href="http://www.iwebinspector.com/" target="_blank">iWebInspector</a> was ready to go.</p>
<p><img class="alignnone" title="iWebInspector screenshot" src="http://www.iwebinspector.com/screenshot.png" alt="" width="640" height="338" /></p>
<p>The solution is not working -yet- on real iOS devices, just on the iOS Simulator -available only for Mac OS-. The tool can attach the Web Inspector to any tab opened in<strong> Safari for iOS</strong>, to a <strong>chrome-less webapp</strong> (full screen) or to a <strong>PhoneGap</strong> application -or any native application using <strong>UIWebView</strong>-.</p>
<h2>iWebInspector</h2>
<div>
<p>With this <a href="http://www.iwebinspector.com/" target="_blank">free tool</a> you can enable the full WebKit Web Inspector, including:</p>
<ul>
<li>See and browse every element on your HTML element. You can change attributes, content and styles and see how they apply on Safari</li>
<li>See all the resources involved in this page, including Databases, Local Storage, Cookies and ApplicationCache</li>
<li>Check all the network traffic on your website</li>
<li>See all your scripts, create breakpoints, watches and debug your JavaScript code.</li>
<li>Record a timeline showing you rendering, scripting and loading times while you browse on Safari</li>
<li>Profile your JavaScript code</li>
<li>Audit your code, showing you a report on performance and other stuff</li>
<li>See and use the JavaScript console</li>
</ul>
</div>
<p>I&#8217;m pretty sure that Apple will make this tool public in a future version of iOS.</p>
<h3><a href="http://www.iwebinspector.com/" target="_blank">Download iWebInspector</a></h3>
<h2></h2>
<h2>Attaching to PhoneGap and UIWebView</h2>
<p>If you are creating a PhoneGap application or a native iOS app with some UIWebView content, it&#8217;s easy to enable the Remote Web Inspector with a line of code instead of using <a href="http://www.iwebinspector.com/" target="_blank">iWebInspector</a>. This is a private API so remember to remove this line for the final compilation or you may have an AppStore rejection for private API usage.</p>
<p>Find your <strong>application:didFinishLaunchingWithOptions</strong> method on your <strong>AppDelegate.m</strong> file and add this line of code inside:</p>
<p><code>// Remove me after debugging<br />
[NSClassFromString(@"WebView") _enableRemoteInspector];<br />
</code></p>
<p>That&#8217;s all! After that, run your app on the simulator and <strong>localhost:9999</strong> will be pointing to the same Remote Web Inspector as in iWebInspector.</p>
<h2>Suggestions and Bug Report</h2>
<p>iWebInspector was created in a couple of hours, and this is the first version available.  If you find bugs, problems or if you have a suggestion, feel free to <a href="http://firt.mobi/" target="_blank">contact me</a> or leave a comment here.</p>
<p>&nbsp;</p>
<p>Enjoy!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/debugging-web-safari-phonegap-iphone-ipad/feed</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Android 4.0 Browser: smartphones meet tablets on HTML5 APIs</title>
		<link>http://www.mobilexweb.com/blog/android-4-0-browser-html5</link>
		<comments>http://www.mobilexweb.com/blog/android-4-0-browser-html5#comments</comments>
		<pubDate>Wed, 19 Oct 2011 11:44:19 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[New devices and browsers]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[html5]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=115</guid>
		<description><![CDATA[Tweet Android 4.0 was announced and the SDK was released. So, I&#8217;ve washed my hands, I&#8217;ve opened the emulator and I&#8217;ve started to dive into the new browser and see what&#8217;s in there and what&#8217;s not. Unfortunately it&#8217;s still Android Browser and not Chrome, but it comes in a better way. Busy month October 2011: [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="Android 4.0 Browser: smartphones meet tablets on HTML5 APIs - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/android-4-0-browser-html5"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p>Android 4.0 was announced and the SDK was released. So, I&#8217;ve washed my hands, I&#8217;ve opened the emulator and I&#8217;ve started to dive into the new browser and see what&#8217;s in there and what&#8217;s not. Unfortunately it&#8217;s still Android Browser and not Chrome, but it comes in a better way.</p>
<p><span id="more-115"></span></p>
<h2>Busy month</h2>
<p>October 2011: Busy month for mobile web world.  Just a few days ago, I&#8217;ve blogged about <a href="http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5">Safari on iOS 5;</a> yesterday BlackBerry announced the first mobile browser with WebGL support on the (future) PlayBook platform and a few weeks ago Amazon announced Silk, a new proxy-based browser for tablets.</p>
<p>And now, it&#8217;s the Android turn. Android 4.0 was released and while there is no real phone yet to test it on (the <a href="http://www.google.com/nexus/" target="_blank">Galaxy Nexus</a> will be available soon) I&#8217;ve downloaded the emulator and I&#8217;ve tested the browser comparing it to Android 2.3 (smartphones) and Android 3.2 (tablet) that I both have on my hands.</p>
<p>Google announced that Google Chrome will be the future of browsing in Android but it was not 4.0 the time for that.</p>
<h2>Smartphones meets tablets</h2>
<p>This version merges both smartphones and tablets, so smartphones jumps from 2.3 to 4.0 acquiring all the new things on the browser available on 3.x, including:</p>
<ul>
<li>SVG</li>
<li>Motion Sensor API (accelerometer and gyroscope -on compatible devices-)</li>
<li>3D Transforms on CSS3</li>
<li>XHR 2 &amp; CORS</li>
<li>File API</li>
<li>HTML Media Capture API for camera/microphone access through file management</li>
<li>Binary Arrays (Int16Array, Float32Array, etc.)</li>
</ul>
<h2>What&#8217;s still missing on Android 4.0</h2>
<p>Unfortunately, there are still some missing APIs that are available on Google Chrome and on iOS5 -some of them-, including:</p>
<ul>
<li>No Server-sent events (BTW, does anybody use it?)</li>
<li>No WebSockets</li>
<li>No WebWorkers</li>
<li>No IndexedDB</li>
<li>No Web Notifications (that is a real shame for this platform &#8211; <a href="http://mobilehtml5.org/" target="_blank">Firefox on Android</a> is doing it-)</li>
<li>No WebGL</li>
<li>No History Management API</li>
<li>No rich input controls! I&#8217;ve found a huge bug on the range input type (no rendering at all), and no date controls are working. Even it seems that Android 3.x has better support than 4.x (more testing soon)</li>
</ul>
<h2>New stuff</h2>
<p>The new stuff for both smartphones and platforms I&#8217;ve found:</p>
<ul>
<li><a href="https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html" target="_blank">Navigation Timing API</a>, same API in IE9 on Windows Phone and in Firefox 7 for Android</li>
<li>New Console API, but not working properly, for example there is a console.memory.usedJSHeapSize and console.memory.totalJSHeapSize attributes, and some new functions but I could not make them work yet.</li>
<li>The HTML5 &lt;keygen&gt; new form is available</li>
<li>Basic MathML seems to work</li>
</ul>
<h2>New things to know</h2>
<div>The browser has new user features that can change the way our website will work.</div>
<div>
<ul>
<li>New Incognito Tab</li>
<li>New &#8220;Labs&#8221; section where the user can add full-screen webapp support on the browser and some gestures over the browser (similar to Firefox for Android)</li>
<li>New &#8220;Request Desktop site&#8221; feature that I&#8217;m not sure exactly everything it does, but it changes the User Agent at least.</li>
</ul>
<div>
<h2>Performance</h2>
</div>
<div>Android browser is well known as a problematic browser in terms of performance. Google in its <a href="http://developer.android.com/sdk/android-4.0.html" target="_blank">official documentation</a> claims to have a faster browser in 4.0 with an updated V8 JavaScript engine. The new engine shows a 35<a href="http://developer.android.com/sdk/android-4.0-highlights.html" target="_blank">-550% performance improvement </a>on different devices and tests according to Google. I can&#8217;t test it until have a real device with Android 4 installed.</div>
<div></div>
</div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/android-4-0-browser-html5/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Safari on iOS 5, HTML5 evolution for iPhone and iPad</title>
		<link>http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5</link>
		<comments>http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5#comments</comments>
		<pubDate>Fri, 14 Oct 2011 13:11:37 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[New devices and browsers]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=95</guid>
		<description><![CDATA[Tweet It’s time again for a new version of iOS for iPhone and iPad and a bunch of news about mobile web development. I&#8217;ve analyzed every new feature I could found in Safari on iOS5, including what&#8217;s the final resolution with expected features as WebGL (3d) on Safari. Overview of new things HTML5 new APIs [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="Safari on iOS 5, HTML5 evolution for iPhone and iPad - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/10/ios5-logo1.png"><img class="alignleft size-thumbnail wp-image-105" style="margin: 5px;" title="ios5-logo1" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/ios5-logo1-150x150.png" alt="" width="90" height="90" /></a>It’s time again for a new version of iOS for iPhone and iPad and a bunch of news about mobile web development. I&#8217;ve analyzed every new feature I could found in Safari on iOS5, including what&#8217;s the final resolution with expected features as WebGL (3d) on Safari.</p>
<p><span id="more-95"></span></p>
<h2>Overview of new things</h2>
<ul>
<li>HTML5 new APIs and feature support, including: Web Workers, Web History, new web form controls, inline SVG, MathML, Compass support, new external script attributes, some new CSS3 improvements and contenteditable</li>
<li>Fixed zones and scrolling areas support</li>
<li>New tabbed browsing for iPad but no desktop-like support</li>
<li>Performance improvements and Nitro engine on home screen webapps</li>
</ul>
<div>
<h2>First, the bad news</h2>
</div>
<div>
<p>As always, <strong>Apple is not giving us any useful information for its browser</strong>. Just to mention an example: in its change-log Apple only mentions that the new range input type is supported, while there are other new input types supported and not mentioned there. That&#8217;s why this post was done after a couple of hours researching over the new browser.</p>
</div>
<div>There are also some new features on iOS 5 that are out of developers&#8217; hands. So let&#8217;s first talk about bad news.</div>
<div>
<ul>
<li>There is a new <strong>notification center on iOS 5</strong> that allows native applications to notify the user using Push notification and Local notification mechanism. There is no way to participate in this notification area from Safari or a home screen webapp. Of course, we can use a hybrid or a PhoneGap HTML5 application to do so.</li>
<li><strong>Siri on iPhone 4S</strong>. This Star Trek-like voice assistant available on iPhone 4S uses the web as its source of information. However, there is no API or way today to communicate with Siri from our website to provide content or help it with our site.</li>
<li><strong>Twitter integration</strong>. The new iOS includes a Twitter integration inside the core of the operating system. However, there is no public API to access this Twitter registration information from our web application. That means that if the user is already logged in on Twitter using his device, it should log in again on our website with the classic Twitter web authorization API. Of course, we can still use the <a href="http://handleopenurl.com/scheme/twitter" target="_blank">Twitter URI schemes</a> if the application is installed to open the native Twitter client.</li>
</ul>
</div>
<h2>HTML5 news for iOS 5</h2>
<h3>HTML5 Elements</h3>
<p>Safari on iOS still doesn’t render anything special on the new elements <strong>progress</strong>, <strong>meter</strong>, <strong>detail</strong> and <strong>summary</strong>. If your web content is well and semantically designed, the new <strong>reader mode</strong> will be activated and your content will be converted into a &#8220;article mode&#8221; view if the user presses the reader button on the URL bar. There is no API or attributes to manage or customize reader mode. Create a good mobile web experience and your user will never use the reader mode :).</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/10/reader.png"><img class="alignnone size-full wp-image-107" title="reader" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/reader.png" alt="" width="524" height="377" /></a></p>
<h3>Web Workers</h3>
<p>We can use workers to execute code in a different thread than the main UI thread using the <a href="http://dev.w3.org/html5/workers/" target="_blank">HTML5 Web Workers API</a>. This is great to provide good UI experiences when using lot of JavaScript execution.</p>
<h3>New Input types support</h3>
<p>iOS 5 supports new form rich controls using the input element, supporting <strong>range</strong> (rendered as a nice touch slider) and most date/time controls using <strong>date</strong>, <strong>time</strong>, <strong>datetime</strong>, <strong>month</strong> and <strong>datetime-local</strong>. From the HTML5 standard, color and week selector are still unsupported being rendered as plain text inputs. Datalist is still unsupported.</p>
<p>That is how this simple HTML elements are being rendered on iOS5 (iPhone and iPad):</p>
<p><code> &lt;input type="date"&gt;<br />
&lt;input type="datetime"&gt;<br />
&lt;input type="month"&gt;<br />
&lt;input type="range" min="0" max="40"&gt;</code></p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/10/input.png"><img class="alignnone size-full wp-image-108" title="input" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/input.png" alt="" width="400" height="359" /></a></p>
<h3>Inline SVG</h3>
<p>Now we can embed easily SVG graphics and animations using inline SVG, a new way to embed this kind of files inside an HTML using just a svg element, like que next example:<img class="alignright size-full wp-image-109" style="border-style: initial; border-color: initial;" title="inlinesvg" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/inlinesvg.png" alt="" width="152" height="222" /></p>
<div>
<p><code> &lt;body&gt;<br />
&lt;svg xmlns="http://www.w3.org/2000/svg" version="1.1" width="300" height="100"&gt;<br />
&lt;rect x="0" y="0" width="100" height="100" style="fill:yellow" /&gt;<br />
&lt;circle cx="50" cy="50" r="30" style="fill:red" /&gt;<br />
&lt;/svg&gt;<br />
&lt;/body&gt;</code></p>
</div>
<h3>ClassList API</h3>
<p>Now we can use this new API on every DOM node using the classList attribute that provides different methods for class manipulation (a la jQuery) such as add, remove, toggle and contains. For example: <code>menuList.classList.add('touch');</code></p>
<h3>ContentEditable</h3>
<p>This new attribute, global to all the HTML5 elements, allows us to convert any HTML element into an editable one. That means that now a user can edit a list (ul element) or even we can create rich editors for iOS using <strong>contenteditable</strong> and <strong>execCommand</strong>. On my quick tests most visual rich editors for HTML are working properly on iOS5. Some of them are not optimized for touch, but in functionality, you can change formats and styles without any problem.</p>
<p>Here you have <a href="http://ckeditor.com/" target="_blank">CKEditor</a> working on iPad:</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/10/editor.png"><img class="alignnone size-full wp-image-111" title="editor" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/editor.png" alt="" width="518" height="391" /></a></p>
<h3>History Management API</h3>
<p>Now we can change the URL without refreshing the page (and without using #) with this <a href="http://www.w3.org/TR/html5/history.html" target="_blank">new API inside HTML5 standard</a>. It exposes some new methods over the history object, such as <strong>pushState</strong>.</p>
<h3>Canvas</h3>
<p>Now it is hardware-accelerated as in Internet Explorer 9, so the performance is much more faster. <strong>CanvasPattern</strong> is now supported.</p>
<h3>Geolocation and iOS Simulator</h3>
<p>The iOS 5 Simulator for Mac now includes the ability to simulate different locations using latitude/longitude.</p>
<h3>MathML</h3>
<p>The markup language for math expressions is now available on iOS, so we can use the new math element in HTML and provide a MathML document inside. However, not every math special character is rendering propertly as I could check, such as Sum and big parentheses.</p>
<h3>XMLHttpRequest 2</h3>
<p><a href="http://www.w3.org/TR/XMLHttpRequest2/">XHR 2</a> is now supported but to be honest, it&#8217;s absolutely useless as file uploads and File API are disabled in Safari on iOS. The great advantage of XHR 2, the progress upload mechanism, is not allowed.</p>
<h3>LocalStorage</h3>
<p>Now it can be cleaned by the user in <em>Settings &gt; Safari</em> at the same time as cookies. The other new thing to keep in mind is that now a <strong>Private Browsing</strong> mode exists and we will receive exceptions if we try to use any offline API, such as LocalStorage, inside this mode. Keep in mind that you should catch this exceptions.</p>
<p>When activating Private Browsing Safari changes its whole UI to black:</p>
<p><a href="http://www.mobilexweb.com/wp-content/uploads/2011/10/private.png"><img class="alignnone size-full wp-image-112" title="private" src="http://www.mobilexweb.com/wp-content/uploads/2011/10/private.png" alt="" width="600" height="300" /></a></p>
<h3>Error handling</h3>
<p>Finally, <strong>window.onerror</strong> event is exposed so we can catch any JavaScript exception easily.</p>
<h3>DeviceMotion API</h3>
<p>Compass support is available in the devicemotion event through new attributes: <strong>webkitCompassHeading</strong> and <strong>webkitCompassAccuracy</strong>. There is also a new event we can subscribe to: <strong>compassneedscalibration</strong>. This will work only on iPad 2, iPhone 4, 4S and iPod touch last generation.</p>
<h3>Font Design</h3>
<p>Some CSS3 features were enhanced, such as support for <strong>:first-letter</strong> pseudo-element to have a different style for the first letter of a paragraph. Also <strong>text-rendering: optimizeLegibility</strong>; is now improving handling of kerning pairs and ligatures on typography. Now, <strong>WOFF</strong> (Web Open Font Format) is supported for CSS3 Web Fonts.</p>
<h3>New Gradient Syntax</h3>
<p>The new WebKit gradient syntax is supported, including: <code>-webkit-linear-gradient, -webkit-radial-gradient, -webkit-repeating-linear-gradient, -webkit-repeating-radial-gradient</code></p>
<h3>External script files</h3>
<p>Async scripts are now available using the <strong>async</strong> attribute. With asynchronic external script references, the script will be loaded without interfering with other resouces&#8217; downloads.</p>
<p><code>&lt;script src="external.js" async&gt;&lt;/script&gt;</code></p>
<p>It&#8217;s also available the <strong>defer</strong> attribute that allows the browser to defer the script execution until onload executes first.</p>
<p><code>&lt;script src="external.js" defer&gt;&lt;/script&gt;</code></p>
<h3><span class="Apple-style-span" style="font-size: 14px;">Sandboxed iframes</span></h3>
<h3><span class="Apple-style-span" style="font-size: 14px; font-weight: normal;">Now, an iframe can have different security implementations regarding the sandbox attribute as defined in this </span><a style="font-size: 14px; font-weight: normal;" href="http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#attr-iframe-sandbox" target="_blank">spec</a><span class="Apple-style-span" style="font-size: 14px; font-weight: normal;">.</span></h3>
<h3>Keep Waiting</h3>
<p>We still don’t have <strong>WebGL</strong> (3d canvas) even after demonstrating that WebGL is definitely there. It is deactivated and the rumor says that it’s there only for iAds usage inside a native app. We still don’t have <strong>IndexedDB</strong>, so Web SQL is the way to continue working with databases. And File Uploads or Camera APIs are also unsupported.</p>
<h2>Fixed Zones</h2>
<p>Finally, <strong>position: fixed</strong> is now working. This means that we can now leave those obscure tricks using touch events to emulate fixed toolbars and a lot of JavaScript code (equals CPU usage, equals battery consumption) for emulate momentum animation.</p>
<p>Keep in mind that when using <strong>position: fixed</strong> and a scalable viewport (or no viewport definition at all), the fixed zone zooms in/out as the viewport and it’s not really fixed as we could expect.</p>
<p>BTW, if you have a desktop website (not mobile-optimized) and fixed zones, you have a big problem! The fixed zones will create useless experiences when the user zooms in.</p>
<h2>Scrolling zones</h2>
<p>Before iOS 5 any scrolling zone, such as an element with <strong>overflow: scroll</strong> or an iframe had usability problems. That is because the user needs to use a two-finger scrolling gesture to scroll inside smaller areas in a page.</p>
<p>Now this problem has ended, as now <strong>every inner scrolling area will be scrolled using only one finger</strong>. And a new CSS extended attribute allows us to define what kinds of scrolling do we want: <strong>-webkit-overflow-scrolling</strong> that can accept <strong>auto</strong> (standard “desktop-like” scroll) or <strong>touch</strong> (with momentum, like native iOS applications or even like the page scroll momentum).</p>
<p><code> .scrollingWithMomentum {<br />
height: 200px;<br />
overflow: scroll;<br />
-webkit-overflow-scrolling: touch;<br />
}<br />
</code></p>
<h2>Tabs in iPad</h2>
<p>On iPad with iOS 5 we have now navigation using tabs. But be very careful! <strong>Tabs don’t work as in desktop</strong>. No tab will work in background or execute any background JavaScript and there is also no favicon support for the tab name. The user can now open a tab in background but your page will be live until onload and it will be frozen and reactivate when the user activate the tab.</p>
<p>If the browsers needs memory can release our page (even being already on an open tab) and when the user activates, the page will be reloaded. We can use sessionStorage to store information for this case.</p>
<h2>Performance and Nitro</h2>
<p>There is an excellent coverage of <a href="http://www.blaze.io/mobile/ios5-top10-performance-changes/" target="_blank">performance on iOS5 on Blaze.io blog</a>, so I will not get deeper in this topc. Performance on HTML5 is really improved, as well as some HTTP techniques for loading pages faster. After my testing I can now conclude that Nitro engine is now available on Home Screen apps and it’s still out of UIWebView (PhoneGap-like apps and pseudo-browsers such as SkyFire).</p>
<h2>Conclusion</h2>
<p>iOS 5 is in the line of HTML5 evolution but it still owe us some new features that are being added in other mobile browsers, such as WebGL, HTML Media Capture API, Device Network Information API and maybe a remote web inspector.</p>
<p>However, Safari on iOS is still the leader in terms of mobile browsers and it&#8217;s still the most important browser today to look at when developing mobile web experiences. However, <strong>be responsible and don&#8217;t create applications and websites that only works on Safari or WebKit</strong>.</p>
<p><em>What do you think? Are you happy with the new changes? Were you expecting more? Did you find anything else new? Feel free to use the comment area!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5/feed</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Presenting Mobile HTML5 compatibility tables</title>
		<link>http://www.mobilexweb.com/blog/presenting-mobile-html5-compatibility-table</link>
		<comments>http://www.mobilexweb.com/blog/presenting-mobile-html5-compatibility-table#comments</comments>
		<pubDate>Fri, 30 Sep 2011 21:20:46 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=92</guid>
		<description><![CDATA[Tweet September 2011 was a busy month for the mobile web space. While we are still waiting for iOS5, Android Ice cream sandwich, new mobile browsers appeared in the ecosystem: Internet Explorer 9 for Windows Phone 7.5, Firefox 7 for Android and the upcoming Amazon Silk to be included in the new Amazon Prime tablet. [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="Presenting Mobile HTML5 compatibility tables - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/presenting-mobile-html5-compatibility-table"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p>September 2011 was a busy month for the mobile web space. While we are still waiting for iOS5, Android Ice cream sandwich, new mobile browsers appeared in the ecosystem: <strong>Internet Explorer 9</strong> for Windows Phone 7.5, <strong>Firefox 7</strong> for Android and the upcoming <strong>Amazon Silk</strong> to be included in the new Amazon Prime tablet.</p>
<p><span id="more-92"></span></p>
<p><img class="alignright size-full wp-image-93" title="logo_mobilehtml5" src="http://www.mobilexweb.com/wp-content/uploads/2011/09/logo_mobilehtml5.png" alt="" width="232" height="321" /></p>
<p>While the mobile space changes, there is one problem in the HTML5 world:<strong> the web community doesn&#8217;t fully <strong>understand the</strong> mobile world.</strong> That is why excellent resources such as <a href="http://www.modernizr.com" target="_blank">Modernizr</a> &amp; <a href="http://www.caniuse.com" target="_blank">Caniuse.com</a> don&#8217;t have accurate information about the mobile web space and web developers should not rely on that information.</p>
<p>HTML5 is on everybody&#8217;s mouth but web developers have a great challenge: understanding mobile web space and guessing if an HTML5 feature has enough compatibility in the market to start using and testing with it.</p>
<p>That is why, while I was presenting at the great <a href="http://www.bdconf.com" target="_blank">Breaking Development</a> conference in Nashville, I&#8217;ve announced a new project: <a href="http://www.mobilehtml5.org" target="_blank">MobileHTML5.org</a>.</p>
<p>Back in 2010 for my book <a href="book/" target="_blank">Programming the Mobile Web</a>, I&#8217;ve made a lot of testing over dozens of different mobile browsers. And that was the start for this new project.</p>
<p><img class="alignleft" style="margin-left: 5px; margin-right: 5px;" src="http://akamaicovers.oreilly.com/images/0636920021711/cat.gif" alt="" width="126" height="165" />And now I have a new big impulse for creating this site, a new upcoming book is now official: <a href="http://shop.oreilly.com/product/0636920021711.do" target="_blank">Mobile HTML5</a> to be published in early 2012 by O&#8217;Reilly Media, co-authored with <a href="http://standardista.com" target="_blank">Estelle Weyl</a>, a great partner for this new project.</p>
<p>So <a href="http://www.mobilehtml5.org" target="_blank">MobileHTML5.org</a> is the result of hours of testing over mobile browsers and I hope everyone can use and contribute to. This is just the start and I&#8217;m planning a bunch of new features for the following weeks, including: getting deeper in each API to understand differences between platforms; testing suites and code samples.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/presenting-mobile-html5-compatibility-table/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery Mobile workshop at #oscon</title>
		<link>http://www.mobilexweb.com/blog/jquery-mobile-workshop-at-oscon</link>
		<comments>http://www.mobilexweb.com/blog/jquery-mobile-workshop-at-oscon#comments</comments>
		<pubDate>Tue, 26 Jul 2011 15:30:50 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=89</guid>
		<description><![CDATA[Tweet On July, 26th I&#8217;m doing a workshop at OSCON about jQuery Mobile. If you are there (or not) here you can download the files we are going to use there. It&#8217;s algo a very good time to present my new book jQuery Mobile: Up and Running, available un Early Access. Download workshop files]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="jQuery Mobile workshop at #oscon - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/jquery-mobile-workshop-at-oscon"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p>On July, 26th I&#8217;m doing a workshop at OSCON about jQuery Mobile. If you are there (or not) here you can <a href="/workshop.zip">download the files</a> we are going to use there. It&#8217;s algo a very good time to present my new book <a href="/book">jQuery Mobile: Up and Running</a>, available un Early Access.</p>
<p><span id="more-89"></span></p>
<p><strong><a href="/workshop.zip">Download workshop files</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/jquery-mobile-workshop-at-oscon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Web &amp; HTML5 performance optimization</title>
		<link>http://www.mobilexweb.com/blog/mobile-web-html5-performance-optimization</link>
		<comments>http://www.mobilexweb.com/blog/mobile-web-html5-performance-optimization#comments</comments>
		<pubDate>Wed, 15 Jun 2011 16:15:27 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[Performance]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[wpo]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=88</guid>
		<description><![CDATA[Tweet Velocity is an excellent annual conference organized by O&#8217;Reilly about web performance (WPO) and web operations. This was my second Velocity as speaker and I&#8217;m really surprised how bigger the show is this year. I did a workshop about mobile web &#38; html5 performance optimization and here you have my presentation. &#160; If you [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="Mobile Web & HTML5 performance optimization - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/mobile-web-html5-performance-optimization"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><img src="http://assets.en.oreilly.com/1/event/60/velocity2011_spkr_125x125.gif" width="125" height="125"  border="0"  alt="Velocity Conference 2011" title="Velocity Conference 2011"  align="left"  /><a href="http://www.velocityconf.com" target="_blank">Velocity</a> is an excellent annual conference organized by O&#8217;Reilly about web performance (WPO) and web operations. This was my second Velocity as speaker and I&#8217;m really surprised how bigger the show is this year. I did a workshop about mobile web &amp; html5 performance optimization and here you have my presentation.</p>
<p>&nbsp;</p>
<p><span id="more-88"></span>If you attended my workshop in Santa Clara, California and you have a feedback about it, please use the <a href="http://velocityconf.com/velocity2011/public/schedule/detail/19976" target="_blank">official workshop page</a> to give it. You can always comment here or send me an <a href="http://firt.mobi" target="_blank">e-mail</a>, of course. Thanks again to <a href="http://www.stevesouders.com" target="_blank">Steve Souders</a>, the guy behind WPO (Web Performance Optimization) and Velocity co-chair for inviting me again to this great conference.</p>
<p>Full video of my conference will be available later!</p>
<div style="width:425px" id="__ss_8316962"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/firt/mobile-web-html5-performance-optimization" title="Mobile Web &amp; HTML5 Performance Optimization">Mobile Web &amp; HTML5 Performance Optimization</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8316962" width="625" height="455" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/firt">Maximiliano Firtman</a> </div>
</p></div>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/mobile-web-html5-performance-optimization/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>HTML5 and new features in Safari for iOS 5 beta 1</title>
		<link>http://www.mobilexweb.com/blog/html5-safari-ios5-beta</link>
		<comments>http://www.mobilexweb.com/blog/html5-safari-ios5-beta#comments</comments>
		<pubDate>Fri, 10 Jun 2011 15:36:54 +0000</pubDate>
		<dc:creator>firt</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[New devices and browsers]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ios5]]></category>
		<category><![CDATA[safari]]></category>

		<guid isPermaLink="false">http://www.mobilexweb.com/?p=82</guid>
		<description><![CDATA[Tweet As you may already known, iOS 5 beta 1 was released for registered developers and there was a presentation showing some of the new features in Safari. I’ve made the usual investigation to see what’s new and I find a way to show you what&#8217;s new in HTML5. UPDATE: Final version of iOS5 is [...]]]></description>
			<content:encoded><![CDATA[
	<div style="float: right; margin: 10px">
		<a href="http://twitter.com/share" class="twitter-share-button" data-count="horizontal" data-text="HTML5 and new features in Safari for iOS 5 beta 1 - Breaking the Mobile Web" data-url="http://www.mobilexweb.com/blog/html5-safari-ios5-beta"  data-via="mobilexweb @firt" data-related="firt:Blog\\\\\\\\\\\\\\\'s author">Tweet</a>
	</div>
	<script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script><p><img class="alignleft" style="margin-left: 5px; margin-right: 5px;" src="http://www.mobilexweb.com/wp-content/uploads/2011/06/ios52.png" alt="" width="71" height="72" />As you may already known, iOS 5 beta 1 was released for registered developers and there was a presentation showing some of the new features in Safari. I’ve made the usual investigation to see what’s new and I find a way to show you what&#8217;s new in HTML5.</p>
<div>
<p><span id="more-82"></span></p>
<p><strong>UPDATE: Final version of iOS5 is available. Here you have the <a href="http://www.mobilexweb.com/blog/ios-5-iphone-and-ipad-html5">updated post</a>.</strong></p>
<p>&nbsp;</p>
<p>Since iOS 2, Safari is the mobile browser with most surprises on every version of the O.S. There are one problem with that: new features are never documented on time by Apple. So we need to figure out new things by ourselves. Some things are easy to discover and some others are nearly impossible (such as new meta tags).</p>
<h2>Wishes</h2>
<p>After iOS 4.3, lot of things were discussed on blogs and discussion forums about features (and lack of) and a lot of wishes lists were published, including:</p>
</div>
<div>
<ul>
<li>WebGL (aka 3D Drawing API)</li>
<li>Web Workers</li>
<li>Nitro support on full-screen webapps and hybrids (see this post for more info)</li>
<li>HTML5 no working form input types (such as date, datetime, etc.)</li>
<li>Position: fixed support</li>
<li>File upload support</li>
<li>Background / widget support</li>
<li>Notificacions API</li>
<li>Document inspector support</li>
</ul>
<p>Most of these missing features on iOS are available right now on <a href="http://www.mobilexweb.com/blog/blackberry-playbook-tablet-browser-html5" target="_blank">BlackBerry Browser for PlayBook</a>, so it was expected that the next version of iOS should add some of them. I’ve tested it for some days and I’ve my conclusions for Beta 1. These conclusions are not final, as things can change until the final version is published.</p>
<h2>My findings</h2>
<p>I have one bad news and one good news. The bad one: I can not publish my conclusions here, because Apple has every aspect of iOS 5 SDK under <strong>NDA</strong> (Non-Disclosure Agreement); so <strong><em>I can’t talk about it in public</em>.</strong> The good one: If you are also under NDA (you are an approved iOS Developer), you can continue reading and discussing my full post <strong><a href="https://devforums.apple.com/thread/103973" target="_blank">here &gt;&gt;&gt;&gt;</a></strong>.</p>
<h2>What’s new (public information)</h2>
<p><img class="alignnone" src="http://images.apple.com/ios/ios5/images/features_safari_overview.png" alt="" width="617" height="330" /> What I can tell you here is the public information about Safari and iOS 5. It is announced as a faster browser experience (without technical information) with tab support on iPad (finally!) and two new features borrowed from Safari on Desktop:</p>
<ul>
<li><strong>Reading List</strong>: a feature that mixed with iCloud let you mark a webpage for future reading while this list is synchronized between all your devices (including desktop).</li>
<li><strong>Safari Reader</strong>: a new mode that will let the user read the current article without distractions (it removes ads, logos and it changes the CSS style of your site). This is similar to Safari on Desktop and to Readability</li>
</ul>
<p>Tabs appears without any icon (as we are used to in desktop). Twitter is also integrated inside Safari so the Actions buttons now has new options as you can see in the image below: <img class="alignnone" src="http://images.apple.com/ios/ios5/images/features_safari_readinglist.png" alt="" width="647" height="345" /></p>
<p>iOS 5 has now a Notification Center (very similar to Android’s one), but there is no public information about usage from a webpage. If you want to read the <strong><a href="https://devforums.apple.com/thread/103973" target="_blank">full post (under NDA)</a></strong> with the new stuff for HTML5, go to <strong><a href="https://devforums.apple.com/thread/103973" target="_blank">this link</a></strong>.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.mobilexweb.com/blog/html5-safari-ios5-beta/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>

