<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>TrozWare</title>
	<atom:link href="http://www.troz.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.troz.net</link>
	<description>Applications for Mac &#38; iOS</description>
	<lastBuildDate>Wed, 16 May 2012 08:51:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Easy access to the Library folder</title>
		<link>http://www.troz.net/easy-access-to-the-library-folder/</link>
		<comments>http://www.troz.net/easy-access-to-the-library-folder/#comments</comments>
		<pubDate>Wed, 16 May 2012 08:51:00 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=234</guid>
		<description><![CDATA[In Mac OS X 10.7 (Lion), Apple decided to make it more difficult to access your Library folder, presumably to stop people doing stuff that made apps crash. But as a developer, I need access to my Library folder a &#8230; <a href="http://www.troz.net/easy-access-to-the-library-folder/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In Mac OS X 10.7 (Lion), Apple decided to make it more difficult to access your Library folder, presumably to stop people doing stuff that made apps crash. But as a developer, I need access to my Library folder a lot. I need to check that preferences are being saved correctly. If I have an app that uses the Application Support folder, then I need to be able to check it. And for sand-boxed apps, they keep all their data in the Containers folder inside the Library.</p>
<p><span id="more-234"></span>You can easily get to the Library folder by holding down the Option key while choosing the Go menu in Finder. This adds Library to the menu and you can get to the folder that way. But this is not as convenient as single-click access from a Finder window, so here is my preferred method.</p>
<p>Use the Option key and the Finder&#8217;s Go menu to get the Library folder open in a Finder window. Switch this window to column view, which will display the Library folder (slightly greyed out) in the first column. Drag this Library folder to the side bar of your Finder window. Now it is there all the time, in every Finder window that is showing the side bar.</p>
<p>I have read about various Terminal tricks to get the Library to show up, but every system update seems to turn it off again. This technique doesn&#8217;t involve anything except the Finder&#8217;s side bar preferences and so far (I&#8217;m now up to 10.7.4), it hasn&#8217;t needed to be reset after any update.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/easy-access-to-the-library-folder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Man Reader update coming soon</title>
		<link>http://www.troz.net/man-reader-update-coming-soon/</link>
		<comments>http://www.troz.net/man-reader-update-coming-soon/#comments</comments>
		<pubDate>Thu, 10 May 2012 23:57:27 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=229</guid>
		<description><![CDATA[Man Reader launched on the Mac App Store a couple of days ago and yesterday I got an email form a purchaser who reported that Man Reader was not displaying the man pages for MacPorts, even though he had the &#8230; <a href="http://www.troz.net/man-reader-update-coming-soon/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Man Reader launched on the Mac App Store a couple of days ago and yesterday I got an email form a purchaser who reported that Man Reader was not displaying the man pages for MacPorts, even though he had the paths set up correctly.</p>
<p>I installed MacPorts to check this out and ran into the same problem. Running the command &#8220;man port&#8221; in Terminal worked fine, but &#8220;port&#8221; did not appear in  Man Reader&#8217;s list.</p>
<p><span id="more-229"></span>Man Reader uses the &#8220;apropos&#8221; command to list all available man pages, so I tested it next. When I found that it was not listing &#8220;port&#8221; either, I thought I had discovered the problem. OS X offers two commands for searching for man pages: apropos &amp; whatis. The database files used by these commands are updated weekly by one of the periodic system commands. I manually ran this update command using:</p><pre class="crayon-plain-tag">sudo /etc/periodic/weekly/320.whatis</pre><p>This did part of the job, as the apropos command when used in Terminal now contained the MacPorts man pages. However Man Reader still did not show these man pages.</p>
<p>Reverting to the Console log, I found that this was a sand-boxing problem. The Mac OS X sand-box was preventing access to the man.conf file (which tells where to look for man pages), and the whatis database file containing the new data. I assume that without access to these files, the default locations for man pages were still searched, but no non-standard locations were being searched.</p>
<p>I have just submitted an update to the App Store that still uses sand-boxing but requests temporary read-only access to the file system to read these files. If Apple rejects this, then I will release a version without sand-boxing.</p>
<p>Either way, you can be assured that the matter is being dealt with and the next update, whether sand-boxed or not, will allow access to all man pages.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/man-reader-update-coming-soon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pic-a-POD 2.0.4 for Mac</title>
		<link>http://www.troz.net/pic-a-pod-2-0-4-for-mac/</link>
		<comments>http://www.troz.net/pic-a-pod-2-0-4-for-mac/#comments</comments>
		<pubDate>Thu, 10 May 2012 23:40:35 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=225</guid>
		<description><![CDATA[The latest update for Pic-a-POD for Mac is now available through the Mac App Store. Bug fix: selecting an iPhoto pic from the Recent Desktops menu now works correctly. New features: Better indication of downloads and when large pics are &#8230; <a href="http://www.troz.net/pic-a-pod-2-0-4-for-mac/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The latest update for <a href="http://www.picapod.com/">Pic-a-POD for Mac</a> is now available through the <a href="http://itunes.apple.com/app/pic-a-pod/id477909802?mt=12&amp;uo=4" target="_blank">Mac App Store</a>.</p>
<h3>Bug fix:</h3>
<ul>
<li>selecting an iPhoto pic from the Recent Desktops menu now works correctly.</li>
</ul>
<h3>New features:</h3>
<ul>
<li>Better indication of downloads and when large pics are not yet available</li>
<li>Direct link to App Store in Help menu &#8211; please rate or review.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/pic-a-pod-2-0-4-for-mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a Mac Screen Saver</title>
		<link>http://www.troz.net/making-a-mac-screen-saver/</link>
		<comments>http://www.troz.net/making-a-mac-screen-saver/#comments</comments>
		<pubDate>Wed, 09 May 2012 02:14:09 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=205</guid>
		<description><![CDATA[Having just completed the my first screen saver for Mac &#8211; the Time In Words Screen Saver, I thought I would share some of the experiences. I am using OS X Lion (10.6) and Xcode 4.3.2 The first thing is to &#8230; <a href="http://www.troz.net/making-a-mac-screen-saver/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Having just completed the my first screen saver for Mac &#8211; the <a title="Time In Words Screen Saver for Mac" href="http://www.troz.net/time-in-words-screen-saver-for-mac/">Time In Words Screen Saver</a>, I thought I would share some of the experiences. I am using OS X Lion (10.6) and Xcode 4.3.2</p>
<p>The first thing is to create a new project in Xcode using the Screen Saver template:<a href="http://www.troz.net/wp-content/uploads/2012/05/ScreenSaverTemplate.png"><img class="aligncenter size-medium wp-image-206" title="Xcode Screen Saver Template" src="http://www.troz.net/wp-content/uploads/2012/05/ScreenSaverTemplate-300x203.png" alt="Xcode Screen Saver Template" width="300" height="203" /></a></p>
<p>Xcode sets up a project for you with everything you need for a screen saver module. Start editing the ScreenSaverView.m file. The most important method here is animateOneFrame.</p>
<div>
<p><span id="more-205"></span>This is called every time the animation time interval elapses. This interval is set in initWithFrame:isPreview:. I have seen some debate online as to whether the drawing should be done in the animateOneFrame method or in the drawRect method. I chose to use animateOneFrame because they are both called when the screen saver starts which can lead to an unpleasant flicker.</p>
</div>
<div>Now it is up to you to decide what to show in the animateOneFrame method. For Time In Words, I assembled the data as a string, created a dictionary of text attributes, calculated the location where I wanted to show the text and used drawAtPoint:withAttributes: to display it.</div>
<p>&nbsp;</p>
<div>There is a couple of important tricks when working out locations: firstly, you will need to know the bounds of the screen saver area. This will vary depending on the monitor, screen size or whether the screen saver is appearing in the preview window in System Preferences. The screen saver view has a method that does this work for you.</div>
<p></p><pre class="crayon-plain-tag">NSRect viewBounds = [self bounds];</pre><p></p>
<div>The next trick is that you are most likely going to need some random numbers. Again, the screen saver framework supplies these to you in several forms. I used SSRandomFloatBetween but there are others. Check the documentation.</div>
<p>&nbsp;</p>
<div>I ran into an oddity in System Preferences that made testing a bit tedious. I built the screen saver module and double-clicked on it to install into System Preferences. That worked fine, but when I made some changes and repeated the process, the original screen saver was still in place. I found that I had to quit System Preferences each time. Deleting the old version of the screen saver was not necessary, but quitting the System Prefs app was essential.</div>
<p>&nbsp;</p>
<div>So that gives the basic screen saver module but with no options. Adding options is not difficult, but as always, there are a few things that are not obvious on first glance.</div>
<div>Add a xib file to your project: I used a window template. Then change the window&#8217;s class to NSPanel and configure it as shown:</div>
<div><a href="http://www.troz.net/wp-content/uploads/2012/05/PanelSettings.png"><img class="aligncenter size-medium wp-image-208" title="NSPanel Settings" src="http://www.troz.net/wp-content/uploads/2012/05/PanelSettings-139x300.png" alt="NSPanel Settings" width="139" height="300" /></a></div>
<div>Set the File&#8217;s Owner class to the class of your Screen Saver view. In your ScreenSaverView.h file, declare a property for this new panel. e.g.</div>
<div>
<pre class="crayon-plain-tag">@property (assign) IBOutlet NSPanel *optionsPanel;</pre></p>
<div>@synthesize this in the ScreenSaverView.m file.<br />
In the xib file, connect the panel to this outlet.</div>
</div>
<div>Now go back to ScreenSaverView.m and add the following code:</div>
<p></p><pre class="crayon-plain-tag">- (BOOL)hasConfigureSheet
{
    return YES;
}

- (NSWindow*)configureSheet
{
    if (!self.optionsPanel) {
        [NSBundle loadNibNamed:@&quot;Options&quot; owner:self];
    }
    return self.optionsPanel;
}

- (IBAction)closeConfig:(id)sender
{
    [[NSApplication sharedApplication] endSheet:self.optionsPanel];
}</pre><p>The hasConfigureSheet and configureSheet stubs are already there for you, but you can replace them with these versions.</p>
<p>Go back to the xib file and drag in a button to close the options panel. Connect it to the closeConfig: action.</p>
<p>Save everything, build, install in System Preferences and test. Firstly, the &#8220;Options&#8230;&#8221; button should be enabled. Clicking it should open your panel as a sheet, and when you click your button, the panel should close.</p>
<p>If that doesn&#8217;t work, check the class assignments, the connections, the settings for the NSPanel and the code in that order.</p>
<p>Once the panel is opening and closing as required, you need to add the ability to store and retrieve the settings. Instead of using NSUserDefaults as you would in a standard Mac app, there is a special class call ScreenSaverDefaults for screen savers. It needs a unique module name, so I used the bundle identifier. For my Time In Words screen saver, this is &#8221;net.troz.Time-In-Words-Screen-Saver&#8221;. I defined a constant to hold this as a string, so I could use it anywhere I needed.</p>
<p>In the initWithFrame:isPreview: method, I got a reference to the screen saver defaults for my screen saver and registered the defaults. I am never very sure about the need to do this, but it is supposed to be a good practice.</p><pre class="crayon-plain-tag">ScreenSaverDefaults *defaults = [ScreenSaverDefaults defaultsForModuleWithName:kModuleName];
[defaults registerDefaults:[NSDictionary dictionaryWithObjectsAndKeys:
                            @&quot;NO&quot;, @&quot;UseAlternativeZone&quot;,
                            @&quot;&quot;, @&quot;AlternativeZoneName&quot;,
                            nil]];</pre><p>Using them is exactly the same as using NSUserDefaults:</p><pre class="crayon-plain-tag">// Reading
ScreenSaverDefaults *defaults = [ScreenSaverDefaults defaultsForModuleWithName:kModuleName];
BOOL useAlternativeZone = [defaults boolForKey:@&quot;UseAlternativeZone&quot;];
NSString *alternativeZoneName = [defaults objectForKey:@&quot;AlternativeZoneName&quot;];

...

// Writing
ScreenSaverDefaults *defaults = [ScreenSaverDefaults defaultsForModuleWithName:kModuleName];
[defaults setBool:useAlternative forKey:@&quot;UseAlternativeZone&quot;];
[defaults setObject:alternativeZoneName forKey:@&quot;AlternativeZoneName&quot;];
[defaults synchronize];</pre><p>One last thing: if you want to distribute the screen saver, you will want to create an archive, possibly code-signing with your Apple developer ID to allow for Mountain Lion&#8217;s up-coming Gatekeeper security system. I code-signed the project and built an archive, but when I clicked &#8220;Distribute&#8221; in the Organizer, the only appropriate options was &#8220;Save Built Products&#8221;. I selected this option and ended up with a series of folders inside folders, with the screen saver module in about the fifth folder down. I don&#8217;t know why the module gets distributed like this, but I pulled it out of the folders and it worked fine.</p>
<p>And that&#8217;s about it. A lot of this stuff is online or in Apple&#8217;s documentation, but there are enough oddities to make it worthwhile gathering together all that I learnt while making this screen saver.</p>
<p style="text-align: center;">Click this icon to download the screen saver: <a href="http://www.troz.net/screensaver/download-TiWscreenSaver.php"><img class="size-full wp-image-196 aligncenter" style="border-style: initial; border-color: initial; border-width: 0px;" title="Click to download Time In Words Screen Saver" src="http://www.troz.net/wp-content/uploads/2012/05/ScreenSaverIcon128.png" alt="Time In Words Screen Saver Download" width="128" height="128" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/making-a-mac-screen-saver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Support for older operating systems</title>
		<link>http://www.troz.net/support-for-older-operating-systems/</link>
		<comments>http://www.troz.net/support-for-older-operating-systems/#comments</comments>
		<pubDate>Wed, 02 May 2012 02:00:04 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=181</guid>
		<description><![CDATA[Working out what operating systems to support in your software is always a difficult decision. I only program for Mac &#38; iOS systems for starters. This is because they are the systems I use and understand. I am not interested &#8230; <a href="http://www.troz.net/support-for-older-operating-systems/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Working out what operating systems to support in your software is always a difficult decision. I only program for Mac &amp; iOS systems for starters. This is because they are the systems I use and understand. I am not interested in expending the time &amp; money needed to program and test my software for other systems.</p>
<p>Within the Mac &amp; iOS ecosystems, there is still the decision of which versions to support. Partially, this is based on the usage statistics of each version. I found a site that segments the current Mac market: <a href="http://www.netmarketshare.com/operating-system-market-share.aspx?qprid=10&amp;qpcustomb=*2" target="_blank">Distribution of Mac OS X versions</a>. This tells me that OS 1.6 &amp; OS 10.7 between them have 83% which makes 10.6 a good cut-off point.</p>
<p><span id="more-181"></span>Distribution of iOS versions is harder to discover, but I found a post that did a good job of analysing the statistics that are available:<a href="http://pxldot.com/post/18754186750/ios-ebb-and-flow"> pxldot (iOS Ebb and Flow)</a>. According to this post, by March 2012, iOS had about 75% with the remainder being almost exclusively iOS 4.</p>
<p>So based on statistics alone, it makes sense to support Mac OS X 10.6 or later and iOS 4 and later. However this doesn&#8217;t cover all the relevant issues. Another important factor is new techniques and APIs introduced in Apple&#8217;s developer tools.</p>
<p>In iOS 4, Apple gave us ARC &#8211; Automatic Reference Counting &#8211;  which basically removes the tedious job of memory management. This was especially painful in iOS apps where there is no garbage collection. <a href="http://longweekendmobile.com/2011/09/07/objc-automatic-reference-counting-in-xcode-explained/">The Long Weekend Website</a> has an excellent summary of ARC &#8211; what it is and how to use it. Since this only excludes iOS 3 or earlier, there is no issue using this for all iOS projects.</p>
<p>But now Apple has extended ARC to Mac apps as well, but only for apps built to run under 10.7 or later. Even though Mac apps could use garbage collection to remove some of the burden of memory management, this had its own inefficiencies and overheads. So in my case, I have decided that all future apps will require 10.7 to take advantage of ARC. Existing apps will stay as is &#8211; requiring 10.6 or later. With 10.8 not that far away, the usage statistics should follow this trend.</p>
<p>Back to iOS, there is another new feature of Xcode that is really too attractive to ignore and that is story-boarding. This is a graphical way of laying out the navigation logic for your app and providing segues between different views. Ray Wenderlich has a good <a href="http://www.raywenderlich.com/5138/beginning-storyboards-in-ios-5-part-1">introduction to storyboards</a>. So this means that my future iOS apps will all require 10.5 or later.</p>
<p>One final factor is testing. You really need to have a device running each version of any supported operating system. I would rather concentrate on getting the best result for users of the latest versions that spend my time tweaking for older systems. With iOS, Apple makes it amazingly easy to update to the latest version. With Macs it costs money which is always a barrier, but technically, the App Store is making updates easier to apply.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/support-for-older-operating-systems/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time In Words &amp; the new iPad</title>
		<link>http://www.troz.net/time-in-words-the-new-ipad/</link>
		<comments>http://www.troz.net/time-in-words-the-new-ipad/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 00:38:11 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=118</guid>
		<description><![CDATA[The new iPad has a Retina display, meaning that the pixel density is much greater. For some apps, this is a problem as their graphics are now scaled and look pixellated. However Time In Words is very simple. It uses &#8230; <a href="http://www.troz.net/time-in-words-the-new-ipad/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The new iPad has a Retina display, meaning that the pixel density is much greater. For some apps, this is a problem as their graphics are now scaled and look pixellated. However Time In Words is very simple. It uses standard fonts and interface widgets with no images or external graphics apart from the icon. The icon may not look perfect on a new iPad, but the display itself should look really great.</p>
<p>I had a report from one user that Time In Words will not work at all on his new iPad. Unfortunately, the email address supplied did not work, so I was unable to contact this person directly. If you are reading this, please contact me again.</p>
<p><span id="more-118"></span>The person having the problem did not specify exactly what the problem was, so I don&#8217;t know if the app will not start, or if it is not displaying correctly, or if it is showing the wrong times or what.</p>
<p>However I suggested two things to try, and I will list them now in case anyone else is having issues:</p>
<ol>
<li>Try deleting the app from your iPad and then re-installing from the App Store.</li>
<li>Do a complete reboot of your iPad in case it is running low on memory.</li>
</ol>
<p>Hopefully one or both of these ideas will solve any problems. They are both good general tricks to try with any problem app.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/time-in-words-the-new-ipad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone 4 Home Button</title>
		<link>http://www.troz.net/iphone-4-home-button/</link>
		<comments>http://www.troz.net/iphone-4-home-button/#comments</comments>
		<pubDate>Wed, 28 Mar 2012 01:01:47 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=111</guid>
		<description><![CDATA[My iPhone 4 is now 18 months old, and it&#8217;s Home button is starting to feel the strain. These buttons have been used much more than originally intended, with the new multitasking required double-presses, not to mention access to the &#8230; <a href="http://www.troz.net/iphone-4-home-button/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>My iPhone 4 is now 18 months old, and it&#8217;s Home button is starting to feel the strain. These buttons have been used much more than originally intended, with the new multitasking required double-presses, not to mention access to the camera etc. So basically , it is wearing out.</p>
<p>The phone is out of warranty and there is no way I am going to pay for an expensive repair when my current phone contract will expire later this year, and hopefully the iPhone 5 will be ready for me then. And a cheap repair or DIY is too risky.</p>
<p><span id="more-111"></span>I saw a post comparing the physical structure of the home buttons on iPhone 4 &amp; 4S. Unfortunately I cannot find the link now, but it showed that the actual hardware has been made a lot more robust since the iPhone 4 was released, so this should only be a short term issue.</p>
<p>I read a article suggesting the use of WD-40 for a mis-behaving Home button. This is a TERRIBLE idea! Do not spray a penetrating oil into your expensive electronic device. For starters, it don&#8217;t believe it is a friction problem &#8211; I think the mechanism is just wearing out.</p>
<p>Some people recommend recalibrating the Home button as shown in this post from <a href="http://www.idownloadblog.com/2011/12/22/recalibrate-home-button-responsive/">idownloadblog.com</a>. I am a bit sceptical about this. I tried it, but I can&#8217;t see that it did anything. Maybe if your problem is software rather than hardware, then it will do some good. Anyway, unlike the WD-40 trick, it can&#8217;t do any harm.</p>
<p>Finally, on to the workaround. If your iPhone button is really unreliable, but you are not ready to repair or upgrade, then you can use the Accessibility tools to get a software Home button on the screen.</p>
<p>Go to Settings &#8211; General &#8211; Accessibility. Scroll down to &#8220;Physical &amp; Motor&#8221;. Turn on AssistiveTouch. When you back out of Settings, you will see a white blob somewhere on your screen. This can be dragged to any of with locations around the edge of the screen, so you can always move it out of the way in any app. Tapping on the white blob gives you an overlay view with four options, one of which is Home. Tapping this is exactly the same as pressing the physical Home button. So with this and the power button, you can do everything, even if the Home button stops working completely.</p>
<p>Thanks to Tom at our local Apple Store (Robina, Queensland, Australia) for this tip.</p>
<p><a href="http://www.troz.net/wp-content/uploads/2012/03/IMG_0356.png"><img class="alignleft size-medium wp-image-114" title="AssistiveTouch settings" src="http://www.troz.net/wp-content/uploads/2012/03/IMG_0356-200x300.png" alt="AssistiveTouch settings" width="200" height="300" /></a><a href="http://www.troz.net/wp-content/uploads/2012/03/IMG_0353.png"><img class="alignleft size-medium wp-image-115" title="The White Blob" src="http://www.troz.net/wp-content/uploads/2012/03/IMG_0353-200x300.png" alt="The White Blob" width="200" height="300" /></a></p>
<p style="text-align: center;"><a href="http://www.troz.net/wp-content/uploads/2012/03/IMG_0354.png"><img class="size-medium wp-image-113 aligncenter" title="AssistiveTouch panel open" src="http://www.troz.net/wp-content/uploads/2012/03/IMG_0354-200x300.png" alt="AssistiveTouch panel open" width="200" height="300" /></a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/iphone-4-home-button/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Time In Words for Mac now available</title>
		<link>http://www.troz.net/time-in-words-for-mac-now-available/</link>
		<comments>http://www.troz.net/time-in-words-for-mac-now-available/#comments</comments>
		<pubDate>Tue, 20 Mar 2012 10:06:49 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=105</guid>
		<description><![CDATA[Time In Words for Mac has just been approved and is now available for free from the Mac App Store. For more details, check out the Time In Words for Mac web page.]]></description>
			<content:encoded><![CDATA[<p>Time In Words for Mac has just been approved and is now available for free from the <a href="http://itunes.apple.com/au/app/time-in-words/id509085586?mt=12" target="_blank">Mac App Store</a>.</p>
<p>For more details, check out the <a href="http://www.troz.net/time-in-words-for-mac/">Time In Words for Mac</a> web page.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/time-in-words-for-mac-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Interface options for selecting time zones</title>
		<link>http://www.troz.net/interface-options-for-selecting-time-zones/</link>
		<comments>http://www.troz.net/interface-options-for-selecting-time-zones/#comments</comments>
		<pubDate>Sat, 25 Feb 2012 00:00:15 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=81</guid>
		<description><![CDATA[As part of the design for Time In Words for Mac, I had to work out the interface for selecting time zones. With Time In Word for iOS, I used picker wheels which are excellent for selecting hierarchical data. On the &#8230; <a href="http://www.troz.net/interface-options-for-selecting-time-zones/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As part of the design for <a href="http://www.troz.net/under-development/">Time In Words for Mac</a>, I had to work out the interface for selecting time zones. With <a href="http://www.troz.net/time-in-words/">Time In Word for iOS</a>, I used picker wheels which are excellent for selecting hierarchical data. On the Mac, there is no such thing as the iOS picker wheel and so I had to consider what to use instead.</p>
<p><span id="more-81"></span>When you ask the system (Mac or iOS) for the available time zones, you get a list of names like this:</p>
<p>Africa/Abidjan<br />
Africa/Accra<br />
&#8230;<br />
America/Cayman<br />
America/Chicago<br />
&#8230;<br />
Europe/Riga<br />
Europe/Rome<br />
etc.</p>
<p>This seems obviously designed for a hierarchical display with the major regions as a first selection, filtering down to the cities in that region, making selection a two-step process. With the picker wheel in iOS, that is what I did. The first wheel selects the region which then populates the second wheel with the relevant city names. It makes it quick and easy to select a zone.</p>
<p>I always prefer to use standard user interface objects because people are familiar with them, they automatically update with the system, and there is much less chance of the App Store rejecting the app. So I scrolled through the available Mac options and came to NSBrowser. This is basically what Finder uses when in column mode.</p>
<p>I created an NSBrowser object, worked out a way to populate it and tested. It was incredibly slow! The list of regions appeared when the window opened, and that was no problem. Then I clicked a region and the first set of city names appeared instantly. But subsequent selections took about 3 seconds to appear.</p>
<p>I added some timing tests and my data gathering was taking about 20 milliseconds. The log thought the browser had updated within about 100 milliseconds, so I guess the rest of the time was some redraw issue.</p>
<p>Apple provides a large number of sample projects so I downloaded one that used NSBrowser. It seemed fast and responsive, so I duplicated it&#8217;s different method of assembling the data and tried again. No luck &#8211; it was as slow as before.</p>
<p>I am sure that if I kept at it, I would eventually work out what was causing the bottleneck and make NSBrowser work &#8211; after all, Finder is responsive enough, even if not great. But in the end, I decided that the advantages to using this form of interface didn&#8217;t justify the time spent, so I went with a simple table and a search field.</p>
<p>It is fast to populate, responsive to searches and didn&#8217;t take long to set up. So I am happy, although still perplexed about NSBrowser. It is on my to-do list of things I want to work out one day.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/interface-options-for-selecting-time-zones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scroll bars in Mac OX 10.6 and 10.7</title>
		<link>http://www.troz.net/scroll-bars-in-mac-ox-10-6-and-10-7/</link>
		<comments>http://www.troz.net/scroll-bars-in-mac-ox-10-6-and-10-7/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 23:39:40 +0000</pubDate>
		<dc:creator>Sarah</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.troz.net/?p=75</guid>
		<description><![CDATA[With the introduction of OS X 10.7 (Lion), Apple removed the obvious scroll bars from windows and replaced them with a much more subtle scroll indicator, that only appears when you are actually scrolling. This was designed to match the &#8230; <a href="http://www.troz.net/scroll-bars-in-mac-ox-10-6-and-10-7/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>With the introduction of OS X 10.7 (Lion), Apple removed the obvious scroll bars from windows and replaced them with a much more subtle scroll indicator, that only appears when you are actually scrolling. This was designed to match the iOS scrolling, as was the swap of scroll direction which makes much more sense if you use a trackpad.</p>
<p>With the upcoming <a href="http://www.troz.net/under-development/">Time In Words for Mac</a>, I have a Preferences window to allow selection of time zones to display in the menu. The app will be compatible with 10.6 or later. Under 10.6, the scrollbars are always visible and this is what the Preferences display looks like:<span id="more-75"></span></p>
<p><a href="http://www.troz.net/wp-content/uploads/2012/02/Prefs-10.6.png"><img class="aligncenter size-full wp-image-76" title="Preferences 10.6" src="http://www.troz.net/wp-content/uploads/2012/02/Prefs-10.6.png" alt="Preferences 10.6" width="550" height="272" /></a></p>
<p>This may change, but the basic layout is there. As you can see, I have a 3-column table listing all the available time zones, with the final column right justified.</p>
<p>Under 10.7, this doesn&#8217;t quite work:</p>
<p><a href="http://www.troz.net/wp-content/uploads/2012/02/Prefs-10.7.png"><img class="aligncenter size-full wp-image-77" title="Preferences 10.7" src="http://www.troz.net/wp-content/uploads/2012/02/Prefs-10.7.png" alt="Preferences 10.7" width="550" height="272" /></a></p>
<p>I had to grab this screen shot quickly after swiping the trackpad, but you can see the problem. When not scrolling, the scroll indicator is hidden and the right column is fully visible, but when dragging the scroll indicator appears on top of the right-justified entries in that column.</p>
<p>So now I am not quite sure what to do. Here are the options I have considered:</p>
<ul>
<li>Left or centre-justify the text in the final column.</li>
<li>Add some spacing at the end of each line so that the scroll indicator appears in blank space.</li>
<li>Put up with it.</li>
</ul>
<p>I will have to experiment with various options and see what I can do.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.troz.net/scroll-bars-in-mac-ox-10-6-and-10-7/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

