<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5289302723875218173</id><updated>2025-01-12T17:51:02.232-05:00</updated><category term="HTML5"/><category term="Javascript"/><category term="IOS"/><category term="web app"/><category term="Web-app"/><category term="Glass"/><category term="Glassware"/><category term="Google Glass"/><category term="Web-apps"/><category term="ios6"/><category term="Ipad"/><category term="Iphone"/><category term="Media Gallery"/><category term="Webapp"/><category term="Android"/><category term="Backbone"/><category term="Backbone.js"/><category term="GoogleMap"/><category term="Media manager"/><category term="OpenStreetMap"/><category term="Safari"/><category term=".NET"/><category term="AGILE"/><category term="API Google Map"/><category term="Apps Web"/><category term="Backbonejs"/><category term="GDK"/><category term="GoogleGlass"/><category term="IOS7"/><category term="JQuery"/><category term="MVC"/><category term="Map"/><category term="MediaGallery"/><category term="Mediametrie"/><category term="Microsoft"/><category term="MyGlass"/><category term="Part de marché"/><category term="Ruby"/><category term="SCRUM"/><category term="Siriproxy"/><category term="Siriproxy plugin"/><category term="Tech Days 2013"/><category term="Visual Studio 2012"/><category term="XE12"/><category term="XFinity Remote TV App"/><category term="XFinityRemote"/><category term="ajax"/><category term="apple"/><category term="application mobile"/><category term="apps"/><category term="html"/><category term="iOS 6.1"/><category term=".htaccess"/><category term="ALM201"/><category term="ASP.NET"/><category term="ASP.NET Authentification"/><category term="Appcelerator"/><category term="Appcelerator Report"/><category term="Appcelerator Report Q3 2012"/><category term="Authentification Forms"/><category term="Bacbkone.Router"/><category term="Backbone View"/><category term="Backbone.View"/><category term="C#"/><category term="CSS3"/><category term="Cache"/><category term="Camera.FaceDetectionListener"/><category term="Campus Opera"/><category term="Cartographie sur mobile"/><category term="Certification"/><category term="Chrome"/><category term="Comcast Remote"/><category term="Connected Objects"/><category term="DOM"/><category term="DOM Ready"/><category term="Exam 70-480"/><category term="FaceDetection"/><category term="FaceDetectionDemo"/><category term="FaceDetector.Face"/><category term="Facebook"/><category term="Fusion Tables"/><category term="FusionTablesLayer"/><category term="Glass Explorer"/><category term="IOS7 GM"/><category term="Internet"/><category term="IoT"/><category term="Java"/><category term="Jquery DOMReady"/><category term="Jquery Mobile"/><category term="MVC Javascript"/><category term="Manifest"/><category term="Marker"/><category term="MediaQuery"/><category term="MediaQueryList"/><category term="MediaQueryListListener"/><category term="Meetup"/><category term="Newyork times"/><category term="Paris"/><category term="Patterns Agiles"/><category term="Reverse XFinity"/><category term="Septembre"/><category term="Siri"/><category term="TFS 2012"/><category term="Tech Days"/><category term="TechDays"/><category term="Underscore.js"/><category term="Unserscore"/><category term="User-agent"/><category term="VS 2012"/><category term="Web Application"/><category term="Web Worker"/><category term="Windows 9"/><category term="_escaped_fragment_"/><category term="apache"/><category term="bug"/><category term="cookieless"/><category term="crawl"/><category term="getCurrentPosition"/><category term="jeu"/><category term="jquerymobile"/><category term="markerOption"/><category term="matchMedia"/><category term="objective-c"/><category term="online/offline"/><category term="phantomjs"/><category term="pocket island"/><category term="seo"/><category term="single page website"/><category term="tablet"/><category term="tablette"/><category term="usecookie"/><category term="wcf"/><category term="webview"/><category term="window.matchMedia"/><category term="woodga"/><category term="étude"/><title type='text'>Blog - HTML5 Web-Apps</title><subtitle type='html'>About HTML5, Javascript, C# ,Web-apps, Google Glass</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>33</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-1884360323935008048</id><published>2014-09-24T06:30:00.000-04:00</published><updated>2014-09-24T06:30:00.438-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Connected Objects"/><category scheme="http://www.blogger.com/atom/ns#" term="IoT"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Windows 9"/><title type='text'>Microsoft Windows 9 for Connected Objects</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;a href=&quot;http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2013/03/Windows-9.png&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;http://itsfoss.itsfoss.netdna-cdn.com/wp-content/uploads/2013/03/Windows-9.png&quot; height=&quot;152&quot; width=&quot;200&quot; /&gt;&lt;/a&gt;&lt;b&gt;With the new version of its operating system Windows 9, Microsoft wants to attack the connected objects market and more generally IoT (Internet of Things). They will release a free of charge version of Windows specially for this market.&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
It&#39;s official. Microsoft has indeed launch an assault on the connected devices market. &amp;nbsp;Bernard Ourghanlian, CTO at Microsoft France confirms the rumors. The next OS Windows 9, that will be presented the September 30th 2014 to enterprises and developers, will be optimized for all kind of devices. &quot;A version will propose for connected objects&quot; said Bernard Ourghanlian &quot;It will use very little memory and can run on as little as Intel processors Quark.&quot; And this will be free of charge. &quot; as is already the case for Windows 8.1 in April 2014 to all terminals equipped a screen less than 9 inches&quot; said Nicolas Petit, director of marketing and operations.&lt;br /&gt;
&lt;br /&gt;
So Microsoft attacks directly Google and his system Android Wear, which launched in March 2014 a version of its Android OS dedicated to connected objects. The battle of the OS in the connected objects will therefor intensify.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/1884360323935008048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/09/microsoft-windows-9-for-connected.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1884360323935008048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1884360323935008048'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/09/microsoft-windows-9-for-connected.html' title='Microsoft Windows 9 for Connected Objects'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-617124093137246616</id><published>2014-04-27T11:28:00.002-04:00</published><updated>2014-04-27T11:30:04.682-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Glassware"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Gallery"/><category scheme="http://www.blogger.com/atom/ns#" term="Media manager"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaGallery"/><title type='text'>Glassware - Media Gallery v0.3</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s1600/droid%2540screen-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s1600/droid%2540screen-1.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
Google released a new version for the Google Glass : &lt;a href=&quot;https://support.google.com/glass/answer/4578099?hl=en&amp;amp;ref_topic=3284656&quot; target=&quot;_blank&quot;&gt;XE16&lt;/a&gt; and &lt;a href=&quot;https://support.google.com/glass/answer/6020302?hl=en&amp;amp;ref_topic=3284652&quot; target=&quot;_blank&quot;&gt;XE16.1&lt;/a&gt;. This release is a big gap, now Google Glass are based on KITKAT.&lt;br /&gt;
&lt;br /&gt;
Google changed also the API, the last version of Media Gallery v0.2 is not compatible with XE16.&lt;br /&gt;
&lt;br /&gt;
Now, if you want to use a unlisted voice command to launch the application, you need to add this permission :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;p1&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span class=&quot;s1&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;uses-permission&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s4&quot;&gt;android:name&lt;/span&gt;&lt;span class=&quot;s3&quot;&gt;=&lt;/span&gt;&quot;com.google.android.glass.permission.DEVELOPMENT&quot;&lt;span class=&quot;s3&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
But to publish an application in MyGlass you need to use a listed voice command... It&#39;s really restricted, because you need to apply to ask your own command via this form : &lt;a href=&quot;https://developers.google.com/glass/distribute/voice-form&quot; target=&quot;_blank&quot;&gt;Voice command form&lt;/a&gt;. Google needs to approve you request and after... wait a new release...&lt;br /&gt;
&lt;br /&gt;
I try to publish my app in MyGlass because I would like to implement the Authentication in GDK but to test, you need to upload in MyGlass so apply to the process review.&lt;br /&gt;
&lt;br /&gt;
04/27/2014 - I applied to create a new voice command. I will keep you in touch about the process. Also I started the process to publish my app in MyGlass without voice command...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://fablanglet.github.io/MediaGallery/&quot;&gt;http://fablanglet.github.io/MediaGallery/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can download the latest version :&amp;nbsp;&lt;a href=&quot;http://fablanglet.github.io/MediaGallery/version/GalleryPicture.0.3.zip&quot; target=&quot;_blank&quot;&gt;Media Gallery v0.3&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/617124093137246616/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/04/glassware-media-gallery-v03.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/617124093137246616'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/617124093137246616'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/04/glassware-media-gallery-v03.html' title='Glassware - Media Gallery v0.3'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s72-c/droid%2540screen-1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-5225691503656015070</id><published>2014-03-29T22:28:00.000-04:00</published><updated>2014-03-29T22:28:15.712-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GDK"/><category scheme="http://www.blogger.com/atom/ns#" term="Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Glassware"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Gallery"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaGallery"/><title type='text'>Glassware - MediaGallery v0.2</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvSYpJITiCH8zvr5Gu9bPX4mServomcKApaz6GkNtyNGOC2ZNR0Xr_fYEkWOpCDo3tvv7m8CzRtixKAj70XS_3b8UNRtvTax1K8qo-2z0_qH2QL4GoxT4CWk9ugA6KtfXdXzOtZRJgkz0/s1600/mediagallery_video.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvSYpJITiCH8zvr5Gu9bPX4mServomcKApaz6GkNtyNGOC2ZNR0Xr_fYEkWOpCDo3tvv7m8CzRtixKAj70XS_3b8UNRtvTax1K8qo-2z0_qH2QL4GoxT4CWk9ugA6KtfXdXzOtZRJgkz0/s1600/mediagallery_video.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
I released a new version of my glassware : MediaGallery.&lt;br /&gt;
&lt;br /&gt;
I included some optimizations, and the possibility to pause and resume a video. Also I display the current time and total duration of the video and a seek bar to see where you are in video.&lt;br /&gt;
&lt;br /&gt;
I created a new GitHub Page specially for this application.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://fablanglet.github.io/MediaGallery/&quot;&gt;http://fablanglet.github.io/MediaGallery/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
You can download the latest version :&amp;nbsp;&lt;a href=&quot;http://fablanglet.github.io/MediaGallery/version/GalleryPicture.0.2.zip&quot; target=&quot;_blank&quot;&gt;Media Gallery v0.2&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/5225691503656015070/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/03/glassware-mediagallery-v02.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5225691503656015070'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5225691503656015070'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/03/glassware-mediagallery-v02.html' title='Glassware - MediaGallery v0.2'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgvSYpJITiCH8zvr5Gu9bPX4mServomcKApaz6GkNtyNGOC2ZNR0Xr_fYEkWOpCDo3tvv7m8CzRtixKAj70XS_3b8UNRtvTax1K8qo-2z0_qH2QL4GoxT4CWk9ugA6KtfXdXzOtZRJgkz0/s72-c/mediagallery_video.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-3251625678183091942</id><published>2014-03-04T17:10:00.000-05:00</published><updated>2014-03-04T17:39:52.821-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Glass Explorer"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="GoogleGlass"/><title type='text'>1 Invitation Glass Explorer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I have 1 invitation for a potential Glass Explorer, if you are interested add a comment, follow me on Google+ or &lt;a href=&quot;https://twitter.com/@Fab_Lan&quot; target=&quot;_blank&quot;&gt;Twitter&lt;/a&gt;, click on the ads and Get a chance to be a Glass Explorer.&lt;br /&gt;
I will contact the better clicker to get his email and send him the invitation :)&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0wxJoYG6fv18ywkG2veksiTaMljrqj8TRNg7AilTW-PbQAva_2m4xOOP8Iv6D_-c7CZe7XqM2qo04ezM6KRCp293P_x0bMwGHJ_dG5sPNRKvjV8BGIoeuP97bcJsNDWllod_Cfgww9Nc/s1600/explorerinvit.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0wxJoYG6fv18ywkG2veksiTaMljrqj8TRNg7AilTW-PbQAva_2m4xOOP8Iv6D_-c7CZe7XqM2qo04ezM6KRCp293P_x0bMwGHJ_dG5sPNRKvjV8BGIoeuP97bcJsNDWllod_Cfgww9Nc/s1600/explorerinvit.png&quot; height=&quot;320&quot; width=&quot;266&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
The invitation is still available during the next 7 days....&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/3251625678183091942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/03/1-invitation-glass-explorer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/3251625678183091942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/3251625678183091942'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/03/1-invitation-glass-explorer.html' title='1 Invitation Glass Explorer'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj0wxJoYG6fv18ywkG2veksiTaMljrqj8TRNg7AilTW-PbQAva_2m4xOOP8Iv6D_-c7CZe7XqM2qo04ezM6KRCp293P_x0bMwGHJ_dG5sPNRKvjV8BGIoeuP97bcJsNDWllod_Cfgww9Nc/s72-c/explorerinvit.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-2369638817488502843</id><published>2014-03-04T16:09:00.000-05:00</published><updated>2014-03-04T16:09:41.960-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Glassware"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Gallery"/><category scheme="http://www.blogger.com/atom/ns#" term="Media manager"/><title type='text'>Google Glass Apps Directory</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hi,&lt;br /&gt;
&lt;br /&gt;
I would like to share with you a very cool initiative : &lt;a href=&quot;http://glass-apps.org/google-glass-application-list&quot;&gt;Google Glass Directory&lt;/a&gt; Website&lt;br /&gt;
&lt;br /&gt;
On this website, you can find a lot of different useful Glassware :&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Glass Music Player&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Mp3 player&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Kennyc1012/GlassMusicPlayer&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;VideoBlack&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Record video with the screen off&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.edukun.com/&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;WeMoGlassu&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Application for controlling Belkin WeMo devices trough Google Glass&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Kennyc1012/WeMoGlass&quot; target=&quot;_blank&quot;&gt;Link&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ol&gt;
&lt;div&gt;
It is a&amp;nbsp;non-exhaustive list of the Glassware available on the repository...&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Thanks to the &lt;a href=&quot;http://www.indiegogo.com/individuals/6532252/wdgt&quot; target=&quot;_blank&quot;&gt;Iwan &lt;/a&gt;to add my Glassware in the directory : &lt;a href=&quot;http://html5webapp.blogspot.de/2014/02/glassware-media-manager.html&quot; target=&quot;_blank&quot;&gt;Media Manager&lt;/a&gt;.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
If you want to contribute in this initiative :&amp;nbsp;&lt;a href=&quot;http://igg.me/at/glass-apps&quot;&gt;http://igg.me/at/glass-apps&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/2369638817488502843/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/03/google-glass-apps-directory.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2369638817488502843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2369638817488502843'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/03/google-glass-apps-directory.html' title='Google Glass Apps Directory'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-2411958373334254592</id><published>2014-02-19T17:29:00.001-05:00</published><updated>2014-02-20T07:31:21.722-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".htaccess"/><category scheme="http://www.blogger.com/atom/ns#" term="_escaped_fragment_"/><category scheme="http://www.blogger.com/atom/ns#" term="apache"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbonejs"/><category scheme="http://www.blogger.com/atom/ns#" term="crawl"/><category scheme="http://www.blogger.com/atom/ns#" term="phantomjs"/><category scheme="http://www.blogger.com/atom/ns#" term="seo"/><category scheme="http://www.blogger.com/atom/ns#" term="single page website"/><category scheme="http://www.blogger.com/atom/ns#" term="web app"/><category scheme="http://www.blogger.com/atom/ns#" term="Webapp"/><title type='text'>SEO - Single Page Websites</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
In this article, we will see how to optimized the ranking of your single page application. Today, the single page website development is really common. It exists a lot of frameworks to create single page website like &lt;a href=&quot;http://angularjs.org/&quot;&gt;AngularJS&lt;/a&gt;, &lt;a href=&quot;http://backbonejs.org/&quot;&gt;BackboneJS&lt;/a&gt;...&lt;br /&gt;
&lt;br /&gt;
But the problem when you try to index your website in Google or Bing, just the html page will be index. That means just 1 entry with only 1 title and description. It is not really good &amp;nbsp;if your website is composed of many pages.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Adapt your webapp&lt;/h2&gt;
Google provides a solution to crawl the dynamically created content :&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Don&#39;t use only the &lt;b&gt;#&lt;/b&gt; as Hash fragment, replace it by &lt;b&gt;#!&lt;/b&gt;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Google will replace the hash fragment with exclamation mark by &lt;b&gt;&lt;u&gt;_escaped_fragment_&lt;/u&gt;&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;http://www.exemple.com/#toto =&amp;gt; http://www.example.com/#!toto&lt;/li&gt;
&lt;li&gt;Url GoogleBot : http://www.example.com/&lt;b&gt;?_escaped_fragment_=&lt;/b&gt;toto&lt;/li&gt;
&lt;/ul&gt;
&lt;li&gt;Add a trigger to the head of the HTML of a page&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;&amp;lt;meta&amp;nbsp;&lt;span class=&quot;atn&quot; style=&quot;border: 0px; color: #660066; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #666600; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;border: 0px; color: #008800; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;fragment&quot;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;border: 0px; color: black; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;border: 0px; color: #660066; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;content&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;border: 0px; color: #666600; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;border: 0px; color: #008800; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&quot;!&quot;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;border: 0px; color: #000088; font-family: inherit; font-style: inherit; font-weight: inherit; margin: 0px; padding: 0px; vertical-align: baseline;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
Now Google or Bing will be able to crawl all the page of your website. &amp;nbsp;The next step is to return the html page or content for the good hash fragment.&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Adapt your Backend&lt;/h2&gt;
&lt;div&gt;
If you use NodeJs to host you webapp my suggestion is to read this good post : &lt;a href=&quot;https://vickev.com/#!/article/easily-index-your-single-page-application-thanks-to-phantomjs&quot;&gt;Easily index your SPA thanks to PhantomJS&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
In my case, I could not use this trick because my single page app is hosted on Apache and I can not install external tools...&lt;/div&gt;
&lt;div&gt;
So my solution is to use the .htaccess to create a redirection on pre-render pages. To pre-render a page you can use &lt;a href=&quot;http://phantomjs.org/&quot;&gt;PhantomJS&lt;/a&gt; or an other tools to create a html file for each page.&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can create an automatic script to generate these pages. Also you can modify the title and the description meta tag for each page.&lt;br /&gt;
After create a folder &lt;b&gt;seo/&lt;/b&gt; on your server, hosted all your html pages on it.&amp;nbsp;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
.htaccess&lt;/h3&gt;
&lt;div&gt;
Create the .htaccess file in your root folder, with this following content :&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;border: 1px solid black;&quot;&gt;
&lt;div&gt;
&amp;lt;IfModule mod_rewrite.c&amp;gt;&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;RewriteEngine On&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;RewriteCond %{QUERY_STRING} ^_escaped_fragment_=(.*)$&lt;/div&gt;
&lt;div&gt;
&lt;span class=&quot;Apple-tab-span&quot; style=&quot;white-space: pre;&quot;&gt; &lt;/span&gt;RewriteRule ^(.*)$ seo/%1.html [NC,L]&lt;/div&gt;
&lt;div&gt;
&amp;lt;/IfModule&amp;gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
This code means if the url contains &lt;b&gt;_escaped_fragment_=&lt;/b&gt;, we redirect the call to the prerender html page.&lt;/div&gt;
&lt;div&gt;
The html must have the same name of your hash fragment &lt;i&gt;toto.html&lt;/i&gt; in my previous example.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
You can test your rule with the &quot;Fetch as Google&quot; in Crawl menu on &lt;a href=&quot;https://www.google.com/webmasters/tools&quot;&gt;Google Webmaster Tool&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Now Google, Bing and the other can index all the pages of your single page application!!!&lt;br /&gt;
&lt;br /&gt;
Sources : &lt;a href=&quot;https://developers.google.com/webmasters/ajax-crawling/docs/specification&quot;&gt;Google specification Ajax Crawling&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/2411958373334254592/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/02/seo-single-page-websites.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2411958373334254592'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2411958373334254592'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/02/seo-single-page-websites.html' title='SEO - Single Page Websites'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-4726800943968527161</id><published>2014-02-13T13:18:00.003-05:00</published><updated>2014-03-29T22:30:41.159-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="GDK"/><category scheme="http://www.blogger.com/atom/ns#" term="Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Glassware"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="Media Gallery"/><category scheme="http://www.blogger.com/atom/ns#" term="Media manager"/><category scheme="http://www.blogger.com/atom/ns#" term="MyGlass"/><title type='text'>Glassware - Media Gallery v0.1</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s1600/droid%2540screen-1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s1600/droid%2540screen-1.png&quot; height=&quot;179&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
In this topic, I propose a Glassware to manage your photos and video.&lt;br /&gt;
&lt;br /&gt;
You can view, play and delete your photos and video directly with this app with swipe,swipe and swipe in your Timeline. And you can not find the picture or the video you want in the middle of your notifications.&lt;br /&gt;
&lt;br /&gt;
It&#39;s a beta version, but I publish it because I read a lot of comments on the glass-community forum that it is not easy to manage the picture on the timeline.&lt;br /&gt;
&lt;br /&gt;
I agree with all these comments, that&#39;s why I decided to develop this Glassware during my free-time.&lt;br /&gt;
&lt;br /&gt;
Actual features :&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Display pictures/ videos&lt;/li&gt;
&lt;li&gt;Play/Stop video&lt;/li&gt;
&lt;li&gt;Delete pictures/videos&lt;/li&gt;
&lt;li&gt;Swipe back/forward to navigate&lt;/li&gt;
&lt;li&gt;Tap to show the menu&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;br /&gt;
The next features I want to add are :&lt;br /&gt;
&lt;br /&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Look &amp;amp; Feel : Add icon to know if it&#39;s photo or video&lt;/li&gt;
&lt;li&gt;Feature :&amp;nbsp;&lt;/li&gt;
&lt;ul&gt;
&lt;li&gt;Add informations about the media itself&lt;/li&gt;
&lt;li&gt;Send a picture by email&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;div&gt;
You can download the application here :&amp;nbsp;&lt;a href=&quot;https://drive.google.com/file/d/0B7EE-fK6_IQANjUtNllQaVAtZ3M/edit?usp=sharing&quot;&gt;Media Gallery 0.1&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
To install, you need to have the ADT Bundle installed on your computer. More informations available &lt;a href=&quot;http://developer.android.com/sdk/index.html?utm_source=weibolife&quot;&gt;here&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
And run the command : &lt;i&gt;adb install GalleryPicture.0.1.apk&lt;/i&gt;&lt;br /&gt;
adb tool is available on sdk/platform_tools/&lt;br /&gt;
&lt;br /&gt;
Let me know if you need other features, or if you have any comments or concerns about this Glassware.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Screenshot&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSAKDgxkArq1SybhQCcIGBiRSnKTx7wJ3jTraHZgiqV64bRB8Zv8aOJhxHf8GSEsVW-lFFdsFF9kwkO-SZFKcVFHE_3G0qDNDOHiaGLdm9H9DzToODW08IfjgA_PvPfKHRUULabbHw3V0/s1600/droid%2540screen-2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjSAKDgxkArq1SybhQCcIGBiRSnKTx7wJ3jTraHZgiqV64bRB8Zv8aOJhxHf8GSEsVW-lFFdsFF9kwkO-SZFKcVFHE_3G0qDNDOHiaGLdm9H9DzToODW08IfjgA_PvPfKHRUULabbHw3V0/s1600/droid%2540screen-2.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil-FqJ3LYoh3_nnSP8bcJbKODzLj8LeOqNSF_-lfkYrA7Jh7gF0LFVp6yUvnL_hjLZyqYnVrQsiZx4ZZTjKk9fKivAPr7rwUSGckKHMOvV2GfLOuu3TjEi_Yf6nqILRlD6p7VfENv4kwo/s1600/droid%2540screen-3.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil-FqJ3LYoh3_nnSP8bcJbKODzLj8LeOqNSF_-lfkYrA7Jh7gF0LFVp6yUvnL_hjLZyqYnVrQsiZx4ZZTjKk9fKivAPr7rwUSGckKHMOvV2GfLOuu3TjEi_Yf6nqILRlD6p7VfENv4kwo/s1600/droid%2540screen-3.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSH8ELq6a9lMbqqYtRh2b_GFGuMiIeq59DyEGuBmL7fHQdr6VMeTez60zQqfyGXZsn_I-jC6ecSxUom-ucAcLOuu_1wQAgUkc5X_Q64QfB4oIk6nnRJOGTG_jY0E0fbL0BFKo1KKjPvtk/s1600/droid%2540screen-4.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSH8ELq6a9lMbqqYtRh2b_GFGuMiIeq59DyEGuBmL7fHQdr6VMeTez60zQqfyGXZsn_I-jC6ecSxUom-ucAcLOuu_1wQAgUkc5X_Q64QfB4oIk6nnRJOGTG_jY0E0fbL0BFKo1KKjPvtk/s1600/droid%2540screen-4.png&quot; height=&quot;180&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
Enjoy it!&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/4726800943968527161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2014/02/glassware-media-manager.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4726800943968527161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4726800943968527161'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2014/02/glassware-media-manager.html' title='Glassware - Media Gallery v0.1'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgN7nFERejy9GGGN9rBcUVq_Bk0c5uBkIq48Fsmb8DYVu6knqCDzJuq4TS7Ia5dFCS-64OHhGKbi2sAY8RwuRONGihzm7qrCyKE105Xv5c0jI3fAr4Kf_7KWURhgc6nf7w-9zryFMQNV5U/s72-c/droid%2540screen-1.png" height="72" width="72"/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-422466807191654994</id><published>2013-12-19T19:47:00.001-05:00</published><updated>2014-02-18T17:09:33.025-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Glassware"/><category scheme="http://www.blogger.com/atom/ns#" term="Google Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="MyGlass"/><category scheme="http://www.blogger.com/atom/ns#" term="XE12"/><title type='text'>MyGlass for iOS available on App Store</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;MyGlass app for iOS is now available on the App Store after a brief appearance a few days ago.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;MyGlass on iOS required that your glass are in the XE12 version.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNlcwi45d7TJgj0HyvyNA__yATXfG2ov7p63RgYvztzakBzXRhKe4NXxM7L4XJeEF3kIkYwoisFJYhgFpLX95XomZmrwZ2fECF_URwqwKwcuvFrvT5lOYEL6qDlWfFsbQ8TrfTwEu53OE/s1600/photo+(2).JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNlcwi45d7TJgj0HyvyNA__yATXfG2ov7p63RgYvztzakBzXRhKe4NXxM7L4XJeEF3kIkYwoisFJYhgFpLX95XomZmrwZ2fECF_URwqwKwcuvFrvT5lOYEL6qDlWfFsbQ8TrfTwEu53OE/s320/photo+(2).JPG&quot; height=&quot;240&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;To update your Glass, go to Settings (swipe back) &amp;gt; Device Info Card &amp;gt; Tap &amp;gt; Update Device.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; line-height: 25px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; line-height: 25px;&quot;&gt;&lt;span style=&quot;font-family: Arial, Helvetica, sans-serif;&quot;&gt;T&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: Arial, Helvetica, sans-serif; line-height: 25px;&quot;&gt;he MyGlass app lets you set up, configure, and mange your Google Glass on the go. You can also use it to get directions and more.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://itunes.apple.com/us/app/myglass-for-ios/id761310950&quot;&gt;MyGlass on App Store&lt;/a&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/422466807191654994/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/12/myglass-for-ios-available-on-app-store.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/422466807191654994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/422466807191654994'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/12/myglass-for-ios-available-on-app-store.html' title='MyGlass for iOS available on App Store'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNlcwi45d7TJgj0HyvyNA__yATXfG2ov7p63RgYvztzakBzXRhKe4NXxM7L4XJeEF3kIkYwoisFJYhgFpLX95XomZmrwZ2fECF_URwqwKwcuvFrvT5lOYEL6qDlWfFsbQ8TrfTwEu53OE/s72-c/photo+(2).JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-7176583452547547747</id><published>2013-12-18T10:01:00.001-05:00</published><updated>2013-12-19T19:51:07.420-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Camera.FaceDetectionListener"/><category scheme="http://www.blogger.com/atom/ns#" term="FaceDetection"/><category scheme="http://www.blogger.com/atom/ns#" term="FaceDetectionDemo"/><category scheme="http://www.blogger.com/atom/ns#" term="FaceDetector.Face"/><category scheme="http://www.blogger.com/atom/ns#" term="Glass"/><category scheme="http://www.blogger.com/atom/ns#" term="GoogleGlass"/><category scheme="http://www.blogger.com/atom/ns#" term="Java"/><category scheme="http://www.blogger.com/atom/ns#" term="XE12"/><title type='text'>Google Glass XE12 Release</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;Hi all,&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;XE12 Release&amp;nbsp;&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;During thanksgiving, I got my Google Glass Wear. It&#39;s a really interesting and exciting new device, you can see them as an extension of your smartphone. But you can do really more : Face Detection (even if Google don&#39;t want... ), Voice Control. You can imagine a lot of new usages and business.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
At the beginning, just an Android Apps was available MyGlass, if you would to use the GPS or Send a message, you needed a Android phone.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
Now, you can do almost the same with an iPhone, MyGlass will be available this week on the App Store : &lt;a href=&quot;http://html5webapp.blogspot.com/2013/12/myglass-for-ios-available-on-app-store.html&quot;&gt;Read this post&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
All information about the new release:&amp;nbsp;&lt;span style=&quot;color: blue; mso-bidi-font-size: 11.0pt;&quot;&gt;&lt;a href=&quot;https://support.google.com/glass/answer/4353446?hl=en&quot;&gt;XE12 Release Note&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;UPDATE 12-18-2013 : Cool feature, you can wink to take a picture. You just need to calibrate the Google Glass in the Setting Menu.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;My First Project : Face Detection&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;b&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;Just after to receive my new Glass, my first idea has been to create an Face Dectection App. I can not publish this application in the Glass Store because it&#39;s not authorize by Google.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;At the beginning, I tried to use the API :&lt;/span&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;a href=&quot;http://developer.android.com/reference/android/hardware/Camera.FaceDetectionListener.html&quot;&gt;&lt;span style=&quot;color: blue; mso-bidi-font-size: 11.0pt;&quot;&gt;Camera.FaceDetectionListener&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;/span&gt;&lt;/i&gt;&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;but It sounds like is not available on the Google Glass.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;So I use&lt;/span&gt;&lt;span style=&quot;background: white; color: teal; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;a href=&quot;http://developer.android.com/reference/android/hardware/Camera.html#setPreviewCallbackWithBuffer(android.hardware.Camera.PreviewCallback)&quot;&gt;&lt;span style=&quot;color: blue; mso-bidi-font-size: 11.0pt;&quot;&gt; Camera.setPreviewCallbackWithBuffer()&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;,&lt;/span&gt;&lt;span style=&quot;background: white; color: teal; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;and &lt;/span&gt;&lt;span style=&quot;background: white; color: teal; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;a href=&quot;http://developer.android.com/reference/android/media/FaceDetector.Face.html&quot;&gt;&lt;span style=&quot;color: blue; mso-bidi-font-size: 11.0pt;&quot;&gt;Face&lt;/span&gt;&lt;/a&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;, serif; font-size: 13.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Verdana, sans-serif; font-size: 10pt;&quot;&gt;&lt;br /&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; margin-left: .5in; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;   &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;1.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;kd&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;public&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #445588; font-family: Consolas;&quot;&gt;void&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #990000; font-family: Consolas;&quot;&gt;onPreviewFrame&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #445588; font-family: Consolas;&quot;&gt;byte&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;[]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Camera&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;camera&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;2.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;Log&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;d&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;TAG&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;onPreviewFrame&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;3.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// face detection: first convert the image from NV21 to RGB_565&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;4.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;YuvImage&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;yuv&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;YuvImage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;data&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ImageFormat&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;NV21&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: 1.5in; mso-list: l0 level3 lfo1; mso-text-indent-alt: -9.0pt; text-indent: -1.5in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;i.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;getWidth&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(),&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;getHeight&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(),&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;kc&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;5.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// TODO: make rect a member and use it for width and height values above&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;6.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;Rect&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;rect&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Rect&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;&lt;span style=&quot;color: #009999; font-family: Consolas;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;&lt;span style=&quot;color: #009999; font-family: Consolas;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;getWidth&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(),&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;getHeight&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;());&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; text-indent: 33.0pt;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;7.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// TODO: use a threaded option or a circular buffer for converting streams?&amp;nbsp; &lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;8.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;//see http://ostermiller.org/convert_java_outputstream_inputstream.html&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;9.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;ByteArrayOutputStream&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;baout&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;ByteArrayOutputStream&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;();&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;10.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;if&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;(!&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;yuv&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;compressToJpeg&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;rect&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;&lt;span style=&quot;color: #009999; font-family: Consolas;&quot;&gt;100&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;baout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;))&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;11.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;e&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;TAG&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;compressToJpeg failed&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;12.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; text-indent: 33.0pt;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;13.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;BitmapFactory&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Options&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;bfo&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;BitmapFactory&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Options&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;();&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;14.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;bfo&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;inPreferredConfig&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Bitmap&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Config&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;RGB_565&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;15.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;BitmapFactory&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;decodeStream&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;16.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #990000; font-family: Consolas;&quot;&gt;ByteArrayInputStream&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;baout&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;toByteArray&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;()),&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;kc&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;,&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;bfo&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;17.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;Arrays&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;fill&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;mFaces&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;kc&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// use arraycopy instead?&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;18.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;Arrays&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;fill&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;eyesMidPts&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;kc&quot;&gt;&lt;b&gt;null&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// use arraycopy instead?&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;19.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;mFaceDetector&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;findFaces&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;mWorkBitmap&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;mFaces&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;);&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;20.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;Log&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;d&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;TAG&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;mFaces&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;length&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;21.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;for&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;kt&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #445588; font-family: Consolas;&quot;&gt;int&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;&lt;span style=&quot;color: #009999; font-family: Consolas;&quot;&gt;0&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;&amp;lt;&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mFaces&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;length&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;++)&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;22.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;23.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;face&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;mFaces&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;];&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;24.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;try&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;{&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;25.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;PointF&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;eyesMP&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;&lt;b&gt;new&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;PointF&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;();&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;26.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;face&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;getMidPoint&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;eyesMP&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;27.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;eyesDistance&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;eyesDistance&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;();&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;28.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;eyesMidPts&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;]&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;=&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eyesMP&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;;&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;29.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Log&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;Face&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;30.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;i&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt;&amp;nbsp; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;confidence&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;eyesDistance&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;()&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot; &quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;31.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;Pose: (&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;pose&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;FaceDetector&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Face&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;EULER_X&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;32.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;pose&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;FaceDetector&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Face&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;EULER_Y&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;33.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;face&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;pose&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;FaceDetector&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;Face&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;EULER_Z&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;)&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;)&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;34.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;Eyes Midpoint: (&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;+&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;eyesMidPts&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;[&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;i&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;].&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;x&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;,&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;eyesMidPts&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;[&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;i&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;].&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;y&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;)&quot;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;35.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;36.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;37.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Exception&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;e&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;38.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;39.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;k&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;(&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;kc&quot;&gt;&lt;b&gt;true&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;)&lt;/b&gt;&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;Log&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;.&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;e&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot;Face&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;,&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;span class=&quot;n&quot;&gt;i&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&lt;b&gt;+&lt;/b&gt;&lt;/span&gt; &lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&lt;span style=&quot;color: #dd1144; font-family: Consolas;&quot;&gt;&quot; is null&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;40.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;41.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;42.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;invalidate&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;();&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;// use a dirty Rect?&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;43.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;c1&quot;&gt;&lt;i&gt;&lt;span style=&quot;color: #999988; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Requeue the buffer so we get called again&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;44.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;mCamera&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;.&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;&lt;span style=&quot;color: teal; font-family: Consolas;&quot;&gt;addCallbackBuffer&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;(&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;data&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;);&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;line-height: 11.25pt; margin-left: .5in; mso-list: l0 level1 lfo1; text-indent: -.25in;&quot;&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;45.&lt;span style=&quot;font-family: &#39;Times New Roman&#39;; line-height: normal;&quot;&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span class=&quot;o&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: #333333; font-family: Consolas;&quot;&gt;}&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 7.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/td&gt;  &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin: 0in 0in 0.0001pt 0.5in;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;I posted my Google Glass app on my GitHub:&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;a href=&quot;https://github.com/fablanglet/FaceDetectionDemo&quot;&gt;&lt;span style=&quot;color: blue; mso-bidi-font-size: 11.0pt;&quot;&gt;https://github.com/fablanglet/FaceDetectionDemo&lt;/span&gt;&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;Currently I think the code is not compatible with the new release XE12 but yes with XE11. &lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;margin-bottom: 0.0001pt;&quot;&gt;
&lt;span style=&quot;color: #333333; font-family: &amp;quot;Verdana&amp;quot;,&amp;quot;sans-serif&amp;quot;; font-size: 10.0pt; mso-bidi-font-family: &amp;quot;Courier New&amp;quot;; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;I&#39;m gonna modified the code after having updated my Glass in XE12.&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/7176583452547547747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/12/google-glass-xe12-release.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/7176583452547547747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/7176583452547547747'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/12/google-glass-xe12-release.html' title='Google Glass XE12 Release'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-875796268495484294</id><published>2013-09-12T10:22:00.002-04:00</published><updated>2013-09-12T10:28:57.330-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="Comcast Remote"/><category scheme="http://www.blogger.com/atom/ns#" term="Reverse XFinity"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby"/><category scheme="http://www.blogger.com/atom/ns#" term="Siriproxy"/><category scheme="http://www.blogger.com/atom/ns#" term="Siriproxy plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="XFinity Remote TV App"/><category scheme="http://www.blogger.com/atom/ns#" term="XFinityRemote"/><title type='text'>Siriproxy - XFinity Remote Plugin</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Hi everybody,&lt;br /&gt;
&lt;br /&gt;
Just for fun!! I just created a plugin for Siriproxy to control your XFinity TV. If you can change channels with the XFinity Remote TV App :&amp;nbsp;&lt;a href=&quot;https://itunes.apple.com/us/app/xfinity-tv/id401629893?mt=8&quot; target=&quot;_blank&quot;&gt;XFinity App on ITunes&lt;/a&gt;, you can use my plugin. Cool!&lt;br /&gt;
&lt;br /&gt;
I discovered that the application use web services to change channels. With a little bit of reverse engineering, I able to create this plugin.&lt;br /&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
How it&#39;s work&lt;/h2&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Log in to XFinity Web Server&lt;/li&gt;
&lt;li&gt;GET Profil Informations&amp;nbsp;&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;Profil Token&lt;/li&gt;
&lt;li&gt;Device Key&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;GET a token to change channels&lt;/li&gt;
&lt;li&gt;POST the channel&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Install XFinityRemote plugin&lt;/h2&gt;
&lt;div&gt;
First of all, you need to install Siriproxy on Linux, MAC OS, Windows or Raspberry Pi.&lt;/div&gt;
&lt;div&gt;
If it&#39;s already done, just follow the Siriproxy&#39;s tutorial on this website :&amp;nbsp;&lt;a href=&quot;https://github.com/plamoni/SiriProxy&quot;&gt;https://github.com/plamoni/SiriProxy&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;h3&gt;
Add the plugin&lt;/h3&gt;
&lt;div&gt;
After that install my plugin it&#39;s available on my GitHub repository :&amp;nbsp;&lt;a href=&quot;https://github.com/fablanglet/SiriProxy-XFinityRemote&quot; target=&quot;_blank&quot;&gt;https://github.com/fablanglet/SiriProxy-XFinityRemote&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
To configure XFinityRemote plugin, it&#39;s very simple.You just need to add your Comcast Login/Password. It&#39;s required to connect to the web server.&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
&lt;li&gt;Login&lt;/li&gt;
&lt;li&gt;Password&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
In the config.xml file, available in ~/.siriproxy/ folder, add this configuration :&lt;/div&gt;
&lt;pre&gt;&lt;div class=&quot;line&quot; id=&quot;LC7&quot; style=&quot;color: #333333; font-family: Consolas, &#39;Liberation Mono&#39;, Courier, monospace; line-height: 18px; padding-left: 10px;&quot;&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;
&lt;/span&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0in 5.4pt 0in 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0in 5.4pt 0in 5.4pt; width: 6.65in;&quot; valign=&quot;top&quot; width=&quot;638&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; - name: &lt;/span&gt;&lt;span style=&quot;color: #dd1144;&quot;&gt;&#39;XFinityRemote&#39;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; git: &lt;/span&gt;&lt;span style=&quot;color: #dd1144;&quot;&gt;&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #dd1144; font-size: 12px; line-height: 18px; white-space: pre;&quot;&gt;github.com/fablanglet/SiriProxy-XFinityRemote.git&lt;/span&gt;&lt;span style=&quot;font-family: inherit; font-size: x-small;&quot;&gt;&lt;span style=&quot;color: #dd1144;&quot;&gt;&#39;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; login: &lt;/span&gt;&lt;span style=&quot;color: #dd1144;&quot;&gt;&#39;XfinityLogin&#39;&lt;/span&gt;&lt;span style=&quot;color: #333333;&quot;&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: 11.25pt; margin-bottom: .0001pt; margin-bottom: 0in; tab-stops: 45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt;&quot;&gt;
&lt;span style=&quot;font-family: inherit; font-size: 12px;&quot;&gt;&lt;span style=&quot;color: #333333;&quot;&gt;&amp;nbsp; &amp;nbsp; password: &lt;/span&gt;&lt;span style=&quot;color: #dd1144;&quot;&gt;&#39;XFinityPassword&#39;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 7.5pt; mso-fareast-font-family: &amp;quot;Times New Roman&amp;quot;;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;span style=&quot;font-size: 12px;&quot;&gt;
&lt;/span&gt;&lt;/div&gt;
&lt;/pre&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;&amp;nbsp;Don&#39;t forget to launch this command : &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-size: small; font-weight: normal;&quot;&gt;&lt;i&gt;rvmsudo siriproxy bundle&amp;nbsp;&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
How to use&lt;/h2&gt;
&lt;div&gt;
With my XfinityRemote plugin, you can change channels with the channel number or with the channel name. It&#39;s available for Siri in English and in French :)&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&amp;nbsp;Just say to Siri &amp;nbsp;: &#39;Channel number [Number]&#39; or &#39;Channel [Name]&#39;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Demo&lt;/h2&gt;
&lt;div&gt;
See my video on YouTube :&amp;nbsp;&lt;a href=&quot;http://html5webapp.blogspot.com/2013/09/siriproxy-siriproxy-xfinityremote.html&quot; target=&quot;_blank&quot;&gt;http://html5webapp.blogspot.com/2013/09/siriproxy-siriproxy-xfinityremote.html&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/875796268495484294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/09/siriproxy-xfinity-remote-plugin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/875796268495484294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/875796268495484294'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/09/siriproxy-xfinity-remote-plugin.html' title='Siriproxy - XFinity Remote Plugin'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-7418642634429589731</id><published>2013-09-11T10:48:00.000-04:00</published><updated>2013-09-12T10:23:11.243-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS7"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS7 GM"/><category scheme="http://www.blogger.com/atom/ns#" term="Safari"/><category scheme="http://www.blogger.com/atom/ns#" term="User-agent"/><title type='text'>IOS7 - Safari User-Agent</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
The IOS7 Gold Master version is out yesterday, after the keynote. Just for you know, the user-agent of safari on this version is :&lt;br /&gt;
&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;b&gt;Mozilla/5.0 (iPhone; CPU iPhone OS 7_0 like Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 Mobile/11A465 Safari/9537.53&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 13px;&quot;&gt;Provided by IPhone 4S, IOS7 GM&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/7418642634429589731/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/09/ios7-safari-user-agent.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/7418642634429589731'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/7418642634429589731'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/09/ios7-safari-user-agent.html' title='IOS7 - Safari User-Agent'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-4708217716563624871</id><published>2013-09-04T16:05:00.003-04:00</published><updated>2013-09-04T16:06:53.612-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="iOS 6.1"/><category scheme="http://www.blogger.com/atom/ns#" term="Iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="Ruby"/><category scheme="http://www.blogger.com/atom/ns#" term="Siri"/><category scheme="http://www.blogger.com/atom/ns#" term="Siriproxy"/><category scheme="http://www.blogger.com/atom/ns#" term="Siriproxy plugin"/><category scheme="http://www.blogger.com/atom/ns#" term="XFinity Remote TV App"/><category scheme="http://www.blogger.com/atom/ns#" term="XFinityRemote"/><title type='text'>SiriProxy - XFinityRemote</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Just a trailer, I&#39;m creating a siriproxy plugin able to change channel of your XFinity TV.&lt;br /&gt;
Watch my video :&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;object class=&quot;BLOGGER-youtube-video&quot; classid=&quot;clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&quot; codebase=&quot;http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0&quot; data-thumbnail-src=&quot;http://i1.ytimg.com/vi/_OeOkG6Xr10/0.jpg&quot; height=&quot;266&quot; width=&quot;320&quot;&gt;&lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/_OeOkG6Xr10?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; /&gt;&lt;param name=&quot;bgcolor&quot; value=&quot;#FFFFFF&quot; /&gt;&lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&lt;embed width=&quot;320&quot; height=&quot;266&quot;  src=&quot;http://www.youtube.com/v/_OeOkG6Xr10?version=3&amp;f=user_uploads&amp;c=google-webdrive-0&amp;app=youtube_gdata&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot;&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
Soon i post an article where i explain how you can get and install my siriproxy plugin.&amp;nbsp;To be continued...&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/4708217716563624871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/09/siriproxy-siriproxy-xfinityremote.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4708217716563624871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4708217716563624871'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/09/siriproxy-siriproxy-xfinityremote.html' title='SiriProxy - XFinityRemote'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-8079702657524635335</id><published>2013-06-13T08:19:00.000-04:00</published><updated>2013-07-23T14:52:58.833-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="apple"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS7"/><category scheme="http://www.blogger.com/atom/ns#" term="Ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="Iphone"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Safari"/><title type='text'>Safari IOS7 &amp; HTML5</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
I&#39;m just installing IOS7 Beta 1 on my iphone. So directly, let&#39;s go to html5test.com to compare IOS7 Score vs IOS6 score.&lt;br /&gt;
&lt;br /&gt;
The score for IOS7 is &lt;b&gt;404 points&lt;/b&gt; and 9 Bonus points and the score for IOS6 (6.0.1) is &lt;b&gt;386 points&lt;/b&gt; and 9 Bonus points.&lt;br /&gt;
&lt;br /&gt;
What are the differences?&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Add Subtitle support in Video&lt;/li&gt;
&lt;li&gt;Removal input type=datetime&lt;/li&gt;
&lt;li&gt;Add progress&lt;/li&gt;
&lt;li&gt;Add Seamless iframe&lt;/li&gt;
&lt;li&gt;Add XmlHttpRequest level 2&lt;/li&gt;
&lt;li&gt;Add Page visibility&lt;/li&gt;
&lt;li&gt;Canvas&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;b&gt;context.setLineDash()&lt;/b&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;context.getLineDash()&lt;/b&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
&lt;div&gt;
Sources :&amp;nbsp;&lt;a href=&quot;http://html5test.com/&quot; target=&quot;_blank&quot;&gt;html5test.com&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/8079702657524635335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/06/ios7-html5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/8079702657524635335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/8079702657524635335'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/06/ios7-html5.html' title='Safari IOS7 &amp; HTML5'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-1979470381507761963</id><published>2013-03-20T05:47:00.000-04:00</published><updated>2013-03-20T05:59:53.097-04:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="AGILE"/><category scheme="http://www.blogger.com/atom/ns#" term="ALM201"/><category scheme="http://www.blogger.com/atom/ns#" term="Patterns Agiles"/><category scheme="http://www.blogger.com/atom/ns#" term="SCRUM"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech Days 2013"/><category scheme="http://www.blogger.com/atom/ns#" term="TechDays"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2012"/><category scheme="http://www.blogger.com/atom/ns#" term="VS 2012"/><title type='text'>Patterns Agiles avec Visual Studio 2012 et TFS 2012</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
La vidéo de la session Patterns Agile avec Visual Studio 2012 et TFS 2012 que j&#39;ai co-présenté ,avec Olivier Conq et Michel Perfetti &amp;nbsp;lors des derniers tech-days 2013 à Paris, est maintenant disponible sur le site de microsoft :&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;height: 360px; width: 640px;&quot;&gt;
&lt;object data=&quot;data:application/x-silverlight-2,&quot; height=&quot;360&quot; type=&quot;application/x-silverlight-2&quot; width=&quot;640&quot;&gt;
&lt;param name=&quot;source&quot; value=&quot;http://www.microsoft.com/global/fr-fr/showcase/RichMedia/player-fr.xap&quot; /&gt;
&lt;param name=&quot;initParams&quot; value=&quot;Culture=fr-FR,Uuid=f17b89bc-13fc-433f-8a6f-4192c97445e2,Autoplay=False,ShowMarketingOverlay=false,MiscControls=FullScreen;Detached,ShowMenu=True,Tabs=Embed;Email;Share;Info,VideoUrl=http://microsoft.com/showcase/fr/fr/details/f17b89bc-13fc-433f-8a6f-4192c97445e2,Mode=Player&quot; /&gt;
&lt;param name=&quot;enableHtmlAccess&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;allowHtmlPopupwindow&quot; value=&quot;true&quot; /&gt;
&lt;param name=&quot;background&quot; value=&quot;#FF000000&quot; /&gt;
&lt;param name=&quot;minRuntimeVersion&quot; value=&quot;4.0.50401.0&quot; /&gt;
&lt;param name=&quot;autoUpgrade&quot; value=&quot;true&quot; /&gt;
&lt;iframe  src=&#39;http://www.microsoft.com/showcase/video.aspx?uuid=f17b89bc-13fc-433f-8a6f-4192c97445e2&amp;locale=fr-FR&#39; border=&#39;0&#39; width=&#39;100%&#39; height=&#39;100%&#39;&gt;&lt;/iframe&gt;
&lt;/object&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div&gt;
&lt;br /&gt;
Les slides de la présentation sont disponibles ici :&amp;nbsp;&lt;a href=&quot;http://fr.slideshare.net/Microsoft_France/patterns-agiles-avec-visual-studio-2012-et-tfs-2012&quot;&gt;Slides&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/1979470381507761963/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/03/patterns-agiles-avec-visual-studio-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1979470381507761963'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1979470381507761963'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/03/patterns-agiles-avec-visual-studio-2012.html' title='Patterns Agiles avec Visual Studio 2012 et TFS 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-5255520188875130522</id><published>2013-02-11T09:28:00.001-05:00</published><updated>2013-02-11T09:29:36.965-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Certification"/><category scheme="http://www.blogger.com/atom/ns#" term="CSS3"/><category scheme="http://www.blogger.com/atom/ns#" term="Exam 70-480"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Application"/><category scheme="http://www.blogger.com/atom/ns#" term="Web Worker"/><title type='text'>Exam 70-480 : Programming in HTML5 with JavaScript and CSS3</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Microsoft propose des formations et des&amp;nbsp;certifications&amp;nbsp;autour d&#39;HTML5.&lt;br /&gt;
&lt;br /&gt;
Un examen semble très intéressant : &quot;Developing in HTML5 with JavaScript and CSS3&quot;. Il fait partie des certifications MCSD Windows Store Apps et Web Applications.&lt;br /&gt;
&lt;br /&gt;
La formation comporte plusieurs partie :&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Implémenter et manipuler le DOM&lt;/li&gt;
&lt;li&gt;Implémenter une application. (Syntaxe&amp;nbsp;Javascript, Event, Callback, Web Worker... )&lt;/li&gt;
&lt;li&gt;Accès et sécurité des données&lt;/li&gt;
&lt;li&gt;CSS3&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Pour préparer cet examen, il existe&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Un programme de formation de 5j (Programming in HTML5 with Javascript and CSS3).&lt;/li&gt;
&lt;li&gt;Des vidéos en ligne de formations : &quot;Developing in HTML5 with Javascript and CSS3 Jump Start&quot; réalisé par &lt;a href=&quot;https://twitter.com/codefoster&quot;&gt;Jeremy Foster&lt;/a&gt; et &lt;a href=&quot;https://twitter.com/palermo4&quot;&gt;Michael Palermo&lt;/a&gt; (Microsoft Techincal Evangelists).&lt;/li&gt;
&lt;li&gt;Un livre : &quot;Exam Ref 70-480: Programming in HTML5 with JavaScript and CSS3&quot;.&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Je suis actuellement en pleine préparation pour passer cet examen.&lt;/div&gt;
&lt;/div&gt;
&lt;h4 style=&quot;text-align: left;&quot;&gt;
Liens&lt;/h4&gt;
&lt;div&gt;
Exam Détails 70-480 :&amp;nbsp;&lt;a href=&quot;http://www.microsoft.com/learning/en/us/Exam.aspx?ID=70-480&amp;amp;Locale=en-us&amp;amp;mc=US#sitenav-certifications---exams-menu&quot;&gt;Programming in HTML5 with JavaScript and CSS3&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
Vidéo en ligne :&amp;nbsp;&lt;a href=&quot;http://www.microsoftvirtualacademy.com/tracks/developing-html5-apps-jump-start&quot;&gt;Developing in HTML5 with JavaScript and CSS3 Jump Start&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/5255520188875130522/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/02/developing-in-html5-with-javascript-and.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5255520188875130522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5255520188875130522'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/02/developing-in-html5-with-javascript-and.html' title='Exam 70-480 : Programming in HTML5 with JavaScript and CSS3'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-1890301897430984394</id><published>2013-02-05T04:27:00.003-05:00</published><updated>2013-02-05T04:27:59.267-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="AGILE"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="SCRUM"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech Days"/><category scheme="http://www.blogger.com/atom/ns#" term="Tech Days 2013"/><category scheme="http://www.blogger.com/atom/ns#" term="TFS 2012"/><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio 2012"/><title type='text'>Patterns Agiles avec Visual Studio 2012 et TFS 2012</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Pour les Tech Days 2013, je participe en tant que speaker à la session : &quot;Patterns Agiles avec Visual Studio 2012 et TFS 2012&quot; le Mercredi 13 Février de 14h30 à 15h30.&lt;br /&gt;
&lt;br /&gt;
Présentation de la session :&lt;br /&gt;
Visual Studio 2012 et TFS 2012 sont résolument tournés vers l&#39;agilité. Kanban, taskboard, revue de code... toutes ces techniques agiles sont maintenant directement disponible dans les outils de développements. Lors de cette session vous retrouverez tous ces patterns de développement agile et vous verrez l&#39;avantage de leur intégration avec Visual Studio 2012 et TFS 2012. Retour d&#39;expérience&amp;nbsp;Mediapost&amp;nbsp;sur un développement d&#39;une application Mobile HTML5 en 7 semaines en SCRUM.&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Plus d&#39;informations : &lt;a href=&quot;http://www.microsoft.com/france/mstechdays/programmes/2013/fiche-session.aspx?ID=97a8b512-c2fa-45da-8039-c79975cf4754&quot;&gt;Programme Tech Days 2013&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/1890301897430984394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/02/patterns-agiles-avec-visual-studio-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1890301897430984394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1890301897430984394'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/02/patterns-agiles-avec-visual-studio-2012.html' title='Patterns Agiles avec Visual Studio 2012 et TFS 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-1319433317407316985</id><published>2013-01-28T14:59:00.000-05:00</published><updated>2013-01-28T14:59:43.662-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="bug"/><category scheme="http://www.blogger.com/atom/ns#" term="getCurrentPosition"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="iOS 6.1"/><category scheme="http://www.blogger.com/atom/ns#" term="ios6"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="web app"/><title type='text'>IOS 6.1 - Correction du bug javascript de getCurrentPosition en Web App</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Je viens d&#39;installer la nouvelle version d&#39;iOS, 6.1. Je l&#39;attendais avec impatience pour la correction des bugs javascript.&lt;br /&gt;
&lt;br /&gt;
J&#39;avais constaté un bug dans la version antérieur, 6.0.1, lorsqu&#39;une Web App était ajoutée à l&#39;écran d&#39;accueil via la balise suivante :&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&amp;lt;meta name=&quot;apple-mobile-web-app-capable&quot; content=&quot;yes&quot; /&amp;gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;La fonction&amp;nbsp;navigator.geolocation.getCurrentPosition() ne retournait jamais la fonction de callback :&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;navigator.geolocation.getCurrentPosition(getPosition,getPositionError);&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
Ce bug semble corrigé dans cette nouvelle version. Je viens de tester, reste à tester la fonction watchPosition() :)&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/1319433317407316985/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/01/ios-61-correction-du-bug-de.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1319433317407316985'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/1319433317407316985'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/01/ios-61-correction-du-bug-de.html' title='IOS 6.1 - Correction du bug javascript de getCurrentPosition en Web App'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-4465899622444573055</id><published>2013-01-11T08:27:00.005-05:00</published><updated>2013-01-11T08:27:57.678-05:00</updated><title type='text'>Internet Mobile - Novembre 2012</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;En Novembre 2012, 43,7% des personnes qui se sont connectées à un site ou une application mobile sont des femmes. Cela représente&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;1 million de plus qu’il y a un an.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;La parts des femmes progressent également plus vite que la moyenne des mobinautes&amp;nbsp;: +13% en un an contre&amp;nbsp;+9% pour l’ensemble des mobinautes.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;Cette forte progression est dû à une importante croissance de l’équipement&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;en smartphones&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&amp;nbsp;des femmes : au 3ème&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;trimestre 2012, près de la moitié des femmes (49,4%&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;) utilisatrices d’un téléphone mobile en est équipée contre 39,5% au 1er&lt;/span&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&amp;nbsp;trimestre 2012.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;Elles privilégient le système d’exploitation Android pour 47% d’entre elles contre 45% au total. Concernant le téléphone lui-même, Samsung et Nokia sont leurs 2 premières marques de prédilection.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;La répartition des accès à l’Internet mobile entre sites et applications est stable&amp;nbsp;: plus de 9 mobinautes sur 10&lt;/span&gt;&lt;strong style=&quot;border: 0px; color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px;&quot;&gt;&amp;nbsp;(92,7%)&lt;/strong&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&amp;nbsp;ont visité au moins un site sur mobile et plus de 7 sur 10&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;border: 0px; color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; margin: 0px; outline: 0px; padding: 0px;&quot;&gt;(73,8%)&amp;nbsp;&lt;/strong&gt;&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;au moins une application.&lt;/span&gt;&lt;br /&gt;
&lt;span style=&quot;color: #4d4d4d; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;background-color: #fbfbfb; font-family: Arial, Verdana; font-size: 12px; text-align: justify;&quot;&gt;Source :&amp;nbsp;&lt;a href=&quot;http://www.mediametrie.fr/internet/communiques/l-audience-de-l-internet-mobile-en-france-en-novembre-2012.php?id=792#.UO_7Um_8LsE&quot;&gt;L&#39;audience de l&#39;internet mobile en France en novembre 2012&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/4465899622444573055/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2013/01/internet-mobile-novembre-2012.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4465899622444573055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4465899622444573055'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2013/01/internet-mobile-novembre-2012.html' title='Internet Mobile - Novembre 2012'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-76727019398590950</id><published>2012-12-17T06:17:00.000-05:00</published><updated>2012-12-17T06:18:29.766-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="Mediametrie"/><category scheme="http://www.blogger.com/atom/ns#" term="Part de marché"/><category scheme="http://www.blogger.com/atom/ns#" term="tablet"/><category scheme="http://www.blogger.com/atom/ns#" term="tablette"/><category scheme="http://www.blogger.com/atom/ns#" term="étude"/><title type='text'>1 foyer sur 10 possède une tablette tactile en France</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Selon la dernière étude de Mediametrie en date du 11/12/2012, 1 foyer sur 10 en&amp;nbsp;France&amp;nbsp;est équipé d&#39;une tablette tactile.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUANj4FpH5yTDPOMvKrlUTNl-msoH3rw6H44KIpPkMgmsT30Q3UtKvqEU59XO0ifqO0gu-2BzD_uu-3CxlX46XfVh4nSsvcl2dJtN9ZG3w1FwrgJLiqLJhfdyvzCodnfG1dyvC7XY3c6U/s1600/pcInpact.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;182&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUANj4FpH5yTDPOMvKrlUTNl-msoH3rw6H44KIpPkMgmsT30Q3UtKvqEU59XO0ifqO0gu-2BzD_uu-3CxlX46XfVh4nSsvcl2dJtN9ZG3w1FwrgJLiqLJhfdyvzCodnfG1dyvC7XY3c6U/s320/pcInpact.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
800 000 primo-accédant&amp;nbsp;en 6 mois&lt;/h3&gt;
Au 3&amp;nbsp;ème&amp;nbsp;trimestre 2012, près de 3 millions de foyers possèdent une tablette tactile en France. Ce chiffre est en très forte&amp;nbsp;augmentation&amp;nbsp;puisqu&#39;on compte 1/3 de foyer équipés en plus en 6 mois ce qui représente 800 000 primo-accédant en 6 mois.&lt;br /&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Les familles urbaines bien équipées&lt;/h3&gt;
La tablette est un équipement urbain : 14% des foyers parisiens en possèdent une. Elle concerne également les foyers relativement jeunes mais dotés d&#39;un certain pouvoir d&#39;achat : 17,5% des foyers dont &quot;le chef de famille&quot; est&amp;nbsp;âgé&amp;nbsp;de 35 à 49 ans.&lt;br /&gt;
&lt;br /&gt;
Source : &lt;a href=&quot;http://www.mediametrie.fr/internet/communiques/telecharger.php?f=f1c1592588411002af340cbaedd6fc33&quot;&gt;Mediametrie - Intégralité des résultats&lt;/a&gt;&amp;nbsp;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/76727019398590950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/12/1-foyer-sur-10-possede-une-tablette.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/76727019398590950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/76727019398590950'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/12/1-foyer-sur-10-possede-une-tablette.html' title='1 foyer sur 10 possède une tablette tactile en France'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiUANj4FpH5yTDPOMvKrlUTNl-msoH3rw6H44KIpPkMgmsT30Q3UtKvqEU59XO0ifqO0gu-2BzD_uu-3CxlX46XfVh4nSsvcl2dJtN9ZG3w1FwrgJLiqLJhfdyvzCodnfG1dyvC7XY3c6U/s72-c/pcInpact.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-8412989525387658869</id><published>2012-12-17T05:28:00.000-05:00</published><updated>2014-01-13T16:41:24.990-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="matchMedia"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaQuery"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaQueryList"/><category scheme="http://www.blogger.com/atom/ns#" term="MediaQueryListListener"/><category scheme="http://www.blogger.com/atom/ns#" term="Webapp"/><category scheme="http://www.blogger.com/atom/ns#" term="window.matchMedia"/><title type='text'>window.matchMedia, MediaQuery en Javascript</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Résumé&lt;/h3&gt;
Retourne un objet MediaQueryList&amp;nbsp;représentant&amp;nbsp;le résultat du pattern MediaQuery passé en paramètre.&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Syntaxe&amp;nbsp;&lt;/h3&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 460.6pt;&quot; valign=&quot;top&quot; width=&quot;614&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 11.55pt; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;mql = window.matchMedia(mediaQueryString)&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Exemple&lt;/h3&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;height: 59.75pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; height: 59.75pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 460.6pt;&quot; valign=&quot;top&quot; width=&quot;614&quot;&gt;&lt;div style=&quot;line-height: 11.55pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;code&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;if&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt; &lt;/span&gt;&lt;code style=&quot;border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none; min-height: auto !important; outline: 0px !important; overflow: visible; right: auto;&quot;&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;(window.matchMedia(&quot;&lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;(min-width:
  400px)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;&quot;).matches) {&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 11.55pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;code&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;/* the view port is at
  least 400 pixels wide */&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 11.55pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;code&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;} else&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt; &lt;/span&gt;&lt;code style=&quot;border-bottom-left-radius: 0px !important; border-bottom-right-radius: 0px !important; border-top-left-radius: 0px !important; border-top-right-radius: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none; min-height: auto !important; outline: 0px !important; overflow: visible; right: auto;&quot;&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;{&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 11.55pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;code&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style=&quot;font-size: 10pt;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;/* the view port is less
  than 400 pixels wide */&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;line-height: 11.55pt; margin-bottom: .0001pt; margin: 0cm;&quot;&gt;
&lt;code&gt;&lt;span style=&quot;color: #333333; font-size: 10.0pt;&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Il est possible aussi d&#39;ajouter dans le pattern Media Query, l&#39;orientation :&amp;nbsp;&lt;span style=&quot;background-color: white; color: blue; font-family: Consolas, &#39;Bitstream Vera Sans Mono&#39;, &#39;Courier New&#39;, Courier, monospace; font-size: 14px; line-height: 15.383333206176758px; white-space: pre;&quot;&gt;(orientation: portrait). &lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div&gt;
On peut aussi ajouter un observer implémantant l&#39;interface&amp;nbsp;&lt;code style=&quot;color: inherit;&quot;&gt;&lt;span style=&quot;font-family: Courier New, Andale Mono, monospace;&quot;&gt;MediaQueryListListener&lt;/span&gt;&lt;span style=&quot;font-family: inherit;&quot;&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;,&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&amp;nbsp;pour être notifier du changement d&#39;orientation par exemple comme ci-dessous :&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableGrid&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid windowtext .5pt; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;height: 144.85pt; mso-yfti-firstrow: yes; mso-yfti-irow: 0; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border: solid windowtext 1.0pt; height: 144.85pt; mso-border-alt: solid windowtext .5pt; padding: 0cm 5.4pt 0cm 5.4pt; width: 460.6pt;&quot; valign=&quot;top&quot; width=&quot;614&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 11.55pt; margin-bottom: .0001pt; margin-bottom: 0cm;&quot;&gt;
&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;var&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt; line-height: 11.55pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;mql =
  window.matchMedia(&quot;&lt;/span&gt;&lt;span style=&quot;color: blue;&quot;&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;(orientation:&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;portrait)&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&quot;);&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;mql.addListener(handleOrientationChange);&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;handleOrientationChange(mql);&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;function&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt; line-height: 11.55pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;handleOrientationChange(mql) {&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&amp;nbsp; &amp;nbsp;if&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt; line-height: 11.55pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;(mql.matches) {&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;/*The device is currently in
  portrait orientation */&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&amp;nbsp; &amp;nbsp;} else&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: Consolas; font-size: 10.5pt; line-height: 11.55pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;{&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;/*The device is currently in
  landscape orientation */&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;}&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #333333; font-family: &#39;Courier New&#39;; font-size: 10pt; line-height: 11.55pt;&quot;&gt;}&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
&lt;br /&gt;
Cette fonction peut être très utile lorsque l&#39;on gère directement le design en javascript. Car l&#39;étude du User-Agent n&#39;est quelque fois pas suffisant pour déterminer le style d&#39;affichage notamment sur les&amp;nbsp;tablettes 7&#39;&#39;.&lt;br /&gt;
En paysage, on affichera&amp;nbsp;plutôt le&amp;nbsp;design&amp;nbsp;dédié&amp;nbsp;au tablette alors qu&#39;en portrait on aura tendance à afficher le design&amp;nbsp;Smartphone.&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/8412989525387658869/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/12/windowmatchmedia-mediaquery-en.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/8412989525387658869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/8412989525387658869'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/12/windowmatchmedia-mediaquery-en.html' title='window.matchMedia, MediaQuery en Javascript'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-3270243674764672358</id><published>2012-12-13T05:20:00.004-05:00</published><updated>2012-12-14T13:36:05.582-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ajax"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET"/><category scheme="http://www.blogger.com/atom/ns#" term="ASP.NET Authentification"/><category scheme="http://www.blogger.com/atom/ns#" term="Authentification Forms"/><category scheme="http://www.blogger.com/atom/ns#" term="C#"/><category scheme="http://www.blogger.com/atom/ns#" term="Chrome"/><category scheme="http://www.blogger.com/atom/ns#" term="cookieless"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><category scheme="http://www.blogger.com/atom/ns#" term="ios6"/><category scheme="http://www.blogger.com/atom/ns#" term="Ipad"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="JQuery"/><category scheme="http://www.blogger.com/atom/ns#" term="jquerymobile"/><category scheme="http://www.blogger.com/atom/ns#" term="Safari"/><category scheme="http://www.blogger.com/atom/ns#" term="usecookie"/><category scheme="http://www.blogger.com/atom/ns#" term="wcf"/><category scheme="http://www.blogger.com/atom/ns#" term="web app"/><category scheme="http://www.blogger.com/atom/ns#" term="webview"/><title type='text'>ASP.NET Forms Authentication Safari/Chrome sur IOS</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Contexte&lt;/h2&gt;
Je développe actuellement une Webapp HTML5 communiquant avec des services WCF. Pour les sécuriser, j&#39;ai implémenté l&#39;authentification ASP.NET par formulaire.&lt;br /&gt;
Certaines fois, sur iOS 6, &amp;nbsp;l&#39;appel au webservice sécurisé était refusé. Sur ipad, je l&#39;ai généralement rencontré en Webview, quand on ajoute la webapp sur le Homescreen.&lt;br /&gt;
&lt;br /&gt;
Lors de la connexion de l&#39;utilisateur à la Web App, on réalise le code ci-dessous :&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; color: #110000; font-size: 12px; line-height: 1.333;&quot;&gt;FormsAuthentication.&lt;/span&gt;&lt;span style=&quot;color: blue; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;SetAuthCookie&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #110000; font-size: 12px; line-height: 1.333;&quot;&gt;userName, &lt;/span&gt;&lt;span style=&quot;color: #0600ff; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;true&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #110000; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;color: teal; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-style: italic; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;/*createPersistentCookie*/&lt;/span&gt;&lt;span style=&quot;font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: green; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
La configuration de Web.config est la suivante :&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;authentication&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;Forms&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;forms&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;loginUrl&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;../Login.html&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;timeout&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;2880&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333;&quot;&gt;&amp;lt;/authentication&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 style=&quot;text-align: left;&quot;&gt;
Solution&lt;/h2&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
En analysant la réponse du serveur je me suis aperçu que finalement je n&#39;étais pas authentifié. Alors que le web service d&#39;authentification l&#39;avait bien confirmé.&lt;br /&gt;
Certaines fois le cookie d&#39;authentification n&#39;est pas bien obtenu par le navigateur,&amp;nbsp;&lt;span style=&quot;-webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969);&quot;&gt;notamment sur Safari et Chrome&lt;/span&gt;. Après beaucoup de recherches, j&#39;ai finalement trouvé une solution.&lt;/div&gt;
&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
Plusieurs étapes sont à réaliser :&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;Dans le Web.config, il faut ajouter la clé suivante, qui permet de forcer l&#39;utilisation des cookies par le navigateur. Par défaut c&#39;est UseDefault :&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;lt;authentication&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;mode&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;Forms&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;forms&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;loginUrl&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;../Login.html&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;timeout&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;2880&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; color: #000066; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;cookieless&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;background-color: white; color: red; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&quot;UseCookies&quot;&lt;/span&gt;&lt;span style=&quot;background-color: white; color: #009900; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 1.333;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333;&quot;&gt;&amp;lt;/authentication&lt;/span&gt;&lt;span style=&quot;background-color: white; font-family: &#39;Segoe UI&#39;, Calibri, &#39;Myriad Pro&#39;, Myriad, &#39;Trebuchet MS&#39;, Helvetica, Arial, sans-serif; font-size: 12px; font-weight: bold; line-height: 1.333; margin: 0px; padding: 0px;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;li&gt;Ensuite il peut aussi être utile de rajouter une MachineKey dans le Web.Config, pour éviter un problème dans le cryptage/décryptage du cookie d&#39;authentification.&lt;/li&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;tag&quot; style=&quot;background-color: #f7f7f7; color: #000088;&quot;&gt;&amp;lt;system.web&amp;gt;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;background-color: #f7f7f7; color: #000088;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;lt;machineKey&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;background-color: #f7f7f7; color: #660066;&quot;&gt;validationKey&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #f7f7f7; color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;background-color: #f7f7f7; color: #008800;&quot;&gt;&#39;myKey&#39;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;background-color: #f7f7f7; color: #660066;&quot;&gt;decryptionKey&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #f7f7f7; color: #666600;&quot;&gt;=&#39;myDecryptKey&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;background-color: #f7f7f7; color: #008800;&quot;&gt;&#39;&lt;/span&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt; &lt;/span&gt;&lt;span class=&quot;atn&quot; style=&quot;background-color: #f7f7f7; color: #660066;&quot;&gt;validation&lt;/span&gt;&lt;span class=&quot;pun&quot; style=&quot;background-color: #f7f7f7; color: #666600;&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;atv&quot; style=&quot;background-color: #f7f7f7; color: #008800;&quot;&gt;&#39;SHA1&#39;&lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;background-color: #f7f7f7; color: #000088;&quot;&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: x-small;&quot;&gt;&lt;span class=&quot;pln&quot; style=&quot;background-color: #f7f7f7;&quot;&gt;

    &lt;/span&gt;&lt;span class=&quot;tag&quot; style=&quot;background-color: #f7f7f7; color: #000088;&quot;&gt;&amp;lt;/system.web&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/ol&gt;
Pour générer une machineKey, vous pouvez aller directement sur ce site :&amp;nbsp;&lt;a href=&quot;http://www.orcsweb.com/articles/generate-aspnet-machine-key/&quot; target=&quot;_blank&quot;&gt;Générateur de machineKey&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
Source :&lt;a href=&quot;http://www.blogger.com/%C2%A0http://www.bloggersworld.com/index.php/2012/08/19/asp-net-forms-authentication-iphone-cookies/&quot; target=&quot;_blank&quot;&gt;&amp;nbsp;http://www.bloggersworld.com/index.php/2012/08/19/asp-net-forms-authentication-iphone-cookies/&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/3270243674764672358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/12/aspnet-forms-authentication.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/3270243674764672358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/3270243674764672358'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/12/aspnet-forms-authentication.html' title='ASP.NET Forms Authentication Safari/Chrome sur IOS'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-2354744007259840018</id><published>2012-12-10T05:48:00.001-05:00</published><updated>2012-12-10T06:12:40.406-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Android"/><category scheme="http://www.blogger.com/atom/ns#" term="Appcelerator"/><category scheme="http://www.blogger.com/atom/ns#" term="Appcelerator Report"/><category scheme="http://www.blogger.com/atom/ns#" term="Appcelerator Report Q3 2012"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="IOS"/><title type='text'>HTML5 et les développeurs - Etude  Appcelerator</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px;&quot;&gt;Selon une étude réalisée par Appcelerator, éditeur de l’outil de développement d’applications mobiles Titanium, et le cabinet d’analystes IDC, HTML5 n’aurait pas encore convaincu les développeurs mobiles. Pire, les fonctionnalités proposées pour l’heure par le futur standard, ne satisferaient pas les développeurs.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
Selon les résultats de l’étude, les développeurs montrent une attitude de «&amp;nbsp;neutre&amp;nbsp;» à «&amp;nbsp;insatisfait&amp;nbsp;» pour les applications développées en HTML5 :&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;62 % l’expérience utilisateur&amp;nbsp;&lt;/li&gt;
&lt;li&gt;72,4% les performances&amp;nbsp;&lt;/li&gt;
&lt;li&gt;83,4% la monétisation&amp;nbsp;&lt;/li&gt;
&lt;li&gt;75,4% la fragmentation&lt;/li&gt;
&lt;li&gt;60,3% le contrôle de la distribution&lt;/li&gt;
&lt;li&gt;67,9% l’intemporalité des nouvelles mises à jour&lt;/li&gt;
&lt;li&gt;81,8% la sécurité.&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
En revanche, 58% développeurs sondés se disent pleinement satisfaits concernant les possibilités de développement cross plate-forme du langage, et un peu moins de 50% se positionnent de même pour les mises à jour.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
Autre enseignement de cette étude : la baisse de popularité d’Android chez les développeurs&amp;nbsp; se poursuit. Dans cette édition, seulement 66% des développeurs interrogés affirment être très intéressés par les développements pour les tablettes Android et 76% par les smartphones. Une baisse légère, note l’étude – de 2 et 3 points respectivement – mais qui s’inscrit dans la durée. La plate-forme Apple reste encore la cible préférée des développeurs.&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
Source :&amp;nbsp;&lt;a href=&quot;http://www.lemagit.fr/technologie/architectures-logicielles-soa/langages/2012/11/23/html-5-ne-ravit-pas-les-developpeurs/&quot;&gt;http://www.lemagit.fr/technologie/architectures-logicielles-soa/langages/2012/11/23/html-5-ne-ravit-pas-les-developpeurs/&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Rapport complet de l&#39;étude :&amp;nbsp;&lt;a href=&quot;https://docs.google.com/open?id=0B7EE-fK6_IQAQVBjd00ycks2WWs&quot; target=&quot;_blank&quot;&gt;Appcelerator Report Q3 2012&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-family: verdana, helvetica, sans-serif; font-size: 12px; line-height: 17px; margin-bottom: 8px; margin-top: 8px; padding: 0px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/2354744007259840018/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/12/html5-ne-ravit-pas-les-developpeurs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2354744007259840018'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/2354744007259840018'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/12/html5-ne-ravit-pas-les-developpeurs.html' title='HTML5 et les développeurs - Etude  Appcelerator'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-4814794187248424438</id><published>2012-12-10T04:07:00.001-05:00</published><updated>2012-12-10T06:08:10.577-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term=".NET"/><category scheme="http://www.blogger.com/atom/ns#" term="Campus Opera"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="Meetup"/><category scheme="http://www.blogger.com/atom/ns#" term="Paris"/><title type='text'>4ème Meetup Windows Apps: Javascript, HTML5 et .NET</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;strong style=&quot;display: inline; font-family: inherit;&quot;&gt;Vous êtes développeur d&#39;applications sous Windows ou souhaitez vous lancer,&lt;/strong&gt;&amp;nbsp;venez rencontrer d&#39;autres développeurs de la communauté.&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;b&gt;Lieu :&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;headline&quot; itemprop=&quot;name&quot; style=&quot;background-color: white; color: #272727; font-family: verdana, arial, sans-serif; font-size: 20px; line-height: 22px; margin-bottom: 0.25em; padding: 0px;&quot;&gt;
&lt;a href=&quot;http://maps.google.com/maps?q=5+avenue+de+l%26%23039%3Bopera%2C+75001%2C+Paris&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial;&quot; target=&quot;_blank&quot; title=&quot;&quot;&gt;IESA multimedia - Campus Opera&lt;/a&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;span style=&quot;color: #888888; line-height: 18px;&quot;&gt;5 avenue de l&#39;opera, 75001,&lt;/span&gt;&lt;span style=&quot;color: #888888; line-height: 18px;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #888888; font-family: inherit; line-height: 18px;&quot;&gt;Paris&lt;/span&gt;&amp;nbsp;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;strong style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;Programme :&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;strong style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;Comment prendre soin de vos utilisateurs ?&lt;/strong&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;em style=&quot;line-height: 18.883333206176758px;&quot;&gt;Par&amp;nbsp;&lt;a href=&quot;http://fr.linkedin.com/in/benjaminbaldacci&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial; word-break: break-all; word-wrap: break-word;&quot;&gt;Benjamin Baldacci&lt;/a&gt;, consultant .NET chez Wygwam.&lt;/em&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.883333206176758px;&quot;&gt;Itinérance des données&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.883333206176758px;&quot;&gt;Avertissement des erreurs&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;line-height: 18.883333206176758px;&quot;&gt;Paramètres&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;span style=&quot;line-height: 18.883333206176758px;&quot;&gt;&amp;nbsp; &amp;nbsp; 2.&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;Optimisation d&#39;une application Windows 8 développée avec javascript&lt;/strong&gt;&lt;br /&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;em&gt;Par&amp;nbsp;&lt;a href=&quot;http://www.linkedin.com/in/dcatuhe&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial; word-break: break-all; word-wrap: break-word;&quot;&gt;David Catuhe&lt;/a&gt;,&amp;nbsp;&lt;span style=&quot;font-family: inherit;&quot;&gt;Technical Evangelist Lead for Windows Client chez Microsoft&lt;/span&gt;&amp;nbsp;et&amp;nbsp;&lt;a href=&quot;http://www.linkedin.com/in/davrous&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial; word-break: break-all; word-wrap: break-word;&quot;&gt;David Rousset&lt;/a&gt;,&amp;nbsp;&lt;span style=&quot;font-family: inherit;&quot;&gt;Windows 8 &amp;amp; HTML5 Developer Evangelist chez Microsoft&lt;/span&gt;.&lt;/em&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;span style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;&amp;nbsp; &amp;nbsp; 3.&amp;nbsp;&lt;/span&gt;&lt;strong style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;Accéder aux Api de camera avec javascript pour Windows 8&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;em&gt;Par&amp;nbsp;&lt;a href=&quot;http://www.linkedin.com/in/dcatuhe&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial; word-break: break-all; word-wrap: break-word;&quot;&gt;David Catuhe&lt;/a&gt;,&amp;nbsp;Technical Evangelist Lead for Windows Client chez Microsoft&amp;nbsp;et&amp;nbsp;&lt;a href=&quot;http://www.linkedin.com/in/davrous&quot; style=&quot;color: #3987cb; cursor: pointer; display: inline; font-family: inherit; text-decoration: initial; word-break: break-all; word-wrap: break-word;&quot;&gt;David Rousset&lt;/a&gt;,&amp;nbsp;Windows 8 &amp;amp; HTML5 Developer Evangelist chez Microsoft.&lt;/em&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&amp;nbsp; &amp;nbsp; 4.&amp;nbsp;&lt;strong style=&quot;display: inline; font-family: inherit; line-height: 18.883333206176758px;&quot;&gt;Websockets: coder un chat en 10 minutes&lt;/strong&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; margin-bottom: 0.7em; padding: 0px;&quot;&gt;
&lt;div style=&quot;color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px;&quot;&gt;
&lt;em&gt;Par Jean-Noël Gourdol, Jean-Michel Deruty et Florie Fauché.&lt;/em&gt;&lt;/div&gt;
&lt;div style=&quot;color: #666666; font-family: verdana, arial, sans-serif; font-size: 14px; line-height: 18.883333206176758px;&quot;&gt;
&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/div&gt;
&lt;span style=&quot;color: #666666; font-family: verdana, arial, sans-serif;&quot;&gt;&lt;span style=&quot;font-size: 14px; line-height: 18.866666793823242px;&quot;&gt;&lt;i&gt;&lt;a href=&quot;http://www.meetup.com/windowsapps/events/93319672/&quot; target=&quot;_blank&quot;&gt;Inscription Meetup&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/4814794187248424438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/12/4eme-meetup-windows-apps-javascript.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4814794187248424438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/4814794187248424438'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/12/4eme-meetup-windows-apps-javascript.html' title='4ème Meetup Windows Apps: Javascript, HTML5 et .NET'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-6244298285091154165</id><published>2012-11-23T11:39:00.000-05:00</published><updated>2012-11-23T11:39:00.154-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Bacbkone.Router"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone View"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone.js"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone.View"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbonejs"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC"/><category scheme="http://www.blogger.com/atom/ns#" term="MVC Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="web app"/><title type='text'>Pattern MVC BackboneJs</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
L&#39;objectif de cet article est de proposer plusieurs modélisation UML d&#39;un projet de WebApplication avec la librairie Javascript BackboneJs.&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Router &amp;gt; View &amp;gt; Model&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Tout d&#39;abord une modélisation très simple, qui comprend un router, une view et un model.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxlUSxucfaUuX50Gg9CPmeZw0Wz6-8X8TH1Wa5pzNDThq9d84sQqHZNsUYKiUxvpCZH7lnUGyHQptIMIijOuVFLs8j2sfOOhTNODlVC6npRbBbOV9EfHK-Tu8QjFbPbwJ57kq7r1x1SFI/s1600/ModelViewRouterSimple.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;151&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxlUSxucfaUuX50Gg9CPmeZw0Wz6-8X8TH1Wa5pzNDThq9d84sQqHZNsUYKiUxvpCZH7lnUGyHQptIMIijOuVFLs8j2sfOOhTNODlVC6npRbBbOV9EfHK-Tu8QjFbPbwJ57kq7r1x1SFI/s320/ModelViewRouterSimple.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;i&gt;Modélisation UML Architecture simple Backbone&lt;/i&gt;&lt;/div&gt;
&lt;br /&gt;
Cette modélisation est un bonne solution si on est dans un&amp;nbsp;contexte&amp;nbsp;relativement simple. C&#39;est à dire que l&#39;on a qu&#39;un seul Model, que l&#39;on affichera grâce à le View.&lt;br /&gt;
&lt;br /&gt;
Le router permet d&#39;instancier la view à laquelle il passera le model à afficher.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;Router = Backbone.Router.extend({&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; routes: {&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;Page1&quot;: &quot;maPage1&quot;, &amp;nbsp; // http://monsite/#Page1&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;*actions&quot; : &quot;defaultRoute&quot; //http://monsite/&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;},&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;maPage1 : function(){&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;var view = new MaView({model : monModel, viewContainer : monContainer})&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;}&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;background-color: white;&quot;&gt;});&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Router &amp;gt; Collection Model &amp;gt; View&lt;/h3&gt;
Maintenant passons à une modélisation un peu plus complexe.&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlRRj5-BjMhSxUrJanlozNJAWOemgB0XywAIDxTMEm0yngEZ7HXn6E4SnUb31w3lftK6jmMUSi6GZNY3KL14tDOoWZANB5gUisRPlm-zdMZiRnzQDu6WdFBCAb7EwRcc_LmfLokmkwMHY/s1600/CollectionModelViewRouterNoOptimized.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;269&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlRRj5-BjMhSxUrJanlozNJAWOemgB0XywAIDxTMEm0yngEZ7HXn6E4SnUb31w3lftK6jmMUSi6GZNY3KL14tDOoWZANB5gUisRPlm-zdMZiRnzQDu6WdFBCAb7EwRcc_LmfLokmkwMHY/s320/CollectionModelViewRouterNoOptimized.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;i&gt;Modélisation UML avec une collection de model&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&amp;nbsp;Cette fois on souhaite afficher une liste de model. Dans cette architecture, la View permet l&#39;affichage d&#39;une collection de Model.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
C&#39;est à dire que dans la fonction Render(), nous allons faire un foreach() pour chaque élément de la liste, et générer directement le code HTML que l&#39;on ajoutera à notre conteneur HTML de la liste.&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;/div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;render : function (){&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;this.collection.each(function (item){&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;myContainterListe.append($(template(item.toJSON())));&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
Ce principe n&#39;est pas optimal notamment si l&#39;on souhaite gérer des&amp;nbsp;évènements&amp;nbsp;sur les items de la liste générée par le View.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Router &amp;gt; Collection &amp;gt; View &amp;gt; Model &amp;gt; View&amp;nbsp;&lt;/h3&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: left;&quot;&gt;
L&#39;architecture présentée ci-dessous à une granularité plus fine que celle ci-dessus.&amp;nbsp;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilYLwBILbhZ-S-R8Jtgs33emXIAb7YEaJNwL3LW_J4iCGKjMdEHQ-8Df0BmGWBO1hOOlRlOvI2P9AoHQp1OJXxGBVlcvMlVpFYc-vt5bSHOjIqNA0kCP-fXSIw-HzfZImpRXGU9ec7N4U/s1600/CollectionModelViewRouterOptimized.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;272&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEilYLwBILbhZ-S-R8Jtgs33emXIAb7YEaJNwL3LW_J4iCGKjMdEHQ-8Df0BmGWBO1hOOlRlOvI2P9AoHQp1OJXxGBVlcvMlVpFYc-vt5bSHOjIqNA0kCP-fXSIw-HzfZImpRXGU9ec7N4U/s320/CollectionModelViewRouterOptimized.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;i&gt;Modélisation UML avec une view pour la collection et une view par item&lt;/i&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;/div&gt;
On souhaite toujours afficher une liste de Model, mais à la différence le modélisation précédente, on crée une view pour la collection et une view pour les items de la collection.&lt;br /&gt;
&lt;br /&gt;
Cette fois la fonction render() de la View de la collection, va faire appel ,pour chaque item, à la fonction Render() de la view des items.&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;ListView = Backbone.View.extend({&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; renderItem: function(model){&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; var itemView = new ItemView({model : model});&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; itemView.render();&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; render : function() {&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.collection.each(this.renderItem);&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/li&gt;
&lt;li&gt;});&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
On pourra donc ajouter des&amp;nbsp;évènements&amp;nbsp;sur notre view Item, pour ajouter du comportement à nos items.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter des évènements sur une Backbone.View :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&amp;nbsp;events :&lt;/li&gt;
&lt;li&gt;{&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&quot;click .classname&quot; : &quot;mafonction&quot;&lt;/li&gt;
&lt;li&gt;}&lt;/li&gt;
&lt;/ol&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/6244298285091154165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/11/pattern-mvc-backbonejs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/6244298285091154165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/6244298285091154165'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/11/pattern-mvc-backbonejs.html' title='Pattern MVC BackboneJs'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgxlUSxucfaUuX50Gg9CPmeZw0Wz6-8X8TH1Wa5pzNDThq9d84sQqHZNsUYKiUxvpCZH7lnUGyHQptIMIijOuVFLs8j2sfOOhTNODlVC6npRbBbOV9EfHK-Tu8QjFbPbwJ57kq7r1x1SFI/s72-c/ModelViewRouterSimple.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5289302723875218173.post-5350016067608436000</id><published>2012-11-16T05:55:00.001-05:00</published><updated>2012-11-17T04:46:22.789-05:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Backbone"/><category scheme="http://www.blogger.com/atom/ns#" term="Backbone.js"/><category scheme="http://www.blogger.com/atom/ns#" term="DOM"/><category scheme="http://www.blogger.com/atom/ns#" term="DOM Ready"/><category scheme="http://www.blogger.com/atom/ns#" term="HTML5"/><category scheme="http://www.blogger.com/atom/ns#" term="Javascript"/><category scheme="http://www.blogger.com/atom/ns#" term="JQuery"/><category scheme="http://www.blogger.com/atom/ns#" term="Jquery DOMReady"/><category scheme="http://www.blogger.com/atom/ns#" term="Jquery Mobile"/><title type='text'>(function ($) {  }(jQuery)); vs $(function () {});</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;h2 style=&quot;text-align: center;&quot;&gt;
(function ($) {&amp;nbsp; }(jQuery)); vs&amp;nbsp;$(function () {});&lt;/h2&gt;
&lt;div&gt;
Un petit retour d&#39;expérience, après être resté bloquer pendant quelques heures, sur une erreur liée à la librairie JqueryMobile. L&#39;erreur est :&amp;nbsp;&lt;i&gt;$.mobile.loader of &#39;undefined&#39; .&lt;/i&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Contexte&amp;nbsp;de l&#39;erreur&lt;/h3&gt;
&lt;div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;dans la fonction &lt;i&gt;(function($) {} (jQuery));&lt;/i&gt; je crée un model Backbone, une view Backbone et un routeur Backbone.&lt;/li&gt;
&lt;li&gt;dans cette même fonction j&#39;instancie mon routeur et &lt;i&gt;Backbone.history.start();&lt;/i&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
Lorsque je charge la page, je réalise un appel Ajax async pour obtenir une collection d&#39;éléments. Pendant cette appel Ajax, j&#39;utilise la &quot;loading bar&quot; de JQuery Mobile comme ci-dessous :&lt;/div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;CollectionModel.fetch({&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; beforeSend:function ()&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; { $.mobile.loading(&#39;show&#39;);&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; complete: function () {&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; $.mobile.loading(&#39;hide&#39;);&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&amp;nbsp;&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; success: callback&lt;/li&gt;
&lt;li&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; });&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
Lors de cette appel, la méthode $mobile.loading n&#39;est pas définit car la librairie JQueryMobile n&#39;est pas encore ready.&lt;/div&gt;
&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Solution&lt;/h3&gt;
&lt;div&gt;
Pour résoudre le problème, il faut tout simplement réaliser l&#39;instanciation du Router et lancé &lt;i&gt;Backbone.history.start()&lt;/i&gt; n&#39;ont pas dans &lt;i&gt;(function($) {}(jQuery))&lt;/i&gt; mais plutôt dans &lt;i&gt;$(function() {}); &lt;/i&gt;car dans ce cas, on est sur que la librairie &lt;i&gt;$.mobile&lt;/i&gt; est chargée et disponible.&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div&gt;
La fonction anonyme &lt;i&gt;(function($) {}(jQuery)&lt;/i&gt; signifie que le DOM JQuery est ready mais il faut bien dissocier le DOM JQuery et le DOM du Document qui est représenté par la fonction suivante :&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;i&gt;$(function() {});&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Récapitulatif&lt;/h3&gt;
&lt;/div&gt;
&lt;div&gt;
La déclaration des Models, des Views et des Routers Backbonejs doivent être placée dans la fonction anonyme :&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&amp;nbsp;&lt;i&gt;(function($) {} (jQuery));&amp;nbsp;&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
Par contre&amp;nbsp;l’instanciation&amp;nbsp;du router doit être de préférence réalisé dans la fonction :&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;i&gt;$(function() {});&amp;nbsp;&lt;/i&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='http://html5webapp.blogspot.com/feeds/5350016067608436000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://html5webapp.blogspot.com/2012/11/function-jquery-vs-function.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5350016067608436000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5289302723875218173/posts/default/5350016067608436000'/><link rel='alternate' type='text/html' href='http://html5webapp.blogspot.com/2012/11/function-jquery-vs-function.html' title='(function ($) {  }(jQuery)); vs $(function () {});'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/05435900912164101237</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>