<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>BlackBerry Developer Blog &#187; Web</title>
	<atom:link href="http://devblog.blackberry.com/tag/web/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Tue, 21 May 2013 15:28:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='devblog.blackberry.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/9ef0a66c09615fa946c4179662398878?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>BlackBerry Developer Blog &#187; Web</title>
		<link>http://devblog.blackberry.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://devblog.blackberry.com/osd.xml" title="BlackBerry Developer Blog" />
	<atom:link rel='hub' href='http://devblog.blackberry.com/?pushpress=hub'/>
		<item>
		<title>He Said: Chad on Leveraging the Power of Foursquare in BlackBerry 10</title>
		<link>http://devblog.blackberry.com/2013/05/he-said-chad-on-leveraging-the-power-of-foursquare-in-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2013/05/he-said-chad-on-leveraging-the-power-of-foursquare-in-blackberry-10/#comments</comments>
		<pubDate>Tue, 07 May 2013 18:14:10 +0000</pubDate>
		<dc:creator>chadtatro</dc:creator>
				<category><![CDATA[BlackBerry Jam]]></category>
		<category><![CDATA[BlackBerry Live]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14931</guid>
		<description><![CDATA[I’m super excited to be presenting three sessions at BlackBerry Jam 2013 in Orlando next week! As a former 3rd party developer I’ve had the chance to attend several BlackBerry events over the past couple of years. Now that I’m working on the Developer Relations team I’ve got the opportunity to not only attend these [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14931&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/05/chadchadchad.png"><img class="aligncenter size-full wp-image-14940" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/chadchadchad.png?w=500&#038;h=295" width="500" height="295" /></a></p>
<p>I’m super excited to be presenting three sessions at <a href="http://www.blackberryjamconference.com" target="_blank">BlackBerry Jam 2013</a> in Orlando next week! As a former 3<sup>rd</sup> party developer I’ve had the chance to attend several BlackBerry events over the past couple of years. Now that I’m working on the Developer Relations team I’ve got the opportunity to not only attend these awesome events, but also present some killer content to my developer friends!</p>
<p>Here’s what I’ll be doing next week:</p>
<p>Are you building an app which requires a solid database of venues, and an amazingly easy API to interact with? Myself, Erin Rahnenfuehrer, and Kyle Fowler of Foursquare will be presenting <a href="https://bblive.blackberryconferences.net/2013/connect/sessionDetail.ww?SESSION_ID=1760" target="_blank">JAM37</a>, “Building context-aware applications by leveraging the power of Foursquare APIs”.</p>
<p>Looking to make to most out of your app by connecting it with all the big name social networks like Foursquare, Twitter, Facebook, and LinkedIn? Again, myself, Erin Rahnenfuehrer, and Kyle Fowler will be presenting <a href="https://bblive.blackberryconferences.net/2013/connect/sessionDetail.ww?SESSION_ID=2718" target="_blank">JAM52</a>, “Get Social: Connecting your app to Facebook, Twitter, Foursquare, and more!”.</p>
<p>Are you trying to make the most out of your BlackBerry World app reports? Jerome Carty, the creator of Blaq, and I will present an in-depth look at how to measure the success of your app using BlackBerry World Reports, and enhancing them with Distimo Analytics.</p>
<p>Which sessions are you looking forward to the most?  Let me know on Twitter (@<a href="http://twitter.com/chadtatro" target="_blank">chadtatro</a>), and I’ll see you in Orlando!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14931/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14931/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14931&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/he-said-chad-on-leveraging-the-power-of-foursquare-in-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fb86e7b2b71616806266b535686102c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ctetreault1980</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/chadchadchad.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry Jam Unplugged: Cordova and WebWorks</title>
		<link>http://devblog.blackberry.com/2013/04/blackberry-jam-unplugged-cordova-and-webworks/</link>
		<comments>http://devblog.blackberry.com/2013/04/blackberry-jam-unplugged-cordova-and-webworks/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 09:39:51 +0000</pubDate>
		<dc:creator>Tim N.</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cordova]]></category>
		<category><![CDATA[Jam]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Unplugged]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14676</guid>
		<description><![CDATA[Continuing our BlackBerry Jam Unplugged series, we’ve now posted the latest episode which gives a little more information around HTML5, WebWorks, and the Apache Cordova project. We’ll be continuing this video series leading up to BlackBerry Jam Americas in Orlando in order to give some more background surrounding the topics that we’ll be discussing in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14676&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Continuing our <a href="http://devblog.blackberry.com/?s=jam+unplugged&amp;search=" target="_new">BlackBerry Jam Unplugged series</a>, we’ve now posted the latest episode which gives a little more information around HTML5, WebWorks, and the Apache Cordova project.</p>
<p>We’ll be continuing this video series leading up to <a href="http://www.blackberryjamconference.com/americas" target="_new">BlackBerry Jam Americas in Orlando</a> in order to give some more background surrounding the topics that we’ll be discussing in detail during the conference.</p>
<p>This particular video will give you some information about the upcoming roadmap items that we’re looking at for WebWorks and HTML5 developers. We’re joined by Erik Johnson from the WebWorks R&amp;D team to talk to us about Apache Cordova and the evolution of the BlackBerry 10 Web Platform!</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/S6DaeNJQcWk?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14676/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14676/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14676&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/blackberry-jam-unplugged-cordova-and-webworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3939390650b170ba28e9bf3c53d397ad?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timneil1</media:title>
		</media:content>
	</item>
		<item>
		<title>Maximize Performance of Overflow Content Using Hardware Acceleration [Video]</title>
		<link>http://devblog.blackberry.com/2013/01/overflow-scrolling-hardware-acceleration/</link>
		<comments>http://devblog.blackberry.com/2013/01/overflow-scrolling-hardware-acceleration/#comments</comments>
		<pubDate>Fri, 04 Jan 2013 14:07:42 +0000</pubDate>
		<dc:creator>Erik O.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[Hardware Acceleration]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12915</guid>
		<description><![CDATA[Here’s a quick tip for developers that want to implement HTML5 lists (or other scrolling content) with performance in mind. Most often, this involves leveraging the overflow: scroll; CSS property on a container. As you’ll see in the embedded video though, performance can be a concern. The reason for this is that the container housing the content isn&#8217;t hardware [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12915&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Here’s a quick tip for developers that want to implement HTML5 lists (or other scrolling content) with performance in mind. Most often, this involves leveraging the <b>overflow: scroll;</b> CSS property on a container. As you’ll see in the embedded video though, performance can be a concern.</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/LOZiQjn4CNY?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<p>The reason for this is that the container housing the content isn&#8217;t hardware accelerated by default; we can fix this simply by adding the <b>-webkit-overflow-scrolling: touch; </b>CSS property and instantly see the improvements:</p>
<ul>
<li>Smoother scrolling and support for much larger content sets.</li>
<li>Visual bounce effect when scrolling at the edges of the list.</li>
<li>More responsive touch / tap interactions.</li>
</ul>
<p>It’s incredible; the difference that hardware acceleration makes. With one CSS flag you can leverage the power of the GPU within your applications too!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12915/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12915/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12915&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/overflow-scrolling-hardware-acceleration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0788073ae3c85a2b7e415fa106832a51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eoros</media:title>
		</media:content>
	</item>
		<item>
		<title>Missed a Webcast? We&#8217;ve Got Them On Demand For You!</title>
		<link>http://devblog.blackberry.com/2012/11/developer-webcasts/</link>
		<comments>http://devblog.blackberry.com/2012/11/developer-webcasts/#comments</comments>
		<pubDate>Wed, 21 Nov 2012 15:06:03 +0000</pubDate>
		<dc:creator>melyoung17</dc:creator>
				<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Marmalade]]></category>
		<category><![CDATA[nfc]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12131</guid>
		<description><![CDATA[Did you miss or would like to re-watch any of our past developer webcasts? Below is a summary of where to find all the recordings posted to date, along with a couple that are coming soon. NFC-related webcasts, specific webcast titles listed below: NFC overview (Native) NFC Tags BlackBerry® 10 NFC Tags BlackBerry® 7 Cascades™-related [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12131&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><img class="aligncenter  wp-image-12245" title="8027758996_28c3bdd6dd_z" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/8027758996_28c3bdd6dd_z.jpg?w=576&#038;h=383" height="383" width="576" /></p>
<p>Did you miss or would like to re-watch any of our past developer webcasts? Below is a summary of where to find all the recordings posted to date, along with a couple that are coming soon.</p>
<p><a href="http://supportforums.blackberry.com/t5/Java-Development/NFC-Article-and-Code-Index/ta-p/1538775" target="_new"><strong>NFC</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>NFC overview (Native)</li>
<li>NFC Tags BlackBerry® 10</li>
<li>NFC Tags BlackBerry® 7</li>
</ul>
<p><a href="https://developer.blackberry.com/cascades/documentation/videos" target="_new"><strong>Cascades™</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>Astonishing UIs using the new BlackBerry 10 framework</li>
<li>Astonishing UIs using the new BlackBerry 10 framework continued</li>
<li>Cascades – everything you’ve always wanted to ask about retrieving, storing and displaying your Data – but were afraid to ask</li>
<li>Building Compelling 3D Apps using Cascades and OpenGL ES</li>
</ul>
<p><a href="http://developer.blackberry.com/native/beta/documentation/videos" target="_new"><strong>Native</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>BlackBerry Native Game Development</li>
</ul>
<p><a href="https://developer.blackberry.com/html5/documentation/videos" target="_new"><strong>HTML5/BlackBerry® WebWorks™</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>Using the Dojo Toolkit in a BlackBerry WebWorks app Full Webcast</li>
<li>BlackBerry 10 WebWorks Applications with the Enyo.js framework Full Webcast</li>
<li>Exploring the use of bbUI.js for building a BlackBerry UI with HTML5</li>
</ul>
<p><i>Coming soon!</i></p>
<ul>
<li>HTML5 Gaming (WebGL (3D), Audio, Social Integration (BBM™), Web Workers, Web Sockets)</li>
<li>Building BlackBerry 10 apps with jQuery Mobile &amp; backbone.js</li>
</ul>
<p><a href="https://developer.blackberry.com/builtforblackberry/documentation/videos/index.html" target="_new"><strong>Built for BlackBerry</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>10k Developer Commitment</li>
<li>Built For BlackBerry Part 1: User Benefit, User Experience, and System Integration</li>
<li>Built For BlackBerry Part 2: Performance</li>
</ul>
<p><a href="http://developer.blackberry.com/android/documentation/videos" target="_new"><strong>Android</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>Running Android Applications on BlackBerry® PlayBook™ and BlackBerry 10</li>
</ul>
<p><a href="https://developer.blackberry.com/devzone/blackberry10devalpha/devalpha_webcasts.html" target="_new"><strong>Alpha</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>Beta 3: Beta 3: BlackBerry 10 WebWorks SDK Update</li>
<li>Beta 3: The Power of the Integrated Platform Emerges</li>
</ul>
<p><a href="http://wdev001ykf/devzone/develop/enterprise/enterprise_webcasts.html" target="_new"><strong>Enterprise</strong>-related webcasts</a>, specific webcast titles listed below:</p>
<ul>
<li>Enterprise App Developers: BlackBerry® Balance™ technology</li>
</ul>
<p>The <strong>Marmalade</strong> webcast is hosted on the <a href="http://www.madewithmarmalade.com/blackberryhub" target="_new">Marmalade site</a>:</p>
<ul>
<li>BlackBerry game development with Marmalade SDK</li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12131/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12131/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12131&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/developer-webcasts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/94603149a977464cd6bcf1837030497f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">melyoung17</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/8027758996_28c3bdd6dd_z.jpg" medium="image">
			<media:title type="html">8027758996_28c3bdd6dd_z</media:title>
		</media:content>
	</item>
		<item>
		<title>PeaksAndValleys: Limitless Landscape</title>
		<link>http://devblog.blackberry.com/2012/11/peaksandvalleys-landscape/</link>
		<comments>http://devblog.blackberry.com/2012/11/peaksandvalleys-landscape/#comments</comments>
		<pubDate>Tue, 13 Nov 2012 21:35:46 +0000</pubDate>
		<dc:creator>Erik O.</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web apps]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12024</guid>
		<description><![CDATA[PeaksAndValleys is a sample WebGL application developed for the BlackBerry® platform. It is primarily a learning resource for developers implementing pure WebGL along with additional HTML5 gaming concepts. It has also been open-sourced on Github because, well, we love open source. To learn more about WebGL and HTML5 gaming, be sure to join our webinar [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12024&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>PeaksAndValleys is a sample WebGL application developed for the BlackBerry® platform. It is primarily a learning resource for developers implementing pure WebGL along with additional HTML5 gaming concepts. It has also been <a href="https://github.com/blackberry/WebGL-Samples/tree/master/PeaksAndValleys" target="_new">open-sourced on Github</a> because, well, we love open source. To learn more about WebGL and HTML5 gaming, be sure to join our <a href="http://devblog.blackberry.com/2012/11/webcast-html5-gaming/" target="_new">webinar on November 15th</a>. If you’ve already developed an HTML5 game, join us on November 16th for the <a href="http://devblog.blackberry.com/2012/11/got-game-port-a-thon/" target="_new">BlackBerry Got Game Port-a-Thon</a> with some pretty awesome prizes – including trips to the Game Developer Conference 2013 in San Francisco, CA.</p>
<p><img class="aligncenter size-full wp-image-12025" title="TITLE_IMAGE" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-1.jpg?w=550&#038;h=284" width="550" height="284" /></p>
<p style="text-align:center;"><i>Now with 4500% more unique peaks and valleys.</i></p>
<p>On November 2nd, PeaksAndValleys 2.0 was uploaded to Github with a number of improvements. In the first release, we relied on a static map that was 150 by 150 vertices (22,500 total vertices.) When we’re talking about a map, we’re just referring to a grid of vertices where each vertex has a specific height.</p>
<p><span id="more-12024"></span></p>
<p><img class="aligncenter size-full wp-image-12026" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-2.jpg?w=300&#038;h=300" width="300" height="300" /></p>
<p style="text-align:center;"><i>Bird’s eye view of a 33 by 33 vertex grid (map); each vertex has a specific height associated with it.</i></p>
<p>These 22,500 vertices were all generated during startup with randomized heights. It was a good initial implementation, but subject to a number of limitations:</p>
<ul>
<li>Maybe we want a fixed / persistent world to traverse.</li>
<li>We can’t expand the map much more due to performance reasons.</li>
<li>If the player runs in any direction for long enough, they will hit the edge of the map.</li>
</ul>
<p>Let’s take a look at each of these individually.</p>
<h3><strong>Fixed / Persistent World</strong></h3>
<p>One of the more common approaches to this problem is the use of a static source of data; in our case, a height map. This is the approach opted for in PeaksAndValleys 2.0. The following is an example of what a height map might look like:</p>
<p><img class="aligncenter size-full wp-image-12027" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-3.jpg?w=300&#038;h=300" width="300" height="300" /></p>
<p style="text-align:center;"><i>Sample height map (originally 1024 by 1024 pixels).</i></p>
<p>Each pixel represents one vertex (or point) of the map, and the RGB colour of that pixel is used to determine the height of each vertex. In the case of PeaksAndValleys, the lowest height occurs at pure black (RGB = 0&#215;000000) and the highest height at pure white (0xFFFFFF).</p>
<p>Though the height map is only 1024 by 1024 pixels, we can apply a scaling factor to extend the map across larger distances in our WebGL world.</p>
<p>Depending on how smooth the source image is, we may get areas where there is a very low region next to a very high region. To prevent drastic changes in terrain, a smoothing algorithm was implemented that averages the height of each pixel with that of its neighbours.</p>
<p>And with this, we address the fixed / persistent world by using a static data source. We can quickly see how multiple height maps and randomized starting locations can expand the versatility of this approach.</p>
<h3><strong>Performance</strong></h3>
<p>As noted, the first release of PeaksAndValleys contained a static 150 by 150 vertex area and expanding to a larger number of vertices would have an impact on performance; so then what good is a 1024 by 1024 height map?</p>
<p>In our case, we’re actually only loading a 121 by 121 region at any given time. As the player traverses the terrain, we are continuously reloading the surrounding region data (with the player at the center.) This means that as the player moves around, terrain in their vicinity is continually loaded from the height map.</p>
<p>There is a lot of processing that needs to go on in order to keep loading terrain &#8212; so much that if we do this processing on the main application thread, we’ll see a drop to roughly 30 frames per second. This is where Web Workers come in, for which the implementation can be seen in <a href="https://github.com/blackberry/WebGL-Samples/blob/master/PeaksAndValleys/js/GLTerrainWorker.js" target="_new">GLTerrainWorker.js</a>.</p>
<p>A Web Worker allows a separate thread to perform actions without interfering with our main application thread. Our main application thread is where all of our interactions and rendering are performed, so if we can minimize the work being done there, we can improve our frames per second and responsiveness.</p>
<p>Web Workers aren’t without their limitations. Specifically affecting us, we cannot:</p>
<ul>
<li>Access the DOM. This eliminates WebGL rendering directly on the Web Worker.</li>
<li>Pass objects with functions between the main application thread and Web Worker.</li>
</ul>
<p>These two limitations mean that while we can perform our processing on a Web Worker, we actually need to pass the processed data back to our main application thread in order to update our rendering objects. We do this via the <strong>onMessage</strong> listener and <strong>postMessage</strong> initiator to initialize our Web Worker with the data it will need, and then pass subsets of that data at various intervals. You can see this initialization and rendering update performed in <a href="https://github.com/blackberry/WebGL-Samples/blob/master/PeaksAndValleys/js/GLTerrain.js#L59" target="_new">GLTerrain.js</a>.</p>
<p>By offloading this processing to a Web Worker, we can continuously load more data off the main application thread, and only pass back the final data results to be assigned to our renderers. The end result is increasing our frames per second from roughly 30 to 50-60 frames per second; a huge win. To learn more about Web Workers, the following <a href="http://www.html5rocks.com/en/tutorials/workers/basics/" target="_new">HTML5 Rocks tutorial</a> is a great starting point.</p>
<h3><strong>Seamless Terrain</strong></h3>
<p>The final issue we had with our 150 by 150 static area was that when you run to the edge of the map, you hit the border. Loading data from a larger 1024 by 1024 area certainly extends the time before the player hits the border, but inevitably they will if they keep moving in one direction.</p>
<p>To counter this, the application continuously loads an area of pixels surrounding the player. As you reach any of the edges, data from the opposite side of the map will we used to populate that area. This produces a continuous terrain, even when travelling near the edges of the map.</p>
<p><img title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-4.jpg?w=300" width="300" />   <img title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-5.jpg?w=300" width="300" /></p>
<p style="text-align:center;"><i>Red cross represents the location of the player, white area represents the data we’ve loaded.</i></p>
<p>By wrapping the data that we load as we get close to the edges, we can in essence allow the player to run forever. You may notice that this image isn’t intended to be seamless (i.e. when wrapping around, the colours at the borders do not match up or flow together). This can be overcome by using a height map that is already seamless (i.e. it has already been processed to ensure that the pixels on the north side match those on the south, and those on the east match those on the west). In the case of PeaksAndValleys, our smoothing algorithm was implemented to wrap around the image when necessary (i.e. at the edges), thus turning non-seamless images into height map data that is seamless.</p>
<h3><strong>Preprocessing Data</strong></h3>
<p>To obtain usable height map data, we must:</p>
<ul>
<li>Read a source image; in our case 1024 by 1024 pixels.</li>
<li>Perform height calculations.</li>
<li>Calculate the normal (perpendicular vector) of each point.</li>
<li>Calculate texture coordinates.</li>
</ul>
<p>This involved quite a bit of math and processing power. Mathematical calculations are an area where JavaScript performance has historically suffered. Attempting to perform these actions while the application loads leads to a PC load time around 5 seconds and a mobile device load time around 20-25 seconds.</p>
<p>This also means that we are re-calculating data on every load just to get the same result as our previous run &#8212; a very inefficient approach.</p>
<p>To address this, a Node.js <a href="https://github.com/blackberry/WebGL-Samples/tree/master/PeaksAndValleys/tools/preprocessor" target="_new">preprocessor tool</a> was created that reads in an image, along with some parameters, and generates a <strong>json</strong> file with the resulting vertex, normal, and texture data required by our WebGL application. On a 1024 x 1024 image, the resulting file is roughly 50mb in size. Originally, this file was closer to 120mb, however by truncating decimal points to 5 significant digits the overall size was reduced.</p>
<p>As a result our application doesn’t actually process any data on load. Instead of feeding in an image, we are now feeding in the output <strong>json</strong> file with all calculations already in place. That being said, we are still loading a 50mb file which does take some time, but now we’ve managed to cut the loading time closer to 5 seconds on a mobile device.</p>
<p>Using preprocessed data also minimizes the amount of work the Web Worker has to do, as it will simply retrieve the appropriate data based on the user’s location and pass that data back to the main application thread.</p>
<h3><strong>Summary</strong></h3>
<p>Ultimately, PeaksAndValleys has seen a large number of improvements in the terrain implementation. From preprocessing / generating seamless height maps to leveraging Web Workers and minimizing strain on the main application thread, we now have a much more versatile world.</p>
<p>There are still some issues such as terrain popping into view as you move about. There is also room for optimization by only loading a cone of data in the player’s field of view (as opposed to a square in all directions around the player). These are topics that will be addressed in the next release.</p>
<p>For more information on this project, be sure to check out the Github release. Feel free to leave questions there, or reach out to me directly on Twitter® via <a href="https://twitter.com/WaterlooErik" target="_new">@WaterlooErik</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12024/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12024/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12024&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/peaksandvalleys-landscape/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0788073ae3c85a2b7e415fa106832a51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eoros</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-1.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-2.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-3.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-4.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/peaksandvalleys-5.jpg" medium="image" />
	</item>
		<item>
		<title>Building the BlackBerry 10 WebWorks Open Source Framework on Your Own</title>
		<link>http://devblog.blackberry.com/2012/10/blackberry-10-webworks-framework/</link>
		<comments>http://devblog.blackberry.com/2012/10/blackberry-10-webworks-framework/#comments</comments>
		<pubDate>Wed, 24 Oct 2012 16:36:18 +0000</pubDate>
		<dc:creator>Tim W.</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[BlackBerry 10 WebWorks]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web apps]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11795</guid>
		<description><![CDATA[Guest post from Nukul &#8211; Ed. We’ve received a lot of requests from developers to be able to build BlackBerry® 10 WebWorks™ directly from GitHub. Before I talk about how to take advantage of this, I would like to explain why it took us so long to get here and what it means for you. [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11795&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-11796" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/10/bb10-framework.jpg?w=600&#038;h=425" height="425" width="600" /></p>
<p><i>Guest post from Nukul &#8211; Ed.</i></p>
<p>We’ve received a lot of requests from developers to be able to build BlackBerry® 10 WebWorks™ directly from GitHub. Before I talk about how to take advantage of this, I would like to explain why it took us so long to get here and what it means for you.</p>
<p>The main issue was that the latest BlackBerry 10 WebWorks SDK features were dependent on features in the BlackBerry 10 OS. Therefore, if you built BlackBerry 10 WebWorks in open source, it potentially would not work with latest BlackBerry 10 OS beta.</p>
<p>This has changed as we get closer and closer to launch. We are now starting to work on features that are not dependent on the latest BlackBerry 10 OS beta. Imagine this: You hear about an awesome new feature or extension we are working on. You can now go to our <a href="http://github.com/blackberry" target="_new">GitHub repositories</a>, look at pull requests, pull down the branch, and a few minutes later you have a BlackBerry 10 WebWorks build with the new extension or feature.</p>
<p><span id="more-11795"></span></p>
<p>Build time can be less than two to three minutes from a clean build. From the time you see someone’s tweet about an awesome new feature, it could take you less than five minutes to get a build of BlackBerry 10 WebWorks that has that feature.</p>
<p>The advantages to a BlackBerry 10 WebWorks app developer are infinite here. You should never need to wait for new features. You can even build with Linux! It’s all there. There will still be some features that you will need the next OS release for, but that will happen less frequently as we get closer to launch of BlackBerry 10.</p>
<p>Here are the two repos you need to build to get ready to take advantage of this:</p>
<p><a href="https://github.com/blackberry/BB10-WebWorks-Framework" target="_new">https://github.com/blackberry/BB10-WebWorks-Framework</a></p>
<p><a href="https://github.com/blackberry/BB10-Webworks-Packager" target="_new">https://github.com/blackberry/BB10-Webworks-Packager</a></p>
<p>The framework repo contains the Framework that is packaged with your app when you build a BlackBerry 10 WebWorks app. The Packager repo contains all the code for the packaging tool.</p>
<p>There are two main branches in each BlackBerry 10 WebWorks repo: master and next. The master branch will contain all the features that you can currently use with the current publicly-released OS &#8212; think of it as the features we wish we had time to get into the previous release. When a feature is completed, it’s merged into master if does not have any OS dependencies. The next branch will contain the new features that have OS dependencies.</p>
<p>To allow developers to easily build stable versions, each release is tagged using the version number of the release. This allows you to easily check out the source of a particular release. You can simply use the tags to check out the code from that release. For example, you can use “git checkout v1.0.2.9” to pull down the code for the last release. So, any pull request you see going into the master branch, you can grab and use right away. You will see none open today, but over the next couple of weeks you should start seeing many.</p>
<p>The README.md has been updated with all the updated instructions.<br />
Run the unit tests, automated tests, all the developer tools we use are all available to you.</p>
<p>We are doing everything we can to enable developers to take advantage of our latest and greatest work. Just open an issue on our repo when you find an issue with our BlackBerry 10 WebWorks SDK. If you fix a bug or build an awesome extension, contribute it back and help us make BlackBerry 10 WebWorks SDK even better. For details on how to contribute, check out <a href="http://blackberry.github.com/howToContribute.html" target="_new">http://blackberry.github.com/howToContribute.html</a></p>
<p>We recently had <a href="https://github.com/badtoyz" target="_new">Mark Robinson</a> contribute changes to make SDK work on Linux &#8212; contributions like that go a long way. Be sure to see our <a href="http://blackberry.github.com/approvedSignatories.html" target="_new">growing list of contributors</a>!</p>
<p>You can reach me any time on Twitter® <a href="https://twitter.com/nukulb" target="_new">@nukulb</a> or <a href="https://github.com/nukulb" target="_new">send me a message through GitHub</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11795/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11795/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11795&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/blackberry-10-webworks-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d4af90af66399bef37f445ec81aba64a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">timwin1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/10/bb10-framework.jpg" medium="image" />
	</item>
		<item>
		<title>Join the BlackBerry 10 revolution at the Sprint Open Solutions Conference</title>
		<link>http://devblog.blackberry.com/2012/10/sprint-open-solutions-conference/</link>
		<comments>http://devblog.blackberry.com/2012/10/sprint-open-solutions-conference/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 18:28:47 +0000</pubDate>
		<dc:creator>Alex Kinsella</dc:creator>
				<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android apps]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[Sprint]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web apps]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11779</guid>
		<description><![CDATA[The BlackBerry® Developer Relations will be at the Sprint Open Solutions Conference to help you with porting your existing Android™ or HTML5 application for the BlackBerry® PlayBook™ tablet and our upcoming BlackBerry® 10 platform. The Sprint Open Solution Conference runs on Wednesday, October 24th and Thursday, October 25th at the San Jose Convention Center in [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11779&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://developer.sprint.com/dynamicContent/devcon2012/"><img class="aligncenter  wp-image-11784" title="2012_conf_banner" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/10/2012_conf_banner.jpg?w=558&#038;h=196" height="196" width="558" /></a></p>
<p>The BlackBerry® Developer Relations will be at the <a href="http://developer.sprint.com/dynamicContent/devcon2012" target="_new">Sprint Open Solutions Conference</a> to help you with porting your existing Android™ or HTML5 application for the BlackBerry® PlayBook™ tablet and our upcoming BlackBerry® 10 platform. The Sprint Open Solution Conference runs on Wednesday, October 24th and Thursday, October 25th at the San Jose Convention Center in beautiful downtown San Jose.</p>
<blockquote class="twitter-tweet"><p>Are you ready for <a href="https://twitter.com/search/%23SprintOSC12">#SprintOSC12</a>?Have you registered?It&#8217;s not too late! Reg NOW! <a title="http://ow.ly/eBVv6" href="http://t.co/0tA5OnZJ">ow.ly/eBVv6</a></p>
<p>— Sprint Dev Program (@SprintDeveloper) <a href="https://twitter.com/SprintDeveloper/status/260033120261271552">October 21, 2012</a></p></blockquote>
<p>Stop by our booth to port your HTML5 and Android apps to the BlackBerry 10 platform and the BlackBerry PlayBook tablet with few or no required code modifications. We’ll have porting experts on hand to help, and the first ten developers to get their app running on a BlackBerry 10 Dev Alpha testing device and submitted to the BlackBerry App World™ storefront will be given a BlackBerry 10 Dev Alpha testing device on site. Plus, if you get it running on the BlackBerry PlayBook tablet, you could receive 1 of 100 free BlackBerry PlayBook tablets &#8212; and once your app is on the BlackBerry PlayBook tablet, it can be easily ported to BlackBerry 10!</p>
<h3><strong>Want to get a head start?</strong></h3>
<p>1. <strong><a href="http://appworld.blackberry.com/isvportal" target="_new">Register for BlackBerry App World</a></strong> – Become an official BlackBerry developer.<br />
2. <strong><a href="https://www.blackberry.com/SignedKeys" target="_new">Request signature keys</a></strong> – Ensure you select for BlackBerry PlayBook OS and BlackBerry 10 and higher. Downloading in advance is strongly recommended as the time involved to do so on site could prevent you from competing for Alphas.<br />
3. <strong><a href="https://developer.blackberry.com/" target="_new">Get the BlackBerry Tools and Plug-ins</a></strong> – Get your laptop set up with the right tools so you can begin creating apps for BlackBerry 10.</p>
<p>In addition to our Porting Booth, our own <a href="https://twitter.com/lmcdunna" target="_new">Larry McDonough</a> is <a href="http://developer.sprint.com/dynamicContent/devcon2012/overview/6?sliderId=0&amp;sortOrderId=1#blackberry" target="_new">presenting</a> the session “Mobile Monetization with BlackBerry &#8211; What Developers Need to Know” on Thursday, October 25th at 2:30pm PST in room 210G. This presentation will cover the different methods for monetizing mobile applications on BlackBerry devices. Larry will cover NFC, in-app payments, advertising, “freemium” apps, and carrier billing. This discussion will also consider how to prepare and market your app through a mobile app marketplace like BlackBerry App World.</p>
<p>See you in San Jose!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11779/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11779/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11779&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/sprint-open-solutions-conference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7d0e94a7e96e80d5911732d43f31a39c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">Alex K.</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/10/2012_conf_banner.jpg" medium="image">
			<media:title type="html">2012_conf_banner</media:title>
		</media:content>
	</item>
		<item>
		<title>Calling all PhoneGap Devs to Mobile Camp LA!</title>
		<link>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/</link>
		<comments>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/#comments</comments>
		<pubDate>Fri, 12 Oct 2012 20:11:07 +0000</pubDate>
		<dc:creator>Erik O.</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Mobile Campl LA]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11674</guid>
		<description><![CDATA[On Thursday, October 18th user groups around Los Angeles are organizing an event for all to come and learn a little more about this thing we call mobile development &#8211; Mobile Camp LA. Regardless of what floats your boat (game development, UI frameworks, cross-platform strategies, etc.) there are sessions for everyone. In addition to these sessions [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11674&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://mobilecampla.com/"><img class="aligncenter size-full wp-image-11676" title="Mobile_Camp_Logo" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/10/mobile_camp_logo.png?w=100&#038;h=150" height="150" width="100" /></a></p>
<p>On Thursday, October 18<sup>th</sup> user groups around Los Angeles are organizing an event for all to come and learn a little more about this thing we call mobile development &#8211; <a href="http://mobilecampla.com/" target="_blank">Mobile Camp LA</a>. Regardless of what floats your boat (game development, UI frameworks, cross-platform strategies, etc.) there are sessions for everyone.</p>
<p>In addition to these sessions (including an in-depth look at the Ripple tool by our very own <a href="https://twitter.com/gordtanner" target="_blank">Gord Tanner</a>), we’ll be having another kind of activity that runs throughout the day. Once again we’ll be out in the community providing developers who are serious about getting their apps on BlackBerry® 10, with the opportunity to take home a BlackBerry 10 Dev Alpha testing device.</p>
<p><span id="more-11674"></span></p>
<p><strong>How do I qualify?</strong></p>
<p>I’m glad you asked. First, you’ll need to have an application that you’ve developed using PhoneGap and you’ve already taken to market outside of BlackBerry App World™.</p>
<p>Next, you need to bring your application source (or an already compiled BAR file) and we’ll get it up and running on a BlackBerry 10 Dev Alpha testing device. If all goes well, we’ll have a station on hand where you can submit the newly created application to BlackBerry App World, and you get to walk away with the device!</p>
<p>If there are obstacles, well that’s what we are there for and we will do all we can to assist you in overcoming them on site and getting your app submitted. If they cannot be addressed on site, we will take your contact information to provide continued support after the event.</p>
<p>Most importantly, you need to be one of the first ten developers to do so!</p>
<p>What can you do to speed up the process and get your hands on one of these devices and  back to the conference and sessions as quickly as possible?</p>
<ul>
<li>Pre-register as a BlackBerry Developer in the BlackBerry App World <a href="https://appworld.blackberry.com/isvportal/">Vendor Portal</a>. The entire process is <strong>free</strong>.</li>
<li>Request your <a href="https://www.blackberry.com/SignedKeys">BlackBerry Code Signing Keys</a> in advance.</li>
<li>Have your laptop, application source, and development tools ready to go.</li>
</ul>
<p>For those that haven’t heard, obtaining a Blackberry 10 Dev Alpha testing device will be one of the steps to a limited edition BlackBerry 10 smartphone after the launch in Q1 2013 &#8211; details to follow. Submissions received will also be eligible for the <a href="https://developer.blackberry.com/builtforblackberry/commitment/">10k Developer Commitment</a>!</p>
<p>When the BlackBerry 10 Dev Alpha testing devices run out, we will be entering other developers who visit us at the booth in a raffle to win BlackBerry® PlayBook™ tablets. Remember, if you can get your app working on BlackBerry PlayBook, it can easily be ported to BlackBerry 10.</p>
<p>We’ll be there throughout the conference to assist PhoneGap developers with their porting, so be sure to plan out the sessions you want to see accordingly. To get a better idea of what’s being offered, be sure to visit the <a href="http://mobilecampla.com/index.html">Mobile Camp LA event page</a>.</p>
<p>See you on Thursday, fellow devs! Follow me on Twitter for updates at <a href="http://twitter.com/waterlooerik" target="_blank">@WaterlooErik</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11674/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11674/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11674&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/calling-all-phonegap-devs-to-mobile-camp-la/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0788073ae3c85a2b7e415fa106832a51?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">eoros</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/10/mobile_camp_logo.png" medium="image">
			<media:title type="html">Mobile_Camp_Logo</media:title>
		</media:content>
	</item>
		<item>
		<title>Say It Aint S’OAuth</title>
		<link>http://devblog.blackberry.com/2012/10/say-it-aint-soauth/</link>
		<comments>http://devblog.blackberry.com/2012/10/say-it-aint-soauth/#comments</comments>
		<pubDate>Thu, 11 Oct 2012 14:10:55 +0000</pubDate>
		<dc:creator>chadtatro</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[foursquare]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[oAuth]]></category>
		<category><![CDATA[oAuth 1.0]]></category>
		<category><![CDATA[oAuth 2.0]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11582</guid>
		<description><![CDATA[In today’s world we’re constantly sharing information via status updates, blog posts, and even checking-in at venues. Connecting with services like foursquare and Twitter is a great way to leverage the popularity of the network within your application. So how do you actually go about integrating features from these services into your application?  First the [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11582&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In today’s world we’re constantly sharing information via status updates, blog posts, and even checking-in at venues. Connecting with services like foursquare and Twitter is a great way to leverage the popularity of the network within your application.</p>
<p>So how do you actually go about integrating features from these services into your application?  First the needs to allow your application access to their profile, and this bring us to Open Authorization – better known as <a href="http://oauth.net/" target="_blank">OAuth</a>.</p>
<p>OAuth you say?!</p>
<p>OAuth is an open standard for authorization used by tons of popular services, foursquare, Twitter, and Tumblr, to name a few.  It allows applications to connect their users to these services without having to handle their username and password.</p>
<p>There are a couple versions of OAuth which we have created sample apps for.</p>
<p><span id="more-11582"></span></p>
<p><strong>OAuth 1</strong></p>
<p>Let’s be honest, OAuth 1 can be darn right nasty to work with out-of-the-box.  OAuth 1 and I are not really good friends, we’ve had many fights over the past year, and often I’ve been on the losing side.  In a nutshell, the way OAuth 1 works is by having an application perform a series of requests to a service, exchanging “tokens”, and ultimately granting the application access to the service on behalf of the user.  It requires several things to go just right, and if something doesn’t, access is denied.</p>
<p>Luckily there is a really awesome open-source JavaScript library written by Rob Griffiths (<a href="http://www.twitter.com/bytespider" target="_blank">@bytespider</a>) called <a href="https://github.com/bytespider/jsOAuth" target="_blank">jsOAuth</a>. JsOAuth takes the pain and extensive process of OAuth 1 away, and allows you to focus on connecting your app with a service such as Twitter rather than spend a ton of time working with the OAuth 1 protocol.</p>
<p><strong>OAuth 2</strong></p>
<p>While OAuth 1 is my adversary; OAuth 2 is my best friend.  This is the next evolution of the OAuth protocol and is used by services like foursquare, and Facebook.  OAuth 2 is much friendlier for developers to integrate into their apps, and provides much easier, and straight forward authorization “flows” to work with.  Though the standard is still evolving, it’s solid, and in contrast to OAuth 1, is amazingly easy to work with.</p>
<p><strong>The Sample Apps</strong></p>
<p style="text-align:center;"><a href="https://github.com/blackberry/BB10-WebWorks-Samples"><img class="aligncenter  wp-image-11584" title="oauth" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/10/oauth1.jpg?w=565&#038;h=364" height="364" width="565" /></a></p>
<p>Getting started with OAuth can be pretty intimidating to say the least.  As a former 3<sup>rd</sup> party developer, I’ve been there.  I’ve screamed at my console log, cried like a baby, and even begged the OAuth gods for it to “just work”.  Since joining the BlackBerry® Developer Relations team here at RIM®, I vowed to help make this process easier for fellow developers and I’m glad to finally say that we’ve released two sample apps on GitHub today to help guide you on your OAuth journey.</p>
<p>The first sample app shows how to integrate <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/Twitter-OAuth-1" target="_blank">Twitter into your application by using the OAuth 1</a> protocol.  You’ll learn how to quickly and painlessly authenticate with Twitter, and post a Tweet to a user’s timeline by taking advantage of the jsOAuth library.</p>
<p>The second sample shows integration with <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/Foursquare-OAuth-2" target="_blank">foursquare, and uses OAuth 2</a>.  It’ll show you how your application can authenticate a user with the service, search for near-by venues, and then check-in to a venue.</p>
<p>The third sample shows how to integrate <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/FaceBook-OAuth-2" target="_blank">Facebook and OAuth</a> 2 into your application.  You’ll learn how to authenticate a user with Facebook, and interact with their feed by posting, and reading content.</p>
<p>Each of these samples are completely Open Source, and available on GitHub.  If you find them useful, have any feedback, or need an extra helping hand along your way find me on the <a href="http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/bd-p/browser_dev" target="_blank">BlackBerry Developer Support Forums</a> or Twitter <a href="http://www.twitter.com/chadtatro" target="_blank">@chadtatro</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11582/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11582/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11582&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/say-it-aint-soauth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0fb86e7b2b71616806266b535686102c?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ctetreault1980</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/10/oauth1.jpg" medium="image">
			<media:title type="html">oauth</media:title>
		</media:content>
	</item>
		<item>
		<title>Top 10 Developer Posts on BlackBerry 10</title>
		<link>http://devblog.blackberry.com/2012/10/top-10-developer-posts-on-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2012/10/top-10-developer-posts-on-blackberry-10/#comments</comments>
		<pubDate>Wed, 10 Oct 2012 18:36:10 +0000</pubDate>
		<dc:creator>Veronica O</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[BlackBerry Jam]]></category>
		<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[apis]]></category>
		<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[SDKs]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11525</guid>
		<description><![CDATA[In honor of 10/10 and the opening of BlackBerry App World™ for BlackBerry 10 app submissions, we’ve put together a list of the 10 most viewed blog posts in the developer blog about BlackBerry 10. It’s been an eventful couple of months! Check out how far we’ve come: BlackBerry 10 Cascades™ is here! Introducing Built [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11525&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:left;"><a href="http://us.blackberry.com/campaigns/blackberry-10.html"><img class="aligncenter" title="BlackBerry Jam Americas" src="http://farm9.staticflickr.com/8460/8027758052_43d89ff120.jpg" alt="TITLE_IMAGE" width="500" height="333" /></a></p>
<p style="text-align:left;">In honor of 10/10 and the opening of BlackBerry App World™ for BlackBerry 10 app submissions, we’ve put together a list of the 10 most viewed blog posts in the developer blog about BlackBerry 10. It’s been an eventful couple of months! Check out how far we’ve come:</p>
<ol>
<li><a href="http://devblog.blackberry.com/2012/05/blackberry-10-cascades-available-now/" target="_blank">BlackBerry 10 Cascades™ is here!</a></li>
<li><a href="http://devblog.blackberry.com/2012/09/built-for-blackberry-10k-developer-commitment/" target="_blank">Introducing Built for BlackBerry and the $10K Developer Commitment</a></li>
<li><a href="http://devblog.blackberry.com/2012/08/blackberry-10-screen-resolutions/" target="_blank">Standardizing on Screen Resolutions for BlackBerry 10 devices</a></li>
<li><a href="http://devblog.blackberry.com/2012/05/blackberry-10-native-sdk/" target="_blank">The BlackBerry 10 Native SDK Experience</a></li>
<li><a href="http://devblog.blackberry.com/2012/05/blackberry-10-webworks-sdk/" target="_blank">BlackBerry 10 WebWorks™ SDK Released!</a></li>
<li><a href="http://devblog.blackberry.com/2012/06/blackberry-10-sdks-download-now/" target="_blank">BlackBerry 10 – The Evolution from Beta to Gold</a></li>
<li><a href="http://devblog.blackberry.com/2012/08/flight-arrival-boards/" target="_blank">Flight Arrival Boards have been posted!</a></li>
<li><a href="http://devblog.blackberry.com/2012/08/blackberry-10-user-agent-string/" target="_blank">The BlackBerry 10 User Agent String Has Arrived!</a></li>
<li><a href="http://devblog.blackberry.com/2012/05/blackberry-10-samples/" target="_blank">BlackBerry 10 Samples Galore</a></li>
<li><a href="http://devblog.blackberry.com/2012/06/bbui-js-community-tutorial/" target="_blank">Creating Outstanding Apps with bbUI.js – Community Tutorial</a></li>
</ol>
<p><a href="http://devblog.blackberry.com/2012/10/submit-apps-blackberry-10/" target="_blank">Now, you can submit your app to the BlackBerry App World for BlackBerry 10.</a></p>
<p>What was your favorite BlackBerry 10 related blog post? Share with us in the comments below!</p>
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='640' height='390' src='http://www.youtube.com/embed/UiDJwIgdKmM?version=3&#038;rel=1&#038;fs=1&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' frameborder='0'></iframe></span>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11525/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11525/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11525&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/10/top-10-developer-posts-on-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7b375d2578c668cc015d7452d495c9ff?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">veronchiquita</media:title>
		</media:content>

		<media:content url="http://farm9.staticflickr.com/8460/8027758052_43d89ff120.jpg" medium="image">
			<media:title type="html">BlackBerry Jam Americas</media:title>
		</media:content>
	</item>
	</channel>
</rss>
