<?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>HumanApi</title>
	<atom:link href="http://humanapi.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://humanapi.org</link>
	<description>Taking the web out of the web</description>
	<lastBuildDate>Sun, 14 Mar 2010 19:10:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>HumanApi &#8211; the browser in the real world</title>
		<link>http://humanapi.org/2010/01/25/humanapi-the-browser-in-the-real-world/</link>
		<comments>http://humanapi.org/2010/01/25/humanapi-the-browser-in-the-real-world/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:33:03 +0000</pubDate>
		<dc:creator>Nikolai Onken</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=106</guid>
		<description><![CDATA[Note: This is a cross post from the uxebu blog
During the Oredev speakers dinner last November, I was having an interesting discussion about the car industry and how Google in one swipe mangled up the turn-to-turn navigation market. During this discussion and other interesting conversations at the following JsConf, it it became more and more [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Note: This is a cross post from the <a href="http://blog.uxebu.com/2010/01/25/humanapi-the-browser-in-the-real-world/">uxebu blog</a></strong></p>
<p>During the <a href="http://www.oredev.org" target="_blank">Oredev</a> speakers dinner last November, I was having an interesting discussion about the car industry and how Google in one swipe mangled up the turn-to-turn navigation market. During this discussion and other interesting conversations at the following <a href="http://jsconf.eu">JsConf</a>, it it became more and more clear that we (web developers) should be able to write applications for instance for cars, write applications for phones we can plug into cars, and write those applications using web technologies &#8211; meaning JavaScript, HTML and CSS. </p>
<p><span id="more-106"></span></p>
<p>Since that discussion, the idea developed further and after some time, things started to take shape. </p>
<p>Lets take a look at the first prototype of a web based application (is this the first JavaScript ECG ever?) which reads your heart rate, sends it to the mobile phone via bluetooth and displays it in a native application driven by PhoneGap, meaning &#8211; the actual application is written using JavaScript, HTML(5), CSS.</p>
<div style="text-align: center; margin: 40px; 0">
<object width="500" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8915705&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8915705&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object>
</div>
<p>Because the quality of the above video isn&#8217;t that good I have recorded a screencast from the iPhone simulator. This video only shows the applications look and feel since the simulator is not connected to the Polar hardware via Bluetooth.</p>
<div style="text-align: center; margin: 40px; 0">
<object width="300" height="514"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8849502&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8849502&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="300" height="514"></embed></object>
</div>
<p><a href="http://humanapi.org/category/videos/">More videos are available here</a></p>
<p>After I got a first prototype running, the thoughts of what this could potentially mean would not stop popping up in my mind &#8211; the consequences for the web-development community are immense and the challenges we as web developers can face are broadened in a way that tons of exciting new things are lying ahead of us.</p>
<p>In this blogpost I will give you a quick outline the features of this prototype and the components I used.</p>
<h3>Setup</h3>
<p>To get the HumanApi ECG running I used following components:</p>
<ul>
<li><a href="http://phonegap.com">PhoneGap</a></li>
<li><a href="http://apple.com/iphone">iPhone</a></li>
<li><a href="http://www.polarusa.com/us-en/products/accessories/T31_coded_Transmitter">Polar T31</a></li>
<li><a href="http://arduino.cc/en/Main/ArduinoBoardBluetooth">Arduino BT</a></li>
<li><a href="http://danjuliodesigns.com/sparkfun/sparkfun.html">HRMI</a></li>
<li><a href="http://code.google.com/p/btstack/">btstack</a></li>
<li>little stuff</li>
</ul>
<p>Lets take a quick look at each of the components:</p>
<h3>PhoneGap</h3>
<p><a href="http://phonegap.com">PhoneGap</a> is one of the really cool projects out there. It not only allows you to deploy JS, HTML and CSS based applications on a range of mobile phones but it also gives you great APIs to access features of the phone. Because the iPhone SDK allows us to evaluate JavaScript from within Objective C it is relatively simple to execute JavaScript calls within the webkit webview. This essentially allows you to communicate with for instance bluetooth. If more widget runtimes would give us possibilities to inject APIs into the runtime (W3C?) and make available in JavaScript we would be able to write very cool apps! (More on that in a different blogpost soon).</p>
<h3>iPhone</h3>
<p>besides the fact that Apple is blocking certain functionality of the phone (bluetooth for instance), it is an amazing device and allows you to do all kinds of stuff (e.g. inject JS into the webkit view). Its performance is very good as well and therefor makes a great prototyping device. To get this HumanApi prototype running I unfortunately had to jailbreak the device. We are slowly reaching a point in time where blocking device functionality will hurt Apple and other manufacturers/operators, they are locking their devices out from an amazing amount of possible application usecases.</p>
<h3>Polar T31</h3>
<p><a href="http://www.polarusa.com/us-en/products/accessories/T31_coded_Transmitter">The Polar T31</a> is a simple heart rate transmitter which you can use to monitor your heart rate when doing sports. This device is perfect for our prototype because we indirectly can send the data to our iPhone.</p>
<h3>Arduino BT</h3>
<p>Because I can not communicate between the iPhone and the Polar T31 directly I had to create a bridge using the <a href="http://arduino.cc/en/Main/ArduinoBoardBluetooth">Arduino BT</a>. Essentially the Arduino receives the heart rate (using the HRMI) from the T31 and sends it to my iPhone via bluetooth.</p>
<h3>HRMI</h3>
<p>The <a href="http://danjuliodesigns.com/sparkfun/sparkfun.html">human heart rate interface</a> is a great little project by Dan Julio, who developed this hardware to receive the heart rate signal from the T31. Furthermore you can easily connect the HRMI to the Arduino BT and therefore send the heart rate to your iPhone via bluetooth.</p>
<h3>btstack</h3>
<p>As I wrote before, Apple does not allow to access the full bluetooth stack on the device &#8211; even though the hardware is available. Luckily <a href="http://code.google.com/p/btstack/">Matthias Ringwald</a> has developed a library for the iPhone which lets you access the different bluetooth profiles &#8211; without his amazing work this HumanApi prototype never would have been able to exist.</p>
<h3>Your own HumanApi</h3>
<p>If you want to develop your own application accessing hardware, feel free to contribute to the HumanApi project. There would be nothing more amazing than seeing for instance the ECG app running on Andriod and other platforms. </p>
<p>A good start are the <a href="http://humanapi.org">articles on humanapi.org</a>, the <a href="http://groups.google.com/group/humanapi">forum</a>, the <a href="http://github.com/nonken/humanapi">GIT repository</a> or these folks on twitter: <a href="http://twitter.com/nonken">@nonken</a>, <a href="http://humanapi.org">@humanapi</a>, <a href="http://twitter.com/uxebu">@uxebu</a>. </p>
<h3>Conclusion</h3>
<p>Essentially we are at a point where we as JavaScript developers could be writing applications we never thought of a few years ago. It is to us and to the industry now to demand that we get better and more access to the devices hardware &#8211; there is no reason why JavaScript developers get &#8220;discriminated&#8221; over native developers in the way how we can access device features</p>
<p><strong>I want to close this article with a short comparison:</strong></p>
<p>Often mobile developers, using web technologies, are compared to native developers on the example of games. &#8220;Ohhh but you can not write amazing 3D games using JavaScript&#8221; &#8211; funnily enough I even hear JavaScript developers trying to &#8220;defend&#8221; themselves agreeing to the above stated fact &#8211; &#8220;Yes we can&#8217;t write games, but phones are getting better so one day we will&#8221;. </p>
<p>We don&#8217;t need to make these kind of comparisons and should start demanding better access to the devices hardware. What stops us from saying &#8220;We don&#8217;t have to develop games, we can write home automation systems, medical applications (<a href="http://twitter.com/#search?q=mhealth">#mhealth</a>), apps for the cars industry and so much more amazing stuff &#8211; and we can do it cross platform! (And WebGL is on its way btw. <img src='http://humanapi.org/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  )&#8221;? </p>
<p>Right now it is not the language which is stopping us. App store policies, manufacturers and operators are stopping us because we have to hack our way into the devices! </p>
<p>Enjoy hacking</p>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2010/01/25/humanapi-the-browser-in-the-real-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HumanApi at SWDC May 2010</title>
		<link>http://humanapi.org/2010/01/23/humanapi-at-swdc/</link>
		<comments>http://humanapi.org/2010/01/23/humanapi-at-swdc/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 16:00:36 +0000</pubDate>
		<dc:creator>Nikolai Onken</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[swdc]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=135</guid>
		<description><![CDATA[At the swedish web developer conference I will give a talk about HumanApis. 
If you are interested in how we can access hardware from within the browser, see real life examples in action and want to get a lookout on what types of applications we could be writing given the fact that we would have [...]]]></description>
			<content:encoded><![CDATA[<p>At the swedish web developer conference I will give a talk about HumanApis. </p>
<p>If you are interested in how we can access hardware from within the browser, see real life examples in action and want to get a lookout on what types of applications we could be writing given the fact that we would have better access to apis, come by <img src='http://humanapi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Also make sure you won&#8217;t miss out the other tons of very cool talks during those two days!</p>
<p>Details:</p>
<p><a href="http://www.swdc-central.com/">Website</a><br />
What:	The Scandinavian Web Developer Conference 2010<br />
Where:	Skandia-Teatern, Drottninggatan 82, Stockholm<br />
When:	24-25/5 2010</p>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2010/01/23/humanapi-at-swdc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Prototype: Sports ECG</title>
		<link>http://humanapi.org/2010/01/20/browser-ecg-mobile-a-sneak-preview/</link>
		<comments>http://humanapi.org/2010/01/20/browser-ecg-mobile-a-sneak-preview/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 11:31:10 +0000</pubDate>
		<dc:creator>Nikolai Onken</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=46</guid>
		<description><![CDATA[This blogpost will describe how you can get the ECG Sports prototype running on your iPhone.
Before you get started make sure you have following equipment:

iPhone
iPhone Developer SDK, provisioning profiles, etc.
Arduino BT + Developer Tools
HRMI Module for Arduino
Polar T31 Transmitter
Soldering iron (never bad)
Cables
Breadboard


Lets get started
Make sure you follow the tutorials on how to get btstack running [...]]]></description>
			<content:encoded><![CDATA[<p>This blogpost will describe how you can get the ECG Sports prototype running on your iPhone.<br />
Before you get started make sure you have following equipment:</p>
<ul>
<li><a href="http://apple.com/iphone">iPhone</a></li>
<li><a href="http://developer.apple.com/iphone">iPhone Developer SDK, provisioning profiles, etc.</a></li>
<li><a href="http://arduino.cc/en/Main/ArduinoBoardBluetooth">Arduino BT + Developer Tools</a></li>
<li><a href="http://danjuliodesigns.com/sparkfun/sparkfun.html">HRMI Module for Arduino</a></li>
<li><a href="http://www.amazon.com/Polar-T31-Coded-Transmitter-Belt/dp/B000ARDPPU">Polar T31 Transmitter</a></li>
<li>Soldering iron (never bad)</li>
<li>Cables</li>
<li>Breadboard</li>
</ul>
<p><span id="more-46"></span></p>
<h3>Lets get started</h3>
<p>Make sure you follow the tutorials on how to <a href="http://code.google.com/p/btstack/wiki/GettingStarted">get btstack running on your iPhone</a> (this enables the full bluetooth stack on your device.</p>
<p>Also read the <a href="http://humanapi.org/2010/01/02/setting-up-a-humanapi-prototype-for-xcodeiphone/">blog post on how you initialize a new humanapi project</a> so you can get started right away. In this case the HumanApi project is called &#8220;ceg&#8221;.</p>
<h3>Connecting the HRMI to the Arduino</h3>
<p>You can use a breadboard to connect your HRMI to the Arduino or simple cables. Make sure that the outputs of the HRMI get put into following inputs/outputs of the Arduino BT:</p>
<table>
<thead>
<tr>
<td><strong>HRMI</strong></td>
<td><strong>Arduino BT</strong></td>
</tr>
</thead>
<tbody>
<tr>
<td>5V</td>
<td>5V</td>
</tr>
<tr>
<td>GND</td>
<td>GND</td>
</tr>
<tr>
<td>RX-I/SDA</td>
<td>Analog in 4</td>
</tr>
<tr>
<td>TX-0/SCL</td>
<td>Analog in 5</td>
</tr>
</tbody>
</table>
<h3>Setting up the Arduino source code</h3>
<p>If you haven&#8217;t yet cloned the git repository, <a href="http://github.com/nonken/humanapi">do so now</a> and take a look at the prototypes/src/ceg/arduino folder.<br />
You need to have the Arduino Editor installed to be able to open the ecg.pde which contains all important code.</p>
<p>Before you can test the Polar gear with the Arduino BT, make sure you set the correct HRMI_I2C_ADDR in the Arduino source. It should be 0 which means that you have to install jumpers on the HRMI (If this sounds unclear to you, read the manual coming with the HRMI, everything is clearly explained there).</p>
<p>Also don&#8217;t forget to remove the SJ1 jumper and add a jumper at OP0 (Again, all of this is explained in the HRMI manual but I am explaining it anyways).</p>
<h3>Testing the Arduino HRMI connection</h3>
<p>To test the connection, open the serial monitor of the Arduino SDK and start wearing the Polar T31. After some time you should see the yellow LED on the HRMI blink according to your heart rate. At the same time the HRMI should transmit to the Arduino and you should see data in the serial monitor.</p>
<h3>Baudrates</h3>
<p>Set the baudrate in the Arduino source to 115200 &#8211; other values should work without problems but this always works well for me.</p>
<h3>Installing the Sports CEG application on the iPhone</h3>
<p>Creating HumanApi applications is simple and usually involves the same process. If you have <a href="http://humanapi.org/2010/01/02/setting-up-a-humanapi-prototype-for-xcodeiphone/">read the tutorial</a> everything should be working for you, otherwise take a look at the following screencast.</p>
<div style="margin: 40px 0; text-align: center">
<object width="500" height="363"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8861767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8861767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="363"></embed></object>
</div>
<h3>Does it work?</h3>
<p>Now when wearing the T31 in not too far distance to the HRMI you should be able to record your ECG on your iPhone which should be connected to the Arduino via Bluetooth.</p>
<p>If you have trouble getting everything set up, <a href="http://groups.google.com/group/humanapi">join the forum and don&#8217;t hesitate to ask questions there</a>. It is very likely that, to me, obvious steps are still missing in this guide and I will add them once they appear.</p>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2010/01/20/browser-ecg-mobile-a-sneak-preview/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Video &#8211; Prototype: Sports ECG</title>
		<link>http://humanapi.org/2010/01/20/prototype-sports-ecg/</link>
		<comments>http://humanapi.org/2010/01/20/prototype-sports-ecg/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 08:48:57 +0000</pubDate>
		<dc:creator>Nikolai Onken</dc:creator>
				<category><![CDATA[Videos]]></category>
		<category><![CDATA[ceg]]></category>
		<category><![CDATA[humanapi]]></category>
		<category><![CDATA[sport]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=93</guid>
		<description><![CDATA[These are related videos of the first JavaScript Sports ECG out there. To get the ECG running on your mobile phone read this blogpost.



The next video shows some of the features of the application. Please excuse the quality of the video.




The next video shows the application running in the iPhone simulator.



]]></description>
			<content:encoded><![CDATA[<p>These are related videos of the first JavaScript Sports ECG out there. To get the ECG running on your mobile phone read this blogpost.</p>
<div style="text-align: center; margin: 40px; 0">
<object width="500" height="375"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8915705&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8915705&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="375"></embed></object>
</div>
<p>The next video shows some of the features of the application. Please excuse the quality of the video.</p>
<div style="margin: 40px 0; text-align: center">
<object width="500" height="281"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8850596&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8850596&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="281"></embed></object>
</div>
<p><span id="more-93"></span><br />
The next video shows the application running in the iPhone simulator.</p>
<div style="margin: 40px 0; text-align: center">
<object width="400" height="686"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8849502&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8849502&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="686"></embed></object>
</div>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2010/01/20/prototype-sports-ecg/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Setting up a HumanApi prototype for Xcode/iPhone</title>
		<link>http://humanapi.org/2010/01/02/setting-up-a-humanapi-prototype-for-xcodeiphone/</link>
		<comments>http://humanapi.org/2010/01/02/setting-up-a-humanapi-prototype-for-xcodeiphone/#comments</comments>
		<pubDate>Sat, 02 Jan 2010 14:07:59 +0000</pubDate>
		<dc:creator>Nikolai Onken</dc:creator>
				<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=14</guid>
		<description><![CDATA[In this blogpost I will explain all steps you need to take to get a HumanApi prototype running on your iPhone and in Xcode. This article does not cover how to do the same for other types of devices but it should be fairly simple if you are familiar with the respective native platform of [...]]]></description>
			<content:encoded><![CDATA[<p>In this blogpost I will explain all steps you need to take to get a HumanApi prototype running on your iPhone and in Xcode. This article does not cover how to do the same for other types of devices but it should be fairly simple if you are familiar with the respective native platform of the device.</p>
<h2>Video</h2>
<p>Take a look at following video which runs through all required steps. Every step then is explained in detail in this blogpost.</p>
<div style="margin: 40px 0; text-align: center;">
<object width="500" height="363"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=8861767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=8861767&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="500" height="363"></embed></object>
</div>
<p><span id="more-14"></span></p>
<h2>Prerequisites</h2>
<p>I have created all prototypes on a MacBook Pro running Mac OSX 10.6.2 &#8211; if you encounter issues, please visit the <a href="http://groups.google.com/group/humanapi">HumanApi forum</a>, we&#8217;ll try to figure out the issues there <img src='http://humanapi.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You also already have to have the btstack deamon installed on your iPhone. If you don&#8217;t have it installed this prototype won&#8217;t be able to receive Bluetooth data. There is a <a href="http://code.google.com/p/btstack/wiki/GettingStarted">very good tutorial</a> on the btstack WIKI which describes all the steps you need to take to get btstack running.</p>
<p>1. Clone the HumanApi git repository</p>
<pre class="brush:[bash]">$ git clone git@github.com:nonken/humanapi.git</pre>
<p>2. Make sure all git submodules are initialized and updated</p>
<pre class="brush:[bash]">$ git submodule init
$ git submodule update</pre>
<p>3. Create the HumanApi prototype PhoneGap project for testing</p>
<pre class="brush:[bash]">$ cd build
$ make clean
$ make tempinfo</pre>
<p>(tempinfo is the name of the HumanApi prototype you want to test)</p>
<h2>Setting up Xcode</h2>
<p>Now things get a little bit complicated, if you are used to iPhone provisioning though this should be fairly simple for you. If this is completely new, go take a look at the Apple Developer pages which give you excellent material on how to set up provisioning profiles for your applications.</p>
<p>1. Select the correct provisioning profile in the Projects Settings.</p>
<p>2. Change the Bundle Identifier in the appname-Info.plist to match your provisioning profile</p>
<h2>Adding btstack header files and dylib</h2>
<p>Now we are almost done with the required steps, all we have to do now is tell Xcode to also include the btstack header files and dylib when compiling the app. </p>
<p>1. The required files are already copied over to your dev/prototypename/iphone/Plugins directory. All you need to do is make Xcode aware of them by dragging them onto the Plugins folder within Xcode.</p>
<p>2. Open the Project settings again and add following line to the Other C Flags field:</p>
<pre class="brush:[bash]">-I/absolutepathto/git/humanapi/prototypes/dev/ecg/iphone/Plugins</pre>
<p>On my machine this would be:</p>
<pre class="brush:[bash]">-I/Users/nikolaionken/dev/git/humanapi/prototypes/dev/ecg/iphone/Plugins</pre>
<p>3. Include the Bluetooth header file (this will be made easier!)</p>
<p>Open up Classes/appnameAppDelegate.h and add following line:</p>
<pre class="brush:[bash]">#import "Bluetooth.h"</pre>
<p>Then open up Classes/appnameAppDelegate.m and add folowing to &#8220;webViewDidFinishLoad&#8221;:</p>
<pre class="brush:[bash]">Bluetooth *myblue = [[Bluetooth alloc] init];
[myblue initBlueTooth:theWebView];
</pre>
<h2>Testing the app</h2>
<p>1. Open up the Xcode Organizer and open the Console tab of your connected device.</p>
<p>2. Compile the application in Xcode and wait for it to start on your device. </p>
<p>3. You now should see following logs (or something similar)</p>
<pre class="brush:[bash]">... : Turn on the Arduino BT
... : Please enter PIN 12345 on remote device
... : Channel successfully opened:
</pre>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2010/01/02/setting-up-a-humanapi-prototype-for-xcodeiphone/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://humanapi.org/2009/12/22/hello-world/</link>
		<comments>http://humanapi.org/2009/12/22/hello-world/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 10:02:58 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://humanapi.org/?p=1</guid>
		<description><![CDATA[Welcome to humanapi.org &#8211; this is the first famous hello world post.
We hope that humanapi.org will be a platform for people to discuss the browser as a platform, to discuss other environments where we can imagine browsers to run and to think about how the browser can communicate with other services than webservices.
Enjoy
]]></description>
			<content:encoded><![CDATA[<p>Welcome to humanapi.org &#8211; this is the first famous hello world post.<br />
We hope that humanapi.org will be a platform for people to discuss the browser as a platform, to discuss other environments where we can imagine browsers to run and to think about how the browser can communicate with other services than webservices.</p>
<p>Enjoy</p>
]]></content:encoded>
			<wfw:commentRss>http://humanapi.org/2009/12/22/hello-world/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
