<?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; MSohm</title>
	<atom:link href="http://devblog.blackberry.com/author/msohm/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; MSohm</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>BlackBerry Messenger Social Platform Registration Changes</title>
		<link>http://devblog.blackberry.com/2012/12/blackberry-messenger-platform-registration-changes/</link>
		<comments>http://devblog.blackberry.com/2012/12/blackberry-messenger-platform-registration-changes/#comments</comments>
		<pubDate>Mon, 10 Dec 2012 17:39:25 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[blackberry messenger]]></category>
		<category><![CDATA[registration]]></category>
		<category><![CDATA[requestRegisterApplication]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12628</guid>
		<description><![CDATA[The next OS update for the BlackBerry 10 Dev Alpha devices contains some changes to the way BBM Connected applications register with the BlackBerry Messenger Social Platform.  The methods used to register remain the same, but the order of operations has changed. The main change requires an application to first check on the status of [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12628&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12630" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/devblog-bbm-connecting-e1355160814838.png?w=600&#038;h=437" width="600" height="437" /></p>
<p>The next OS update for the BlackBerry 10 Dev Alpha devices contains some changes to the way BBM Connected applications register with the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/bbm.html" target="_blank">BlackBerry Messenger Social Platform</a>.  The methods used to register remain the same, but the order of operations has changed.</p>
<p>The main change requires an application to first check on the status of registration first before attempting to register.  If an application doesn&#8217;t check the status first, the registration attempt is ignored.  This means that applications that attempt to blindly register on startup will no longer succeed in registering.  This includes the samples we previously provided (BBMQtRegistration, BBMQtProfile, BBMQtInviteToDownload, BBMQtProfileBoxSAmple and BBMBaseSampleRegistration).  So if your registration code is based on what is used in those samples, you’ll need to update.</p>
<p>New samples which implement the updated registration process were made available to download November 29<sup>th</sup>.  You can access them here:</p>
<p><strong>Cascades Samples</strong></p>
<ul>
<li><a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbmregistration">bbmregistration</a></li>
<li><a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbminvitetodownload">bbminvitetodownload</a></li>
<li><a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbmprofile">bbmprofile</a></li>
<li><a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbmprofilebox">bbmprofilebox</a></li>
</ul>
<p><strong>Core Native Sample</strong></p>
<ul>
<li><a href="https://github.com/blackberry/Core-Native-Community-Samples/tree/master/BBMbpsRegistration" target="_new">BBMbpsRegistration</a></li>
</ul>
<p>The registration method used in these samples works on current and previous beta releases of BlackBerry 10.  It is also the required method to use for future releases of BlackBerry 10.</p>
<p>The justification for this change is that we wanted to ensure the best user experience possible for users who are using BBM Connected applications.  These changes prevent the unnecessary overhead of applications that attempt to register with the BBM Social Platform every time they run by forcing them to check the registration status because typically, there is no need to register again after a successful registration.</p>
<p>So if you have created a BBM Connected application for BlackBerry 10, ensure you update your registration code.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12628/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12628/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12628&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/12/blackberry-messenger-platform-registration-changes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/12/devblog-bbm-connecting-e1355160814838.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Learn Live: How To Make your BlackBerry 10 App Go Viral!</title>
		<link>http://devblog.blackberry.com/2012/12/blackberry-10-viral/</link>
		<comments>http://devblog.blackberry.com/2012/12/blackberry-10-viral/#comments</comments>
		<pubDate>Mon, 03 Dec 2012 19:12:00 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[blackberry messenger]]></category>
		<category><![CDATA[Communitech Hub]]></category>
		<category><![CDATA[Messenger]]></category>
		<category><![CDATA[social platform]]></category>
		<category><![CDATA[webcast]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12490</guid>
		<description><![CDATA[Please join myself, Mark Sohm and Nick Kalkounis on Thursday, December 6th at 11:00 AM (EST) for a webcast on making your application go viral using the BlackBerry Messenger (BBM) Social Platform.  This session will be delivered live from our #BBJamSpace at the Communitech Hub in Kitchener, Ontario and will be available live via webcast.  Register [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12490&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12495" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/bbm-logo.jpg?w=294&#038;h=277" height="277" width="294" />Please join myself, <a href="http://supportforums.blackberry.com/t5/user/viewprofilepage/user-id/12325" target="_blank">Mark Sohm</a> and <a href="http://supportforums.blackberry.com/t5/user/viewprofilepage/user-id/843953" target="_blank">Nick Kalkounis</a> on Thursday, December 6<sup>th</sup> at 11:00 AM (EST) for a webcast on making your application go viral using the BlackBerry Messenger (BBM) Social Platform.  This session will be delivered live from our #BBJamSpace at the <a href="http://www.eventbrite.ca/event/4882117545">Communitech Hub</a> in Kitchener, Ontario and will be available live via webcast.  Register for the webcast in advance <a href="http://www.blackberrydeveloperevents.com/events/webcast/registration/register.html?scoid=1074801507">here</a>.</p>
<p>Then continue the discussion after the webcast in our <a href="http://supportforums.blackberry.com/t5/Developer-Support-Forums/ct-p/blackberrydev">BlackBerry Developer Forums</a>.  From 1 PM to 3 PM EST, we’ll be closely monitoring the forums for any questions, comments and feedback related to the BlackBerry Messenger Social Platform, replying as quickly as we can to foster a live discussion.</p>
<p>The webcast will cover the basics of integrating your BlackBerry 10 application with BlackBerry Messenger.  Learn about the benefits of the BBM Social Platform, including how to help increase the discovery of your application.  By the end of the series, you will be knowledgeable in the features of the BBM Social Platform and know how you can integrate them into your own application.</p>
<p>Topics Covered Include:</p>
<ul>
<li>Benefits of the BBM Social Platform</li>
<li>Features of the BBM Social Platform Including:
<ul>
<li>BBM SP Invite To Download</li>
<li>BBM SP Profile Boxes</li>
<li>BBM SP User Profile</li>
<li>BBM Chat</li>
<li>Invoking BBM from Your Application</li>
</ul>
</li>
</ul>
<p>We hope you’ll be able to attend online or in person, but if not the session will be recorded made available for viewing shortly after the event.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12490/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12490/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12490&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/12/blackberry-10-viral/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/12/bbm-logo.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Using the Invocation Framework with BlackBerry Messenger</title>
		<link>http://devblog.blackberry.com/2012/11/bbm-invocation-framework/</link>
		<comments>http://devblog.blackberry.com/2012/11/bbm-invocation-framework/#comments</comments>
		<pubDate>Thu, 22 Nov 2012 18:28:41 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[blackberry messenger]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[Invocation]]></category>
		<category><![CDATA[invoke]]></category>
		<category><![CDATA[Share]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12233</guid>
		<description><![CDATA[My previous blog posts listed below covered the features offered by the BlackBerry® Messenger (BBM™) Social Platform at an API level: Integrate with BBM and Watch Your Application Go Viral How to Integrate Your Native Application with BBM How to Integrate Your BlackBerry WebWorks Application with BBM Now let’s take a look at how you [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12233&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My previous blog posts listed below covered the features offered by the BlackBerry® Messenger (BBM™) Social Platform at an API level:</p>
<p><a href="http://devblog.blackberry.com/2012/11/bbm-integration/" target="_new">Integrate with BBM and Watch Your Application Go Viral</a><br />
<a href="http://devblog.blackberry.com/2012/11/bbm-native-app-integration/" target="_new">How to Integrate Your Native Application with BBM</a><br />
<a href="http://devblog.blackberry.com/2012/11/blackberry-webworks-bbm-integration/" target="_new">How to Integrate Your BlackBerry WebWorks Application with BBM</a></p>
<p>Now let’s take a look at how you can use the invocation framework to invoke BlackBerry Messenger and bring cards from BBM into your application. In case the term card is new to you, let me explain. Think of cards as a screen of another application that is shown within your application and acts like a screen in your own app. A card becomes part of the flow that makes up BlackBerry® 10, allowing for a seamless user experience that prevents the user from having to switch applications.</p>
<p>The code samples used in this blog post are in QML, but keep in mind that you can use these invocation features from C++, BlackBerry® WebWorks™ and Adobe® AIR®.</p>
<p><span id="more-12233"></span></p>
<p>Below is a screenshot of the actions available that you could use in the menu of your application to invoke BBM. The “BBM Invocation” text you see below represents your application screen (it actually says BBM Invocation Sample). Each BBM card is going to be displayed on top of it. At any time the user can peek back to see your applications screen or close the card completely, returning to your application screen.</p>
<p>Let’s take a look at each of these cards individually, see how they’re invoked and what they look like once invoked.</p>
<p><img class="aligncenter size-full wp-image-12234" title="TITLE_IMAGE" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-1.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<h3><strong>Start a BBM Chat</strong></h3>
<pre>InvokeActionItem {
    title: "Start BBM Chat"
    query {
        invokeActionId: "bb.action.BBMCHAT"
        uri: "pin:2100000a"
    }
}</pre>
<p>The code above shows how to initiate a BBM chat. The chat window will flow into your application as a card. In the example above, a single PIN is used. If you omit the URI parameter, the user will be prompted to choose a contact from their BBM contact list to include in the chat session. If a chat session already exists with the contact, it will be shown with previous messages populated.</p>
<p><img class="aligncenter size-full wp-image-12235" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-2.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<h3><strong>Set BBM Avatar Image</strong></h3>
<pre>InvokeActionItem {
    title: "Set BBM Avatar Pic"
    query {
        invokeTargetId: "sys.bbm.imagehandler"
        invokeActionId: "bb.action.SET"
        uri: "file:///path/to/the/file.png"
    }
}</pre>
<p>You can prompt the user to change their BBM avatar image to one specified by your application. This triggers a card that previews the image and allows the user to crop or zoom. Once the user is happy with their selection, they click Save to update their BBM Avatar.</p>
<p><img class="aligncenter size-full wp-image-12236" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-3.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<h3><strong>Invite to BlackBerry Messenger</strong></h3>
<pre>InvokeActionItem {
    title: "Invite to BBM"
    query {
        invokeActionId: "bb.action.INVITEBBM"
        uri: "pin:2100000A"
    }
}</pre>
<p>If you know the BlackBerry PIN for contacts who are not yet BlackBerry Messenger users, you can invite them to BBM by using the BlackBerry.action.INVITEBBM invoke action as shown above. The user can then write a personalized message to their contact before sending the message.</p>
<p><img class="aligncenter size-full wp-image-12237" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-4.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<h3><strong>Share Text over BBM</strong></h3>
<pre>InvokeActionItem {
    title: "Share Text Over BBM"
    query {
        mimeType: "text/plain"
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        data: "This is some text to share."
    }
}</pre>
<p>Sharing text over BBM enables your application to start a chat session and populates the message entry field with the text specified in the data section. Just like starting a BBM chat session above, if a previous chat session exists, the message history will be shown.</p>
<p><img class="aligncenter size-full wp-image-12238" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-5.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<h3><strong>Share Image over BBM</strong></h3>
<pre>InvokeActionItem {
    title: "Share Image Over BBM"
    query {
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        uri: "file:///path/to/image/file.png"
    }
}</pre>
<p>Sharing an image over BBM works almost the same way as sharing text, except you specify a URI that points to an image file. It brings up a chat card with a message composed and ready to send with the image attached.</p>
<p><img class="aligncenter size-full wp-image-12239" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-6.jpg?w=287&#038;h=480" height="480" width="287" /></p>
<h3><strong>Wrapping It Up</strong></h3>
<p>For simplicity, the QML code samples above are using hard coded data and URI values. However, in a real application you’d want to use dynamic values based on variables within your application. You can do this using the onTriggered method. Here is an example of its use:</p>
<pre>InvokeActionItem {
    title: "Share Text Over BBM"
    query {
        mimeType: "text/plain"
        invokeTargetId: "sys.bbm.sharehandler"
        invokeActionId: "bb.action.SHARE"
        data: "This is some text to share."
    }
    onTriggered: {
        data = "Some new text"
    }
}</pre>
<p>When invoked, the sample above would populate the chat session with “Some new text”. In a real application you’d change the “Some new text” string to point to a variable or control in your application.</p>
<p>That concludes the list of BBM cards currently available for BlackBerry 10. As you can see, by using just a few lines of code you can integrate some powerful features like BBM Chat into your application. Invoke away!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12233/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12233/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12233&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/bbm-invocation-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

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

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

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

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

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-5.jpg" medium="image" />

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/bbm-invoke-framework-6.jpg" medium="image" />
	</item>
		<item>
		<title>How to Integrate Your BlackBerry WebWorks Application with BBM</title>
		<link>http://devblog.blackberry.com/2012/11/blackberry-webworks-bbm-integration/</link>
		<comments>http://devblog.blackberry.com/2012/11/blackberry-webworks-bbm-integration/#comments</comments>
		<pubDate>Thu, 15 Nov 2012 15:14:23 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BBM SP]]></category>
		<category><![CDATA[blackberry webworks]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[native development]]></category>
		<category><![CDATA[native sdk]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12070</guid>
		<description><![CDATA[Welcome to part 3 of my series of blog posts discussing the BlackBerry® Messenger (BBM™) Social Platform. My previous blog post, Integrate with BBM and Watch Your Application Go Viral, covered the features of the BlackBerry Messenger Social Platform (BBM SP) and how you can use them to promote your application. If you haven’t read [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12070&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Welcome to part 3 of my series of blog posts discussing the BlackBerry® Messenger (BBM™) Social Platform. My previous blog post, <a href="http://devblog.blackberry.com/2012/11/bbm-integration/" target="_new">Integrate with BBM and Watch Your Application Go Viral</a>, covered the features of the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/bbm.html" target="_new">BlackBerry Messenger Social Platform (BBM SP)</a> and how you can use them to promote your application. If you haven’t read it yet, I recommend giving it a read. Part 2, <a href="http://devblog.blackberry.com/2012/11/bbm-native-app-integration/" target="_new">How to Integrate Your Native Application with BBM</a>, covered use of the BBM SP in a native application.</p>
<p>Now I’m here to talk about how you can integrate your BlackBerry® WebWorks™ application with the BBM SP. Most of what will be covered is available to both BlackBerry® OS 5-7 and BlackBerry® 10 applications. However, at the time of writing some of the BBM SP APIs discussed here are available only for BlackBerry OS 5-7 applications &#8212; I’ve noted where this is the case. We are planning on adding these to the BlackBerry 10 WebWorks SDK as well.</p>
<p>Testing a BBM SP application for BlackBerry 10 currently requires a real device. We’re working on adding BBM SP support in the BlackBerry 10 simulator and this should be available before the end of 2012. Support for testing BlackBerry OS 5-7 applications that use BBM SP is supported in many <a href="http://us.blackberry.com/sites/developers/resources/simulators.html" target="_new">BlackBerry smartphone simulators</a> we have available today, so ensure you <a href="http://swdownloads.blackberry.com/Downloads/contactFormPreload.do?code=060AD92489947D410D897474079C1477&amp;dl=345C5BE25AEFA97F7E54894B04A59AA4" target="_new">download one that lists support for BBM</a>.</p>
<p><span id="more-12070"></span></p>
<h3><strong>Configure Your Project</strong></h3>
<p>The <a href="https://developer.blackberry.com/html5/download/" target="_new">BlackBerry 10 WebWorks SDK</a> includes everything you need to get started. If you have a BlackBerry OS 5-7 application, you’ll need to download the <a href="http://swdownloads.blackberry.com/Downloads/contactFormPreload.do?code=DC727151E5D55DDE1E950767CF861CA5&amp;dl=BEC7A49FE8DDDD6ED13781CB67B3406D&amp;check1=A" target="_new">BBM SDK v1.1 for BlackBerry WebWorks</a> in addition to the regular <a href="https://developer.blackberry.com/html5/download/#smartphones" target="_new">BlackBerry WebWorks SDK for Smartphones</a>. Instructions for connecting these two SDK for targeting BlackBerry OS 5-7 can be found in <a href="http://supportforums.blackberry.com/t5/Web-and-WebWorks-Development/Getting-Started-BlackBerry-WebWorks-Development-for-Smartphones/ta-p/1185353" target="_new">Getting Started: BlackBerry WebWorks Development for Smartphones and the BBM Social Platform</a>.</p>
<p>In order for your application to access to the BBM SP APIs, you’ll need to request the appropriate permissions in your application’s config.xml file. There are two elements you’ll need to add: bbm_connect for rim:permissions and blackberry.bbm.platform for feature. Here is what it looks like:</p>
<pre>&lt;rim:permissions&gt;
	&lt;rim:permit&gt;bbm_connect&lt;/rim:permit&gt;
&lt;/rim:permissions&gt;
&lt;feature id="blackberry.bbm.platform" /&gt;</pre>
<h3><strong>Register with the BBM Social Platform</strong></h3>
<p>Registration is the first step in connecting to the BBM Social Platform, which involves an application registering itself with the RIM-hosted BBM infrastructure. A <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/bbm" target="_new">BBM sample</a> is available on the BlackBerry github site that demonstrates BBM SP registration along with the invite to download feature. Have a look at it once you’ve finished reading this section for the complete version of the code snippets used here.</p>
<p>When using BlackBerry WebWorks, the first thing to do is to register for the onaccesschanged event. If you try to register before registering for this, an IllegalStateException is thrown. Here is how you can register for this event:</p>
<pre>blackberry.event.addEventListener("onaccesschanged", function (accessible, status) {
	if (status === 'allowed') {
		/* Access allowed. */
	} 
});</pre>
<p>This code sample only catches the allowed status. Your application would need to handle disallowed status that could be caused by the user being out of coverage or if the user disallowed access to BBM. The <a href="https://github.com/blackberry/BB10-WebWorks-Samples/tree/master/bbm" target="_new">BBM sample</a> demonstrates how to catch the other statuses.</p>
<p>Each application must define its own Universally Unique Identifier (UUID) so that it can uniquely identify itself. This UUID is used to register with the BBM SP servers during testing and development. Applications in the BlackBerry App World™ storefront are assigned their own UUID automatically. You can generate a UUID using various web sites, such as the one <a href="http://www.guidgenerator.com/" target="_new">here</a>. In BlackBerry WebWorks, the UUID is stored in the options parameter used in registration.</p>
<pre>options = {
	uuid: "33490f91-ad95-4ba9-82c4-33f6ad69fbbc"
};</pre>
<p>Now we’re ready for the final step in the registration process, which is to call the register method using the options parameter we defined above. This will trigger the onaccesschanged event.</p>
<pre>blackberry.bbm.platform.register(options);</pre>
<h3><strong>Invite to Download</strong></h3>
<p>The invite to download feature allows users of your application to invite their BBM contacts to download your application from BlackBerry App World. The recipient receives the invitation through a BBM Chat session, which includes a message provided by the application and user sending the invitation. This is one of the easiest features to implement. After you’ve registered, you can do this with just one method call.</p>
<pre>blackberry.bbm.platform.users.inviteToDownload();</pre>
<p>Note that for this to work between BlackBerry 10 and BlackBerry OS 5-7 users, the SKU in BlackBerry App World for the two releases of the application (BAR and COD) must be the same.</p>
<h3><strong>Profile Integration</strong></h3>
<p>BBM SP allows for both read and write access to the user’s BBM profile. This allows your application access to their profile message, status text, availability and avatar image. Here are a few examples of how to use these APIs:</p>
<p>This first code sample shows how to access the image the user has set for their BBM profile.</p>
<pre>blackberry.bbm.platform.self.getDisplayPicture(function (image) {
    // do something with the image here
});
Now let’s look at how your application could update the user’s BBM profile picture.
blackberry.bbm.platform.self.setDisplayPicture("local:///smiley.jpg", function (accepted) {
    if(accepted) {
        // User allowed the change
    } else {
        // User denied the change
    }
});</pre>
<p>If an update to a personal message was made from an application other than the BBM Client, a tag is shown under the update stating the name of the application that performed the update. Users can click on that tag to download the application from BlackBerry App World. This requires the sender to have installed the application from BlackBerry App World, so that tag won’t take you to BlackBerry App World if you side loaded your application for testing. Let’s take a look at how to update the personal message and status.</p>
<pre>blackberry.bbm.platform.self.setStatus("busy", "Getting a new high score", function (accepted) {
    if(accepted) {
        // User allowed the change
    } else {
        // User denied the change
    }
});
blackberry.bbm.platform.self. setPersonalMessage ("I’m loving this app!", function (accepted) {
    if(accepted) {
        // User allowed the change
    } else {
        // User denied the change
    }
});</pre>
<h3><strong>Profile Boxes</strong></h3>
<p>Profile Boxes provide yet another way for an application to promote itself to a user’s BBM contacts. They appear within the Apps area of a user’s profile and are ideal for sharing what a user is doing within an application. Every application that is connected to BBM SP appears in the list. Applications can create profile box items that appear under their application header. You can supply a custom image and string, which is used to create the profile box item.</p>
<p>The ability to add a profile box item using BlackBerry WebWorks is not yet supported on BlackBerry 10, but you can do it on BlackBerry OS 5-7. There are C and C++ APIs for populating the profile box on BlackBerry 10, so you could accomplish this by building a custom BlackBerry WebWorks extension.</p>
<p>When creating a profile box item, use of the image is optional. If you don’t wish to include an image, you can omit it from the options variable.</p>
<pre>var options = {text:"No one’s ever beat me at solitare!", icon:"local:///cardshark.jpg", cookie:"unbeatable"};
blackberry.bbm.platform.self.profilebox.addItem(options);</pre>
<h3><strong>Contacts</strong></h3>
<p>An application can retrieve a list of BBM Contacts who have the same application installed. This list can be used as selection criteria for connecting for a multi-user experience. Events are also fired for changes to this contact list, allowing your application to keep track of both the addition and deletion of contacts in the contact list itself and/or changes to individual contacts.</p>
<p>Currently, working with BBM contacts is not supported using BlackBerry WebWorks for BlackBerry 10, but there are APIs for WebWorks for BlackBerry OS 5-7 as well as C and C++ APIs for BlackBerry 10. Further support for this in BlackBerry WebWorks for BlackBerry 10 is planned for a December release. Watch the <a href="https://developer.blackberry.com/html5/download/roadmap/" target="_new">BlackBerry WebWorks roadmap</a> for updates.</p>
<h3><strong>Wrapping It Up</strong></h3>
<p>That wraps up my intro post for getting started with the BlackBerry Messenger Social Platform using BlackBerry WebWorks. Now it’s up to you to make use of these APIs in your next hit application, which could be featured on the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/showcase.html" target="_new">Connected App Showcase</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12070/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12070/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12070&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/blackberry-webworks-bbm-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>
	</item>
		<item>
		<title>How to Integrate Your Native Application with BBM</title>
		<link>http://devblog.blackberry.com/2012/11/bbm-native-app-integration/</link>
		<comments>http://devblog.blackberry.com/2012/11/bbm-native-app-integration/#comments</comments>
		<pubDate>Thu, 08 Nov 2012 16:24:51 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BBM SP]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[native development]]></category>
		<category><![CDATA[native sdk]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11879</guid>
		<description><![CDATA[My previous blog post Integrate with BBM and Watch Your Application Go Viral covered the features of the BlackBerry® Messenger Social Platform (BBM™ SP) and how you can use them to promote your application. If you haven’t read it yet, I recommend giving it a look. In this next blog post, we’ll cover the technical [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11879&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>My previous blog post <a href="http://devblog.blackberry.com/2012/11/bbm-integration/" target="_new">Integrate with BBM and Watch Your Application Go Viral</a> covered the features of the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/bbm.html" target="_new">BlackBerry® Messenger Social Platform (BBM™ SP)</a> and how you can use them to promote your application. If you haven’t read it yet, I recommend giving it a look.</p>
<p>In this next blog post, we’ll cover the technical aspects of how you can use the BBM SP within your application. I’m going to assume that you are using the <a href="https://developer.blackberry.com/cascades/download/" target="_new">BlackBerry Native SDK</a> to create a Cascades™ application using the <a href="https://developer.blackberry.com/cascades/reference/cascades.html" target="_new">Qt style BBM SP APIs</a>. The same functionality is available at the <a href="http://developer.blackberry.com/native/beta/reference/com.qnx.doc.bbmsp.lib_ref/topic/overview.html" target="_new">c level</a> in the style of the BlackBerry Platform Services library. If you are already using BPS within your application, you could use it for BBM SP as well, but in general I recommend using the <a href="https://developer.blackberry.com/cascades/reference/cascades.html" target="_new">Cascades BBM SP APIs</a> instead because they’re easier to use.</p>
<p>Testing an application BBM SP application for BlackBerry® 10 currently requires a real device. We’re working on adding BBM SP support in the BlackBerry 10 Simulator and this should be available before the end of 2012.</p>
<p><span id="more-11879"></span></p>
<h3><strong>Configure Your Project</strong></h3>
<p>The first step is to configure your project in the BlackBerry Native SDK, adding the BBM SP libraries and permissions.</p>
<p>Open <strong>bar-descriptor.xml</strong> and click on the General tab. Within <strong>bar-descriptor.xml</strong> click on the Application tab and check off BlackBerry Messenger in the Permissions box.</p>
<p><img class="aligncenter size-full wp-image-11880" title="TITLE_IMAGE" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-part-2-1.jpg?w=480&#038;h=288" height="288" width="480" /></p>
<p>Now it’s time to add the BBM SP library. Right click on your project and choose <strong>Configure -&gt; Add Library</strong>. Click Next and filter for BBM. Add the libbbplatformbbm library. Follow the steps in the wizard and add the line below to your .pro file.</p>
<pre>LIBS += -lbbplatformbbm
LIBS += -lbbsystem</pre>
<h3><strong>Register with the BBM Social Platform</strong></h3>
<p>Registration is the first step in connecting to the BBM Social Platform, which involves an application registering itself with the RIM®-hosted BBM infrastructure. A sample called <a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbmregistration" target="_new">BBMRegistration</a> is available on the BlackBerry github site. It demonstrates BBM SP registration, so have a look at it once you’ve finished reading this section for the complete version of the code snippets used here.</p>
<p>Each application must define its own Universally Unique Identifier (UUID) so that it can uniquely identify itself. This UUID is used to register with the BBM SP servers during testing and development. Applications in the BlackBerry App World™ storefront are assigned their own UUID automatically.</p>
<pre>// Attempt to register the application with the following UUID.
//Define your own UUID.  You can generate one here: http://www.guidgenerator.com/
m_uuid = QString::fromUtf8("c0fef20e-5f94-4eb1-be1e-e055f2c2391c");</pre>
<p>Next, create a new instance of the BBM platform context.</p>
<pre>m_context = new bb::platform::bbm::Context(QUuid(m_uuid));</pre>
<p>Now connect the registrationStatusUpdate signal with a slot in your application. In this example, I created slot called registrationStatus.</p>
<pre>QObject::connect(m_context, SIGNAL(registrationStateUpdated(bb::platform::bbm::RegistrationState::Type)),
  			this, SLOT(registrationStatus(bb::platform::bbm::RegistrationState::Type)));</pre>
<p>Now we’re ready to kick off the BBM SP registration process by calling requestRegisterApplication.</p>
<pre>m_context-&gt;requestRegisterApplication();</pre>
<p>Refer to the <a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbmregistration" target="_new">BBMRegistration</a>for implementation details for the registrationsStatus. Once it receives a status of</p>
<pre>case bb::platform::bbm::RegistrationState::Allowed:</pre>
<p>our application will be ready to use the rest of the BBM SP APIs described below. Also note m_context used above &#8212; it’ll be used throughout the rest of the examples.</p>
<h3><strong>Invite to Download</strong></h3>
<p>The invite to download feature allows users of your application to invite their BBM contacts to download your application from BlackBerry App World. The recipient receives the invitation through a BBM Chat session, which includes a message provided by the application and the user sending the invitation. This is one of the easiest features to implement. After you’ve registered, you can do this with just two lines of code.</p>
<p>The first line instantiates the MessageService object and the second kicks off the invite to download process. The user would then be prompted to select the BBM contacts they want to send the invitation to.</p>
<pre>m_messageService = new bb::platform::bbm::MessageService(
				m_context, this);
m_messageService-&gt;sendDownloadInvitation();</pre>
<p>We have a complete sample for this feature as well called <a href="https://github.com/blackberry/Cascades-Samples/tree/master/bbminvitetodownload" target="_new">BBMInviteToDownload</a>.</p>
<p>Note that for this to work between BlackBerry 10 and BlackBerry® OS 5-7 users, the SKU in BlackBerry App World for the two releases of the application (BAR and COD) must be the same.</p>
<h3><strong>Profile Integration</strong></h3>
<p>BBM SP allows for both read and write access to the user’s BBM profile. This allows your application access to their profile message, status text, availability and avatar image. To see more, have a look at the <a href="//github.com/blackberry/Cascades-Samples/tree/master/bbmprofile" target="_new">BBMProfile</a> sample. Let’s learn how to update the user’s personal and status messages in BBM.</p>
<p>If an update to a personal message was made from an application other than the BBM Client, a tag is shown under the update stating the name of the application that performed the update. Users can click on that tag to download the application from BlackBerry App World. This requires the sender to have installed the application from BlackBerry App World, so that tag won’t take you to BlackBerry App World if you side-loaded your application for testing. Let’s take a look at how to update the personal message and status.</p>
<p>The first step is to get an instance of the user’s BBM profile:</p>
<pre>m_userProfile = new bb::platform::bbm::UserProfile(m_context, this);</pre>
<p>With that, we can update the user’s BBM personal message or status. Here’s how we can do both with just three lines of code:</p>
<pre>QString personalMessageString = "Best app ever!";
m_userProfile-&gt;requestUpdatePersonalMessage(personalMessageString);
m_userProfile-&gt;requestUpdateStatus(false, statusMessageString);</pre>
<p>The boolean false being passed into requestUpdateStatus is the flag to set the free/busy indicator shown beside their BBM status. If we had updated their status to something like “Don’t bug me I’m busy playing Slingshot 5000” we’d likely set that to true.</p>
<h3><strong>Contacts</strong></h3>
<p>An application can retrieve a list of BBM Contacts who have the same application installed. This list can be used as selection criteria for connecting for a multi-user experience. Events are also fired for changes to this contact list, allowing your application to keep track of both the addition and deletion of contacts in the contact list itself and/or changes to individual contacts.</p>
<p>Step one is to get an instance of the ContactService.</p>
<pre>m_ContactService = new bb::platform::bbm::ContactService(m_context, this);</pre>
<p>Once we have that, we can retrieve the BBM contacts that also have the same application installed. The sample code below prints out the display name of all contacts retrieved to the BlackBerry Native SDK console.</p>
<pre>if (m_ContactService-&gt;contactCount() &gt; 0)
{
	foreach (const Contact &amp;contact, m_ContactService-&gt;contacts())
	{
		qDebug() &lt;&lt; contact.displayName();
	}
}</pre>
<p>To listen for updates to a user’s contact list and/or the contacts themselves, we can connect a slot to the contactListUpdated and/or contactUpdated signals. Here’s an example of connecting them to handleUpdateContactList and handleUpdateContact slots.</p>
<pre>QObject::connect(m_ContactService, SIGNAL(contactListUpdated()), this, SLOT(handleUpdatedContactList()));
QObject::connect(m_ContactService, SIGNAL(contactUpdated(const QString)), this, SLOT(handleUpdatedContact()));</pre>
<p>The handlers would take care of updated any in application resources that reference the users BBM Contacts.</p>
<h3><strong>Wrapping It Up</strong></h3>
<p>I hope this helped you get started in implementing some features of the BBM Social Platform into your application, or at least convinced you how easy it is to do. I look forward to seeing your innovative uses of the BBM SP. Your application could be the next one featured on the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/showcase.html" target="_new">Connected App Showcase</a>.</p>
<p>Come back next week if you are a BlackBerry® WebWorks™ developer &#8212; we’ll have a post similar to this one, but demonstrate these features using the BlackBerry WebWorks APIs.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11879/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11879/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11879&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/bbm-native-app-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-part-2-1.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Integrate with BBM and Watch Your Application Go Viral</title>
		<link>http://devblog.blackberry.com/2012/11/bbm-integration/</link>
		<comments>http://devblog.blackberry.com/2012/11/bbm-integration/#comments</comments>
		<pubDate>Thu, 01 Nov 2012 19:13:52 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BBM integration]]></category>
		<category><![CDATA[BBM SP]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[blackberry messenger]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=11860</guid>
		<description><![CDATA[If you could promote your application on a rapidly growing social network with 60+ million active users &#8211; 70% of which use it daily &#8211; with just a few lines of code, would you do it? I think the more appropriate question is, why haven’t you done it yet? Meet the BlackBerry® Messenger Social Platform [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11860&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-6944" title="TITLE_IMAGE" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2011/08/bbm-icon.jpg?w=294&#038;h=277" height="277" width="294" /></p>
<p>If you could promote your application on a rapidly growing social network with 60+ million active users &#8211; 70% of which use it daily &#8211; with just a few lines of code, would you do it? I think the more appropriate question is, why haven’t you done it yet?</p>
<p>Meet the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/bbm.html" target="_new">BlackBerry® Messenger Social Platform</a> (BBM™ SP), which you can use to enable your application to go viral with very little effort. Approximately 2% of applications in the BlackBerry App World™ storefront have connected to the BBM SP; however, that group accounts for over 20% of all downloads! Spending just half an hour to add this to your application can really pay off. With minimal development effort, Foursquare was able to integrate their application with the BBM SP, resulting in a doubling of downloads in a single day. Nobex Radio saw a 52% increase in downloads after they added support for the BBM SP.</p>
<p>Continue reading for a high level overview of what can be done using the BBM SP APIs. Today we’ll cover the “What” of the BBM SP. Future articles in this series will provide more technical “How To” for both Native and BlackBerry® WebWorks™ developers. The features discussed in this article exist both on BlackBerry® 10 and BlackBerry® OS 5 through 7.</p>
<p><span id="more-11860"></span></p>
<h3><strong>Registration</strong></h3>
<p><img class="aligncenter size-full wp-image-11861" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-1.jpg?w=241&#038;h=159" height="159" width="241" /></p>
<p>Registration is the first step in connecting to the BBM Social Platform, which involves an application registering itself with the RIM®-hosted BBM infrastructure. Keep in mind that like most features on a BlackBerry device, the user can approve or deny this connection, allowing them to regulate which applications they allow to use the BBM SP. The application is also informed during this process whether or not the connection was a success. If it did fail, the application is given the reason why. Possible reasons include lack of network coverage, registration blocked by the user, or BBM Client not configured. Once this step is complete, the more interesting APIs of the BBM SP are available to your application.</p>
<h3><strong>Invite to Download</strong></h3>
<p>The invite to download feature allows users of your application to invite their BBM contacts to download your application from BlackBerry App World. The recipient receives the invitation through a BBM Chat session, which includes a message provided by the application and user sending the invitation. The chat session also contains buttons for the user to accept or decline the invitation. If they accept the invitation, BlackBerry App World is opened to show your application. This feature is ideal for multi-user applications or games, allowing the user to easily invite their contacts to participate.</p>
<p>Note that for this to work between BlackBerry 10 and BlackBerry OS 5-7 users, the SKU in BlackBerry App World for the two releases of the application (BAR and COD) must be the same.</p>
<h3><strong>Profile Integration</strong></h3>
<p><img class="aligncenter size-full wp-image-11862" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-2.jpg?w=408&#038;h=213" height="213" width="408" /></p>
<p style="text-align:center;"><i>Updating personal message from BBMQtProfile Sample</i></p>
<p>BBM SP allows for both read and write access to the user’s BBM profile. This allows your application access to their profile message, status text, availability and avatar image. The screenshot above shows the confirmation prompt that appears when an application attempts to update a user’s personal message.</p>
<p><img class="aligncenter size-full wp-image-11863" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-3.jpg?w=282&#038;h=464" height="464" width="282" /></p>
<p style="text-align:center;"><i>View from my contact’s device</i></p>
<p>Profile updates are visible from the devices of my contacts. They can see a list of recent updates made to my profile and provide yet another opportunity for viral growth. If an update to my personal message was made from an application other than the BBM Client, a tag is shown under the update stating the name of the application that performed the update. Note the “from BBM SDK Demo” tag beside the red arrow. Users can click on that tag to download the application from BlackBerry App World. This requires the sender to have installed the application from BlackBerry App World, so that tag won’t take you to BlackBerry App World if you side loaded your application for testing.</p>
<h3><strong>Profile Boxes</strong></h3>
<p><img class="aligncenter size-full wp-image-11864" title="" alt="" src="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-4.jpg?w=288&#038;h=480" height="480" width="288" /></p>
<p>Profile Boxes provide yet another way for an application to promote itself to a user’s BBM contacts. They appear within the Apps area of a user’s profile and are ideal for sharing what a user is doing within an application. Every application that is connected to BBM SP appears in the list. Applications can create profile box items that appear under their application header. You can supply a custom image and string, which is used to create the profile box item. The user’s contacts can also use this to download the application from BlackBerry App World.</p>
<h3><strong>Contacts</strong></h3>
<p>An application can retrieve a list of BBM Contacts who have the same application installed. This list can be used as selection criteria for connecting to create a multi-user experience. Events are also fired for changes to this contact list, allowing your application to keep track of both the addition and deletion of contacts in the contact list itself and/or changes to individual contacts. An application could pick up on changes to individual contacts to trigger some event. For example, if someone gets a new high score, a game may broadcast it to the user’s BBM contacts by changing their BBM personal message. An application could listen for this update and use it to trigger an in-game challenge to beat their friend’s new high score.</p>
<p>You could also use this to trigger in game connections. A user could enter a game and indicate they want to play against their friends. The game could update the user’s BBM status to something like, “Mark wants to play Slingshot 5000 with someone.” By listening to BBM status updates, my contacts who are also in game could be prompted to join for some head-to-head action.</p>
<h3><strong>Wrapping It Up</strong></h3>
<p>This list covers the core BlackBerry Messenger Social Profile features that will be available for your application to use upon the launch of BlackBerry 10. The <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/development.html" target="_new">SDKs and APIs</a> are available to use now &#8212; start today so you can be ready for launch. If you have an existing application that targets BlackBerry OS 5-7, you can roll out these features right away.</p>
<p>Keep an eye here on the blog for follow-up articles that’ll provide some technical information on how to code these features into your application. We also have further information available on the <a href="https://developer.blackberry.com/devzone/develop/bbm_connected/bbm.html" target="_new">BBM SP website</a>. Also, watch this blog for additional blog posts in the BBM series that cover how to use these features in a Cascades™ application and BlackBerry WebWorks application, as well as how to invoke BBM using the invocation framework.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/11860/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/11860/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=11860&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/11/bbm-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2011/08/bbm-icon.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>

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

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

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

		<media:content url="http://rimdevblog.files.wordpress.com/2012/11/bbm-integration-4.jpg" medium="image" />
	</item>
		<item>
		<title>BlackBerry Jam Zone Transition to BlackBerry ID Begins Today!</title>
		<link>http://devblog.blackberry.com/2012/09/jam-zone-blackberry-id/</link>
		<comments>http://devblog.blackberry.com/2012/09/jam-zone-blackberry-id/#comments</comments>
		<pubDate>Fri, 07 Sep 2012 14:51:22 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[BlackBerry ID]]></category>
		<category><![CDATA[BlackBerry Jam Zone]]></category>
		<category><![CDATA[developer support]]></category>
		<category><![CDATA[login]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10947</guid>
		<description><![CDATA[Recently we posted about the upcoming rollout of our developer properties login upgrade program to using BlackBerry® ID. Today we’re announcing that we’ve launched the first phase. As we mentioned in the previous blog post, this will affect BlackBerry® Jam Zone, as well as our friends over at BlackBerry® Beta Zone. Existing accounts tied to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10947&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2012/09/blogpic.png"><img class="aligncenter size-full wp-image-10950" title="blogpic" src="http://rimdevblog.files.wordpress.com/2012/09/blogpic.png?w=490&#038;h=270" alt="TITLE_IMAGE" width="490" height="270" /></a></p>
<p>Recently we posted about the upcoming rollout of our <a href="http://devblog.blackberry.com/2012/08/blackberry-id/" target="_new">developer properties login upgrade program to using BlackBerry® ID</a>. Today we’re announcing that we’ve launched the first phase.</p>
<p>As we mentioned in the previous blog post, this will affect <a href="https://developer.blackberry.com/" target="_new">BlackBerry® Jam Zone</a>, as well as our friends over at <a href="https://beta.webapps.blackberry.com/login/?cont=portals&amp;act=index&amp;item=" target="_new">BlackBerry® Beta Zone</a>. Existing accounts tied to your Jam Zone account login, like bug tracker, Developer Support Forums, and the Rewards system, will automatically be upgraded.</p>
<p>If you have a BlackBerry® smartphone or <a href="http://ca.blackberry.com/playbook-tablet.html" target="_new">BlackBerry® PlayBook™</a> tablet, you likely already have a BlackBerry ID. It’s what you use to purchase apps or set up your BlackBerry PlayBook tablet. Eventually, that will become your single login for all BlackBerry properties.</p>
<p>To reiterate from the previous blog post, <strong>as of today</strong>, when you <a href="https://bdsc.webapps.blackberry.com/bdsc/login.html?" target="_new">log in to your Jam Zone account</a>, you will be asked which login you want to use: Jam Zone (old system) or BlackBerry ID (new system).</p>
<p>To make the transition as smooth as possible, please review the following scenarios before attempting to log into Jam Zone:</p>
<p><span id="more-10947"></span></p>
<p><strong>If you are new to BlackBerry and do not yet have a BlackBerry ID or Jam Zone account&#8230;</strong></p>
<p>1. Go to: <a href="https://blackberryid.blackberry.com/bbid/login/" target="_new">https://blackberryid.blackberry.com/bbid/login/</a><br />
2. Create a new account.<br />
3. Follow the instructions to confirm the address you entered as your BlackBerry ID username is a valid email address.</p>
<p><strong>If you have a BlackBerry ID account but have NOT YET confirmed it&#8230;</strong></p>
<p>1. Look in your email inbox for an email from donotreply@blackberry.com. (Check your spam filter if you can’t find it.)<br />
2. Read the email and complete the instructions to confirm the address you entered as your BlackBerry ID username is a valid email address.</p>
<p><strong>If you are not sure that you have a BlackBerry ID or that it is confirmed&#8230;</strong></p>
<p>1. Go to: <a href="https://blackberryid.blackberry.com/bbid/login/" target="_new">https://blackberryid.blackberry.com/bbid/login/</a><br />
2. Enter your email address and click Sign in.<br />
a. If you see a message that the account does not exist, please follow the steps listed above for those who do not yet have a BlackBerry ID account.<br />
b. If you see a message that the account exists but has not been verified, please follow the steps listed above for those who have an account but have not yet verified it. Attempting to sign in will automatically re-send the verification email to you.<br />
c. If you are able to login, then you have an account and it is already verified. At this point, please logout and continue with the steps below to link your BlackBerry ID and Jam Zone accounts.</p>
<p><strong>Once you’ve completed these steps, or if you already have a verified BlackBerry ID account and choose to login with it&#8230;</strong></p>
<p>1. Go to: <a href="https://bdsc.webapps.blackberry.com/bdsc/login.html" target="_new">https://bdsc.webapps.blackberry.com/bdsc/login.html</a><br />
2. Login with your BlackBerry ID account.<br />
3. You will be asked if you would like to have a new Jam Zone profile created and linked automatically, or if you would like to link your BlackBerry ID to an existing Jam Zone profile.<br />
4. If you want to link to an existing Jam Zone profile, you will need to enter those credentials after choosing this option to complete the linking.<br />
5. You’re now logged in with BlackBerry ID and your accounts are linked. You will continue to log in with BlackBerry ID in the future.</p>
<p><strong>If you have a Jam Zone account and choose to login with it&#8230;</strong></p>
<p>1. Go to: <a href="https://bdsc.webapps.blackberry.com/bdsc/login.html" target="_new">https://bdsc.webapps.blackberry.com/bdsc/login.html</a><br />
2. You will be asked to either create a BlackBerry ID account if you don’t already have one, or link to your BlackBerry ID account if you do have one.<br />
3. Complete the on-screen instructions to link your JamZone account with your BlackBerry ID account.<br />
4. You’re now logged in with BlackBerry ID. You will continue to log in with BlackBerry ID in the future.</p>
<p>If none of those options works for you, please have a look at <a href="http://docs.blackberry.com/en/smartphone_users/deliverables/27236/Frequently_asked_questions_1259641_11.jsp" target="_new">this FAQ</a>.</p>
<p>If you experience any issues linking your accounts, please first clear your browser cache. If you continue to encounter issues, contact us through the <a href="http://supportforums.blackberry.com/t5/Developer-Support-Forums/ct-p/blackberrydev" target="_new">Developer Support Forums</a> using your previous forum login.</p>
<p>You will now be able to log in to Jam Zone, the Developer Support Forums (through Jam Zone*), Issue Tracker, and Rewards using your BlackBerry ID. You will also be able to change your account’s email address, and soon, joining webcasts will be easier as well. Additional phases of the project will launch in the future to continue improving your online BlackBerry developer experience.</p>
<p><em>* Please note that if you log into the Developer Support Forums directly, and not through Jam Zone, you will still need to use your previous forum login.</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10947/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10947/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10947&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/09/jam-zone-blackberry-id/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/09/blogpic.png" medium="image">
			<media:title type="html">blogpic</media:title>
		</media:content>
	</item>
		<item>
		<title>Success in the BlackBerry Developer Support Forum</title>
		<link>http://devblog.blackberry.com/2012/09/blackberry-developer-support-forum-success/</link>
		<comments>http://devblog.blackberry.com/2012/09/blackberry-developer-support-forum-success/#comments</comments>
		<pubDate>Wed, 05 Sep 2012 15:38:25 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[BlackBerry Developer Support Forum]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[thread]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10925</guid>
		<description><![CDATA[Every day, BlackBerry® developers use the BlackBerry Developer Support Forum to get help when they get stuck. Every once in a while, a thread appears that epitomizes the peer to peer interaction we envisioned when we launched these forums. I want to share with you an example of how to optimize your initial post to [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10925&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img src="http://rimdevblog.files.wordpress.com/2012/09/developer-forum.jpg?w=550&#038;h=428" alt="TITLE_IMAGE" title="" width="550" height="428" class="aligncenter size-full wp-image-10926" /></p>
<p>Every day, BlackBerry® developers use the <a href="http://supportforums.blackberry.com/t5/Developer-Support-Forums/ct-p/blackberrydev" target="_new">BlackBerry Developer Support Forum</a> to get help when they get stuck.  Every once in a while, a thread appears that epitomizes the peer to peer interaction we envisioned when we launched these forums. I want to share with you an example of how to optimize your initial post to a thread to ensure your problem gets the best possible attention.</p>
<p><span id="more-10925"></span></p>
<p>On Wednesday August 22nd, <a href="http://supportforums.blackberry.com/t5/user/viewprofilepage/user-id/823359" target="_new">jgobert</a> started a thread called &#8220;<a href="http://supportforums.blackberry.com/t5/Java-Development/App-crashing-when-accessing-email-attachment/td-p/1870763" target="_new">App crashing when accessing email attachment&#8230;</a>&#8221;  His organization was upgrading to the <a href="http://ca.blackberry.com/smartphones/blackberry-bold-9900-9930.html" target="_new">BlackBerry® Bold™ 9900</a> smartphone running BlackBerry® Device Software 7.1.While testing out one of their custom, mission-critical applications, he discovered that the application was failing and throwing a ControlledAccessException. The very first post in this thread shows jgobert did his homework before posting.  He supplied a ton of information about the problem including:</p>
<ul>
<li>basic details about what the application does</li>
<li>what it was doing when it threw the exception</li>
<li>a stack trace showing the exception being thrown</li>
<li>application permissions</li>
<li>BlackBerry Device Software versions where the application worked and where it didn’t.</li>
</ul>
<p>That covers just about everything that could be supplied about a problem, except for some source code itself.  <a href="http://supportforums.blackberry.com/t5/user/viewprofilepage/user-id/15193" target="_new">Simon Hain</a> was the first to reply, asking for the source code that was triggering the exception.  After the source code was posted, <a href="http://supportforums.blackberry.com/t5/user/viewprofilepage/user-id/13012" target="_new">Peter Strange</a> replied with a theory of the cause, which was bang on.  Over the next few pages Simon, Peter and I worked with jgobert to help modify the application to prevent the exception, which was caused by more stringent security in the newer software.  Posts by all involved in the thread provided great detail, allowing for a solution within 24 hours of the first post.  Jgobert could then move on with the deployment of the new BlackBerry Bold smartphones.</p>
<p>I can’t stress enough how important it is to include all those details in a first post.  Our BlackBerry Developer Forum community is an experienced group who love a challenge.  Feeding them lots of details will catch their interest and get them thinking about your problem.  If jgobert had posted a basic message simply stating that their application throws a ControlledAccessException after upgrading to 7.1, or posted some source code and simply said it stopped working, the post would have received much less attention.</p>
<p>The moral of the story here is that you can really help yourself get help.  Do a bit of research into your problem and post all the relevant information you can gather about your problem.  The quality of information you provide to the community will directly affect the quality of response you receive.  When posting, you can refer to the “Information to include when posting to the XYZ forum” postings at the top of most forums.  They’ll help to instruct you on the most important information to include in your post. Help us create more successful threads like this in the <a href="http://supportforums.blackberry.com/t5/Developer-Support-Forums/ct-p/blackberrydev" target="_new">BlackBerry Developer Support Forum</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10925/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10925/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10925&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/09/blackberry-developer-support-forum-success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/09/developer-forum.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Simulator News: BlackBerry Runtime for Android Apps gets Hardware Graphics Acceleration</title>
		<link>http://devblog.blackberry.com/2012/08/android-hardware-graphics-acceleration/</link>
		<comments>http://devblog.blackberry.com/2012/08/android-hardware-graphics-acceleration/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 16:06:40 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Android Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Android Runtime]]></category>
		<category><![CDATA[Android Runtime for BlackBerry 10 Beta]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[OpenGL ES]]></category>
		<category><![CDATA[simulator]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10659</guid>
		<description><![CDATA[The BlackBerry® Runtime for Android apps has used its own software implementation of OpenGL. Release 10.0.6 of the BlackBerry 10 Dev Alpha Simulator and beta release 2.1.0 of the BlackBerry® PlayBook™ Simulator now support hardware accelerated graphics. One of the problems with implementing hardware acceleration on the Android runtime is that the graphics driver assumes it’s running [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10659&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>The BlackBerry® Runtime for Android apps has used its own software implementation of OpenGL. Release 10.0.6 of the BlackBerry 10 Dev Alpha Simulator and beta release 2.1.0 of the BlackBerry® PlayBook™ Simulator now support hardware accelerated graphics.</p>
<p>One of the problems with implementing hardware acceleration on the Android runtime is that the graphics driver assumes it’s running closer to the hardware than it actually is; the player must know of a method of uploading its compositor’s data directly to the hardware. Normally this can be done via a method like glTexImage2D, which is actually implemented as a fallback method in Android. For optimal performance however, the compositing architecture would have to make use of direct buffer access through its gralloc module. The trick is in giving Android the right hooks into the Mesa3D driver that allows it to go around the regular conventions. With a bit of finesse and a lot of work, the BlackBerry 10 simulator now has a fully hardware accelerated Android runtime.</p>
<p><span id="more-10659"></span></p>
<h2>How To: Enabling hardware graphics acceleration</h2>
<p>Current simulators have 3D acceleration enabled by default. To check whether acceleration is enabled, open your Virtual Machine Settings in VMWare Player and in the Display tab check “Accelerate 3D graphics” as seen here:</p>
<p style="text-align:center;"><a href="http://rimdevblog.files.wordpress.com/2012/08/sim-1.jpg"><img class="aligncenter size-full wp-image-10660" title="sim-1" src="http://rimdevblog.files.wordpress.com/2012/08/sim-1.jpg?w=549&#038;h=477" alt="TITLE_IMAGE" width="549" height="477" /></a></p>
<h2>Demonstration</h2>
<p>In the following video, you&#8217;ll see the difference hardware acceleration can make in the Android runtime:</P><br />
<span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='480' height='360' src='http://www.youtube.com/embed/BJjm-N162U8?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>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10659/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10659/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10659&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/08/android-hardware-graphics-acceleration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/08/sim-1.jpg" medium="image">
			<media:title type="html">sim-1</media:title>
		</media:content>
	</item>
		<item>
		<title>Would you like a 1130% Performance Increase for your BlackBerry 10 Simulator?</title>
		<link>http://devblog.blackberry.com/2012/08/performance-increase-blackberry-10-simulator/</link>
		<comments>http://devblog.blackberry.com/2012/08/performance-increase-blackberry-10-simulator/#comments</comments>
		<pubDate>Wed, 15 Aug 2012 14:33:32 +0000</pubDate>
		<dc:creator>MSohm</dc:creator>
				<category><![CDATA[Adobe AIR Development]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[VMWare]]></category>
		<category><![CDATA[webworks]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10663</guid>
		<description><![CDATA[VMWare takes advantage of a seldom used but immensely impressive technology, virtualization. Virtual machines set up a sandbox that to the guest operating system seems like a perfectly normal piece of hardware. Normally, abstracting a second system from the host OS takes a fair amount of horsepower. Hardware vendors have met this challenge by supporting, [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10663&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>VMWare takes advantage of a seldom used but immensely impressive technology, virtualization. Virtual machines set up a sandbox that to the guest operating system seems like a perfectly normal piece of hardware. Normally, abstracting a second system from the host OS takes a fair amount of horsepower. Hardware vendors have met this challenge by supporting, essentially, multiple computing environments on the same chip. The host OS can switch contexts from one to the other, allowing the virtual machine direct access to features that would normally have to be emulated or simulated.  To demonstrate this, here’s a brief video showing the difference in startup speed between the two technologies:</p>
<p style="text-align:center;"><span class='embed-youtube' style='text-align:center; display: block;'><iframe class='youtube-player' type='text/html' width='480' height='360' src='http://www.youtube.com/embed/QTe5Z9KFJEY?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=QTe5Z9KFJEY&amp;feature=youtu.be" target="_new">YouTube link for mobile viewing</a> ]</p>
<p><P></p>
<p>As demonstrated in the video, there is a drastic improvement of boot time. Boot time dropped 294 seconds, to 26 seconds, a <strong>1130% performance increase</strong>!</p>
<p><span id="more-10663"></span></p>
<div id="attachment_10665" class="wp-caption aligncenter" style="width: 497px"><a href="http://rimdevblog.files.wordpress.com/2012/08/per-1.jpg"><img class="size-full wp-image-10665" title="per-1" src="http://rimdevblog.files.wordpress.com/2012/08/per-1.jpg?w=487&#038;h=295" alt="TITLE_IMAGE" width="487" height="295" /></a><p class="wp-caption-text">1130% Performance Improvement in Boot Time</p></div>
<p>Given that boot times are largely dependent on I/O speed, we&#8217;ll next demonstrate how CPU-centric operations are impacted by virtualization, which should give us an idea of how real-world applications would be impacted.</p>
<h2>Benchmark: Dhrystone</h2>
<p>The following benchmark is based on Dhrystone 2.1 test suite. The test system was an Intel Core i7, quadcore 2.8ghz machine running VMWare 4.0.4 under Windows 7. Five billion iterations were run per target. The &#8220;HW Virtualization&#8221; column had the Preferred Virtualization engine in VMWare set to &#8220;Automatic&#8221;, whereas the &#8220;No Virtualization&#8221; column had the Preferred Virtualization engine set to &#8220;Binary translation&#8221;, with acceleration turned off.</p>
<div id="attachment_10666" class="wp-caption aligncenter" style="width: 497px"><a href="http://rimdevblog.files.wordpress.com/2012/08/per-2.jpg"><img class="size-full wp-image-10666" title="per-2" src="http://rimdevblog.files.wordpress.com/2012/08/per-2.jpg?w=487&#038;h=295" alt="" width="487" height="295" /></a><p class="wp-caption-text">1140% Performance Increase</p></div>
<p>This correlates almost perfectly with the difference in boot speed, approximately one order of magnitude, or 10x. I&#8217;d like to note however, this isn&#8217;t precisely fair, given that binary translation may be accelerated even on machines without explicit virtualization acceleration. Though it does go to demonstrate just how powerful the technology can be.</p>
<h2>How To: Enable Virtualization</h2>
<p>While not a new technology, virtualization does not exist on all hardware. If you have a desktop PC made in the last 7 years, chances are your CPU has it.  However, if you’re developing on a laptop, you’ll have to refer to your chip maker’s user manual, or have a look online for whether your CPU supports the technology<strong>. It is likely you will have to turn virtualization on in your motherboard’s BIOS.</strong> Refer to your motherboard’s manual for instructions on how to do this.</p>
<p>Once you’ve enabled virtualization on your motherboard, check your Virtual Machine Settings in VMWare, and under the Processors section, confirm that the Virtualization Engine is set to Automatic, and &#8220;Disable acceleration for binary translation&#8221; is unchecked, as seen here.</p>
<p style="text-align:center;"><a href="http://rimdevblog.files.wordpress.com/2012/08/per-3.jpg"><img class="aligncenter  wp-image-10667" title="per-3" src="http://rimdevblog.files.wordpress.com/2012/08/per-3.jpg?w=502&#038;h=462" alt="" width="502" height="462" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10663/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10663/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10663&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/08/performance-increase-blackberry-10-simulator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/76c7dc9f1e2068196cd724a8bd5bac54?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">msohm</media:title>
		</media:content>

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

		<media:content url="http://rimdevblog.files.wordpress.com/2012/08/per-2.jpg" medium="image">
			<media:title type="html">per-2</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2012/08/per-3.jpg" medium="image">
			<media:title type="html">per-3</media:title>
		</media:content>
	</item>
	</channel>
</rss>
