<?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; realtime</title>
	<atom:link href="http://devblog.blackberry.com/tag/realtime/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; realtime</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>How to replace Google Maps with OpenStreet Maps in your BlackBerry 10 Android App</title>
		<link>http://devblog.blackberry.com/2013/03/android-map-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2013/03/android-map-blackberry-10/#comments</comments>
		<pubDate>Wed, 13 Mar 2013 16:33:10 +0000</pubDate>
		<dc:creator>Luca Filigheddu</dc:creator>
				<category><![CDATA[Android Development]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Android Runtime]]></category>
		<category><![CDATA[maps]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[realtime]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13736</guid>
		<description><![CDATA[On our developer website, we provide a seamless solution consisting of replacing the Google Maps library for Android with a web view integrating the web version of Google Maps. More information can be found by following this link. That said, a fellow Italian developer (the maker of Prezzi Benzina), just sent me detailed information on [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13736&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<div id="attachment_14140" class="wp-caption aligncenter" style="width: 413px"><a href="http://rimdevblog.files.wordpress.com/2013/03/gps-is-wrong.jpg"><img class="size-full wp-image-14140" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/03/gps-is-wrong-e1363192251868.jpg?w=403&#038;h=336" width="403" height="336" /></a><p class="wp-caption-text">Image from <a href="http://failblog.cheezburger.com/" target="_blank">http://failblog.cheezburger.com/</a></p></div>
<p>On our developer website, we provide a seamless solution consisting of replacing the Google Maps library for Android with a web view integrating the web version of Google Maps. More information can be found by following <a href="http://developer.blackberry.com/android/apisupport/apisupport_mapping_support.html" target="_new">this link</a>.</p>
<p>That said, a fellow Italian developer (the maker of <a href="http://www.prezzibenzina.it/" target="_blank">Prezzi Benzina</a>), just sent me detailed information on how they easily replaced Google Maps with <a href="http://www.openstreetmap.org/" target="_new">Open Street Maps</a>, a free worldwide map providing open data under the ODBL (<a href="http://opendatacommons.org/licenses/odbl/" target="_new">Open Data Commons Open Database License</a>).</p>
<p>The result? Outstanding! And since it is a very common issue faced by many Android developers making use of Google Maps in their Android applications, we wanted to share in this blog how they did it.</p>
<p><span id="more-13736"></span></p>
<h3><strong>Download</strong></h3>
<p>First of all, you must download the Open Street Maps library from the following link: <a href="https://code.google.com/p/osmdroid/" target="_new">https://code.google.com/p/osmdroid/</a></p>
<p>You can either download the <strong>jar</strong> ready to use <a href="https://code.google.com/p/osmdroid/downloads/detail?name=osmdroid-android-3.0.8.jar&amp;can=2&amp;q=" target="_new">osmdroid-android-3.0.8.jar</a> or download the source code and compile it (<span style="text-decoration:underline;">recommended</span>).</p>
<h3><strong>Step 1: Layout Change</strong></h3>
<p>Pretty easy. You code goes from</p>
<pre>&lt;com.google.android.maps.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:apiKey="@+string/mapviewkey"
        android:clickable="true" /&gt;</pre>
<p><strong>to</strong></p>
<pre>&lt;org.osmdroid.views.MapView
        android:id="@+id/mapview"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" /&gt;</pre>
<p>Unlike Google Maps, no key is needed for OSM.</p>
<p><strong>Step 2: Modify Import</strong></p>
<p>Most class names remain the same, so it’s very straight forward..</p>
<p>Your code goes from:</p>
<pre>import com.google.android.maps.GeoPoint;
import com.google.android.maps.MapController;
import com.google.android.maps.MapView;</pre>
<p><strong>to</strong></p>
<pre>import org.osmdroid.util.GeoPoint;
import org.osmdroid.views.MapController;
import org.osmdroid.views.MapView;</pre>
<p>In addition, you might want to add the following:</p>
<pre>import org.osmdroid.views.overlay.ItemizedIconOverlay;
import org.osmdroid.views.overlay.ItemizedIconOverlay.OnItemGestureListener;
import org.osmdroid.views.overlay.OverlayItem;
import org.osmdroid.views.overlay.OverlayManager;
import org.osmdroid.views.overlay.mylocation.GpsMyLocationProvider;
import org.osmdroid.views.overlay.mylocation.MyLocationNewOverlay;</pre>
<p><strong>WARNING: resources</strong></p>
<p>The default class for resources is: DefaultResourceProxyImpl. It handles English only, so you probably have to create your own with the proper translations.</p>
<pre>    ResourceProxyImpl resProxyImp = new ResourceProxyImpl(this);</pre>
<h3><strong>Step 3: Map Customization</strong></h3>
<p>From</p>
<pre>mapView = (MapView) findViewById(R.id.mapview);
mapView.setBuiltInZoomControls(true);
mMyLocationOverlay = new MyLocationOverlay(this, mapView);
mapView.getOverlays().add(mMyLocationOverlay);</pre>
<p><strong>to</strong></p>
<pre>mapView = (MapView) findViewById(R.id.mapview);
mapView.setUseSafeCanvas(false);
//enable zoom controls
mapView.setBuiltInZoomControls(true);

//enable multitouch
mapView.setMultiTouchControls(true);
//GpsMyLocationProvider can be replaced by your own class. It provides the position information through GPS or Cell towers.
GpsMyLocationProvider imlp = new GpsMyLocationProvider(this.getBaseContext());
//minimum distance for update
imlp.setLocationUpdateMinDistance(1000);
//minimum time for update
imlp.setLocationUpdateMinTime(60000);       
mMyLocationOverlay = new MyLocationNewOverlay(this.getBaseContext(),imlp , mapView, resProxyImp);
mMyLocationOverlay.setUseSafeCanvas(false);
mMyLocationOverlay.setDrawAccuracyEnabled(true);

mapView.getOverlays().add(mMyLocationOverlay);</pre>
<h3><strong>Step 4: Add Marker</strong></h3>
<p>In OSMDroid there are some classes ready to use. The best is ItemizedIconOverlay.</p>
<p>Create an overlay and add it to the map:</p>
<pre>ItemizedIconOverlay markersOverlay = new ItemizedIconOverlay(new LinkedList(), myMarker, null, resProxyImp);
mapView.getOverlays().add(markersOverlay);
Add markers
OverlayItem ovm = new OverlayItem("titolo", "descrizione", new GeoPoint(s.LatitudeE6(), s.LongitudeE6()));
ovm.setMarker(myMarker);
markersOverlay.addItem(ovm);</pre>
<p>Of course, this is just the basic part of the story. There is much more available on OSMDroid &#8211; feel free to explore and bring your Android app to BlackBerry 10 easily!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13736/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13736/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13736&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/03/android-map-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5f08858996f1a3f396417883f8d8a70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lfiligheddu</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/03/gps-is-wrong-e1363192251868.jpg" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
		<item>
		<title>Count.ly Realtime Mobile App Analytics Is Now Available For BlackBerry 10</title>
		<link>http://devblog.blackberry.com/2013/02/count-ly-blackberry-10/</link>
		<comments>http://devblog.blackberry.com/2013/02/count-ly-blackberry-10/#comments</comments>
		<pubDate>Mon, 18 Feb 2013 14:48:57 +0000</pubDate>
		<dc:creator>Luca Filigheddu</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Tips and Tricks]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[realtime]]></category>

		<guid isPermaLink="false">http://devblog.blackberry.com/?p=13812</guid>
		<description><![CDATA[Last year, in December, during the BlackBerry Jam we ran in Istanbul thanks to the support of the local BlackBerry team, I had the pleasure of meeting with Görkem Çetin, founder of Count.ly, a mobile app analytics platform. Görkem is pretty popular in the Open Source community in Turkey and I was very happy he [&#8230;]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13812&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
				<content:encoded><![CDATA[<p>Last year, in December, during the BlackBerry Jam we ran in Istanbul thanks to the support of the local BlackBerry team, I had the pleasure of meeting with Görkem Çetin, founder of <a href="http://count.ly/" target="_blank">Count.ly</a>, a mobile app analytics platform. Görkem is pretty popular in the Open Source community in Turkey and I was very happy he decided to attend our event.</p>
<p>What’s Count.ly? It is a real-time mobile analytics platform that shows information by using eye-catching visual elements. Görkem provided me with a test account and after logging in, I was very impressed by what I saw. The UI is gorgeus and the amount of useful and critical information a dev can get about their app is impressive.</p>
<p>Moreover, it&#8217;s an <b>open-source project </b>in which the team aims to discuss the future of Count.ly in an open, democratic environment. They offer the developers the opportunity to take part in the community, to send bug reports, feature requests, to provide fixes and best practices. It collects data from mobile phones, and visualizes this information to analyze mobile application usage and end-user behavior.</p>
<p><span id="more-13812"></span></p>
<p>Having the ability to see how your users behave is critical for the success of an app. Developers can get a clear picture on what’s working well and what’s not working, what their users like the most, what the least/most used feature is and, last but not least, how much time people spend in your app and doing what.</p>
<p>When we met, BlackBerry 10 was not supported yet, but they were very interested in investing in our new upcoming platform (after the conference, even more!) and for that reason, twenty days after, they finally published their first SDKs for BlackBerry 10.</p>
<p>What’s so special with Count.ly?</p>
<ul>
<li>It has a <b>dashboard</b>
<ul>
<li>where you stay up to date</li>
<li>where you can easily monitor your data with graphics</li>
<li>which shows you <b>everything at once</b> with no need to dig in several pages</li>
<li>where you can track <b>unlimited number of applications</b> and switch between your apps, games and ebooks</li>
</ul>
</li>
</ul>
<p><a href="http://rimdevblog.files.wordpress.com/2013/02/countly1.png"><img class="aligncenter size-full wp-image-13813" alt="TITLE_IMAGE" src="http://rimdevblog.files.wordpress.com/2013/02/countly1.png?w=604&#038;h=386" width="604" height="386" /></a></p>
<ul>
<li>It has a special <b>user behaviour stats </b>experience in which;
<ul>
<li>you can track and visualize your users&#8217; behaviours</li>
<li>you can see your application&#8217;s <b>in-app performance</b></li>
<li>you can understand your customer&#8217;s behaviour and <b>where user left off</b></li>
<li>you can observe your players closely to ensure success and maximize your online game revenue</li>
</ul>
</li>
</ul>
<ul>
<li>You can <b>build better apps, games and ebooks</b>;
<ul>
<li>by measuring and evaluating mobile app engagement as it enables optimization of mobile content</li>
<li>by exploring where a spike occurs and by personalizing and optimizing your app according to stats</li>
<li>by the help of the support that Countly offers for leading smartphones (iOS, Android, Windows Phone and BlackBerry)</li>
</ul>
</li>
</ul>
<ul>
<li>You can produce <b>electronic reports</b> with <b>customizable charts</b> and tables, showing how your application performed for a given period, add / remove pages through report generator.</li>
</ul>
<p>Also, Count.ly is free. You can install Count.ly in-app analytics tool on your server to track unlimited number of mobile applications, if you want.</p>
<p>Here is what Onu Alp, Soner, co-founder of Count.ly, told me:</p>
<p>&#8220;The best feature of Count.ly is custom events: we help developers identify in-app purchase patterns, defining the best flow for payment. This is a crucial factor towards maximizing revenues in e-books and games. We are thrilled with what BlackBerry provides in their next-gen mobile OS, and decided to invest in BlackBerry 10 SDK. Being the most complete open source, real-time mobile analytics app in the world, we believe Count.ly will provide a lot of value for BlackBerry 10 developers&#8221;</p>
<p>If you are a BlackBerry 10 developer looking for a good option for in-app analytics, Count.ly is definitely a great choice. The team is also very accessible and happy to help if needed.</p>
<p>You can download the <a href="https://github.com/Countly/countly-sdk-blackberry-webworks">Countly WebWorks SDK from GitHub here</a>, while the <a href="https://github.com/craigmj/countly-sdk-blackberry10-cascades">Cascades SDK can be download from here</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/rimdevblog.wordpress.com/13812/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/rimdevblog.wordpress.com/13812/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=devblog.blackberry.com&#038;blog=17235680&#038;post=13812&#038;subd=rimdevblog&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://devblog.blackberry.com/2013/02/count-ly-blackberry-10/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5f08858996f1a3f396417883f8d8a70?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">lfiligheddu</media:title>
		</media:content>

		<media:content url="http://rimdevblog.files.wordpress.com/2013/02/countly1.png" medium="image">
			<media:title type="html">TITLE_IMAGE</media:title>
		</media:content>
	</item>
	</channel>
</rss>
