<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.0.4" -->
<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/"
	>

<channel>
	<title>ZEDRAY</title>
	<link>http://blog.zedray.com</link>
	<description>Some notes on Android, Java and Politics.</description>
	<pubDate>Sun, 15 Nov 2009 14:14:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.0.4</generator>
	<language>en</language>
			<item>
		<title>How the US army protects its trucks – by paying the Taliban</title>
		<link>http://blog.zedray.com/2009/11/15/how-the-us-army-protects-its-trucks-%e2%80%93-by-paying-the-taliban/</link>
		<comments>http://blog.zedray.com/2009/11/15/how-the-us-army-protects-its-trucks-%e2%80%93-by-paying-the-taliban/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 14:14:22 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Political</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/11/15/how-the-us-army-protects-its-trucks-%e2%80%93-by-paying-the-taliban/</guid>
		<description><![CDATA[&#8220;Insurance, security or extortion? The US is spending millions of dollars in Afghanistan to ensure its supply convoys get through – and it&#8217;s the Taliban who profit&#8221; (Guardian).

]]></description>
			<content:encoded><![CDATA[<p>&#8220;<em>Insurance, security or extortion? The US is spending millions of dollars in Afghanistan to ensure its supply convoys get through – and it&#8217;s the Taliban who profit</em>&#8221; (<a target="_blank" href="http://www.guardian.co.uk/world/2009/nov/13/us-trucks-security-taliban">Guardian</a>).
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/11/15/how-the-us-army-protects-its-trucks-%e2%80%93-by-paying-the-taliban/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Data SMS – An Annoying Android Fragmentation Bug on the Samsung Galaxy</title>
		<link>http://blog.zedray.com/2009/09/25/data-sms-%e2%80%93-an-annoying-android-fragmentation-bug-on-the-samsung-galaxy/</link>
		<comments>http://blog.zedray.com/2009/09/25/data-sms-%e2%80%93-an-annoying-android-fragmentation-bug-on-the-samsung-galaxy/#comments</comments>
		<pubDate>Fri, 25 Sep 2009 16:47:14 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Technology</category>
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/09/25/data-sms-%e2%80%93-an-annoying-android-fragmentation-bug-on-the-samsung-galaxy/</guid>
		<description><![CDATA[A code contained in a Data SMS is required to authenticate the MSISDN of the device running my product.
When I receive a data SMS on the Samsung Galaxy, the Intent “android.intent.action.DATA_SMS_RECEIVED” is not thrown and the Data SMS arrives in the Inbox as a blank text message.  Any data contained in the Data SMS seems [...]]]></description>
			<content:encoded><![CDATA[<p>A code contained in a Data SMS is required to authenticate the MSISDN of the device running my product.</p>
<p>When I receive a data SMS on the Samsung Galaxy, the Intent “android.intent.action.DATA_SMS_RECEIVED” is not thrown and the Data SMS arrives in the Inbox as a blank text message.  Any data contained in the Data SMS seems to be lost once it arrives in the Inbox.</p>
<p><a href="http://blog.zedray.com/wp-content/uploads/2009/09/smstest-source.zip">Here is a little app I wrote</a> which detects the MSISDN (not working on many devices) or lets you enter it, then send either a Data SMS or a Text Message.  The app will then display any incoming Data or Text SMSs by the intent they throw and allow you to interrogate the native Inbox to determine what data was saved.</p>
<p>Time to file a bug!</p>
<p><a target="_blank" href="http://code.google.com/p/android/issues/detail?id=4018">Bug Report</a><br />
<a target="_blank" href="http://groups.google.com/group/android-developers/browse_thread/thread/78040a476dd53105">Forum </a>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/09/25/data-sms-%e2%80%93-an-annoying-android-fragmentation-bug-on-the-samsung-galaxy/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Android Cupcake Device Review &gt; HTC Dream</title>
		<link>http://blog.zedray.com/2009/09/12/cupcake-device-review-htc-dream/</link>
		<comments>http://blog.zedray.com/2009/09/12/cupcake-device-review-htc-dream/#comments</comments>
		<pubDate>Sat, 12 Sep 2009 12:17:26 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Technology</category>
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/09/12/cupcake-device-review-htc-dream/</guid>
		<description><![CDATA[
The original Android phone, which came shipped with Android version 1.0 but promptly performed a seamless self update to Cupcake after I took it out of the box and connected it to the internet for the first time.
This device is only interesting for testing (post Cupcake) because it has a hardware keyboard which by default [...]]]></description>
			<content:encoded><![CDATA[<p><img id="image252" alt="HTC Dream" src="http://blog.zedray.com/wp-content/uploads/2009/09/htc_dream.jpg" /></p>
<p>The original Android phone, which came shipped with Android version 1.0 but promptly performed a seamless self update to Cupcake after I took it out of the box and connected it to the internet for the first time.</p>
<p>This device is only interesting for testing (post Cupcake) because it has a hardware keyboard which by default will restart the running Activity every time you flip it out.  This uses a slightly different event notification system to the rotate listener, which is the only way of changing screen orientation on the other 3 Cupcake devices.  The hardware keyboard makes it currently the best available Android phone for writing messages, but the retarded amount of on board memory means you must start deleting stuff after downloading your tenth application.</p>
<p>A lot of developers have a “Android Developer Phone 1” device (now out of stock) which is essentially a pre-rooted HTC Dream, giving developers full Linux level access so they can install their own firmware.</p>
<p>Please note, that a rooted phone is not required if you are only intending to develop Application level software, as any Android device will run a self signed application as long as you check “Unknown Sources” in Menu > Settings > Application settings.</p>
<p>There is no 3.5 audio jack on this device, instead use the ExtUSB connector with the headset provided.  Some editions of this device come with a 3.5 headset and ExtUSB adapter, allowing users to use their own headphones to listen to music.</p>
<p>Device specific test cases:</p>
<ul>
<li>Flip out that keyboard a couple of times on each screen.  Badly written applications will lose UI state (form data, selected tabs, etc), or freeze if they are in the middle of a long running process started from within the Activity (consider using a service in this case).</li>
<li>Try and perform all actions using the keyboard (as if the touch screen were broken).</li>
<li>Test for trackball slide clicks (i.e. when the user mistakenly presses the trackball when they intended to slide it).  The proper way of handling this is to ignore all trackball clicks that occur less than half a second after a trackball drag.  This test is useful for games that implement trackball events themselves, as we are used to the native Android UI handling this on our behalf.</li>
<li>Flash your Developer Phone firmware and test your Application on an early build of Donut.</li>
</ul>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/09/12/cupcake-device-review-htc-dream/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Android Cupcake Hardware Review</title>
		<link>http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/</link>
		<comments>http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/#comments</comments>
		<pubDate>Sat, 22 Aug 2009 19:45:10 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Technology</category>
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/</guid>
		<description><![CDATA[This is a review of all the mobile phones currently being sold (outside of China) that run Android Cupcake.  I am an Android Third party Application developer (i.e. not a Google employee or handset manufacturer) and will be reviewing various technical differences that affect developers like myself.

With the late arrival of the Samsung Galaxy, I [...]]]></description>
			<content:encoded><![CDATA[<p>This is a review of all the mobile phones currently being sold (outside of China) that run Android Cupcake.  I am an Android Third party Application developer (i.e. not a Google employee or handset manufacturer) and will be reviewing various technical differences that affect developers like myself.</p>
<p><img id="image251" alt="together" src="http://blog.zedray.com/wp-content/uploads/2009/08/together.jpg" /></p>
<p>With the late arrival of the Samsung Galaxy, I now finally have the full set to play with.</p>
<p><img id="image250" alt="Group" src="http://blog.zedray.com/wp-content/uploads/2009/08/group.jpg" /></p>
<p>The Samsung Galaxy comes in a bigger box because it comes with a “PC Studio” and drivers CD.  You shouldn&#8217;t need a CD to develop on an Android device, because the ADB and USB drivers are included with the Android SDK (more on this in the Galaxy review).</p>
<p><strong>Comparison table:</strong></p>
<table border="1" class="sample">
<tr>
<td></td>
<td><strong>HTC Dream (i.e. G1)</strong></td>
<td><strong>HTC Magic</strong></td>
<td><strong>HTC Hero (<a target="_blank" href="http://www.intomobile.com/2009/06/24/htc-sense-ui-taking-android-to-the-next-level.html">+Sense UI</a>)</strong></td>
<td><strong>Samsung Galaxy</strong></td>
</tr>
<tr>
<td>Internal storage</td>
<td>71MB</td>
<td>291MB</td>
<td>155MB</td>
<td>912MB</td>
</tr>
<tr>
<td>Camera</td>
<td>3.2MP</td>
<td>3.2MP</td>
<td>5MP</td>
<td>5MP + LED Flash</td>
</tr>
<tr>
<td>Battery</td>
<td>1150mAh</td>
<td>1340mAh</td>
<td>1350mAh</td>
<td>1500mAh</td>
</tr>
<tr>
<td>Connector</td>
<td>ExtUSB</td>
<td>ExtUSB</td>
<td>3.5 Audio + ExtUSB</td>
<td>3.5 Audio + MicroUSB</td>
</tr>
<tr>
<td>Keyboard</td>
<td>Flip out</td>
<td>None</td>
<td>None</td>
<td>None</td>
</tr>
<tr>
<td>Controller</td>
<td>Trackball</td>
<td>Trackball</td>
<td>Trackball</td>
<td>D-Pad</td>
</tr>
<tr>
<td>OpenGL</td>
<td>Hardware</td>
<td>Hardware</td>
<td>Hardware</td>
<td>Software</td>
</tr>
<tr>
<td>SD Card</td>
<td>2GB</td>
<td>8GB</td>
<td>2GB</td>
<td>Not included</td>
</tr>
<tr>
<td>Upgrade</td>
<td>OTA</td>
<td>OTA</td>
<td>Via PC</td>
<td>Via PC</td>
</tr>
<tr>
<td>Screen</td>
<td>30.0cm2</td>
<td>30.0cm2</td>
<td>30.6cm2</td>
<td>30.7cm2 <a target="_blank" href="http://en.wikipedia.org/wiki/Active-Matrix_OLED">AMOLED</a></td>
</tr>
<tr>
<td>Edit</td>
<td>254px</td>
<td>254px</td>
<td>229px</td>
<td>212px</td>
</tr>
</table>
<p>Additional information, including unrelased devices is avalaible <a target="_blank" href="http://spreadsheets.google.com/pub?key=rdm8c2ZfSDKd5l-dVy4SrnA&#038;output=html">here</a> (documented by Eric Wong).</p>
<p><strong>Comparison notes:</strong><br />
All devices have roughly a 3.2” HVGA (480&#215;320 pixcel) capacitance touch display, support 3G, WiFi, GPS, Bluetooth, accelerometer, digital compass and Micro-SD memory cards.   Only the HTC Dream and HTC Magic are Google experience phones which support automatic updates, the others instead come bundled with software customisations (both good and bad) developed independently by their respective manufactures.</p>
<p><strong>Internal storage</strong><br />
Currently applications cannot be run off the SD Card (unless you have root access), and I don&#8217;t expect this situation to change any time soon.  That means the internal phone storage represents the upper limit on how many applications (including contacts/mail/calendar storage &#038; Web Browser cache) that you can install on your phone.</p>
<p>The Samsung Galaxy&#8217;s ~6.7GB internal SD card isn&#8217;t included here, because you can&#8217;t install Applications onto it.</p>
<p>If you have less than 10MB of space remaining, you will get a low space notification and all synchronisation tasks will stop.  To find out this value for your device, look in the device settings:<br />
<em>Menu > Settings > SD Card &#038; phone storage</em><br />
Look for “Available space” under the “Internal phone storage” header.</p>
<p>All these values are for a fresh device (i.e. reset to the factory settings) and are running a similar retail Cupcake build.  Your results may vary.</p>
<p><strong>Camera</strong><br />
More Mega-pixels usually denotes a better result, but having a flash is important when taking pictures indoors.</p>
<p><strong>Battery</strong><br />
Bigger the better really.  Android background processes can eat up a lot of juice, but us software developers are working on improving this situation.  Actual battery life was not tested.</p>
<p><strong>Connector</strong><br />
MicroUSB is the new standard (according to the EU), so get ready to replace all your chargers and connection cables once again.  All the HTC devices use the ExtUSB which <strike>is a proprietary connector</strike> is <a href="http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/#comment-15121">apparently under some debate</a>.  Also, don&#8217;t confuse this with the older Mini USB which you probably already have chargers for, as these will also have to go into the bin.</p>
<p><strong>Keyboard</strong><br />
Cupcake comes with a usable on screen software keyboard, which makes it possible to type one handed with your thumb.  This works quite well as long as you remember that you only type a character when you *remove* your finger from the screen.  This makes accurate typing a click, and then drag affair.</p>
<p>The HTC Dream comes with a flip out keyboard (for use in landscape mode), with a good key layout design but effectively requires two hands to use (i.e. typing with your thumbs).  This is much better for data entry, as you get some good tactile feedback from the keys, and the lack of soft keyboard leaves you with more screen real estate for your application.</p>
<p><strong>Controller</strong><br />
For all practical usages, the click ball and the D-pad are identical.  I am yet to test if this makes any difference to Android game play.</p>
<p><strong>OpenGL</strong><br />
All  the HTC devices come with OpenGL hardware “acceleration”, i.e. calculations are performed on a separate GPU chip.  The same code is implemented in software on the Galaxy, meaning that animations run proportionally slower (compared to processor speed) on this device than you would expect, and there is more animation judder when the processor is asked to perform other tasks.</p>
<p>While this isn&#8217;t a big issue today, I expect to see greater use if OpenGL in Games and user interfaces  in the coming year.  A good example  of what to expect would be the <a target="_blank" href="http://www.youtube.com/watch?v=9UwcVlF5EUM">Rachael UI</a> prototype from Sony Ericsson.</p>
<p><strong>SD Card</strong><br />
Its nice when the device comes with a decent SD card, although only some applications will make use of this space.</p>
<p><strong>Upgrade</strong><br />
Android is quite new, so new revisions and security fixes are coming out all the time and you want to make sure you are using the latest build.  Google experience devices will upgrade themselves, but it&#8217;s a bit unclear at this point how (and how often) non-Google experience devices will be upgraded.</p>
<p>The HTC Hero and Samsung Galaxy currently require PC software to download and install their latest updates.  I expect that most users wont bother (or know how) to upgrade, so Application developers should expect to support Cupcake devices for many years to come.  I will call these devices “Dead Ducks” until someone comes up with a seamless way of bringing everybody over to Donut, then Éclair, etc.</p>
<p>This is one area where owning a Google experience “in the cloud” Android device is advantageous, and I wouldn&#8217;t recommend any of the other devices until this issue has been resolved.</p>
<p><strong>Screen</strong><br />
Physical screen display area of the device, measured with a ruler.</p>
<p><strong>Edit</strong><br />
The virtual keyboard is essential, but uses up a lot of on screen real estate that your application must take into consideration.  Surprisingly this size varies considerably between firmware customisations, with the Samsung Galaxy using the greatest space with its oversized keyboard.  HTC Dream users have the option of flipping out their physical keyboards, nullifying this limitation.</p>
<p>I have measured the amount of usable on screen pixels available when the virtual keyboard is shown in portrait mode. This is the distance between the top of the virtual keyboard and the bottom of the on screen notification bar.  Fewer pixels means there is a larger virtual keyboard, but conversely, there is less area for your application to display data in.</p>
<p>Individual device reviews to come&#8230;
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/08/22/android-cupcake-hardware-review/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>G1 Google Account sign in without T-Mobile SIM</title>
		<link>http://blog.zedray.com/2009/07/17/g1-google-account-sign-in-without-t-mobile-sim/</link>
		<comments>http://blog.zedray.com/2009/07/17/g1-google-account-sign-in-without-t-mobile-sim/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 08:16:35 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/07/17/g1-google-account-sign-in-without-t-mobile-sim/</guid>
		<description><![CDATA[So you have a T-Mobile G1 running the Android 1.1 firmware, but you don&#8217;t have a T-Mobile SIM.  This means you can&#8217;t get past the Google Account sign in screen because you don&#8217;t have internet access.
Unfortunately you can&#8217;t yet access the phone settings to activate WiFi, so the only way to progress is to manually [...]]]></description>
			<content:encoded><![CDATA[<p>So you have a T-Mobile G1 running the Android 1.1 firmware, but you don&#8217;t have a T-Mobile SIM.  This means you can&#8217;t get past the Google Account sign in screen because you don&#8217;t have internet access.</p>
<p>Unfortunately you can&#8217;t yet access the phone settings to activate WiFi, so the only way to progress is to manually enter an “Access Point Name” configuration for your third party SIM.</p>
<p>Menu > APN Settings<br />
Menu > New APN</p>
<p>Enter the APN settings for your current network.  This is easy if you happen to have another phone lying about, so you can boot it using your third party SIM and scribble down the settings of a relevant APN.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/07/17/g1-google-account-sign-in-without-t-mobile-sim/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>When ADB won’t detect your Android phone…</title>
		<link>http://blog.zedray.com/2009/06/16/when-adb-won%e2%80%99t-detect-your-android-phone%e2%80%a6/</link>
		<comments>http://blog.zedray.com/2009/06/16/when-adb-won%e2%80%99t-detect-your-android-phone%e2%80%a6/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 08:56:11 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/06/16/when-adb-won%e2%80%99t-detect-your-android-phone%e2%80%a6/</guid>
		<description><![CDATA[The official instructions for using your Android phone for development are here:
http://developer.android.com/guide/developing/device.html
So you plugged your Android phone into your Windows machine having forgotten to switch on USB debugging&#8230;
Menu > Settings > Applications > Development > USB debugging
Then Windows detected your device as a USB-Mass storage device and won’t change the settings, regardless of how many [...]]]></description>
			<content:encoded><![CDATA[<p>The official instructions for using your Android phone for development are here:<br />
<a target="_blank" href="http://developer.android.com/guide/developing/device.html">http://developer.android.com/guide/developing/device.html</a></p>
<p>So you plugged your Android phone into your Windows machine having forgotten to switch on USB debugging&#8230;<br />
Menu > Settings > Applications > Development > USB debugging</p>
<p>Then Windows detected your device as a USB-Mass storage device and won’t change the settings, regardless of how many times you uninstalled the device. <a target="_blank" href="http://groups.google.com/group/android-beginners/browse_thread/thread/8f99c245c78af3ab/6a1437c912aac2f1?show_docid=6a1437c912aac2f1#">Thread on it here</a>.</p>
<p>This solution worked for me and didn&#8217;t require editing the registry settings (I don’t know if the reboot is unnecessary).</p>
<p>(1) Plugin phone<br />
(2) Uninstall any drivers that mention &#8220;HTC Android Mobile USB Device&#8221;<br />
(3) Unplug phone and restart<br />
(4) Install and run USBDeview<br />
<a target="_blank" href="http://www.nirsoft.net/utils/usb_devices_view.html">http://www.nirsoft.net/utils/usb_devices_view.html</a><br />
(5) Using USBDeview find the Android device (for some reason Windows hides uninstalled drivers instead of deleting them), right click on it and uninstall.<br />
(6) Follow the official instructions to the letter this time.<br />
<a target="_blank" href="http://developer.android.com/guide/developing/device.html">http://developer.android.com/guide/developing/device.html</a></p>
<p>Happy developing.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/06/16/when-adb-won%e2%80%99t-detect-your-android-phone%e2%80%a6/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Gardening Leave</title>
		<link>http://blog.zedray.com/2009/05/25/gardening-leave/</link>
		<comments>http://blog.zedray.com/2009/05/25/gardening-leave/#comments</comments>
		<pubDate>Mon, 25 May 2009 13:16:36 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Life</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/05/25/gardening-leave/</guid>
		<description><![CDATA[
I have a bit of time off between finishing job A and starting job B, made up of a combination of unused leave, unpaid overtime and a slightly delayed starting date (see Gardening leave).
It turns out my Krankenversichern (German private medical insurance provider) will let me be off work (unemployed) for up to 4 weeks [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Mark BBQ" id="image245" src="http://blog.zedray.com/wp-content/uploads/2009/05/cimg3241.JPG" /></p>
<p>I have a bit of time off between finishing job A and starting job B, made up of a combination of unused leave, unpaid overtime and a slightly delayed starting date (<a target="_blank" href="http://en.wikipedia.org/wiki/Gardening_leave">see Gardening leave</a>).</p>
<p>It turns out my <a target="_blank" href="http://en.wikipedia.org/wiki/Health_in_Germany#Insurance_systems">Krankenversichern</a> (German private medical insurance provider) will let me be off work (unemployed) for up to 4 weeks as long as they get paid every quarter (not sure of the details, so ask them yourself before quitting).</p>
<p>So its June, and my Düsseldorf appartment lacks a garden.  Looks like I will be forced to improvise&#8230;
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/05/25/gardening-leave/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Fun moving over contacts</title>
		<link>http://blog.zedray.com/2009/05/20/fun-moving-over-contacts/</link>
		<comments>http://blog.zedray.com/2009/05/20/fun-moving-over-contacts/#comments</comments>
		<pubDate>Wed, 20 May 2009 09:09:48 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Technology</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/05/20/fun-moving-over-contacts/</guid>
		<description><![CDATA[
I don’t know why anyone else would want to do this, but here goes.
So I am between jobs and I have to give back my Android G1 and use my old Nokia 6600 for a few weeks.  That means moving over my contacts, which turns out to be a lot easier than I expected:

Android G1 [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Contacts" id="image243" src="http://blog.zedray.com/wp-content/uploads/2009/05/contacts.thumbnail.jpg" /><br />
I don’t know why anyone else would want to do this, but here goes.</p>
<p>So I am between jobs and I have to give back my Android G1 and use my old Nokia 6600 for a few weeks.  That means moving over my contacts, which turns out to be a lot easier than I expected:</p>
<ol>
<li>Android G1 contacts are synchronised with my Google mail account.  So log into Gmail, then click Contacts > Export.  Export “Everyone” in “vCard format”, saving the .vcf file to your Nokia MMC card.</li>
<li>Download and install <a target="_blank" href="http://www.smartphoneware.com/vcard-for-s60-product.php">Best vCard for S60</a>, and use it to open the .vcf file on your MMC.  Import all contacts and you’re done.</li>
</ol>
<p>All the regular issues:</p>
<ul>
<li>Umlauts are corrupted, i.e. characters üöäÜÖÄß become split pairs (<a target="_blank" href="http://en.wikipedia.org/wiki/UTF-16/UCS-2">surrogate pairs</a>), or Mark Münsterman becomes MÄ$nsterman.</li>
<li>Contact labels are missing.  So instead of having a Business, Home and Mobile number for someone I have 3x numbers labelled “Telephone”.</li>
</ul>
<p>Clearly there is room for a global standard for moving, updating and synching contacts between systems.  Most people I know find themselves moving between systems (Outlook, phone, webmail, Facebook, etc) and spend time maintaining their contacts, or just don’t bother at all.</p>
<p>The world awaits my next invention.
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/05/20/fun-moving-over-contacts/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>Dear Mr Tax Man (Re: Android Market)</title>
		<link>http://blog.zedray.com/2009/05/12/dear-mr-tax-man-re-android-market/</link>
		<comments>http://blog.zedray.com/2009/05/12/dear-mr-tax-man-re-android-market/#comments</comments>
		<pubDate>Tue, 12 May 2009 06:18:32 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Android</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/05/12/dear-mr-tax-man-re-android-market/</guid>
		<description><![CDATA[
&#8230;I here by declare that I have not developed, sold or distributed applications or services over the Android Market and Google checkout payment system.  Please do not begin an investigation into my activities, as I am mealy a hard working bunny who only manages to file his German tax explanation forms on a semi-annual basis.  [...]]]></description>
			<content:encoded><![CDATA[<p><img alt="Taxman" id="image241" src="http://blog.zedray.com/wp-content/uploads/2009/05/taxman.jpg" /></p>
<p><em>&#8230;I here by declare that I have not developed, sold or distributed applications or services over the Android Market and Google checkout payment system.  Please do not begin an investigation into my activities, as I am mealy a hard working bunny who only manages to file his German tax explanation forms on a semi-annual basis.  Please do not crush my dreams under weight of bureaucracy and threat of criminal prosecution.<br />
Mark</em></p>
<p>[RANT]<br />
It turns out that selling applications over the Android market seems to be a sure fire way of getting myself investigated by the tax man (all of them, not just the German one apparently).</p>
<p>Developers are required to set the sales-tax rate for the local where the customer is buying.  That means customising the correct rate for every state in the US (and individual city&#8217;s apparently), European country, province of Zanzibar, etc.  I do not happen to know the tax rate in California, and I expect that nobody would inform me if it were to change the day after I entered it manually into the Market web page.  Developers are not international tax experts, and Google have abdicated their responsibility by charging a blanket ~30% &#8220;carrier tax&#8221; without taking responsibility for Tax processing itself.</p>
<p>I can hear the sound of iPhone developers (who have this taken care of for them) laughing at us right now.<br />
[/RANT]</p>
<p><strong>P.S.</strong> Here&#8217;s an idea, how about Google do a <strong>*Tax*</strong> session at their <a target="_blank" href="http://code.google.com/events/io/sessions.html">Google I/O</a> conference?</p>
<p>Some relevant links:<br />
[<a target="_blank" href="http://www.google.com/support/forum/p/Android+Market/thread?fid=4c4ebe1f0e0794580004644c723d751c&#038;hl=en">Question: Legally, is the developer selling the app or is Android Market selling it to end user?</a>]<br />
[<a target="_blank" href="http://www.thepoint.com/campaigns/android-developers-international-tax-consultation">Campaign: Android Developers International &#038; Tax Consultation</a>]<br />
[<a target="_blank" href="http://www.google.com/support/forum/p/Android+Market/thread?tid=400304ff18a0b09f&#038;hl=en">Question: Do I need company to sell applications?</a>]<br />
[<a target="_blank" href="http://groups.google.com/group/android-app-distribution/browse_thread/thread/a088d4867ce09b45">MARKET QUESTION: Selling applications on the Google Market</a>]<br />
[<a target="_blank" href="http://www.google.com/support/forum/p/Android+Market/thread?tid=773621c0cace1c52&#038;hl=en">MARKET QUESTION: Selling applications on the Google Market</a>]
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/05/12/dear-mr-tax-man-re-android-market/feed/</wfw:commentRSS>
		</item>
		<item>
		<title>I&#8217;m an Android developer</title>
		<link>http://blog.zedray.com/2009/05/07/im-an-android-developer/</link>
		<comments>http://blog.zedray.com/2009/05/07/im-an-android-developer/#comments</comments>
		<pubDate>Thu, 07 May 2009 10:00:22 +0000</pubDate>
		<dc:creator>Mark</dc:creator>
		
	<category>Uncategorized</category>
		<guid isPermaLink="false">http://blog.zedray.com/2009/05/07/im-an-android-developer/</guid>
		<description><![CDATA[

]]></description>
			<content:encoded><![CDATA[<p><object width="100%"><embed src="http://www.android.com/swf/conveyor.swf" type="application/x-shockwave-flash" width="100%" height="90"></embed></object>
</p>
]]></content:encoded>
			<wfw:commentRSS>http://blog.zedray.com/2009/05/07/im-an-android-developer/feed/</wfw:commentRSS>
		</item>
	</channel>
</rss>
