<?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>Ganesh &#187; Mobile</title>
	<atom:link href="http://www.gmarwaha.com/blog/category/mobile/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.gmarwaha.com/blog</link>
	<description>Ganesh\</description>
	<lastBuildDate>Wed, 18 Jan 2012 13:49:28 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Android: Remove activity from history stack</title>
		<link>http://www.gmarwaha.com/blog/2012/01/18/android-remove-activity-from-history-stack/</link>
		<comments>http://www.gmarwaha.com/blog/2012/01/18/android-remove-activity-from-history-stack/#comments</comments>
		<pubDate>Wed, 18 Jan 2012 13:13:27 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=594</guid>
		<description><![CDATA[In most Android REST-Client applications, the first screen a user sees is either a Login or Registration screen. Once the user logs in, the user is generally taken to a Dashboard screen or to some other Home screen. Now, What do you think will happen if the user presses the back button? Won&#8217;t they be [...]]]></description>
			<content:encoded><![CDATA[<p>In most Android REST-Client applications, the first screen a user sees is either a Login or Registration screen. Once the user logs in, the user is generally taken to a Dashboard screen or to some other Home screen. Now, What do you think will happen if the user presses the back button? Won&#8217;t they be taken back to the Login Screen? That is not good design, Is it? The issue is no different even when we show a Blank/Splash screen while automatically logging the user in based on their saved credentials. In fact in the second case it is worse. The user gets to see a Blank screen when they press the back button. </p>
<p>To avoid this behavior, we have to tell android to remove the Login screen from the display/history stack once its job is complete. There are a variety of ways to do this. The easiest way is to give the LoginActivity a &#8220;android:noHistory = true&#8221; attribute in the manifest file. That instructs Android to remove the given activity from the history stack thereby avoiding the aforementioned behavior altogether. </p>
<pre>
&lt;manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.activity"
          android:versionCode="1"
          android:versionName="1.0"&gt;

  &lt;application android:name="MyApp" android:label="My Application"&gt;

    &lt;activity android:name=".LoginActivity" android:noHistory="true"&gt;
      &lt;intent-filter&gt;
        &lt;action android:name="android.intent.action.MAIN"/&gt;
        &lt;category android:name="android.intent.category.LAUNCHER"/&gt;
      &lt;/intent-filter&gt;
    &lt;/activity&gt;

  &lt;/application&gt;
&lt;/manifest&gt;
</pre>
<p>In other similar circumstances, we may want a similar but dynamic behavior where we would like to choose at runtime, if an activity should be removed from the history stack or not. In those cases we can use Intent.FLAG_ACTIVITY_NO_HISTORY intent flag to achieve the same feature dynamically. </p>
<p>There is a cornucopia of other Intent flags <a href="http://developer.android.com/reference/android/content/Intent.html" title="Intent Docs">available and documented here</a> for our usage pleasure. They may render themselves useful under other circumstances. Have fun learning them all&#8230; </p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2012/01/18/android-remove-activity-from-history-stack/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2012/01/18/android-remove-activity-from-history-stack/" data-text="Android: Remove activity from history stack" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2012/01/18/android-remove-activity-from-history-stack/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Tomcat &amp; IntelliJ &#8211; Deploy war files outside webapps folder</title>
		<link>http://www.gmarwaha.com/blog/2012/01/16/tomcat-intellij-deploy-war-files-outside-webapps-folder/</link>
		<comments>http://www.gmarwaha.com/blog/2012/01/16/tomcat-intellij-deploy-war-files-outside-webapps-folder/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 05:53:44 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Server Side]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=655</guid>
		<description><![CDATA[At present I am working on developing an Android application that needs to be supported by a slew of REST services hosted in the cloud. I chose Google App Engine based on its support for Java, Groovy and most importantly Spring. I developed a Spring MVC based REST application and used ContentNegotiatingViewResolver to negotiate content [...]]]></description>
			<content:encoded><![CDATA[<p>At present I am working on developing an <strong>Android</strong> application that needs to be supported by a slew of REST services hosted in the cloud. I chose <a href="https://appengine.google.com/" title="Google App Engine">Google App Engine</a> based on its support for Java, Groovy and most importantly Spring. I developed a Spring MVC based REST application and used <em>ContentNegotiatingViewResolver</em> to negotiate content based on request URL extensions. For example, an XML response will be returned if the request URL ends with <em>.xml</em>, a JSON response for <em>.json</em> and an HTML response if he URL doesn’t have any extension. Don&#8217;t get me started on Accept Header versus URL extension based content negotiation. That is a rant for another day. </p>
<p>I was attempting to Serialize a <em>Map&lt;Enum, List&lt;Model&gt;&gt;</em>. All was well and I was able to retrieve both HTML and JSON representations, but when I tested retrieving the XML representation, <em>JAXB</em> complained that it cannot handle a <em>Map</em> instance in the root although <em>Jackson</em> was totally cool about it. As usual, Googling revealed that JAXB expected a Container class at its root which I didn&#8217;t want to create. I didn&#8217;t want to give up either. So, I tried my luck using <em>XStreamMarshaller</em>. This time GAE complained that XStream used a restricted API. WTH?</p>
<p>Just out of curiosity, I wanted to check if XStreamMarshaller would work as expected when used outside of GAE. So, I created a Tomcat context file &#8220;myapp.xml&#8221; with the following definition and carefully placed it inside <em>TOMCAT_HOME/conf/Catalina/localhost</em>. I could have just started Tomcat from <em>TOMCAT_HOME/bin/startup.bat</em> to check if it works, but being an IDEA addict, I created a Run Configuration for the IDEA Tomcat plugin and started the server from inside IDEA. But the app refused to even be discovered, let alone be deployed. After a few frustrated attempts, I tried starting Tomcat directly outside IDEA. Thankfully the app got deployed successfully and to my surprise, the XStreamMarshaller skillfully streamed out the serialized XML. Problem Solved!</p>
<pre>
&lt;?xml version='1.0' encoding='utf-8'?&gt;
&lt;Context docBase="PATH_TO_MY_APP"
         reloadable="true"
         path="/myapp"&gt;
&lt;/Context&gt;
</pre>
<p>But, why didn&#8217;t the app get deployed when I started Tomcat from inside IDEA? After all, I have linked IDEA to my local Tomcat installation and the script it executes is clearly in my <em>TOMCAT_HOME/bin</em> folder. Then, why why why in the world does the app refuse to be discovered? The solution came in the form of CATALINA_BASE. It seems that IDEA copies the contents of <em>TOMCAT_HOME/conf</em> folder into its HOME folder with some name like <em>Unnamed_MyApp</em> and sets this folder to be the <em>CATALINA_BASE</em>. That explains why &#8220;myapp.xml&#8221; is so totally ignored by Tomcat. Then, I navigated to &#8220;Tomcat Run Configuration -> Startup/Connection -> Environment Variables&#8221; and added CATALINA_BASE as an environment variable and pointed it to your local TOMCAT_HOME folder. After this configuration change IDEA started Tomcat as expected and my app was both discovered and deployed. Another Problem Solved!</p>
<p>But the real problem &#8211; JAXB complaining about Map and GAE rejecting XStreamMarshaller as restricted &#8211; is yet to be solved. Maybe I should try one of the CastorMarshaller, XmlBeansMarshaller or JibxMarshaller. </p>
<p>Any ideas?</p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2012/01/16/tomcat-intellij-deploy-war-files-outside-webapps-folder/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2012/01/16/tomcat-intellij-deploy-war-files-outside-webapps-folder/" data-text="Tomcat &#038; IntelliJ - Deploy war files outside webapps folder" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2012/01/16/tomcat-intellij-deploy-war-files-outside-webapps-folder/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Blackberry: Code signing for Tablet and Smartphone</title>
		<link>http://www.gmarwaha.com/blog/2011/07/15/blackberry-code-signing-for-tablet-and-smartphone/</link>
		<comments>http://www.gmarwaha.com/blog/2011/07/15/blackberry-code-signing-for-tablet-and-smartphone/#comments</comments>
		<pubDate>Fri, 15 Jul 2011 12:09:59 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=526</guid>
		<description><![CDATA[As all experienced Blackberry developers will know, to use the restricted BB APIs, you will have to code sign your application. The registration process used to be 20 bucks. Now it is free though. Actually what is the point of code signing, that too when it is free? Maybe there is a real valid reason&#8230; [...]]]></description>
			<content:encoded><![CDATA[<p>As all experienced Blackberry developers will know, to use the restricted BB APIs, you will have to code sign your application. The registration process used to be 20 bucks. Now it is free though. Actually what is the point of code signing, that too when it is free? Maybe there is a real valid reason&#8230; Anyways, that is another story, for another day&#8230; </p>
<p>Coming back to topic; I went to the now familiar BB developer site to get the code signing keys one more time. This time I was greeted with a new combo box that asked me if i wanted the keys for the Tablet OS or the Smartphone OS or both. I gladly selected both although I didn&#8217;t know if the keys were going to be the same or different. I don&#8217;t do Tab development as of now. So, I am not familiar with the Dev environment for that.</p>
<p>After a few hours (although they generally say 2 or 3 days), I received 3 emails with the code signing keys. All the 3 emails talked about Tablet OS and not about the Smartphone at all. I didn&#8217;t know if I should install the received keys assuming that they are the same for both the OS or wait and see if I get the Smartphone keys separately. I crossed my fingers and decided to wait for a few more hours. Fortunately, I received another set of 3 emails with keys for the Smartphone as well. I installed it and all is well again.</p>
<p>It would have been nice if the BB developer site clearly mentioned that I will be receiving two sets of keys. It may look obvious now and I may even sound silly, but it would have definitely saved me a few hours of anxiety at that time. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2011/07/15/blackberry-code-signing-for-tablet-and-smartphone/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Install Blackberry SDK 6.0 to your existing Eclipse Helios</title>
		<link>http://www.gmarwaha.com/blog/2011/06/03/install-blackberry-sdk-6-0-to-your-existing-eclipse-helios/</link>
		<comments>http://www.gmarwaha.com/blog/2011/06/03/install-blackberry-sdk-6-0-to-your-existing-eclipse-helios/#comments</comments>
		<pubDate>Fri, 03 Jun 2011 18:05:57 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Blackberry]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=533</guid>
		<description><![CDATA[Blackberry provides a &#8220;Java plugin for Eclipse&#8221; that can be downloaded and used for eclipse-based blackberry development. But beware, what you download is not an eclipse plugin. Instead, it is a full eclipse download with the plugins pre-installed. I didn&#8217;t want a new copy of eclipse just for Blackberry development. I wanted to use my [...]]]></description>
			<content:encoded><![CDATA[<p>Blackberry provides a &#8220;Java plugin for Eclipse&#8221; that can be downloaded and used for eclipse-based blackberry development. But beware, what you download is not an eclipse plugin. Instead, it is a full eclipse download with the plugins pre-installed. I didn&#8217;t want a new copy of eclipse just for Blackberry development. I wanted to use my already well configured Helios installation to be used for Blackberry development as well. So, i chose to use the provided update site &#8211; <em>http://www.blackberry.com/go/eclipseUpdate/3.6/java</em> &#8211; to install the plugin to my existing Helios installation.</p>
<p>The issue is that, I was unable to install the plugin using the aforementioned update site and noticed that <a href="http://supportforums.blackberry.com/t5/Java-Development/Cannot-install-Eclipse-plugin-from-Update-site/td-p/779959">others faced the same problem too</a>. After a lot of failed attempts, I finally discovered a different way to solve the problem. I downloaded the full &#8220;Java Plugin for Eclipse&#8221; from the Blackberry download site and just copied all the net.rim.* files from the plugins and features directory to my Helios installation. </p>
<p>Worked for me and I am a happy camper! </p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2011/06/03/install-blackberry-sdk-6-0-to-your-existing-eclipse-helios/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2011/06/03/install-blackberry-sdk-6-0-to-your-existing-eclipse-helios/" data-text="Install Blackberry SDK 6.0 to your existing Eclipse Helios" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2011/06/03/install-blackberry-sdk-6-0-to-your-existing-eclipse-helios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: List View alternating between 1px and 2px dividers</title>
		<link>http://www.gmarwaha.com/blog/2011/03/30/android-list-view-alternating-between-1px-and-2px-dividers/</link>
		<comments>http://www.gmarwaha.com/blog/2011/03/30/android-list-view-alternating-between-1px-and-2px-dividers/#comments</comments>
		<pubDate>Wed, 30 Mar 2011 12:40:25 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=377</guid>
		<description><![CDATA[Have you faced a problem with Android ListView where the dividers alternate between 1 pixel and 2 pixel thickness although you have specifically styled it to 1px? I am sure many have, but for some reason they seem to ignore it. I say this because I noticed this problem in quite a few apps in [...]]]></description>
			<content:encoded><![CDATA[<p>Have you faced a problem with Android ListView where the dividers alternate between 1 pixel and 2 pixel thickness although you have specifically styled it to 1px? I am sure many have, but for some reason they seem to ignore it. I say this because I noticed this problem in quite a few apps in the market. When I found the same problem in one of my apps, I decided to fix it although it was not at the top of my priority list. </p>
<p><img src="http://www.gmarwaha.com/blog/wp-content/uploads/2011/04/1px_wrong.png" alt="1px_wrong" title="1px_wrong" width="480" height="382" class="aligncenter size-full wp-image-393" /></p>
<p>The first solution I came up with was more of a work-around. Instead of using a 1px divider line, I tried using a 1px thick image as @drawable. It worked out surprisingly well on my HTC Desire but was not without its own problems. On low-end android phones the dividers started to blink when the user scrolls the list. Sometimes they disappeared and never re-appeared. I guess it is some kind of a refresh problem. I even noticed this kind of behaviour in a few market apps. So, that approach didn&#8217;t work out very well&#8230; </p>
<p>Then after quite a bit of fiddling around, I found out the root cause of the problem. My app was running in compatibility mode!!! Man, how could I have not noticed that? Anyway, when I tried setting the minSdkVersion in my android manifest to version 4 and the targetSdkVersion to the version 8 the problem disappeared completely. I could now use a plain 1px divider line and there were no problems. </p>
<p><img src="http://www.gmarwaha.com/blog/wp-content/uploads/2011/04/1px_right.png" alt="1px_right" title="1px_right" width="480" height="316" class="aligncenter size-full wp-image-389" /></p>
<pre>
  &lt;uses-sdk android:minSdkVersion="4"
          android:targetSdkVersion="8"
    /&gt;
</pre>
<p>I just thought of sharing it with the world just in case someone runs into the same road block&#8230; </p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2011/03/30/android-list-view-alternating-between-1px-and-2px-dividers/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2011/03/30/android-list-view-alternating-between-1px-and-2px-dividers/" data-text="Android: List View alternating between 1px and 2px dividers" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2011/03/30/android-list-view-alternating-between-1px-and-2px-dividers/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>iPhone SDK &#8211; Initial Thoughts</title>
		<link>http://www.gmarwaha.com/blog/2011/02/28/iphone-sdk-initial-thoughts/</link>
		<comments>http://www.gmarwaha.com/blog/2011/02/28/iphone-sdk-initial-thoughts/#comments</comments>
		<pubDate>Mon, 28 Feb 2011 20:06:32 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Languages]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Objective-C]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=478</guid>
		<description><![CDATA[I have been following iPhone since its inception. Initially, when Steve Jobs revealed that there was not going to be any developer SDK, I was just one of the millions to be really upset. Then, one fine day the iPhone SDK was released, the now infamous App Store was released, all are happy and the [...]]]></description>
			<content:encoded><![CDATA[<p>I have been following iPhone since its inception. Initially, when Steve Jobs revealed that there was not going to be any developer SDK, I was just one of the millions to be really upset. Then, one fine day the iPhone SDK was released, the now infamous App Store was released, all are happy and the rest is history. I did try out some examples immediately after the SDK was released but then got busy with other interesting stuff (<a href="http://www.gmarwaha.com/blog/2008/07/04/the-nboomi-experience/">like trying out a startup</a>) and didn&#8217;t focus much on it &#8211; until recently. </p>
<p>A few months ago, my company picked me to get trained on the iOS SDK. Five days of Objective-C and XCode and Interface Builder later, I was coding for the fifth mobile platform in my career. I initially started with BREW, moved on to J2ME (now Java ME), then Blackberry (includes J2ME), then into the Bold and Beautiful Android and now into iOS. </p>
<p>I cannot help but compare my Android experience with iOS. Coming from a Java background, it should not be a surprise that I will be comfortable with Android SDK than with the iOS SDK. Even when that is the case, I feel that the iOS SDK and its tools is not all that developer friendly compared to Android. Apple has created the best layman products ever but they are quite bad at creating developer products, I guess. </p>
<p>Objective-C as a language is a lot more difficult to master than Java. The complex memory management gymnastics, multiple files to define one class and weird method definition syntax are just a few of my gripes. XCode 3.x is a hell to work with at least from an Eclipse/Netbeans/Idea user perspective. Why should I have to move between two applications called XCode and Interface Builder to develop one iPhone app? Why can&#8217;t I develop in Windows or Linux if I want to? Why doesn&#8217;t the debugger work well most of the times? Why isn&#8217;t Garbage Collection part of the language? Why isn&#8217;t incremental compilation available? These are just a few questions that come to my mind when I develop for iOS&#8230;</p>
<p>That said there are quite a bit to like about the iOS platform as well. Objective-C has some cool features like id type, protocols, named parameters and categories that I would have loved Java to have. I keep hearing from people that once you deploy an iPhone app in the App Store, the benefit in terms of payback is good enough to justify the pain. Interface Builder is very good at what it does compared to the equivalent Android designer. XCode 4.x vastly improves the development experience by integrating Interface Builder tightly.</p>
<p>Although both iOS and Android are vastly different platforms, they are together ruling the world today. As developers we don&#8217;t have a choice other than learning and working with these heavenly beasts until the cross-platform world for mobile (like <a href="http://www.phonegap.com/">PhoneGap</a>, <a href="http://www.appcelerator.com/">Titanium</a>, <a href="http://rhomobile.com/">Rho Mobile</a> etc) matures</p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2011/02/28/iphone-sdk-initial-thoughts/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2011/02/28/iphone-sdk-initial-thoughts/" data-text="iPhone SDK – Initial Thoughts" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2011/02/28/iphone-sdk-initial-thoughts/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Android: My HTC Desire</title>
		<link>http://www.gmarwaha.com/blog/2010/12/25/android-my-htc-desire/</link>
		<comments>http://www.gmarwaha.com/blog/2010/12/25/android-my-htc-desire/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 18:28:18 +0000</pubDate>
		<dc:creator>Ganeshji Marwaha</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Mobile]]></category>

		<guid isPermaLink="false">http://www.gmarwaha.com/blog/?p=472</guid>
		<description><![CDATA[I bought an HTC Desire few months back and I am loving it. It is powerful, has froyo, Wifi Hotspot, Voice to Text, a powerful Swype Keyboard (I bought it), AMOLED display, excellent applications and looks pretty cool too. I even bought an expensive Piel Frama case for it. Got a few gripes though. It&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>I bought an HTC Desire few months back and I am loving it. It is powerful, has froyo, Wifi Hotspot, Voice to Text, a powerful Swype Keyboard (I bought it), AMOLED display, excellent applications and looks pretty cool too. I even bought an expensive <a href="http://www.pielframa.com/htc-desire-imagnum-cases.htm">Piel Frama </a> case for it. </p>
<p>Got a few gripes though. It&#8217;s battery doesn&#8217;t last a whole day with 3G or WiFi switched on. So, initially I had to manually switch back and forth a couple of times to get through the day. After I bought another USB charger, exclusively for office, that problem is kind of solved. </p>
<p>Another issue is its internal storage. It just has 512 MB of internal storage and I frequently keep receiving the &#8220;Low space&#8221; notification and froyo&#8217;s official APP2SD is not of much help. After I rooted my phone and installed the unofficial APP2SD, that problem is also kind of solved. Further research revealed that with some more geeky stuff I can make Android think of my SD card as internal memory. Haven&#8217;t tried that yet though&#8230; Will keep my blog updated when I succeed.</p>
<p>I have another minor issue too. I use <a href="http://todoist.com/">todoist</a> regularly to manage my tasks and I couldn&#8217;t find any one good todoist android app. There are quite a few unofficial and buggy apps but they are just not usable to say the least. I guess this is a problem I can solve myself. I am thinking of writing my own todoist client for android. Let&#8217;s see how this works out&#8230; Again, will keep my blog updated on the happenings&#8230; </p>
<div class="hypeIt">
<div class="dzone">
<script type="text/javascript">var dzone_url = 'http://www.gmarwaha.com/blog/2010/12/25/android-my-htc-desire/';</script><script type="text/javascript">var dzone_style = '2';</script><script language="javascript" src="http://widgets.dzone.com/links/widgets/zoneit.js"></script>
</div>
<div class="twitter">
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://www.gmarwaha.com/blog/2010/12/25/android-my-htc-desire/" data-text="Android: My HTC Desire" data-count="horizontal" data-via="ganeshmax">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.gmarwaha.com/blog/2010/12/25/android-my-htc-desire/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

