<?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/"
	xmlns:go='http://ns.gigaom.com/'
xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>GigaOM &#187; Walkthroughs</title>
	<atom:link href="http://gigaom.com/category/walkthroughs/feed/" rel="self" type="application/rss+xml" />
	<link>http://gigaom.com</link>
	<description></description>
	<lastBuildDate>Sun, 27 May 2012 08:45:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='gigaom.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/0db8f6557d022075dbbf010c54d46d93?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>GigaOM &#187; Walkthroughs</title>
		<link>http://gigaom.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://gigaom.com/osd.xml" title="GigaOM" />
	<atom:link rel='hub' href='http://gigaom.com/?pushpress=hub'/>
		<item>
		<title>iPhone Dev Sessions: Using Singletons</title>
		<link>http://gigaom.com/apple/iphone-dev-sessions-using-singletons/</link>
		<comments>http://gigaom.com/apple/iphone-dev-sessions-using-singletons/#comments</comments>
		<pubDate>Tue, 18 May 2010 15:25:08 +0000</pubDate>
		<dc:creator>Geoffrey Goetz</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[iPhone, iPod, iPad]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[iphone dev sessions]]></category>
		<category><![CDATA[Singletons]]></category>

		<guid isPermaLink="false">https://gigapple.wordpress.com/?p=44800</guid>
		<description><![CDATA[Managing an application’s state can sometimes require complex interaction with persistence and messaging with various resources, or it can be as simple as keeping track of a counter from one view to the next.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174182&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Managing an application’s state can sometimes require complex interaction with persistence and messaging with various resources, or it can be as simple as keeping track of a counter from one view to the next.</p>
<p>Two popular techniques to pass references to objects from one view to the next are to create properties in the Application Delegate, or to continue to pass references from one view to the next like a relay race passes a baton from one runner to the next using a series of carefully placed update methods making for an allocation nightmare and increase the opportunities for memory leaks or the hard to track down crashes. Sometimes this need in programming is referred to as implementing Global Variables. There is also a well established design pattern that can assist with this need as well, it is called the Singleton Pattern.</p>
<h2><strong>Singleton Pattern<br />
</strong></h2>
<p>The Singleton Pattern is a derivative of the Factory Pattern that ensures that one and only one instance of an Object can ever exist. By creating one or more implementations of the Singleton Pattern within a given application, the concept of ‘global variables’ can better be managed through tighter control. This allows for what is called lazy instantiation. If you do not need the variable based on what is going on in the application, then do not ask for or create an instance of one.  In Objective-C, Apple has outlined the recommended technique for implementing the singleton pattern.</p>
<div id="attachment_45007" class="wp-caption aligncenter" style="width: 310px"><img  title="Objective-C Singleton Pattern" src="http://gigapple.files.wordpress.com/2010/04/objectivec-singletonpattern.png?w=300&h=296" alt="Objective-C Singleton Pattern" width="300" height="296" class=" alignleft" /><p class="wp-caption-text">Objective-C Singleton Pattern</p></div>
<p><pre class="brush: objc;">
static MySingletonClass *sharedGizmoManager = nil;
(MySingletonClass*)sharedManager{
  if (sharedSingletonManager == nil) {
    sharedSingletonManager = [[super allocWithZone:NULL] init];
  }
  return sharedGizmoManager;
}
(id)allocWithZone:(NSZone *)zone{
  return [[self sharedManager] retain];
}
(id)copyWithZone:(NSZone *)zone{
  return self;
}
(id)retain{
  return self;
}
(NSUInteger)retainCount{
  return NSUIntegerMax;
}
(void)release{
  //do nothing
}
(id)autorelease{
  return self;
}
</pre></p>
<p>But you may find that the following is all that is necessary:</p>
<p><em><strong>Singleton.h</strong></em></p>
<p><pre class="brush: objc;">
#import &lt;Foundation/Foundation.h&gt;
@interface Singleton : NSObject {
}
+ (Singleton*) retrieveSingleton;
@end
</pre></p>
<p><em><strong>Singleton.m</strong></em></p>
<p><pre class="brush: objc;">
#import &quot;Singleton.h&quot;
@implementation Singleton
static Singleton *sharedSingleton = nil;
+ (Singleton*) retrieveSingleton {
  @synchronized(self) {
    if (sharedSingleton == nil) {
      sharedSingleton = [[Singleton alloc] init];
    }
  }
  return sharedSingleton;
}
+ (id) allocWithZone:(NSZone *) zone {
  @synchronized(self) {
    if (sharedSingleton == nil) {
      sharedSingleton = [super allocWithZone:zone];
      return sharedSingleton;
    }
  }
  return nil;
}
@end
</pre></p>
<p>Try and keep each singleton’s scope limited to manage only the information that is related to a particular use case and not as a catch-all for all global information across the application. It is probably best to utilize each singleton as a delegate to the information it is responsible for managing, and not use it as a means to gain access to any objects it has associations with. Although on the iPhone, and when being used in primarily a read only or a write seldom implementation, the risk of writing code that is not thread safe increases when utilizing shared objects. Keeping concurrency in mind, and utilizing the singleton as a delegate to the information at hand, one can watch out for multi thread related issues and deal with them in kind. One thing to watch out for would be include updating or setting properties of the singleton from within an implemented perform selector or a notification. If concurrency issues do arise, it may become necessary to synchronize access to certain properties or methods.</p>
<h2><strong>No, not the AppDelegate!</strong></h2>
<p>So why not just keep adding properties to the AppDelegate? After all, the AppDelegate is a singleton as well and is therefore accessible by invoking the sharedApplication class method. The problem with this techniques is that you end up loading up the application with too much information that may or may not be necessary depending on what functions the user chooses to evoke. It could also lead to longer and longer startup times. Get the application started as quickly as possible, and don’t leave the user hanging for too long.</p>
<h2><strong>What about Global Constants?</strong></h2>
<p>Keep in mind that this is not the best technique to employ if all you need is a means to define and gain access to Global Constants. The quickest way to do that is to create a Precompiled Prefix Header file and include that in your project. By default, most of the projects generated in XCode that create iPhone Applications will include a file with an extension of .pch. This file will initially look like the following:</p>
<p><pre class="brush: objc;">
#ifdef __OBJC__
#import &lt;Foundation/Foundation.h&gt;
#import &lt;UIKit/UIKit.h&gt;
#endif
</pre></p>
<p>One can then add any number of #define statements that will be included in all header files across the entire project.</p>
<p><pre class="brush: objc;">
#define SOME_STRING_CONSTANT @&quot;My Important String&quot;
</pre></p>
<h2><strong>Conclusion</strong></h2>
<p>The Singleton Pattern can be used to make the complex and ugly means of sharing a simple variable between two different views or view controls an easy task. If used sparingly and some basic guidelines are followed as not to bloat the application and create a multi thread nightmare to debug, this technique can be quite useful. Much more so than passing Objects back and forth among views or by breaking the encapsulation of the AppDelegate by assigning it more responsibility than it should have.</p>
<p><em>References</em></p>
<ul>
<li><a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaObjects/CocoaObjects.html#//apple_ref/doc/uid/TP40002974-CH4-SW32">Mac OS X Reference Library &#8211; Cocoa Fundamentals Guide &#8211; Creating a Singleton Instance</a></li>
<li><a href="https://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html">iPhone OS Reference Library &#8211; UIApplication Class Reference</a></li>
<li><a href="http://developer.apple.com/mac/library/DOCUMENTATION/DeveloperTools/Conceptual/XcodeBuildSystem/800-Reducing_Build_Times/bs_speed_up_build.html#//apple_ref/doc/uid/TP40002695-SW1">Mac OS X Reference Library &#8211; Xcode Build system Guide &#8211; Using a Precompiled Prefix Header</a></li>
</ul>
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174182&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/iphone-dev-sessions-using-singletons/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/940906757c2b8631cab8b60f4adb61a3?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">ggeoffre</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/04/objectivec-singletonpattern.png?w=300" medium="image">
			<media:title type="html">Objective-C Singleton Pattern</media:title>
		</media:content>
	</item>
		<item>
		<title>How-To: Replace Your iMac&#8217;s Hard Drive</title>
		<link>http://gigaom.com/apple/how-to-replace-your-imacs-hard-drive/</link>
		<comments>http://gigaom.com/apple/how-to-replace-your-imacs-hard-drive/#comments</comments>
		<pubDate>Mon, 17 May 2010 17:00:18 +0000</pubDate>
		<dc:creator>Andrew Flocchini</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[hard drive]]></category>
		<category><![CDATA[iMac]]></category>
		<category><![CDATA[replacement]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=45719</guid>
		<description><![CDATA[In an iMac's life, there are two things that you may find yourself wishing to upgrade, the memory and hard drive. Memory is easy enough to get to but the hard drive can seem a little daunting to some.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174230&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="Installer Icon" src="http://juicebox.theappleblog.com/e/c3c58eebb7cec3ae.png/l" alt="" width="300" height="300" class=" alignleft" />The iMac is a great machine that can last you a very long time. In its life, there are two things that you may find yourself wishing to upgrade, the memory and hard drive. Memory is easy enough to get to but the hard drive can seem a little daunting to some.</p>
<p>I&#8217;ll go through how to open the iMac up, just enough to replace the hard drive. There is risk involved with this but if you take your time, you should be just fine. If you want to transfer your data to the new drive before you begin, I recommend using a USB drive adapter such as <a title="Apricorn Drive Adapter" href="http://www.amazon.com/Apricorn-Drivewire-Universal-Adapter-2-5IN/dp/B000QY9KIS">this one</a> by Apricorn and <a href="http://www.bombich.com/">Carbon Copy Cloner</a>.</p>
<h2>Parts Needed</h2>
<p><strong>Suction cups:</strong> I am using suction cups from our server room floating floor but you can use any kind of suction cups you find at your local store.</p>
<p><strong>Phillips Screwdriver: </strong>This is to remove the memory door on the bottom.</p>
<p><strong>T8 Torx Screwdriver:</strong> The internal screws require this bit.</p>
<p><strong>Canned Air:</strong> This is to remove any dust that may settle on the screen before you reassemble it.</p>
<h2>Disassembly</h2>
<ol>
<li>The glass is held in by magnets so use your suction cups to pull the glass off the iMac.<br />
<img  title="apply_suction_cups_to_imac_screen" src="http://gigapple.files.wordpress.com/2010/05/photo.jpg?w=590&h=518" alt="" width="590" height="518" class=" alignleft" /><br />
<img  title="pull_off_imac_glass" src="http://gigapple.files.wordpress.com/2010/05/photo-1.jpg?w=590&h=526" alt="" width="590" height="526" class=" alignleft" /></li>
<li>Remove the memory door on the bottom of the iMac.<br />
<img  title="imac_memory_door" src="http://gigapple.files.wordpress.com/2010/05/photo-3.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Remove the Torx screws that are holding the metal case on.<br />
<img  title="imac_case_screw_locations" src="http://gigapple.files.wordpress.com/2010/05/photo-2.jpg?w=590&h=550" alt="" width="590" height="550" class=" alignleft" /></li>
<li>Pull the metal case off by starting at the top. You will see a connection by the iSight that you need to disconnect. After that, the case will slide right off.<br />
<img  title="imac_case_isight_connection" src="http://gigapple.files.wordpress.com/2010/05/photo-4.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Now the remove the screws on the sides of the actual LCD screen.<br />
<img  title="imac_case_off" src="http://gigapple.files.wordpress.com/2010/05/photo-5.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Gently rock the LCD screen forward from the top and you will see the hard drive behind it. You may need to disconnect the two wires running to the LCD.<br />
<img  title="imac_hard_drive_location" src="http://gigapple.files.wordpress.com/2010/05/photo-61.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Pull on the back plastic bar  on the left side and it will swing out.<br />
<img  title="imac_hard_drive_plastic_bar" src="http://gigapple.files.wordpress.com/2010/05/photo-7.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Remove the heat sensor by pulling off the foam and sensor carefully. Set the foam aside so we can use it to re-attach the sensor to the new drive.<br />
<img  title="imac_hard_drive_heat_sensor" src="http://gigapple.files.wordpress.com/2010/05/photo-8.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>The drive is ready to be come out by rocking the top out of the frame and then pulling it up.<br />
<img  title="imac_hard_drive_removal" src="http://gigapple.files.wordpress.com/2010/05/photo-11.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
<li>Once out, we need to transfer the Torx screws to the new drive.<br />
<img  title="imac_hard_drive_torx_screws" src="http://gigapple.files.wordpress.com/2010/05/photo-9.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /> <img  title="imac_hard_drive_torx_screws" src="http://gigapple.files.wordpress.com/2010/05/photo-10.jpg?w=590&h=442" alt="" width="590" height="442" class=" alignleft" /></li>
</ol>
<p>To reassemble, just follow the same steps in reverse. Go slowly and don&#8217;t force anything. All the pieces should slide back together without much effort. Some people like to take the LCD screen all the way off and that&#8217;s fine. You will need a T7 bit to disconnect the LCD screen from the board and just remember where each connector goes. Before you put the glass back on, use some canned air to blow off any dusk that may have settled on the LCD screen.</p>
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174230&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-replace-your-imacs-hard-drive/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	 <go:thumbnail>http://gigapple.files.wordpress.com/2010/05/harddrive_thumb.jpg?w=130</go:thumbnail> 
		<media:thumbnail url="http://gigapple.files.wordpress.com/2010/05/harddrive_thumb.jpg?w=210" />
		<media:content url="http://gigapple.files.wordpress.com/2010/05/harddrive_thumb.jpg?w=210" medium="image">
			<media:title type="html">harddrive_thumb</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/56e04118e8fb1fab8caa42294f7590ad?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">Andrew Flocchini</media:title>
		</media:content>

		<media:content url="http://juicebox.theappleblog.com/e/c3c58eebb7cec3ae.png/l" medium="image">
			<media:title type="html">Installer Icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo.jpg" medium="image">
			<media:title type="html">apply_suction_cups_to_imac_screen</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-1.jpg" medium="image">
			<media:title type="html">pull_off_imac_glass</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-3.jpg" medium="image">
			<media:title type="html">imac_memory_door</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-2.jpg" medium="image">
			<media:title type="html">imac_case_screw_locations</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-4.jpg" medium="image">
			<media:title type="html">imac_case_isight_connection</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-5.jpg" medium="image">
			<media:title type="html">imac_case_off</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-61.jpg" medium="image">
			<media:title type="html">imac_hard_drive_location</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-7.jpg" medium="image">
			<media:title type="html">imac_hard_drive_plastic_bar</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-8.jpg" medium="image">
			<media:title type="html">imac_hard_drive_heat_sensor</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-11.jpg" medium="image">
			<media:title type="html">imac_hard_drive_removal</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-9.jpg" medium="image">
			<media:title type="html">imac_hard_drive_torx_screws</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/05/photo-10.jpg" medium="image">
			<media:title type="html">imac_hard_drive_torx_screws</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone Dev Sessions: Making a Splash Screen</title>
		<link>http://gigaom.com/apple/iphone-dev-sessions-making-a-splash-screen/</link>
		<comments>http://gigaom.com/apple/iphone-dev-sessions-making-a-splash-screen/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 20:00:16 +0000</pubDate>
		<dc:creator>Geoffrey Goetz</dc:creator>
				<category><![CDATA[How-To]]></category>
		<category><![CDATA[iPhone, iPod, iPad]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[iphone dev sessions]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=44273</guid>
		<description><![CDATA[All too often an iPhone application’s launch sequence is an overlooked detail. The most common approach is to misuse the provided Default.png file as a splash screen. This detailing of an application is more than a little challenging if you want to get it right.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174160&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>All too often an iPhone application’s launch sequence is an overlooked detail. The most common approach is to misuse the provided Default.png file as a splash screen. As it turns out, this detailing of an application is more than a little challenging if you want to get it right and stay within Apple’s guidelines.</p>
<p>The key to a smooth and professional looking launch sequence starts with knowing exactly where the application will land at startup. Some applications start at exactly the same place each and every successive launch, others attempt to preserve the application&#8217;s state and launch into the screen where the user last used the application. Keeping this in mind can change the strategy of how the launch sequence is implemented. This includes screen orientation as well as how and even if the status bar it to be displayed.</p>
<p>One may witness flickering of the status bar from blue, to black or from black to blue during the launch sequence. This is mainly due to the fact that there are two places to change the behavior of the status bar. One is hidden in the info.plist file, and the other is typically via code in the Application Delegate’s <code>applicationDidFinishLaunching</code> method. The <code>info.plist</code> configuration is used before the main window is loaded, and the code in the Application Delegate is used during the launching of the main window. The reason one may want to utilize both styles is to take advantage of a full screen splash page, and then enable the appropriate looking status bar once the application has finished loading.</p>
<p>For the purpose of this example application, we will assume that the user state is preserved between executions, and we do not know exactly what the screen will look like when the user enters the application. We will therefore be implementing a full-screen splash view that will have the status bar hidden during the launch sequence. Once the splash view has disappeared, a black opaque status bar will be utilized throughout the application. It is also assumed that the application will launch in portrait mode, and that the first screen the user will see will also be in portrait mode.</p>
<h2>Editing the Configuration File</h2>
<p>The first order of business is to take care of the status bar. In Xcode, locate the <code>info.plist</code> file for the project. To add an additional property to the plist file, simply select one of the entries and click on the plus tab that appears to the right and select Status Bar Style from the drop down list:</p>
<div id="attachment_44274" class="wp-caption alignnone" style="width: 580px"><img  title="Edit Projects plist File" src="http://gigapple.files.wordpress.com/2010/04/image-001.jpg?w=570&h=337" alt="Edit Projects plist File" width="570" height="337" class=" alignleft" /><p class="wp-caption-text">Edit Projects plist File</p></div>
<p>There are only three different styles to choose from. Try each style out to see which one fits the needs of the application being developed. For this example we will set the style to <code>UIStatusBarStyleDefault</code>.</p>
<p><strong>UIStatusBarStyles:</strong><br />
<code>UIStatusBarStyleDefault</code> &#8212; Gray (the default)<br />
<code>UIStatusBarStyleBlackTranslucent</code> &#8212; Transparent black (specifically, black with an alpha of 0.5)<br />
<code>UIStatusBarStyleBlackOpaque</code> &#8212; Opaque black</p>
<p>If on the other hand the desire is to hide the status bar when the application launches, then yet another property needs to be set. In this case, add the &#8220;Status Bar is initially hidden&#8221; property to the plist file and be sure to check the box next to the property.</p>
<h2>Editing the Application Delegate code</h2>
<p>So now that the status bar style is set, and initially hidden, how does one get the status bar to display again? You can actually turn the status bar on and off programmatically via code. This is particularly handy when the need arises to display a full screen view, such as the splash screen this application is utilizing. In the <code>applicationDidFinishLaunching</code> method of the Application’s designated AppDelegate class, add the following line of code to make the status bar visible again:</p>
<p><pre class="brush: objc;">
- (void)applicationDidFinishLaunching:(UIApplication *)application {
    // Override point for customization after app launch
    [window addSubview:viewController.view];
    [window makeKeyAndVisible];
    [[UIApplication sharedApplication] setStatusBarHidden:NO animated:YES];
}
</pre></p>
<h2>Adding a Default.png Image</h2>
<p>Surprisingly, the size of this file is not as important as the naming convention of the file. Default.png is a case sensitive PNG file. The image should be 480&#215;320 according to Apple. Following Apple’s conventions, this image should look like the view that the user will see when the application has launched, and not the actual splash screen.</p>
<p>Xcode provides a mechanism to create a Default.png file from an attached device running the application. From the Organizer window, select the device, click on screenshots and click capture. To make that screenshot your application’s default image, click Save As Default Image. Even though the image that is created includes the status bar as it looked when the screen shot was captured, the iPhone OS replaces it with the current status bar when your application launches. Just to be clear, this is not a splash screen&#8230;not yet.</p>
<h2>Long Launch Sequences to Varying Views</h2>
<p>So far, this is what most applications will implement if they implement any sort of controlled visual experience when the application launches. If you follow Apple’s guidelines, and the image you produce is the first screen that the user will see, all is good. Except, what if the launch sequence is not as fast as the user expects? What if the application preserves state and lands on a different view based on the users last know state? Then this technique is not up to the task.</p>
<p>Photoshop a branded image representing the application and save it as a PNG image sized at 480&#215;320. Do not include a status bar of any kind in the image file being created. Add this image file to the project. Now the application sort of has a splash screen, through a misused implementation of the Default.png file. To correct this, simply add an image view as a property to the App Delegates header and create it as follows:</p>
<p><pre class="brush: objc;">
    splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    splashView.image = [UIImage imageNamed:@&quot;Default.png&quot;];
    [window addSubview:splashView];
    [window bringSubviewToFront:splashView];
</pre></p>
<p>At this point, the image view is utilizing the exact same image file that was created in Photoshop. There&#8217;s no chance of the initial view being different than the Default.png file at this point. The one remaining problem is the timing of when to remove the image view from the subview. This can be handled in one of two ways&#8230;</p>
<h2>Controlling the Duration of the Splash Screen</h2>
<p>The first option is for those with quick startup times that just want a splash screen. In this situation, create a method to remove and release the splash view, then calling that method via a timed perform selector call as follows:</p>
<p><pre class="brush: objc;">
    [self performSelector:@selector(removeSplash) withObject:nil afterDelay:1.5];
</pre></p>
<p>The <code>removeSplash</code> method does just that, removes the image view from the subview and releases the object.</p>
<p><pre class="brush: objc;">
    -(void)removeSplash;
    {
      [splashView removeFromSuperview];
      [splashView release];
    }
</pre></p>
<p>The second method uses the same remove splash method, but relies on the built in event management to trigger when the method gets called.</p>
<p><pre class="brush: objc;">
    [[NSNotificationCenter defaultCenter] addObserver:self
          selector:@selector(saveClaim:)
          name:@&quot;RemoveSplashScreen&quot;
          object:nil];
</pre></p>
<p>Now all that needs to be done is to post the notification from anywhere. This technique is particularly useful if the reason that the launch sequence is taking a long time has nothing to do with code that was implemented in the App Delegate.</p>
<p><pre class="brush: objc;">
    [[NSNotificationCenter defaultCenter]
          postNotificationName: @&quot;RemoveSplashScreen&quot;
          object: nil];
</pre></p>
<p>This technique can be employed from anywhere within the application. Removing the observer after the fact may avoid crashes if there is an opportunity for this notification to be fired multiple times. Releasing an object when no object it there to be released can lead to troublesome crashes to track down. The quick and dirty is to use the delay on the <code>performSelector</code> call.</p>
<h2>Conclusion</h2>
<p>And there it is, a splash screen that conforms to Apple’s guidelines. No hidden APIs, no hacks, no special sauce. A simple, straight forward approach to making the initial interaction with the user as pleasant as possible.</p>
<p><em>References:</em></p>
<ul>
<li><a href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplication_Class/Reference/Reference.html#//apple_ref/c/econst/UIStatusBarStyleDefault">iPhone OS Reference Library UIApplication Class Reference UIStatusBarStyle</a></li>
<li><a href="http://developer.apple.com/iphone/library/documentation/Xcode/Conceptual/iphone_development/128-Managing_Devices/devices.html#//apple_ref/doc/uid/TP40007959-CH4-SW19">iPhone OS Reference Library iPhone Development Guide Capturing Screen Shots</a></li>
<li><a href="http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Multithreading/RunLoopManagement/RunLoopManagement.html#//apple_ref/doc/uid/10000057i-CH16-SW44">Mac OS X Reference Library Threading Programming Guide Cocoa Perform Selector Sources</a></li>
<li><a href="http://developer.apple.com/mac/library/documentation/Cocoa/Reference/Foundation/Classes/NSNotificationCenter_Class/Reference/Reference.html">Mac OS X Reference Library NSNotificationsCenter Class Reference</a></li>
</ul>
<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=174160&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/iphone-dev-sessions-making-a-splash-screen/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/940906757c2b8631cab8b60f4adb61a3?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">ggeoffre</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/04/image-001.jpg" medium="image">
			<media:title type="html">Edit Projects plist File</media:title>
		</media:content>
	</item>
		<item>
		<title>How-To: Remotely Support Your Parents with Screen Sharing</title>
		<link>http://gigaom.com/apple/how-to-remotely-support-your-parents-with-screen-sharing/</link>
		<comments>http://gigaom.com/apple/how-to-remotely-support-your-parents-with-screen-sharing/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 17:00:53 +0000</pubDate>
		<dc:creator>Andrew Flocchini</dc:creator>
				<category><![CDATA[Misc]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[Cap and Trade]]></category>
		<category><![CDATA[carbon tax]]></category>
		<category><![CDATA[Chevy Volt]]></category>
		<category><![CDATA[climate change]]></category>
		<category><![CDATA[daily sprout]]></category>
		<category><![CDATA[electric car]]></category>
		<category><![CDATA[GE]]></category>
		<category><![CDATA[GM]]></category>
		<category><![CDATA[ichat]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[remote management]]></category>
		<category><![CDATA[tech support]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=39076</guid>
		<description><![CDATA[We&#8217;ve all been in the situation. Your mother calls you with a computer problem and you know it&#8217;s going to take at least an hour to walk her through the steps over the phone. Then she yells at you when you sigh out of frustration. If [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173836&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="screen sharing icon" src="http://gigapple.files.wordpress.com/2010/01/screensharingicon.png?w=240&h=240" alt="" width="240" height="240" class=" alignleft" /></p>
<p class="excerpt">We&#8217;ve all been in the situation. Your mother calls you with a computer problem and you know it&#8217;s going to take at least an hour to walk her through the steps over the phone. Then she yells at you when you sigh out of frustration.</p>
<p>If you have parents who use Macs then these calls happen less often but they still happen and usually at the worst time. This is how I use iChat and Snow Leopard&#8217;s Screen Sharing app to remotely control my parents computer and quickly solve their dilemmas.</p>
<p>Apple&#8217;s Screen Sharing is based on VNC and it is very powerful. Generally to remotely control a machine, you need to configure the host machine and open ports on the firewall. The genius behind Apple&#8217;s solution is that they use iChat to initiate the session and no other configuration is necessary. If you can talk them through setting up iChat for their account, you&#8217;re home free. <span id="more-173836"></span></p>
<p>Of course you&#8217;re going to need a compatible iChat account such as a .mac, AIM or Gmail account. I use Gmail since it&#8217;s free and my parents raised a frugal son. They also have a Gmail account so we&#8217;re on the same page as far as chat providers go. If you&#8217;ve never used iChat with them before you need to help them setup their account. Apple has made this pretty simple but if you can do it in person it&#8217;ll be easier on everybody. Next time you&#8217;re over, quickly setup iChat with their info so in the future you can get right into it.</p>
<p>The bonus of using audio and video to help them makes this a rather pleasant experience. If you have the hardware, get a video chat going and start the magic. When you&#8217;re in iChat, make sure you see them in your Buddy List. If not, do the following.</p>
<ol>
<li>In iChat logged in under your Gmail account, add them as a buddy.</li>
<p style="text-align: center;"><img  title="add a buddy" src="http://gigapple.files.wordpress.com/2010/01/addbuddy.png?w=300&h=174" alt="" width="300" height="174" class=" alignleft" /></p>
<li>If you both have a video icon, start up a video chat. You can also do an audio chat or just talk to them over the phone.</li>
<p style="text-align: center;"><img  title="ichat video icons" src="http://gigapple.files.wordpress.com/2010/01/ichatvideoicon1.png?w=316&h=126" alt="" width="316" height="126" class=" alignleft" /></p>
<li>Now request to take control of their screen by going to either the Buddies menu or the <strong>Start Screen Sharing</strong> icon in iChat.</li>
<p style="text-align: center;"><img  title="start screen sharing button" src="http://gigapple.files.wordpress.com/2010/01/startscreensharing.png?w=310&h=98" alt="" width="310" height="98" class=" alignleft" /></p>
<li>They will see a request dialog similar to this where they can Accept or Deny your offer.</li>
<p style="text-align: center;"><img  title="screen share request" src="http://gigapple.files.wordpress.com/2010/01/screensharerequest.png?w=420&h=191" alt="" width="420" height="191" class=" alignleft" /></p>
<li>After they accept your Screen Sharing request, you now have control of their machine. Fix their issues and they will think you&#8217;re a god.</li>
<li>When you&#8217;re finished you can end the Screen Sharing session by clicking the iChat icon in the menu bar and selecting <strong>End Screen Sharing</strong>.</li>
<p style="text-align: center;"><img  title="end screen sharing" src="http://gigapple.files.wordpress.com/2010/01/endscreensharing.png?w=359&h=129" alt="" width="359" height="129" class=" alignleft" /></p>
</ol>
<p>This is such a great tool that you have try it out to see how slick it is. I thank Apple for making such a perfect solution. No opening ports on their router or third-party software to install. Just a clean simple solution utilizing something you probably already use with them. Give this a try the next time you get that dreaded phone call and I promise you&#8217;ll be thankful.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173836+how-to-remotely-support-your-parents-with-screen-sharing&utm_content=andrewflocchini">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2010/04/finding-a-niche-in-the-electric-vehicle-market/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173836+how-to-remotely-support-your-parents-with-screen-sharing&utm_content=andrewflocchini">Finding a Niche in the Electric Vehicle&nbsp;Market</a></li><li><a href="?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173836+how-to-remotely-support-your-parents-with-screen-sharing&utm_content=andrewflocchini"></a></li><li><a href="http://pro.gigaom.com/2011/02/a-2011-green-it-forecast/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173836+how-to-remotely-support-your-parents-with-screen-sharing&utm_content=andrewflocchini">A 2011 Green IT&nbsp;Forecast</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173836&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-remotely-support-your-parents-with-screen-sharing/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
	 <go:thumbnail>http://gigapple.files.wordpress.com/2010/01/screensharing_thumb.jpg?w=130</go:thumbnail> 
		<media:thumbnail url="http://gigapple.files.wordpress.com/2010/01/screensharing_thumb.jpg?w=210" />
		<media:content url="http://gigapple.files.wordpress.com/2010/01/screensharing_thumb.jpg?w=210" medium="image">
			<media:title type="html">screensharing_thumb</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/56e04118e8fb1fab8caa42294f7590ad?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">Andrew Flocchini</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/screensharingicon.png?w=300" medium="image">
			<media:title type="html">screen sharing icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/addbuddy.png?w=300" medium="image">
			<media:title type="html">add a buddy</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/ichatvideoicon1.png" medium="image">
			<media:title type="html">ichat video icons</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/startscreensharing.png" medium="image">
			<media:title type="html">start screen sharing button</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/screensharerequest.png" medium="image">
			<media:title type="html">screen share request</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/endscreensharing.png" medium="image">
			<media:title type="html">end screen sharing</media:title>
		</media:content>
	</item>
		<item>
		<title>How-To: Image OS X and Boot Camp to a New Mac</title>
		<link>http://gigaom.com/apple/how-to-image-os-x-and-boot-camp-to-a-new-mac/</link>
		<comments>http://gigaom.com/apple/how-to-image-os-x-and-boot-camp-to-a-new-mac/#comments</comments>
		<pubDate>Tue, 12 Jan 2010 17:30:13 +0000</pubDate>
		<dc:creator>Andrew Flocchini</dc:creator>
				<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[boot camp]]></category>
		<category><![CDATA[carbon copy cloner]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[winclone]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=38906</guid>
		<description><![CDATA[You get a new Mac and even though you know you should, you don&#8217;t want to start over from scratch and reload the whole system. To make matters worse, you have Boot Camp installed and really don&#8217;t want to start over on the Windows side. So, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173825&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="ccclogo" src="http://gigapple.files.wordpress.com/2010/01/ccclogo.png?w=67&h=63" alt="" width="67" height="63" class=" alignleft" /></p>
<p class="excerpt">You get a new Mac and even though you know you should, you don&#8217;t want to start over from scratch and reload the whole system. To make matters worse, you have Boot Camp installed and really don&#8217;t want to start over on the Windows side. So, here&#8217;s how you can image both OS&#8217;s to a new machine using free tools.</p>
<p>You need to download the <a href="http://www.bombich.com/">Carbon Copy Cloner</a> and <a href="http://www.twocanoes.com/winclone/">Winclone</a> software packages. CCC was created by <a href="http://twitter.com/mbombich">Mike Bombich</a> and has been used for years to clone Mac machines. It is the standard tool for this job. Winclone is made by Twocanoes Software and this is what we will use to image the Windows Boot Camp partition. <span id="more-173825"></span></p>
<h3>Let&#8217;s Get Started</h3>
<p>Lets start off with Winclone first. After you install the app and run it for the first time, it will tell you it needs to download and install NTFSProgs. Click the download button and install NTFSProgs by following the wizard. The NTFSProgs software allows Winclone to properly read <a href="http://en.wikipedia.org/wiki/NTFS">NTFS</a> formatted partitions.</p>
<p style="text-align: center;"><img  title="DLNTFSProg" src="http://gigapple.files.wordpress.com/2010/01/dlntfsprog.png?w=560&h=229" alt="" width="560" height="229" class=" alignleft" /></p>
<p style="text-align: center;"><img  title="InstallNTFSProg" src="http://gigapple.files.wordpress.com/2010/01/installntfsprog.png?w=570&h=423" alt="" width="570" height="423" class=" alignleft" /></p>
<p>Now run Winclone again and select your Boot Camp partition in the Source dropdown. You can write some notes in the Item Description field if you&#8217;d like. When you&#8217;re ready, click the Image&#8230; button.</p>
<p style="text-align: center;"><img  title="winclone" src="http://gigapple.files.wordpress.com/2010/01/winclone.png?w=570&h=571" alt="" width="570" height="571" class=" alignleft" /></p>
<p>It will prompt you for a name and location to save the image to.</p>
<p style="text-align: center;"><img  title="winclonesave" src="http://gigapple.files.wordpress.com/2010/01/winclonesave.png?w=504&h=242" alt="" width="504" height="242" class=" alignleft" /></p>
<p>Now we wait for Winclone to do its work. When it&#8217;s completed, this dialog box will appear. You can now quit Winclone.</p>
<p style="text-align: center;"><img  title="winclonesuccess" src="http://gigapple.files.wordpress.com/2010/01/winclonesuccess.png?w=522&h=238" alt="" width="522" height="238" class=" alignleft" /></p>
<p>Carbon Copy Cloner is a little different in that it can image from your old machine to your new one using a Firewire or network connection. For this tutorial we&#8217;ll use the Firewire method. Setup your new machine and connect a Firewire cable between the two Macs. On the new Mac, hit the power button and hold down the &#8220;T&#8221; key on the keyboard until you see the Firewire symbol on the screen. This boots it into<strong> </strong>Target Disk Mode where it will act as if it&#8217;s just an external Firewire hard drive. On your old Mac we need to launch Carbon Copy Cloner. Your Source Disk drive is your local drive and the Target Disk is the Firewire drive. Click the Clone button and off we go.</p>
<p style="text-align: center;"><img  title="ccc" src="http://gigapple.files.wordpress.com/2010/01/ccc.png?w=570&h=489" alt="" width="570" height="489" class=" alignleft" /></p>
<p>After CCC is finished, reboot the new Mac and it should be identical to the original. From here on out, we are done with the old machine. When we imaged the Mac partition, we also brought along the Winclone image with it so now we can restore that image on our new Mac. Launch the Boot Camp Assistant in the utilities folder to create a new Windows partition.</p>
<p style="text-align: center;"><img  title="bootcamp" src="http://gigapple.files.wordpress.com/2010/01/bootcamp.png?w=570&h=437" alt="" width="570" height="437" class=" alignleft" /></p>
<p>Launch Winclone and click on the Restore tab. Click the Select Image button and browse to your Windows image. Mine was in the Documents folder.</p>
<p style="text-align: center;"><img  title="bootcamp2" src="http://gigapple.files.wordpress.com/2010/01/bootcamp2.png?w=551&h=392" alt="" width="551" height="392" class=" alignleft" /></p>
<p>Restore it to your newly created Boot Camp partition.</p>
<p style="text-align: center;"><img  title="Winclone Restore" src="http://gigapple.files.wordpress.com/2010/01/winclone2.png?w=570&h=571" alt="" width="570" height="571" class=" alignleft" /></p>
<p>You know have a new Mac that&#8217;s a complete clone of your old one, Boot Camp and all. Windows will probably complain, as it always does, about drivers. Just insert your OS X DVD while in Windows and let it re-install the Boot Camp drivers for you. Of course, starting over from scratch is cleaner but sometimes you just don&#8217;t have the time. Proper cloning offers a reasonably quick solution.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173825+how-to-image-os-x-and-boot-camp-to-a-new-mac&utm_content=andrewflocchini">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173825+how-to-image-os-x-and-boot-camp-to-a-new-mac&utm_content=andrewflocchini">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173825+how-to-image-os-x-and-boot-camp-to-a-new-mac&utm_content=andrewflocchini">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173825+how-to-image-os-x-and-boot-camp-to-a-new-mac&utm_content=andrewflocchini">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173825&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-image-os-x-and-boot-camp-to-a-new-mac/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/56e04118e8fb1fab8caa42294f7590ad?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">Andrew Flocchini</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/ccclogo.png" medium="image">
			<media:title type="html">ccclogo</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/dlntfsprog.png" medium="image">
			<media:title type="html">DLNTFSProg</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/installntfsprog.png?w=570" medium="image">
			<media:title type="html">InstallNTFSProg</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/winclone.png?w=570" medium="image">
			<media:title type="html">winclone</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/winclonesave.png" medium="image">
			<media:title type="html">winclonesave</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/winclonesuccess.png" medium="image">
			<media:title type="html">winclonesuccess</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/ccc.png?w=570" medium="image">
			<media:title type="html">ccc</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/bootcamp.png?w=570" medium="image">
			<media:title type="html">bootcamp</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/bootcamp2.png" medium="image">
			<media:title type="html">bootcamp2</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2010/01/winclone2.png?w=570" medium="image">
			<media:title type="html">Winclone Restore</media:title>
		</media:content>
	</item>
		<item>
		<title>How-To: Replicating Coda&#8217;s Books Feature With Google Quick Search Box</title>
		<link>http://gigaom.com/apple/how-to-replicating-codas-books-feature-with-google-quick-search-box/</link>
		<comments>http://gigaom.com/apple/how-to-replicating-codas-books-feature-with-google-quick-search-box/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 18:00:29 +0000</pubDate>
		<dc:creator>Bryan Schuetz</dc:creator>
				<category><![CDATA[Policy]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[climate change]]></category>
		<category><![CDATA[COP15]]></category>
		<category><![CDATA[copenhagen]]></category>
		<category><![CDATA[espresso]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[innovation]]></category>
		<category><![CDATA[intellectual property]]></category>
		<category><![CDATA[quick search box]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=38419</guid>
		<description><![CDATA[I recently made the switch to the newest version of the web development application Espresso. After having used Coda for all my previous web development needs, I&#8217;m naturally making some comparisons between the two. I&#8217;ll leave the blow by blow evaluation to others but thought it [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173792&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="espresso_ReplicatingReference" src="http://gigapple.files.wordpress.com/2009/12/espresso.png?w=150&h=154" alt="Espresso Icon" width="150" height="154" class=" alignleft" />I recently made the switch to the newest version of the web development application <a href="http://macrabbit.com/espresso/">Espresso</a>. After having used <a href="http://www.panic.com/coda/">Coda</a> for all my previous web development needs, I&#8217;m naturally making some comparisons between the two. I&#8217;ll leave the blow by blow evaluation to others but thought it worth noting that the one feature I find myself really missing the most from Coda is the ability to quickly search through reference books. This surprised me a bit as I wouldn&#8217;t normally list this as a &#8220;killer feature&#8221; of Coda, but more than anything else I&#8217;ve found myself continuously cursing the lack of this option in Espresso.</p>
<p>Thinking others might be feeling the same way I quickly threw together this <a href="http://a.theappleblog.com/files/codex_plugin.zip">Google Quick Search Box plug-in</a> (ZIP, 742kb) that will let you send searches to reference sources for HTML, CSS, JQuery, PHP, MySQL, Python, and WordPress. You can start the query by entering text directly into QSB or by selecting text within Espresso itself, or any other application for that matter. <span id="more-173792"></span></p>
<p>It seems like a simple feature hardly worth mentioning but I&#8217;ve found that having the option to quickly check up on the details of a particular function, element, declaration, etc. is an essential part of the way I work. In Coda you can add your own reference books directly into the application associating each one with a particular code type, e.g. php, css, javascript.</p>
<p><img  title="Books_ReplicatingReference" src="http://gigapple.files.wordpress.com/2009/12/books.png?w=570&h=618" alt="Coda Screenshot" width="570" height="618" class=" alignleft" /></p>
<p>While in the code editor you can then select some text and choose &#8220;Look Up in Reference Books&#8221; from the contextual menu which will execute a search at the associated reference source using the text as the query. Unfortunately, one of the drawbacks to this approach is that you can&#8217;t quickly send queries to more than one source for a given code type. Nevertheless, over time I&#8217;ve really become dependent on being able to run these quick lookups.</p>
<p>I figured the best way to close this gap in Espresso was by building a QSB plug-in. To install the plug-in just add the codex.hgs file into your <code>~/Library/Application Support/Google/Quick Search Box/PlugIns</code> directory. Once installed you will need to restart QSB in order to access the new actions.</p>
<p><img  title="codex_ReplicatingReference" src="http://gigapple.files.wordpress.com/2009/12/codex.png?w=464&h=455" alt="QSB Screenshot" width="464" height="455" class=" alignleft" /></p>
<p>Once you have everything working, just add any text into QSB (don&#8217;t forget to prepend with a space) press &#8220;tab&#8221; to pivot to an action and select a codex to search. Typing &#8220;codex&#8221; will bring up all available sources or you can just type the name of a specific source, e.g. WordPress, JQuery, and so on.  Once you have selected the codex to be searched, press return to send the query. Alternatively, you can also start by sending text to QSB from within Espresso, or whatever other editor you&#8217;re using, by selecting the appropriate bit of code and choosing &#8220;Send to Quick Search Box&#8221; from the services menu.</p>
<p>With the theory that a picture is worth a thousand words I recorded this quick video demonstrating the plug-in in action.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="580" height="326" 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://vimeo.com/moogaloop.swf?clip_id=8462058&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=b3cb55&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="580" height="326" src="http://vimeo.com/moogaloop.swf?clip_id=8462058&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=b3cb55&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Now that I have quick access to all my reference books I think I&#8217;ll be switching over to Espresso full-time. I&#8217;d be interested in hearing if anyone else has recently made the switch to Espresso and if so what they&#8217;ve been missing the most.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173792+how-to-replicating-codas-books-feature-with-google-quick-search-box&utm_content=bryanschuetz">Sign up for a free trial</a>.</p><ul><li><a href="?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173792+how-to-replicating-codas-books-feature-with-google-quick-search-box&utm_content=bryanschuetz"></a></li><li><a href="http://pro.gigaom.com/2009/12/copenhagen-boosts-tech-companies-green-plans/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173792+how-to-replicating-codas-books-feature-with-google-quick-search-box&utm_content=bryanschuetz">Copenhagen Boosts Tech Companies&#8217; Green&nbsp;Plans</a></li><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173792+how-to-replicating-codas-books-feature-with-google-quick-search-box&utm_content=bryanschuetz">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173792&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-replicating-codas-books-feature-with-google-quick-search-box/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b1f0aaa5169b785bc9f833a12aba5b3c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">bryanschuetz</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/12/espresso.png" medium="image">
			<media:title type="html">espresso_ReplicatingReference</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/12/books.png" medium="image">
			<media:title type="html">Books_ReplicatingReference</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/12/codex.png" medium="image">
			<media:title type="html">codex_ReplicatingReference</media:title>
		</media:content>
	</item>
		<item>
		<title>Complete Guide to Cleaning and Disinfecting Your Mac</title>
		<link>http://gigaom.com/apple/complete-guide-to-cleaning-and-disinfecting-your-mac/</link>
		<comments>http://gigaom.com/apple/complete-guide-to-cleaning-and-disinfecting-your-mac/#comments</comments>
		<pubDate>Mon, 14 Dec 2009 18:00:30 +0000</pubDate>
		<dc:creator>Charles Moore</dc:creator>
				<category><![CDATA[CNN Mobile]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[NYT Company News]]></category>
		<category><![CDATA[SYN Analysis]]></category>
		<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[cleaning]]></category>
		<category><![CDATA[disinfecting]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Motorola]]></category>
		<category><![CDATA[windows mobile]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=37546</guid>
		<description><![CDATA[Computers get dirty, especially their human interface surfaces &#8212; keyboards and pointing devices. In some instances, dirt can even affect input device performance as well as appearance. Some time ago the faithful SlimType gave me a scare when the F and W keys stopped responding properly. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173743&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="clean_mac" src="http://gigapple.files.wordpress.com/2009/12/clean_mac.jpg?w=256&h=256" alt="" width="256" height="256" class=" alignleft" /></p>
<p class="excerpt">Computers get dirty, especially their human interface surfaces &#8212; keyboards and pointing devices.</p>
<p>In some instances, dirt can even affect input device performance as well as appearance. Some time ago the faithful <a href="http://us.kensington.com/html/4826.html">SlimType</a> gave me a scare when the F and W keys stopped responding properly. A keystroke would register only when the key was pressed more firmly than usual, and the  subtle  over-center click of the SlimType&#8217;s scissors keyswitch mechanism was missing &#8212; the malfunctioning keys feeling &#8220;numb&#8221; and offering  higher than normal resistance.</p>
<p>The medicine that time proved to be blowing out the accumulated crud beneath the key console with compressed air. I successfully used an automotive shop compressor with a blow gun. For more cautious folks, or those without convenient access to a compressor, one of those little aerosol cans of compressed air used for cleaning photography equipment could do the trick.</p>
<p>But sometimes a bit of compressed air <em>isn&#8217;t</em> enough. So, here is our guide to cleaning everything from mice to laptops. <span id="more-173743"></span></p>
<h3>Getting Started: Apple&#8217;s Cleaning Recommendations</h3>
<p>Apple has posted <a href="http://support.apple.com/kb/HT3226">a Knowledge Base article</a> covering recommendations and guidelines for cleaning Apple computers, displays, or input/ peripheral devices. Much of its advice should be common sense, such as before you start cleaning:</p>
<ol>
<li>Turn off your Mac.</li>
<li>Unplug the power cord from the wall or power strip.</li>
<li>Remove the battery (from products with removable batteries such as some Apple portables or from wireless devices such as mice and keyboards).</li>
<li>Disconnect all external devices from the computer.</li>
</ol>
<p>Other warnings some users might be less likely to think of are:</p>
<ul>
<li>Don&#8217;t use window sprays or cleaning products containing ammonia, chlorine, or abrasive ingredients.</li>
<li>Don&#8217;t use rough towels or cloths to dry the plastic.</li>
<li>Don&#8217;t spray cleaner directly onto your computer. Liquid could drip inside the case and cause an electrical shock or malfunction.</li>
<li>Don&#8217;t use excessively damp cleaning wipes.</li>
</ul>
<p>If more than dusting is needed, use a lint-free cloth slightly dampened to wipe away dirt or grime. Don&#8217;t over-wet the cloth. If you can squeeze drips of water out by wringing, it&#8217;s too wet.</p>
<h3>Solvents and Cleaners</h3>
<p>Plain water may not be effective on oils or grease residues, in which case a stronger agent will be needed. Try <a href="http://www.klearscreen.com">iKlear</a> or mild detergent first.</p>
<h3>Cleaning Laptops</h3>
<p>Instructions specific to Apple laptops include not using isopropyl alcohol on bare LCD panels (or any type of alcohol or ammonia-based glass or window cleaner, I hasten to add). Use only a damp, soft, lint-free cloth or purpose-made, Apple-approved LCD cleaning product like iKlear.</p>
<p>Aluminum portables are best tackled with a damp, soft, lint-free cloth. Apple says it&#8217;s safe to use 70 percent isopropyl alcohol on them (I personally wouldn&#8217;t) or iKlear. Remove surface dust or loose dirt gently with your bare hand before proceeding with cleaner and cloth. After cleaning, dry the aluminum with a soft, lint-free cloth.</p>
<p>For plastic portables, the same applies as aluminum, but I would recommend a gentler, damp-cloth approach first and reserve the heavier-duty agents for stubborn stuff. As with the metal machines, remove any loose surface dirt gently with your bare hand before proceeding with cleaner and cloth. After cleaning, dry the plastic with a soft, lint-free cloth.</p>
<p>For the new unibody MacBook&#8217;s non-slip plastic coated aluminum bottom case, Apple recommends using a 3M Gray Microfiber or soft dye-free, lint-free cloth for cleaning, once again giving its blessing to 70 percent isopropyl alcohol or iKlear on the bottom case.</p>
<h3>Mouse Cleaning</h3>
<p>Mice get dirty. When your mouse becomes covered in fingerprints or its surface is soiled, you can gently wipe it with a clean, lint-free cloth. If necessary, moisten the cloth using plain water, making sure not to over-saturate it, and be mindful that the mouse&#8217;s internal electronic components may be damaged if water seeps or drips inside.</p>
<p>With Apple&#8217;s Mighty Mouse, the scroll ball can be cleaned using a  lint-free cloth lightly moistened with water, making sure to rotate the ball itself to ensure complete coverage or you can <a href="http://gigaom.com/apple/revive-your-mighty-mouse-scroll-ball/">use something like Wet One</a>.</p>
<h3>Drowned Keyboard First Aid</h3>
<p>Moisture is potential death to electronics, as anyone who&#8217;s ever spilled liquids on a computer keyboard or laptop can ruefully tell you. Apple also warns against using solvents like acetone, alcohol, or alcohol-based cleaners on your computer, admonishing to never spray cleaner directly onto the machine, since liquid could drip inside the keyboard or case and cause an electrical shock (or more likely a component-frying short-circuit and/or residual corrosion).</p>
<p>Should  you spill liquid on your keyboard, if it&#8217;s thin and clear fluid, immediately shut the computer down, unplug the keyboard, turn it upside down, and drain the liquid out, let it dry (inverted or on edge is best) for 24 hours at room temperature, after which it may or may not recover. If the liquid is greasy, sweet, sticky, or acidic, you&#8217;re likely out of luck. I ruined a MacAlly iceKey scissors-action keyboard a while back by sloshing diluted Grapefruit Seed Extract (extremely acidic) on it twice in a week &#8212; the only times I&#8217;ve drowned a keyboard in two decades of computer use. We disassembled the keyboard and cleaned the circuits, but corrosion had set in.</p>
<h3>Computer Disinfection</h3>
<p>With the H1N1 flu pandemic, computer contact surface disinfection has moved to the front burner, especially for machines accessed by multiple users. Apple support also has a Knowledge Base article entitled <a href="http://support.apple.com/kb/TA25158">How To Disinfect The Apple Internal Or External Keyboard, Trackpad, And Mouse</a>. The article recommends, in addition to regular cleaning of your computer and input devices, that disinfecting them may be desirable, noting that,&#8221;Multiple people using the same computer, people using the computer when they were ill, and the particular environment where the computer is used, are a few reasons you may wish to disinfect areas of the computer that people come into contact with the most.&#8221;</p>
<p>Using a mild soap with antibacterial properties will help, but Apple suggests properly disinfecting contact areas with products like Lysol Wipes, Clorox Disinfecting wipes, or Clorox Kitchen Disinfecting Wipes. I would be cautious about using them on the screen however (except for glass-covered aluminum laptop and iMac displays), and would stick with water or iKlear for that. Otherwise, follow the general rules outlined in the regular cleaning instructions above, with a special caveat to not use disinfectant wipes containing bleach, or disinfectant sprays in general.</p>
<p>What are some techniques you&#8217;ve used to clean those hard to reach and sensitive areas of your gadgets?</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173743+complete-guide-to-cleaning-and-disinfecting-your-mac&utm_content=cwmoore1">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173743+complete-guide-to-cleaning-and-disinfecting-your-mac&utm_content=cwmoore1">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/02/a-2011-mobile-forecast/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173743+complete-guide-to-cleaning-and-disinfecting-your-mac&utm_content=cwmoore1">A 2011 Mobile&nbsp;Forecast</a></li><li><a href="http://pro.gigaom.com/2011/01/green-its-q4-winners-wind-power-solar-power-smart-energy/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173743+complete-guide-to-cleaning-and-disinfecting-your-mac&utm_content=cwmoore1">Green IT&#8217;s Q4 Winners: Wind Power, Solar Power, Smart&nbsp;Energy</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173743&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/complete-guide-to-cleaning-and-disinfecting-your-mac/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
	 <go:thumbnail>http://gigapple.files.wordpress.com/2009/12/cleanmac_thumb.jpg?w=130</go:thumbnail> 
		<media:thumbnail url="http://gigapple.files.wordpress.com/2009/12/cleanmac_thumb.jpg?w=210" />
		<media:content url="http://gigapple.files.wordpress.com/2009/12/cleanmac_thumb.jpg?w=210" medium="image">
			<media:title type="html">cleanmac_thumb</media:title>
		</media:content>

		<media:content url="http://1.gravatar.com/avatar/9895dd68ba2df05dda4d809a645e1da8?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">cwmoore1</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/12/clean_mac.jpg" medium="image">
			<media:title type="html">clean_mac</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: Enable Expose and Spaces for the Magic Mouse</title>
		<link>http://gigaom.com/apple/how-to-enable-expose-and-spaces-for-the-magic-mouse/</link>
		<comments>http://gigaom.com/apple/how-to-enable-expose-and-spaces-for-the-magic-mouse/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 17:00:10 +0000</pubDate>
		<dc:creator>Bryan Schuetz</dc:creator>
				<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[expose]]></category>
		<category><![CDATA[How-To]]></category>
		<category><![CDATA[Magic Mouse]]></category>
		<category><![CDATA[spaces]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=35089</guid>
		<description><![CDATA[So you&#8217;re loving your brand new Magic Mouse but are missing the ability to activate Expose and Spaces right from the mouse? Not to worry, we&#8217;ve got you covered. Using SIMBL and a neat little preference pane called MultiClutch, we can map our own custom shortcuts [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173574&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="magicmouse" src="http://gigapple.files.wordpress.com/2009/10/magicmouse.png?w=252&h=242" alt="magicmouse" width="252" height="242" class=" alignleft" /></p>
<p class="excerpt">So you&#8217;re loving your brand new <a href="http://gigaom.com/apple/apple-unveils-the-magic-mouse/">Magic Mouse</a> but are missing the ability to activate Expose and Spaces right from the mouse?  Not to worry, we&#8217;ve got you covered.  Using <a href="http://culater.net/software/SIMBL/SIMBL.php">SIMBL</a> and a neat little preference pane called <a href="http://wcrawford.org/2008/02/28/everytime-i-think-about-you-i-touch-my-cell/">MultiClutch</a>, we can map our own custom shortcuts to the left and right swipes coming from the Magic Mouse and have them activate Spaces and Expose instead of navigating forward and back.</p>
<h3>Getting Setup</h3>
<p>The first thing we need to do is to get MultiClutch up and working in a 64-bit Snow Leopard world. MultiClutch, like a lot of apps relying on InputManagers, kind of got gimped when the new big cat showed up. Luckily though, a recent fork in the project now allows for its plugin to be loaded through the latest SIMBL release.</p>
<p>You can find some <a href="http://blog.prashantv.com/2009/multiclutch-fixes-instructions/">detailed instructions</a> on how to get MultiClutch up and running from the source of the new plugin, but essentially what you need to do is:</p>
<ul>
<li> Install the  original MultiClutch <a href="http://wcrawford.org/2008/02/28/everytime-i-think-about-you-i-touch-my-cell/">application</a>.</li>
<li> Install the latest version of <a href="http://www.culater.net/software/SIMBL/SIMBL.php">SIMBL</a>.</li>
<li> Download the forked version of the <a href="http://blog.prashantv.com/files/multiclutch/AirKeysInputManager.bundle2.zip">MultiClutch plugin</a> and load it into the SIMBL plugin directory at <code>/Library/Application Support/SIMBL/Plugins</code>.</li>
<li> Go in and remove the old version of the MultiClutch plugin from <code>/Library/InputManagers</code>.</li>
</ul>
<p><span id="more-173574"></span></p>
<h3>Adding Shortcuts</h3>
<p>Once you have MultiClutch up and running, open its preference pane and add new gestures for Swipe Left and Swipe Right and then assign them each key commands. If you&#8217;re configuring for use with Spaces and Expose you&#8217;ll have to use one of the function keys. You may have to do some shuffling around depending on what function keys you already have mapped. I used F1 and F2 as they weren&#8217;t already mapped to anything.</p>
<p><img  title="MultiClutch" src="http://gigapple.files.wordpress.com/2009/10/multiclutch.png?w=570&h=378" alt="MultiClutch" width="570" height="378" class=" alignleft" /></p>
<p>Then just go into your preferences for Expose and Spaces and set Activate Spaces and All Windows to the corresponding key command you used in MultiClutch. Since we&#8217;re using SIMBL you&#8217;ll have to quit and relaunch any applications that were already active when we started in order for the system to pick up our new shortcuts when that application is active.</p>
<h3>Caveat Emptor</h3>
<p>Obviously this is not an ideal solution, and ultimately it would be best for Apple to build in some customization options for Magic Mouse gestures right into the Mouse preference pane. As with anything that is this hacked together, your milage may vary, but I&#8217;ve been using it for a couple days now and it&#8217;s working great. On the whole I really love the new Magic Mouse but not having my Expose and Spaces was a bit of a deal breaker for me. Hopefully this will at least be able to tide us over until a more solid solution comes along.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173574+how-to-enable-expose-and-spaces-for-the-magic-mouse&utm_content=bryanschuetz">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173574+how-to-enable-expose-and-spaces-for-the-magic-mouse&utm_content=bryanschuetz">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173574+how-to-enable-expose-and-spaces-for-the-magic-mouse&utm_content=bryanschuetz">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173574+how-to-enable-expose-and-spaces-for-the-magic-mouse&utm_content=bryanschuetz">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173574&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-enable-expose-and-spaces-for-the-magic-mouse/feed/</wfw:commentRss>
		<slash:comments>80</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b1f0aaa5169b785bc9f833a12aba5b3c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">bryanschuetz</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/10/magicmouse.png" medium="image">
			<media:title type="html">magicmouse</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/10/multiclutch.png" medium="image">
			<media:title type="html">MultiClutch</media:title>
		</media:content>
	</item>
		<item>
		<title>How-to: Create Services for Quick Search Box</title>
		<link>http://gigaom.com/apple/how-to-create-services-for-quick-search-box/</link>
		<comments>http://gigaom.com/apple/how-to-create-services-for-quick-search-box/#comments</comments>
		<pubDate>Wed, 28 Oct 2009 22:00:39 +0000</pubDate>
		<dc:creator>Bryan Schuetz</dc:creator>
				<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[qsb]]></category>
		<category><![CDATA[quick search box]]></category>
		<category><![CDATA[quicksilver]]></category>
		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=34780</guid>
		<description><![CDATA[I&#8217;ve been playing around with Google Quick Search Box lately and am especially enjoying this services plugin from Martin Kuhl which lets you activate and pass input to OS X services right from within QSB. One snag though has been that services created through the new [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173554&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="QSB_icon" src="http://gigapple.files.wordpress.com/2009/10/qsb.png?w=125&h=125" alt="QSB_icon" width="125" height="125" class=" alignleft" /></p>
<p class="excerpt">I&#8217;ve been playing around with <a href="http://gigaom.com/apple/video-walkthrough-getting-serious-with-quick-search-box/">Google Quick Search Box</a> lately and am especially enjoying this <a href="http://github.com/mkhl/services.hgs">services plugin</a> from Martin Kuhl which lets you activate and pass input to OS X services right from within QSB.</p>
<p>One snag though has been that services created through the new Automator template included in Snow Leopard leave out some vital bits that limit integration.  Luckily, a handy application from Waffle Software called <a href="http://wafflesoftware.net/thisservice/">ThisService</a> makes creating proper services that integrate seamlessly with QSB a lot easier than you might think.</p>
<p>Being able to extend the functionality of QSB with OS X services really opens up a lot of possibilities.  Grab text or files in QSB and pass them on to your services to do whatever you want with them, like creating a new To Do item in iCal. I&#8217;ve been focused recently on replicating functionality that I lost when I made the switch over from Quicksilver and I think that this improved service integration will get me about 90 percent of the way there. <span id="more-173554"></span></p>
<p>The bad news is that this means I need to whip up a bunch of custom services for myself. The good news is that <a href="http://wafflesoftware.net/thisservice/">ThisService</a> makes that task very easy. Just give it a script (AppleScript will do, but if you&#8217;re more comfortable with other scripting languages you can use those), define the type and name of your service and click Create Service. ThisService handles all the fiddly Cocoa bits and spits out a completed service into your <code>~/Library/Services</code> directory where QSB will see it and serve it up as an available action when appropriate.<br />
<img  title="ThisService" src="http://gigapple.files.wordpress.com/2009/10/thisservice.png?w=581&h=410" alt="ThisService" width="581" height="410" class=" alignleft" /><br />
Actually writing your AppleScript will likely be the most complicated part, which is why ThisServices comes bundled with some handy starter scripts to put you on the right path. They also make a number of <a href="http://wafflesoftware.net/thisservice/services/">example scripts and services</a> available for download from their site. The scripts don&#8217;t need to be complicated. For example, here is the one I use for adding To Do items in iCal:</p>
<p><pre class="brush: csharp;">
on process(input)
tell application &quot;iCal&quot;
tell calendar &quot;work&quot;
make new todo at end with properties {summary:input}
end tell
end tell
end process
</pre></p>
<p>If you wanted to get fancy you could pass additional properties like the due date, priority, etc., but just getting a new item into the list is all I need.</p>
<p>Once you have your service setup accessing them through Quick Search Box is as easy as can be. Because showing seems to be more useful than describing, below is a quick little video clip of the To Do service in action. What kind of services would you like to have? Share your thoughts in the comments.</p>
<p><object width="580" height="326"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=7311312&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=BAD35B&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=7311312&amp;server=vimeo.com&amp;show_title=0&amp;show_byline=0&amp;show_portrait=0&amp;color=BAD35B&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="580" height="326"></embed></object></p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173554+how-to-create-services-for-quick-search-box&utm_content=bryanschuetz">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173554+how-to-create-services-for-quick-search-box&utm_content=bryanschuetz">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173554+how-to-create-services-for-quick-search-box&utm_content=bryanschuetz">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173554+how-to-create-services-for-quick-search-box&utm_content=bryanschuetz">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173554&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/how-to-create-services-for-quick-search-box/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/b1f0aaa5169b785bc9f833a12aba5b3c?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">bryanschuetz</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/10/qsb.png" medium="image">
			<media:title type="html">QSB_icon</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/10/thisservice.png" medium="image">
			<media:title type="html">ThisService</media:title>
		</media:content>
	</item>
		<item>
		<title>Complete Guide to Apple Certification and Training</title>
		<link>http://gigaom.com/apple/complete-guide-to-apple-certification-and-training/</link>
		<comments>http://gigaom.com/apple/complete-guide-to-apple-certification-and-training/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 17:30:53 +0000</pubDate>
		<dc:creator>Dave Greenbaum</dc:creator>
				<category><![CDATA[Walkthroughs]]></category>
		<category><![CDATA[certification]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://theappleblog.com/?p=33500</guid>
		<description><![CDATA[Although I&#8217;ve been supporting Macs since they came out in 1984 (when I was in high school), I haven&#8217;t received any &#8220;formal&#8221; training. It has mostly been learning by doing, reading the occasional book and now of course, TheAppleBlog. Does formal certification really make a difference [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173451&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img  title="apple_logo1" src="http://gigapple.files.wordpress.com/2009/02/apple_logo1.png?w=214&h=257" alt="apple_logo1" width="214" height="257" class=" alignleft" /></p>
<p class="excerpt">Although I&#8217;ve been supporting Macs since they came out in 1984 (when I was in high school), I haven&#8217;t received any &#8220;formal&#8221; training. It has mostly been learning by doing, reading the occasional book and now of course, <a href="http://www.theappleblog.com">TheAppleBlog</a>. Does formal certification really make a difference as a technician? You tell me.</p>
<p>Recently I got into an argument with a vendor that somehow thought a technician who first started repairing Macs sixth months ago trumped my 25 years experience. Did certification make this person a better technician? Having done quite a bit of hiring myself, I&#8217;ve too often found that certification only verifies your ability to take a test and may not have bearing in the real world.</p>
<p>Now that the market has changed and everyone seems to be competing for scarce resources, perhaps a certification would be an additional edge? What&#8217;s the business strategy for independent Mac technicians wanting more? The answer took a lot of research &#8212; even Apple wasn&#8217;t able to answer my questions &#8212; so learn from my journey. <span id="more-173451"></span></p>
<p>Credit goes to both Brian Best of <a href="http://www.bestmacs.com">BestMacs</a> and Doug Hanley of <a href="http://www.mactektraining.com">MacTEK Training</a>, because without them I wouldn&#8217;t understand the alphabet soup of ACSP, ACMT, ACTC, ACSA, AASP, ACN and more. Didn&#8217;t we all become Mac users to avoid mysterious terms? As many of you know, the ease of the Apple user interface is equalled only by the frustration of trying to understand Apple&#8217;s <a href="http://training.apple.com/#certification">certifications programs</a>. Figuring out this path was much harder than any video game I&#8217;ve ever played, but a &#8220;game&#8221; may be the best metaphor to describe the process.</p>
<h3>The Game</h3>
<p>You begin the &#8220;game&#8221; as a general Mac user. The three worlds you&#8217;ll generally see in the game are IT, Pro Apps, and Sales. As an IT person maybe you have skills, maybe you don&#8217;t. Nothing stops you from simply repairing Macs on your own, unless you do things that specifically void the warranty and you get caught doing so. You do not need permission per se from Apple to work on Macs. Many folks are happy at this level collecting coins one by one, but you can&#8217;t proceed any further unless you get a certification &#8212; the key that unlocks the next level in the game.</p>
<p>The first certification most go for is Apple Certified Support Professional (ACSP) which used to be known as an Apple Certified Help Desk Specialist (ACHDS). This certifies your ability to understand the operating system and is earned based on the OS version. Therefore, you are an Apple Certified Support Professional in 10.5 (or soon 10.6). Each OS requires certification, but your certification does not expire. Therefore, if you are a ACHDS in 10.3, you can call yourself certified without understanding 10.5 at all. Your can take the test without training (many do), self-study via materials from Peachpit, or attend an instructor-lead course at an Apple Authorized Training Center (AATC). MacTek is one of those centers. You&#8217;ll take the test at a <a href="http://www.prometric.com/Apple/default.htm">Prometric testing center</a> and pay around $200. The test takes about 90 minutes or so and you get the results immediately.</p>
<h3>Apple Consultants Network</h3>
<p>While certification is the means, the end you may be reaching for is the ability to join the <a href="http://consultants.apple.com/">Apple Consultants Network</a> (ACN). Joining the ACN requires any Apple certification, such as the ACSP discussed above, or any number of other certifications (described below, though one source says not all certifications are valid, so beware). Keeping with the video game analogy, the ACN is like an entire new area of the video game you want to explore, but the boss that must be defeated first is Apple, and your weapon is a certification!</p>
<p>After getting a certification you can then apply to join the ACN. The application fee is $60 and the actual fee to join is $395 as a sole proprietor. The full requirements are <a href="http://consultants.apple.com/joining">here</a>. You&#8217;ll get lots of benefits such as product discounts as well as the ability to network with other Macintosh consultants. As an ACN, Apple store employees may hand out your card to customers in the store. Now your business can really expand as every Apple store customer is a potential customer for you.</p>
<p>ACN membership is great and many stay at this level of the &#8220;game&#8221; using the ACN membership as a multiplier for their income. However, you still can&#8217;t do hardware repairs under warranty nor order Apple parts. As with the video game, you&#8217;re stuck at this level unless you explore further and try to defeat the next boss. Apple always controls the rules. Accept it as part of the game. Fail to accept it and you&#8217;ll get slapped back to the beginning of the game quicker than you can click the home button.</p>
<h3>Server Administration Certification</h3>
<p>From this point, you have a couple directions you can go. You can focus on repair and service, or you can focus on server or advanced software administration (many folks will do both). I will discuss the server administration certifications and the hardware services certifications. You can think of each of these as two separate worlds in the game. You can choose one or the other, or explore them both.</p>
<p>The first level server administration certification is another 4-letter acronym: ACTC: Apple Certified Technical Coordinator. In addition to passing the test for ACSP, you&#8217;ll face the Server Essentials test. This extends your workstation abilities to servers. An even higher level of certification within the server realm is an ACSA &#8212; Apple Certified Systems Administrator. For the ACSA, you&#8217;ll need to pass four tests: Server Essentials, Directory Services, Deployment, and Mobility and Security for 10.6 (or Advanced System Administration for 10.5).</p>
<p>Apple also offers the ACMA (Apple Certified Media Administrator) which includes Server Essentials, Xsan, Final Cut Server and as an option, Support Essentials, Deployment, Directory Services, or Final Cut Level 1. Other certifications are not necessarily IT related and are software-focused. That&#8217;s a realm I&#8217;m not exploring as we chose the IT track at the beginning of the game.</p>
<h3>Hardware Repair Certification</h3>
<p>Moving on from server administration to actual Apple hardware repair, the primary certification you will earn is the Apple Certified Macintosh Technician (ACMT), formerly the Apple Certified Portable Technician (ACPT) and Apple Certified Desktop Technician (ACDT). This certification means you are theoretically qualified to do warranty repairs on Apple Macintosh equipment. The skills required for ACMT are those of hardware repair and software troubleshooting. You don&#8217;t need an ACSP to be an ACMT, but many people earn both. The educational process for hardware repair is more intense and it&#8217;s less likely you&#8217;ll pass the test without some training. At this level, you can also go to an AATC and pay about $4,800 for both the hardware and software aspects of the course, or your can purchase self-study materials from Apple called &#8220;<a href="http://www.apple.com/support/products/techtrain.html">Apple Care Technician Training</a>&#8221; for $299.</p>
<h3>Apple Authorized Service Provider</h3>
<p>Similar to how passing the ACSP allows you to join the Apple Consultants Network, passing the ACMT allows you to enter the realm of an Apple Authorized Service Provider (AASP). You may not automatically become one though, and only AASP&#8217;s get reimbursement from Apple for warranty work. However, being an ACMT is very helpful if you want to get a job as an AASP. You may also apply to do warranty repairs for your larger organization of over 50 Macs via the <a href="http://www.apple.com/support/programs/ssa/">Self-Service program</a>. If you want to advance to being able to do warranty repairs for anyone, you&#8217;ll face that same boss again, Apple. Note that becoming an ACMT will not necessarily earn you any more money than an ACSA or ACTC. Facing the next boss may be too expensive and too restricting, but if you do want the next level, read on.</p>
<p>Getting to that AASP level is really the final level of the game. You&#8217;ll need to have an ACMT on staff and follow stricter requirements than joining the Apple Consultants Network. Generally you&#8217;ll need a real store front and not be a one-person operation. Apple grants exceptions (doesn&#8217;t every game have cheat codes?), but don&#8217;t count on it. Once you have your AASP you can be listed with Apple as a service provider and get reimbursed for warranty repairs.</p>
<p>So I&#8217;ve loaded the game and pressed Start. Is certification worth it? What about ACN or AASP? Which training should I go for? Is instructor lead training worth it? Any training vendors willing to sponsor me? What about the self-study programs? Share with me your experiences in the game and let&#8217;s develop a definitive guide including &#8220;cheat codes.&#8221;</p>
<h3>Apple-authorized Organizations</h3>
<p><strong>ACN (Apple Consultants Network)</strong><br />
<em> What it is:</em> Network on Apple professionals, receives discounts and assistance from Apple, and can be referred from Apple retail stores.<br />
<em> Requirements:</em> Any certification.</p>
<p><strong>AASP (Apple Authorized Service Provider)</strong><br />
<em> What is it:</em> Business that is permitted to do Apple warranty repairs for reimbursement and order parts from Apple.<br />
<em> Requirements:</em> Have an Apple Certified Macintosh Technician on staff, among other requirements.</p>
<h3>Certifications</h3>
<p><strong>Apple Certified Support Professional:</strong> Basic understanding of the client Mac operating system and troubleshooting.</p>
<p><strong>Apple Certified Technical Coordinator:</strong> Deeper understanding of the Mac OS, including the Mac OS X Server and Server Essentials.</p>
<p><strong>Apple Certified Systems Administrator:</strong> Even greater technical understanding of the Mac OS X Server, including passing tests on Server Essentials, Directory Services, Deployment, and Mobility and Security.</p>
<p><strong>Apple Certified Media Administrator:</strong> This is a sister track of the &#8220;Apple Certified Systems Administrator&#8221; with a focus on the needs of media management, and includes training in XSan or Final Cut.</p>
<p><strong>Apple Certified Macintosh Technician:</strong> You can do Apple hardware repairs, both in and out of warranty. Required to start (or get a job with) an Apple Authorized Service Provider, or self-service your large organization.</p>
<p><strong>Related research and analysis from GigaOM Pro:</strong><br />Subscriber content. <a href="http://pro.gigaom.com/?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173451+complete-guide-to-apple-certification-and-training&utm_content=calldrdave">Sign up for a free trial</a>.</p><ul><li><a href="http://pro.gigaom.com/2011/03/why-ipad-2-will-lead-consumers-into-the-post-pc-era/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173451+complete-guide-to-apple-certification-and-training&utm_content=calldrdave">Why iPad 2 Will Lead Consumers Into the Post-PC&nbsp;Era</a></li><li><a href="http://pro.gigaom.com/2011/03/the-near-term-evolution-of-social-commerce/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173451+complete-guide-to-apple-certification-and-training&utm_content=calldrdave">The Near-Term Evolution of Social&nbsp;Commerce</a></li><li><a href="http://pro.gigaom.com/2011/02/content-farms-the-players-the-benefits-the-risks/?utm_medium=editorial&amp;utm_campaign=waterfall?utm_source=apple&utm_medium=editorial&utm_campaign=auto3&utm_term=173451+complete-guide-to-apple-certification-and-training&utm_content=calldrdave">Content Farms: The Players, The Benefits, The&nbsp;Risks</a></li></ul><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gigaom.com&#038;blog=14960843&#038;post=173451&#038;subd=gigaom2&#038;ref=&#038;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://gigaom.com/apple/complete-guide-to-apple-certification-and-training/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/73eda5544ca42cec589784b7be68b664?s=96&#38;d=retro&#38;r=PG" medium="image">
			<media:title type="html">calldrdave</media:title>
		</media:content>

		<media:content url="http://gigapple.files.wordpress.com/2009/02/apple_logo1.png" medium="image">
			<media:title type="html">apple_logo1</media:title>
		</media:content>
	</item>
	</channel>
</rss>
