<?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/"
	>

<channel>
	<title>Dennis Nienhueser</title>
	<atom:link href="http://nienhueser.de/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://nienhueser.de/blog</link>
	<description>All things Free Software.</description>
	<lastBuildDate>Wed, 01 Sep 2010 21:09:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Turn Instructions</title>
		<link>http://nienhueser.de/blog/?p=177</link>
		<comments>http://nienhueser.de/blog/?p=177#comments</comments>
		<pubDate>Wed, 01 Sep 2010 21:09:43 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=177</guid>
		<description><![CDATA[Marble is getting closer and closer to become a navigational aid on the N900 (or whatever you want to carry around with you). Todays patch adds support for the generation of turn instructions -- verbal and iconic driving instructions at appropriate points -- to Marble's gosmore and routino plugins, two offline routers. Currently it looks [...]]]></description>
			<content:encoded><![CDATA[<p>Marble is getting closer and closer to become a navigational aid on the N900 (or whatever you want to carry around with you). Todays patch adds support for the generation of turn instructions -- verbal and iconic driving instructions at appropriate points -- to Marble's gosmore and routino plugins, two offline routers. Currently it looks like this (turn instructions displayed on the left):</p>
<p><a href="http://nienhueser.de/blog/wp-content/uploads/2010/09/marble-turn-instructions.png"><img class="aligncenter size-full wp-image-178" title="marble-turn-instructions" src="http://nienhueser.de/blog/wp-content/uploads/2010/09/marble-turn-instructions.png" alt="" width="691" height="694" /></a></p>
<p>Turn instructions are useful as a written summary when printing routes. They're even more important in turn-by-turn navigation mode, the feature <a href="http://siddharthgsoc.blogspot.com/">Siddharth Srivastava</a> added recently during his GSOC project. If you know the routing support in Marble 0.10, you may wonder how these new turn instructions differ from those displayed there. The first difference is that there are different icons, each indicating the turn type. Icons are a great time-saver in stressful situations -- e.g. when navigating through an unknown city. The second difference is that we have full control over the generated text: Marble (or you) can decide whether to include street names, remaining times or distances. Last but not least the awesome KDE translation teams will take care of translating all texts into your native language!</p>
<p>With turn instructions available for offline routers, we can work on the next logical step: Detect a deviation from the route in turn-by-turn navigation mode and automatically trigger a re-calculation of the route in the background.</p>
<p>Are you good at drawing icons? The turn indicator icons above are OK for a start, but some polishing surely wouldn't hurt. After all, I'm not an artist <img src='http://nienhueser.de/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' />  Feel free to work on the <a href="http://websvn.kde.org/trunk/KDE/kdeedu/marble/data/svg/turn-indicators.svg?view=log">existing svg</a> or redesign it from scratch (<a href="http://techbase.kde.org/Projects/Oxygen/Style">oxygen style</a>, please) and send a new one to marble-devel@kde.org. Looking forward to any contributions!</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=177</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>Marble 0.10.1 Packages for Maemo</title>
		<link>http://nienhueser.de/blog/?p=166</link>
		<comments>http://nienhueser.de/blog/?p=166#comments</comments>
		<pubDate>Tue, 31 Aug 2010 21:27:10 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=166</guid>
		<description><![CDATA[Do you own a Nokia N900? We just released the first stable* Marble packages for Maemo. If you read this on your N900, they're just one click away: Like the versions released earlier, the packages are based on the Qt version of Marble. It's the first time we provide one-click install packages, though. They're expected [...]]]></description>
			<content:encoded><![CDATA[<p>Do you own a Nokia N900? We just released the first stable* Marble packages for Maemo. If you read this on your N900, they're just one click away:</p>
<p><a href="http://nienhueser.de/marble/maemo/stable/stable.install"><img class="aligncenter size-full wp-image-167" title="marble-maemo-install" src="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-maemo-install.png" alt="" width="545" height="325" /></a></p>
<p>Like the versions released earlier, the packages are based on the Qt version of <a href="http://edu.kde.org/marble/">Marble</a>. It's the first time we provide one-click install packages, though. They're expected to install seamlessly using the graphical program manager. Marble can be started from the application menu afterwards. Notice that the one-click installer above installs the light version of Marble (5.7 MB) that only has the OpenStreetMap theme installed. Install marble-maps from the Navigation section of the program manager to get all other themes. Please report feedback to marble-devel@kde.org.</p>
<p>*The fine print:</p>
<p>We call the packages stable because they come off the stable (KDE/4.5) Subversion branch. Indeed I don't expect any serious bugs. However, we are aware of some annoyances in the current user interface that we plan to improve in the upcoming versions. Please don't report any bugs against the tab bar on the left taking too much space, some dialogs being hard to navigate or some map themes rendering slow. We are aware of this and plan to fix it. With that in mind, have fun using Marble on Maemo <img src='http://nienhueser.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Besides improving the user interface and responsiveness, we do have exciting new features like offline routing and a turn-by-turn navigation mode in the pipeline for 4.6 / Marble 0.11. Are you interested to help out? We can use all sorts of talents who help us improving graphics, write documentation, sort out bugs or add new features... Please join our <a href="https://mail.kde.org/mailman/listinfo/marble-devel">mailing list</a> or lurk around in #marble on Freenode.</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=166</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Hike &amp; Bike Map in KDE Applications 4.5.1 / Marble 0.10.1</title>
		<link>http://nienhueser.de/blog/?p=156</link>
		<comments>http://nienhueser.de/blog/?p=156#comments</comments>
		<pubDate>Sat, 28 Aug 2010 17:56:48 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=156</guid>
		<description><![CDATA[KDE * 4.5.1 has been tagged last week and should be available from your friendly distribution soon. Alongside some bugfixes for Marble, Bernhard Beschow added a new feature: Alpha blending joins the list of supported blending types in layers which Jens-Michael Hoffmann implemented for Marble 0.10. Just in time for our latest map theme addition: [...]]]></description>
			<content:encoded><![CDATA[<p>KDE * 4.5.1 has been tagged last week and should be available from your friendly distribution soon. Alongside some bugfixes for Marble, Bernhard Beschow added a new feature: Alpha blending joins the list of supported blending types in layers which Jens-Michael Hoffmann implemented for Marble 0.10. Just in time for our latest map theme addition: The <a href="http://hikebikemap.de">Hike &amp; Bike Map</a>, contributed by Colin Marquardt, available now via the New Stuff feature (File =&gt; Download Maps in Marble). Let's take a look at it in all its glory:</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-hikebikemap.png"><img class="aligncenter size-full wp-image-157" title="marble-hikebikemap" src="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-hikebikemap.png" alt="" width="641" height="383" /></a></p>
<p style="text-align: left;">Notice how the hillshading -- activated via the checkbox in the Legend on the left -- gives a nice terrain impression. This is where alpha blending comes in. Hillshading won't work with Marble 0.10.0 because alpha blending is not available there yet. Of course the Hike &amp; Bike Map can also be used in conjunction with our Maemo version on the Nokia N900:</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-monav-n900.png"><img class="aligncenter size-full wp-image-159" title="marble-monav-n900" src="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-monav-n900.png" alt="" width="640" height="384" /></a></p>
<p style="text-align: left;">If you look closely at the screenshot, you'll notice another new feature in the Routing department: <a href="http://code.google.com/p/monav/">Monav</a> can now be used as an alternative offline router. In contrast to the Hike &amp; Bike Map, this feature is not available in the 4.5 / 0.10 series of Marble though.</p>
<p style="text-align: left;">Adding yet another offline router is justified by both gosmore and routino being unable to calculate longer routes on the N900. Monav is able to calculate a route of 250 km in less than two seconds on my N900 - with the potential to do it even faster in the future. Different transport types, turn restrictions and driving instructions are not supported yet, so it cannot be used as a full replacement for the others at this time.</p>
<p style="text-align: left;">The two screenshots are taken from SVN trunk btw. Can you spot the new features added by our three GSOC students?</p>
<p style="text-align: left;">
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=156</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Offline Router Comparison</title>
		<link>http://nienhueser.de/blog/?p=147</link>
		<comments>http://nienhueser.de/blog/?p=147#comments</comments>
		<pubDate>Sun, 08 Aug 2010 14:06:50 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=147</guid>
		<description><![CDATA[Last time I wrote about offline routing in Marble: Calculating routes between two or more places without the need for Internet access. This was realized using gosmore. In the meantime Niko Sams added support for routino, another offline router, to Marble. My last commit adds traveling salesman support, an offline router written in java. All [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I <a href="http://nienhueser.de/blog/?p=137">wrote</a> about offline routing in Marble: Calculating routes between two or more places without the need for Internet access. This was realized using <a href="http://wiki.openstreetmap.org/wiki/Gosmore">gosmore</a>. In the meantime Niko Sams added support for <a href="http://www.routino.org/">routino</a>, another offline router, to Marble. My last commit adds <a href="http://wiki.openstreetmap.org/wiki/Traveling_salesman">traveling salesman</a> support, an offline router written in java. All of this will not be available in KDE SC 4.5, but 4.6.</p>
<p>Most users will only need zero or one offline routers. With three of them supported by Marble, the question arises which one to choose? Ignoring their underlying algorithms and configuration options for now, I collected some high-level statistics. They show the relative differences of map sizes and response times. The response time was taken as the minimum response time among three or more runs, each measuring the time from sending a route request to the application until the full retrieval of the response in Marble. I chose two routes, a short one and a longer one, and compared the response times both on my desktop system and my N900:</p>
<table border="0" cellspacing="0" frame="VOID" rules="NONE">
<colgroup>
<col width="160"></col>
<col width="86"></col>
<col width="86"></col>
<col width="86"></col>
</colgroup>
<tbody>
<tr style="text-align: right;">
<td style="text-align: center;" width="160" height="34"></td>
<td width="86" align="LEFT"><strong>Gosmore</strong></td>
<td width="86" align="LEFT"><strong>Routino</strong></td>
<td width="86" align="LEFT"><strong>Traveling Salesman</strong></td>
</tr>
<tr style="text-align: right;">
<td height="17" align="LEFT">Map (1420 MB)</td>
<td style="text-align: right;" bgcolor="#ffff00">230 MB</td>
<td style="text-align: right;" bgcolor="#00ff00">132 MB</td>
<td style="text-align: right;" bgcolor="#eb613d">1250 MB</td>
</tr>
<tr>
<td height="17" align="LEFT"><strong>Intel Q8200</strong></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
</tr>
<tr>
<td height="17" align="LEFT">Route A (2 km)</td>
<td style="text-align: right;" bgcolor="#00ff00">61 ms</td>
<td style="text-align: right;" bgcolor="#ffff00">95 ms</td>
<td style="text-align: right;" bgcolor="#eb613d">5743 ms</td>
</tr>
<tr>
<td height="17" align="LEFT">Route B (20 km)</td>
<td style="text-align: right;" bgcolor="#ffff00">343 ms</td>
<td style="text-align: right;" bgcolor="#00ff00">178 ms</td>
<td style="text-align: right;" bgcolor="#eb613d">21895 ms</td>
</tr>
<tr>
<td height="17" align="LEFT"><strong>Nokia N900</strong></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
<td align="LEFT"></td>
</tr>
<tr>
<td height="17" align="LEFT">Route A (2 km)</td>
<td style="text-align: right;" bgcolor="#00ff00">354 ms</td>
<td style="text-align: right;" bgcolor="#ffff00">875 ms</td>
<td style="text-align: right;" bgcolor="#b3b3b3">NA</td>
</tr>
<tr>
<td height="17" align="LEFT">Route B (20 km)</td>
<td style="text-align: right;" bgcolor="#00ff00">1911 ms</td>
<td style="text-align: right;" bgcolor="#ffff00">8231 ms</td>
<td style="text-align: right;" bgcolor="#b3b3b3">NA</td>
</tr>
</tbody>
</table>
<p>Each of them was fed the same map area, a part of Germany where the OpenStreetMap raw xml data (uncompressed) has a size of 1420 MB. All routers convert the OSM map to their own format. Here a first significant difference shows up: Routino needs the least space (132 MB), followed by Gosmore (230 MB). Traveling Salesman creates a database as big as 1250 MB, a severe disadvantage for mobile applications like the N900.</p>
<p>Both Gosmore and Routino show good response times on a desktop system for small and medium size routes. Traveling Salesman however let's you wait a couple of seconds: too long for a satisfying user experience. On the Nokia N900, Gosmore runs considerably faster than Routino. This may be because I used a newer version of Gosmore (SVN trunk) on the N900 than on the desktop system (Kubuntu Lucid package).</p>
<p>To answer the original question: Both Gosmore and Routino are good choices for a desktop system. Gosmore may be easier to install because it is packaged in several distributions, while Routino needs less space to store maps. The current version of Traveling Salesman in its default configuration is not a convincing alternative for its use in Marble yet. For Maemo and the N900, Gosmore is the better choice because of its higher speed. Routino may still be an alternative if space is an issue.</p>
<p>Having offline routing available in Maemo leads to another nice feature to be implemented soon: Re-calculating a route when deviating from it in navigation mode. Stay tuned <img src='http://nienhueser.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<div id="attachment_148" class="wp-caption aligncenter" style="width: 810px"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-maemo-routino.png"><img class="size-full wp-image-148" title="marble-maemo-routino" src="http://nienhueser.de/blog/wp-content/uploads/2010/08/marble-maemo-routino.png" alt="" width="800" height="480" /></a><p class="wp-caption-text">Offline Bicycle Routing in Marble on the Nokia N900</p></div>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=147</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Worldwide and Offline Routing</title>
		<link>http://nienhueser.de/blog/?p=137</link>
		<comments>http://nienhueser.de/blog/?p=137#comments</comments>
		<pubDate>Fri, 23 Jul 2010 20:17:20 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=137</guid>
		<description><![CDATA[KDE SC 4.5 is about to be released soon -- just two weeks to go. We will have some great new features in Marble, your favorite virtual desktop globe. Hopefully we'll have a visual changelog ready for the release summarizing the new and noteworthy. While releases need their time to stabilize, development continues distributed in [...]]]></description>
			<content:encoded><![CDATA[<p>KDE SC 4.5 is about to be released soon -- just two weeks to go. We will have some great new features in Marble, your favorite virtual desktop globe. Hopefully we'll have a visual changelog ready for the release summarizing the new and noteworthy.</p>
<p>While releases need their time to stabilize, development continues distributed in git repositories and in subversion trunk. Siddharth Srivastava is making great progress on his GSOC project <a href="http://siddharthgsoc.blogspot.com/">Marble to Go</a> with a major part of his work already in reviewboard. I'm sure he'll give an overview in his blog when it hits trunk. I'll focus on a different topic today. Marble's routing capabilities rely on OpenRouteService in KDE SC 4.5. Although it works great in most situations relevant to me, there are two major disadvantages: The OpenRouteService integration in Marble requires Internet access to retrieve routes and OpenRouteService itself is limited to Europe.</p>
<p>Recently Nic Roets <a href="http://lists.openstreetmap.org/pipermail/talk/2010-July/051405.html">announced</a> a new routing webservice demo which can be accessed via a HTTP API as well. It is similar to <a href="http://yournavigation.org">yournavigation.org</a> with a major difference: The server offers much more performance and can keep OSM data in RAM, therefore routing requests do rarely time out. Moreover, it serves routing requests for all areas covered by OSM. In other words, we can now do worldwide routing in Marble using this service.</p>
<p>One problem solved, another one still around: Relying on Internet access to retrieve routes can be expensive or even impossible at times. Ultimately we want to integrate vector maps in Marble and use them for routing; for now I found a simpler solution that enables offline routing. It uses a local installation of <a href="http://wiki.openstreetmap.org/wiki/Gosmore">gosmore</a> to retrieve routes. The drawback here is that you need to take care to install gosmore and its maps on your system. Once they're there, you have a fast routing solution for Marble however which can be used without Internet access.</p>
<p>If you kept counting, you'll notice that Marble (in trunk) retrieves routes from up to three different sources. This poses some questions: Do the routes differ? How? Which one is the best? Compare these two screenshots (today's trunk):</p>
<div id="attachment_138" class="wp-caption aligncenter" style="width: 713px"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/07/marble-route-plugins.png"><img class="size-full wp-image-138" title="marble-route-plugins" src="http://nienhueser.de/blog/wp-content/uploads/2010/07/marble-route-plugins.png" alt="" width="703" height="950" /></a><p class="wp-caption-text">Alternative Routes in Marble</p></div>
<p>Although the distances are pretty much the same, the routes to take differ in most parts. This is an interesting information that can be used to tell the user about two equally well suited alternative routes. In other situations, the routes retrieved may be very similar and it's enough to show the best of them. This serves as a good short-term roadmap for Marble's routing feature: Sort routes by score (how well do they match the user's preference? Do they provide turn instructions? Are they localized?), filter similar ones and provide a "semantic" difference description of alternative routes. "4.0 km (Gosmore)" in the screenshot above would be replaced with "Via Adenauerring (4 km)" and "Via Kriegsstraße (4 km)" then.</p>
<p>Given the length of this blog, I'll stop for now and write a follow-up that addresses how to install gosmore and gosmore maps for use in Marble <a href="http://nienhueser.de/marble/gosmore.html">in more detail</a> soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=137</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Quick Tip: Exporting Routes in Marble</title>
		<link>http://nienhueser.de/blog/?p=132</link>
		<comments>http://nienhueser.de/blog/?p=132#comments</comments>
		<pubDate>Thu, 27 May 2010 19:40:49 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=132</guid>
		<description><![CDATA[KDE SC 4.5 Beta 1 was released, among it a new Marble version with great new features. Please give it a try; we're looking for testers and appreciate feedback via IRC (#marble), email or Bugzilla.The handbook is not yet updated, so here goes a quick tip for one of the features that may be a [...]]]></description>
			<content:encoded><![CDATA[<p>KDE SC 4.5 Beta 1 was released, among it a new <a href="http://edu.kde.org/marble">Marble</a> version with great new features. Please give it a try; we're looking for testers and appreciate feedback via IRC (#marble), <a href="https://mail.kde.org/mailman/listinfo/marble-devel">email</a> or <a href="https://bugs.kde.org/">Bugzilla</a>.The handbook is not yet updated, so here goes a quick tip for one of the features that may be a bit harder to spot: Exporting a route to .gpx is possible from the routing context menu. Click on any point of the route in the map with the right mouse button and select "Export route..." in the context menu.</p>
<p><a href="http://nienhueser.de/blog/wp-content/uploads/2010/05/marble-export-route.png"><img class="aligncenter size-full wp-image-133" title="marble-export-route" src="http://nienhueser.de/blog/wp-content/uploads/2010/05/marble-export-route.png" alt="" width="794" height="630" /></a></p>
<p>If your navigation device (or whichever software you want to use) does not support the .gpx format directly, have a look at <a href="http://www.gpsbabel.org/">gpsbabel</a> as a universal conversion tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=132</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Qt Quick Meets Marble</title>
		<link>http://nienhueser.de/blog/?p=121</link>
		<comments>http://nienhueser.de/blog/?p=121#comments</comments>
		<pubDate>Sun, 16 May 2010 10:37:12 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=121</guid>
		<description><![CDATA[With the beta release of Qt 4.7 it is quite easy to try out its new features. Qt Quick is the major highlight, allowing to write user interfaces in QML, the Qt Meta-Object language. Fortunately, the name Quick is not one of those marketing-driven buzzwords. Instead, working with QML is just that, quick -- even [...]]]></description>
			<content:encoded><![CDATA[<p>With the beta release of Qt 4.7 it is quite easy to try out its new features. Qt Quick is the major highlight, allowing to write user interfaces in QML, the Qt Meta-Object language. Fortunately, the name Quick is not one of those marketing-driven buzzwords. Instead, working with QML is just that, quick -- even for the JavaScript illiterate I am.</p>
<p>To get my hands dirty with some non-artificial examples, I wrote a small QtDeclarative plugin for Marble. It exposes MarbleWidget -- designed to be re-used in other applications -- to QML. The first thing I tried was a little game, resembling a game popular in a German TV show.</p>
<p style="text-align: center;"><a href="http://blip.tv/file/3628969"><img class="aligncenter size-full wp-image-122" title="Marble Where is that? (Qt Quick)" src="http://nienhueser.de/blog/wp-content/uploads/2010/05/play-where-is-that.png" alt="" width="400" height="200" /></a></p>
<p>That went pretty well, but doesn't make too much use of Marble's features yet. Moving on to imitate the user interface of a popular search engine:</p>
<p><a href="http://blip.tv/file/3628925"><img class="aligncenter size-full wp-image-124" title="Marble Search (Qt Quick)" src="http://nienhueser.de/blog/wp-content/uploads/2010/05/play-search.png" alt="" width="344" height="344" /></a></p>
<p>I was quite surprised to see how well the C++ part and the QML part play together: For example, the red search result markers you see in the screencast are only known to QML, but not to Marble. Therefore the QML part needs to update them when zooming or panning the map, which it does in the onViewportChanged handler exposed by the Marble QtDeclarative plugin.</p>
<p>The QML files for both applications are each less than 300 lines of code in total. The Marble QtDeclarative plugin used by them adds another 400 lines of code. That's remarkably little code needed to power two quite different user interfaces. No doubt Qt 4.7 will be a very interesting release.</p>
<p>Please note that none of this will be available in KDE 4.5. Support for QtDeclarative and sample QML applications may be added later to Marble, nothing decided yet. I'll push the code to <a href="http://gitorious.org/~earthwings/marble/earthwings-marble">gitorious</a> after a cleanup, however.</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=121</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Maemo Packages</title>
		<link>http://nienhueser.de/blog/?p=113</link>
		<comments>http://nienhueser.de/blog/?p=113#comments</comments>
		<pubDate>Sun, 18 Apr 2010 22:00:33 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=113</guid>
		<description><![CDATA[One of the things I'd like to have ready in time with KDE SC 4.5 are Marble packages for Maemo. Ideally they should be installable directly from the Maemo Extras repository. As there may be some packaging and deployment hurdles, it's better to start early. We spent some time on polishing our maemo packages in [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I'd like to have ready in time with KDE SC 4.5 are Marble packages for Maemo. Ideally they should be installable directly from the Maemo Extras repository. As there may be some packaging and deployment hurdles, it's better to start early.</p>
<p>We spent some time on polishing our maemo packages in the last weeks. Marble on maemo surely has not yet reached the state where your grandmother would be happy to use it. Her grandchild however must not be a marble developer anymore to get it running. In other words, it's time to distribute it to a wider audience.</p>
<p>Marble on Maemo comes in two flavors: A light variant that only contains OpenStreetMap, and a full version with different earth and moon map themes. The light variant with its nearly 6 MB is not as light as it could be; we'll squeeze it further in future versions.</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100418-231105.png"><img class="aligncenter size-full wp-image-114" title="Screenshot-20100418-231105" src="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100418-231105.png" alt="" width="640" height="384" /></a></p>
<p>If you have a spare Nokia N900 lying around which you want to dedicate to test experimental packages, please have a look at our <a href="https://garage.maemo.org/projects/marble">garage project</a>. Packages ready for the N900 can be downloaded there. See the Release Notes on installation instructions.</p>
<p>Disclaimer: The packages are built from a very recent subversion checkout. They were only tested on a handful of devices yet. All sorts of breakage is to be expected. Use at your own risk.</p>
<p>Kudos to the brave testing the packages: I'd like to hear back from you. Just show up in our IRC channel (#marble on freenode) or drop a mail to <a href="https://mail.kde.org/mailman/listinfo/marble-devel">marble-devel</a>.</p>
<p>Someone requested a video of marble running on the N900. I tried to do a screencast using the load applet, but the <a href="http://blip.tv/file/3486382">result</a> is not too good because of <a href="https://bugs.maemo.org/show_bug.cgi?id=5780#c26">this bug</a>. If you watch it, ignore the last four minutes, they show the same picture over and over...</p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=113</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Maemo N&#8217; Marble</title>
		<link>http://nienhueser.de/blog/?p=95</link>
		<comments>http://nienhueser.de/blog/?p=95#comments</comments>
		<pubDate>Tue, 06 Apr 2010 21:03:30 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=95</guid>
		<description><![CDATA[After looking for a new phone for some years, I recently bought a Nokia N900. The combination of decent hardware (a fast CPU, built-in GPS, hardware keyboard and sane size)  and the open software stack convinced me to spend the money. Today I'm pretty satisfied with that decision. One of the great things about it [...]]]></description>
			<content:encoded><![CDATA[<p>After looking for a new phone for some years, I recently bought a Nokia N900. The combination of decent hardware (a fast CPU, built-in GPS, hardware keyboard and sane size)  and the open software stack convinced me to spend the money. Today I'm pretty satisfied with that decision. One of the great things about it is that it runs Linux and is extensible.</p>
<p>Marble's <a href="http://techbase.kde.org/Projects/Marble/GoMarble/Manifesto">properties</a> -- fast, visually appealing, easy to use, minimal hard- and software requirements, offline usable, free software and open standards -- make it appealing for a Maemo port. Working on the base of earlier ports, we're polishing things up for the N900 for some time now. Some parts of the user interface clearly need more work, but we do have a functional and reactive version running already.</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100406-220900.png"><img class="aligncenter size-full wp-image-105" title="Screenshot-20100406-220900" src="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100406-220900.png" alt="" width="640" height="384" /></a></p>
<p>In the spirit of "release early, release often" I'd go for a first release soon. We set up a <a href="https://garage.maemo.org/projects/marble">Marble Garage Project</a> for that. Give us some weeks for final polishing and we'll have packages ready.</p>
<p>The internal GPS device and routing via openrouteservice.org are supported as well. Does that make it a navigation device? Kind of.</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100405-173035.png"><img class="aligncenter size-full wp-image-96" title="Screenshot-20100405-173035" src="http://nienhueser.de/blog/wp-content/uploads/2010/04/Screenshot-20100405-173035.png" alt="" width="640" height="384" /></a></p>
<p>You can use Marble on the N900 to plan a route and track your current position. But there is no guidance yet and other features one expects from a real navigation device are lacking as well. Call that a chance: Until Friday, students can file an application for Google Summer of Code "<a href="http://community.kde.org/GSoC/2010/Ideas#Project:_Marble_To_Go_.28Navigation_Mode.29">Marble to Go (Navigation Mode)</a>". I'm happy to hear from you <img src='http://nienhueser.de/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=95</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>Printing Routes</title>
		<link>http://nienhueser.de/blog/?p=76</link>
		<comments>http://nienhueser.de/blog/?p=76#comments</comments>
		<pubDate>Thu, 25 Mar 2010 21:45:51 +0000</pubDate>
		<dc:creator>Dennis Nienhüser</dc:creator>
				<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://nienhueser.de/blog/?p=76</guid>
		<description><![CDATA[At some point I applied my programming habits to my car. I keep it clean now; empty bottles and garbage are long gone. Ironically, this is driven by laziness. Among the things that are still with me and my car is a routing atlas. Its right to exist stems from its independence of battery power [...]]]></description>
			<content:encoded><![CDATA[<p>At some point I applied my programming habits to my car. I keep it clean now; empty bottles and garbage are long gone. Ironically, this is driven by laziness. Among the things that are still with me and my car is a routing atlas. Its right to exist stems from its independence of battery power and satellites. Occasionally I complement it with printed routes, the single-use atlas mostly useful when driving alone.</p>
<p>Back in the days when Google was only a search engine I used a free (as in beer) service -- was it called Map &amp; Guide? -- to create these printed routes. Even short routes resulted in four or five pages, quite a mess in a car. Todays services are much better, creating customizable, short printouts. Tomorrow I want Marble to print my routes.</p>
<p>Soon I realized that this feature is easier realizable than expected: Marble already has printing support for maps and Qt's QTextDocument simplifies creating printable pages with a nice layout. Below is a screenshot from my printing Git branch:</p>
<p style="text-align: center;"><a href="http://nienhueser.de/blog/wp-content/uploads/2010/03/MarbleRoutingPrintout.png"><img class="aligncenter" title="MarbleRoutingPrintout" src="http://nienhueser.de/blog/wp-content/uploads/2010/03/MarbleRoutingPrintout.png" alt="" width="302" height="407" align="center" /></a></p>
<p style="text-align: left;">But adding each and every piece of information just because I can is not the goal: I rather have a slick user interface and leave confusing information out. Things that I'd call clutter, however, may be useful to someone else. At which point I thought that collecting some feedback on usefulness and clutter would be a good way forward. <a href="http://nienhueser.de/blog/?p=74">Ten questions on a single page, nothing more</a>. Thanks.</p>
<p style="text-align: center;">
<p style="text-align: center;">
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://nienhueser.de/blog/?feed=rss2&amp;p=76</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
