<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>The MobileESP Project: Easily detect mobile web site visitors</title>
	<atom:link href="http://blog.mobileesp.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.mobileesp.com</link>
	<description>Supporting the MobileESP mobile device detection project</description>
	<lastBuildDate>Tue, 29 Jan 2013 18:34:38 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Happy New Year!</title>
		<link>http://blog.mobileesp.com/?p=318</link>
		<comments>http://blog.mobileesp.com/?p=318#comments</comments>
		<pubDate>Fri, 28 Dec 2012 05:26:48 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=318</guid>
		<description><![CDATA[Happy New Year, everyone! This is just a quick note to let you know that we&#8217;re working on some updates to start the year off right! Windows Phone 8, BlackBerry OS 10, Tizen &#8212; and more. Plus we&#8217;re updating the library of useragent test strings. So look for this update very soon&#8230; Until then, be [...]]]></description>
				<content:encoded><![CDATA[<p>Happy New Year, everyone!</p>
<p>This is just a quick note to let you know that we&#8217;re working on some updates to start the year off right! Windows Phone 8, BlackBerry OS 10, Tizen &#8212; and more. Plus we&#8217;re updating the library of useragent test strings.</p>
<p>So look for this update <em>very</em> soon&#8230;</p>
<p>Until then, be safe &amp; be merry!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=318</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlackBerry Device Detection Recipes</title>
		<link>http://blog.mobileesp.com/?p=316</link>
		<comments>http://blog.mobileesp.com/?p=316#comments</comments>
		<pubDate>Mon, 24 Dec 2012 23:14:39 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mobile Web Site Design]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=316</guid>
		<description><![CDATA[Hi, folks &#8211; A developer using MobileESP for a commercial project and I recently exchanged emails about BlackBerry device detection. Generally speaking, the BlackBerry OS has lagged other smartphone OSes with regards to browser capabilities. This situation has made it challenging for web developers who wish to provide quality experiences on their web sites to [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>A developer using MobileESP for a commercial project and I recently exchanged emails about BlackBerry device detection. Generally speaking, the BlackBerry OS has lagged other smartphone OSes with regards to browser capabilities. This situation has made it challenging for web developers who wish to provide quality experiences on their web sites to BlackBerry OS users.</p>
<p>MobileESP has lots of methods to detect BlackBerry devices &#8212; six! But all of them were created for specific purposes to help better target specific classes of BB devices. You may find it helpful to review the full list of BlackBerry detection methods in <a href="http://blog.mobileesp.com/?page_id=53">the MobileESp API documentation</a>. Here is a little more info on the key detection methods nowadays.</p>
<p>The purpose of the old <b>DetectBlackBerryHigh() </b>and <b>-Low()</b> methods was really for the two levels of pre-OS 6 version devices. After OS 6, if you need BlackBerry specifically, then you might use one (or a combination of) the following:</p>
<ul>
<li><b>DetectBlackBerry():</b> For any BlackBerry device, phone or tablet</li>
<li><b>DetectBlackBerryTablet():</b> For tablets only.</li>
<li><b>DetectBlackBerryWebKit():</b> For any &#8220;modern&#8221; BlackBerry device (phone or tablet) running BlackBerry OS. Generally speaking, this will test true on OS 6 or later.</li>
</ul>
<p>So if you want a modern BlackBerry <b><i>phone</i></b> (OS 6 or later), then run this recipe:</p>
<ul>
<li><b>DetectBlackBerryWebKit() &amp;&amp; !DetectBlackBerryTablet()</b></li>
</ul>
<p>Or if you want <b><i>any</i></b> BlackBerry phone (<i>any</i> version OS), the run this recipe:</p>
<ul>
<li><b>DetectBlackBerry &amp;&amp; !DetectBlackBerryTablet()</b></li>
</ul>
<p>Of course when the new BlackBerry OS 10 launches in 2013, we will update MobileESP soon after!</p>
<p>And as you may have already read in the MobileESP blog, we generally recommend using the <b>DetectTierX</b> methods unless you are looking for a specific device for a specific purpose. For example, you should use <b>DetectTierIphone()</b> to detect all modern smartphones with an iPhone-class web browser running a variety of OSes.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=316</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SkyTech Geeks: MobileESP Included in HTML5 Frameworks for Mobile List</title>
		<link>http://blog.mobileesp.com/?p=313</link>
		<comments>http://blog.mobileesp.com/?p=313#comments</comments>
		<pubDate>Tue, 28 Aug 2012 03:43:20 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mobile Web Site Design]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=313</guid>
		<description><![CDATA[This is pretty cool! We recently ran into this listing of great HTML5 frameworks useful for mobile app development &#8212; and noticed that MobileESP made the cut! http://skytechgeek.com/2011/11/html5-frameworks-and-useful-apps-for-mobile-web-development/ The projects all look great &#8212; a few of which were new to me. I&#8217;m slowly working my way through them in my spare time. Definitely peruse [...]]]></description>
				<content:encoded><![CDATA[<p>This is pretty cool!</p>
<p>We recently ran into this listing of great HTML5 frameworks useful for mobile app development &#8212; and noticed that MobileESP made the cut!</p>
<p style="padding-left: 30px;"><a title="HTML5 FRAMEWORKS AND USEFUL APPS FOR MOBILE WEB DEVELOPMENT" href="http://skytechgeek.com/2011/11/html5-frameworks-and-useful-apps-for-mobile-web-development/" target="_blank">http://skytechgeek.com/2011/11/html5-frameworks-and-useful-apps-for-mobile-web-development/</a></p>
<p>The projects all look great &#8212; a few of which were new to me. I&#8217;m slowly working my way through them in my spare time. Definitely peruse the list when you have a few moments and check them out. Let us know what you think of them!</p>
<p>&nbsp;</p>
<p><em>FYI: This page has been translated into Serbo-Croation: <a title="Serbo-Croation version of this page" href="http://science.webhostinggeeks.com/mobilni-dizajn" target="_blank">http://science.webhostinggeeks.com/mobilni-dizajn</a></em></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=313</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileESP as a WordPress Plugin</title>
		<link>http://blog.mobileesp.com/?p=310</link>
		<comments>http://blog.mobileesp.com/?p=310#comments</comments>
		<pubDate>Tue, 28 Aug 2012 03:35:58 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[Projects Using MobileESP]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=310</guid>
		<description><![CDATA[James Mehorter has kindly supported MobileESP in the past and helped identify a couple of holes in the MobileESP detection code (usually around random BlackBerry devices). (And yes, we&#8217;ve added some of them to our official new useragent test list.) Well, James has published a mobile device detection plugin for WordPress using MobileESP. From the official [...]]]></description>
				<content:encoded><![CDATA[<p>James Mehorter has kindly supported MobileESP in the past and helped identify a couple of holes in the MobileESP detection code (usually around random BlackBerry devices). (And yes, we&#8217;ve added some of them to our official new <a href="http://blog.mobileesp.com/?p=303" target="_blank">useragent test list</a>.)</p>
<p>Well, James has published a mobile device detection plugin for WordPress using MobileESP. From the official description:</p>
<p style="padding-left: 30px;"><strong>&#8220;Device Theme Switcher&#8221;</strong> by James Mehorter uses MobileESP to let theme developers and website administrators select which WordPress theme is delivered to Handheld devices, and which theme is delivered to tablet devices, while still showing the primary theme to computer users.  <a title="Device Theme Switcher Plugin for WordPress" href="http://wordpress.org/extend/plugins/device-theme-switcher/ " target="_blank">http://wordpress.org/extend/plugins/device-theme-switcher/ </a></p>
<p>Thanks for your hard work on that project, James! Those are good download numbers, too. The last time I looked, the plugin had around 5,000 downloads.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=310</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MobileESP JavaScript: OOP Beta 1 Released!</title>
		<link>http://blog.mobileesp.com/?p=306</link>
		<comments>http://blog.mobileesp.com/?p=306#comments</comments>
		<pubDate>Mon, 23 Jul 2012 04:56:54 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[Code Updates]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[MobileESP APIs]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=306</guid>
		<description><![CDATA[Hi, folks &#8211; As MobileESP has added new methods and variables, I&#8217;ve been more &#38; more concerned with the potential for API collisions with other JavaScripts that may be present on the page. So I decided to work on converting the standard JavaScript code into an Object Oriented model using the literal notation technique. Since [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>As MobileESP has added new methods and variables, I&#8217;ve been more &amp; more concerned with the potential for API collisions with other JavaScripts that may be present on the page. So I decided to work on converting the standard JavaScript code into an Object Oriented model using the <strong>literal notation technique</strong>. Since I had to touch each function anyways, I decided it was time for a deep review of the JavaScript code, as well. Simultaneously, I drafted a list of test useragent strings and tested each one against our new <strong><a href="http://blog.mobileesp.com/?p=303">UA test list</a></strong>.</p>
<p style="padding-left: 30px;">Download: <a href="http://www.hand-interactive.com/files/javascript_oop_beta_redirect_sample_July_22_2012.zip">OOP JavaScript Beta 1 (July 22, 2012)</a></p>
<p><strong>REGULAR JAVASCRIPT METHOD</strong></p>
<p>In the normal JavaScript method, this is how you would include and use the code to test for iPhone Tier devices (including Android and Windows Phone 7). Notice how the JS function call is available <em>as if</em> it had been defined on the same page.</p>
<p style="padding-left: 30px;">//In the Header, load the file:</p>
<p style="padding-left: 30px;">&lt;script type=&#8221;text/javascript&#8221; src=&#8221;code/mdetect.js&#8221;&gt;&lt;/script&gt;</p>
<p style="padding-left: 30px;">&lt;script type=&#8221;text/javascript&#8221; language=&#8221;JavaScript&#8221;&gt;</p>
<p style="padding-left: 30px;">if (DetectTierIphone())</p>
<p style="padding-left: 60px;">//Do something interesting, like redirect to a mobile page</p>
<p style="padding-left: 60px;">//or promote the link to the iOS app store.</p>
<p style="padding-left: 30px;">&lt;/script&gt;</p>
<p><strong>OOP JAVASCRIPT METHOD</strong></p>
<p>Using this OOP method, all function calls and interesting variables are accessed within a new object called &#8220;MobileEsp.&#8221; So, only one line needs to change as we add <strong>&#8220;MobileEsp.&#8221;</strong> to the function call:</p>
<p style="padding-left: 30px;">//Do the stuff listed above&#8230;</p>
<p style="padding-left: 30px;">if (<strong>MobileEsp.</strong>DetectTierIphone())</p>
<p style="padding-left: 60px;">//Do something interesting</p>
<p><strong>CHANGE LOG</strong></p>
<p>In addition, I made numerous tweaks and updates to the JavaScript code. If the JavaScript switch to the OOP model is well accepted by the community, and any bugs get fixed, then I&#8217;ll start porting these tweaks and updates to the other libraries. A few people have sent in a few other requests for coding changes (especially to PHP), which I&#8217;ll also try to get in. Here are some highlights of the JavaScript updates:</p>
<ul>
<li>Added global variables for quick access to these very useful Boolean values: IsWebkit, IsMobilePhone, IsIphone, IsAndroid, IsAndroidPhone, IsTierTablet, IsTierIphone, IsTierRichCss, IsTierGenericMobile</li>
<li>Simplified OperaMobile().</li>
<li>Moved the following from DetectMobileQuick() to DetectMobileLong(): DetectDangerHiptop(), DetectMaemoTablet(), DetectGarminNuvifone(), devicePda.</li>
<li>Added DetectBada(). Added it to DetectSmartphone &amp; iPhone Tier, too.</li>
</ul>
<p><strong>BETA TEST FEEDBACK</strong></p>
<p>Please review &amp; test the proposed code for the new OOP JavaScript object and its many tweaks and updates. Please send feedback to me (Anthony) no later than <strong>Friday, August 10, 2012</strong>. I&#8217;d like to be able to incorporate all of the feedback and publish an official switch to OOP by the end of August.</p>
<p>Thank you for your continued support of MobileESP, your energies, and your ideas on how to make it better for the entire community!!!</p>
<p>Anthony</p>
<p>(anthony.hand [at] gmail [dot] com)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=306</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileESP: First Draft of Test UserAgent Strings Released!</title>
		<link>http://blog.mobileesp.com/?p=303</link>
		<comments>http://blog.mobileesp.com/?p=303#comments</comments>
		<pubDate>Mon, 23 Jul 2012 04:09:35 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[UserAgent Test Strings]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=303</guid>
		<description><![CDATA[Hi, folks &#8211; One of the people in the MobileESP community is a software QA tester (I think). Dave M. very kindly took it upon himself to start putting together a long list of useragent strings that we could use for testing. Previously, I had been informally testing MobileESP against UA strings I might find [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>One of the people in the MobileESP community is a software QA tester (I think). Dave M. very kindly took it upon himself to start putting together a long list of useragent strings that we could use for testing. Previously, I had been informally testing MobileESP against UA strings I might find online or by testing a device in a store. Useful, true, but as time goes on, it&#8217;s good to keep track of the UA strings that were new or different enough to impact the MobileESP codebase.</p>
<p>I&#8217;ve been very, very slowly going through Dave&#8217;s list and putting together of spreadsheet of UA strings that I think are the most useful to put into a test suite. I don&#8217;t think that we need thousands, just a few dozen or so of the most important ones. For example, we should definitely track UA strings for very popular devices, if have an unusual combination of elements, and at least one UA string for each supported function call in the API.</p>
<p>So let&#8217;s officially launch the very first draft of the <a href="http://www.hand-interactive.com/files/MobileESP_UA-Test-Strings_July-22-2012.zip"><strong>MobileESP UserAgent Test Strings</strong></a>! This rough first draft is dated July 22, 2012, and is released in 2 formats: an Excel spreadsheet and a CSV file.</p>
<p><strong>HOW TO PROVIDE FEEDBACK</strong></p>
<p>Your feedback on this spreadsheet is much appreciated! However, I can&#8217;t study each cell to spot the subtle differences. So, if you would like to provide feedback, please do the following:</p>
<ul>
<li>The THIRD worksheet tab is entitled, <strong>&#8220;UA Strings to Add to Test Suite.&#8221;</strong> Please put any <strong>new UA strings</strong> in this worksheet.</li>
<li>If you have any <strong>corrections</strong>, please copy them into the &#8220;UA Strings to Add to Test Suite&#8221; worksheet, also. Highlight each changed cell in <strong>YELLOW</strong> so I&#8217;ll see it quickly. Please add a special comment so that I&#8217;ll understand your rationale.</li>
</ul>
<p>Please note that this little project to track the most important UA strings for testing will be an ongoing project. Any thoughts on how to best manage the process would also be appreciated.</p>
<p>Thanks again Dave M. for kicking this important side project into gear!</p>
<p>- Anthony</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=303</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HP/Palm Has Released the Enyo Web UI Framework</title>
		<link>http://blog.mobileesp.com/?p=297</link>
		<comments>http://blog.mobileesp.com/?p=297#comments</comments>
		<pubDate>Sun, 17 Jun 2012 03:51:37 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[MobileESP APIs]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=297</guid>
		<description><![CDATA[Hi, folks &#8211; In case you haven&#8217;t heard already, HP/Palm has released the UI framework they used to build the WebOS UI as a free open source JavaScript/CSS framework. That&#8217;s right: the WebOS was built using Web technologies &#8212; not Java, C++, or something else! Check out the Enyo JS framework &#38; have fun exploring [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>In case you haven&#8217;t heard already, HP/Palm has released the UI framework they used to build the WebOS UI as a free open source JavaScript/CSS framework. That&#8217;s right: the WebOS was built using Web technologies &#8212; not Java, C++, or something else!</p>
<p>Check out the <strong>Enyo JS</strong> framework &amp; have fun exploring their samples pages:</p>
<p style="padding-left: 30px;"><a title="The Enyo Web UI Framework" href="http://enyojs.com/">www.enyojs.com</a></p>
<p>Be sure to review the &#8220;StyleMatters&#8221; sample, which encapsulates what looks like all of the UI components Palm used on WebOS&#8217;s distinctive (and gorgeous) UI layer.</p>
<p style="padding-left: 30px;"><a href="http://enyojs.com/samples/stylematters/">http://enyojs.com/samples/stylematters/</a></p>
<h2>Caution</h2>
<p>There is one word of warning, though. <strong>Enyo renders best on WebKit-based browsers.</strong> Some of the UI components render OK on my Windows Phone 7 test device, but not all of them. And unfortunately, the StyleMatters sample doesn&#8217;t render at all on my Windows Phone 7 device. I haven&#8217;t tested the StyleMatters sample with Firefox or Opera Mobile on an Android device, but I expect there to be significant rendering issues with these browsers, as well.  :-(</p>
<h2>Advice for Using Enyo with MobileESP</h2>
<p>If you decide to develop a web site or application with the Enyo JS UI framework, remember that it works best with WebKit-based browsers. As of today, it&#8217;s probably <em>not reliable</em> with <strong>Internet Explorer, Firefox, or Opera</strong>, whether mobile or desktop browsers.</p>
<p>You would also want to limit your Enyo-based web app to the iPhone Tier devices and perhaps also Tablet Tier. This means that you might consider making a different mobile version of your site available to devices using non-WebKit browsers (e.g., on Android, Windows Phone, or BlackBerry), even if they&#8217;re in the iPhone or Tablet tiers.</p>
<p>Your Enyo web development strategy might look something like this:</p>
<ul>
<li><strong>Tablet Tier, WebKit Only:</strong> Enyo OK</li>
<ul>
<li><strong>Non-WebKit Browsers:</strong> Mobile-friendly desktop or generic mobile site</li>
</ul>
<li><strong>iPhone Tier, WebKit Only:</strong> Enyo OK</li>
<ul>
<li><strong>Non-WebKit Browsers:</strong> Generic mobile site</li>
</ul>
<li><strong>All Other Mobile <strong>Devices</strong>:</strong> Provide the generic mobile site.</li>
</ul>
<p>Therefore, you would want to determine whether to serve an Enyo-built site using the <a href="http://blog.mobileesp.com/?page_id=53">iPhone or Tablet Tier API calls with the WebKit calls</a>. Here is a pseudo-code example:</p>
<blockquote><p>if (DetectMobileQuick() == true)</p>
<p>{</p>
<p style="padding-left: 30px;">if ((DetectTierIphone() == true) &amp;&amp; (DetectWebkit() == true))</p>
<p style="padding-left: 60px;">//Serve the Enyo-built phone screensize-optimized site</p>
<p style="padding-left: 30px;">else</p>
<p style="padding-left: 60px;">//Serve the generic mobile phone site with no JavaScript and extremely simple CSS</p>
<p>}</p></blockquote>
<p>(What do we mean by &#8220;iPhone Tier,&#8221; &#8220;Rich CSS&#8221; or &#8220;Generic Mobile&#8221; devices? You may wish to refresh your memory by reviewing <a href="http://blog.mobileesp.com/?p=41">this blog article we wrote</a>.)</p>
<h2>Summary</h2>
<p>If you&#8217;re looking for a beautiful UI framework as an alternative to <a href="http://jquerymobile.com/">jQuery Mobile</a>, <a href="http://www.sencha.com/products/touch">Sencha Touch</a>, and a few others out there, then <a href="http://enyojs.com/">Enyo</a> is worth your consideration. You&#8217;ll also be happy to hear that Enyo is object-oriented and now totally free and open source. Thanks, Palm!</p>
<p>- Anthony</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=297</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MobileESP: ASP.NET Updates</title>
		<link>http://blog.mobileesp.com/?p=293</link>
		<comments>http://blog.mobileesp.com/?p=293#comments</comments>
		<pubDate>Thu, 17 May 2012 02:18:07 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[Code Updates]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[MobileESP APIs]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=293</guid>
		<description><![CDATA[Hi, folks &#8211; The 2 flavors of the ASP.NET code library were updated with two issues specific to that code base. The updates are now live on Google Code. The starting quote was missing for the vndRIM variable&#8217;s value. Removed the class statement, &#8220;using System.Linq.&#8221; The Linq API wasn&#8217;t actually used. Removing the Linq statement gives us [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>The 2 flavors of the <strong>ASP.NET</strong> code library were updated with two issues specific to that code base. The updates are now live on <a href="http://blog.mobileesp.com/?page_id=20">Google Code</a>.</p>
<ul>
<li>The starting quote was missing for the <strong>vndRIM</strong> variable&#8217;s value.</li>
<li>Removed the class statement, <strong>&#8220;using System.Linq.&#8221;</strong> The Linq API wasn&#8217;t actually used. Removing the Linq statement gives us an added bonus: compatibility for the ASP.NET code now drops from .NET 4.0 to .NET 2.0.</li>
</ul>
<p>Many thanks to Brian W. for pointing out these issues and their solutions!</p>
<p>- Anthony</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=293</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MobileESP: Updated for Kindle</title>
		<link>http://blog.mobileesp.com/?p=287</link>
		<comments>http://blog.mobileesp.com/?p=287#comments</comments>
		<pubDate>Mon, 23 Apr 2012 00:55:21 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[Code Updates]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[MobileESP APIs]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=287</guid>
		<description><![CDATA[Hi, folks &#8211; Thanks to some questions from Dave M., we realized that MobileESP had inconsistent support for detecting the Amazon Kindle e-Ink devices as mobile devices, plus, they were also reporting &#8220;true&#8221; as Rich CSS Tier devices (which they are not). In addition, MobileESP had no support for detecting the Amazon Kindle Fire devices [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>Thanks to some questions from Dave M., we realized that MobileESP had inconsistent support for detecting the Amazon Kindle e-Ink devices as mobile devices, plus, they were also reporting &#8220;true&#8221; as Rich CSS Tier devices (which they are not). In addition, MobileESP had no support for detecting the Amazon Kindle Fire devices in Silk browser acceleration mode, which uses a different useragent string.</p>
<p>We updated the MobileESP code bases twice today. The first was to standardize support for detection of the Kindle e-Ink device. Then we remembered that we had wanted to also add support for detecting the Silk browser acceleration, so we updated all of the libraries a second time to add the Silk browser support.</p>
<p>Here is the specific list of updates which affects the following libraries: PHP, JavaScript, Java, ASP.NET (both variants), and Python.</p>
<ul>
<li>Updated <strong>DetectRichCSS():</strong> Excluded e-Ink Kindle devices, which all run black and white displays.</li>
<li>Created <strong>DetectAmazonSilk():</strong> Created to detect Kindle Fire devices in Silk mode.</li>
<li>Updated <strong>DetectMobileQuick():</strong> Updated to include e-Ink Kindle devices and the Kindle Fire in Silk mode.</li>
</ul>
<p><strong>Open Issue:</strong> Currently, the Android-based Kindle Fire browser is detected as a Rich CSS Tier device when in Silk mode. When Silk mode is off (i.e., normal Android browsing mode), then the device is currently reporting itself as an Android phone. (This is common behavior for 7&#8243; Android tablets.) We&#8217;re not sure that this is the best strategy for Silk mode &#8212; should Silk mode be in the Rich CSS or basic mobile device category alongside feature phones? Please let us know your feedback.</p>
<p>As always, if you&#8217;d like updates on MobileESP, subscribe to the <a href="http://code.google.com/p/mobileesp/source/list">changes log on Google Code</a>.</p>
<p>- Anthony</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=287</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MobileESP: Updated for BlackBerry Curve Touch 9380</title>
		<link>http://blog.mobileesp.com/?p=282</link>
		<comments>http://blog.mobileesp.com/?p=282#comments</comments>
		<pubDate>Thu, 12 Apr 2012 04:09:35 +0000</pubDate>
		<dc:creator>Anthony Hand</dc:creator>
				<category><![CDATA[Code Updates]]></category>
		<category><![CDATA[MobileESP APIs]]></category>

		<guid isPermaLink="false">http://blog.mobileesp.com/?p=282</guid>
		<description><![CDATA[Hi, folks &#8211; A quick update to the code libraries today. ALL LIBRARIES: PHP, JavaScript, Java, ASP.NET (both), Python Added support for the BlackBerry Curve Touch 9380. It&#8217;s a new monoblock all-touchscreen device from BlackBerry and is a little smaller than a Storm. Because the screen is (reasonably) large and it lacks a keyboard, we [...]]]></description>
				<content:encoded><![CDATA[<p>Hi, folks &#8211;</p>
<p>A quick update to the code libraries today.</p>
<p><strong>ALL LIBRARIES:</strong> PHP, JavaScript, Java, ASP.NET (both), Python</p>
<p style="padding-left: 30px;">Added support for the <a href="http://worldwide.blackberry.com/blackberrycurve/9380/">BlackBerry Curve Touch 9380</a>. It&#8217;s a new monoblock all-touchscreen device from BlackBerry and is a little smaller than a Storm. Because the screen is (reasonably) large and it lacks a keyboard, we decided to add support to it to the <strong>DetectBlackBerryTouch()</strong> method. (Special thanks to <strong>Robert P.</strong> for bringing the recent launch of this device to our attention.)</p>
<p><strong>PHP Bug Fix</strong></p>
<p style="padding-left: 30px;">Fixed a bug in the <strong>DetectKindle()</strong> method. The call to <strong>DetectAndroid()</strong> needed the class identifier (&#8220;this&#8221;). (Special thanks to the several people who wrote in about this one.)</p>
<p><strong>Python Bug Fix</strong></p>
<p style="padding-left: 30px;">In adding support for the Curve Touch to the <strong>DetectBlackBerryTouch()</strong> method, we noticed a copy &amp; paste error in the code. All of the existing lines of code were looking for the Storm device only. Oops! So we added in support for all necessary devices: Storm, Torch, Bold Touch and Curve Touch.</p>
<p>All libraries have been updated in the <a href="http://code.google.com/p/mobileesp/">Google Code project</a> and are available for download now.</p>
<p>- Anthony</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mobileesp.com/?feed=rss2&#038;p=282</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
