<?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; Java Development</title>
	<atom:link href="http://devblog.blackberry.com/category/java-development/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; Java Development</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>GDC 2013:  A Console Gaming Experience Anywhere, Anytime</title>
		<link>http://devblog.blackberry.com/2013/04/gdc-console-gaming-experience/</link>
		<comments>http://devblog.blackberry.com/2013/04/gdc-console-gaming-experience/#comments</comments>
		<pubDate>Wed, 24 Apr 2013 15:13:31 +0000</pubDate>
		<dc:creator>lmcdunna</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[apps]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[GDC 2013]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14771</guid>
		<description><![CDATA[With a background and passion for Computer Graphics, I’ve been to a slew of GDC conferences and over a dozen ACM SIGGRAPHs. Over the years, it’s interesting to see technologies come and go, and then come back again. The things I like to look for at these events are the technologies that have the potential [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14771&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>With a background and passion for Computer Graphics, I’ve been to a slew of GDC conferences and over a dozen ACM SIGGRAPHs. Over the years, it’s interesting to see technologies come and go, and then come back again.</p>
<p>The things I like to look for at these events are the technologies that have the potential to disrupt the apple cart. These revolutionary movements do more than simply evolve last year’s technology. They beg the question whether whole companies or industries will radically change and shift to address this new force, and whether or not new players will emerge as drivers in this movement. At GDC this year, I could see that such a shift is starting to take place and I’m excited that BlackBerry is actively engaged in this movement. What’s the shift? We’re starting to see mobile devices provide a console gaming experience, anywhere, anytime.</p>
<p>We’ve been playing games on phones for many years, why talk about this now? What’s changed?<br />
<span id="more-14771"></span></p>
<h3><strong>Technology Advancement</strong></h3>
<p>As with many disruptive forces, a number of normal evolutionary changes take place first that, by themselves, are not disruptive. However, when brought together, they can change the game considerably and challenge an entire once-stable industry. The critical technologies all on mobile devices that are beginning to put pressure on the gaming console industry are the following:</p>
<ul>
<li>Multitasking Operating Systems</li>
<li>High Performance GPUs</li>
<li>High Definition Video (HDMI)</li>
<li>Wireless Mobile Game Controllers</li>
<li>Portable Game Software</li>
</ul>
<p>When all these technology advancement come together in a smartphone, you have something very close to a game console in the palm of your hand. Each of these plays a vital role. Let’s explore the contribution of each.</p>
<h3><strong>Multitasking Operating Systems </strong></h3>
<p>A true multitasking operating system is critical for providing smooth performance and interactivity for today’s most demanding games. Not only must the OS manage the game itself, but it must also juggle location information, gyro, accelerometer and other sensors, concurrent voice or VOIP for trash-talking your friends during gameplay, and interact with the cloud and social networks for storing and sharing your results. Neither iOS nor Android has a great multitasking solution here. In contrast however, BlackBerry 10, powered by QNX Neutrino (a leading world class RTOS), is very well positioned to provide all the power necessary for managing the ever-increasing demand of concurrent functionality in the next generation of mobile games.</p>
<h3><strong>High Performance GPUs </strong></h3>
<p>GPUs render the images. Without them, our game visuals would be slow, blocky, and flat. There’s no question how important these processors are. Over the last couple of years, the advancements made by companies like ARM, Imagination, NVidia, and Qualcomm for smartphones have been enormous. It’s getting harder and harder to tell the difference between a game rendered by a GPU on a laptop vs. a game rendered by a smartphone GPU. Perhaps the most obvious difference has been the physical screen size. However, when you add a multitasking OS and a high performance GPU to HD Video (the next critical technology), things start to get really interesting.</p>
<h3><strong>High Definition Video (HDMI) </strong></h3>
<p>One of the things we did in the BlackBerry booth this year at GDC was connect a bunch of our BlackBerry Z10 smartphones (using the standard HDMI port) to large HD monitors. We also did this at our interactive pods in the Unity and Marmalade booths. I can’t tell you how many times people walked up and asked questions like, “Since when did BlackBerry start making game consoles?” When we told them they were looking at a game being rendered and played on the BlackBerry Z10 smartphone they had that mind blown look on their face.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/gdc-20131.jpg?w=350" /></p>
<p>In the picture above, a young gamer is playing “Shadow Gun” on a BlackBerry Z10. This is a great First Person Shooter game built on the Unity3D game engine. You can just see the Z10 on the table in front of him below the monitor. What you can’t see in this picture is the awesome <a href="http://steelseries.com/products/other/steelseries-free-mobile-wireless-controller" target="_new">SteelSeries Free</a> game controller he’s using to play the game. That piece of critical technology is next on my list.</p>
<h3><strong>Wireless Mobile Game Controllers</strong></h3>
<p>To an awesome multitasking OS, killer GPU, and HDMI out, you add a wireless game controller and you’ve just about got the whole package. Using a controller accomplishes two important things: First, it gets your fingers off the valuable screen real estate freeing up more pixes for game play. The other benefit of the controller is that it adds that real, immersive game feeling you get with console controllers. The controllers we used at GDC are the <a href="http://steelseries.com/products/other/steelseries-free-mobile-wireless-controller" target="_new">SteelSeries Free Mobile Wireless Controllers</a> (shown below). The last time I checked, the controller will set you back about $80USD and you can find one <a href="http://www.amazon.com/SteelSeries-Wireless-Controller-Bluetooth-Tablets/dp/B009AOFNU4/ref=sr_1_1?ie=UTF8&amp;qid=1365305371&amp;sr=8-1&amp;keywords=steelseries+free" target="_new">here</a>. Other controllers, such as the Wii Remote and the <a href="http://www.gametel.se/" target="_new">Gametel</a>, are also usable and there’s more to come.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/gdc2.jpg?w=300" /> <img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/gdc3.jpg?w=300" /></p>
<p>For you game developers out there, you can get more information about how to instrument your code to work with these controllers including samples and tutorials by checking out Sean Paul Taylor’s devblog: “<a href="http://devblog.blackberry.com/2013/02/blackberry-10-gamepad-support/" target="_new">Adding Gamepad Support to Your BlackBerry 10 Game</a>”. You can also read about Ramprasad Madhavan’s experience at GDC this year and the <a href="http://developer.blackberry.com/develop/games/index.html" target="_new">Unity BlackBerry 10 Open Beta</a> coming soon on his devblog: “<a href="http://devblog.blackberry.com/2013/04/unity-and-blackberry-gaming-at-gdc-2013/" target="_new">Unity and BlackBerry Gaming at GDC 2013</a>”</p>
<h3><strong>Portable Game Engines &amp; Frameworks</strong></h3>
<p>The final critical technology contributing to the end of the game console industry as we know it is portable game engines and frameworks. The easier it is to get your game ported from one platform to another, the harder it is for games to be locked to a single console or device. Companies like Marmalade, ShiVa3D, and <a href="http://unity3d.com/unity/" target="_new">Unity3D/Union</a> all contribute here. As a developer, you want the highest quality game experience you can get with the largest distribution possible. This is exactly what these frameworks offer and each has been tuned to deliver a killer experience on BlackBerry 10.</p>
<h3><strong>Summary</strong></h3>
<p>I confess I own an Xbox 360, Nintendo Wii, and a PlayStation 3. However, I more often find myself connecting my Z10 to my 46” flat screen, the audio-out to my surround system, and kick back on the couch with my SteelSeries Free remote to enjoy a great game of Angry Bots or Critical Wave. There’s no question that smartphones like the BlackBerry Z10 are providing near console game experiences. This is being driven by advancements in 5 areas: real multitasking OS’s, high performance mobile GPUs, HD Video, mobile game controllers, and portable frameworks.</p>
<p>Consoles will need to adapt and add value to remain competitive. Where does that leave game consoles in the future then? Are they becoming extinct? Will smartphones replace game consoles outright? Will consoles evolve into something even better? Or, will they become the mobile extension of their stationary counterparts? As the great Yoda once said, “Always in motion the future is”.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14771/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14771/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14771&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/gdc-console-gaming-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/649c096f0b8996184db6d0509771ecfb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lmcdunna</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/gdc-20131.jpg?w=350" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/gdc2.jpg?w=300" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/gdc3.jpg?w=300" medium="image" />
	</item>
		<item>
		<title>WebGL: 3D Gaming on the Web Arrives</title>
		<link>http://devblog.blackberry.com/2013/04/webgl-3d-gaming/</link>
		<comments>http://devblog.blackberry.com/2013/04/webgl-3d-gaming/#comments</comments>
		<pubDate>Tue, 09 Apr 2013 14:27:02 +0000</pubDate>
		<dc:creator>lmcdunna</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[3D Gaming]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[WebGL]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14572</guid>
		<description><![CDATA[The Web and 3D have been to the dance many times together before, but they just never really hit it off. Sure, there were some successes which resulted in VRML in the mid 1990’s and Second Life in the early 2000’s. But numerous other attempts by countless startups didn’t make it. The reasons were many, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14572&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The Web and 3D have been to the dance many times together before, but they just never really hit it off. Sure, there were some successes which resulted in <a href="http://en.wikipedia.org/wiki/VRML" target="_new">VRML</a> in the mid 1990’s and <a href="http://en.wikipedia.org/wiki/Second_Life" target="_new">Second Life</a> in the early 2000’s. But numerous other attempts by countless startups didn’t make it. The reasons were many, but mostly there just wasn’t a real solid business case for 3D in the browser. It was complicated to program, expensive to develop models, performance was spotty, and ensuring that all browsers would render the content the same way was certainly not guaranteed.</p>
<p>There was one place, however, where 3D made business sense: gaming (well, native gaming). 3D enjoyed, and still enjoys, a happy existence on PC and Console platforms. The question I always wondered was when will 3D in the browser be of high enough performance and quality across all platforms and browsers to support a solid business case for 3D on the Web? I believe the time has finally come. The confluence of mobile gaming, mobile Web app development, and a solid javascript API called <a href="http://en.wikipedia.org/wiki/WebGL" target="_new">WebGL</a> (a biding to the powerful and ubiquitous <a href="http://en.wikipedia.org/wiki/OpenGL" target="_new">OpenGL</a>), is fueling its arrival. I’m proud to say that BlackBerry has been very active in providing one of the first complete mobile WebGL implementations on the BlackBerry PlayBook, and has also brought this capability to BlackBerry 10.</p>
<p><span id="more-14572"></span></p>
<p>WebGL provides developers with the ability to write immersive, high-performance, console-quality, 2D and 3D games accessible directly on your BlackBerry 10 smartphone. This could be done directly though the browser, or even better, directly by a BlackBerry <a href="http://developer.blackberry.com/html5/" target="_new">HTML5/WebWorks</a> application. By building and packaging your HTML5 application into a bar file (a BlackBerry app file container), it enjoys the same rights and privileges as a native application. These apps look, feel, and behave as native apps, as they don’t run inside a browser context. They don’t need to be online to work, and they can leverage great BlackBerry services like the <a href="http://developer.blackberry.com/html5/documentation/webworks-payment_service.html" target="_new">Payment Services SDK</a> and the <a href="http://developer.blackberry.com/html5/apis/blackberry.bbm.platform.html" target="_new">BBM APIs</a>. BlackBerry WebWorks apps can also be certified as <a href="http://developer.blackberry.com/builtforblackberry/" target="_new">Built for BlackBerry</a> affording them additional advantages.</p>
<p>The game shown below is called “Pearl Boy” and is a great example of what a WebGL application can do. It was developed by <a href="http://www.gootechnologies.com/" target="_new">Goo Technologies</a>, makers of the Goo Engine for GDC this year. It’s a 100% Web application, written using HTML5, Javascript, and of course, WebGL. The graphics and performance on the BlackBerry Z10 look great. Reflections, environment maps, pixel shaders, they’re all there. WebGL is the real deal.</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/04/gdc-2013.jpg?w=450" /></p>
<p>If you want to learn more about programming with WebGL on BlackBerry, check out these additional <a href="http://devblog.blackberry.com/?s=webgl&amp;search=" target="_new">WebGL resources on the BlackBerry DevBlog</a>. I also recommend you check out the O’Reilly book, “<a href="http://www.amazon.com/WebGL-Up-Running-Tony-Parisi/dp/144932357X" target="_new">WebGL: Up and Running</a>” by Toni Parisi.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14572/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14572/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14572&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/04/webgl-3d-gaming/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/649c096f0b8996184db6d0509771ecfb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lmcdunna</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/04/gdc-2013.jpg?w=450" medium="image" />
	</item>
		<item>
		<title>BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 5: User Interface</title>
		<link>http://devblog.blackberry.com/2013/03/blackberry-java-to-blackberry-10-cascades-porting-series-part-5-user-interface/</link>
		<comments>http://devblog.blackberry.com/2013/03/blackberry-java-to-blackberry-10-cascades-porting-series-part-5-user-interface/#comments</comments>
		<pubDate>Wed, 27 Mar 2013 19:12:42 +0000</pubDate>
		<dc:creator>suavekz</dc:creator>
				<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[porting]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14348</guid>
		<description><![CDATA[In this part of the series on porting BlackBerry Java applications to BlackBerry 10 using Cascades, we’ll examine the user interface.. Let’s take a side by side look at the UI components in both frameworks. The Cascades framework is a rich and powerful modern UI framework build on top of the Qt application framework. The [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14348&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>In this part of the series on porting BlackBerry Java applications to BlackBerry 10 using <a href="http://developer.blackberry.com/cascades" target="_new">Cascades</a>, we’ll examine the user interface.. Let’s take a side by side look at the UI components in both frameworks.</p>
<p>The Cascades framework is a rich and powerful modern UI framework build on top of the Qt application framework. The UI can be developed in C/C++ or Qt Modeling Language (QML) or both.</p>
<p>Lets take a look at a sample HelloWorld application in both frameworks:</p>
<p>HelloWorld side-by-side. A label in both Java and Cascades</p>
<table>
<tbody>
<tr>
<td>
<pre>// MAIN: the setup
public static void main(String[] args)    
{
      HelloApp app = new HelloApp();
      app.enterEventDispatcher();

}</pre>
</td>
<td>
<pre>	// MAIN: the setup
Q_DECL_EXPORT int main
(int argc, char **argv)
{
   Application app(argc, argv);
   new HelloWorld(&amp;app);
   return Application::exec();
}</pre>
</td>
</tr>
<tr>
<td>
<pre>// HELLO WORLD CLASS

public class HelloApp extends
   UiApplication {
public HelloApp () {
 HScreen scr = new HScreen();
  pushScreen( scr );
      }</pre>
</td>
<td>
<pre>	// HELLO WORLD CLASS

HelloWorld::HelloWorld 
(bb::cascades::Application *app)
: QObject(app)
{
    QmlDocument *qml = 
QmlDocument::create("asset:///main.qml")
.parent(this);

    // create root object for the UI
    AbstractPane *root = 
qml-&gt;createRootObject();
    app-&gt;setScene(root);
}</pre>
</td>
</tr>
<tr>
<td>
<pre>// SCREEN CLASS: THE UI

public class HScreen 
extends MainScreen {

  private LabelField lbl;
  public HScreen()
  {
    lbl = new   LabelField( "Welcome!" );

    add( lbl );</pre>
</td>
<td>
<pre>  }}	// QML Page : THE UI

Page {
    Container {
        layout: DockLayout {}
        Label {
            text: qsTr("Hello World")
}}}</pre>
</td>
</tr>
</tbody>
</table>
<p>Both frameworks start with the main application and the HelloWorld class. In the case of Java a screen gets pushed on the screen stack. In the case of Cascades a QML document gets associated with root UI object.</p>
<p>In Java, a Screen Class gets created by extending MainScreen and adding a LabelField to it. In Cascades a Page gets declared and a Label is placed inside a container as shown on the screen.</p>
<p>When embarking on porting any application that include the User Interface. It’s important to review the UI guidelines for both platforms.</p>
<p>The BlackBerry Java UI guidelines can be found at:<br />
<a href="https://developer.blackberry.com/design/bb7/" target="_new">https://developer.blackberry.com/design/bb7/</a></p>
<p>The BlackBerry 10 UI guidelines can be found at:<br />
<a><a href="https://developer.blackberry.com/design/bb10/" rel="nofollow">https://developer.blackberry.com/design/bb10/</a></a></p>
<h3><strong>A note on Java UI</strong></h3>
<p>The BlackBerry Java Development Environment (JDE) or the Eclipse Plugin is used to develop applications for BlackBerry OS 7.1 or lower.</p>
<p>There are two main supported frameworks for creating user interfaces in Java:</p>
<ul>
<li>MIDP UI APIs</li>
<li>BlackBerry UI APIs</li>
</ul>
<p>For compliance, the MIDP APIs are included for porting apps from MIDP devices. The BlackBerry UI APIs target specifically BlackBerry development and are the main focus of this article.</p>
<h3><strong>Rendering in Java And Cascades UI Frameworks </strong></h3>
<p>In Java UI rendering is done in “widgets” using the paint() functions. Normally, a list of such “widgets” will represent your entire UI. The system will go through the entire set of “widgets” and ask them to draw themselves by calling the “paint()” method. The consequences of this implementation are as follows:</p>
<table>
<tbody>
<tr>
<td>Customization: You can override the paint() method. This leads to inconsistency in the UI.</td>
<td>This is in fact how many Java UI custom components are created. This is usually an advanced activity involving drawing lines, circles and rectangles to get the desired UI look and effect.<br />
The end result is that each application can have completely different looking UI components that behave differently.</td>
</tr>
<tr>
<td>Side Effects: UI can block</td>
<td>If the paint() method is slow or the developer implemented their own custom component and their own paint(), the system UI can block executing a slow paint() function in one of the widgets.</td>
</tr>
<tr>
<td>Performance: Overdraw</td>
<td>For party covered or obscured widgets, the system first has to draw the entire widget and then overdraw several times. This results in performance penalty.</td>
</tr>
</tbody>
</table>
<p>In Cascades, rendering is done differently. Unlike in Java where the application is part of the rendering loop a Cascades application only manages the UI tree. The Cascades Rendering engine (which executes on a separate thread) takes care of drawing the UI. The consequences of this implementation are as follows:</p>
<table>
<tbody>
<tr>
<td>Customization: You cannot override the paint() method which leads to UI <strong>Consistency</strong>.</td>
<td>Every Cascades component is carefully crafted. These components blend and flow together and were designed to be used together. No cascades component is an island in and of itself. Thus Cascades <strong>custom</strong> components are usually <strong>composed</strong> of other existing components.</td>
<td></td>
</tr>
<tr>
<td>Side Effects: UI cannot block. No more hour-glassing during rendering!</td>
<td>Slow running application has no ability to block the UI. The speed of rendering depends on the complexity of the UI tree and the ability of the application to provide data to the renderer fast enough.</td>
</tr>
<tr>
<td>Performance: GPU optimizations</td>
<td>UI engine can get a holistic view of the entire user interface. This results in many GPU texture and state optimizations.</td>
</tr>
</tbody>
</table>
<p>For more information on the topic please see this blog post.</p>
<p>(<a href="http://devblog.blackberry.com/2012/09/cascades-custom-ui/" target="_new">http://devblog.blackberry.com/2012/09/cascades-custom-ui/</a>)</p>
<h3><strong>Navigation:</strong></h3>
<p><strong>Single Screen</strong></p>
<p>Normally a single screen Java application would extend from MainScreen as in the HelloWorld sample provided. Similarly in Cascades a Page would get created with individual components added to it.</p>
<table>
<tbody>
<tr>
<td><strong>Screen</strong></td>
<td><strong>Page</strong></td>
</tr>
<tr>
<td><img class="aligncenter size-full wp-image-14359" alt="Image1" src="http://rimdevblog.files.wordpress.com/2013/03/image1.jpg?w=173&#038;h=129" width="173" height="129" /></td>
<td><img class="aligncenter size-medium wp-image-14360" alt="Image2" src="http://rimdevblog.files.wordpress.com/2013/03/image2.jpg?w=188&#038;h=300" width="188" height="300" /></td>
</tr>
</tbody>
</table>
<p><strong>Stack of Screens</strong></p>
<p>In traditional Java applications flow is maintained by adding and removing screens to/from the stack, which is owned by the main application. The equivalent to this on BlackBerry 10 is the Navigation pane where individual pages can be pushed and popped from a stack. For more information on Cascades Navigation Pane please see: <a href="http://developer.blackberry.com/cascades/reference/bb__cascades__navigationpane.html" target="_new">http://developer.blackberry.com/cascades/reference/bb__cascades__navigationpane.html</a></p>
<table>
<tbody>
<tr>
<td><strong>Screen, MainScreen, FullScreen </strong></td>
<td><strong>             NavigationPane</strong></td>
</tr>
<tr>
<td>The screen transitions occur through push/pop from the screen stack</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image3.jpg" /></p>
</td>
<td>Navigation pane maintains a stack of screens</p>
<p style="text-align:center;"><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image4.jpg?w=300" /></p>
</td>
</tr>
</tbody>
</table>
<p><strong>Tabs and Filtering content</strong></p>
<p>In Java applications Tabs are used to display filtered content and are achieved with the PaneManagerModel. This can be achieved in Cascades using Segmented Control.</p>
<p>Cascades tabs allow the apps to change the flow of the application. In BlackBerry Java, this effect was achieved through the use of custom components.</p>
<table>
<tbody>
<tr>
<td>PaneManagerModel, Pane, HorizontalTabTitleView, PaneView, PaneManagerView</td>
<td>SegmentedControl<br />
<a href="http://developer.blackberry.com/cascades/reference/bb__cascades__segmentedcontrol.html" target="_new">http://developer.blackberry.com/cascades<br />
/reference/bb__cascades__segmentedcontrol.html</a></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image5.jpg?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image6.jpg?w=200" /></td>
</tr>
<tr>
<td>Custom Component implementing custom Toolbar<a><a href="http://docs.blackberry.com/en/developers/" rel="nofollow">http://docs.blackberry.com/en/developers/</a><br />
deliverables/17965/Toolbars_6_0_1137042_11.jsp</a></td>
<td>Tabbed Pane<a href="http://developer.blackberry.com/cascades/reference/bb__cascades__tabbedpane.html" target="_new">http://developer.blackberry.com/cascades<br />
/reference/bb__cascades__tabbedpane.html</a></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image7.jpg?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image8.jpg" /></td>
</tr>
</tbody>
</table>
<h3><strong>Layout</strong></h3>
<p><strong>Java:</strong></p>
<p><a href="http://btsc.webapps.blackberry.com/btsc/fetch/2000/348583/800332/800505/800508/How_To_-_Create_tabbed_view_screens.html?nodeid=1357482&amp;vernum=0">http://btsc.webapps.blackberry.com/btsc/fetch/2000/348583/800332/800505/800508/How_To_-_Create_tabbed_view_screens.html?nodeid=1357482&amp;vernum=0</a></p>
<p><strong>Cascades:</strong></p>
<p><a><a href="http://developer.blackberry.com/cascades/reference/user_interface_layouts.html" rel="nofollow">http://developer.blackberry.com/cascades/reference/user_interface_layouts.html</a></a></p>
<p>The following tables illustrate layout mapping of the most frequently used layouts.</p>
<p>In BlackBerry Java, the most common approach is to use combination of HorizontalFieldManager and VerticalFieldManager. This can be achieved in Cascades using the DockLayout.</p>
<table>
<tbody>
<tr>
<td>FlowFieldManager</td>
<td>Stack Layout default behavior</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image9.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image10.png" /></td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>HorizontalFieldmanager</td>
<td>Stack Layout with LayoutProperties<br />
and spaceQuota</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>VerticalFieldManager</td>
<td>Stack Layout with each component having<br />
HorizontalAlignment.Center</td>
</tr>
</tbody>
</table>
<table>
<tbody>
<tr>
<td>Combination of Horizontal<br />
and Vertical Field Managers</td>
<td>Dock Layout</td>
</tr>
<tr>
<td></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image11.png" /></td>
</tr>
</tbody>
</table>
<p>AbsoluteLayout</p>
<table>
<tbody>
<tr>
<td>AbsoluteFieldManager</td>
<td>AbsoluteLayout</td>
</tr>
</tbody>
</table>
<h3><strong>Menus:</strong></h3>
<p>The Java Menus documentation can be referenced at:</p>
<p><a><a href="http://developer.blackberry.com/java/documentation/menu_items_1970228_11.html" rel="nofollow">http://developer.blackberry.com/java/documentation/menu_items_1970228_11.html</a></a></p>
<p>The Cascades Menus can be reference at:</p>
<p><a href="http://developer.blackberry.com/cascades/documentation/ui/navigation/menus.html" target="_new">http://developer.blackberry.com/cascades/documentation/ui/navigation/menus.html</a></p>
<p>The most common way of interacting with content in BlackBerry Java was through the BlackBerry Menu (the hardware key). On BlackBerry 10, Cascades applications would use an action in the action menu to get the equivalent functionality.</p>
<p>BlackBerry Key Menu vs. BlackBerry 10 Action Menu</p>
<table>
<tbody>
<tr>
<td><strong>Menu (Screenshot)</strong></td>
<td><strong>ActionSet</strong></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image12.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image13.png?w=200" /></td>
</tr>
</tbody>
</table>
<p>Application “Settings” Menu. [BlackBerry 10 Only]</p>
<p>A swipe-down menu is accessible on BlackBerry 10 for <strong>infrequently</strong> used actions such as settings, getting customer information, managing accounts or downloads etc…</p>
<table>
<tbody>
<tr>
<td>N/A</td>
<td>Menu class and ActionItem object</td>
</tr>
<tr>
<td></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image14.png?w=200" /></td>
</tr>
</tbody>
</table>
<p><strong>Context Menu</strong></p>
<p>Context menu is a common BlackBerry specific method of acting upon an item in a specific context. This can be achieved on both platforms as illustrated below.</p>
<table>
<tbody>
<tr>
<td>Context Menu</td>
<td>contextActions</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image15.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image16.png?w=200" /></td>
</tr>
</tbody>
</table>
<p><strong>Custom Menu</strong></p>
<p>In certain cases you might want to create a completely custom menu that makes sense for your application. This is possible in BlackBerry 10 using the MenuManager API.</p>
<table>
<tbody>
<tr>
<td>Override keyDown and then<br />
create a custom component to display on the screen.</td>
<td>MenuManager</td>
</tr>
<tr>
<td></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/image17.png" /></td>
</tr>
</tbody>
</table>
<h3><strong>Active Home Screen Elements</strong></h3>
<p>In BlackBerry Java, apps would normally change the icons and the icon descriptions to keep track of the application state. For more information on the APIs please see:</p>
<p><a href="http://www.blackberry.com/developers/docs/7.1.0api/" target="_new">http://www.blackberry.com/developers/docs/7.1.0api/</a></p>
<p>In BlackBerry 10, apps would use Active Frames to update the status of an application. For more information of Active Frames please see:</p>
<p><a> <a href="http://developer.blackberry.com/cascades/documentation/ui/active_frames/index.html" rel="nofollow">http://developer.blackberry.com/cascades/documentation/ui/active_frames/index.html</a></a></p>
<p>Active Home Screen App Elements</p>
<table>
<tbody>
<tr>
<td>Active Icons</td>
<td>Active Frames</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/18.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/19.png?w=200" /></td>
</tr>
</tbody>
</table>
<p><strong>Notifications</strong></p>
<p>To learn more about BlackBerry 7 notifications please see:</p>
<p><a href="https://developer.blackberry.com/java/documentation/message_list_1984778_11.html" target="_new">https://developer.blackberry.com/java/documentation/message_list_1984778_11.html</a></p>
<p>To learn more about BlackBerry 10 hub notifications please see:</p>
<p><a href="https://developer.blackberry.com/cascades/documentation/device_comm/notifications/index.html" target="_new">https://developer.blackberry.com/cascades/documentation/device_comm/notifications/index.html</a></p>
<table>
<tbody>
<tr>
<td style="text-align:center;"><strong>MessageList</strong></td>
<td style="text-align:center;"><strong>Hub Notifications</strong></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/20.png" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/21.png?w=200" /></td>
</tr>
</tbody>
</table>
<p><strong>Popup Dialogs</strong></p>
<table>
<tbody>
<tr>
<td style="text-align:center;"><strong>DialogFieldManager and PopupManager</strong></td>
<td style="text-align:center;"><strong>NotificationDialog</strong></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/22.png" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/23.png?w=185" /></td>
</tr>
</tbody>
</table>
<h3><strong>Custom Controls</strong></h3>
<p>In BlackBerry Java, custom controls are challenging to implement and often involve overriding the paint() method of native components. For more information and samples please see:</p>
<p><a href="https://developer.blackberry.com/java/documentation/advanced_ui_components_and_managers_1970227_11.html" target="_new">https://developer.blackberry.com/java/documentation/<br />
advanced_ui_components_and_managers_1970227_11.html</a></p>
<p>In Cascades, custom controls are created by combining existing components and modifying their behavior. For more information on how to create a custom control in Cascades, please see:</p>
<p><a href="http://developer.blackberry.com/cascades/documentation/dev/integrating_cpp_qml/custom_control_tutorial.html" target="_new">http://developer.blackberry.com/cascades/documentation/<br />
dev/integrating_cpp_qml/custom_control_tutorial.html</a></p>
<table>
<tbody>
<tr>
<td><strong>Sample Use of Custom Components</strong></td>
<td><strong>Custom Control </strong></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/24.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/25.png?w=200" /></td>
</tr>
</tbody>
</table>
<h3><strong>Dialog Boxes, Prompts, Toasts</strong></h3>
<p>The BlackBerry Java platform supports Dialogs of different format (information, status, inquiry). For information on dialog boxes please see:</p>
<p><a href="http://developer.blackberry.com/java/documentation/dialog_boxes_1970203_11.html" target="_new">http://developer.blackberry.com/java/documentation/dialog_boxes_1970203_11.html</a></p>
<p>Cascades supports dialog boxes, prompts and toasts. For more information on how to implement them please see:</p>
<p><a href="http://developer.blackberry.com/cascades/documentation/ui/dialogs_toasts/index.html" target="_new">http://developer.blackberry.com/cascades/documentation/ui/dialogs_toasts/index.html</a></p>
<table>
<tbody>
<tr>
<td>Dialog Class</td>
<td>Dialog, SystemDialog, SystemListDialog …<br />
Below is an example of a custom dialog box.</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/26.png" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/27.png?w=182" /></td>
</tr>
</tbody>
</table>
<h3><strong>Lists</strong></h3>
<p>For reference of List implementations in Java please see:</p>
<p><a href="http://developer.blackberry.com/java/documentation/lists_and_tables_1970216_11.html" target="_new">http://developer.blackberry.com/java/documentation/lists_and_tables_1970216_11.html</a></p>
<p>For list implementation in Cascades please see:</p>
<p><a href="http://developer.blackberry.com/cascades/documentation/ui/lists/" target="_new">http://developer.blackberry.com/cascades/documentation/ui/lists/</a></p>
<p><strong>Active Home Screen App Elements</strong></p>
<table>
<tbody>
<tr>
<td>SimpleList, RichList, TableView</td>
<td>ListView</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/28.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/29.png?w=200" /></td>
</tr>
</tbody>
</table>
<h3><strong>Text</strong></h3>
<p>For reference on how to handle text in Cascades please see:</p>
<p><a><a href="http://developer.blackberry.com/cascades/documentation/ui/text/index.html" rel="nofollow">http://developer.blackberry.com/cascades/documentation/ui/text/index.html</a></a></p>
<p><strong>Label</strong></p>
<table>
<tbody>
<tr>
<td>Label<a href="http://developer.blackberry.com/java/documentation/text_field_label_1984828_11.html" target="_new">http://developer.blackberry.com/java/<br />
documentation/text_field_label_1984828_11.html</a></td>
<td>Label</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/30.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/31.png" /></td>
</tr>
</tbody>
</table>
<p><strong>Text Field</strong></p>
<table>
<tbody>
<tr>
<td>LabelField, RitchTextField, BasicEditField, PasswordEditField, EmailAddressEditField, KeywordFilterField, AutoTextEditField</td>
<td>TextField with TextFieldInputMode<br />
Of type:<br />
<a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-default" target="_new">Default, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-text" target="_new">Text, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-emailaddress" target="_new">EmailAddress, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-password" target="_new">Password, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-chat" target="_new">Chat, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-url" target="_new">Url, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-phonenumber" target="_new">PhoneNumber, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-numbersandpunctuation" target="_new">NumbersAndPunctuation,</a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-numericpassword" target="_new">NumericPassword, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textfieldinputmode.html#enumvalue-pin" target="_new">Pin </a></td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/32.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/33.png" /></td>
</tr>
</tbody>
</table>
<p><strong>Text Area</strong></p>
<table>
<tbody>
<tr>
<td>RitchTextField and ActiveRitchTextField</td>
<td>TextArea with TextAreaInputMode of type:<br />
<a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textareainputmode.html#enumvalue-default" target="_new">Default, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textareainputmode.html#enumvalue-text" target="_new">Text, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textareainputmode.html#enumvalue-chat" target="_new">Chat, </a><a href="http://developer.blackberry.com/cascades/reference/bb__cascades__textareainputmode.html#enumvalue-emailaddress" target="_new">EmailAddress </a></td>
</tr>
<tr>
<td></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/34.png" /></td>
</tr>
</tbody>
</table>
<h3><strong>Web Content</strong></h3>
<p><strong>WebView</strong></p>
<table>
<tbody>
<tr>
<td>BrowserField<br />
<a href="//www.blackberry.com/developers/docs/7.1.0api/net/rim/device/api/browser/field2/BrowserField.html" target="_new;">http://www.blackberry.com/developers/<br />
docs/7.1.0api/net/rim/device/api/<br />
browser/field2/BrowserField.html</a></p>
<pre>BrowserField  BrowserField browserField = 
new BrowserField();
screen.add( browserField ); 
browserField.requestContent
( "http://blackberry.com" );</pre>
</td>
<td>WebView<br />
<a href="http://developer.blackberry.com/cascades/reference/bb__cascades__webview.html" target="_new">http://developer.blackberry.com/<br />
cascades/reference/bb__cascades<br />
__webview.html</a></p>
<pre>WebView {
    id: webView
    url: " http://blackberry.com "
}</pre>
</td>
</tr>
<tr>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/35.png?w=200" /></td>
<td><img alt="" src="http://rimdevblog.files.wordpress.com/2013/03/36.png" /></td>
</tr>
</tbody>
</table>
<p></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14348/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14348/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14348&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/03/blackberry-java-to-blackberry-10-cascades-porting-series-part-5-user-interface/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/da12ace9c233f2b65ec288ed8ff59f06?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">suavekz</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image1.jpg" medium="image">
			<media:title type="html">Image1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image2.jpg?w=188" medium="image">
			<media:title type="html">Image2</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image3.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image4.jpg?w=300" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image5.jpg?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image6.jpg?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image7.jpg?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image8.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image9.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image10.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image11.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image12.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image13.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image14.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image15.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image16.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/image17.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/18.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/19.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/20.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/21.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/22.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/23.png?w=185" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/24.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/25.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/26.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/27.png?w=182" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/28.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/29.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/30.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/31.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/32.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/33.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/34.png" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/35.png?w=200" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/36.png" medium="image" />
	</item>
		<item>
		<title>BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 4: Multimedia</title>
		<link>http://devblog.blackberry.com/2013/03/cascades-porting-series-multimedia/</link>
		<comments>http://devblog.blackberry.com/2013/03/cascades-porting-series-multimedia/#comments</comments>
		<pubDate>Wed, 20 Mar 2013 13:31:27 +0000</pubDate>
		<dc:creator>Paul Bernhardt</dc:creator>
				<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry 7]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[Port]]></category>
		<category><![CDATA[porting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=14214</guid>
		<description><![CDATA[Multimedia on BlackBerry 7 was based on the multimedia JSR (135). There were a lot of limitations regarding supported formats, how many sounds could be played at the same time, and even what worked on which device. In BlackBerry 10, there are a wide range of supported codecs, containers, and protocols. For video, we recommend [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14214&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_14224" class="wp-caption aligncenter" style="width: 260px"><a href="http://giphy.com/gifs/TznYiZCFXeLle"><img class="size-full wp-image-14224" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/03/original.gif?w=250&#038;h=195" width="250" height="195" /></a><p class="wp-caption-text"><a href="http://giphy.com/gifs/TznYiZCFXeLle" target="_blank">http://giphy.com/gifs/TznYiZCFXeLle</a></p></div>
<p>Multimedia on BlackBerry 7 was based on the multimedia JSR (135). There were a lot of limitations regarding supported formats, how many sounds could be played at the same time, and even what worked on which device.</p>
<p>In BlackBerry 10, there are a wide range of supported <a href="https://developer.blackberry.com/develop/supported_media/bb10_media_support.html" target="_new">codecs, containers</a>, and <a href="https://developer.blackberry.com/devzone/develop/supported_media/bb10_pbos_streaming_support.html" target="_new">protocols</a>.</p>
<p>For video, we recommend an MP4 containing H.264 video at 720p and AAC audio. For audio, it depends a lot on your use case. In addition to mainstays such as MP3 and AAC, we support things like <a href="http://flac.sourceforge.net/" target="_new">FLAC</a> and <a href="http://www.vorbis.com/" target="_new">Ogg Vorbis</a>.</p>
<p>To actually play your multimedia, you should be looking at the <a href="https://developer.blackberry.com/cascades/reference/bb__multimedia__mediaplayer.html" target="_new">MediaPlayer</a> class. That will handle audio or video. You can also easily play the built in system sounds with the <a href="https://developer.blackberry.com/cascades/reference/bb__multimedia__systemsound.html" target="_new">SystemSound</a> class.</p>
<ul>
<li><a href="https://developer.blackberry.com/cascades/documentation/design/audio_video/playing_audio_or_video.html" target="_new">Tutorial: Playing Audio or Video</a></li>
<li><a href="https://developer.blackberry.com/cascades/documentation/design/audio_video/playing_system_sounds_in_an_app_tutorial.html" target="_new">Tutorial: Playing SystemSounds in an app</a></li>
</ul>
<p>Recording audio is through the AudioRecorder class. You can record a few different formats, including AAC (.mp4) and PCM (.wav).</p>
<ul>
<li><a href="https://developer.blackberry.com/cascades/reference/bb__multimedia__audiorecorder.html" target="_new">Recording Audio</a></li>
</ul>
<p>This is all pretty straightforward and should be pretty easy to adjust to if you are used to the Java way of doing things. There are a few key differences that you might not be expecting though.</p>
<p>The first is the <a href="https://developer.blackberry.com/cascades/reference/bb__multimedia__nowplayingconnection.html" target="_new">NowPlayingConnection</a>. If you are building any sort of media player type application: use it. What it does is let the user control the volume and playback of your app from in another app, using the volume keys on the side. You can also provide a bit of data like a thumbnail image and the current song playing. No user is going to want to have to go back into your application just to change the volume, and it’s really easy to implement.</p>
<ul>
<li><a href="https://developer.blackberry.com/cascades/documentation/design/audio_video/working_with_the_nowplayingconnection.html" target="_new">Working with NowPlayingConnection</a></li>
</ul>
<p>Secondly, unlike in BlackBerry 7, in BlackBerry 10 you can enable echo cancellation in order to do VoIP. There is no convenient Qt API to do this, but you can use <a href="http://developer.blackberry.com/native/reference/bb10/audio_libref/topic/summary.html" target="_new">QSA</a> and <a href="http://developer.blackberry.com/native/reference/bb10/audio_libref/topic/libs/snd_pcm_open_name.html" target="_new">open a connection</a> to the “voice” PCM audio interface.</p>
<ul>
<li><a href="http://devblog.blackberry.com/2013/01/blackberry-10-voip/" target="_new">BlackBerry 10 VoIP</a></li>
</ul>
<p>The other big difference is that you can’t just feed bytes directly into the media player. You need to have an actual file to play, or be using one the streaming protocols supported. Of course, there is nothing stopping you from dropping down to <a href="http://connect.creativelabs.com/openal/default.aspx" target="_new">OpenAL/ALUT</a> and doing whatever you need if that’s your style. You also have <a href="http://developer.blackberry.com/native/reference/bb10/audio_libref/topic/summary.html" target="_new">QSA</a> available as mentioned before, as well as <a href="http://developer.blackberry.com/native/reference/bb10/mmrenderer_libref/topic/about.html" target="_new">mm-renderer</a> (which is what MediaPlayer is using), but that is all beyond the scope of this article.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/14214/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/14214/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=14214&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/03/cascades-porting-series-multimedia/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/7a3bf8c930434e9f401be449eb7ea556?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">paulbe1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/original.gif" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>You Just Can’t Port an App to BlackBerry 10 in 36 hours!…or Can You?</title>
		<link>http://devblog.blackberry.com/2013/02/port-app-to-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2013/02/port-app-to-blackberry-10/#comments</comments>
		<pubDate>Fri, 22 Feb 2013 14:59:01 +0000</pubDate>
		<dc:creator>lmcdunna</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13912</guid>
		<description><![CDATA[I’ve heard this many times. It just can’t be done, they say. Porting an application, a “real” application to a new and unfamiliar platform takes at least 3 to 6 months, numerous developers, designers, lots of QA testing, diligent software engineering practices, et cetera. This makes a lot of sense, right? It’s been the conventional [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13912&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>I’ve heard this many times. It just can’t be done, they say. Porting an application, a “real” application to a new and unfamiliar platform takes at least 3 to 6 months, numerous developers, designers, lots of QA testing, diligent software engineering practices, et cetera. This makes a lot of sense, right? It’s been the conventional wisdom for as long as I can remember. How, then, have developers been porting their applications to BlackBerry 10 so quickly? Let’s take a look.</p>
<p>It’s true that learning a new platform can take months. Luckily, those standard rules of learning time don’t apply in certain cases – and that often happens to be true for BlackBerry 10. I’ll explain what I mean later.</p>
<p>First, let me share with you some data from our Port-a-thons. In our “Got Game Port-a-thon”, we had over 4,000 gaming apps ported by developers to BlackBerry 10 from other platforms in 36 hours. A few weeks later, we ran another port-a-thon and had 15,000 apps ported. Only a week later, an additional 19,000 apps were ported in the 36 hour window (<a href="http://devblog.blackberry.com/2013/01/blackberry-10-port-a-thon-recap/" target="_new">recap of port-a-thons here</a>). So, you might be thinking, “How could this happen if it takes 3-6 months to learn a new platform?” The reason is simple: Developers don’t have to learn a new set of skills to get their app running on BlackBerry 10. We received games and apps written in all four of the runtimes BlackBerry 10 supports: Native C and C++, HTML5, Adobe AIR, and Android Java. Here&#8217;s why it was so easy in each of these cases:</p>
<p><span id="more-13912"></span></p>
<h3><strong>Native C and C++ Apps</strong></h3>
<p>Our native platform is Posix-compliant C and C++, and supports a lot of libraries and gaming engines leveraged by game developers including Unity3D, Marmalade, Appcelerator, Shiva3D, NME, OpenGL ES, OpenAL, Cocos2D-X, Box2D, Skia, Lua, and so on. (Learn more about all the <a href="http://developer.blackberry.com/native/reference/bb10/library_support_at_a_glance.html" target="_new">native library support options here</a>.) For many developers, the majority of time spent porting their app to BlackBerry 10 was just setting up their tooling and getting their signing keys.</p>
<p>Now, if your app is full of custom, platform-specific APIs or if your app uses a lot of device specific UI, then of course it will take you longer than a day to port your app. But learning Cascades, the UI framework for native development on BlackBerry 10, doesn’t take very long – especially if you’re familiar with Qt and QML. What we’re finding is that most mobile developers today are designing their apps with portability in mind at the outset. They’re separating out platform specific stuff from the common stuff. Or, they’re leveraging a framework like Marmalade that does a lot of this platform abstraction work for them under their APIs. What’s left is pretty easy to port because you have a solid, standards-compliant platform like BlackBerry 10 on which to develop. Things just work.</p>
<h3><strong>Android Apps</strong></h3>
<p>One misconception I hear a lot is that the BlackBerry Android runtime is an “emulator”. This isn’t the case. Our Android runtime is a pure port of the open source Dalvik VM directly onto QNX. Other mobile vendors ported the same code to Linux, whereas we went straight to QNX – a real-time embedded OS about 1% the size of standard Linux and highly efficient. We don’t touch the byte codes or modify the programs in any way – all we do is re-package them into a different archive format that helps us maintain security for your protection. Either your app runs or it doesn’t. If it doesn’t, our tools will tell you why immediately and you can decide if it’s something you can work around. You can even check out your app using our <a href="https://bdsc.webapps.blackberry.com/android/bpaa/" target="_new">online tool</a>.</p>
<p>We don’t support apps that use proprietary Google APIs, and we don’t support native extensions. Also, for security reasons, BlackBerry 10 does not allow Android Java apps to run in the Enterprise partition; they may only run in the Personal partition (learn more about <a href="http://us.blackberry.com/business/software/blackberry-balance.html?lpos=us:bb:search:Business&amp;lid=us:bb:search:Business:BlackBerry-Balance-Technology#tab-1" target="_new">BlackBerry Balance</a>). Visit our <a href="http://developer.blackberry.com/android" target="_new">Android developer site</a> for more info about the limitations of Android apps on BlackBerry. “Porting” Android apps to BlackBerry 10 is trivial. I regularly do this in less than 60 seconds per app &#8211; no lie. It literally takes me longer to copy someone’s apk from a USB drive than it does to port it.</p>
<h3><strong>HTML5 Apps</strong></h3>
<p>BlackBerry 10 has maintained one of the highest HTML5 conformance scores in the industry for many months (see <a href="http://html5test.com/" target="_new">http://html5test.com/</a>). BlackBerry 10 is not only first in the mobile rankings &#8211; it outscores all desktop browsers like Chrome, Safari, and Firefox, and it also outscores iPhone, iPad, Android, Firefox Mobile, Opera, etc. So, if you have a web app with all that silly Java or Objective-C wrapper business that Android and iOS make you put in there, you just have to strip that out all that nonsense and re-package for BlackBerry. Web apps on BlackBerry are first-class citizens on our platform; they have sensor APIs, payment capabilities and access to device camera, and they don’t need or require an Internet connection to run.</p>
<p>BlackBerry 10 also supports things like WebGL and WebSockets –functionality not found in many other mobile platforms. Check out all the API support for augmenting <a href="http://developer.blackberry.com/html5/apis/" target="_new">HTML5 on BlackBerry here</a>. We also <a href="http://developer.blackberry.com/html5/documentation/using_javascript_libraries_frameworks_in_webworks.html" target="_new">support the leading web frameworks</a> like jQuery, Sencha, dojo, and of course Apache Cordova. For the same reasons that native C and C++ apps “port” very quickly to BlackBerry 10, so do HTML5 apps. The standards support is there. The frameworks are there.</p>
<h3><strong>Adobe AIR Apps</strong></h3>
<p>AIR is AIR; they just work. You can learn more about how to <a href="http://developer.blackberry.com/air" target="_new">get your Adobe AIR apps on BlackBerry 10 here</a>.</p>
<h3><strong>Summary</strong></h3>
<p>Hopefully, the question about whether you can “port” an app in a very short amount of time to BlackBerry 10 should be clear now. Through BlackBerry 10’s adherence to industry standards &#8211; and by developers’ common practice of architecting for cross platform deployment &#8211; mobile apps are, and have been, easily ported to BlackBerry 10. For more information, check out our new developer site: <a href="http://developer.blackberry.com" target="_new">http://developer.blackberry.com</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13912/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13912/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13912&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/02/port-app-to-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/649c096f0b8996184db6d0509771ecfb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lmcdunna</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry Java to BlackBerry 10 Cascades Porting Series – Part 1: Introduction</title>
		<link>http://devblog.blackberry.com/2013/01/port-java-to-cascades-part-1/</link>
		<comments>http://devblog.blackberry.com/2013/01/port-java-to-cascades-part-1/#comments</comments>
		<pubDate>Thu, 31 Jan 2013 17:07:38 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Qt]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[app porting]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[port app to BlackBerry 10]]></category>
		<category><![CDATA[porting]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13401</guid>
		<description><![CDATA[With all the excitement around BlackBerry 10 launch, one key request from our developer community is how to bring your existing BlackBerry Java applications to BlackBerry 10. As always, we at RIM developer relations constantly strive to break any barriers for developers. Starting today, we will be publishing a series of blog posts specifically designed [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13401&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-13402" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/01/bb10-porting.jpg?w=557&#038;h=408" width="557" height="408" /></p>
<p>With all the excitement around BlackBerry 10 launch, one key request from our developer community is how to bring your existing BlackBerry Java applications to BlackBerry 10. As always, we at RIM developer relations constantly strive to break any barriers for developers.</p>
<p>Starting today, we will be publishing a series of blog posts specifically designed to help port your existing BlackBerry Java application to BlackBerry 10. As you may already be aware, BlackBerry Java is no longer supported on BlackBerry 10. Our goal here is to provide you all the info needed to quickly migrate your app functionality.</p>
<p>The BlackBerry 10 Native SDK enables you to develop applications in C/C++ and provides an open-source friendly environment for porting POSIX compliant code. It comes with the Cascades framework allowing you to build visually rich applications. The key focus of this development guide is specifically on BlackBerry 10 Cascades development. For more information on BlackBerry Native Development, please refer to <a href="http://developer.blackberry.com/native/" target="_new">http://developer.blackberry.com/native/</a></p>
<p><span id="more-13401"></span></p>
<p><img class="aligncenter size-full wp-image-13403" alt="cascades-porting-2" src="http://rimdevblog.files.wordpress.com/2013/01/cascades-porting-2.jpg?w=600&#038;h=265" width="600" height="265" /></p>
<h3><strong>What is Cascades?</strong></h3>
<p>BlackBerry Cascades is built using the Qt framework, which allows Cascades to leverage the Qt object model, event model and threading model. BlackBerry Cascades enables you to develop your UI in C++, Qt Modeling Language (QML), or both. Qt Modeling Language (QML) is a declarative language that&#8217;s based on JavaScript and is included as part of Qt. You can use QML to describe the structure and behavior of a set of UI controls. BlackBerry Cascades uses a modified version of QML to let you create UIs for your apps.</p>
<p>One fundamental importance when looking to develop your BlackBerry Cascades application is deciding when to use QML or C++. You can use both of these languages in your application, but as a general rule of thumb you should use QML for your UI development and C++ for your business logic. Please refer to the below link more information on BlackBerry Cascades development and to download Native SDK and BlackBerry 10 Simulator. <a href="https://developer.blackberry.com/cascades/" target="_new">https://developer.blackberry.com/cascades/</a></p>
<h3><strong>API Feature Parity</strong></h3>
<p>One of the main challenges while migrating app functionality from BlackBerry Java to Cascades is finding the correct mapping of APIs. To simplify this process, below is an API Feature Parity table that covers the most common BlackBerry Java APIs and their corresponding equivalent API in Cascades.</p>
<p><img class="aligncenter size-full wp-image-13412" alt="cascades-table" src="http://rimdevblog.files.wordpress.com/2013/01/cascades-table1.jpg?w=593&#038;h=959" width="593" height="959" /></p>
<p>As you can see from the above table image, most of the common Java APIs have a direct mapping in Cascades making it easy for you to port your existing BlackBerry Java application to BlackBerry 10.</p>
<p>Please stay tuned for series Part 2 – Application Life Cycle.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13401/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13401/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13401&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/port-java-to-cascades-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/41e8b1a2189dfce0a51887beab21795d?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">gurtejsan1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/01/bb10-porting.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/01/cascades-porting-2.jpg" medium="image">
			<media:title type="html">cascades-porting-2</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/01/cascades-table1.jpg" medium="image">
			<media:title type="html">cascades-table</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry Jam Session Hackathon – Rio de Janeiro, Brazil</title>
		<link>http://devblog.blackberry.com/2013/01/blackberry-jam-session-hackathon-rio-de-janeiro-brazil/</link>
		<comments>http://devblog.blackberry.com/2013/01/blackberry-jam-session-hackathon-rio-de-janeiro-brazil/#comments</comments>
		<pubDate>Thu, 03 Jan 2013 16:42:02 +0000</pubDate>
		<dc:creator>demianborba</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adobe actionscript]]></category>
		<category><![CDATA[adobe air]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[Cascades/Qt]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12821</guid>
		<description><![CDATA[Guest post from Zak P. &#8211; Ed. [ YouTube link for mobile viewing ] Winner – Best App Awarded to: BB Rocks University students: Felipe Bonezi, Vinícius Araújo, Marcos Vinícius Silva and Vinícius Dias decided to combine their wide range of mobile app development experience and participate in the BlackBerry Jam Session Hackathon in Rio [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12821&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><i>Guest post from Zak P. &#8211; Ed.</i></p>
<p style="text-align:center;"><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='560' height='315' src='http://www.youtube.com/embed/s41ypMtOz5I?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>
<p style="text-align:center;">[ <a href="http://www.youtube.com/watch?v=s41ypMtOz5I" target="_new">YouTube link for mobile viewing</a> ]</p>
<h3><strong>Winner – Best App<br />
Awarded to: BB Rocks</strong></h3>
<p>University students: Felipe Bonezi, Vinícius Araújo, Marcos Vinícius Silva and Vinícius Dias decided to combine their wide range of mobile app development experience and participate in the BlackBerry Jam Session Hackathon in Rio de Janeiro, Brazil. It’s a good thing they did – the team’s submission, Beegoo, was named “Best App!”</p>
<p><i>On their winning app, Beegoo&#8230;</i></p>
<p>“Many people want the convenience of a car but don’t own one. As a way to help minimize the impact of the greenhouse effect, we developed Beegoo. Beegoo is a carpooling social network where people can either offer or solicit rides with others. The main goal of the app is to minimize the need for all members of the social network to own a car. The Beegoo app has the potential to do both social and environmental good.”</p>
<p><i>On developing with Cascades++&#8230;</i></p>
<p>The BB Rocks team has a lot of experience developing for other platforms and the Beegoo app was the team’s first time working with Research In Motion. “We studied Cascades++ a couple weeks before participating in the BlackBerry Jam Session Hackathon and it was really easy to learn. We were able to leverage our past experience with C++ and Qt. Cascades™++ really does a lot of the work for you. The interface builder is really easy to understand and we developed our user interface using C++ and the Qt Modeling Language.</p>
<p><span id="more-12821"></span></p>
<p><i>On participating in the Hackathon and working with Research In Motion&#8230;</i></p>
<p>“The BlackBerry Jam Session Hackathon was a great venue to learn new solutions to meet our development needs, make friends and do some great networking. We learned a new programming language and won the challenge, so there isn’t anything better than that! RIM is a company devoted to developers. We feel that the future is very promising for the BlackBerry 10 platform.”</p>
<h3><strong>Winner – Best Red Bull App<br />
Awarded to: Team Red Bull A-Z</strong></h3>
<p>Team Red Bull A-Z features talented students and developers with experience primarily focused on web development. Their Red Bull A-Z app is actually the first mobile application anyone on the team has ever developed!</p>
<p><i>On their winning app, “Red Bull A-Z”&#8230;</i></p>
<p>“The application is essentially a message aggregator that users can launch to follow a live event. For example, if the user is watching a mixed martial arts fight, they can follow all of the real-time messages that are coming in from a variety of social networks.”</p>
<p><i>On deciding to participate in the BlackBerry Jam Session Hackathon&#8230;</i></p>
<p>“Events like this are always great for developers. The Hackathon was particularly important for us because we had never developed a mobile application, and didn’t know very much about the BlackBerry 10 platform. If we had any questions, the Research In Motion team was more than happy to help. Their feedback was also very helpful.”</p>
<p><i>On choosing to develop with the BlackBerry 10 SDK for Adobe AIR&#8230;</i></p>
<p>“One of our team members had extensive experience in web development, including HTML, CSS, JavaScript and Adobe ActionScript 3, so he set the environment one day before the event. It was a real benefit to be able to choose between a broad range of work flows, editors, SDK versions and different ways to compile and deploy the project. We used FDT and the Flex SDK to edit and compile the project. Once we did all the configurations, it was very easy to configure the other computers in the same way. We loved being able to work with Adobe AIR, especially since one of our team members had so much experience with Adobe ActionScript 3. Research In Motion clearly did its homework!”</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12821/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12821/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12821&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/blackberry-jam-session-hackathon-rio-de-janeiro-brazil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/c8c9ef384438a2192d22b10543509dab?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">dborbarim</media:title>
		</media:content>
	</item>
		<item>
		<title>Application Security Part I: Whose Responsibility Is It?</title>
		<link>http://devblog.blackberry.com/2012/12/application-security-part-1/</link>
		<comments>http://devblog.blackberry.com/2012/12/application-security-part-1/#comments</comments>
		<pubDate>Thu, 06 Dec 2012 19:05:24 +0000</pubDate>
		<dc:creator>lmcdunna</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[BlackBerry World]]></category>
		<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Assets]]></category>
		<category><![CDATA[Authentication]]></category>
		<category><![CDATA[Authorization]]></category>
		<category><![CDATA[MDM]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12486</guid>
		<description><![CDATA[This is the first post in a two part series about security. In this post, I tackle the issue of responsibility. In Part II, we’ll explore some things that developers need to know to help them write secure apps. I sat on a panel recently at Sprint’s Open Solutions Conference in San Jose titled “Consumer [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12486&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12575" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/bbjamasia2012_hands-on_labs_img_2856-e1354820632548.jpg?w=600&#038;h=400" height="400" width="600" /></p>
<p>This is the first post in a two part series about security. In this post, I tackle the issue of responsibility. In Part II, we’ll explore some things that developers need to know to help them write secure apps.</p>
<p>I sat on a panel recently at Sprint’s Open Solutions Conference in San Jose titled “<a href="http://developer.sprint.com/dynamicContent/devcon2012/overview/6?sliderId=0&amp;sortOrderId=1" target="_new">Consumer Application Security for Developers</a>”. Sexy topics like application security rarely pack a session hall at any conference and this was no exception. However, the attendance was much higher than I expected (about 30 people) and the discussion was very lively and interactive. It was immediately clear to me that developers &#8211; perhaps as consumers themselves &#8211; are thinking more about security than they had in the past. This is a good thing.</p>
<h3><strong>Whose Problem is Security?</strong></h3>
<p>One of the first questions that came up in the panel was: “Whose problem is security?” Our moderator suggested a number of potential “owners” for this problem and posed the question to his panel. Is it the carrier’s problem? How about the Handset OEM? The OS? Your employer’s IT admin? The app developer? The consumer? As you can see, there are a lot of parties to point fingers at when something goes awry.</p>
<p>I couldn’t help but jump on this one first. The answer is obvious: Security is everyone’s responsibility. Each player in the mobile device value chain is responsible for providing a secure environment over the part they control. At its most fundamental level, security is about protecting valuable assets from those who seek to steal or exploit them. You wouldn’t leave your house in the morning without locking the door, right? Even greater diligence is required in the digital world because the value can be greater, and the thieves are invisible.</p>
<p><span id="more-12486"></span></p>
<h3><strong>Security is everyone’s responsibility</strong></h3>
<p><strong>The Carrier:</strong> The carrier is responsible for providing a network that is secure from being attacked, snooped, or otherwise compromised. As carriers reduce their investments in their own app catalogs, their responsibility with app security lessens but responsibility for cellular and data network integrity remains.</p>
<p><strong>The Device:</strong> The device’s operating system (OS) is at the center of security. The OS’s responsibility is to provide a secure environment for all applications, services, data storage, and network connectivity. The OS is responsible for handling permissions and defending against viruses and malware. Attackers primarily seek to exploit weaknesses in the OS or in its core applications such as web browsers. This is why it’s so important to design security into the OS when it’s being architected and built. Platform providers that offer App Stores have an additional responsibility to ensure that the apps it stocks in its store are safe from malware and abuse like piracy. It should be no surprise to anyone that RIM takes the issues of security very seriously.</p>
<p><strong>The IT Administrator:</strong> The number one responsibility of IT at any high-tech company is protecting the company’s Intellectual Property (IP) –it’s like the crown jewels of the company’s value. In a world where IT administrators directly managed the mobile devices that had access to the company’s jewels, their ability to protect them was pretty clear. However, with today’s BYOD trend, their ability to protect the company’s assets and IP has become less clear. Only RIM has addressed this uncertainty and given control back to IT administrators and CIOs with its <a href="http://us.blackberry.com/business/software/blackberry-mobile-fusion.html#tab-1" target="_new">BlackBerry Mobile Fusion</a> (IT’s MDM Portal) and <a href="http://us.blackberry.com/business/software/blackberry-balance.html#tab-1" target="_new">BlackBerry Balance</a> (the client side partitioning; controlled by a simple gesture). With these products and services, IT administrators can enforce corporate security policies and manage remote devices with confidence.</p>
<p><strong>The App Developer:</strong> App developers have a responsibility too. It’s their job to build an application that can’t be exploited by attackers and protects sensitive information that the user provides. Strong operating systems provide many mechanisms for app developers to ensure their app isn’t the “unlocked window” that gains access to someone’s identity or bank account. App developers need to think about security as an end-to-end problem. This includes making secure network connections, encrypting local data on the device, and ensuring servers with sensitive customer data are adequately protected from attack.</p>
<p><strong>The Consumer:</strong> Consumers need to be mindful as well. Use device passwords (and not “1234”) and, perhaps most important of all, be suspicious of applications asking for permissions to access files, social networks, and your contact list. RIM offers a great product for consumers called <a href="http://us.blackberry.com/apps/blackberry-apps/protect.html" target="_new">BlackBerry Protect</a> that helps keep the information on your device backed up and secure should your device get lost or stolen. BlackBerry Protect also allows you to wipe all the data off your device remotely as well as display an alert message on the home screen should you lose your BlackBerry device.</p>
<h3><strong>Why is BlackBerry 10 so secure?</strong></h3>
<p>BlackBerry 10, RIM’s upcoming mobile computing platform, is built on QNX’s Real-Time Operating System. Sebastien Marineau, VP of OS Platforms at RIM, wrote a great article recently titled “<a href="http://www.techradar.com/news/phone-and-communications/mobile-phones/how-blackberry-10-avoids-androids-security-issues-1103381" target="_new">How BlackBerry 10 avoids Android’s Security Issues</a>”. In the article, Sebastien notes that the QNX RTOS has approximately 100,000 lines of code whereas a standard Linux implementation is around 14 million lines of code. QNX is 1% the size of Linux. When it comes to security, the fewer places where bugs and security exploits can hide, the better! Because QNX is so tight, and because it’s been designed with security in mind from day 1, it’s extremely hard to break in.</p>
<p>In addition, BlackBerry 10 includes BlackBerry Balance: a new, unique, and innovative capability that allows consumers to enjoy the full range of both a personal mobile device and a secure, encrypted work device without compromising on either one. No other mobile device can do this. With one simple gesture, the user can switch the device from “Personal” mode (wide open with all their apps, music, media, etc.) to “Work” mode (fully secure as if on your work’s VPN). Using BlackBerry Mobile Fusion, IT administrators can manage their company’s devices remotely and securely (including Android and iOS devices!).</p>
<p>In this blog post, we explored the responsibility of security &#8212; who owns what piece and why it’s so important. My next post on this topic, titled “Application Security Part II: What Should App Developers Do?” will explore different things developers can do to make sure they’re writing solid, high quality, secure mobile applications.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12486/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12486/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12486&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/12/application-security-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/649c096f0b8996184db6d0509771ecfb?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lmcdunna</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/12/bbjamasia2012_hands-on_labs_img_2856-e1354820632548.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Developer Relations LIVE!</title>
		<link>http://devblog.blackberry.com/2012/11/developer-relations-live/</link>
		<comments>http://devblog.blackberry.com/2012/11/developer-relations-live/#comments</comments>
		<pubDate>Tue, 20 Nov 2012 21:00:51 +0000</pubDate>
		<dc:creator>Brian Z.</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Forums]]></category>
		<category><![CDATA[ndk]]></category>
		<category><![CDATA[Q&A]]></category>
		<category><![CDATA[Support]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12212</guid>
		<description><![CDATA[One thing we heard over and over again during the BlackBerry® Got Game Port-a-Thon was that developers loved getting almost instant responses to their questions from one of the many members of our Developer Relations team.  Why stop a good thing?  Starting Wednesday, November 21st and continuing right up until January 30th, we’ll have be [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12212&#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-12214" title="BlackBerry" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/bbjamamericas12_asktheexperts__mg_0755.jpg?w=614&#038;h=409" height="409" width="614" /></p>
<p>One thing we heard over and over again during the <a href="http://devblog.blackberry.com/2012/11/got-game-port-a-thon/">BlackBerry® Got Game Port-a-Thon</a> was that developers loved getting almost instant responses to their questions from one of the many <a href="https://developer.blackberry.com/devzone/jamcommunity/profiles/devrel.html">members of our Developer Relations team</a>.  Why stop a good thing?  Starting Wednesday, November 21<sup>st</sup> and continuing right up until January 30<sup>th</sup>, we’ll have be offering live time in the forums, where you can expect to get responses as quickly as we can type them.</p>
<p>How will it work?</p>
<p>Two hours a week, every week, we’ll address one of the developer audiences listed below.  We know we have an active developer community, and we want you to participate.  Since there’s no way to lock a forum thread, we’ll go low tech: if you know the answer to a question and you intend to respond to it, simply reply to the thread indicating “got it” then go ahead and type your response.  This simple claim of ownership will prevent multiple devs from responding to the same question at the same time.  And as per usual in the developer forums, if your question was answered, mark it as “solved” or if you see a good response, put a “like” on it.  Basically, just give recognition to those who deserve it.</p>
<p>When and where?</p>
<p><strong>Mondays:</strong><br />
Marmalade: 10 AM to 12 PM (GMT-5) in <a href="http://www.madewithmarmalade.com/devnet/forum">Marmalade’s developer forums</a>.<br />
Sencha: 12 PM to 2 PM (GMT-5) in <a href="http://www.sencha.com/forum/">Sencha’s developer forums</a>.</p>
<p><strong>Tuesdays:</strong><br />
Cascades™ – BlackBerry Java porting to BlackBerry 10: 10 AM to 12 PM (GMT-5) in the <a href="http://supportforums.blackberry.com/t5/Cascades-Development/bd-p/Cascades">BlackBerry developer support forums</a>.<br />
PhoneGap: 12 PM to 2 PM (GMT-5) in the <a href="http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/bd-p/browser_dev">BlackBerry developer support forums</a>.</p>
<p><strong>Wednesdays:</strong><br />
Qt: 10 AM to 12 PM (GMT-5) in the <a href="http://supportforums.blackberry.com/t5/Native-Development/bd-p/native_sdk">BlackBerry developer support forums</a>.<br />
jQuery: 12 PM to 2 PM (GMT-5) in <a href="http://forum.jquery.com/">jQuery’s developer forums</a>.</p>
<p><strong>Thursdays:</strong><br />
BlackBerry WebWorks™: 10 AM to 12 PM (GMT-5) in the <a href="http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/bd-p/browser_dev">BlackBerry developer support forums</a>.<br />
Android: 12 PM to 2 PM (GMT-5) in <a href="http://stackoverflow.com/questions/tagged/android">Stack Overflow</a>.</p>
<p><strong>Fridays:</strong><br />
AIR: 12 PM to 2 PM (GMT-5) in the <a href="http://supportforums.blackberry.com/t5/Adobe-AIR-Development/bd-p/tablet">BlackBerry developer support forums</a>.</p>
<p>Watch for more time slots to be added in the near future to better accommodate our developers in Asia-Pacific.  See you in the forums!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12212&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/developer-relations-live/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/93c01acd537bfb61a304b73eef4fce76?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">brianzub1</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/bbjamamericas12_asktheexperts__mg_0755.jpg" medium="image">
			<media:title type="html">BlackBerry</media:title>
		</media:content>
	</item>
		<item>
		<title>[Webinar] Building BlackBerry 10 web apps with jQuery Mobile &amp; backbone.js</title>
		<link>http://devblog.blackberry.com/2012/11/blackberry-10-jquery-webinar/</link>
		<comments>http://devblog.blackberry.com/2012/11/blackberry-10-jquery-webinar/#comments</comments>
		<pubDate>Mon, 12 Nov 2012 15:59:30 +0000</pubDate>
		<dc:creator>Adam S.</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[backbone.js]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[jQuery Mobile]]></category>
		<category><![CDATA[Web app]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[webinar]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11999</guid>
		<description><![CDATA[Join Jason Scott (RIM), Mike Hostetler (appendTo) and Jonathan Creamer (appendTo) on November 15th from 2-3 pm EST for an exciting online presentation about using the official BlackBerry® 10 theme for jQuery Mobile. During this one-hour webinar, our speakers will show developers how they can build Web applications that easily integrate the design elements and [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11999&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12000" title="TITLE_IMAGE" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/bb10webinar.jpg?w=550&#038;h=550" height="550" width="550" /></p>
<p>Join <a href="https://twitter.com/JsonScott" target="_new">Jason Scott</a> (RIM), <a href="https://twitter.com/mikehostetler" target="_new">Mike Hostetler</a> (appendTo) and <a href="https://twitter.com/jcreamer898" target="_new">Jonathan Creamer</a> (appendTo) on November 15th from 2-3 pm EST for an exciting online presentation about using the <a href="https://github.com/blackberry/jQueryMobile-BB10-Theme" target="_new">official BlackBerry® 10 theme for jQuery Mobile</a>.</p>
<p>During this one-hour webinar, our speakers will show developers how they can build Web applications that easily integrate the design elements and UI of the BlackBerry 10 user experience. Our speakers will provide a walkthrough on building and deploying a BlackBerry 10 app using jQuery Mobile, and will also demonstrate how to use backbone.js to create data bindings and a MVC architecture in your jQuery Mobile application.</p>
<p>As always, attendees are welcome to join into the discussion, as questions will be answered by these experts from the jQuery Mobile development community.</p>
<p><a href="http://www.blackberrydeveloperevents.com/events/webcast/registration/register.html?scoid=1074981337" target="_new">Register today</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11999/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11999/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11999&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/blackberry-10-jquery-webinar/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/2012/11/bb10webinar.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
	</channel>
</rss>