<?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>Pattonwebz Projects</title>
	<atom:link href="http://www.pattonwebz.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pattonwebz.com</link>
	<description>Just where I post stuff that I&#039;m up to.</description>
	<lastBuildDate>Wed, 25 Apr 2012 01:20:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Enable SFTP and SSH updates to WordPress Core, Themes and Plug-ins</title>
		<link>http://www.pattonwebz.com/wordpress/enable-sftp-and-ssh-updates-to-wordpress-core-themes-and-plug-ins/</link>
		<comments>http://www.pattonwebz.com/wordpress/enable-sftp-and-ssh-updates-to-wordpress-core-themes-and-plug-ins/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 01:20:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[File Transfer Protocol]]></category>
		<category><![CDATA[FileZilla]]></category>
		<category><![CDATA[FTP]]></category>
		<category><![CDATA[Plesk]]></category>
		<category><![CDATA[Secure Shell]]></category>
		<category><![CDATA[SSH File Transfer Protocol]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=132</guid>
		<description><![CDATA[<p>Enable SFTP in WordPress for updates. I recently kept receiving the &#8216;Failed to connect to FTP Server&#8216; error when trying to update to WordPress 3.3.2. I had recently moved from shared hosting to a VPS running Ubuntu and Plesk. I had double checked the FTP user and password in Plesk control panel and even created a user [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/wordpress/enable-sftp-and-ssh-updates-to-wordpress-core-themes-and-plug-ins/">Enable SFTP and SSH updates to WordPress Core, Themes and Plug-ins</a></h3></p>]]></description>
			<content:encoded><![CDATA[<h3>Enable SFTP in WordPress for updates.</h3>
<p>I recently kept receiving the &#8216;<strong>Failed to connect to FTP Server</strong>&#8216; error when trying to update to WordPress 3.3.2. I had recently moved from shared hosting to a VPS running Ubuntu and Plesk. I had double checked the FTP user and password in <em>Plesk</em> control panel and even created a user just for this very purpose but still it failed. I then tried connecting with <em>FileZilla</em> using FTP and I couldn&#8217;t. I always use SSH to connect to the server and so I hadn&#8217;t even noticed that no FTP server was running (some digging after solving this problem made me find that it was running, just running on non default ports -which is a good thing <img src='http://www.pattonwebz.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
<p>So the situation I was in was: <strong><em>WordPress</em> Core update</strong> and the only way of doing so was via manually uploading the files through SFTP which I was able to connect to via <em>FileZilla</em>.</p>
<p>I really didn&#8217;t like the idea of doing that with over a dozen different WordPress instances so I found a slightly better way. <strong>Enable SFTP over SSH</strong> in my <em>WordPress</em> install. After a little bit of thought and some searching I found that Jon over at <a title="Enable SFTP for WordPress" href="http://snowulf.com/2010/06/29/wordpress-enabling-sshsftp-updates/comment-page-1/#comment-52768">Snowulf</a> had found the exact solution that I was looking for. He even had the exact commands to issue in a shell terminal on my server. All I had to do was install &#8220;<em><a href="http://pecl.php.net/package/ssh2">libssh2-php</a> which is the PHP bindings for <a href="http://www.libssh2.org/">libssh2</a></em>&#8221; and restart Apache. It worked a treat and I now perform all my automatic installs and updates over a much more secure connection. Thanks for this, Jon. I also left him a little note on the page to say thanks there too because this not only fixes my problem it also<strong> improves</strong> upon the normal behaviour of <em>WordPress</em> in this situation <img src='http://www.pattonwebz.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> .</p>
<p>Installing libssh2.php is a piece of cake on <em>Ubuntu</em>, just connect to your server however you like and run these commands:</p>
<pre>apt-get install libssh2-php
/etc/init.d/apache2 restart</pre>
<p>If you run a distro other than <em>Ubuntu</em> then you should still be able to find ssh2 by searching your package manager for &#8220;<strong>libssh2</strong>&#8220;, installing and then restarting <em>Apache.</em></p>
<p>Next time you see the FTP connection screen you will have the choice of connecting via SSH which will use SFTP. All you need to enter is your username, password and secure keys if you have them set up and treat it the same as the old FTP upload screen provided in <em>WordPress</em>.</p>
<p>It seems strange to me that this isn&#8217;t included in the Core of <em>WordPress</em> as I haven&#8217;t used FTP as my primary connection measure for a long time now and even when it was my primary method I still never used the default ports.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=679c6d37-1e54-4c0b-9349-9f4d2665ae0f" alt="Enhanced by Zemanta" /></a></div>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/wordpress/enable-sftp-and-ssh-updates-to-wordpress-core-themes-and-plug-ins/">Enable SFTP and SSH updates to WordPress Core, Themes and Plug-ins</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/wordpress/enable-sftp-and-ssh-updates-to-wordpress-core-themes-and-plug-ins/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Timer Screen Layout Demo (Android Stopwatch &#8211; Toothbrush Timer)</title>
		<link>http://www.pattonwebz.com/android/android-stopwatch-example/</link>
		<comments>http://www.pattonwebz.com/android/android-stopwatch-example/#comments</comments>
		<pubDate>Fri, 20 Apr 2012 02:00:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Chronometer]]></category>
		<category><![CDATA[LinearLayout]]></category>
		<category><![CDATA[Stopwatch]]></category>
		<category><![CDATA[TextView]]></category>
		<category><![CDATA[Timer]]></category>
		<category><![CDATA[Toast]]></category>
		<category><![CDATA[Toothbrush]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=110</guid>
		<description><![CDATA[<p>Android Stopwatch Example &#8211; Toothbrush Timer In keeping with today&#8217;s Android Development posts I decided to program a fully functional version of the theoretical Android Stopwatch Timer App that I created a layout for in Android And The Screen Size Dilemma earlier today. Additions and functions of interest are OnClick listeners, OnChronometerTickListener and OnChronometerTick method, View.VISIBILITY and Toasts. [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/android/android-stopwatch-example/">Android Timer Screen Layout Demo (Android Stopwatch &#8211; Toothbrush Timer)</a></h3></p>]]></description>
			<content:encoded><![CDATA[<div class="mceTemp">
<dl class="wp-caption alignright zemanta-img" style="width: 310px;">
<dt class="wp-caption-dt"><a href="http://commons.wikipedia.org/wiki/File:Android_robot.svg" target="_blank"><img class="zemanta-img-inserted zemanta-img-configured" title="Android Robot. Français : le logo d'android 日本..." src="http://www.pattonwebz.com/wp-content/uploads/2012/04/300px-Android_robot.svg_2.png" alt="Android Robot. Français : le logo d'android 日本..." width="300" height="350" /></a></dt>
</dl>
</div>
<h3 class="mceTemp">Android Stopwatch Example &#8211; Toothbrush Timer</h3>
<p>In keeping with today&#8217;s Android Development posts I decided to program a fully functional version of the theoretical Android Stopwatch Timer App that I created a layout for in <a title="Android And The Screen Size Dilemma." href="http://www.pattonwebz.com/featured/android-screen-size-dilemma/">Android And The Screen Size Dilemma</a> earlier today.</p>
<p>Additions and functions of interest are <code>OnClick</code> listeners, <code>OnChronometerTickListener</code> and <code>OnChronometerTick</code> method, <code>View.VISIBILITY</code> and <code>Toasts</code>.</p>
<p>I decided I needed a scenario to beef up the app and finally decided on a Toothbrush Timer. I had recently downloaded an Android stopwatch app to time how long I brushed my teeth. The recommended amount of time is 2 minutes. I was only brushing for about a quarter of that so I then used the stopwatch to make sure I brushed for 2 minutes every time.</p>
<p>I took the simple layout from the Screen Size demo layout I wrote today and added another vertical <code>LinearLayout</code>, <code>TextView</code> and another <code>Button</code>. I then went ahead and programmed a toothbrush timer that alerts you to move quadrants every 30 seconds and at the 2 minute mark it tells you that you are done, all using <code>Toast</code>s. I also read that for extra deep gum cleaning you could brush for an additional 15 &#8211; 30 seconds so there are <code>Toast</code>s that inform you of that and a <code>TextView</code> that is made visible after 2m 30s telling you that you should stop.</p>
<p>There&#8217;s also a pause/resume function that is a tad more complicated than you would initially expect and a reset button.</p>
<p>I wrote this app using API level &#8220;15&#8243; for Android version 4.0.3 as the build target but I modified the uses-sdk Min SDK version in the AndroidManifest.xml file to API level &#8220;10&#8243;. I ran it on an actual device running API level &#8220;10&#8243;, 2.3.3 &#8211; Gingerbread as well as API level &#8220;13&#8243;, 3.2 Honeycomb and ran it in the emulator using 4.0.3 ICS and on all 3 it worked perfectly in both portrait and landscape.</p>
<p>Source code will be posted in my portfolio page in the morning and explanations and descriptions will be posted to compliment that at around the same time.</p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;">
<p><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=c9c3ddf6-6279-4e4b-b31b-bcbf29801b87" alt="Enhanced by Zemanta" /></a></p>
</div>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/android/android-stopwatch-example/">Android Timer Screen Layout Demo (Android Stopwatch &#8211; Toothbrush Timer)</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/android/android-stopwatch-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android And The Screen Size Dilemma.</title>
		<link>http://www.pattonwebz.com/featured/android-screen-size-dilemma/</link>
		<comments>http://www.pattonwebz.com/featured/android-screen-size-dilemma/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 16:45:56 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Application programming interface]]></category>
		<category><![CDATA[Chronometer]]></category>
		<category><![CDATA[Display size]]></category>
		<category><![CDATA[HTC Desire HD]]></category>
		<category><![CDATA[LinearLayout]]></category>
		<category><![CDATA[Orientation]]></category>
		<category><![CDATA[Samsung Galaxy Ace]]></category>
		<category><![CDATA[Samsung Galaxy Tab 10.1]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=64</guid>
		<description><![CDATA[<p>Mine is 10.1 inches. How big is yours? I&#8217;m taking about Android Screen Size of course! You didn&#8217;t think I was being dirty there did you? The ladies would be happy tho, wouldn&#8217;t they haha! Android screen size is a pretty big consideration when designing any app for Android. I have the aptly named Samsung [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/featured/android-screen-size-dilemma/">Android And The Screen Size Dilemma.</a></h3></p>]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 310px"><a href="http://commons.wikipedia.org/wiki/File:Samsung_Galaxy_Tab_10.1.jpg" target="_blank"><img class="zemanta-img-inserted zemanta-img-configured" title="Samsung Galaxy Tab 10.1" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/300px-Samsung_Galaxy_Tab_10.11.jpg" alt="Samsung Galaxy Tab 10.1" width="300" height="225" /></a>
<p class="wp-caption-text">Samsung Galaxy Tab 10.1 (Photo credit: Wikipedia)</p>
</div>
<h3>Mine is 10.1 inches. How big is yours? I&#8217;m taking about Android Screen Size of course!</h3>
<p>You didn&#8217;t think I was being dirty there did you? The ladies would be happy tho, wouldn&#8217;t they haha! Android screen size is a pretty big consideration when designing any app for Android.</p>
<p>I have the aptly named <a class="zem_slink" title="Samsung Galaxy Tab 10.1" href="http://galaxytab.samsungmobile.com" rel="homepage" target="_blank">Samsung Galaxy Tab 10.1</a> wi-fi version. Not surprisingly it has a 10.1 inch screen. I also have to hand a <a class="zem_slink" title="Samsung Galaxy Ace" href="http://www.samsung.com/galaxyace/ace_overview.html" rel="homepage" target="_blank">Samsung Galaxy Ace</a> and an <a class="zem_slink" title="HTC Desire HD" href="http://www.htc.com/www/product/desirehd/overview.html" rel="homepage" target="_blank">HTC Desire HD</a>. All 3 have different screen sizes. That&#8217;s the first problem when developing for Android OS: Every manufacturer can use their own custom screen size if they want &#8211; and there are many, many different sizes.</p>
<p>There are a few other initial problems to take into account too: namely the OS version running on the device. I did write a bit about this problem for this post but it got too long. I have moved it to its own post here: <a title="Android And The Software Version Dilemma" href="http://www.pattonwebz.com/android/android-and-the-software-version-dilemma/">Android And The Software Version Dilemma</a>.</p>
<p>The Android API has a few ways to cope with this wide range of differing screen sizes. Take this scenario: You have a simple stopwatch style app. It&#8217;s only got 3 items on the screen: a counter, start button and stop button. A typical layout for this would be the counter on the top row, centred, and the 2 buttons side by side below taking up the full width of the screen. Android has a very handy, very simple, way of doing this that works for all screen sizes: Firstly I will need 2 <code>LinearLayout</code>s one being Vertical and one being Horizontal. The counter (I&#8217;m using the Chronometer widget but it could be a label if you kept count a different way) goes into the Vertical one, Buttons in the Horizontal one. As you would imagine items in the vertical layout stack up and down, in the horizontal one they stack left to right. Set the <code>layout_width</code> of both the <code>LinearLayouts</code> to <code>match_parent</code> &#8211; that makes it stretch the whole width of the screen. Next add a <code>layout_weight</code> property to both of the buttons and set the value to &#8220;50&#8243; for both of them. You can use the <code>layout_weight</code> property like a percentage property because the default overall weight is &#8220;100&#8243; units. That&#8217;s the layout done, it works on all screen sizes in all 4 orientations. Each button is 50% of the width of the parent (the horizontal <code>LinearLayout</code>) and the parent always matches the screen size because we set the width of it to match its parent (the screen).</p>
<p>Setting properties is easy in Android, it&#8217;s done with an .XML file and added like this: <code>android:layout_width="match_parent"</code>.</p>
<p>Here&#8217;s the .xml file that contains out layout along with some comments:</p>
<pre>&lt;?xml version="1.0" encoding="utf-8"?&gt;
&lt;LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="vertical" &gt;</pre>
<pre>&lt;Chronometer
 android:id="@+id/chronometer1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_gravity="center_horizontal"
 android:text="Chronometer"
 android:textSize="120dp" /&gt;</pre>
<pre>&lt;LinearLayout
 android:layout_width="match_parent"
 android:layout_height="wrap_content" &gt;</pre>
<pre>&lt;Button
 android:id="@+id/button1"
 android:layout_width="wrap_content"
 android:layout_weight="50"
 android:layout_height="wrap_content"
 android:text="Button" /&gt;</pre>
<pre>&lt;Button
 android:id="@+id/button2"
 android:layout_width="wrap_content"
 android:layout_weight="50"
 android:layout_height="wrap_content"
 android:text="Button" /&gt;</pre>
<pre>&lt;/LinearLayout&gt;</pre>
<pre>&lt;/LinearLayout&gt;</pre>
<p><a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/ex4/' title='tablet portrait example timer'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/ex4-150x150.png" class="attachment-thumbnail" alt="tablet portrait timer layout example using ice cream sandwitch" title="tablet portrait example timer" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/ex2/' title='ex2'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/ex2-150x150.png" class="attachment-thumbnail" alt="Here is what the simple layout in our theoretical Android Timer App looks like in Landscape mode" title="ex2" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/ex1/' title='3-7 in portrait'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/ex1-150x150.png" class="attachment-thumbnail" alt="com.pattonwebz.android.example.timer.layout" title="3-7 in portrait" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/ex3-2/' title='Android Screen Size Dilemma Layout Screenshot'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/ex31-150x150.png" class="attachment-thumbnail" alt="Fixed screenshot of 10 inch tablet displaying a example layout for multiple screen sizes." title="Android Screen Size Dilemma Layout Screenshot" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/300px-samsung_galaxy_tab_10-1/' title='300px-Samsung_Galaxy_Tab_10.1'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/300px-Samsung_Galaxy_Tab_10.1-150x150.jpg" class="attachment-thumbnail" alt="300px-Samsung_Galaxy_Tab_10.1" title="300px-Samsung_Galaxy_Tab_10.1" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/300px-samsung_galaxy_tab_10-11/' title='300px-Samsung_Galaxy_Tab_10.11'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/300px-Samsung_Galaxy_Tab_10.11-150x150.jpg" class="attachment-thumbnail" alt="300px-Samsung_Galaxy_Tab_10.11" title="300px-Samsung_Galaxy_Tab_10.11" /></a><br />
<a href='http://www.pattonwebz.com/featured/android-screen-size-dilemma/attachment/ex3-4/' title='Android Screen Size Dilemma'><img width="150" height="150" src="http://www.pattonwebz.com/wp-content/uploads/2012/04/ex33-150x150.png" class="attachment-thumbnail" alt="Screenshot of the Timer Layout Example program that I created for the Screen Size Dilemma post. Shows the title, chronometer and 2 buttons in landscape mode on Android Honeycomb" title="Android Screen Size Dilemma" /></a></p>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" title="Enhanced by Zemanta" href="http://www.zemanta.com/"><img class="zemanta-pixie-img" style="border: none; float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=79c2ce23-363a-410f-9ce3-90820a20a80e" alt="Enhanced by Zemanta" /></a></div>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/featured/android-screen-size-dilemma/">Android And The Screen Size Dilemma.</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/featured/android-screen-size-dilemma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android And The Software Version Dilemma</title>
		<link>http://www.pattonwebz.com/android/android-software-version-dilemma/</link>
		<comments>http://www.pattonwebz.com/android/android-software-version-dilemma/#comments</comments>
		<pubDate>Thu, 19 Apr 2012 16:24:23 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Android Development]]></category>
		<category><![CDATA[Cupcake]]></category>
		<category><![CDATA[Developer]]></category>
		<category><![CDATA[Device]]></category>
		<category><![CDATA[Eclare]]></category>
		<category><![CDATA[Froyo]]></category>
		<category><![CDATA[Gingerbread]]></category>
		<category><![CDATA[Ice Cream Sandwich]]></category>
		<category><![CDATA[ICS]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=69</guid>
		<description><![CDATA[<p>You may or may not have heard of: Ice Cream Sandwich, Honeycomb, Gingerbread, Froyo, Eclare, Donut and Cupcake. These are all code names for different versions of the Android OS. The latest &#8211; version 4 &#8211; is Ice Cream Sandwich, commonly abbreviated to ICS. Currently I like to consider Android OS as having 4 variants [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/android/android-software-version-dilemma/">Android And The Software Version Dilemma</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>You may or may not have heard of: Ice Cream Sandwich, Honeycomb, Gingerbread, Froyo, Eclare, Donut and Cupcake. These are all code names for different versions of the Android OS. The latest &#8211; version 4 &#8211; is Ice Cream Sandwich, commonly abbreviated to ICS. Currently I like to consider Android OS as having 4 variants and make some assumptions about each. Pre-Gingerbread (Old Phones), Gingerbread (Current Phones), Honeycomb (Tablets), ICS (Latest Phones or Tablets). Gingerbread is developed with Phones in mind, Honeycomb is developed with Tablets in mind. They are the same thing, but they are different.</p>
<p>Honeycomb is technically an update to Gingerbread but I like to think of them as both being on the same level. The software forking out after Froyo into 2 separate entities. Both these entities have been brought back together, using the best of both worlds, to create ICS. To get back to my original point: the Software Versions that users run makes a massive difference to how you program your Apps. Most of the time things are backwards compatible, Gingerbread Apps probably run on the later ICS but ICS Apps likely don&#8217;t work on the earlier Froyo. You would think that everyone would just update to ICS, right? Well unfortunately it&#8217;s not quite that easy.</p>
<p>Manufacturers have to port Android updates to their device then release an update and that obviously takes time and money. Those resources might be better spent on the next handset release or an update to a recently released handset or software. And there is the dilemma, some users are stuck with perfectly good working devices that are not capable of handling the latest update or the manufacturer just won&#8217;t ever release an update because it would be more profitable or cost-effective to work on something else.</p>
<p>So some people are on older versions of Android. In fact most people are on outdated versions of Android. Only 2.9% of all devices are running on version 4: Ice Cream Sandwich. Most users are on Gingerbread, 63.2% of devices run  Android 2.3.3 &#8211; 2.3.7 to be exact, with an additional 0.5% running older versions of Gingerbread. Next most common is Froyo &#8211; Android versions 2.3 &#8211; 2.3.2 with 23.1% market share. As you can see in terms of numbers it&#8217;s far more efficient to work on Apps for older OS versions.</p>
<p>That limits what the Android API is capable of doing (each new update brings a range of new features and improvements). Essentially you are downgrading what you are capable of, but that is what is required to bring your App to the masses. Granted if you are making a big, processor hungry, graphically intense game then you will want to program for just the latest devices capable of running it (maybe on ICS) and so you can use the improvements from the later API but most of the time you will want your app to work on as many devices as possible to increase your potential market.</p>
<p>From a developers point of view this is quite a challenge. Any kind of wide spread development these days brings on fast paced improvements and new features. As a developer I would like to take advantage of the updates as quickly as possible to ease developmental issues and improve the user experience.</p>
<p>Well my wee rant is over but I would like to reach out to any Device Manufacturers and ask that if you could please update your Devices to run the highest possible version of Android it would really help out Developers and the Scene as a whole. Also if any users could submit a support ticket to their Device Manufacturer and request an update, the higher the demand for update the more chance of it becoming more common place and regular updates can only be a good thing, can&#8217;t it?</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/android/android-software-version-dilemma/">Android And The Software Version Dilemma</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/android/android-software-version-dilemma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: First Steps</title>
		<link>http://www.pattonwebz.com/featured/android-first-steps/</link>
		<comments>http://www.pattonwebz.com/featured/android-first-steps/#comments</comments>
		<pubDate>Tue, 17 Apr 2012 22:45:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Widgets]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=54</guid>
		<description><![CDATA[<p>Android Development is gonna be pretty prominant in my life for the next while so expect a lot of Android posts. I have only recently been introduced to Android (Previously on a Nokia N8 with Symbian) with my Samsung Galaxy Tab 10.1 and I love it. Not just the tablet but the whole enviroment it [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/featured/android-first-steps/">Android: First Steps</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>Android Development is gonna be pretty prominant in my life for the next while so expect a lot of Android posts.</p>
<p>I have only recently been introduced to Android (Previously on a Nokia N8 with Symbian) with my Samsung Galaxy Tab 10.1 and I love it. Not just the tablet but the whole enviroment it runs. Right away I rooted it, overclocked it and even had Ubuntu Desktop running on it with USB keyboard and mouse.</p>
<p>When it comes to development on Android I have just taken my first steps. I&#8217;ve read a few books on Java and the Android SDK and can now make functional UIs and program them accordingly to perform some pretty fancy tricks. I&#8217;m yet to tie all of what I have learned (and still learning!) into a super-mega app: but I&#8217;m getting there.</p>
<p>Currently I am working on a timer app. One that calculates variations on a 2 minute benchmark and provides audio cues to inform the user accordingly. I have plans to update the app with a calender to output data on the days the app has been used. Also achievements are to be awarded upon reaching certain milestones which are to be implimented in a further update.</p>
<p>Tonight I&#8217;m working on getting the UI set-up in a tab style layout for the timer application. The Android UI can be set-up in one of 2 ways: in the Java code and in a referenced XML file. I prefer to use the XML format for set-up and then if need be modify them at run-runtime from the Java. I could do both from the Java but by using an XML layout it allows me to keep my layout &#8211; mostly &#8211; seporate from my Java uncluttering it slightly to allow for the additional clutter that I inevetably end up with by adding this and that as I go lol.</p>
<p>Without further delaying tactics I&#8217;m going to head off and get (at least some of) this layout done but before I go let me leave you with a little bit of information that might actually help you if your about to start Android Development (it is titled Android: first steps after all, isn&#8217;t it :p ): Android User Interfaces (what the user sees and interacts with) consist primarily of &#8220;widgets&#8221; (buttons, textviews, labels, lists, time and date selectors are all widgets) defined inside different layouts (Android layouts are like HTML</p>
<p>tags in which everything contained inside the layout is <em>laid out</em> by the rules defined by the type of layout they are in. For instance the 2 simplest and most commonly used layouts <em>HorizontalLayout and VerticalLayout </em>and they are use for laying things out up-and-down and left-and-right.</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/featured/android-first-steps/">Android: First Steps</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/featured/android-first-steps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress Plug-in Idea &#8211; Weekly Round-Ups</title>
		<link>http://www.pattonwebz.com/idea-lottery/wordpress-plug-in-idea-weekly-round-ups/</link>
		<comments>http://www.pattonwebz.com/idea-lottery/wordpress-plug-in-idea-weekly-round-ups/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 17:49:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Idea Lottery]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=52</guid>
		<description><![CDATA[<p>I had an idea for an RSS poster. It gathers the weekly top posts and adds the title, post content from RSS and links to the post on the site. For example: use algorithm to check the top posts on kotaku every day. Cache the post from the RSS feed and then once a Week [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/idea-lottery/wordpress-plug-in-idea-weekly-round-ups/">WordPress Plug-in Idea &#8211; Weekly Round-Ups</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>I had an idea for an RSS poster. It gathers the weekly top posts and adds the title, post content from RSS and links to the post on the site. For example: use algorithm to check the top posts on kotaku every day. Cache the post from the RSS feed and then once a Week post the top rating content from the site onto my own site.</p>
<p>The code I found on WordPress.org is pretty strait forward, once I have all of the data I need cached I can parse it into what I want the post to say and look like then add it to the WordPress database using the following PHP code:</p>
<pre>// Create post object</pre>
<pre>  $my_post = array(
     'post_title' =&gt; 'My post',
     'post_content' =&gt; 'This is my post.',
     'post_status' =&gt; 'publish',
     'post_author' =&gt; 1,
     'post_category' =&gt; array(8,39)
  );

// Insert the post into the database
  wp_insert_post( $my_post );</pre>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/idea-lottery/wordpress-plug-in-idea-weekly-round-ups/">WordPress Plug-in Idea &#8211; Weekly Round-Ups</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/idea-lottery/wordpress-plug-in-idea-weekly-round-ups/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pumpkin Carving Project &#8211; Goomba</title>
		<link>http://www.pattonwebz.com/projects/goomba-pumpkin/</link>
		<comments>http://www.pattonwebz.com/projects/goomba-pumpkin/#comments</comments>
		<pubDate>Fri, 06 Apr 2012 14:22:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Goomba]]></category>
		<category><![CDATA[Mario]]></category>
		<category><![CDATA[Pumpkin Carving]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=36</guid>
		<description><![CDATA[<p>This is something I&#8217;ve worked on 2 years running. First year I made a Goomba Pumpkin and last year, by request, I carved a Gears of War Cog. The Gears Cog was hard on such a small pumpkin so it didn&#8217;t turn out that well. The Goomba on the other hand turned out exceptionally well [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/goomba-pumpkin/">Pumpkin Carving Project &#8211; Goomba</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>This is something I&#8217;ve worked on 2 years running. First year I made a Goomba Pumpkin and last year, by request, I carved a Gears of War Cog.</p>
<p>The Gears Cog was hard on such a small pumpkin so it didn&#8217;t turn out that well. The Goomba on the other hand turned out exceptionally well for my first ever carving attempt.</p>
<p>Here&#8217;s the pics of the Goomba one.</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/goomba-pumpkin/">Pumpkin Carving Project &#8211; Goomba</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/projects/goomba-pumpkin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bounce me an idea.</title>
		<link>http://www.pattonwebz.com/idea-lottery/bounce-me-an-idea/</link>
		<comments>http://www.pattonwebz.com/idea-lottery/bounce-me-an-idea/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 23:39:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Idea Lottery]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=31</guid>
		<description><![CDATA[<p>If you have an idea for a simple smartphone or web app then get in contact with me and I&#8217;ll add it to my Project Idea Lottery. When I have no projects in mind I&#8217;ll look to the lottery to tell me which project to do next. If you submit an idea I may actually [...]</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/idea-lottery/bounce-me-an-idea/">Bounce me an idea.</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>If you have an idea for a simple smartphone or web app then get in contact with me and I&#8217;ll add it to my Project Idea Lottery. When I have no projects in mind I&#8217;ll look to the lottery to tell me which project to do next. If you submit an idea I may actually make it, I&#8217;ll then release it online or in the Android market for you to download and use as you please.</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/idea-lottery/bounce-me-an-idea/">Bounce me an idea.</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/idea-lottery/bounce-me-an-idea/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Xbox Shell Mods</title>
		<link>http://www.pattonwebz.com/projects/custom-xbox-shell-mods/</link>
		<comments>http://www.pattonwebz.com/projects/custom-xbox-shell-mods/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 23:03:44 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=23</guid>
		<description><![CDATA[<p>I have made a load of case and controller mods over the last few years. Currently I am working on a Halo 4 &#8211; Master Chief case. The last case I completed was a Skyrim Dragon Xbox Shell. I painted it silver and it turned out sweet!</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/custom-xbox-shell-mods/">Custom Xbox Shell Mods</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>I have made a load of case and controller mods over the last few years. Currently I am working on a Halo 4 &#8211; Master Chief case. The last case I completed was a Skyrim Dragon Xbox Shell. I painted it silver and it turned out sweet!</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/custom-xbox-shell-mods/">Custom Xbox Shell Mods</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/projects/custom-xbox-shell-mods/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gaming Now!</title>
		<link>http://www.pattonwebz.com/projects/gaming-now/</link>
		<comments>http://www.pattonwebz.com/projects/gaming-now/#comments</comments>
		<pubDate>Thu, 05 Apr 2012 22:54:39 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Projects]]></category>

		<guid isPermaLink="false">http://www.pattonwebz.com/?p=17</guid>
		<description><![CDATA[<p>A gaming site has been one of my pet projects since I began web development.</p><p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/gaming-now/">Gaming Now!</a></h3></p>]]></description>
			<content:encoded><![CDATA[<p>A gaming site has been one of my pet projects for some time. <a title="Gaming Now" href="http://www.gamingnow.info">GamingNow</a> is of those such projects. Today it is my only site dedicated solely to gaming but that changes all the time. Check back for some idea maps as they come to me.</p>
<p><h3><a href="http://www.pattonwebz.com">Pattonwebz Projects</a></h3> | <h3><a href="http://www.pattonwebz.com/projects/gaming-now/">Gaming Now!</a></h3></p>]]></content:encoded>
			<wfw:commentRss>http://www.pattonwebz.com/projects/gaming-now/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

