<?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>The Official Rackspace Blog &#187; Mike Mayo</title>
	<atom:link href="http://www.rackspace.com/blog/author/mmayo/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.rackspace.com/blog</link>
	<description>The Official Rackspace Blog</description>
	<lastBuildDate>Fri, 17 May 2013 15:00:37 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Top 10 iOS 5 Features, Widgets, and Shortcuts</title>
		<link>http://www.rackspace.com/blog/top-10-ios-5-features-widgets-and-shortcuts/</link>
		<comments>http://www.rackspace.com/blog/top-10-ios-5-features-widgets-and-shortcuts/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 14:27:13 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Business Tips and Tricks]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ios5]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.rackspace.com/cloud/blog/?p=10365</guid>
		<description><![CDATA[Mike Mayo is the lead iOS developer for Rackspace. The release of iOS 5 &#8212; the latest update to Apple&#8217;s mobile operating system, which powers both the iPhone and the iPad &#8212; is chock full of shortcuts that empower users with easier to access some of the system&#8217;s core functions. Below is list of the [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright" title="ios5" src="http://c179631.r31.cf0.rackcdn.com/5shortcut.png" alt="" width="185" height="173" /></p>
<p><span style="color: #666699;"><em><strong><a href="http://twitter.com/#%21/greenisus" target="_blank">Mike Mayo</a> is the lead iOS developer for Rackspace.</strong></em></span></p>
<p>The release of iOS 5 &#8212; the latest update to Apple&#8217;s mobile operating system, which powers both the iPhone and the iPad &#8212; is chock full of shortcuts that empower users with easier to access some of the system&#8217;s core functions. Below is list of the top 10 tips and tricks incorporated into the latest version of iOS:</p>
<h2><em><a href="http://c179631.r31.cf0.rackcdn.com/iOS5shortcuts_Rackspace.pdf" target="_blank">Click here to download PDF.</a></em></h2>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>1.    Filter Notifications.</h2>
<p>Lots of good stuff in Settings -&gt; Notifications. For every app you have, you can choose whether or not you want banner notifications or alerts.  Most importantly, you can turn off badges.  If you get a lot of email, it&#8217;s a great stress reliever to turn off the unread email count badge on the Mail app.  As an added bonus, you can also do this in the Mail app for Mac.</p>
<h2>2.    Set Phonetic Name Fields.</h2>
<p>In Contacts, you can set phonetic name fields to help ensure Siri doesn&#8217;t mispronounce the names of your friends, family members or colleagues.  You can also set up your own relationships (spouse, sibling, etc) on your own contact entry.  Then when you say to Siri &#8220;text my wife,&#8221; it&#8217;ll go to the right person.</p>
<h2>3.    Tap to the Top.</h2>
<p>If you&#8217;re looking at a long list of things such as email, and you&#8217;ve scrolled down pretty far, you can get to the top instantly by tapping the status bar (this is the part of the screen at the top with the carrier info, time, and battery life information).</p>
<h2>4.    Custom Tones for Alerts.</h2>
<p>Likely to be more relevant for the iPhone than the iPad, iOS 5 now allows users to configure custom sounds for notifications from various applications. For instance, one sound file can be used to alert the user to the arrival of a new text message; another sound file for tweets; yet another for new incoming email; etc.</p>
<h2>5.    Using the Camera from Locked Screen.</h2>
<p>With iOS 5, the camera can be used to take pictures even when the phone is locked. Simply double tap the home button on the iPhone, and a camera icon will appear next to the slide bar that unlocks the device. Press the camera icon and the camera app is launched, enabling photos to be taken quickly and easily. For security reasons, only photos taken in the current session will be viewable; to view all the photos on the camera app, the device will need to be unlocked.</p>
<h2>6.    Split Keyboard for the iPad.</h2>
<p>For iOS 5 on the iPad, a small button appears on the bottom right of the keyboard that allows the keyboard to be moved up and down the iPad&#8217;s screen &#8212; and also allows for the keyboard to be split into two pieces, making typing with thumbs easy. This simple shortcut can make the iPad much better suited for content production.</p>
<h2>7.    Auto-Text Shortcuts.</h2>
<p>Another trick in iOS 5 great for those who plan to use their iDevices largely for content production &#8212; i.e. email, text &#8212; is that of auto-text shortcuts. Users can now easily program keyboard shortcuts into iOS, effectively creating their own form of shorthand ideal for communicating via handheld devices like the iPhone.</p>
<h2>8.    Location-based Reminders.</h2>
<p>Although region monitoring has been a part of previous version of iOS, with iOS 5 comes a big leap forward in the form of reminders. As the name suggests, reminders are a notification service that remind users of events or tasks to be completed at a given time &#8212; or a given place. And with iCloud, another new feature in iOS 5 that enables all iDevices to be synced and files to be shared, setting a reminder on one device can cause the alert to appear on any user&#8217;s iDevice if the conditions are being met.</p>
<h2>9.    Access Siri without Unlocking Phone.</h2>
<p>On the iPhone 4S, you don&#8217;t have to unlock your phone to access Siri.  If you have built-in Bluetooth in your car, for example, you can reach into your pocket and hold down the home button for a couple of seconds and ask Siri to text message a contact, all while keeping your eyes on the road.</p>
<h2>10.    Enable Emoticons.</h2>
<p>Ever wonder how your friends add smiley faces to all of their text messages? It’s easy to enable in iOS 5. Go to Settings &gt; General &gt; Keyboard &gt; International Keyboard. Tap to add a new keyboard then proceed to tap on the Emoji from the International Keyboad list. The emoticons will now be available on the keyboard behind the global icons.</p>
<p>As iOS has evolved over the past four years, the computing power of these mobile devices is growing at an alarming rate. With judicious use of shortcuts and all that iOS has to offer, users can get the most of these computers and maximize their productivity without compromising convenience.</p>
<h2><em><a href="http://c179631.r31.cf0.rackcdn.com/iOS5shortcuts_Rackspace.pdf" target="_blank">Click here to download PDF.</a></em></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/top-10-ios-5-features-widgets-and-shortcuts/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Cloud Load Balancers on iOS</title>
		<link>http://www.rackspace.com/blog/cloud-load-balancers-on-ios/</link>
		<comments>http://www.rackspace.com/blog/cloud-load-balancers-on-ios/#comments</comments>
		<pubDate>Wed, 21 Sep 2011 14:38:45 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Product Announcements and Updates]]></category>
		<category><![CDATA[cloud load balancer]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[IPod Touch]]></category>

		<guid isPermaLink="false">http://www.rackspace.com/cloud/blog/?p=10068</guid>
		<description><![CDATA[Today we have released an important update to the Rackspace app for iPhone™, iPod Touch™, and iPad™.  This new version gives you the power to manage your Cloud Load Balancers on the go. We have also fixed some bugs and improved performance in many parts of the app.  So now you will be able to [...]]]></description>
				<content:encoded><![CDATA[<p>Today we have released an important update to the Rackspace app for iPhone™, iPod Touch™, and iPad™.  This new version gives you the power to manage your <a href="http://www.rackspace.com/cloud/cloud_hosting_products/loadbalancers/" target="_blank">Cloud Load Balancers</a> on the go.</p>
<p>We have also fixed some bugs and improved performance in many parts of the app.  So now you will be able to manage your cloud infrastructure even faster! Here&#8217;s a list of what&#8217;s new:</p>
<p style="padding-left: 30px;">- View, create, update, and delete Cloud Load Balancers<br />
- Add nodes to Cloud Load Balancers<br />
- Remove nodes from Cloud Load Balancers<br />
- Update Cloud Load Balancer node conditions</p>
<p>Here are some screen shots:</p>
<p><img class="alignnone" title="iosclb1" src="http://c179631.r31.cf0.rackcdn.com/ios_cloudlb_1.png" alt="" width="318" height="599" /><img class="alignnone" title="iosclb2" src="http://c179631.r31.cf0.rackcdn.com/ios_cloudlb_2.png" alt="" width="318" height="599" /><img class="alignnone" title="iosclb3" src="http://c179631.r31.cf0.rackcdn.com/ios_cloudlb_3.png" alt="" width="318" height="599" /></p>
<p>The Rackspace app is and always will be free.  Get it on the App Store by <strong><a href="http://itunes.apple.com/us/app/rackspace-cloud-pro/id364573598?mt=8" target="_blank">clicking here.</a></strong></p>
<p>The app is also open source, and you can read the code or even contribute at <a href="http://github.com/rackspace/rackspace-ios" target="_blank">http://github.com/rackspace/rackspace-ios</a></p>
<p>If you have any feedback, feel free to contact me at<a href="mailto:mike.mayo@rackspace.com" target="_blank"> mike.mayo@rackspace.com</a>.  Enjoy!</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="float: right;" src="http://img.zemanta.com/zemified_e.png?x-id=47024c36-0e63-4866-a90a-dab385d27958" alt="Enhanced by Zemanta" /></a></div>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/cloud-load-balancers-on-ios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rackspace Android App Update</title>
		<link>http://www.rackspace.com/blog/rackspace-android-app-update/</link>
		<comments>http://www.rackspace.com/blog/rackspace-android-app-update/#comments</comments>
		<pubDate>Wed, 03 Aug 2011 15:08:14 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Business Tips and Tricks]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>
		<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://www.rackspace.com/cloud/blog/?p=9750</guid>
		<description><![CDATA[Today we&#8217;re happy to announce an exciting new update to the Rackspace Android app.  While myself and the mobile team have been fully dedicated to building the next big update to our iOS app, we have not neglected the Android app.  Adam Menz, a summer intern from the University of Texas, has stepped up to [...]]]></description>
				<content:encoded><![CDATA[<p>Today we&#8217;re happy to announce an exciting new update to the <a href="https://market.android.com/details?id=com.rackspace.cloud.android&amp;feature=search_result" target="_blank">Rackspace Android app</a>.  While myself and the mobile team have been fully dedicated to building the next big update to our <a href="http://www.rackspace.com/cloud/mobile/" target="_blank">iOS app</a>, we have not neglected the Android app.  Adam Menz, a summer intern from the University of Texas, has stepped up to make the Android app better.</p>
<p>Here are some of the things Adam added to the app:</p>
<p style="padding-left: 30px;">- UK Cloud Support!</p>
<p style="padding-left: 30px;"><img class="alignnone" title="android UK" src="http://c179631.r31.cf0.rackcdn.com/android_account.png" alt="" width="287" height="472" /></p>
<p style="padding-left: 30px;">- Custom API Endpoint Support for those running <a href="http://www.rackspace.com/cloud/openstack/" target="_blank">OpenStack</a> clouds<br />
- Multiple Account Support<br />
- Far more functionality for <a href="http://www.rackspace.com/cloud/cloud_hosting_products/servers/" target="_blank">Cloud Servers</a>: rebuild servers, rename them, ping them, and manage their backup schedules</p>
<p style="padding-left: 30px;"><img class="alignnone" title="android servers" src="http://c179631.r31.cf0.rackcdn.com/android_servers.png" alt="" width="287" height="474" /></p>
<p style="padding-left: 30px;">- Passcode Lock to protect your infrastructure from falling into the wrong hands</p>
<p style="padding-left: 30px;"><img class="alignnone" title="android password" src="http://c179631.r31.cf0.rackcdn.com/android_password.png" alt="" width="287" height="474" /></p>
<p style="padding-left: 30px;">- Detailed Error Handling: if you get an error from the API, you can see exactly what happened with an equivalent curl command to reproduce it in a shell<br />
- Links to contact Rackspace Fanatical Support via phone or <a href="http://twitter.com/rackspace" target="_blank">Twitter</a><br />
- Last but not least, he completed the <a href="http://www.rackspace.com/cloud/cloud_hosting_products/files/" target="_blank">Cloud Files</a> support that was in development.  You can now view and create containers and files.</p>
<p style="padding-left: 30px;"><img class="alignnone" title="android files" src="http://c179631.r31.cf0.rackcdn.com/android_files.png" alt="" width="287" height="473" /></p>
<p>Adam has done a wonderful job and we can&#8217;t thank him enough.  I personally hope that as soon as he graduates he decides to become a Racker to help make an already great company even better.</p>
<p>Great job Adam!</p>
<p>To get the app, <a href="https://market.android.com/details?id=com.rackspace.cloud.android&amp;feature=search_result" target="_blank">go to the Android Market</a> and search for Rackspace.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/rackspace-android-app-update/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud 2.0.1 for iPhone, iPad, and iPod Touch Coming Soon</title>
		<link>http://www.rackspace.com/blog/rackspace-cloud-2-0-1-for-iphone-ipad-and-ipod-touch-coming-soon/</link>
		<comments>http://www.rackspace.com/blog/rackspace-cloud-2-0-1-for-iphone-ipad-and-ipod-touch-coming-soon/#comments</comments>
		<pubDate>Mon, 28 Mar 2011 15:07:55 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Product Announcements and Updates]]></category>
		<category><![CDATA[Rackspace in the News]]></category>

		<guid isPermaLink="false">http://www.rackspace.com/cloud/blog/?p=8612</guid>
		<description><![CDATA[Mike Mayo is the mobile apps developer for Rackspace. If you&#8217;re interested in joining his team, click here. In the first update to the Rackspace Cloud 2.0 iOS app, we have some nice improvements. Bug Fixes First, we&#8217;ve fixed some bugs.  Some you may not notice, but one is pretty important.  There were a few [...]]]></description>
				<content:encoded><![CDATA[<p><span style="color: #666699;"><em><strong>Mike Mayo is the mobile apps developer for Rackspace. If you&#8217;re interested in joining his team, <a href=" http://jobs.rackspace.com/job/San-Francisco-Software-Developer-Mobile-Applications-The-Rackspace-Cloud-Job-CA-94110/1154284/?utm_source=j2wmap">click here</a>. </strong></em></span></p>
<p>In the first update to the <a href="http://www.rackspace.com/cloud/blog/2011/03/11/rackspace-cloud-2-0-for-iphone-ipad-and-ipod-touch-now-available/" target="_blank">Rackspace Cloud 2.0 iOS app</a>, we have some nice improvements.</p>
<p><strong>Bug Fixes</strong></p>
<p>First, we&#8217;ve fixed some bugs.  Some you may not notice, but one is pretty important.  There were a few situations where calls to our API would either be unresponsive or at least appear to be unresponsive.  This has been resolved, so you should see more reliable performance of the app.</p>
<p><strong>Puppet Bootstrapping</strong></p>
<p>With the initial launch of 2.0, we introduced Opscode Chef Bootstrapping for <a href="http://www.rackspace.com/cloud/cloud_hosting_products/servers/" target="_blank">Cloud Servers</a>.  It&#8217;s a very easy and convenient way to set up your servers quickly, but some people prefer to use Puppet.  <a href="http://www.puppetlabs.com/" target="_blank">Puppet Labs</a> reached out to me and helped me develop a way to bootstrap Cloud Servers with Puppet, and it&#8217;s super easy!  All you have to do is go into the app&#8217;s settings, turn on Puppet, and enter the host name for your Puppet Master.  That&#8217;s it!  Big thanks to James Turnbull and the other guys at Puppet Labs.</p>
<p><strong>New Cloud Server View</strong></p>
<p>When I&#8217;m looking at my Cloud Servers on the go, I&#8217;m mainly interested in doing three things:</p>
<p style="padding-left: 30px;">1. Checking the status of my servers<br />
2. Reboot any servers that may be in trouble<br />
3. Ping my servers to see how responsive they are</p>
<p>So the new Cloud Server view brings these things front and center.  The status is obvious to see at a glance and there&#8217;s a button bar that gives quick access to rebooting and pinging.</p>
<p>Check out this demo:</p>
<p><iframe src="http://player.vimeo.com/video/21488282" width="500" height="313" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/rackspace-cloud-2-0-1-for-iphone-ipad-and-ipod-touch-coming-soon/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud 2.0 for iPhone, iPad and iPod Touch Now Available</title>
		<link>http://www.rackspace.com/blog/rackspace-cloud-2-0-for-iphone-ipad-and-ipod-touch-now-available/</link>
		<comments>http://www.rackspace.com/blog/rackspace-cloud-2-0-for-iphone-ipad-and-ipod-touch-now-available/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 15:07:20 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Rackspace in the News]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>

		<guid isPermaLink="false">http://www.rackspace.com/cloud/blog/?p=8485</guid>
		<description><![CDATA[Mike Mayo is the mobile apps developer for Rackspace. If you&#8217;re interested in joining his team, click here. Today I&#8217;m excited to announce the release of Rackspace Cloud 2.0 for for the iPhone, iPad and iPod Touch &#8211; something I&#8217;ve been working hard on to build. This app is a complete rewrite of our existing [...]]]></description>
				<content:encoded><![CDATA[<p><span style="color: #666699;"><em><strong>Mike Mayo is the mobile apps developer for Rackspace. If you&#8217;re interested in joining his team, <a href=" http://jobs.rackspace.com/job/San-Francisco-Software-Developer-Mobile-Applications-The-Rackspace-Cloud-Job-CA-94110/1154284/?utm_source=j2wmap">click here</a>. </strong></em></span></p>
<p>Today I&#8217;m excited to announce the <a href="http://itunes.apple.com/us/app/rackspace-cloud/id327870903?mt=8">release of Rackspace Cloud 2.0 for for the iPhone, iPad and iPod Touch</a> &#8211; something I&#8217;ve been working hard on to build.</p>
<p>This app is a complete rewrite of our existing iPhone and iPad apps, and is now universal.  You can run this app on an iPhone, iPad and iPod Touch.  Rather than having separate apps for iPhone and iPad, we can now push out new features (like <a href="http://opscode.com/chef/">Opscode&#8217;s Chef</a> Bootstrapping!) to all iOS devices at once.</p>
<p>Another important thing to know about this app is that it&#8217;s open source and part of the <a href="http://www.rackspace.com/cloud/openstack/">OpenStack</a> project -  the open source software that powers the Rackspace Cloud.  The source code to the OpenStack iOS app is available at <a href="http://launchpad.net/openstack-ios">http://launchpad.net/openstack-ios</a>.</p>
<p>Here are a few notable features in the app:</p>
<p><strong>Support for Multiple Accounts and API Endpoints</strong></p>
<p>You can now manage as many Rackspace Cloud accounts as you want.  You can connect to the US and UK clouds, as well as any custom OpenStack cloud you may be running.</p>
<p><img class="alignnone" title="loginscreen" src="http://c179631.r31.cf0.rackcdn.com/iOS2_login.png" alt="" width="256" height="365" /></p>
<p><strong>Need for Speed</strong></p>
<p>In the old apps, you would have to wait for several seconds to log in and load data for your Cloud Servers, images, and sizes.  Now all of that data is stored locally so you can get to it very quickly.  You can literally reboot a server in just a few seconds!</p>
<p><strong>Passcode Lock with Data Wipe</strong></p>
<p>Your cloud resources are extremely important and should be protected.  With the new app, you can turn on a passcode lock to prevent others from tampering with your servers or files.  You can even turn on a data wipe feature that wipes the app of all account data after 10 failed login attempts.</p>
<p><strong>Create Multiple Opscode&#8217;s Chef Bootstrapped Cloud Servers at Once</strong></p>
<p>You can provide a <a href="http://opscode.com/chef/">Opscode&#8217;s Chef</a> run list when you create Cloud Servers and create up to 10 servers at a time.  Need 5 new web servers in your cluster?  You can have it in less than 30 seconds from your iPhone.</p>
<p><strong>IP Addresses</strong></p>
<p>On the new Cloud Server screen, when you tap an IP address, you can choose to copy it to your pasteboard, ping it from 50 locations around the world, or open it with an SSH client installed on your device (such as the excellent iSSH).</p>
<p><strong>Detailed Error Handling</strong></p>
<p>If a call to the Rackspace Cloud API fails, you can see exactly what happened by pressing the Details button.  You&#8217;ll be able to see a complete equivalent curl command for what the app was trying to do, as well as the HTTP response from the API.  You can then email that to troubleshoot further.</p>
<p><img class="alignnone" title="error_handling" src="http://c179631.r31.cf0.rackcdn.com/iOS2_errorhandling.png" alt="" width="256" height="368" /></p>
<p><strong>Fanatical Support in Your Pocket</strong></p>
<p>You now have full access to our Cloud Servers and Cloud Files System Status RSS feeds, as well as buttons to contact us directly via phone or Twitter.</p>
<p><img class="alignnone" title="contact" src="http://c179631.r31.cf0.rackcdn.com/iOS2_contact.png" alt="" width="256" height="368" /></p>
<p><strong>Awesome CDN Support for Cloud Files</strong></p>
<p>You can completely control everything regarding your CDN enabled Cloud Files containers such as change the TTL, logging, ACLs.  If you have the Twitter app installed on your device, you can even tweet links to your files.  You can also share files via email -  a great way to share photos and video while still having complete control of where your files are stored.</p>
<p><img class="alignnone" title="cloud files" src="http://c179631.r31.cf0.rackcdn.com/iOS2_cloudfiles.png" alt="" width="256" height="368" /></p>
<p><strong>View and Print Cloud Files</strong></p>
<p>When you download a file from Cloud Files to the app, it will try its best to open it.  The app can open text files, PDFs, audio, video, images, and office documents.  If the app can&#8217;t open it, it will check your device to see if any other app can and if so, it will give you that option.  Also, if your file is printable, you can print to a printer on your network directly from the device.</p>
<p><strong>Other Features</strong></p>
<p style="padding-left: 30px;">- Accounts can be sorted for easy access to your most important accounts<br />
- Reboot, rename, resize, and rebuild your Cloud Servers<br />
- Change the root password for your Cloud Servers<br />
- Manage backup schedules for your Cloud Servers<br />
- Delete Cloud Servers<br />
- Create and delete Cloud Files containers<br />
- Create folders in Cloud Files containers<br />
- Create media (photos and video) and text files in Cloud Files containers<br />
- Delete Cloud Files<br />
- View your API rate limits</p>
<p>We are very excited to <a href="http://itunes.apple.com/us/app/rackspace-cloud/id327870903?mt=8">give you this app free in the App Store</a>, and we hope you enjoy it.  If you need any help with it or want to know more, feel free to get in touch with me via<a href="mailto:mike.mayo@rackspace.com"> email</a> or <a href="http://twitter.com/greenisus">Twitter</a>.</p>
<p><strong>We’re Hiring!</strong></p>
<p>If you think this app is cool and would like to help make it (and Android) even better, join us in our new San Francisco office! <strong><a href="http://jobs.rackspace.com/job/San-Francisco-Software-Developer-Mobile-Applications-The-Rackspace-Cloud-Job-CA-94110/1154284/?utm_source=j2wmap">Click to learn more. </a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/rackspace-cloud-2-0-for-iphone-ipad-and-ipod-touch-now-available/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>New iPad and iPhone App Updates – Including Access to Chef for Cloud Servers on your iPad!</title>
		<link>http://www.rackspace.com/blog/new-ipad-and-iphone-app-updates-including-access-to-chef-for-cloud-servers-on-your-ipad/</link>
		<comments>http://www.rackspace.com/blog/new-ipad-and-iphone-app-updates-including-access-to-chef-for-cloud-servers-on-your-ipad/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 15:54:24 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Product Announcements and Updates]]></category>
		<category><![CDATA[Chef for Cloud Servers]]></category>
		<category><![CDATA[Cloud Servers API]]></category>
		<category><![CDATA[Cloud Servers iPhone App]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[iphone]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=7754</guid>
		<description><![CDATA[Since we delivered our first Cloud Servers iPhone app in September 2009, a lot has changed. Tens of millions of iPhones were sold in 2010 and it seemed everyone wanted an iPad for Christmas. Today, we are excited to announce new updates of our popular Rackspace Cloud Application for iPhone/ iPod Touch and Rackspace Cloud Pro [...]]]></description>
				<content:encoded><![CDATA[<p><img class="leftpad" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/login-iphone-screenshot.jpg" alt="" width="155" height="302" align="right" />Since we delivered our first Cloud Servers iPhone app in <a href="http://www.rackspacecloud.com/blog/2009/09/01/the-rackspace-cloud-servers-iphone-now-available/" target="_blank">September 2009</a>, a lot has changed. Tens of millions of iPhones were sold in 2010 and it seemed everyone wanted an iPad for Christmas.</p>
<p>Today, we are excited to announce new updates of our popular Rackspace Cloud Application for iPhone/ iPod Touch and Rackspace Cloud Pro for iPad.</p>
<p>Whether you are on a beach in Maui or traveling for business, these applications allow you to easily and quickly administer your Cloud Servers and Cloud Files on the go. They are not yet a complete replacement for our browser-based control panel or APIs, but these apps allow customers some powerful remote administration capabilities.</p>
<h3>Rackspace Cloud Pro for iPad (v1.1.1)</h3>
<p>To download the app, go <a href="http://itunes.apple.com/us/app/rackspace-cloud-pro/id364573598?mt=8" target="_blank">here</a>.</p>
<p>Rackspace Cloud Pro is an iPad app published by Rackspace that offers an alternative to the web control panel at manage.rackspacecloud.com. It offers most of the functionality of the Cloud Servers API and some of the functionality of the Cloud Files API.  For a list of features, click on the following <a href="http://www.rackspacecloud.com/ipad/" target="_blank">link</a>.</p>
<p><strong>Whatʼs New in Version 1.1.1?</strong></p>
<p><em>Chef Bootstrapping</em> &#8211; In the Settings section of the app, there is now the option to turn on Chef Integration.  With this enabled, users will be able to provide a Chef run list when creating a Cloud Server. The server will automatically install Chef and attempt to install and configure its software based on the run list. The following is a video demo of Chef Integration in action:</p>
<p align="center"><object width="480" height="385" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/muBvVyXkKRk?fs=1&amp;hl=en_US" /><param name="allowfullscreen" value="true" /><embed width="480" height="385" type="application/x-shockwave-flash" src="http://www.youtube.com/v/muBvVyXkKRk?fs=1&amp;hl=en_US" allowFullScreen="true" allowscriptaccess="always" allowfullscreen="true" /></object></p>
<p>A detailed explanation of what Chef is and what it does is available at <a href="http://opscode.com/chef" target="_blank">link.</a></p>
<p><em>Configurable API Endpoints</em> &#8211; On the login screen, there are now three fields: user name, API Key, and Authentication API Endpoint. The endpoint defaults to the US endpoint: <a href="https://auth.api.rackspacecloud.com/v1.0" target="_blank">https://auth.api.rackspacecloud.com/v1.0</a></p>
<p>UK Cloud users should change this to: <a href="https://lon.auth.api.rackspacecloud.com/v1.0" target="_blank"> https://lon.auth.api.rackspacecloud.com/v1.0</a></p>
<h3>Rackspace Cloud Application for iPhone/iPod Touch (v1.3)</h3>
<p>To download the app, go <a href="http://itunes.apple.com/us/app/rackspace-cloud/id327870903?mt=8" target="_blank">here</a>.</p>
<p>Rackspace Cloud for iPhone is an app published by Rackspace that offers an alternative to the web control panel at manage.rackspacecloud.com. It offers some of the functionality of the Cloud Servers API and some of the functionality of the Cloud Files API. For a list of features, click on the following <a href="http://www.rackspacecloud.com/iphone/" target="_blank">link</a>.</p>
<p><strong>What’s New in Version 1.3?</strong></p>
<p><em>Configurable API Endpoints</em> &#8211; In the iPhone Settings application, there is an API Endpoint field in the Rackspace section.  US and UK Cloud users should use the aforementioned endpoints.</p>
<p>Enjoy these updates and know that we will continue to update our iOS Apps and innovate new features to add to your Cloud experience. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/new-ipad-and-iphone-app-updates-including-access-to-chef-for-cloud-servers-on-your-ipad/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Chef meets the iPad with OpenStack</title>
		<link>http://www.rackspace.com/blog/chef-meets-the-ipad-with-openstack/</link>
		<comments>http://www.rackspace.com/blog/chef-meets-the-ipad-with-openstack/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 14:39:02 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Customer Success Stories]]></category>
		<category><![CDATA[Rackspace in the News]]></category>
		<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=6294</guid>
		<description><![CDATA[Mike Mayo is the mobile apps developer for the Rackspace Cloud and OpenStack. Since OpenStack was announced, we’ve seen a flurry of activity in the developer community. Hundreds of people have made over a thousand contributions and we couldn’t be more excited. Today I’d like to share one of the more unconventional contributions with you. [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignright" title="openstack" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/openstack-logo_viewimage.jpg" alt="" width="144" height="144" /></p>
<p><span style="color: #666699;"><strong><em>Mike Mayo is the mobile apps developer for the Rackspace Cloud and OpenStack. </em></strong></span></p>
<p>Since <a href="http://www.rackspacecloud.com/blog/2010/07/19/open-stack/" target="_blank">OpenStack</a> was announced, we’ve seen a flurry of activity in the developer community. Hundreds of people have made over a thousand contributions and we couldn’t be more excited.</p>
<p>Today I’d like to share one of the more unconventional contributions with you. Most of the development activity in OpenStack is in the <a href="http://www.openstack.org/projects/storage/" target="_blank">storage</a> and <a href="http://www.openstack.org/projects/compute/" target="_blank">compute</a> systems, but we also have front end projects for people who use OpenStack and need an easy way to manage their cloud resources.</p>
<p>One of these projects is the <a href="https://launchpad.net/openstack-ipad" target="_blank">OpenStack iPad app</a>, which is based on the <a href="http://www.rackspacecloud.com/ipad" target="_blank">Rackspace Cloud Pro iPad app</a> that is currently in the App Store. This app uses the OpenStack compute and storage APIs to help you manage your cloud resources, and offers a few features outside of the scope of the APIs, such as viewing RSS system status feeds, pinging your compute nodes from several locations around the world, and emailing files from OpenStack Object Storage.</p>
<p>Our newest feature, made possible by working with people from <a href="http://www.opscode.com/" target="_blank">Opscode</a>, is integrated with <a href="http://www.opscode.com/chef/" target="_blank">Chef</a> and the Opscode Platform. Before, when you created a compute node on the iPad, you would then need to log into the node and manually install any software, data, and configurations you may need. This could take a considerable amount of time and effort for some deployments, but not anymore. If you’re a Chef user, you can configure the iPad app with your Chef or Opscode credentials to automatically run any recipes or role assignments immediately after the node is provisioned. Look ma, no shell!</p>
<p>Let’s suppose you’re running a <a href="http://cassandra.apache.org/" target="_blank">Cassandra</a> cluster to horizontally scale your data, and you’re out of town on a business trip. Your laptop is in your hotel room, and you’re stuck in a conference room across town with only your iPad. Then, your monitoring service sends you an SMS telling you that all of your Cassandra machines are running at capacity. But you were smart; you used Chef to automate your infrastructure by creating roles for all of your compute nodes. You simply log into the iPad app and provision a new node with “role[cassandra]“ as your run list. The machine boots up and adds itself to your Cassandra cluster without requiring anything else from you. Awesome!</p>
<p>I’ve included a video below showing you the entire process as I bootstrap a compute node running Apache 2 and MySQL. I hope you enjoy it, and if you have any questions or want to talk about contributing to the OpenStack iOS apps, get in touch with me via email at <a href="mailto:mike@openstack.org" target="_blank">mike@openstack.org</a>, Twitter at <a href="http://twitter.com/greenisus" target="_blank">@greenisus</a>, or on the phone at 901-299-9306. Even if you’re new to Objective-C and Cocoa, I’ll be happy to help you get started and learn everything you need to know to help make the OpenStack apps even better.</p>
<p><iframe src="http://player.vimeo.com/video/14457972" width="400" height="300" frameborder="0"></iframe>
<p><a href="http://vimeo.com/14457972">Chef Meets the iPad with OpenStack</a> from <a href="http://vimeo.com/user2511384">Michael Mayo</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/chef-meets-the-ipad-with-openstack/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud for Android Technical Overview</title>
		<link>http://www.rackspace.com/blog/rackspace-cloud-for-android-technical-overview/</link>
		<comments>http://www.rackspace.com/blog/rackspace-cloud-for-android-technical-overview/#comments</comments>
		<pubDate>Thu, 20 May 2010 17:12:57 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Cloud Industry Topics]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=5423</guid>
		<description><![CDATA[Rackspace Cloud for Android is a simple tool for managing Cloud Servers in your Rackspace Cloud account. It is available in the Android Market and the source code is available at http://github.com/rackspace/android-rackspacecloud This post will explain the architecture and design of the app. To build the app on your machine, you&#8217;ll need the Android SDK, [...]]]></description>
				<content:encoded><![CDATA[<p><img class="alignnone" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/droid.jpg" alt="" width="132" height="123" /></p>
<p>Rackspace Cloud for Android is a simple tool for managing <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers">Cloud Servers</a> in your Rackspace Cloud account.  It is available in the Android Market and the source code is available at <a href="http://github.com/rackspace/android-rackspacecloud">http://github.com/rackspace/android-rackspacecloud</a></p>
<p>This post will explain the architecture and design of the app.  To build the app on your machine, you&#8217;ll need the Android SDK, available at <a href="http://developer.android.com/sdk/index.html">http://developer.android.com/sdk/index.html</a></p>
<p><strong>Root File and Folder Structure</strong></p>
<p>AndroidManifest.xml: This file is the main descriptor for the app.  It includes details such as the name of the app, the minimum SDK version, and any Activities that exist in the app.</p>
<p>src: Java source code for the app</p>
<p>gen: Android-generated Java classes.  Notably, R.java, which contains constants that reference various assets in the app, such as images, buttons, labels, and layouts.</p>
<p>res: This is the resources folder.  It contains images and icons in the drawable folders, XML user interface descriptions for layouts and menus, and string values for labels.</p>
<p><strong>The Source Code</strong></p>
<p>There are two main packages in the Android app:</p>
<ul>
<li>rackspace.cloud.servers.api.client: a simple binding to the Rackspace Cloud Servers API.  It&#8217;s not a complete implementation, but it covers all of the functionality used in the Android app.</li>
<li>rackspacecloud.android: the actual Android app code.</li>
</ul>
<p>The API binding code is fairly self explanatory, so we&#8217;ll focus on the rackspacecloud.android package.</p>
<p>
<h2>rackspacecloud.android</h2>
<p>There are five Activities in this package.  Each Activity class corresponds to a screen in the Android app (such as the login screen or the server view screen).</p>
<p><strong>RackspaceCloudActivity</strong></p>
<p>This is the first Activity you see in the app: the login screen.</p>
<p>If you look at AndroidManifest.xml, you&#8217;ll see that RackspaceCloudActivity has an intent-filter category setting of android.intent.category.LAUNCHER, while all the others are android.intent.category.APPLICATION.</p>
<p>I&#8217;ll explain some core Android concepts here that will also apply to all of the other Activities in this package.</p>
<p>The first thing Android OS does when an Activity is launched is call the onCreate method.  I&#8217;ve added extra comments to the actual method to explain what happens:</p>
<pre lang="python">public void onCreate(Bundle savedInstanceState) {
    // always call the parent class's method
    super.onCreate(savedInstanceState);

    // set our layout to R.layout.main.
    // this corresponds to res/layout/main.xml, where the login screen UI is
    // defined.
    setContentView(R.layout.main);

    // set this Activity to be the click handler for the login button
    ((Button) findViewById(R.id.button)).setOnClickListener(this);

    // set this Activity to be the edit handler for the api key text field
    // we will look for the return key as a signal to login
    ((EditText) findViewById(R.id.login_apikey)).setOnEditorActionListener(this);

    // call a private method to pre-load the login and api key text fields
    // with the previously used login
    loadLoginPreferences();

    // i'll explain this later
    restoreState(savedInstanceState);

    // we'll load the ListServersActivity on a successful login
    tabViewIntent = new Intent(this, ListServersActivity.class);
}</pre>
<p>The next methods to keep in mind are restoreState and onSaveInstanceState.  When an Android device changes orientations between portrait and landscape mode, the Activity is destroyed and recreated.  Use these methods to maintain state when this happens.  In the case of the RackspaceCloudActivity, I save whether or not the &#8220;Authenticating&#8230;&#8221; label should be displayed when someone has clicked the login button.</p>
<p>Most other methods in this class are self-explanatory, but I would like to cover how HTTP requests are made asynchronously to the Rackspace Cloud API.</p>
<p>In the login() method, you&#8217;ll see the following line:</p>
<pre lang="python">new AuthenticateTask().execute((Void[]) null);</pre>
<p>Near the bottom of the file, you&#8217;ll see a private subclass of AsyncTask called AuthenticateTask.  AsyncTask objects are used to perform operations in the background without having to worry about thread management.</p>
<p>In the AuthenticateTask class, there are two methods: doInBackground(), which is actual operation, and then onPostExecute(), which is called when the task is complete.  In this case, we load the Cloud Servers images, and then the flavors before proceeding to the server list.</p>
<p><strong>TabViewActivity</strong></p>
<p>This Activity is not currently being used.  As of this writing, the app only provides Cloud Servers support, so upon login we launch the ListServersActivity.  When Cloud Files is added, we&#8217;ll use this Activity on login instead, and it will have two tabs: Cloud Servers and Cloud Files.</p>
<p><strong>ListServersActivity</strong></p>
<p>This is, obviously, the server list view.  It subclasses ListActivity, which includes some extra methods for list management.  Most of it should be self-explanatory if you followed the RackspaceCloudActivity explanation, but one thing worth noting is the ServerAdapter inner class.  This is the class that defines what a row looks like in the list (the OS logo, server name, and flavor and image details).  When a row is clicked, the ViewServerActivity class is launched.</p>
<p><strong>AddServerActivity</strong></p>
<p>This is the screen for creating a new server.</p>
<p><strong>ViewServerActivity</strong></p>
<p>This is the screen for viewing a server&#8217;s details.  It contains AsyncTask classes for all server actions, such as rebooting, resizing, and deleting.</p>
<p>
Hopefully this was a helpful introduction to the design of the Rackspace Cloud Android app.  I highly encourage you to fork the code on github and even contribute if you have an idea that you&#8217;d love to see in the app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/rackspace-cloud-for-android-technical-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rackspace Cloud Does Droid</title>
		<link>http://www.rackspace.com/blog/rackspace-cloud-does-droid/</link>
		<comments>http://www.rackspace.com/blog/rackspace-cloud-does-droid/#comments</comments>
		<pubDate>Thu, 06 May 2010 14:59:37 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=5216</guid>
		<description><![CDATA[Version 1.0 of the Rackspace Cloud Android app is now available in the Android Market.  This initial version helps you easily and quickly administer your Cloud Servers on the go, and includes the following features: List all Cloud Servers in your account Create new Cloud Servers (including from any existing backups) Delete Cloud Servers Resize [...]]]></description>
				<content:encoded><![CDATA[<p>Version 1.0 of the Rackspace Cloud Android app is now available in the Android Market.  This initial version helps you easily and quickly administer your <a href="http://www.rackspacecloud.com/cloud_hosting_products/servers" target="_blank">Cloud Servers</a> on the go, and includes the following features:</p>
<ul>
<li>List all Cloud Servers in your account</li>
<li>Create new Cloud Servers (including from any existing backups)</li>
<li>Delete Cloud Servers</li>
<li>Resize Cloud Servers</li>
<li>Perform Hard and Soft Reboots</li>
</ul>
<p>Also, this app is open source!  If you&#8217;d like to see how it works (or even better, contribute), you can <a href="http://github.com/rackspace/android-rackspacecloud">get the source at Github</a>.</p>
<p><img class="alignnone" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/androidlogin.png" alt="" width="332" height="492" /></p>
<p><img class="alignnone" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/androidcreateserver.png" alt="" width="332" height="494" /></p>
<p><img class="alignnone" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/androidviewserver.png" alt="" width="332" height="492" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/rackspace-cloud-does-droid/feed/</wfw:commentRss>
		<slash:comments>49</slash:comments>
		</item>
		<item>
		<title>iPad App Development &#8211; Behind The Scenes</title>
		<link>http://www.rackspace.com/blog/ipad-app-development-behind-the-scenes/</link>
		<comments>http://www.rackspace.com/blog/ipad-app-development-behind-the-scenes/#comments</comments>
		<pubDate>Thu, 04 Mar 2010 14:45:51 +0000</pubDate>
		<dc:creator>Mike Mayo</dc:creator>
				<category><![CDATA[Rackspace Partners]]></category>
		<category><![CDATA[Tips for Devs and Sys Admins]]></category>

		<guid isPermaLink="false">http://www.rackspacecloud.com/blog/?p=4438</guid>
		<description><![CDATA[Since January 27, I&#8217;ve been hard at work building the Rackspace Cloud iPad App.  In a sense, it&#8217;s a port of the iPhone App, but I don&#8217;t like to call it a port because it will ultimately offer much more than what was reasonable to offer on the iPhone.  I&#8217;m extremely excited about the eventual [...]]]></description>
				<content:encoded><![CDATA[<p>Since January 27, I&#8217;ve been hard at work building the Rackspace Cloud iPad App.  In a sense, it&#8217;s a port of the <a href="http://www.rackspacecloud.com/blog/2009/09/01/the-rackspace-cloud-servers-iphone-now-available/">iPhone App</a>, but I don&#8217;t like to call it a port because it will ultimately offer much more than what was reasonable to offer on the iPhone.  I&#8217;m <a href="http://www.building43.com/videos/2010/02/03/rackspaces-iphone-developer-reveals-whats-inside-the-ipad-sdk/">extremely excited</a> about the eventual final product and about the ultimate user interface potential of the iPad.  I&#8217;d say more, but <a href="http://joehewitt.com/post/ipad/">Joe Hewitt sums up my thoughts nicely</a>.</p>
<p><span style="text-decoration: underline;"><strong>Start From Scratch? </strong></span></p>
<p>The first question everyone asks me about this app is whether or not I started from scratch or used the existing code in the iPhone app.  While reusing the existing code was tempting, I find that I often solve a problem better on my second attempt, and since the iPad screen size makes so much more possible, I wanted to start fresh.  There are however, a few things that I am reusing that I would write exactly the same way today as I did when I first built the iPhone app.</p>
<p>The first fresh approach I&#8217;ve taken is one I picked up while building <a href="http://www.rackspace.com/apps/support/portal/5813">Cloud Notes</a>.  When I built the Rackspace Cloud iPhone app, I used a framework called <span class="removed_link" title="http://iphoneonrails.com/">Objective Resource</span>, which is a great way to simplify communication with RESTful Ruby on Rails web applications.  I had used it on the Slicehost iPhone apps and it was a perfect fit.  The Rackspace Cloud API, however, forms its XML responses a bit differently than a Ruby on Rails app, so I found myself spending a lot of time altering the framework instead of focusing on the user interface.</p>
<p><span style="text-decoration: underline;"><strong>New Approaches to Old Problems </strong></span></p>
<p>With Cloud Notes, I took a new approach and tried out <a href="http://allseeing-i.com/ASIHTTPRequest/">ASIHttpRequest</a>, an easy to use CFNetwork wrapper for Objective-C.  While I had to write my own XML parsers, it was ultimately easier because of the clean design of ASIHttpRequest.  The best advantage of ASIHttpRequest for me is that it follows the <a href="http://en.wikipedia.org/wiki/Delegation_pattern">Delegation Pattern</a>, which I had not considered while using Objective Resource.  Because of this, I realized that I didn&#8217;t need to get into the risky business of iPhone thread management to talk to an API.</p>
<p>So, before the iPad project began, I contributed Rackspace Cloud Files support to the ASIHttpRequest project (Cloud Files support is currently in the <a href="http://github.com/pokeb/asi-http-request/tree/integration">integration branch on Github</a> and will eventually be in the official stable version) and then used it for the iPad once the SDK was available.  I&#8217;ve since added Cloud Servers support in the iPad code line and will use this approach for any future REST APIs that I bind to in Objective-C.  In fact, I think the ASIHttpRequest approach is so great that I will eventually migrate the iPhone app code to this style.</p>
<p>Another fresh approach I&#8217;ve taken is to take more time than I usually do to build version 1.0. Since the iPad hasn&#8217;t been released yet, I have been taking the time to constantly revisit every aspect of the app as I build it, from user interfaces to behavior to even the code itself.  Ultimately, this will be something I will be proud to share on Github.</p>
<p><span style="text-decoration: underline;"><strong>Gotchas </strong></span></p>
<p>From a code perspective, the iPad SDK is essentially identical to the iPhone SDK, but there are a few key differences between the two devices that make development significantly different.</p>
<p><strong>1. Device Orientation</strong></p>
<p>The iPhone and the iPad both have an accelerometer that lets the device know how a person is holding it.  If you have an iPhone, you can see the accelerometer at work in the Photos application.  If you&#8217;re holding the iPhone upright (portrait mode), but the photo you&#8217;re looking at was shot in a landscape orientation, you&#8217;ll see a black area above and below the photo since the photo isn&#8217;t as tall as the screen.  Then, when you hold the iPhone sideways, the accelerometer lets the Photos app know the device is being held sideways (landscape mode), and the photo is rotated and zoomed into view so it fills the entire screen.</p>
<p>In other apps, holding the iPhone sideways may present a larger on-screen keyboard that some find easier to use.  However, many iPhone apps (including the Rackspace Cloud app), choose not to support a landscape view because the user interface may be too crowded for the limited screen space when rotated.</p>
<p>The iPad, however, has a very large screen, so there are few excuses for apps to not support landscape and portrait views (certain types of games are the obvious exception).  Apple will support both in all of their apps, so a third party app shouldn&#8217;t force a user to hold the iPad in a different way than he or she wants.  For the app, this means a more pleasant experience for users, and for developers, this means more work designing user interfaces and more time testing.</p>
<p><strong> 2. Screen </strong></p>
<p>The iPad screen is much larger than that of the iPhone, so the natural inclination is to fill all the new space with buttons.  The Rackspace Cloud iPad app will definitely include more functionality than the iPhone (there&#8217;s room now!), but simply adding functionality isn&#8217;t enough.  iPad users will expect breathtaking graphics in all of their apps, so extra care must be taken to make the app a beautiful experience.   For instance, I display server details in a UITableView with a plain pinstripe background.</p>
<p><img class="alignnone" title="iphone screenshot" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/iphone_app_table_background.png" alt="" width="320" height="480" /></p>
<p>This works great on the iPhone, but it looks sparse and bland on the iPad.  So, with the server table on the iPad app, I provide richer details in a table view that doesn&#8217;t consume the entire width of the view.  I also add background imagery to enhance the visual appeal.  This wouldn&#8217;t make sense on the iPhone, since the background takes up such a small portion of the screen.</p>
<p><img class="alignnone" title="iPad" src="http://c0179631.cdn.cloudfiles.rackspacecloud.com/ipadserverdetail%5B1%5D.jpg" alt="" width="319" height="413" /></p>
<p><strong><span style="text-decoration: underline;">Niceties </span></strong></p>
<p>As a Racker, I&#8217;m fortunate to have access to several bright people who have been able to help me with any API questions I&#8217;ve had.  I know how valuable this is, so if you need any help at all, feel free to reach out to me at <a href="mailto:mike.mayo@rackspace.com" target="_blank">mike.mayo@rackspace.com</a> or via Twitter at <a href="http://twitter.com/greenisus">@greenisus</a>.</p>
<p><span style="text-decoration: underline;"><strong>Conclusion </strong></span></p>
<p>The iPad SDK is a very fun world to immerse yourself in.  It&#8217;s an exciting frontier for developers to build new intuitive ways to interact with computers, and I highly encourage anyone with the stomach for learning Objective-C to dig in right away.  When the time comes, I&#8217;ll release the source code for this app to the public and welcome contributions.  But even if you don&#8217;t look at the code, I can&#8217;t wait for you to at least touch this app.</p>
<p>Once the iPad is released, I will hold a live demo session and you will have the opportunity ask any questions you might have. Stay tuned!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rackspace.com/blog/ipad-app-development-behind-the-scenes/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Content Delivery Network via Rackspace Cloud Files: c3414940.r40.cf0.rackcdn.com

 Served from: www.rackspace.com @ 2013-05-19 19:49:29 by W3 Total Cache -->