<?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>A Dash Of Web and Mobile Development &#187; Mobile Applications</title>
	<atom:link href="http://blog.iangclifton.com/category/mobile-applications/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.iangclifton.com</link>
	<description>Discussing trends and technologies in web and mobile development</description>
	<lastBuildDate>Fri, 03 Sep 2010 06:41:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Announcing CNET News For Android</title>
		<link>http://blog.iangclifton.com/2010/08/31/announcing-cnet-news-for-android/</link>
		<comments>http://blog.iangclifton.com/2010/08/31/announcing-cnet-news-for-android/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 23:41:28 +0000</pubDate>
		<dc:creator>Ian G. Clifton</dc:creator>
				<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[cnet]]></category>

		<guid isPermaLink="false">http://blog.iangclifton.com/?p=288</guid>
		<description><![CDATA[I&#8217;m pleased to announce the release of CNET News for Android versions 1.5 and above.  For those who don&#8217;t know, CNET is a tech site that has a lot of news and reviews about all kinds of technology-related topics.  This app gives a fast way of viewing the CNET news articles on the [...]]]></description>
			<content:encoded><![CDATA[<p><div id="attachment_289" class="wp-caption alignleft" style="width: 210px"><a href="http://blog.iangclifton.com/wp-content/uploads/2010/08/cnet-screenshot.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/08/cnet-screenshot-200x300.png" alt="" title="CNET News Android" width="200" height="300" class="size-medium wp-image-289" /></a><p class="wp-caption-text">CNET News</p></div>I&#8217;m pleased to announce the release of CNET News for Android versions 1.5 and above.  For those who don&#8217;t know, <a href="http://www.cnet.com/">CNET</a> is a tech site that has a lot of news and reviews about all kinds of technology-related topics.  This app gives a fast way of viewing the CNET news articles on the go (or on your couch).  It&#8217;s free (ad-supported), so give it a try.</p>
<p>As the sole developer, I&#8217;m pleased with how it turned out.  I had to fight a bit to get things done the &#8220;Android&#8221; way (since we recently released the iOS version, for which I only did the server-side work).  There seems to be a strong expectation for things to work the same way on Android devices as they do on iOS devices; however, I was able to sneak in some Android-specific features.</p>
<p>The feature I am most excited about is the ability for the app to handle certain CNET URLs.  That means you can set it as the default app for those URLs and clicking on a link like <a href="http://news.cnet.com/8301-30684_3-20014938-265.html">Paul Allen sues Apple, Google over patents</a> gives the user the option to open it the CNET News app.  This gives a much better user experience than opening the full website for the article.</p>
<p>All of the sharing features in the app utilize Intents, allowing users to share with whatever apps they want.  Prefer Twidroyd to Twitter?  Share with Twidroyd then.  Feel like texting an interesting link to a friend?  Go for it.  Want to share via some ultra obscure app?  No problem.  Of course, all that only works if the app developers properly support Intents, but that&#8217;s extremely easy to do.  In fact, the only app I&#8217;ve come across that screws this up is Facebook.  Unfortunately, the Facebook app for Android has long been mediocre (at best).<span id="more-288"></span></p>
<p><a href="http://blog.iangclifton.com/wp-content/uploads/2010/08/cnet-qr-code.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/08/cnet-qr-code.png" alt="" title="CNET News QR Code" width="230" height="230" class="alignright size-full wp-image-298" /></a>I made use of caching throughout the app, so that the user experience should be fast and smooth.  The caching system I developed also automatically flushes outdated content to limit the storage space used by the CNET News app.  If you&#8217;re really tight for space, the app can be installed on an external SD card (assuming you&#8217;re running Froyo).</p>
<p>I also utilized XML gradients, shapes, etc.  With the upcoming tablets, I thought it made that much more sense to keep things as resolution-independent as possible.  I learned quite a bit about the layout system in Android because of this approach, and I&#8217;m glad I decided to do it.  There are some limitations to what you can do, but I found that the XML drawables were more capable than I expected, and the experience of developing this app was a good one.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iangclifton.com/2010/08/31/announcing-cnet-news-for-android/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Predator Clock Widget Retrospective</title>
		<link>http://blog.iangclifton.com/2010/08/05/predator-clock-widget-retrospective/</link>
		<comments>http://blog.iangclifton.com/2010/08/05/predator-clock-widget-retrospective/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 07:00:55 +0000</pubDate>
		<dc:creator>Ian G. Clifton</dc:creator>
				<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[predator]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://blog.iangclifton.com/?p=271</guid>
		<description><![CDATA[A few months back, the thought of developing a widget for the CBS News Android application surfaced.  I was interested in working on the project (it would be a good break from web development and Android suited me better than iOS) but I had never coded in Java before.  I also knew only the basics [...]]]></description>
			<content:encoded><![CDATA[<p>A few months back, the thought of developing a widget for the CBS News Android application surfaced.  I was interested in working on the project (it would be a good break from web development and Android suited me better than iOS) but I had never coded in Java before.  I also knew only the basics of Android applications, so I thought it would be a good idea to develop a widget in my spare time.  But what should I build?</p>
<p>I played around with a little bit of code but couldn&#8217;t decide on anything specific.  I happened to be browsing the Android Forums and came across <a href="http://androidforums.com/application-requests/60219-app-request-predator-yautja-clock-countdown.html">a request for a Predator clock widget</a>.  It sounded like a good option, a relatively simple widget that would let me focus on learning the basics and consider efficiency in terms of battery life.</p>
<p><span id="more-271"></span></p>
<p>The project went well, and I released an early beta build April 27th with a quick update two days later.  I was a bit surprised at seeing a few hundred downloads and the positive comments on the Android Market.  I released a few more updates, slowly adding some of the highly requested features such as changing of colors, activating the stock alarm clock, etc.  Now the app has seen over 16,000 downloads and over 250 ratings with an average of 4.5 stars.  Not bad considering I expected a dozen downloads, haha.</p>
<p>I do read all of the comments (and wish the Market had a way to reply or, at the very least, see the device and Android version of commenters), and I read all the emails I get too.  I try to respond to most of them, but some days it is a lot of work, particularly right after an update.  I would never have thought people actually took advantage of the ability to email a developer directly, but they do, and it creates a much more connected community than most other platforms.  Of course, with user feedback so readily available, it helps to maintain <a href="http://replicaisland.blogspot.com/2010/03/replica-island-user-comments-are.html">a sense of humor and thick skin</a>.</p>
<p>As with any project, there are a lot of things I would do differently (particularly around the organization of code and code style), but I&#8217;m still quite pleased with the result.  Android is an extremely easy OS to develop for and the basics of Java can be learned swiftly.  The most complicated parts were understanding the life cycle of the widget, which is a bit different from a standard Android Activity life cycle, and considering multiple devices.</p>
<p>Was &#8220;<a href="/2010/06/09/the-dreaded-f-word/">fragmentation</a>&#8221; a real issue?  Sort of.  The first mistake I made was simply not considering that some Android phones could rotate their home screens (or, I should say some implementations of the home application could rotate), but that was an easy fix.  I&#8217;ve also had a few reports of issues with some low-end devices, but I&#8217;m not sure whether the problems are with the Android version that those phones run or their lack of memory (and my lack of consideration for the rebuilding of the widget&#8217;s resources after a memory dump).  I&#8217;ve made a few changes, and things seem well, but I ordered a Motorola Cliq with Android 1.5 as my new low-end testing device anyway.  It&#8217;s a good idea to test on multiple devices anyway (even on a close platform like iOS) and the Cliq cost less without a contract than any new (good) smartphone does with a new contract.</p>
<p>Anyway, it was an excellent learning experience and a great intro to Android.  With that, I&#8217;ll end with some of the entertaining comments left for the Predator Clock Widget.</p>
<blockquote><ul>
<li>phil (May 3, 2010) Doesn&#8217;t work at all on my gw620. Garbage. (1 star)</li>
<li>Mike (May 31, 2010) Dude this is like the greatest app ever! Thanks sooo much! Any chance you can make the timer count down from a user defined time and sound an alarm?  (5 stars)</li>
<li>daniel (June 1, 2010) .miux nimii.Polo Loo O (2 stars)</li>
<li>James (June 3, 2010) Good idea, 5* if alien time would update. It shows the same symbols no matter the time. (4 stars)</li>
<li>del (June 4, 2010) @james: display changes all the time. Must be your zack morris style phone (5 stars)</li>
<li>John (July 1, 2010) Coolest app out there (5 stars)</li>
<li>Jon (July 11, 2010) Can&#8217;t set countdown time, sound effects aren&#8217;t the same as the film, which us pointless (2 stars)</li>
<li>JJ (July 11, 2010) This is really useless and stupid (2 stars)</li>
<li>Ryan (July 14, 2010) Dont understand the point&#8230;.and im a huge predator fan! (2 stars)</li>
<li>Hailee (August 1, 2010) Love it! My whole family has fun with the bomb feature. 5 stars!!!! (5 stars)</li>
<li>Chris (August 10, 2010) Loved it&#8230;.but uninstalled (5 stars)</li>
</ul>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.iangclifton.com/2010/08/05/predator-clock-widget-retrospective/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Predator Clock Widget (Beta) Available For Android</title>
		<link>http://blog.iangclifton.com/2010/04/27/predator-clock-widget-beta-available-for-android/</link>
		<comments>http://blog.iangclifton.com/2010/04/27/predator-clock-widget-beta-available-for-android/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 05:02:06 +0000</pubDate>
		<dc:creator>Ian G. Clifton</dc:creator>
				<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[clock]]></category>
		<category><![CDATA[predator]]></category>
		<category><![CDATA[widget]]></category>

		<guid isPermaLink="false">http://blog.iangclifton.com/?p=201</guid>
		<description><![CDATA[I have published a beta version of the &#8220;Predator Clock Widget&#8221; to the Android Market.  The app started out as a simple app request on the Android Forums, but it quickly turned into something real.  Though it is just a beta version, I wanted to get something out there early on.  I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/predator-clock-widget-screenshot.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/04/predator-clock-widget-screenshot-200x300.png" alt="" title="Predator Clock Widget (Beta) Screenshot" width="200" height="300" class="alignleft size-medium wp-image-202" /></a>I have published a beta version of the &#8220;Predator Clock Widget&#8221; to the Android Market.  The app started out as a simple app request on the <a href="http://androidforums.com/application-requests/60219-app-request-predator-yautja-clock-countdown.html">Android Forums</a>, but it quickly turned into something real.  Though it is just a beta version, I wanted to get something out there early on.  I have plans to add color customization (the code is already there; I just need to create the UI) and support for a 24-hour clock.  The biggest thing after that is being able to switch between the Predator font and regular Arabic numerals.</p>
<p>I have to say that, as a whole, I am very happy with Android development.  Though I didn&#8217;t have any real experience in Java before I started playing with Android, I found it very easy to pick up the basics.  The syntax makes sense, even if it is a bit verbose at times.  The Android SDK is pretty straight forward.  Originally I was sticking to Vim, as it&#8217;s my editor of choice for pretty much everything, but I started to use Eclipse with the ADT plugin, which helped with all the necessary imports and catching some syntax typos.  I think with a Vim interface Eclipse could be pretty cool, haha.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iangclifton.com/2010/04/27/predator-clock-widget-beta-available-for-android/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android URL Sharing And Shortcuts</title>
		<link>http://blog.iangclifton.com/2010/04/13/android-url-sharing-and-shortcuts/</link>
		<comments>http://blog.iangclifton.com/2010/04/13/android-url-sharing-and-shortcuts/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 05:01:25 +0000</pubDate>
		<dc:creator>Ian G. Clifton</dc:creator>
				<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[nexus one]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.iangclifton.com/?p=184</guid>
		<description><![CDATA[It seems like the longer I use my Nexus One, the more features I find.  One of the things that I really love about the Android operating system is the interconnectedness of the apps and their ability to access system-level features.  You can use AppAlarm to begin playing a Pandora radio station at [...]]]></description>
			<content:encoded><![CDATA[<p>It seems like the longer I use my Nexus One, the more features I find.  One of the things that I really love about the Android operating system is the interconnectedness of the apps and their ability to access system-level features.  You can use AppAlarm to begin playing a Pandora radio station at a set time.  A news application can open your favorite Twitter app to share a breaking story.  You can adjust the brightness of your display while reading a book in Aldiko.  You can turn your phone upsidedown to have an app disable all audio.  The possibilities are amazing.<span id="more-184"></span></p>
<p><strong>Sharing URLs</strong><br />
A really handy feature that I didn&#8217;t know about until recently is the ability to share a URL you are viewing in the browser.  Long-pressing on a URL in the location bar brings up a menu with the option to &#8220;Share page&#8221; or &#8220;Copy page url&#8221; (it can also include &#8220;Save image&#8221; and &#8220;View image&#8221; depending on the context).  Choosing &#8220;Share page&#8221; reveals a menu with several options.  At the top are the built-in choices such as sharing &#8220;@Delicious,&#8221; but below those you can see options for specific apps.  Selecting &#8220;Twidroid&#8221; allows you to share the link via Twitter from right there.  You don&#8217;t have to open the full Twidroid application, and you don&#8217;t have to worry about the URL length (as it&#8217;s automatically shortened with your URL shortener of choice).  Just type a few words and send away.  You can even hit &#8220;Attach&#8221; to add or take a picture or video (both of which are automatically uploaded and linked for you).  I don&#8217;t care if you call this &#8220;multitasking&#8221; or &#8220;app interlinking.&#8221;  I call it <em>awesome</em>.</p>
<p><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-url-menu.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-url-menu-180x300.png" alt="" title="Nexus One URL Menu" width="180" height="300" class="alignleft size-medium wp-image-186" /></a><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-share-url.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-share-url-180x300.png" alt="" title="Nexus One Share URL" width="180" height="300" class="alignleft size-medium wp-image-187" /></a><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-twidroid-in-browser.png"><img style="margin-bottom: 1em;" src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-twidroid-in-browser-180x300.png" alt="" title="Nexus One Twidroid in Browser" width="180" height="300" class="alignleft size-medium wp-image-188" /></a></p>
<p><strong>Shortcuts</strong><br />
Most people already know that Android has folders, and it even has live folders (folders which have their contents populated by an app, such as a list of Pandora radio stations), but Android also has the ability to create shortcuts.  I don&#8217;t just mean shortcuts to open apps; I mean shortcuts to open very specific parts of apps.</p>
<p>One of the applications that I use fairly frequently is <a href="http://www.onebusaway.org/where/android.html">One Bus Away</a>, which allows me to see which buses are going where and when they should arrive.  The default view that opens is a map view, which I personally don&#8217;t use.  I know the stops I use and the routes I ride, so I nearly always want to go to a specific stop.  I&#8217;m frequently in a hurry, checking if I&#8217;ll be seconds away from catching the bus, and the slight delay going from loading the map view to loading the stop I want feels a lot longer than it really is.  Fortunately, Android has the answer:  I can create a shortcut directly to the exact stop that I want to view.  I simply long-press on the home screen, select &#8220;Shortcuts,&#8221; select the desired choice, (potentially further customize it, such as picking a specific bus stop in this case) and the icon is created.  Touching that icon will jump right to the correct spot in the app.</p>
<p><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-long-press-menu.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-long-press-menu-180x300.png" alt="" title="Nexus One Long-Press Menu" width="180" height="300" class="alignleft size-medium wp-image-191" /></a><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-shortcut-menu.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-shortcut-menu-180x300.png" alt="" title="Nexus One Shortcut Menu" width="180" height="300" class="alignleft size-medium wp-image-192" /></a><a href="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-shortcut-icon.png"><img style="margin-bottom: 1em;" src="http://blog.iangclifton.com/wp-content/uploads/2010/04/nexus-one-shortcut-icon-180x300.png" alt="" title="Nexus One Shortcut Icon" width="180" height="300" class="alignleft size-medium wp-image-193" /></a></p>
<p><strong>Conclusion</strong><br />
These are the types of features that are so simple but add so much to the experience of using an Android-based device.  Is Android perfect?  Of course not.  But can it do some amazing things?  <em>Absolutely!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iangclifton.com/2010/04/13/android-url-sharing-and-shortcuts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The CBS News iPhone App</title>
		<link>http://blog.iangclifton.com/2009/10/20/the-cbs-news-iphone-app/</link>
		<comments>http://blog.iangclifton.com/2009/10/20/the-cbs-news-iphone-app/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 02:53:34 +0000</pubDate>
		<dc:creator>Ian G. Clifton</dc:creator>
				<category><![CDATA[Mobile Applications]]></category>
		<category><![CDATA[cbs news]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.iangclifton.com/?p=54</guid>
		<description><![CDATA[
At the end of last week, the iPhone application I have been working on was released.  It&#8217;s the free CBS News application for the iPhone (iTunes link), and it&#8217;s the best type of application from a developer standpoint:  an application to be proud of.  I developed the code that processes the APIs [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbsnews-us-news.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbsnews-us-news-80x150.png" alt="CBS News - U.S. News" title="CBS News - U.S. News" width="80" height="150" class="alignleft size-thumbnail wp-image-59" /></a></p>
<p>At the end of last week, the iPhone application I have been working on was released.  It&#8217;s the free CBS News application for the iPhone (<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=334256223&#038;mt=8">iTunes link</a>), and it&#8217;s the best type of application from a developer standpoint:  an application to be proud of.  I developed the code that processes the APIs we ingest, and I also created the web views that display the data.  Fortunately, that means I didn&#8217;t have to create the Objective-C that ties it all together (not that there&#8217;s anything wrong with Objective-C).<span id="more-54"></span></p>
<p><a href="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbs-evening-news.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbs-evening-news-161x300.png" alt="CBS Evening News" title="CBS Evening News" width="161" height="300" class="alignright size-medium wp-image-60" /></a></p>
<p>The great thing about this application is that it just works.  Data is cached, so you see results quickly while updated news is loaded in the background.  Tweets in the Twitter section that contain links to CBS News articles, blogs, or videos can be tapped on to directly view that content in application.  Videos from top CBS News shows such as <a href="http://www.cbsnews.com/sections/60minutes/main3415.shtml">60 Minutes</a> and <a href="http://www.cbsnews.com/sections/eveningnews/main3420.shtml">CBS Evening News with Katie Couric</a> can be played directly in the app.  Even the image galleries are searchable.</p>
<p>The reason that I say this is an application worthy of pride is because of all the &#8220;magic&#8221; that happens behind the scenes to make this application work.  Most people who aren&#8217;t developers will use the Twitter section and tap one of the CBS News tweets and then tap on a &#8220;(view)&#8221; link to read the story.  The flow is simple enough, it makes sense, and <em>why shouldn&#8217;t you be able to view that story in the application?</em>  And that&#8217;s exactly right.  There&#8217;s no point in including a Twitter section that just ends up always linking to the full CBS News site or that <em>only</em> includes CBS News tweets.  That wouldn&#8217;t be much different from an RSS feed.  Similarly, having all the in-story links open a new webview that just loads the next CBS News article from their site would be illogical and virtually unusable from the end-user perspective (and, really, that&#8217;s the perspective that matters).</p>
<p><a href="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbsnews-twitter.png"><img src="http://blog.iangclifton.com/wp-content/uploads/2009/10/cbsnews-twitter-161x300.png" alt="CBS News - Twitter" title="CBS News - Twitter" width="161" height="300" class="alignleft size-medium wp-image-61" /></a></p>
<p>Of course, the developer perspective is a lot different.  An inexperienced developer might just assume we&#8217;re using some special Twitter API that includes metadata with article IDs or something that would make this really easy.  A more experienced developer will know things are rarely that easy and will imagine the code involved with following links from <a href="http://tinyurl.com">TinyURL</a>, <a href="http://bit.ly">bit.ly</a>, and other URL shorteners, possibly to an RSS feed which then points to the real article.  And maybe that developer would even consider that links to videos point to Flash videos, which aren&#8217;t usable on the iPhone.  Anyway, there is even more involved than that, but all I&#8217;ll say is that this &#8220;magic&#8221; is complicated code that makes the end-user enjoy his/her experience and makes the developer proud.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.iangclifton.com/2009/10/20/the-cbs-news-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
