<?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; Gurtej S.</title>
	<atom:link href="http://devblog.blackberry.com/author/gurtejsan1/feed/" rel="self" type="application/rss+xml" />
	<link>http://devblog.blackberry.com</link>
	<description></description>
	<lastBuildDate>Fri, 24 May 2013 15:08:31 +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; Gurtej S.</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>Real-time Communications (VoIP) on BlackBerry 10: WebRTC and Open Peer</title>
		<link>http://devblog.blackberry.com/2013/05/hookflash/</link>
		<comments>http://devblog.blackberry.com/2013/05/hookflash/#comments</comments>
		<pubDate>Wed, 22 May 2013 13:09:22 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Announcements]]></category>
		<category><![CDATA[Cascades]]></category>
		<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Messaging]]></category>
		<category><![CDATA[multimedia]]></category>
		<category><![CDATA[native]]></category>
		<category><![CDATA[ndk]]></category>
		<category><![CDATA[Open Peer]]></category>
		<category><![CDATA[Real-time Communications]]></category>
		<category><![CDATA[RTC]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[voice]]></category>
		<category><![CDATA[VoIP]]></category>
		<category><![CDATA[WebRTC]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=15059</guid>
		<description><![CDATA[I would like take this opportunity and introduce you to our good friends at Hookflash who have successfully ported all major components of both WebRTC and Open Peer libraries to BlackBerry 10. To provide a brief overview, WebRTC is an open source multimedia &#38; network stack that supports real-time audio &#38; video. The value Open [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15059&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_15061" class="wp-caption aligncenter" style="width: 532px"><a href="http://rimdevblog.files.wordpress.com/2013/05/rtc1.png"><img class="size-full wp-image-15061" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/05/rtc1.png?w=522&#038;h=278" width="522" height="278" /></a><p class="wp-caption-text"><a href="http://www.webrtc.org/reference/architecture" rel="nofollow">http://www.webrtc.org/reference/architecture</a></p></div>
<p>I would like take this opportunity and introduce you to our good friends at <a href="http://hookflash.com/">Hookflash</a> who have successfully ported all major components of both <a href="http://www.webrtc.org/">WebRTC</a> and <a href="http://openpeer.org/">Open Peer</a> libraries to BlackBerry 10. To provide a brief overview, WebRTC is an open source multimedia &amp; network stack that supports real-time audio &amp; video. The value Open Peer delivers to WebRTC applications is peer-to-peer (P2P) signalling on the wire, Instant Messaging, Federated Identities and multiple mobile platform support.</p>
<p><span id="more-15059"></span></p>
<p>So why is this so important?  Well, it enables developers to build rich, compelling, real-time communication applications integrating Social Identities with Voice, Video and Messaging using <a href="https://developer.blackberry.com/native/">BlackBerry 10 Native SDK</a>. Secondly, WebRTC is free to use if you decide to commercialize your application. What Hookflash has achieved on BlackBerry 10 really exemplifies the power of our BlackBerry 10 Native Platform to deliver the best communications experience.</p>
<p>I would like to further highlight Hookflash team’s experience in porting both WebRTC and Open Peer stack’s over to BlackBerry 10 platform. Check out my interview with Erik Lagerway (Co-founder) &amp; Robin Raymond (Chief Architect) from Hookflash below:</p>
<blockquote>
<h3>What is Hookflash?</h3>
<p><a href="http://hookflash.com/">Hookflash</a> is a globally distributed software development team building “<a href="http://openpeer.org/">Open Peer</a>”, new “open” video, voice and messaging specification and software for mobile platforms and web browsers.  Open Peer enables an important new evolution of communications; <i>Open</i>, for developers and customers to create with. “<i>Over-the-top</i>” on the Internet, where users control their economics and quality of service. “<i>Federated Identity” </i>so user’s connections aren’t limited by service provider’s walled gardens and operating systems. “<i>Integrated”</i>, as communications become a native function in software and applications. Hookflash founders, lead developers and Advisors accomplishments include; creators of the world’s most popular softphones, built audio technology acquired and used by Skype, built GIPS technology acquired and open sourced by Google to create WebRTC, and engaged in <a href="http://webrtc.is/">WebRTC standards development</a> in the IETF and W3C.</p>
<h3>What is Open Peer SDK and how would this empower BlackBerry 10 developers?</h3>
<p>Open Peer enables direct integration of social identities, video, voice and messaging communications for developers building native BlackBerry 10 (NDK) applications. Voice, video and messaging flow Over The Top (OTT) via the Internet.</p>
<p>These services are delivered peer-to-peer (P2P) providing extremely strong privacy, security and encryption. Open Peer enables federated identities and allows developers to leverage and integrate whatever identity model they currently have, so their users <i>remain their users!</i></p>
<h3>What features does Open Peer SDK support?</h3>
<p>The Open Peer SDKs are built according to the <a href="http://docs.openpeer.org/OpenPeerProtocolSpecification/">Open Peer specification</a>. Here are a few of the features we have built into the current SDKs&#8230;</p>
<ul>
<li>HD real-time video</li>
<li>Wideband voice and messaging</li>
<li>Peer-to peer signalling &amp; media transport (greater efficiency, reliability &amp; privacy)</li>
<li>Federated identity for cross-platform communications (not to be confused with Single Sign-On)</li>
<li>Encrypted &amp; secure communications</li>
</ul>
<h3>Would HTML5/WebWorks developers be able to leverage this in BlackBerry 10?</h3>
<p>Yes. The current SDK is for BB10 NDK developers at this time. However, we have an active “opjs” project under development that will allow interaction between a native BB10 application and an HTML5/WebRTC enabled browser thus allowing web applications to communicate directly with native BB10 applications.</p>
<h3>Share your experience in cross compiling your code for BlackBerry 10</h3>
<p>Like all platforms, there’s is a learning curve relative to what you are used to until you find yourself comfortable in a new environment, and BB10/QNX is no different. The richness to the platform experience is impressive on the BB10 and made iOS feel somewhat dated by comparison.</p>
<p>Since QNX is a POSIX compliant system, it was relatively easy to get a majority of open source code ported to BlackBerry 10. The QNX GCC-compliant mode has helped us as well.</p>
<p>There were a few wrinkles along the way. The documentation and NDK felt young compared to other more established platforms but that kind of level of documentation grows out of community support and interaction.</p>
<p>One major difference between this project and other platforms has been the phenomenal support that Blackberry has provided us as developers, especially as Hookflash is pushing the platform and technology harder than most with real time communications in audio and video. This was refreshing, We&#8217;ve never seen such incredible support for their developer community.</p>
<h3>Have you ported over the entire webRTC engine to BlackBerry?</h3>
<p>Yes, we have ported all major components of webRTC library to BlackBerry. We will be extending what is offered by WebRTC’s library as well.</p>
<h3>How long did it take to port the WebRTC and Open Peer code to Blackberry 10?</h3>
<p>When you consider the size of the code-base that had to be moved, and the fact we had not worked on QNX /  Blackberry 10 before, it went relatively quickly. The entire move took us approximately 90 days.</p>
<h3>Are you going to commit this work back upstream to WebRTC project?</h3>
<p>Yes, our code will migrate back to the WebRTC project. Hookflash is extremely busy on a number of fronts making Open Peer widely available with limited resources.  We appreciate help from other developers. Pushing the WebRTC codebase back upstream will be of tremendous value to the Blackberry developer community. Requests to join <a href="https://github.com/openpeer/opbb10">our Open Peer BB10 github project</a> are always appreciated.</p>
<h3>What APIs did you use to build your application on BlackBerry 10?</h3>
<p><a href="https://developer.blackberry.com/native/reference/bb10/audio_libref/topic/summary.html">NDK’s audio</a>, camera and rendering subsystems and Boost are the bulk of the components. We use <a href="https://developer.blackberry.com/cascades/">Cascades/QT</a> for the sample application.</p>
<h3>Do you have VP8 Video working on BlackBerry 10?</h3>
<p>Yes. We had some difficulty getting the assembly to compile properly but with Blackberry’s support we were successful in porting an optimized version of VP8 to the BB10 platform. Keep in mind we have tested this mostly on Z devices at this time with limited testing done on the Q devices.</p>
<h3>How was your experience relative to working with other platforms and BlackBerry 10?</h3>
<p>As mentioned earlier, Blackberry feels a bit new in the documentation area and there are still a few bugs to take care of in the platform. Having said that, the platform is forward thinking, flexible and impressively powerful. Blackberry’s support has been beyond anything we could have hoped and even expected.</p>
<p>As more developers are drawn to the platform, documentation and community involvement will improve the access to information on the platform and increase the samples available to draw upon.</p>
<p>For such a new entrant into the market, our team is thoroughly impressed.</p>
<h3>How was your experience working with the RIM team?</h3>
<p>Bar-none, the best support we’ve ever had from a major platform vendor directly into the project. Kudos to RIM / Blackberry for providing such a spectacular community outreach.</p>
<h3>When is Open Peer SDK going to be available for BlackBerry 10?</h3>
<p>Our SDK is ready now in beta, developers can get it on <a href="https://github.com/openpeer/opbb10">Github</a> today. We continue to polish this and our other toolkits, we expect commercialization to begin later this year. Follow us on <a href="https://github.com/openpeer/">github</a> and <a href="http://twitter.com/hookflash">twitter</a> to get the latest news on Hookflash and Open Peer development.</p></blockquote>
<p>I hope you found this interview informative and useful.  If you have any questions or feedback please leave a comment below or reach out to me directly on Twitter <a href="https://twitter.com/_GurtejSandhu">_GurtejSandhu</a>. Kudos to Hookflash team for making this all happen.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/15059/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/15059/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=15059&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/05/hookflash/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/05/rtc1.png" medium="image">
			<media:title type="html">TITLE_IMAGE</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>Port Your PJSIP Engine to BlackBerry 10 in Less Than 10 minutes</title>
		<link>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/</link>
		<comments>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/#comments</comments>
		<pubDate>Mon, 14 Jan 2013 14:05:16 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ICE]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Open Source SIP]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[RTP]]></category>
		<category><![CDATA[SDP]]></category>
		<category><![CDATA[SIP]]></category>
		<category><![CDATA[STUN]]></category>
		<category><![CDATA[TURN]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13023</guid>
		<description><![CDATA[If you haven’t already heard, the BlackBerry 10 countdown is on. If you have an existing application using PJSIP libraries, this is your opportunity to port your pjsip open source stack to BlackBerry 10 in a matter of minutes. As you may have already heard, Bob Cripps has successfully ported PJSIP to BlackBerry 10. Just very [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13023&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><a href="http://rimdevblog.files.wordpress.com/2013/01/pjsip.jpg"><img class="aligncenter size-full wp-image-13024" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/01/pjsip.jpg?w=344&#038;h=95" width="344" height="95" /></a></p>
<p>If you haven’t already heard, the BlackBerry 10 countdown is on. If you have an existing application using PJSIP libraries, this is your opportunity to port your pjsip open source stack to BlackBerry 10 in a matter of minutes. As you may have already heard, <a href="https://github.com/bobcripps">Bob Cripps</a> has successfully ported PJSIP to BlackBerry 10. Just very recently Bob has helped simplify building PJSIP for BlackBerry 10 by creating a set of executable scripts. This work has now all been committed to our BlackBerry github <a href="https://github.com/bobcripps/Cascades-Community-Samples/tree/master/bb10-pjsipdemo">repository</a>.</p>
<p>I took this opportunity to dig deep into building PJSIP for BlackBerry 10. As soon as I had my Linux environment up and running with all the prerequisites installed, I am happy to say that it took me less than ten minutes to build and load PJSIP BlackBerry 10 Cascades sample project to my BlackBerry 10 Dev <a href="https://developer.blackberry.com/blackberry10devalpha/">Alpha device</a>. So please don’t try to reinvent the wheel &#8211; dive right into this github <a href="//github.com/blackberry/Cascades-Community-Samples/tree/master/bb10-pjsipdemo">repository</a> to port PJSIP to BlackBerry 10. Remember to follow the README instructions as they are very important. You can also follow the instructions in below PJSIP porting guide knowledge base article: <a href="http://supportforums.blackberry.com/t5/Native-Development/Porting-PJSIP-PJMEDIA-and-PJLIB-to-BlackBerry-10/ta-p/2085751"><b>http://supportforums.blackberry.com/t5/Native-Development/Porting-PJSIP-PJMEDIA-and-PJLIB-to-BlackBerry-10/ta-p/2085751</b></a><b></b></p>
<p>If you run into any issues in porting PJSIP to BlackBerry 10 you can send me a tweet <a href="http://https://twitter.com/_GurtejSandhu" target="_blank">@_GurtejSandhu</a> or write your comment below and I will be happy to assist.</p>
<p>Again, huge kudos to Bob Cripps for contributing his recent work in simplifying building PJSIP for BlackBerry 10.</p>
<p>Success stories:</p>
<p><a href="http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/">http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</a></p>
<p>BlackBerry 10 Development:</p>
<p><a href="https://developer.blackberry.com/develop/platform_choice/ndk.html">https://developer.blackberry.com/develop/platform_choice/ndk.html</a></p>
<p><a href="http://devblog.blackberry.com/2013/01/blackberry-10-voip/">http://devblog.blackberry.com/2013/01/blackberry-10-voip/</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13023/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13023/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13023&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/port-your-pjsip-engine-to-blackberry-10-in-less-than-10-minutes/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/pjsip.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Full Duplex Audio Engine for BlackBerry 10 VoIP Developers</title>
		<link>http://devblog.blackberry.com/2013/01/blackberry-10-voip/</link>
		<comments>http://devblog.blackberry.com/2013/01/blackberry-10-voip/#comments</comments>
		<pubDate>Wed, 02 Jan 2013 19:15:09 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Native SDK Development]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[audio subsystem]]></category>
		<category><![CDATA[audio support]]></category>
		<category><![CDATA[bbm]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=12809</guid>
		<description><![CDATA[Figure shows a high level audio block diagram of BlackBerry 10 audio subsystem and BlackBerry 10 APIs If you haven’t already heard, RIM’s subscriber base just grew to 80 million users &#8212; and of those users, 60 million use BlackBerry Messenger (BBM). If you are thinking about growing your user base, why not just port [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-12810" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/12/voip.jpg?w=600&#038;h=276" width="600" height="276" /></p>
<p style="text-align:center;"><i>Figure shows a high level audio block diagram of BlackBerry 10 audio subsystem and BlackBerry 10 APIs</i></p>
<p>If you haven’t already heard, RIM’s subscriber base just grew to 80 million users &#8212; and of those users, 60 million use BlackBerry Messenger (BBM). If you are thinking about growing your user base, why not just port your existing VoIP solution to BlackBerry 10?</p>
<p>For VoIP developers, how can this be possible? Well, it’s simple: BlackBerry 10 is powered by a QNX operating system, and you can benefit from this POSIX-compliant platform by porting open source libraries – whether that is PJSIP/PJMEDIA or your existing propriety VoIP stack.</p>
<p>As a VoIP developer, you may wonder if BlackBerry 10 provides the core ingredients for you to integrate your existing stack (SIP, RTP, Jitter buffer, SDP etc.) to BlackBerry 10’s underlying platform. Good news is that we have already done the work and validated this for you.</p>
<p>BlackBerry 10 audio subsystems consist of:</p>
<ul>
<li>Full duplex audio support</li>
<li>Interface to the microphone, receiver, loudspeaker and headset</li>
<li>Analog-to-Digital Conversion for the microphone</li>
<li>Digital-to-Analog Conversion for the speaker</li>
<li>Hardware Audio Routing to select audio user interface (headset, speakerphone&#8230;)</li>
<li>Io-audio enables voice processing (AEC, NR, Gain Control) and routes audio to voice path</li>
<li>Automatic Least cost audio routing over Wi-Fi or cellular radio</li>
<li>Volume control</li>
</ul>
<p>What’s important here is that these features are available to you today through the Audio Library APIs as part of the BlackBerry 10 Native SDK. The Audio Library is based on the QNX Sound Architecture API functions and has a lot of similarities to the Advanced Linux Sound Architecture (ALSA) APIs. These are not directly compatible, but for those of you that come from the Linux world and choose to use ALSA this would definitely be a good opportunity for you to port your existing code to BlackBerry 10.</p>
<p>So why wait &#8211; get started today! The knowledge base article below directs you to sample code that demonstrates how to integrate your existing VoIP stack with the BlackBerry 10 audio subsystem.</p>
<p><a href="http://supportforums.blackberry.com/t5/Native-Development/BlackBerry-10-Audio-Subsystem/ta-p/2018769" target="_new">http://supportforums.blackberry.com/t5/Native-Development/BlackBerry-10-Audio-Subsystem/ta-p/2018769</a></p>
<p>You can follow existing success stories at:<br />
<a href="http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html" target="_new">http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html</a><br />
<a href="http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/" target="_new">http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</a></p>
<p>PJSIP Blog:<br />
<a href="http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/" target="_new">http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/</a><br />
<a href="https://trac.pjsip.org/repos/wiki/Getting-Started/BB10" target="_new">https://trac.pjsip.org/repos/wiki/Getting-Started/BB10</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/12809/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/12809/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=12809&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/01/blackberry-10-voip/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/2012/12/voip.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Enterprise App Developers: BlackBerry Balance technology webinar session</title>
		<link>http://devblog.blackberry.com/2012/08/blackberry-balance-webinar/</link>
		<comments>http://devblog.blackberry.com/2012/08/blackberry-balance-webinar/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 14:57:29 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[BlackBerry Balance]]></category>
		<category><![CDATA[BlackBerry Mobile Fusion]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[Enterprise Apps]]></category>
		<category><![CDATA[register]]></category>
		<category><![CDATA[webinar]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10718</guid>
		<description><![CDATA[We will be hosting a webinar on August 30th about BlackBerry Balance technology and how it protects your resident enterprise application data within the corporate perimeter.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10718&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Are you looking to mobilize your enterprise application to BlackBerry® 10 but not sure how to protect your corporate data? Look no further – on August 30th I will be hosting a webinar that will help give you an understanding of <a href="http://www.blackberry.com/balance" target="_new">BlackBerry® Balance™</a> technology and how it protects your resident enterprise application data within the corporate perimeter.</p>
<p>We will have a number of exciting topics to cover during the webinar, including the following:</p>
<ul>
<li>What is BlackBerry® Mobile Fusion?</li>
<li>BlackBerry Balance technology
<ul>
<li>Personal &amp; Corporate perimeters</li>
<li>Protecting data at rest</li>
<li>Enterprise application connectivity &amp; security</li>
</ul>
</li>
<li>Enterprise application management</li>
<li>Mobile application integration</li>
</ul>
<p>I am very excited to share the vast improvements that we have made in deploying your BlackBerry 10 application within the enterprise, along with enabling your enterprise application to securely connect to your corporate backend and provide a fully integrated experience.</p>
<p><a href="http://www.blackberrydeveloperevents.com/events/webcast/registration/register.html?scoid=1060821127" target="_new">Registration is open now</a>, so please sign up to reserve your spot and I will see you on August 30th.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10718/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10718/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10718&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/08/blackberry-balance-webinar/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>
	</item>
		<item>
		<title>VoIP Development on BlackBerry 10</title>
		<link>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/#comments</comments>
		<pubDate>Tue, 10 Jul 2012 14:26:30 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Case Studies & Success Stories]]></category>
		<category><![CDATA[Interviews/Thought Leadership]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[PJSIP]]></category>
		<category><![CDATA[Tru App]]></category>
		<category><![CDATA[Truphone]]></category>
		<category><![CDATA[VoIP]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=10137</guid>
		<description><![CDATA[An interview with Truphone to share their experience in porting a PJSIP open source multimedia stack over to BlackBerry 10.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10137&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-10138" title="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2012/07/voip-1.jpg?w=373&#038;h=263" alt="TITLE_IMAGE" width="373" height="263" /></p>
<p>Let me be the first to share with you that real-time communications (VoIP) development is not only possible, but the BlackBerry® 10 platform was specifically built from ground up to deliver the best communications experience. There may be plenty of open source stacks out there for VoIP development, but an important one that comes to mind is <a href="http://www.pjsip.org/" target="_new">PJSIP</a>. To provide a brief overview, PJSIP is a free and open source multimedia stack written in C, and it supports audio, video, presence, and instant messaging capabilities. This allows you to develop compelling real-time communication applications, such as VoIP phone.</p>
<p>This may seem like a lot of porting effort but based on my experience in working with our good friends here at Truphone, this was fairly easy to bring over to BlackBerry 10. I want to take this opportunity and share their experience in porting a PJSIP open source multimedia stack over to BlackBerry 10. Check out my interview with Adam from Truphone below:</p>
<p><span id="more-10137"></span></p>
<p><strong>What is Tru App?</strong></p>
<p>The Tru app is our mobile application, available on BlackBerry 10, iOS, and Android, that allows our users to call and message people for free, or very cheaply. It works with our SIM offerings to provide a unique experience across GSM and VoIP.</p>
<p><strong>Share your experience in cross compiling your code for BlackBerry 10.</strong></p>
<p>Piece of cake! We have about 250k LoC in our voice engine, with many layers: signaling, NAT traversal, socket management, codec management, and much more. The only layer we needed to work on was that part that controlled the audio units (the actual hardware). Even that didn&#8217;t require that much work &#8212; 60 man days and our entire audio engine was ported and hooked up in our automated build environment with unit and integration tests complete!</p>
<p><strong>What APIs did you use to build Tru App on BlackBerry 10?</strong></p>
<p>For the audio unit work, we needed to work with the AlSA-like API that the BlackBerry 10 OS (which is QNX based) provides. This is subtly different to ALSA in that you request a preferred audio unit to be opened on your behalf, based on what state the device is in; e.g. it might be in hands-free mode, or might have a headset plugged in. We had to learn those APIs, which was fairly straightforward, as all the documentation was available online on the QNX website. There were one or two changes that are obviously specific to BlackBerry 10&#8242;s QNX implementation, but RIM® helped us in overcoming those challenges, and I&#8217;m sure that information will be fed into the API docs for the upcoming release of BlackBerry 10.</p>
<p>Other than that, we had to work with the Cascades™ framework and its Qt APIs (as well as QML to render our views). That was only complex in so far that much of it was not documented, but that is common with pre-alpha products! Since the alpha devices were released to the public at BlackBerry World™, all the documentation has been provided to make this a fairly straightforward task.</p>
<p><strong>How was your experience relative to working with other platforms and BlackBerry 10?</strong></p>
<p>It&#8217;s unix-like, which makes it open source friendly, which means you can stand on the shoulders of giants. It&#8217;s a great platform for prototyping and innovating, or indeed any project where you need to get productive quickly.</p>
<p>There are seemingly no private APIs on the device either, which means you don&#8217;t have to spend time working around limitations put on the device by the manufacturer.</p>
<p><strong>How was your experience working with the RIM team?</strong></p>
<p>Without wanting to sound like I&#8217;m biased, it was honestly really impressive. I&#8217;d heard RIM had put a lot of investment into developer relations, and that was obvious. The guys were massively responsive and attentive. It wasn&#8217;t just the dev relations guys either &#8212; the devs themselves took time to speak to us and get our feedback.</p>
<p><strong>Is Tru App going to be available on BlackBerry 10?</strong></p>
<p>Yep, we&#8217;ll be ready come the launch date!</p>
<p><strong>What does this port mean for developers?</strong></p>
<p>It’s a platform that you can add to your existing mobile strategy with low cost and minimum effort. It&#8217;s a platform you can innovate on, and there is an existing customer base you can rely on for revenue. Tecnically, it’s a very strong platform.</p>
<p><strong>Thanks for sharing all of these details with us, Adam!</strong></p>
<p>You can follow this success story at:<br />
<a href="http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html" target="_new">http://blog.truphone.com/2012/05/blackberry-10-the-developers-advantage-1.html</a></p>
<p>Truphone has contributed their work back to the PJSIP project and this is now available for download. Kudos to both to both Adam Linford and Bob Cripps for making this all happen.</p>
<p><a href="http://blog.pjsip.org/2012/06/14/initial-support-for-blackberry-10-bb10-now-available/" target="_new">PJSIP Blog</a><br />
<a href="https://trac.pjsip.org/repos/wiki/Getting-Started/BB10" target="_new">Getting Started: Building for BlackBerry 10</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/10137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/10137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=10137&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/07/voip-development-on-blackberry-10/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/2012/07/voip-1.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Enterprise app development with BlackBerry Mobile Fusion and BlackBerry PlayBook OS 2.0</title>
		<link>http://devblog.blackberry.com/2012/03/enterprise-app-development/</link>
		<comments>http://devblog.blackberry.com/2012/03/enterprise-app-development/#comments</comments>
		<pubDate>Tue, 06 Mar 2012 19:21:43 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Platform Services]]></category>
		<category><![CDATA[app development]]></category>
		<category><![CDATA[BlackBerry 10]]></category>
		<category><![CDATA[BlackBerry Balance]]></category>
		<category><![CDATA[BlackBerry Device Service]]></category>
		<category><![CDATA[BlackBerry Mobile Fusion]]></category>
		<category><![CDATA[BlackBerry PlayBook OS 2.0]]></category>
		<category><![CDATA[Enterprise]]></category>
		<category><![CDATA[mobile device management]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8660</guid>
		<description><![CDATA[Introducing BlackBerry Device Service, the component of BlackBerry® Mobile Fusion used to manage BlackBerry PlayBook tablets and future BlackBerry 10 devices.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8660&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-8661" title="" src="http://rimdevblog.files.wordpress.com/2012/03/enterprise-fusion.jpg?w=600&#038;h=261" alt="" width="600" height="261" /></p>
<p>Today, I am very excited to introduce you to BlackBerry® Device Service, which is the component of BlackBerry® Mobile Fusion used to manage BlackBerry® PlayBook™ tablets and future BlackBerry® 10 devices. <a href="http://bizblog.blackberry.com/2012/02/playbook-mobile-fusion/" target="_new">BlackBerry Mobile Fusion</a> is RIM’s new unified multi-platform MDM (mobile device management) solution for managing in market BlackBerry OS devices, BlackBerry 10 devices, and iOS and Android™ devices as shown in the image above.</p>
<p>Why should you be excited about the launch of BlackBerry Device Service together with <a href="http://blogs.blackberry.com/2012/02/playbook-os-2-0-update-here-download-now/" target="_new">BlackBerry PlayBook OS 2.0</a>? Well that’s simple. For those of you new to enterprise mobility, especially when it comes to BlackBerry, we’ve always had the secret sauce to enable your enterprise mobile applications to seamlessly connect to your backend application server with no need for an enterprise VPN. This secret sauce was our BlackBerry Mobile Data System (MDS) which abstracted away much of the wireless network complexities and provided an end to end, AES secure connection for enterprise application developers.</p>
<p><span id="more-8660"></span></p>
<p>For those of you that have been long waiting for this feature, look no further as we are bringing this functionality back to BlackBerry PlayBook OS 2.0 and future BlackBerry 10 devices. Just imagine if you were an insurance adjuster in the field and wanted an application:</p>
<ul>
<li>pushed to your BlackBerry PlayBook tablet</li>
<li>to seamlessly upload both vehicles pictures and a brief description to your application server that resides behind your corporate firewall</li>
</ul>
<p>Together with BlackBerry Device Service and BlackBerry PlayBook OS 2.0, these problems are solved! This is exactly what we have enabled both the corporate customers and enterprise developers to implement.</p>
<p>Although customers have long had the ability to push applications to BlackBerry users with a BlackBerry Enterprise Server, this is the first time we are introducing a user self-serve portal to manage all enterprise applications – right from BlackBerry App World™. With BlackBerry Balance™, enterprise applications are installed within a corporate perimeter on the device. For more information on BlackBerry Balance, be sure to read this blog post from <a href="http://blogs.blackberry.com/2011/05/introducing-blackberry-balance/" target="_new">the Inside BlackBerry Blog</a>, and check out the <a href="http://ca.blackberry.com/business/software/balance/" target="_new">BlackBerry Balance website</a> as well.</p>
<p>Together, these features will protect all your resident enterprise application data within the corporate perimeter and at the same time provide a secure AES encrypted pipe to transport your data securely from behind the firewall. This is exactly why I share this excitement with all our enterprise development community today.</p>
<p>If you haven’t already done so, I would check for BlackBerry PlayBook OS upgrades and immediately <a href="http://helpblog.blackberry.com/2012/02/download-update-blackberry-playbook-2-0/" target="_new">upgrade your device to BlackBerry PlayBook OS 2.0</a>. You can also <a href="http://ca.blackberry.com/business/software/mobilefusion/?CPID=KNC-kw461269_p7&amp;HBX_PK=rim|48df4058-6993-6689-42fc-000053a41b7d" target="_new">download a free trial of BlackBerry Mobile Fusion</a> today.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8660/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8660/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8660&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/03/enterprise-app-development/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/2012/03/enterprise-fusion.jpg" medium="image" />
	</item>
		<item>
		<title>Fixmo Tools Leverage BlackBerry APIs to Bring Add-on Functionality to Your BlackBerry Smartphone</title>
		<link>http://devblog.blackberry.com/2012/01/fixmo-tools-blackberry/</link>
		<comments>http://devblog.blackberry.com/2012/01/fixmo-tools-blackberry/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 18:41:59 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[BlackBerry API]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Fixmo]]></category>
		<category><![CDATA[Fixmo Tools]]></category>
		<category><![CDATA[wi-fi]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=8120</guid>
		<description><![CDATA[Read about the new update to the Fixmo Tools app and what features it contains.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8120&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-8121" title="Fixmo Tools" src="http://rimdevblog.files.wordpress.com/2011/12/fixmo.jpg?w=480&#038;h=360" alt="Fixmo Tools" width="480" height="360" /></p>
<p>Have you ever found yourself in a situation where you caught yourself sending an email on your BlackBerry® smartphone to an unintended recipient? Or maybe you’ve found that you need an application that intelligently manages your Wi-Fi® connection to conserve battery life. Well, you’re in luck &#8211; <a href="http://fixmo.com/" target="_new">Fixmo®</a> has just released a new version of their Fixmo Tools application that is designed to address these issues.</p>
<p>The Conserve Wi-Fi app that Fixmo has introduced in this new release of Fixmo Tools helps save BlackBerry smartphone battery life by turning Wi-Fi on and off based on your cell tower location. How is this possible? Well, as part of the <em><a href="http://www.blackberry.com/developers/docs/7.0.0api/net/rim/device/api/system/Radio.html" target="_new">net.rim.device.api.system.Radio</a></em> class, you can programmatically activate or deactivate available radios on the BlackBerry smartphone. A <a href="http://supportforums.blackberry.com/t5/Java-Development/Simple-Location-API/ta-p/1145951" target="_new">must-read knowledge base article</a> that simplifies your development in getting a location fix can be found on the support forums.</p>
<p>With this new release of <a href="http://appworld.blackberry.com/webstore/content/5866" target="_new">Fixmo Tools version 2.5</a>, you get a total of 18 applications all in one simple download, which now also has support for <a href="http://ca.blackberry.com/apps-software/blackberry7/" target="_new">BlackBerry® 7 OS</a> devices.</p>
<p><span id="more-8120"></span></p>
<p>Fixmo now also provides the ability to optionally delete any applications that are used less frequently. The trick here is to work with the <em><a href="http://www.blackberry.com/developers/docs/7.0.0api/net/rim/device/api/system/CodeModuleManager.html" target="_new">net.rim.device.api.system.CodeModuleManager</a></em> class as it allows BlackBerry developers to manage modules installed on a device. For a good example and some more info on this, check out the <a href="http://www.blackberry.com/knowledgecenterpublic/livelink.exe/fetch/2000/348583/800332/800620/How_to_-_Programmatically_install_and_upgrade_applications.html?nodeid=1577335&amp;vernum=0" target="_new">knowledge base article</a> on the topic, which includes the ability to install applications as well as remove them.</p>
<p>We managed to catch up with Fabian Heuwieser from Fixmo Inc. to discuss the development of Fixmo Tools, including the Simple Location API’s that the Fixmo development team was able to leverage. Check it out below:</p>
<p><strong>What is Fixmo Tools?</strong></p>
<p>With Fixmo Tools, we created a framework that allows us to simply add more apps to the “belt of utilities” by just compiling the tools separately as a stand-alone application, and then by plugging it into Fixmo Tools – very similar to a building block piece that you enhance with more building blocks. Simple but powerful tools like Mail Compliance Manager and Undelete enable end-users to protect themselves from accidentally replying to all, adding an unintended recipient to an email, or permanently deleting an important message – actions that can lead to private data loss and reputational risks. Tools and apps like Remote Print, Call Indicator, Forward/Reply with Edit are designed to extend the functionality of the core device applications and services without introducing additional risk to personal or business data.</p>
<p><strong>Why is Fixmo Tools an example of a BlackBerry platform “Super App”?</strong></p>
<p>Our app deeply integrates into the BlackBerry OS, making it the textbook example of a Super App. For example, it makes use of the Calendar, Messages, Call Log, Browser, Contacts, Text Messages, Memo, and Tasks – nearly every system application available on the device.</p>
<p><strong>Which APIs did you use to build the app?</strong></p>
<p>For Fixmo Tools we made use of what felt like every available BlackBerry API. By having 18 tools &#8220;baked&#8221; into one single app, it&#8217;s not easy to list all APIs used, but I will highlight the most important and interesting ones:</p>
<p>First, I will show what APIs we used for <strong>Undelete</strong>, the tool to recover deleted PIM items. Since Fixmo Tools makes it possible to undo a deletion of Memos, Tasks, Calendar Events, PIN Messages, and Contacts, we needed to listen for an event that gets triggered when a <a href="http://www.blackberry.com/developers/docs/5.0.0api/javax/microedition/pim/PIMItem.html" target="_new">PIMItem</a> is deleted. <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/PIMListListener.html" target="_new">PIMListListener</a> with its <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/PIMListListener.html#itemRemoved(javax.microedition.pim.PIMItem)" target="_new">itemRemoved(PIMItem item)</a> method handles the job well. Then we just needed to recreate and populate the <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryMemo.html" target="_new">BlackBerryMemo</a>, <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryEvent.html" target="_new">BlackBerryEvent</a>, <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryToDo.html" target="_new">BlackBerryToDo</a>, <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryContactGroup.html" target="_new">BlackBerryContactGroup</a> and <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/mail/Message.html">Message</a>.</p>
<p>The <strong>Remind Me Later</strong> tool is also interesting. With the app, it is possible to set reminders from the Contacts, the Call Log or the Messages right into the PIM Calendar &#8211; useful for setting call-back or follow-up notifications. Since the reminder is created through the Menu, we use <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/menuitem/ApplicationMenuItem.html" target="_new">ApplicationMenuItem</a> to invoke the current application. Let’s say we set a follow-up reminder from the <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/phone/phonelogs/CallLog.html" target="_new">CallLog</a> &#8211; we need to get the instance of the currently selected <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/phone/phonelogs/PhoneCallLog.html" target="_new">PhoneCallLog</a> entry to retrieve the name and number of the caller with <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/phone/phonelogs/PhoneCallLogID.html#getName()" target="_new">getParticipant().getName()</a> and <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/phone/phonelogs/PhoneCallLogID.html#getNumber()" target="_new">getParticipant().getNumber()</a>, and then we need to <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/invoke/Invoke.html#invokeApplication(int, net.rim.blackberry.api.invoke.ApplicationArguments)" target="_new">Invoke.invokeApplication</a>(<a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/invoke/Invoke.html#APP_TYPE_CALENDAR" target="_new">Invoke.APP_TYPE_CALENDAR</a>,..) the Calendar application to create an event with <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryEvent.html" target="_new">BlackBerryEvent</a>. Through that we have an event in the system calendar reminding us to call back that person.</p>
<p>Another Fixmo Tools app is <strong>Silencer</strong>. It automatically sets your device to silent when it notices a meeting taking place at the moment to ensure your phone does not ring in unwanted situations. The app does that by scanning the calendar for a currently running event. When the detected parameter for the current event is <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/pdap/BlackBerryEvent.html#FB_BUSY" target="_new">BlackBerryEvent.FB_BUSY</a>, it silences the phone and it shows an icon in the notification tray using <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/messagelist/ApplicationIndicator.html" target="_new">ApplicationIndicator</a> to inform the user. When the meeting is over, the app automatically un-silences the phone again.</p>
<p>Our <strong>Mail Compliance Manager</strong> app integrates into the Messages application. It warns the user when he or she wants to send an email with inappropriate content or to the wrong recipient. By using the <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/mail/event/FolderListener.html" target="_new">FolderListener</a>, we can make use of the <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/mail/event/FolderListener.html#messagesAdded(net.rim.blackberry.api.mail.event.FolderEvent)" target="_new">messagesAdded(FolderEvent e)</a> method that detects an event taking place where a Message is added to a folder; in this case, we check for an outgoing message being sent by the user. After checking some predefined rules (e.g. message containing inappropriate content or is addressed wrongly) we can stop the message from being sent and warn the users about their actions.</p>
<p>Another Fixmo Tools app called <strong>Multi Clipboard</strong> allows the user to make use of an extended clipboard. Through the <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/blackberry/api/menuitem/ApplicationMenuItem.html" target="_new">ApplicationMenuItem</a>, the user can click a custom made <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/ui/MenuItem.html" target="_new">MenuItem</a> that saves the selected text. But when performing the next copy-action via our <a href="http://www.blackberry.com/developers/docs/5.0.0api/net/rim/device/api/ui/MenuItem.html" target="_new">MenuItem</a>, it does not overwrite the currently saved clipboard content. It saves each copied item in a separate entry. When pasting, you can select which of the previously copied text you want to paste.</p>
<p><strong>Thanks for sharing all of these details with us, Fabian!</strong></p>
<hr />
<p>The <a href="http://appworld.blackberry.com/webstore/content/5866" target="_new">Fixmo Tools</a> application can be downloaded from the <a href="http://appworld.blackberry.com/webstore/content/5866" target="_new">BlackBerry App World™</a> storefront as a 14-day trial version, or you can purchase the full app for $7.99 USD at a special version 2.5 launch price (originally $ 14.99 USD) for a limited time only (check BlackBerry App World for up-to-date details and the availability of this offer).</p>
<p><em>What APIs have you recently leveraged in your apps? Share in the comments below.</em></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/8120/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/8120/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=8120&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2012/01/fixmo-tools-blackberry/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/2011/12/fixmo.jpg" medium="image">
			<media:title type="html">Fixmo Tools</media:title>
		</media:content>
	</item>
		<item>
		<title>BlackBerry DEVCON Enterprise Sessions: Blogger Picks</title>
		<link>http://devblog.blackberry.com/2010/09/devcon-enterprise-session-picks/</link>
		<comments>http://devblog.blackberry.com/2010/09/devcon-enterprise-session-picks/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 10:00:42 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[Dev Con]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[DevCon 2010]]></category>
		<category><![CDATA[Enterprise]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=2303</guid>
		<description><![CDATA[If you're an enterprise developer heading to BlackBerry® DEVCON 2010, here's some picks for must-see session!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=2303&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img src="http://rimdevblog.files.wordpress.com/2010/09/devcon2010_bw_black_bkgd_horiz_date.jpg?w=484&#038;h=232" alt="" title="DEVCON 2010" width="484" height="232" class="aligncenter size-full wp-image-2304" /></p>
<p>Buckle up and get ready for <a href="http://www.blackberrydevcon.com/?CPID=DEVDC14" target="_new" title="BlackBerry® DEVCON 2010">BlackBerry® DEVCON 2010</a> – it’s just around the corner!  If you’re an enterprise developer, look no further – we have a number of exciting enterprise sessions to offer you. I would first encourage you to review the <a href="http://www.eventreg.com/blackberry/devcon/contentcatalog?CPID=DEVDCC02" target="_new">Session Catalog</a>, but below you will find my picks for the three top sessions covering commercial enterprise development.</p>
<p><span id="more-2303"></span></p>
<p><strong>DEV50: Mobilizing Web Services Using BlackBerry Widgets and the BlackBerry Browser</strong><br />
If you are looking for a one-stop shop to learn how to quickly and easily mobilize web services, I would recommend you attend this session. You will learn the details of how to leverage the BlackBerry® Widgets and BlackBerry® Browser technology to bring your application to market more quickly than ever before.</p>
<p><strong>COM32: Create Powerful Enterprise-ready BlackBerry Widgets</strong><br />
Do you want to learn how to develop an enterprise-ready application from start to finish? This session really caught my eye, since the speaker will be sharing his experiences in how easy it can be to develop and deploy an application in an enterprise within a matter of days.  Attend this session and don’t miss out on this great opportunity to learn how to transform your enterprise application into a Super App!</p>
<p><strong>DEV39: Deploying Consumer and Enterprise applications &#8211; Overview</strong><br />
Once you have developed your application, now what?  This question will be answered in this practical session, which is one of my favorites as it speaks to all the different ways you can deploy your application to your end users. Whether you are an Administrator or an enterprise developer, you will learn all the mechanics involved in pushing your application over the air by using the BlackBerry® Enterprise Server and by downloading from the BlackBerry App World™ storefront.  Don’t miss this one!</p>
<p>If you haven’t yet registered for BlackBerry DEVCON 2010, <a href="http://www.blackberrydevcon.com/register?CPID=DEVDCR01" target="_new" title="Register for DEVCON">do so now</a>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/2303/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/2303/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=2303&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2010/09/devcon-enterprise-session-picks/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/2010/09/devcon2010_bw_black_bkgd_horiz_date.jpg" medium="image">
			<media:title type="html">DEVCON 2010</media:title>
		</media:content>
	</item>
		<item>
		<title>Super Apps Series (Java): How to leverage pattern recognition in your application (Part 1)</title>
		<link>http://devblog.blackberry.com/2010/09/leverage-pattern-recognition-part-1/</link>
		<comments>http://devblog.blackberry.com/2010/09/leverage-pattern-recognition-part-1/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 01:47:09 +0000</pubDate>
		<dc:creator>Gurtej S.</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Java Development]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Browser]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[super apps]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=2139</guid>
		<description><![CDATA[Looking for more tips to create the ultimate Super App? Here's something to leverage: pattern recognition. This blog post shows you how!<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=2139&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p><img src="http://rimdevblog.files.wordpress.com/2010/09/pattern-matching.jpg?w=600&#038;h=342" alt="" title="Leveraging pattern recognition" width="600" height="342" class="aligncenter size-full wp-image-2140" /></p>
<p>Have you ever noticed how certain strings are underlined in native BlackBerry® smartphone applications? For instance, if you select a phone number that’s underlined or highlighted when reading a message, it is assigned a context-sensitive menu item. Wouldn’t it be great if your application took advantage of this functionality to launch a custom application, open the BlackBerry® Browser to a specific URL, send a message, or perform a number of other actions that provide an integrated user experience?</p>
<p>Good news! As a developer, you have the opportunity to leverage string pattern matching in your BlackBerry applications – which in turn provides a great element of a <a href="http://na.blackberry.com/eng/developers/started/super_apps.jsp?IID=DEVSUP05" target="_new" title="Super Apps">Super App</a> experience. Starting in handheld 4.3, we introduced a PatternRepository API which allows you to programmatically add custom context-sensitive menu items to standard BlackBerry smartphone applications, based on the matching of text in active text fields with string patterns.</p>
<p><span id="more-2139"></span></p>
<p>BlackBerry API package for pattern recognition:<br />
<strong>net.rim.blackberry.api.stringpattern.PatternRepository</strong></p>
<p><i>Note: Prior to 4.3, this net.rim.device.api.util.StringPattern API was introduced in BlackBerry® Device Software 4.0 and requires you to implement your own string matching algorithm.</i></p>
<p>Possible use cases for pattern matching would include:</p>
<ul>
<li>Providing phone number lookup by automatically recognizing phone numbers and looking them up in a reverse phone number lookup database.</li>
<li>Providing additional integration between BlackBerry device applications and third party applications by enabling users to seamlessly transition between applications based on string patterns.</li>
</ul>
<p>Since pattern matching provides a starting point for the application, your application should be configured as an auto-start system module so that all of the components can be registered upon startup, as described in the knowledge base article referenced below. If you review the ZipCodeLookupSample sample application &#8211; which can be downloaded from the knowledge base article &#8211; it underlines a United States zip code and allows the BlackBerry smartphone user to look up more information on this zip code.</p>
<p><a href="http://supportforums.blackberry.com/t5/Java-Development/Leverage-pattern-matching-in-BlackBerry-smartphone-applications/ta-p/445053?IID=DEVSF3101" target="_new">http://supportforums.blackberry.com/t5/Java-Development/Leverage-pattern-matching-in-BlackBerry-smartphone-applications/ta-p/445053</a></p>
<p>Please share your experiences in using pattern matching by posting your comments! Also, stay tuned for part two of this blog post, as we look into integrating through URLs using CHAPI, BrowserContentProvider and HTTPFilter.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/2139/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/2139/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=2139&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2010/09/leverage-pattern-recognition-part-1/feed/</wfw:commentRss>
		<slash:comments>5</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/2010/09/pattern-matching.jpg" medium="image">
			<media:title type="html">Leveraging pattern recognition</media:title>
		</media:content>
	</item>
	</channel>
</rss>
