<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.3.2" -->
<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>mgmblog.com</title>
	<link>http://mgmblog.com</link>
	<description>My eclectic journey into the blogosphere</description>
	<pubDate>Sat, 27 Feb 2010 06:50:15 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.2</generator>
	<language>en</language>
			<item>
		<title>Polish and Release Early Release Often</title>
		<link>http://mgmblog.com/2010/02/26/polish-and-release-early-release-often/</link>
		<comments>http://mgmblog.com/2010/02/26/polish-and-release-early-release-often/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 23:28:48 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[MediaDroid]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2010/02/26/polish-and-release-early-release-often/</guid>
		<description><![CDATA[CAUTION: Meandering editorial follows&#8230;
I&#8217;ve been trying for a week to write a post about the recent demo/Android talk I did (along with Mike Koss and Alberto Fonseca) with the Google Technical Users Group in Seattle (huge thanks to Mike Koss for setting this up!) earlier this month.  There&#8217;s a comment I made in this talk [...]]]></description>
			<content:encoded><![CDATA[<p>CAUTION: Meandering editorial follows&#8230;</p>
<p>I&#8217;ve been trying for a week to write a post about the recent demo/Android talk I did (along with Mike Koss and Alberto Fonseca) with the Google Technical Users Group in Seattle (huge thanks to Mike Koss for setting this up!) earlier this month.  There&#8217;s a comment I made in this talk that has been hounding me ever since.  Since then I&#8217;ve wanted to expand on it and make it clear what my position is.  At about 1:08 into the video, I made it sound like getting something out the door is more important than making sure it&#8217;s polished.  I strongly believe in the release early and release often mentality.  I have been on far to many projects that have belabored releasing because of some assumed polish that needed to be done.  Whether it was that one more magical feature, or that one more must fix bug, there was always something holding back the release date.  I certainly respect those companies that have the resources and skills to pull the &#8220;make sure it&#8217;s polished&#8221; standard&#8230;one of these companies is of course Apple.  They have an awesome sense for design and what customers want, and they have the resources to develop in house and behind closed doors&#8230;.I don&#8217;t&#8230;I don&#8217;t even have the resources to hire a decent graphic designer or QA person, and if I spent all my time worrying if a certain icon looked pleasing or if that one bug was a show stopper, I&#8217;d never, ever get anything out the door.  So as a single developer trying to make the simplest product, I gotta just put it out there and see how it does.  Maybe it&#8217;ll suck?  Or, maybe for whatever reason it won&#8217;t gain traction.  But wallowing in &#8220;does it have enough polish&#8221; land doesn&#8217;t answer anything, so I choose to get it out the door, and the Android platform allows me to quickly do this.</p>
<p>Maybe I&#8217;ll stumble upon that one app that is an overnight success and is so nicely polished that everyone wants to pay me 99 cents for it, but I&#8217;m not betting on it&#8230;and that statement doesn&#8217;t make me feel any less talented then the person who does make that overnight success app.  That person was just luckier to came across (for whatever reason) that one idea that they stuck with and where able to pull off!  And I hugely congratulate them on their success!</p>
<p>Hope you enjoy the little talk we had at Startpad&#8230;.<a href="http://www.youtube.com/watch?v=iQOZu9yMcdI" onclick="javascript:pageTracker._trackPageview ('/outbound/www.youtube.com');">here&#8217;s the link </a>if the embed doesn&#8217;t work</p>
<p><object width="560" height="340"></object></p>
<param name="movie" value="http://www.youtube.com/v/iQOZu9yMcdI&amp;hl=en_US&amp;fs=1&amp;"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2010/02/26/polish-and-release-early-release-often/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Make it small and simple</title>
		<link>http://mgmblog.com/2010/02/26/make-it-small-and-simple/</link>
		<comments>http://mgmblog.com/2010/02/26/make-it-small-and-simple/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 22:41:44 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Business Development]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2010/02/26/make-it-small-and-simple/</guid>
		<description><![CDATA[I&#8217;m a huge fan of David Heinemeier Hansson and 37signals, he was recently at Stanford&#8217;s Entrepreneur Thought Leaders Seminar Series doing a talk called &#8220;Unlearning Your MBA&#8221;.  There&#8217;s a load of wisdom for entrepreneurs and it&#8217;s also very entertaining.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a huge fan of David Heinemeier Hansson and <a href="http://37signals.com/" onclick="javascript:pageTracker._trackPageview ('/outbound/37signals.com');">37signals</a>, he was recently at Stanford&#8217;s Entrepreneur Thought Leaders Seminar Series doing a talk called <a href="http://ecorner.stanford.edu/authorMaterialInfo.html?mid=2334" onclick="javascript:pageTracker._trackPageview ('/outbound/ecorner.stanford.edu');">&#8220;Unlearning Your MBA&#8221;</a>.  There&#8217;s a load of wisdom for entrepreneurs and it&#8217;s also very entertaining.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2010/02/26/make-it-small-and-simple/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MediaDroid YouTube demo video</title>
		<link>http://mgmblog.com/2010/02/25/mediadroid-youtube-demo-video/</link>
		<comments>http://mgmblog.com/2010/02/25/mediadroid-youtube-demo-video/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 21:00:34 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Android Apps]]></category>

		<category><![CDATA[MediaDroid]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2010/02/25/mediadroid-youtube-demo-video/</guid>
		<description><![CDATA[Well here&#8217;s my very first YouTube video&#8230;it&#8217;s a demo of MediaDroid.  Certainly not perfect, but I think it gets the job done and I&#8217;m stick&#8217;n with it!
Here&#8217;s the link in case the embed doesn&#8217;t work




]]></description>
			<content:encoded><![CDATA[<p>Well here&#8217;s my very first YouTube video&#8230;it&#8217;s a demo of MediaDroid.  Certainly not perfect, but I think it gets the job done and I&#8217;m stick&#8217;n with it!</p>
<p><a href="http://www.youtube.com/watch?v=D4gv3o6UI_M" onclick="javascript:pageTracker._trackPageview ('/outbound/www.youtube.com');">Here&#8217;s the link</a> in case the embed doesn&#8217;t work</p>
<p><object width="425" height="344"></object></p>
<param name="movie" value="http://www.youtube.com/v/D4gv3o6UI_M&amp;hl=en&amp;fs=1"></param>
<param name="allowFullScreen" value="true"></param>
<param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/D4gv3o6UI_M&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2010/02/25/mediadroid-youtube-demo-video/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MediaDroid 1.3.4 on Android Market</title>
		<link>http://mgmblog.com/2010/02/16/mediadroid-134-on-market/</link>
		<comments>http://mgmblog.com/2010/02/16/mediadroid-134-on-market/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 22:39:44 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android Apps]]></category>

		<category><![CDATA[MediaDroid]]></category>

		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2010/02/16/mediadroid-134-on-market/</guid>
		<description><![CDATA[Just released a brand new version of MediaDroid.  Thanks to some reverse engineering of the Android Image Gallery, I&#8217;ve been able to greatly increase the performance and stability of the app.  Hopefully I&#8217;ll be able to get into the specific changes (for all the Android developers out there) in a later post when I get [...]]]></description>
			<content:encoded><![CDATA[<p>Just released a brand new version of MediaDroid.  Thanks to some reverse engineering of the Android Image Gallery, I&#8217;ve been able to greatly increase the performance and stability of the app.  Hopefully I&#8217;ll be able to get into the specific changes (for all the Android developers out there) in a later post when I get a little more time.  Also, improved the button icons thanks to my son&#8217;s (OK&#8230;they where mine first) Crayons (TM).</p>
<p>Already have plans for some more features (filtering the image buckets shown in the Image Gallery) and with this re-write out of the way I think I&#8217;ll be able to get the next version out sooner.</p>
<p>Cheers, and thanks for all the support from the current users of MediaDroid, it&#8217;s great to hear all your feedback&#8230;good and bad!!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2010/02/16/mediadroid-134-on-market/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Overlay a bitmap on another</title>
		<link>http://mgmblog.com/2010/02/05/overlay-a-bitmap-on-another/</link>
		<comments>http://mgmblog.com/2010/02/05/overlay-a-bitmap-on-another/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 01:24:06 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[MediaDroid]]></category>

		<category><![CDATA[coding hints]]></category>

		<category><![CDATA[]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2010/02/05/overlay-a-bitmap-on-another/</guid>
		<description><![CDATA[As I&#8217;ve been alluding to in my Twitter feed, I&#8217;m on the cusp of deploying a new version of MediaDroid, huge re-write to image gallery, but hopefully I&#8217;ll get a post about that out later.  Anyway, the previous way I was marking the images to be included in the albums was to have a combo [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;ve been alluding to in my <a href="http://twitter.com/mmaitlen" onclick="javascript:pageTracker._trackPageview ('/outbound/twitter.com');">Twitter feed</a>, I&#8217;m on the cusp of deploying a new version of MediaDroid, huge re-write to image gallery, but hopefully I&#8217;ll get a post about that out later.  Anyway, the previous way I was marking the images to be included in the albums was to have a combo view with a check box and a thumbnail of the image.  Although this works, it takes up a lot of screen real estate and isn&#8217;t terribly efficient.  The next version of the image gallery I wrote extended the Android <a href="http://developer.android.com/reference/android/widget/ImageView.html" onclick="javascript:pageTracker._trackPageview ('/outbound/developer.android.com');">ImageView</a> class and although this solution isn&#8217;t much more efficient (the solution for that is in my newest version), it certainly increases the number of images viewed at a time.</p>
<p> <a href="http://mgmblog.com/2010/02/05/overlay-a-bitmap-on-another/#more-170" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2010/02/05/overlay-a-bitmap-on-another/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Is GPS on? If not prompt user to turn it on.</title>
		<link>http://mgmblog.com/2009/11/03/is-gps-on-if-not-allow-user-to-turn-it-on/</link>
		<comments>http://mgmblog.com/2009/11/03/is-gps-on-if-not-allow-user-to-turn-it-on/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 18:56:36 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[coding hints]]></category>

		<category><![CDATA[Code Snippet]]></category>

		<category><![CDATA[GPS]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2009/11/03/is-gps-on-if-not-allow-user-to-turn-it-on/</guid>
		<description><![CDATA[Here&#8217;s a quick code snippet to determine if the GPS is on, and if it isn&#8217;t go to the Setting screen allowing the user to turn it on.  Android does not allow a 3rd party app to automatically turn the GPS on/off as of 1.5, a &#8220;feature&#8221; discussed extensively on the Android Developers Forum.
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick code snippet to determine if the GPS is on, and if it isn&#8217;t go to the Setting screen allowing the user to turn it on.  Android does not allow a 3rd party app to automatically turn the GPS on/off as of 1.5, a &#8220;feature&#8221; discussed extensively on the <a href="http://groups.google.com/group/android-developers/browse_thread/thread/562ae51484545074/fdbde0e630526e30?q=turn+on+gps&amp;lnk=ol" onclick="javascript:pageTracker._trackPageview ('/outbound/groups.google.com');">Android Developers Forum</a>.</p>
<p> <a href="http://mgmblog.com/2009/11/03/is-gps-on-if-not-allow-user-to-turn-it-on/#more-169" class="more-link">(more&#8230;)</a></p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2009/11/03/is-gps-on-if-not-allow-user-to-turn-it-on/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New Version of MediaDroid and Message Drop up on Android Market</title>
		<link>http://mgmblog.com/2009/11/03/new-version-of-mediadroid-and-message-drop-up-on-android-market/</link>
		<comments>http://mgmblog.com/2009/11/03/new-version-of-mediadroid-and-message-drop-up-on-android-market/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 17:42:00 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android Apps]]></category>

		<category><![CDATA[MediaDroid]]></category>

		<category><![CDATA[Message Drop]]></category>

		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2009/11/03/new-version-of-mediadroid-and-message-drop-up-on-android-market/</guid>
		<description><![CDATA[I posted a new version of both MediaDroid and Message Drop to the Android Market this morning.
The new version of MediaDroid fixes the reboot bug.  It&#8217;s not as elegant as a fix as I&#8217;d like but it does work.  FYI to any developers, the SD Card isn&#8217;t necessarily mounted when the ACTION_BOOT_COMPLETED event is broadcast.  [...]]]></description>
			<content:encoded><![CDATA[<p>I posted a new version of both MediaDroid and Message Drop to the Android Market this morning.</p>
<p>The new version of MediaDroid fixes the reboot bug.  It&#8217;s not as elegant as a fix as I&#8217;d like but it does work.  FYI to any developers, the SD Card isn&#8217;t necessarily mounted when the ACTION_BOOT_COMPLETED event is broadcast.  I used a CountDownTimer to wait 30 seconds after my BroadcastReceiver is called, then I&#8217;m able to access the files on the SD Card.</p>
<p>I added a couple features to Message Drop and fixed a few bugs.  The new features are spelled out on the <a href="http://mgmblog.com/message-drop/">Message Drop</a> page  and include a new Setting for assigning the &#8220;Blank Tag&#8221; and a mode helping you build bulleted item lists.</p>
<p>My plan is to switch back to MediaDroid and perform some much needed polishing, and I ran into a Force Close that I haven&#8217;t been able to track down yet.  Always more to do!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2009/11/03/new-version-of-mediadroid-and-message-drop-up-on-android-market/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Searching for phone numbers with Android</title>
		<link>http://mgmblog.com/2009/11/02/searching-for-phone-numbers-with-android/</link>
		<comments>http://mgmblog.com/2009/11/02/searching-for-phone-numbers-with-android/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 06:16:09 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[coding hints]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2009/11/02/searching-for-phone-numbers-with-android/</guid>
		<description><![CDATA[I&#8217;ve been playing around with searching for contacts on the Android platform and thought I&#8217;d pass along a couple things I&#8217;ve learned.
One thing I&#8217;ve found out is that some of the classes from the books I&#8217;ve been using as reference have been deprecated.  Apparently, instead of using People.NUMBER, which has been deprecated for future support [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with searching for contacts on the Android platform and thought I&#8217;d pass along a couple things I&#8217;ve learned.</p>
<p>One thing I&#8217;ve found out is that some of the classes from the books I&#8217;ve been using as reference have been deprecated.  Apparently, instead of using People.NUMBER, which has been deprecated for future support of multiple accounts, I should use the ContactsContact set of interfaces to get the contacts name and number.  Guess I&#8217;ll be upgrading to the Android 2.0 sdk sooner then I thought.  Although according to this <a href="http://groups.google.com/group/android-developers/browse_thread/thread/91d2a62cb8120009/cd94ead28e9c923f?lnk=gst&amp;q=contacts+contact#cd94ead28e9c923f" onclick="javascript:pageTracker._trackPageview ('/outbound/groups.google.com');">forum thread</a> the previous interfaces used to specify contact column, such as People, are still supported and will access contact information from the &#8220;primary&#8221; account.</p>
<p>Another cool thing I figured out was how to have the phone pad soft keyboard attached to an EditText widget.</p>
<table>
<tr>
<td><a href="http://mgmblog.com/wp-content/uploads/2009/11/device.png" title="device.png"><img src="http://mgmblog.com/wp-content/uploads/2009/11/device.png" alt="device.png" height="337" width="225" /></a></td>
</tr>
</table>
<p>It&#8217;s one of those, it was so easy I&#8217;m ashamed I didn&#8217;t know it, but then again, the SDK is large enough to where it&#8217;s hard to know ALL of it.  Anyway, all you need to do is define the &#8220;inputType&#8221; attribute value for the EditText widget which captures the phone number.</p>
<pre>
   	&lt;EditText android:id="@+id/phone_nbr"
		android:layout_width="fill_parent"
		android:layout_height="wrap_content"
		android:inputType="phone"
		android:singleLine="true" /&gt;</pre>
<p>Now, when the phone_nbr EditText box is entered, the phone pad comes up for data entry instead of the default Android soft keyboard.</p>
<p>There&#8217;s still many aspects of the Contacts API I haven&#8217;t investigated yet, but hopefully with the new apps I have the opportunity to work on, I&#8217;ll have lots of time to learn more about them.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2009/11/02/searching-for-phone-numbers-with-android/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Note To Me re-branded as Message Drop</title>
		<link>http://mgmblog.com/2009/10/27/note-to-me-re-branded-as-message-drop/</link>
		<comments>http://mgmblog.com/2009/10/27/note-to-me-re-branded-as-message-drop/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 17:04:01 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[Android Apps]]></category>

		<category><![CDATA[Message Drop]]></category>

		<category><![CDATA[Android Applications]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2009/10/27/note-to-me-re-branded-as-message-drop/</guid>
		<description><![CDATA[I&#8217;ve finally got Message Drop to a point where I feel it deserves a release.  Message Drop is a re-branding of Note To Me with a built in email client and a couple new features.  I&#8217;ll be getting screen shots up soon on the Message Drop page along with some more information, but just wanted [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve finally got Message Drop to a point where I feel it deserves a release.  Message Drop is a re-branding of Note To Me with a built in email client and a couple new features.  I&#8217;ll be getting screen shots up soon on the Message Drop page along with some more information, but just wanted to put the word.</p>
<p>There&#8217;s a trial version available, but if you find it useful I&#8217;d greatly appreciate it if you&#8217;d help my development effort and purchase the 1.99 version.  By the way, if you purchased Note To Me already, I&#8217;d be more then happy to refund your money if you email me an address that I can send the refund to.  I promise not to use your email for spamming!</p>
<p>I would greatly appreciate any comments you may have about Message Drop, Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2009/10/27/note-to-me-re-branded-as-message-drop/feed/</wfw:commentRss>
		</item>
		<item>
		<title>AlertDialog for Android</title>
		<link>http://mgmblog.com/2009/10/22/alertdialog-for-android/</link>
		<comments>http://mgmblog.com/2009/10/22/alertdialog-for-android/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 05:37:08 +0000</pubDate>
		<dc:creator>michael</dc:creator>
		
		<category><![CDATA[Android]]></category>

		<category><![CDATA[coding hints]]></category>

		<category><![CDATA[Android API]]></category>

		<category><![CDATA[Android SDK]]></category>

		<category><![CDATA[Code Snippet]]></category>

		<guid isPermaLink="false">http://mgmblog.com/2009/10/22/alertdialog-for-android/</guid>
		<description><![CDATA[Are you utilizing the full potential of AlertDialog?  I had no idea it was so versatile until I starting playing around with it recently.  I knew you could use it for a yes/no dialog for your mobile application, but I didn&#8217;t know it could also be an About dialog.  The API makes it really easy, [...]]]></description>
			<content:encoded><![CDATA[<p>Are you utilizing the full potential of <a href="http://developer.android.com/reference/android/app/AlertDialog.html#setButton%28int,%20java.lang.CharSequence,%20android.os.Message%29" onclick="javascript:pageTracker._trackPageview ('/outbound/developer.android.com');">AlertDialog</a>?  I had no idea it was so versatile until I starting playing around with it recently.  I knew you could use it for a yes/no dialog for your mobile application, but I didn&#8217;t know it could also be an About dialog.  The API makes it really easy, although it doesn&#8217;t seem like the setPositiveButton() method is in the Android documentation.  The code snippet below cuts it down to the bare minimum.  It appears that a null can be passed instead of an empty OnClickListener and the action simply closes the window&#8230;which is the desired effect.</p>
<pre>
AlertDialog.Builder ad = new AlertDialog.Builder( this );
ad.setTitle( "About My Mobile Application" );
ad.setMessage( "This text explains My Mobile Application, thanks for " +
                       "purchasing it from the Android Market!" );
ad.setPositiveButton( "OK", null );
ad.show();</pre>
<p>I&#8217;ve recently cleaned up a bunch of my code with this simple Dialog.  And next I may have to look into the FrameLayout feature mentioned in the Android documentation.</p>
]]></content:encoded>
			<wfw:commentRss>http://mgmblog.com/2009/10/22/alertdialog-for-android/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
