<?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; webworks</title>
	<atom:link href="http://devblog.blackberry.com/tag/webworks/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Wed, 19 Jun 2013 18:00:36 +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; webworks</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>UCOSP Final &#8211; School’s Out For Summer!</title>
		<link>http://devblog.blackberry.com/2013/06/ucosp-final/</link>
		<comments>http://devblog.blackberry.com/2013/06/ucosp-final/#comments</comments>
		<pubDate>Fri, 14 Jun 2013 10:00:05 +0000</pubDate>
		<dc:creator>Tim W.</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15324</guid>
		<description><![CDATA[Well, school is done for most of our UCOSP participants, most of who were in their final year of university. Of course the time for learning never stops in this industry, which is why I love it so much. This was our first year involved with UCOSP and I wanted to do a recap off [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15324&#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/06/img_1176.jpg"><img class="aligncenter size-full wp-image-15327" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/06/img_1176-e1371048542902.jpg?w=300&#038;h=400" width="300" height="400" /></a></p>
<p>Well, school is done for most of our <a href="http://ucosp.ca/">UCOSP</a> participants, most of who were in their final year of university. Of course the time for learning never stops in this industry, which is why I love it so much. This was our first year involved with UCOSP and I wanted to do a recap off all that was accomplished through the program. A total of 12 upper year students from seven different Canadian universities received course credit while writing open source code with us at BlackBerry and learning what it’s like to be part of a distributed open source project. They also each developed at least one application for <a href="http://appworld.blackberry.com/webstore" target="_blank">BlackBerry World</a> to earn their own Limited Edition device.</p>
<p>Some of the students worked on <a href="http://developer.blackberry.com/html5" target="_blank">BlackBerry 10 WebWorks</a> Extensions, and we managed to produce six community extensions. The Compass extension was a temporary stopgap, later replaced by the Sensors API, but from the simple, useful, <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/LED">LED</a> and <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/VIBRATION">Vibration</a> extensions, to the more powerful <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/UNZIP">UnZip</a>, <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/thumbnail">Thumbnail</a>, and <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/BarcodeScanner">BarcodeScanner</a> extensions, this is great work that’s very valuable to the developer community.</p>
<p><span id="more-15324"></span></p>
<p>Other students worked on <a href="https://github.com/blackberry/bbUI.js" target="_blank">bbUI.js</a> and submitted a whole bunch of code over the two terms. One of the students is the top community contributor over the period, and there are several commits ready to go in from students this past term. With bbUI.js used by thousands of applications, these students are contributing to the success of many developers around the world. One of those students, <a href="https://github.com/dmkc">Dmitry</a>, had the following to share about his experience working with BlackBerry 10 WebWorks:</p>
<blockquote><p>“I&#8217;d like to briefly talk about what I worked on this semester, and then use the opportunity to provide a quick tutorial on application invoking and working with the file system in a Javascript BB10 app.</p>
<p>As someone excited about web technologies proliferating beyond the confines of the browser, I found working on the BlackBerry stack as part of the UCOSP program at University of Toronto a relevant and useful experience. While web apps on mobile are nothing new, building apps that approach the appearance and user experience of native applications is still far from straight forward. One of the members of the BlackBerry 10 SDK family that I had a chance to work on was <a href="https://github.com/blackberry/bbUI.js/" target="_blank">bbUI.js</a>, a framework which fills the gap between native and web apps via a set of UI elements and building blocks that match the look and feel of the native BlackBerry 10 Cascades UI. Since the framework deals with UI elements only, it can be easily used alongside other Javascript libraries like <a href="http://backbonejs.org/" target="_blank">Backbone.js</a> or <a href="http://emberjs.com/" target="_blank">Ember.js</a> to build a modern MVC-style web app that fits nicely with its native brethren and provides a consistent UX.</p>
<p>Aside from bbUI.js, web apps on BlackBerry 10 can access a variety of API&#8217;s in order to gain access to device features. One of the things you can do is allow your app to be invoked by other apps, e.g. to share a file between the applications. The file can then be accessed by your app using the WebKit <a href="http://www.w3.org/TR/file-system-api/" target="_blank">File API</a>. As there are a few gotchas to the process, I figured it might be useful to walk through the necessary configuration settings needed to set up invoking of a BB10 web app, and then show how a shared image file can be accessed using the File API.</p>
<p>In order to get invoking set up, we need the following settings in the app&#8217;s <code>config.xml</code>:</p></blockquote>
<pre><code>    &lt;!-- Invocation APIs --&gt;</code>
<code>    &lt;feature id="blackberry.invoked" version="1.0.0" required="true" /&gt;</code>
<code>    &lt;!-- Access to I/O --&gt;</code>
<code>    &lt;feature id="</code><a href="http://blackberry.io/" target="_blank">blackberry.io</a><code>"   required="true" /&gt;</code>
<code>    &lt;feature id="blackberry.app"  required="true" /&gt;</code>
<code> </code>
<code>    &lt;!-- Access to user's file system --&gt;</code>
<code>    &lt;rim:permissions&gt;</code>
<code>        &lt;rim:permit&gt;access_shared&lt;/rim:permit&gt;</code>
<code>    &lt;/rim:permissions&gt;</code>
<code> </code>
<code>    &lt;!-- Configure invoking --&gt;</code>
<code>    &lt;rim:invoke-target id="com.helloworld.app"&gt;</code>
<code>        &lt;type&gt;APPLICATION&lt;/type&gt;</code>
<code>        &lt;filter&gt;</code>
<code>            &lt;action&gt;bb.action.SHARE&lt;/action&gt;</code>
<code>            &lt;!--Register app for all image MIME types --&gt;</code>
<code>            &lt;mime-type&gt;image/*&lt;/mime-type&gt;</code>
<code>            &lt;property var="uris" value="</code><a href="/local">file://,data://local</a><code>"/&gt;</code>
<code>        &lt;/filter&gt;</code>
<code>    &lt;/rim:invoke-target&gt;</code>
<code>    &lt;rim:invoke-target id="com.helloworld.viewer"&gt;</code>
<code>        &lt;type&gt;VIEWER&lt;/type&gt;</code>
<code>        &lt;filter&gt;</code>
<code>            &lt;action&gt;bb.action.SHARE&lt;/action&gt;</code>
<code>            &lt;!--Register app for all image MIME types --&gt;</code>
<code>            &lt;mime-type&gt;image/*&lt;/mime-type&gt;</code>
<code>            &lt;property var="uris" value="</code><a href="/local">file://,data://local</a><code>"/&gt;</code>
<code>        &lt;/filter&gt;</code>
<code>    &lt;/rim:invoke-target&gt;</code></pre>
<blockquote><p>That will set up your app as a target for invoking and configure all the necessary permissions needed to access the file system. Note that the MIME type in the <code>rim:invoke-target</code> section will determine whether your application appears on the list of invokable apps when the user decides to share a particular file type.</p>
<p>Next, we need some Javascript. I will dump it all out on you, and then explain immediately after:</p></blockquote>
<pre><code>document.addEventListener('webworksready', function(e) {</code>
<code>    blackberry.event.addEventListener('invoked', </code>
<code>        function eventListener(data) {</code>
<code>            // Expose callbacks via closure</code>
<code>            var callbacks;</code>
<code> </code>
<code>            callbacks = {</code>
<code>                // Generic error handling </code>
<code>                err: function error(e) {</code>
<code>                    console.log("Error: ", e);</code>
<code>                },</code>
<code> </code>
<code>                fileSystem: function(fs) {</code>
<code>                    fs.root.getFile(</code>
<code>                        data.uri, </code>
<code>                        null, </code>
<code>                        callbacks.getFile,</code>
<code>                        callbacks.err</code>
<code>                    );</code>
<code>                }, </code>
<code> </code>
<code>                getFile: function(fileEntry) {</code>
<code>                    // Could this be more nested? Yes.</code>
<code>                    fileEntry.file(</code>
<code>                        callbacks.fileEntry,</code>
<code>                        callbacks.err</code>
<code>                    );</code>
<code>                },</code>
<code> </code>
<code>                fileEntry: function (file){</code>
<code>                    console.log("Got the file!", file)</code>
<code>                    // YOUR CODE</code>
<code>                }, </code>
<code>            };</code>
<code> </code>
<code>            // Sandboxing off to allow access to shared file system</code>
<code>            blackberry.io.sandbox = false;</code>
<code>            // Chop off the 'file://' to get just the path</code>
<code>            data.uri = data.uri.substr(7, data.uri.length)</code>
<code> </code>
<code>            window.webkitRequestFileSystem(</code>
<code>                window.PERSISTENT,</code>
<code>                0,</code>
<code>                callbacks.fileSystem,</code>
<code>                callbacks.err</code>
<code>            );</code>
<code>        }</code>
<code>    );</code>
<code>}, false);</code></pre>
<blockquote><p>First of all, to detect an invocation from another app, we need to listen for the <code>invoked</code> event using the <code>blackberry.event</code> module. When the callback for <code>invoked</code> is called, the first argument will contain the URI to the file. Since we&#8217;ll be dealing with file paths, we want to remove the <code>file://</code> prefix from the URI before continuing. We also want to disable sandboxing of I/O since we need access to the shared file system.</p>
<p>From there on, we need to make a series of asynchronous calls to the File API to get to the contents of the file. I combined all the needed callbacks in one object for brevity. Eventually, once the <code>FileEntry.file</code> success callback is called, its first argument will be a regular <code>File</code> object much like one from a &#8220;file&#8221;  <code>input</code> form element. You can then read the file as text or binary using the <a href="http://www.w3.org/TR/FileAPI/#dfn-filereader" target="_blank">FileReader</a> interface, upload it somewhere using XHR and the <a href="http://www.w3.org/TR/2010/WD-XMLHttpRequest2-20100907/#the-formdata-interface" target="_blank">FormData</a> interface (see the <code>append</code> method), etc.</p>
<p>And that&#8217;s it! You&#8217;re ready to rock.</p></blockquote>
<p>We’ll be making plans for the next year working with UCOSP, so keep an eye out for those projects getting started in September. In the meantime, we’re going to be doing some summer open source coding. We’re in the early stages of planning at least one hack-a-thon where we’ll focus on open source: frameworks, tools, libraries, etc., so we can all make even better applications. If open source is your thing, or you’d like it to be, think about some projects that you want to work on, and keep a slice of time set aside before your summer gets booked up – it’s going to be good times.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15324/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15324/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15324&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/06/ucosp-final/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ebfb4d0e6ef9442e0abc42125ab51117?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/2013/06/img_1176-e1371048542902.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>On the Move – BlackBerry 10 WebWorks powered by Apache Cordova</title>
		<link>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/</link>
		<comments>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/#comments</comments>
		<pubDate>Tue, 11 Jun 2013 10:00:49 +0000</pubDate>
		<dc:creator>Ken W</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Apache Cordova]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 10 WebWorks]]></category>
		<category><![CDATA[Cordova]]></category>
		<category><![CDATA[PhoneGap]]></category>
		<category><![CDATA[update]]></category>
		<category><![CDATA[webworks]]></category>
		<category><![CDATA[WebWorks Apps]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15300</guid>
		<description><![CDATA[&#160; I am starting to realize that blog writing is similar to any other mental or physical exercise: it takes some time to knock the rust off if you take a break. Given how hard that first sentence was to write, I feel like red dust should be falling out of my ears. My robot [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15300&#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/06/cali.jpg"><img class="aligncenter size-full wp-image-15301" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/06/cali-e1370897059787.jpg?w=600&#038;h=433" width="600" height="433" /></a></p>
<p>&nbsp;</p>
<p>I am starting to realize that blog writing is similar to any other mental or physical exercise: it takes some time to knock the rust off if you take a break. Given how hard that first sentence was to write, I feel like red dust should be falling out of my ears. My robot vacuum cleaner needs to work harder to earn its keep anyway.</p>
<p>I do have a good excuse for my absence (I am not sure that <a href="http://twitter.com/alexkinsella">Kinsella</a> would agree). My first blog in a little while now comes to you from the sunny shores of Northern California. I have joined the (relatively) small but extremely dedicated contingent of BlackBerry employees fighting the good fight in the Bay Area. The relocation was no small task, let me tell you. Not the least of which was the four day drive from Toronto. I-80 is brutally efficient at getting you from A to B. But for some large segments, it is just brutal. Our dogs were also very efficient at letting us know when our travel day was (or should be) at its end.</p>
<p>But now I am setup here on the west coast, and fully in the middle of yet another move. If you missed <a href="http://www.blackberryjamconference.com/americas">BlackBerry Jam Americas</a> in Orlando last month &#8211; nothing less than a cross-continent move will be accepted as excuse &#8211; you missed a very important <a href="http://active.mediasite.com/mediasite/Play/df825a54-e772-4559-acd9-9db3e317482f">BlackBerry 10 WebWorks roadmap session</a> where we discussed the move of BlackBerry 10 WebWorks to use Apache Cordova at its core.</p>
<p>Fundamentally, the web is cross platform. While it is certainly not write-once/run-everywhere, the web does allow for a lot of reuse of code and assets. As mobile browser vendors continue to evolve and implement the various web technology standards, the amount of work to port an application becomes smaller and smaller. We are seeing web-based mobile applications become a much bigger piece of the total app pie. A large part of that is due to the success of Apache Cordova, which is the open source engine that powers Adobe’s Phonegap.</p>
<p>Our goal with BlackBerry 10 WebWorks is to ensure that we embrace the true philosophy of the open web, and empower our development community with the best tools and frameworks available to create rich web-based mobile applications. Moving BlackBerry 10 WebWorks to be based on Apache Cordova is a huge step in this direction and provides many benefits to our development community.</p>
<p>We are building support for BlackBerry 10 right into the core Apache Cordova project. This will allow Adobe PhoneGap developers to easily target BlackBerry 10 alongside other platforms for their mobile applications. BlackBerry 10 platform specific APIs will also be available as plugins for Apache Cordova (e.g. BBM, invocation, etc.)</p>
<p>As the center of gravity for packaged web applications, Apache Cordova garners a lot of attention from tooling and framework communities that will build their solutions to work with Apache Cordova. Having BlackBerry 10 as a core platform in Apache Cordova will help to ensure BlackBerry 10 WebWorks developers will be able utilize these tools as well.</p>
<p>To be clear, there are some differences in how you work with an Apache Cordova based application, specifically in terms of the command line tools, and some API signatures. All existing BlackBerry 10 WebWorks functionality does still exist, but the API signatures might be slightly different. Full documentation and porting guides will be available. The key thing to understand is that we have full compatibility built in. Applications built with an existing BlackBerry 10 WebWorks SDK WILL work on all 10.X code lines and new ones moving forward.  Similarly, apps built with the new Apache Cordova approach will ALSO work on all 10.X code lines.</p>
<p>I am really excited about being part of the Apache Cordova community, and about the benefits and opportunities this will bring for our dedicated BlackBerry 10 WebWorks developers. Stay tuned to this blog and the <a href="http://developer.blackberry.com/html5">developer portal</a> for news on how the move to Apache Cordova progresses.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15300/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15300/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15300&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/06/blackberry-10-webworks-apache-cordova/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/3b422c1a037b89d4ddf5bef834dbdeef?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">kjwallis</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/06/cali-e1370897059787.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Localytics for BlackBerry 10 is Here!</title>
		<link>http://devblog.blackberry.com/2013/06/localytics-blackberry/</link>
		<comments>http://devblog.blackberry.com/2013/06/localytics-blackberry/#comments</comments>
		<pubDate>Mon, 03 Jun 2013 11:00:25 +0000</pubDate>
		<dc:creator>garett</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Localytics]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15210</guid>
		<description><![CDATA[Just prior to BlackBerry Jam Americas, I was speaking with Adam Stanley about analytics services for our BlackBerry 10 HTML5 developers. Adam had been looking into Localytics and found that they have an analytics service written entirely in HTML5; BlackBerry has an entire development approach based on HTML5, so he decided to try his hand [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15210&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><a href="http://rimdevblog.files.wordpress.com/2013/06/local.png"><img class="aligncenter  wp-image-15212" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/06/local.png?w=300&#038;h=300" width="300" height="300" /></a></p>
<p>Just prior to BlackBerry Jam Americas, I was speaking with <a href="https://twitter.com/n_adam_stanley">Adam Stanley</a> about analytics services for our BlackBerry 10 HTML5 developers. Adam had been looking into <a href="http://www.localytics.com/docs/blackberry-10-integration/">Localytics</a> and found that they have an analytics service written entirely in HTML5; BlackBerry has an entire development approach based on <a href="https://developer.blackberry.com/html5/">HTML5</a>, so he decided to try his hand at plugging it in to a WebWorks application on his BlackBerry Z10. Without much delay he found that almost the entire service worked as-is out of the box (web standards are a thing of beauty!).</p>
<p><span id="more-15210"></span></p>
<p>After the above discovery Adam quickly fired off an email to the Localytics folks to see about getting some official documentation posted for BlackBerry 10. Normally using this approach, without having an “in”, it takes time; with Localytics we were put in touch with their VP of Strategy and Business Development, Brian Suthoff, right away, and were on a call with him within a few days. Localytics was excited to know just how easy it was to use their service with BlackBerry 10.SDK Dev Lead Randy Dailey jumped right to working on SDK tweaks to further support BlackBerry 10 and official documentation.</p>
<p>Today, just a couple of weeks from our first engagement with Localytics, I am happy to say that Localytics is now officially supported on BlackBerry 10. All you WebWorks developers can go ahead and add <a href="http://developer.blackberry.com/html5/">a few simple lines of JavaScript</a> to your existing applications and start tracking usage of your application. <i>But wait, there’s more!</i> If you use Cascades and want to use Localytics then you’ll be happy to know that there is also a <a href="http://www.localytics.com/docs/blackberry-10-integration/">QML interface</a> for the service making it available to you as well! Check the Localytics blog for the official announcement:<br />
<a href="http://www.localytics.com/blog/2013/localytics-releases-blackberry-10-sdk/"><br />
http://www.localytics.com/blog/2013/localytics-releases-blackberry-10-sdk/<br />
</a></p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/06/local2.png"><img class="aligncenter size-full wp-image-15214" alt="local2" src="http://rimdevblog.files.wordpress.com/2013/06/local2.png?w=514&#038;h=339" width="514" height="339" /></a></p>
<p>I have already created my first Cascades application using Localytics; the entire process was a breeze. From account creation, to getting the files and docs needed to start, to the point where I had analytics actually displaying in my dashboard was all of about 30 minutes.</p>
<p>The service plans begin completely free for developers and indie publishers and scale up from there depending on your needs.</p>
<p>Ready to get started? If you’ve read this far then of course you are! <a href="https://twitter.com/chadtatro">Chad Tetreault</a> has gone ahead and written the first WebWorks sample application with Localytics implemented, you can get it right now: <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/Localytics" target="_blank"><br />
https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/Localytics<br />
</a></p>
<p>For more info check out the main Localytics site and the following resources for more information:</p>
<ul>
<li><a href="http://www.localytics.com/"><br />
http://www.localytics.com<br />
</a></li>
<li><a href="http://www.localytics.com/docs/blackberry-10-integration/"><br />
http://www.localytics.com/docs/blackberry-10-integration/<br />
</a></li>
<li><a href="http://developer.blackberry.com/html5/"><br />
http://developer.blackberry.com/html5/<br />
</a></li>
<li><a href="http://developer.blackberry.com/cascades/"><br />
http://developer.blackberry.com/cascades/<br />
</a></li>
</ul>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15210/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15210/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15210&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/06/localytics-blackberry/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/75e7e69af37da351a3462a17576c2209?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gbeuk</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/06/local.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/06/local2.png" medium="image">
			<media:title type="html">local2</media:title>
		</media:content>
	</item>
		<item>
		<title>Contribute to BlackBerry Open Source</title>
		<link>http://devblog.blackberry.com/2013/05/blackberry-open-source/</link>
		<comments>http://devblog.blackberry.com/2013/05/blackberry-open-source/#comments</comments>
		<pubDate>Mon, 27 May 2013 12:37:46 +0000</pubDate>
		<dc:creator>Tim W.</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15133</guid>
		<description><![CDATA[Have you been by our GitHub repositories lately? We’re now hosting 93 repositories, including over 400 samples. Many of these have been created by developers here at BlackBerry, but there have been plenty of contributions from our growing community of Open Source developers. These outstanding people range from developers who have just started developing for [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15133&#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/img_00000196_edit.png"><img class="aligncenter size-full wp-image-15136" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/img_00000196_edit-e1369657863843.png?w=600&#038;h=884" width="600" height="884" /></a></p>
<p>Have you been by our GitHub repositories lately? We’re now hosting 93 repositories, including over 400 samples. Many of these have been created by developers here at BlackBerry, but there have been plenty of contributions from our growing community of Open Source developers. These outstanding people range from developers who have just started developing for BlackBerry, to seasoned veterans, who wrote their first code on BlackBerry OS 4, or even earlier! Besides their impeccable taste in mobile operating systems, they all share an appreciation for open code.</p>
<p><span id="more-15133"></span></p>
<p>Whether you’re learning something new, refining your skills, or looking for issue workarounds, open source is a wonderful thing. Often our interaction with open source can be unilateral, but it’s when we contribute back that it becomes a dialog with the rest of the community and the value starts to compound: Your enhancement to a sample, spurs another developer to publish some code, which makes you realize a whole new way of solving a problem you’re working on.</p>
<p>Now maybe you’re thinking, this sounds too good to be true – next you’ll tell me children <a href="http://www.youtube.com/watch?v=AvAnfi8WpVE">sang a song</a> with a man in space. Okay, it’s not quite as amazing as that: you have to learn a little bit about Git. But I made a video that walks you through using it:</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/mJH0uPaChL8?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>Now you’re all set to get started. If you want to jump in to something, drop me a note. We have a few projects that we’d like to tackle over the summer and I’m thinking about putting together virtual hack-a-thons for open source projects – similar to what we did for the port-a-thons leading up to launch. I think it would be a lot of fun, so let me know if you’d be interested or if you have any input into the idea.</p>
<p>We’ve also created a Channel for BlackBerry Open Source if you are trying out the BBM Channels beta. Scan this QR Code to add the Channel:</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/05/pin.png"><img class="aligncenter size-full wp-image-15138" alt="pin" src="http://rimdevblog.files.wordpress.com/2013/05/pin.png?w=362&#038;h=433" width="362" height="433" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15133&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/blackberry-open-source/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ebfb4d0e6ef9442e0abc42125ab51117?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/2013/05/img_00000196_edit-e1369657863843.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/pin.png" medium="image">
			<media:title type="html">pin</media:title>
		</media:content>
	</item>
		<item>
		<title>How BlackBerry Helped Me Become a BlackBerry 10 Developer [Guest Post]</title>
		<link>http://devblog.blackberry.com/2013/05/dragos-filipovici-guest-post/</link>
		<comments>http://devblog.blackberry.com/2013/05/dragos-filipovici-guest-post/#comments</comments>
		<pubDate>Tue, 21 May 2013 15:28:34 +0000</pubDate>
		<dc:creator>Adam S.</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webworks]]></category>
		<category><![CDATA[Workahol]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15053</guid>
		<description><![CDATA[Guest post from Dragos Filipovici &#8211; Adam. I received the following email earlier this week from developer Dragos Filipovici. He wanted to share his story about an application he recently created for BlackBerry 10. As I read the email, it was clear to me that his success was due to the strengths of the BlackBerry [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15053&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><em>Guest post from <a href="https://twitter.com/BglowDragosh" target="_blank">Dragos Filipovici</a> &#8211; Adam.</em></p>
<p>I received the following email earlier this week from developer Dragos Filipovici. He wanted to share his story about an application he recently created for BlackBerry 10.</p>
<p>As I read the email, it was clear to me that his success was due to the strengths of the BlackBerry 10 HTML5/WebWorks platform and the social power of the open source &amp; blog communities.  As such, I wanted to share.</p>
<p>Some of you might already know Dragos online as <a href="https://twitter.com/BglowDragosh" target="_blank"><i>BglowDragosh</i></a>. Before getting into BlackBerry 10 app development, he acquired UI design experience in building BlackBerry themes.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/05/image001.jpg"><img class="aligncenter size-full wp-image-15055" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/image001.jpg?w=148&#038;h=148" width="148" height="148" /></a></p>
<blockquote><p><i>Hi Adam,</i></p>
<p><i>About a year and a half ago I tried app development using the Java SDK. I got stuck in the complex ways to achieve simple tasks (even creating a basic UI), the not always clear documentation, and the long deployment processes for OS5-7 devices. Granted, I was still a newbie in Java. </i></p>
<p><i>However, I was (and still am) a JavaScript newbie as well &#8211; 6 months ago when I first started learning web app development. </i></p>
<p><i>I believe the biggest factor helping me successfully transition to BlackBerry 10 app development was played by the new tools available, as nothing helps one learn like applying new knowledge into an actual tangible project, if the tools are available. For me, the WebWorks framework, the rich documentation, the forums and Github repositories, even the way the developer.blackberry.com website is designed, helped me immensely as a very-beginner developer. And all of BlackBerry&#8217;s efforts in the past year to engage with developers have kept me going, and the company&#8217;s new platform vibe kept me excited. </i></p>
<p><i>After getting to know WebWorks and then bbUI.js, the learning curve for me was made much easier. I&#8217;ve often sent in questions in the WebWorks &amp; bbUI.js Github repositories and most often it was my own code errors trying to achieve simple things, but I got helped each time anyway. Now I post actual API bug reports and sometimes request API features, as users request new features from my app. And I love this formed cycle which I believe was, for my personal experience, a recipe for success.</i></p>
<p><i>Which brings me to the present:</i></p>
<p><i>So far, it took me about 14 weeks of (intense) work on my first WebWorks app. Yesterday, CrackBerry.com </i><a href="http://crackberry.com/workahol-blackberry-10"><i>review my app</i></a><i>, and in several hours <a href="http://appworld.blackberry.com/webstore/content/24373878">Workahol </a>became the #1 top paid app in BlackBerry World. I am overwhelmed with user feedback suggesting new features &#8211; which I will endeavor to implement. It&#8217;s great that we are able to achieve such diverse functionality and performant UI without even using the Native SDK, and no user has complained so far (by invoking the old web apps &lt; native argument). </i></p>
<p><i>Lastly, if there&#8217;s any way I can help &#8211; either by speaking about my experience, or to promote this platform, BlackBerry World or the BlackBerry 10 user community in any way, please let me know.  </i></p>
<p><i>Sincerely, </i></p>
<p><i>Kind Regards,</i></p>
<p><i>Dragos Filipovici (@BglowDragosh)</i></p>
<p><i>Sent from my BlackBerry® wireless device</i></p></blockquote>
<p>If you get a chance, check out <a href="http://appworld.blackberry.com/webstore/content/24373878" target="_blank">Workahol</a> in BlackBerry World today. Do you have a success story building for BlackBerry? We&#8217;d like to hear &#8211; let us know in the comments below.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15053/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15053/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15053&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/dragos-filipovici-guest-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/16f032fc46b780f6d9fa38b24a7f8ff2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adamstan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/image001.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Frameworks, JavaScript and C++  … oh my! BlackBerry Jam Americas Session Preview</title>
		<link>http://devblog.blackberry.com/2013/05/frameworks-javascript-and-c-oh-my-blackberry-jam-americas-session-preview/</link>
		<comments>http://devblog.blackberry.com/2013/05/frameworks-javascript-and-c-oh-my-blackberry-jam-americas-session-preview/#comments</comments>
		<pubDate>Fri, 10 May 2013 17:59:47 +0000</pubDate>
		<dc:creator>Adam S.</dc:creator>
				<category><![CDATA[BlackBerry Jam]]></category>
		<category><![CDATA[BlackBerry Live]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14958</guid>
		<description><![CDATA[I look forward to seeing many of you in Orlando May 14-16 for BlackBerry Jam Americas. You’ll find me wandering around &#38; presenting, coding, hacking and helping developers find new and interesting ways to build amazing applications for BlackBerry 10. In fact, I’m quite excited to present the following two sessions which are directed at [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14958&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I look forward to seeing many of you in Orlando May 14-16 for BlackBerry Jam Americas. You’ll find me wandering around &amp; presenting, coding, hacking and helping developers find new and interesting ways to build amazing applications for BlackBerry 10. In fact, I’m quite excited to present the following two sessions which are directed at the HTML5 &amp; WebWorks development communities:</p>
<p><a href="https://bblive.blackberryconferences.net/2013/connect/sessionDetail.ww?SESSION_ID=2725"><b>JAM 24 – HTML5 Frameworks: Up-And-Comers that are Building Steam</b></a><b></b></p>
<p>Ask any Web developer how many JavaScript frameworks there are out there and you’ll likely end up waiting a long time as they answer. There are so many to choose from and new ones appear in the wild on a daily basis: UI frameworks, libraries, shims &amp; polyfills, animation, graphs, gestures, MVC, performance, etc. We developers who solve difficult coding problems are eager to share their solutions in the form of JavaScript frameworks, allowing others to also build compelling application content. In this session, I’m going to share a few of my own personal favorite frameworks that are focused on improving the quality of your HTML5 applications or games. I even plan on doing a live coding demo of an HTML5 gaming framework. Wish me luck!</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-14959" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/adam1-e1368208692138.png?w=600&#038;h=340" width="600" height="340" /></p>
<p><a href="https://bblive.blackberryconferences.net/2013/connect/sessionDetail.ww?SESSION_ID=2713"><b>JAM23 – Lab: Getting Deep Device Integration with Third Party Extensions</b></a><b></b></p>
<p>Okay folks, I’m really excited about this one. This session is actually a 2 hour lab that will empower developers to boost the quality of their HTML5-powered WebWorks applications and take them to the next level of awesomeness.  Developers – have you ever built a Web app using technologies like HTML5, CSS or JavaScript and encountered a situation where the feature you wanted to implement could not be added because it was not defined in any Web standards?  Some examples include: blinking the LED light, sending a message via Bluetooth or keeping the device backlight on (none of these are features that can be added using standard JavaScript).  The BlackBerry 10 OS has a powerful native API platform that can be leveraged in a WebWorks application by exposing native code to the JavaScript engine via custom Third Party extensions.  During this lab, attendees will not only learn how to build WebWorks extensions for BlackBerry 10, but they will actually create their own!  By the time this lab is over, everyone will have a functional WebWorks application running on their <a href="http://devblog.blackberry.com/2013/04/blackberry-jam-blackberry-z10/">free BlackBerry Z10 smartphone</a> that makes use of a native extension. It’s going to get crazy in there.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14958/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14958/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14958&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/frameworks-javascript-and-c-oh-my-blackberry-jam-americas-session-preview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/16f032fc46b780f6d9fa38b24a7f8ff2?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">adamstan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/05/adam1-e1368208692138.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry 10 Web Development &#8211; Working With Photos and EXIF Data</title>
		<link>http://devblog.blackberry.com/2013/04/blackberry10-webdev-exif/</link>
		<comments>http://devblog.blackberry.com/2013/04/blackberry10-webdev-exif/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 16:56:27 +0000</pubDate>
		<dc:creator>chadtatro</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Camera]]></category>
		<category><![CDATA[chad]]></category>
		<category><![CDATA[EXIF]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14856</guid>
		<description><![CDATA[Working with user-generated photos can be a pretty daunting task at times for developers. There are so many variables that come in to play. What is the aspect ratio? Is it taken in landscape or portrait? What orientation is the photo saved in? Luckily I came across a great library to help you handle these [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14856&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Working with user-generated photos can be a pretty daunting task at times for developers. There are so many variables that come in to play.</p>
<p>What is the aspect ratio?</p>
<p>Is it taken in landscape or portrait?</p>
<p>What orientation is the photo saved in?</p>
<p>Luckily I came across a great library to help you handle these photos a lot easier. <a href="http://blog.nihilogic.dk/2008/05/reading-exif-data-with-javascript.html" target="_blank">JavaScript EXIF Reader</a> by Jacob Seidelin is an extremely powerful library, which lets you read the EXIF (Exchangeable Image File Format) from photos.</p>
<p><span id="more-14856"></span></p>
<p>So why is this important?  Well, as you may be aware of, photos taken on your BlackBerry 10 device are actually stored sideways.  How this affects you, as a developer, is that if you need to use that user-taken photo in your app it will appear sideways unless</p>
<p>So you’re thinking, that’s great, I’ll just rotate every photo and problem solved.  NO!</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/no.png"><img class="aligncenter size-full wp-image-14857" alt="no" src="http://rimdevblog.files.wordpress.com/2013/04/no.png?w=400&#038;h=400" width="400" height="400" /></a></p>
<p>Why not? Photos taken from the front, and rear cameras are both stored sideways, rear camera photos appear “right-side up” (with an EXIF.orientation value of 6) while photos from the front camera are store “left-side up” (EXIF.orientation 8).  As you can see, you need to be able to detect not only if a photo is stored sideways, but also which orientation it’s stored with so you can rotate it accordingly.</p>
<p>This is where the EXIF Reader library helps out.  By calling one method, you’re able to fetch not only the orientation data of a photo, but all of its EXIF data.  This could include  the photo’s dimensions, device make and model, or right down to very specific properties of the photo like what exposure was used, or whther the flash went off or not.</p>
<p><a href="http://rimdevblog.files.wordpress.com/2013/04/yes.png"><img class="aligncenter size-full wp-image-14858" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/04/yes.png?w=400&#038;h=400" width="400" height="400" /></a></p>
<p>I wrote a quick sample app which demonstrates how a developer would handle a photo taken from the camera within their application. When the user takes a photo the EXIF data is read, the photo’s orientation is determined, and the photo is rotated on a HTML5 Canvas so that it appears “top-side up”. The developer is then left with a handy Base64 string which can be saved, uploaded, etc.</p>
<p>Check out the <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/EXIF-Data-Reader" target="_blank">EXIF Data Reader sample</a> on our GitHub Repository.</p>
<p>If you find this sample useful, have any questions, or just want to keep up-to-date on the world of BlackBerry WebWorks and HTML5, <a href="http://twitter.com/chadtatro" target="_blank"><b>follow me on Twitter</b></a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14856/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14856/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14856&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/blackberry10-webdev-exif/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/04/no.png" medium="image">
			<media:title type="html">no</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/yes.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry 10 and Ludus HTML5 Platformer Engine</title>
		<link>http://devblog.blackberry.com/2013/04/ludus-blackberry10/</link>
		<comments>http://devblog.blackberry.com/2013/04/ludus-blackberry10/#comments</comments>
		<pubDate>Fri, 26 Apr 2013 13:02:13 +0000</pubDate>
		<dc:creator>Erik O.</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[Ludum Dare]]></category>
		<category><![CDATA[Ludus]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14816</guid>
		<description><![CDATA[Looking for a *simple* #html5 PLATFORMER engine (mario, sonic, metroidvania)? GUI, particles, 60fps, sfx+ mcfunkypants.com/ludus/ #LD48 #1gam — Christer Kaitila (@McFunkypants) April 23, 2013 A few days ago, Christer Kaitila (better known as @McFunkypants to some) dropped news regarding the HTML5 based platformer engine called Ludus. Initially, I was a little disheartened as it appeared [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14816&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<blockquote class="twitter-tweet"><p>Looking for a *simple* <a href="https://twitter.com/search/%23html5">#html5</a> PLATFORMER engine (mario, sonic, metroidvania)? GUI, particles, 60fps, sfx+ <a title="http://www.mcfunkypants.com/ludus/" href="http://t.co/pgoengfvbW">mcfunkypants.com/ludus/</a> <a href="https://twitter.com/search/%23LD48">#LD48</a> <a href="https://twitter.com/search/%231gam">#1gam</a></p>
<p>— Christer Kaitila (@McFunkypants) <a href="https://twitter.com/McFunkypants/status/326729503088996352">April 23, 2013</a></p></blockquote>
<p>A few days ago, Christer Kaitila (better known as <a href="https://twitter.com/McFunkypants">@McFunkypants</a> to some) dropped news regarding the HTML5 based platformer engine called Ludus. Initially, I was a little disheartened as it appeared the engine was targeted solely towards the Windows 8 platform, a peculiar thing for an engine that leverages cross platform technology. I was delighted to find this was not actually the case and that Ludus is in fact crafted in the true open spirit of the web.</p>
<p>Armed with this knowledge, I wanted to get a sense of how the engine performed on BlackBerry 10, and proceeded to build both of the sample applications, Rubba Rabbit and Gwendolynn, with our BlackBerry 10 WebWorks SDK.</p>
<div id="attachment_14819" class="wp-caption aligncenter" style="width: 610px"><a href="http://rimdevblog.files.wordpress.com/2013/04/ludus1.png"><img class="size-full wp-image-14819" style="border:1px solid black;margin:2px;" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/04/ludus1-e1366978794871.png?w=600&#038;h=360" width="600" height="360" /><p class="wp-caption-text"><br />
<span id="more-14816"></span><br />
</a> <em>Rubba Rabbit running on a BlackBerry Z10. Not Pictured: The funkiest of sound tracks.</em></p></div>
<p>As the engine revolves around HTML5 technologies, the sample projects were already 90% of the way to being BlackBerry 10 applications. One missing component was the <b>config.xml</b> file which is leveraged during packaging to specify various components (application name, author, icon images, etc.) To simplify the process, I leveraged the <a href="http://www.bitoutsidethebox.com/configgen/">BlackBerry WebWorks config.xml generator</a> by Nuno Donato <a href="https://twitter.com/nunodonato">(@nunodonato</a>). I was even able to set an appropriate icon and splash screen thanks to the image resources included with each project.</p>
<p>In fact, that’s another thing that’s pretty awesome about Ludus. If you visit the <a href="http://wootstudio.ca/win8platstarter">Woot Studio</a> landing page, you’ll get a lot of good information, a behind the scenes look at the two samples, and something many game developers treasure: <b>Free Game Art</b>. Currently there are three themes (Outer Space, Steam Punk, and Zombie) ranging across a number of categories (characters, weapons, effects, etc.)</p>
<div id="attachment_14821" class="wp-caption aligncenter" style="width: 610px"><a href="http://rimdevblog.files.wordpress.com/2013/04/ludus2.png"><img class="size-full wp-image-14821" style="border:1px solid black;margin:2px;" alt="ludus2" src="http://rimdevblog.files.wordpress.com/2013/04/ludus2-e1366978915879.png?w=600&#038;h=360" width="600" height="360" /></a><p class="wp-caption-text"><em>Gwendolynn running on a BlackBerry Z10; satisfying my passion for looting and jumping.</em></p></div>
<p>With my <b>config.xml</b> files in hand and making no changes to the actual sample project files, the next step was to leverage the <a href="http://developer.blackberry.com/html5/documentation/getting_started_with_ripple_1866966_11.html">Ripple tools</a> in packaging the HTML5 resources into a BlackBerry 10 application. Once packaged, I had a signed BlackBerry 10 application (BAR file) that I then deployed to both a BlackBerry Z10 and BlackBerry Q10.</p>
<p>Overall the process took maybe ten minutes download-to-deployment. For developers that don’t have a BlackBerry 10 WebWorks environment set up, there are a few things you will need for an initial setup:</p>
<p>1)      Download and install <a href="http://developer.blackberry.com/html5/download/">the BlackBerry 10 WebWorks SDK</a>.</p>
<p>2)      Request and install <a href="http://developer.blackberry.com/html5/documentation/signing_setup_bb10_apps_2008396_11.html">BlackBerry 10 Code Signing keys</a>.</p>
<p>3)      Leverage the command line or Ripple to <a href="http://developer.blackberry.com/html5/documentation/signing_your_bb10_app_2008398_11.html">package your HTML5 project</a>.</p>
<p>Following this, creating BlackBerry 10 applications from your existing (or new) HTML5 projects down the line will take no time at all.</p>
<p><b>Some Things That Made Me Smile</b></p>
<p>One of the things that I was really happy to see was that I was able to deploy the same packaged application (BAR file) to both the BlackBerry Z10 and BlackBerry Q10 without modification. The game resources scaled well and both applications were playable on both devices.</p>
<p>In fact, on the BlackBerry Q10, I was very pleased to see that the <b>WASD</b> and <b>space bar</b> controls worked right out of the box! This left me with both touch screen <b>and</b> keyboard control options on the BlackBerry Q10 where screen real estate is more limited than the full touch BlackBerry Z10.</p>
<p>Aside from a few hiccups, performance was great, averaging approximately 55 frames per second. The fact that I didn’t need to change any code for my initial deployment was just icing on the cake.</p>
<p><b>Some Things to Look Out For</b></p>
<p>On a whole I’m very pleased with my initial look at the Ludus engine, but there were a few things that came up that developers may want to keep in mind. The first thing I noticed was that <b>pinch to zoom</b> was permitted, meaning if I was interacting with the touch screen, two controls at a time, occasionally the screen would rescale instead of processing my touch events. Luckily, we’re able to set the <b>&lt;meta&gt;</b> <b>viewport</b> element to disable user-scaling and there is a Knowledge Base article on <a href="http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/How-to-set-up-the-viewport-for-a-BlackBerry-WebWorks-application/ta-p/1943807">how to accomplish this for BlackBerry 10</a>.</p>
<p>Related to the above, there were a few instances where the screen resized which forced the application into a paused state. This appeared related to how the screen coordinates were being interpreted following the scaling and the pause button located in the center of the screen was inadvertently being “interacted with”. With the above viewport modification though, this issue went away.</p>
<p>Finally, I did notice a slight stutter on occasion if I was collecting multiple items at once. As best as I could tell, this was related to 3-4 sounds playing simultaneously on top of the background music. Once the Web Audio API lands in BlackBerry 10, we’ll be able to do a whole lot more.</p>
<p>That being said, the good <b>far outweighs</b> the above, and we have gameplay videos to prove it. Here we have a BlackBerry Z10 and BlackBerry Q10 playing both Rubba Rabbit and Gwendolynn.</p>
<p align="center"><b><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/LcMpZyjMW2o?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></b></p>
<p>All in all Ludus is looking to be a very promising platformer engine and I’m excited to see what the HTML5 community does with it. The next steps are to dive into a project of my own to get a sense for the actual development process; I’m looking forward to it already. If you’re doing any development yourself, or have any questions about the BlackBerry 10 aspect, I want to your feedback and insight! Don’t hesitate to reach out via Twitter (<a href="mailto:@WaterlooErik">@WaterlooErik</a>) or email (<a href="mailto:eoros@blackberry.com">eoros@blackberry.com</a>).</p>
<p>Lastly, a big thank you to <a href="http://wootstudio.ca/">Woot Studio</a>, <a href="http://mcfunkypants.com/">McFunkypants</a> and <a href="http://plexipixel.com/">PlexiPixel</a> for their contribution to the HTML5 community with this project.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14816/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14816/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14816&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/ludus-blackberry10/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/2013/04/ludus1-e1366978794871.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/ludus2-e1366978915879.png" medium="image">
			<media:title type="html">ludus2</media:title>
		</media:content>
	</item>
		<item>
		<title>Built For BlackBerry – WebWorks “Bootstrap” Sample v1 released!</title>
		<link>http://devblog.blackberry.com/2013/04/webworks-bootstrap-sample-v1/</link>
		<comments>http://devblog.blackberry.com/2013/04/webworks-bootstrap-sample-v1/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 20:00:27 +0000</pubDate>
		<dc:creator>chadtatro</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[bbUI]]></category>
		<category><![CDATA[BFB]]></category>
		<category><![CDATA[Built for BlackBerry]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14809</guid>
		<description><![CDATA[Building great BlackBerry 10 WebWorks app just got easier! The other day I released a new sample app on our BlackBerry GitHub repository which gives you a push in the right direction to quickly build a “Built for BlackBerry” designated application. So what is a Built for BlackBerry app? In a nutshell, a BFB app [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Building great BlackBerry 10 WebWorks app just got easier! The other day I released a new sample app on our <a href="https://github.com/blackberry/BB10-WebWorks-Samples" target="_new">BlackBerry GitHub repository </a>which gives you a push in the right direction to quickly build a “Built for BlackBerry” designated application.</p>
<p>So what is a <a href="https://developer.blackberry.com/builtforblackberry/" target="_new">Built for BlackBerry</a> app? In a nutshell, a BFB app is an application which is designed from start-to-finish to be awesome in performance, looks, and functionality. Apps which apply for, and pass, the Built For BlackBerry program tell users that this app meets BlackBerry’s high standards for quality and performance.</p>
<p>My latest sample app was created to give you a head start in achieving the BFB designation, allowing you to focus more of your time on the functionality of your app, rather than the actual UI and setup. It’s simply a starting point/blank slate for you to work with and customize.</p>
<p><span id="more-14809"></span></p>
<p>I’ve incorporated all of the features we look for in a Built For BlackBerry app. Right out of the box you’ll have an application that meets the BlackBerry 10 UI guidelines, connects to BlackBerry Messenger and to the Share Framework. There are also several other features including: App Menu (swipe down), Toasts, Window Covers, and device specific Splash Screens. I’ve even included CSS media queries to show you how to style your app on a Z10 vs. Q10 with CSS!. This will allow you to quickly customize this “boiler-plate” to meet your own needs and focus on the content of your app rather than getting the “right” look.</p>
<p>Check-out the application <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/Built-For-BlackBerry" target="_new">over at GitHub</a>.</p>
<p>If you find this sample useful, have any questions, or just want to keep up-to-date on the world of BlackBerry WebWorks and HTML5, <a href="https://twitter.com/chadtatro" target="_new">follow me on Twitter</a>!</p>
<p><img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/chad1.jpg?w=175" /> <img alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/04/chad2.jpg?w=175&#038;h=292" width="175" height="292" /> <img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/chad3.jpg?w=175" /></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14809/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/webworks-bootstrap-sample-v1/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/04/chad1.jpg?w=175" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/chad2.jpg?w=175" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/chad3.jpg?w=175" medium="image" />
	</item>
		<item>
		<title>Vibration and Barcode Extension details, by UCOSP student developer</title>
		<link>http://devblog.blackberry.com/2013/04/vibration-and-barcode-extension/</link>
		<comments>http://devblog.blackberry.com/2013/04/vibration-and-barcode-extension/#comments</comments>
		<pubDate>Thu, 18 Apr 2013 12:00:40 +0000</pubDate>
		<dc:creator>Tim W.</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[#bbucosp]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[UCOSP]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14627</guid>
		<description><![CDATA[Continuing the last UCOSP posting, where we talked about the release of the Barcode Scanning Extension for BlackBerry 10 WebWorks, we have some thoughts from another student regarding development of BlackBerry 10 WebWorks Extensions. Developing extensions in C++ that can be called from JavaScript involves some challenges, so if you’ve been thinking about diving in, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14627&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/ucosp-3.png?w=500" /></p>
<p>Continuing the last <a href="http://devblog.blackberry.com/2013/04/blackberry-10-webworks-barcode-scanner-by-ucosp-students/" target="_new">UCOSP posting</a>, where we talked about the release of the <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/BarcodeScanner" target="_new">Barcode Scanning Extension</a> for BlackBerry 10 WebWorks, we have some thoughts from another student regarding development of BlackBerry 10 WebWorks Extensions. Developing extensions in C++ that can be called from JavaScript involves some challenges, so if you’ve been thinking about diving in, these hints will be quite useful. Here’s what <a href="https://github.com/greentea0" target="_new">Alex</a> has to say about his experience this term:</p>
<p><span id="more-14627"></span></p>
<p>“I had the fortune of joining a number of great software development students as we embarked onto BlackBerry’s new platform, BlackBerry 10. During this term, we explored bbUI.js, BlackBerry Webworks, and the Native Development Kit. I had worked specifically on creating new Webworks community plugins. Two plugins that I had worked on were a <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/VIBRATION" target="_new">vibration</a> feature to allow for additional parameters accessible only through the native development kit and a <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/BarcodeScanner" target="_new">barcode reading feature</a> with Michael Delong and Tim Windsor. In the end, I had done a great deal of research and developed various approaches to tackle the barcode reading feature.</p>
<p>The vibration community plugin was an effective introduction into developing between Javascript and C++. The feature was originally recommended to be completed when another colleague had required additional granularity in the vibration settings. While I had looked into this issue and was able to flesh it out, we found the APIs themselves were somewhat limiting with how the colleague had envisioned the outcome. Overall this situation was a positive experience in understanding the BlackBerry 10 Webworks architecture and the BlackBerry Platform Services.When developing this plugin I ran into a number of issues due to my own lack of patience which lead to some rather confusing errors.</p>
<ul>
<li>JNext does method invocation through string matching</li>
</ul>
<p>Somehow through development I was using a certain keyword for indicating my command I wanted to invoke from Javascript. On the C++ side, I seemed to have switched around the naming and thus was expecting to read an event from a keyword that did not exist. Since these constants are being used in two different languages and there is not much common ground between this two language process, nothing was telling me that I was passing in the wrong keyword. Copy and paste can be your friend.</p>
<ul>
<li>Vibration falls under the BlackBerry Platform Services</li>
</ul>
<p>While creating the vibration code, I was confused why it was not working at all. I had the keywords matching in both Javascript and C++ and it had all compiled from what I could see. Since vibration falls underneath the BPS family, you need to initialize the BPS before it can be used.</p>
<p>bps_initialize();</p>
<p>After completing this feature, I went on to work with Mike on the barcode scanning feature. Barcode scanning is a relatively interesting concept as it would combine a fairly wide knowledge base of media with my current understanding of Javascript and C++. When working with this feature, initially we tried to piece together what we could from other examples in cascades and the NDK github samples. Requiring a rather large knowledge base was something we had not expected from a feature like barcode scanning. Having to take advantage of input from the camera on the C++ layer introduced us to a number of concepts such as image formats and subsampling. In addition to worrying about these fundamental multimedia concepts we were trying to understand how to take a raw frame from the camera and extract a barcode with the ZXing library. While another of methods were taken in attempting to complete this feature I had participated in two approaches of development to get barcode reading to where it is now on WebWorks.</p>
<ol>
<ol>
<li>Displaying the images from a base64 representation from C++ to Javascript layer</li>
</ol>
</ol>
<p>&nbsp;</p>
<ul>
<li>Attempted to use card invocation to support video feedback for barcode scanning</li>
</ul>
<p>&nbsp;</p>
<p>Prior to this project, I knew of base64 encoding but I had not ever used it in my own development. The ability to encode the bytes of the image in a string was an interesting idea to take advantage of the JNext bridge to carry the image from the native layer to the web layer. Unfortunately during the actual process, the encoding and decoding process can take a fairly long time and actual rendering on the canvas was not fast enough to capture a snappy mobile experience. it was an interesting usage of base64 but this was not quite the answer for the barcode scanner in its current state.</p>
<p>The second attempt that I had looked into was utilizing card invocation to skip the barcode reading altogether and take advantage of a cascades application to do the barcode reading for us. Card invocation is a great idea that can also be seen on other platforms such as Android. Specific functionality that another application may be able to accomplish very well, can be used as a “card”. These cards are invoked from an application which will run that portion of another application. When the card action is complete, that application is closed and the user is returned to the original invoking application. The advantage to this option was visual feedback the user would feel as if it had been built into the Webworks framework and created a fluid native feel to this highly user requested feature, as I was switching into a cascades barcode scanning application. Unfortunately with the card invocation, an application which did the barcode reading would have to exist on the device prior to launching this Webworks application. In addition to this pitfall, Webworks in its current state allows for the ability to query potential cards to handle jobs and the ability to invocate these actions, but was unable to return values. This is an issue if the developer wants to capture a QR code and use this value in their own application. I however did not look into copying the barcode into the clipboard or providing the option to do this however this extra step could be potentially approached by other developers that are fine with running a utility application and a Webworks application.</p>
<p>Overall the experience on BlackBerry 10 with the Webworks framework has been an enjoyable opportunity into the world of mobile web applications. With the ability to utilize open source community driven libraries, BlackBerry has helped build an environment to utilize rich web applications with the raw power of the BlackBerry 10 platform. I look forward to seeing what new applications and innovations can arise from this new way of hybrid mobile/native development.”</p>
<p>You can check out the growing list of BlackBerry 10 WebWorks extensions on our <a href="https://github.com/blackberry/WebWorks-Community-APIs/tree/master/BB10/BarcodeScanner" target="_new">Github repository</a>. The university term is wrapping up now, so our next UCOSP update will have the final thoughts from our last two students and an overview of what the students were able to do this term. If you’re interested in doing some open source coding yourself, I’m putting together some projects for the summer. Contact me through <a href="mailto:twindsor@blackberry.com" target="_new">email</a> or <a href="https://twitter.com/timothywindsor" target="_new">twitter</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14627/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14627/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14627&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/vibration-and-barcode-extension/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://2.gravatar.com/avatar/ebfb4d0e6ef9442e0abc42125ab51117?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/2013/04/ucosp-3.png?w=500" medium="image" />
	</item>
	</channel>
</rss>
