<?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>Gibraltar</title>
	<atom:link href="http://gibraltarsf.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://gibraltarsf.com/blog</link>
	<description>Software Factoy</description>
	<lastBuildDate>Mon, 23 May 2011 05:01:04 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>Card emulation changes in Android 2.3.4</title>
		<link>http://gibraltarsf.com/blog/?p=247</link>
		<comments>http://gibraltarsf.com/blog/?p=247#comments</comments>
		<pubDate>Thu, 19 May 2011 08:00:03 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[android 2.3.4]]></category>
		<category><![CDATA[card emulation]]></category>
		<category><![CDATA[Nexus S]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[Secure Element]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=247</guid>
		<description><![CDATA[Android 2.3.4 Gingerbread is the latest officially released platform that was rolled out a couple of weeks ago to the Google Nexus S and Nexus One. The biggest feature upgrade is that video chat is now available on Google Talk for all those whose devices with a front-facing camera. This new update is a maintenance [...]]]></description>
				<content:encoded><![CDATA[<p>Android 2.3.4 Gingerbread is the latest officially released platform that was rolled out a couple of weeks ago to the Google Nexus S and Nexus One. The biggest feature upgrade is that video chat is now available on Google Talk for all those whose devices with a front-facing camera. This new update is a maintenance release that adds several bug fixes and patches to the Android 2.3 platform and it does not increment the API level, it uses the same API level 10 as 2.3.3</p>
<p>Since the source code for 2.3.4 has already been pushed to the Android Open Source Project (AOSP), we’ve been analyzing it and we found the some changes in the NFC Java Classes, mainly in card emulation features:<span id="more-247"></span></p>
<p><strong>New NFC-EE (Nfc Execution Environment) API&#8217;s as shared library</strong></p>
<p>There are two new classes, NfcAdapterExtras and NfcExecutionEnvironment, implemented as a shared library in frameworks/base/nfc-extras. The NfcAdapterExtras class provides additional methods on an NfcAdapter for Card Emulation and management of the Nfc Execution Environment (EE). But the access to this functionality is limited because it depends on the NfcAdapter.getNfcAdapterExtrasInterface() method that was hidden with the &#8220;@hide&#8221; tag.</p>
<p><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/05/NFCextras2.gif"><img class="aligncenter size-full wp-image-265" title="NFCextras" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/05/NFCextras2.gif" alt="NFCExtras class" width="572" height="626" /></a></p>
<p><strong>New ApduList class</strong> in the android.nfc package to create an array of APDU commands and send them to the SE. This class is also hidden with the &#8220;@hide&#8221; tag.</p>
<p><strong>No more NfcSecureElement class</strong>. This class was used in 2.3.3 version as the primary API for managing all aspects of the Secure Element (SE) like open/close the SE, get the SE unique identifier, and so on, but was deleted from this version, probably as result of this new &#8220;NFC-EE&#8221; paradigm. From now on,  you need to define a &#8220;route&#8221; (such as a UICC via SWP or the embedded secure chip) to the SE instead of open it directly.</p>
<p>So, what Google NFC software engineers said this past week at the company’s I/O developer conference about card emulation is true: there are no public APIs to card emulation. But definitely they are working on card emulation functionality and  it&#8217;s already part of the new Android 2.3.4</p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=247</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>The new tag dispatch process in Android 2.3.3</title>
		<link>http://gibraltarsf.com/blog/?p=217</link>
		<comments>http://gibraltarsf.com/blog/?p=217#comments</comments>
		<pubDate>Wed, 02 Mar 2011 00:01:05 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Android 2.3.3]]></category>
		<category><![CDATA[NFC]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=217</guid>
		<description><![CDATA[One of the new features in the Android framework API 2.3.3 is the improved support for NFC to interact with tags in a more friendly way. This changes include a new tag dispatch process, so, probably your NFC applications written for previous api levels now will fail. This is because these older versions used a single-step intent dispatch [...]]]></description>
				<content:encoded><![CDATA[<p>One of the new features in the Android framework API 2.3.3 is the improved support for NFC to interact with tags in a more friendly way. This changes include a new tag dispatch process, so, probably your NFC applications written for previous api levels now will fail. This is because these older versions used a single-step intent dispatch to notify interested  applications that a tag was discovered. From 2.3.3 version (Api level 10), the platform uses a four-step  process that enables the foreground application to take control of a tag event  before it is passed to any other applications. This new process is designed to dispatch a tag to the correct activity without showing to the user the activity chooser dialog.<span id="more-217"></span></p>
<p>The four steps are based on the enable/disable foreground dispatch method and three intent actions:</p>
<div id="attachment_239" class="wp-caption aligncenter" style="width: 503px"><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/Dispatch-process.png"><img class="size-full wp-image-239" title="Dispatch process" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/Dispatch-process.png" alt="Dispatch process" width="493" height="330" /></a><p class="wp-caption-text">Tag dispatch process</p></div>
<p><strong>First step: The NfcAdapter.enableForegroundDispatch Method</strong></p>
<p>This method will enable foreground dispatch to the given activity. This means, calling this method will give priority to the foreground activity when dispatching a discovered Tag to an application. You can provide any IntentFilters to this method and the are used to match dispatch Intents for both the ACTION_NDEF_DISCOVERED and ACTION_TAG_DISCOVERED. Remember that you must call disableForegroundDispatch(Activity) before the completion of their onPause() callback to disable foreground dispatch after it has been enabled.</p>
<p>The typical example of using this method is an application showing the screen &#8220;Waiting for tag&#8230;&#8221; for read or write. When the user taps a tag this activity has priority for the discovered tag so the activity chooser dialog will not shown.</p>
<p>&nbsp;</p>
<p><strong>Next steps: 3 Intent actions</strong></p>
<p>If a tag is detected and there is no call to the enableForegroundDispatch method, then the system broadcasts three intent actions in this order, from specific (checking the content) to generic (just a tag):<strong><br />
</strong></p>
<p><strong>1 &#8211; ACTION_NDEF_DISCOVERED</strong></p>
<p>This intent is started when a tag with NDEF payload is discovered. The system inspects the first NdefRecord<code> </code>in the first NdefMessage and looks for a URI, SmartPoster, or MIME record. If a URI or SmartPoster record  is found the intent will contain the URI in its data field. If a MIME record is  found the intent will contain the MIME type in its type field. This allows  activities to register IntentFilters  targeting specific content on tags. Activities should register the most specific  intent filters possible to avoid the activity chooser dialog, which can disrupt  the interaction with the tag as the user interacts with the screen.</p>
<p>If any activities respond to this intent neither ACTION_TECH_DISCOVERED or ACTION_TAG_DISCOVERED will be started.</p>
<p><strong>2 &#8211; ACTION_TECH_DISCOVERED</strong></p>
<p>Intent to start an activity when a tag is discovered <strong>and activities are  registered for the specific technologies on the tag</strong>. To receive this intent an activity must include an intent filter for this  action and specify the desired tech types in a manifest meta-data entry. Here is an example manifest entry:</p>
<p><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/metadata.png"><img class="aligncenter size-full wp-image-232" title="Manifest" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/metadata.png" alt="Manifest" width="594" height="174" /></a></p>
<p>The meta-data XML file should contain one or more tech-list entries each consisting or one or more tech entries. The tech entries refer to the qualified class name implementing the technology, for example &#8220;android.nfc.tech.NfcA&#8221;.</p>
<p>A tag matches if any of the tech-list sets is a subset of Tag.getTechList(). For the current api version this could be:</p>
<p style="padding-left: 30px;">NfcA (also known as ISO 14443-3A)<br />
NfcB (also known as ISO 14443-3B)<br />
NfcF (also known as JIS 6319-4)<br />
NfcV (also known as ISO 15693)<br />
IsoDep (ISO 14443-4)<br />
Ndef on NFC Forum Type 1, Type 2, Type 3 or Type 4 compliant tags<br />
MifareClassic<br />
MifareUltralight<br />
NdefFormatable</p>
<p>Each of the tech-lists is considered independently and the activity is considered a match is any single tech-list matches the tag that was discovered. This provides AND and OR semantics for filtering desired techs. Here is an example that will match any tag using NfcF or any tag using NfcA, MifareClassic, and Ndef:</p>
<p><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/techlist.png"><img class="aligncenter size-full wp-image-235" title="Tech list" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/03/techlist.png" alt="Tech list" width="539" height="237" /></a></p>
<p>If any activities respond to this intent ACTION_TAG_DISCOVERED will not be started.</p>
<p><strong>3 &#8211; ACTION_TAG_DISCOVERED</strong></p>
<p>This is the last step, more generic, if no activities respond to the previous intents, this one (as previous Android versions) will start an activity when a tag is discovered.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=217</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>NFC Tagwriter App</title>
		<link>http://gibraltarsf.com/blog/?p=197</link>
		<comments>http://gibraltarsf.com/blog/?p=197#comments</comments>
		<pubDate>Sat, 19 Feb 2011 01:39:31 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Android 2.3.3]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[NXP]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=197</guid>
		<description><![CDATA[As you may know, Google is pushing in the coming days an OTA update that adds read and write public APIs for the NFC chip. Well today, NXP launched  NFC Tagwriter, a free app for Android 2.3.3 using those features. This app allows to store contacts, URLs and text messages on any NFC tag It only installs on devices with at [...]]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;">As you may know, Google is pushing in the coming days an OTA update that adds read and write public APIs for the NFC chip. Well today, NXP launched  NFC Tagwriter, a free app for Android 2.3.3 using those features. This app allows to store contacts, URLs and text messages on any NFC tag</p>
<p style="text-align: center;"><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/02/tagwriter.jpg"><img class="size-medium wp-image-198 aligncenter" title="tagwriter" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/02/tagwriter-180x300.jpg" alt="tagwriter" width="180" height="300" /></a></p>
<p style="text-align: left;">It only installs on devices with at least 2.3.3 version and NFC. Check it out <a href="https://market.android.com/details?id=com.nxp.nfc.tagwriter">https://market.android.com/details?id=com.nxp.nfc.tagwriter</a></p>
<p style="text-align: left;"> </p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=197</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>New NFC features in Android</title>
		<link>http://gibraltarsf.com/blog/?p=184</link>
		<comments>http://gibraltarsf.com/blog/?p=184#comments</comments>
		<pubDate>Wed, 09 Feb 2011 22:08:24 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Android 2.3.3]]></category>
		<category><![CDATA[NFC]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=184</guid>
		<description><![CDATA[Well, there are good news: Google announced an update to Android 2.3 that adds new NFC capabilities for developers. This update is a small feature release but finally adds read and write APIs for the near field communications chip. Other updates include new APIs for Bluetooth, graphics, media framework, and speech recognition. The new version [...]]]></description>
				<content:encoded><![CDATA[<p>Well, there are good news: Google announced an update to Android 2.3 that adds new NFC capabilities for developers. This update is a small feature release but finally adds read and write APIs for the near field communications chip. Other updates include new APIs for Bluetooth, graphics, media framework, and speech recognition. The new version is available as a downloadable component for the Android SDK.<br />
Now, the plataform provides a new set of APIs supporting a wider range of standard tags, including:</p>
<ul>
<li>NFC-A (ISO 14443-3A)</li>
<li>NFC-B (ISO 14443-3B)</li>
<li>NFC-F (JIS 6319-4)</li>
<li>NFC-V (ISO 15693)</li>
<li>ISO-DEP (ISO 14443-4)</li>
<li>Mifare Classic</li>
<li>Mifare Ultralight</li>
<li>NFC Forum NDEF tags</li>
</ul>
<p>This release also provides a limited peer-to-peer communication protocol and API. As they say &#8220;advanced tag dispatching now gives applications more control over how and when they are launched, when an NFC tag is discovered. Previously, the platform used a single-step intent dispatch to notify interested applications that a tag was discovered. The platform now uses a four-step process that enables the foreground application to take control of a tag event before it is passed to any other applications (android.nfc.NfcAdapter.enableForegroundDispatch()). The new dispatch process also lets apps listen for specific tag content and tag technologies, based on two new intent actions — android.nfc.action.NDEF_DISCOVERED and android.nfc.action.TECH_DISCOVERED&#8221;.<br />
We are going to test this new functionality, will be sharing our views about it and posting some new examples.</p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=184</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Writing tags with Nexus S</title>
		<link>http://gibraltarsf.com/blog/?p=13</link>
		<comments>http://gibraltarsf.com/blog/?p=13#comments</comments>
		<pubDate>Fri, 14 Jan 2011 20:05:24 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Android 2.3]]></category>
		<category><![CDATA[Nexus S]]></category>
		<category><![CDATA[NFC]]></category>
		<category><![CDATA[Tag]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=13</guid>
		<description><![CDATA[As said by Google CEO Eric Schmidt two month ago, the operating system Android 2.3  includes support for near field communication. But, at least in terms of the API and the sample code they supply, this version only includes tag reading capability. However, the  PN544 NFC chip inside the Nexus S supports read and write operations so, at the hardware level, all the functionality you [...]]]></description>
				<content:encoded><![CDATA[<p>As <a href="http://www.youtube.com/watch?v=AKOWK2dR4Dg">said by Google CEO Eric Schmidt</a> two month ago, the operating system Android 2.3  includes support for near field communication. But, at least in <a href="http://developer.android.com/reference/android/nfc/package-descr.html">terms of the API</a> and <a href="http://developer.android.com/resources/samples/NFCDemo/index.html">the sample code</a> they supply, this version only includes tag reading capability. However, the  PN544 NFC chip inside the Nexus S supports read and write operations so, at the hardware level, all the functionality you need to support a full range of NFC services is in the handset. At the software level, there will be updates to the SDK rolled out on a phased basis that will enable developers to write NFC applications for mobile payments, p2p and other applications on Android Gingerbread devices.<span id="more-13"></span></p>
<p>We&#8217;ve been analyzing the  <a href="http://source.android.com/source/download.html">Android kernel source code</a> and we found a lot of &#8221;@hide&#8221; tags in the NFC java classes. These are in:</p>
<p style="padding-left: 30px;">frameworks/base/core/java/android/nfc<br />
frameworks/base/core/java/com/android/internal/nfc<br />
packages/apps/Nfc (the android service running in the background)<br />
packages/apps/Tag (the application used to read and store tags)</p>
<p>And the hardware abstraction layer from NXP is in:</p>
<p style="padding-left: 30px;">external/libnfc-nxp</p>
<p>Let&#8217;s see an example, the publised API for the class NCFAdapter has only two public methods:</p>
<p style="padding-left: 30px;"><em>getDefaultAdapter()</em>: Get a handle to the default NFC Adapter on this Android device.<br />
<em>isEnabled()</em>: Return true if this NFC Adapter has any features enabled.</p>
<p>But also has this public methods with the @hide tag:</p>
<p style="padding-left: 30px;"><em>enable()</em>: Enable NFC hardware.<br />
<em>disable()</em>: Disable NFC hardware.<br />
<em>createRawTagConnection()</em>: Create a raw tag connection to the default Target.<br />
<em>createNdefTagConnection()</em>: Create an NDEF tag connection to the default Target .</p>
<p>Interesting, isn&#8217;t it?</p>
<p>The &#8220;@hide&#8221; tag is used to mark public APIs that are not to be exported in the SDK. This is used by the Android team to have APIs accessible across packages without having them available to applications. APIs marked with @hide are considered private to the Android platform and can change at any time, so you cannot rely on them. So, with this in mind, we can confirm that there is some extended NFC functionality hidden in Android 2.3 that can be accessed, i.e. with reflection techniques. Let&#8217;s see how we can do this.</p>
<p>To write tags we&#8217;ll use the write() method from the INfcTag interface, so lets dive from NfcAdapter to the INfcTag. First we need a handle to the NFC adapter within the Nexus S:<br />
<code><br />
NfcAdapter nfcAdapter = NfcAdapter.getDefaultAdapter();<br />
</code><br />
Then we need a handle to the actually detected tag, this is done by getting the the data within the intent received when tag was discovered:<br />
<code><br />
Parcelable nfcTag = intent.getParcelableExtra("android.nfc.extra.TAG");<br />
Field f = nfcTag.getClass().getDeclaredField("mServiceHandle");<br />
f.setAccessible(true);<br />
Object mServiceHandle = f.get(nfcTag);<br />
</code><br />
Now, we can create a raw connection to the tag, this is a low-level connection to a tag target. We&#8217;ll use this object to get later a handle to the INfcTag<br />
<code><br />
Class tag = Class.forName("android.nfc.Tag");<br />
Method createRawTagConnection = nfcAdapter.getClass().getMethod("createRawTagConnection", tag);<br />
Object rawTagConnection = createRawTagConnection.invoke(nfcAdapter, nfcTag);<br />
</code><br />
Now we can get the handle to the INfcTag interface (mTagService).<br />
<code><br />
Field f = rawTagConnection.getClass().getDeclaredField("mTagService");<br />
f.setAccessible(true);<br />
Object mTagService = f.get(rawTagConnection);<br />
</code><br />
Before we can write to the tag we connect our interface to it.<br />
<code><br />
Method connect = mTagService.getClass().getMethod("connect", Integer.TYPE);<br />
connect.invoke(mTagService, mServiceHandle.intValue());<br />
</code><br />
Finally, we create the NdefTagRecord, this could be a smart poster, an uri, simple text or whatever record we want to write into the tag. This record will be encapsulated into an NdefMessage, so when we invoke the write() method we use this ndefMessage as parameter:<br />
<code><br />
Method write = mTagService.getClass().getMethod("write", Integer.TYPE, NdefMessage.class);<br />
write.invoke(mTagService, mServiceHandle, ndefMessage);<br />
</code><br />
&#8230; and that&#8217;s it!<br />
The write() method will work as long as you use a tag pre-formatted with any NFC Forum type tag with default public keys.<br />
We developed an application using this code to write tags. Below you can see a demo of this app writing an URI type tag:</p>
<p><iframe width="500" height="375" src="http://www.youtube.com/embed/Jjw72UekRJ0?feature=oembed" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=13</wfw:commentRss>
		<slash:comments>53</slash:comments>
		</item>
		<item>
		<title>NFC antenna and chip in Nexus S</title>
		<link>http://gibraltarsf.com/blog/?p=17</link>
		<comments>http://gibraltarsf.com/blog/?p=17#comments</comments>
		<pubDate>Wed, 05 Jan 2011 17:09:03 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[Hands on]]></category>
		<category><![CDATA[Nexus S]]></category>
		<category><![CDATA[NFC]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=17</guid>
		<description><![CDATA[At Gibraltar SF we&#8217;ve been investigating NFC technology for the last couple of years, basically focusing in use cases, software / hardware implementation and security aspects. One of the main problems we had was the lack of commercial mobile phones with NFC capabilities. So, we&#8217;ve been programing NFC using the Series 40 Nokia 6212 NFC SDK simulator with external tag readers. I mean, although they were some [...]]]></description>
				<content:encoded><![CDATA[<p>At Gibraltar SF we&#8217;ve been investigating NFC technology for the last couple of years, basically focusing in use cases, software / hardware implementation and security aspects. One of the main problems we had was the lack of commercial mobile phones with NFC capabilities. So, we&#8217;ve been programing NFC using the Series 40 Nokia 6212 NFC SDK simulator with external tag readers. I mean, although they were some developer version phones with NFC like Nokia&#8217;s 6212/6131 or even the Samsung&#8217;s s5230 used in the Sitges pilot, they weren&#8217;t available for the final user, so the projects turn into pilots and not into a real solution platform. But things are starting to change.<span id="more-17"></span> On December 16th, Google launched the Nexus S, a phone co-developed by Google and Samsung, with the newest version of its operating system Android 2.3 and built-in NFC functionality. And everyday there are more reports and rumors about new NFC-enabled smartphones headed to market, included the new Samsung Galaxy S2, a couple of Blackberrys and the next Iphone 5.</p>
<p>Well, today we finally got the Nexus S in our labs, so we are porting our software to the Android platform.</p>
<div id="attachment_117" class="wp-caption aligncenter" style="width: 310px"><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/01/Nexus_front_gibraltar_lq.jpg"><img class="size-medium wp-image-117  " title="Nexus_front_gibraltar_lq" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/01/Nexus_front_gibraltar_lq-300x300.jpg" alt="Google Nexus S" width="300" height="300" /></a><p class="wp-caption-text">Google Nexus S</p></div>
<p>When you open Nexus S to put the battery in, you&#8217;ll see the 4 turns NFC antenna embedded in the back cover, it looks like a sticker. There are 2 gold contact points which connects this when you close. We also found an antenna jack so you can plug an external gsm antenna,  good for country drives to get much more constant reception. You can see a great <a href="http://www.ifixit.com/Teardown/Nexus-S-Teardown/4365/1">full teardown</a> of the handset at iFixit.</p>
<div id="attachment_118" class="wp-caption aligncenter" style="width: 610px"><a href="http://gibraltarsf.com/blog/wp-content/uploads/2011/01/Nexus_NFC_antenna.jpg"><img class="size-full wp-image-118" title="Nexus_NFC_antenna" src="http://gibraltarsf.com/blog/wp-content/uploads/2011/01/Nexus_NFC_antenna.jpg" alt="Antenna detail" width="600" height="400" /></a><p class="wp-caption-text">NFC Antenna detail on Nexus S</p></div>
<p>This phone comes with a PN544 standard NFC controller form NXP which can connect to a SIM using the standardized Single Wire Protocol (SWP). This chip can also do card emulation, read and write tags and exchange data in p2p mode, as far as the RF signals are concerned.</p>
<p>We&#8217;ll be posting more about our experience on this phone and the NFC feature over the next few days.</p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=17</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Happy New Year and Welcome to the new Gibraltar SF blog</title>
		<link>http://gibraltarsf.com/blog/?p=26</link>
		<comments>http://gibraltarsf.com/blog/?p=26#comments</comments>
		<pubDate>Mon, 03 Jan 2011 00:08:34 +0000</pubDate>
		<dc:creator>Gustavo D. Gonzalez</dc:creator>
				<category><![CDATA[Sin categoría]]></category>
		<category><![CDATA[new year]]></category>
		<category><![CDATA[welcome]]></category>

		<guid isPermaLink="false">http://gibraltarsf.com/blog/?p=26</guid>
		<description><![CDATA[2010 Has been a challenging year for our industry, yet a great year for Gibraltar SF.  We will begin 2011 with the launch of the Gibraltar SF blog. It will be a public forum where we&#8217;ll be publishing our experience and research in the fields of software and technology. We invite you to subscribe to this blog and share [...]]]></description>
				<content:encoded><![CDATA[<p>2010 Has been a challenging year for our industry, yet a great year for Gibraltar SF.  We will begin 2011 with the launch of the Gibraltar SF blog. It will be a public forum where we&#8217;ll be publishing our experience and research in the fields of software and technology. We invite you to subscribe to this blog and share your opinions on the subjects presented.</p>
<p>The Gibraltar SF Team is full of enthusiasm and really excited to dive into this New Year and wishes all of you a successful and happy 2011!!</p>
]]></content:encoded>
			<wfw:commentRss>http://gibraltarsf.com/blog/?feed=rss2&#038;p=26</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.679 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-24 22:22:52 -->
