<?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>This Much I Know &#187; Dave</title>
	<atom:link href="http://www.thismuchiknow.co.uk/?author=1&#038;feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.thismuchiknow.co.uk</link>
	<description>(hopefully other people will find it useful too)</description>
	<lastBuildDate>Tue, 15 Jun 2010 08:31:04 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>National Rail Enquiries for iPhone 4</title>
		<link>http://www.thismuchiknow.co.uk/?p=434</link>
		<comments>http://www.thismuchiknow.co.uk/?p=434#comments</comments>
		<pubDate>Tue, 15 Jun 2010 08:24:50 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Interface Design]]></category>
		<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=434</guid>
		<description><![CDATA[We&#8217;ve updated our National Rail Enquiries app ready for iPhone 4, and have converted all of the app&#8217;s assets into beautiful high-definition format. We&#8217;re really pleased with the results, so I thought I&#8217;d post some screenshots as a sneak preview of how the app will look.
Note that the app&#8217;s layout hasn&#8217;t changed at all &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve updated our <a href="http://itunes.apple.com/gb/app/national-rail-enquiries/id306687757?mt=8" target="_blank">National Rail Enquiries app</a> ready for <a href="http://www.apple.com/iphone/" target="_blank">iPhone 4</a>, and have converted all of the app&#8217;s assets into beautiful high-definition format. We&#8217;re really pleased with the results, so I thought I&#8217;d post some screenshots as a sneak preview of how the app will look.</p>
<p><span id="more-434"></span>Note that the app&#8217;s layout hasn&#8217;t changed at all &#8211; after all, fingers didn&#8217;t just reduce in size. The new version (currently with Apple for approval) also brings fast application switching, which is very handy when checking for updates on a delayed train.</p>
<p>Each image below is a link to the high-def version of the image.</p>
<h2>Home screen</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/01_home_screen.jpg"><img class="alignnone" title="Home screen" src="http://www.thismuchiknow.co.uk/postimages/iphone4/01_home_screen_small.jpg" alt="" width="320" height="480" /></a></p>
<h2>Live progress</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/02_live_progress.jpg"><img class="alignnone" title="Live progress" src="http://www.thismuchiknow.co.uk/postimages/iphone4/02_live_progress_small.jpg" alt="" width="320" height="480" /></a></p>
<h2>Station search</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/03_station_search.jpg"><img class="alignnone" title="Station search" src="http://www.thismuchiknow.co.uk/postimages/iphone4/03_station_search_small.jpg" alt="" width="320" height="480" /></a></p>
<h2>Journey planner</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/04_journey_planner.jpg"><img class="alignnone" title="Journey planner" src="http://www.thismuchiknow.co.uk/postimages/iphone4/04_journey_planner_small.jpg" alt="" width="320" height="480" /></a></p>
<h2>Check alternatives</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/05_check_alternatives.jpg"><img class="alignnone" title="Check alternatives" src="http://www.thismuchiknow.co.uk/postimages/iphone4/05_check_alternatives_small.jpg" alt="" width="320" height="480" /></a></p>
<h2>Cancellations</h2>
<p><a href="http://www.thismuchiknow.co.uk/postimages/iphone4/06_cancellation_detail.jpg"><img class="alignnone" title="Cancellation detail" src="http://www.thismuchiknow.co.uk/postimages/iphone4/06_cancellation_detail_small.jpg" alt="" width="320" height="480" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=434</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Full-screen iPlayer web app on an iPad</title>
		<link>http://www.thismuchiknow.co.uk/?p=425</link>
		<comments>http://www.thismuchiknow.co.uk/?p=425#comments</comments>
		<pubDate>Tue, 01 Jun 2010 14:54:40 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Digital Video]]></category>
		<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=425</guid>
		<description><![CDATA[Even though the BBC&#8217;s planned iPhone apps have been postponed for a review, it&#8217;s still possible to get full-screen iPlayer video on your iPad, thanks to a neat web app workaround by the BBC. Here&#8217;s how to do so.
On your iPad, visit http://www.bbc.co.uk/iplayer/bigscreen:

Tap the &#8220;+&#8221; icon, and then tap &#8220;Add to Home Screen&#8221;:

Give the new [...]]]></description>
			<content:encoded><![CDATA[<p>Even though the BBC&#8217;s planned iPhone apps have been <a href="http://news.bbc.co.uk/1/hi/8593206.stm" target="_blank">postponed for a review</a>, it&#8217;s still possible to get full-screen iPlayer video on your iPad, thanks to a neat web app workaround by the BBC. Here&#8217;s how to do so.</p>
<p><span id="more-425"></span>On your iPad, visit <a href="http://www.bbc.co.uk/iplayer/bigscreen" target="_blank">http://www.bbc.co.uk/iplayer/bigscreen</a>:</p>
<p><img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_1.jpg" alt="" width="400" height="300" /></p>
<p>Tap the &#8220;+&#8221; icon, and then tap &#8220;Add to Home Screen&#8221;:<br />
<img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_2.jpg" alt="" width="400" height="300" /></p>
<p>Give the new home screen icon a name (e.g. &#8220;BBC iPlayer&#8221;), and then tap &#8220;Add&#8221;:<img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_3.jpg" alt="" width="400" height="300" /></p>
<p>You&#8217;ll now have an icon on your iPad&#8217;s home screen for BBC iPlayer:<img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_4.jpg" alt="" width="400" height="300" /></p>
<p>Tap the icon to launch iPlayer as a full screen web app:<img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_5.jpg" alt="" width="400" height="300" /></p>
<p>When you play a video, it displays full-screen with auto-hiding controls:<img title="iPlayer on iPad" src="http://www.thismuchiknow.co.uk/postimages/iplayer/iplayer_on_ipad_6.jpg" alt="" width="400" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=425</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Section 3.3.1 and accessibility</title>
		<link>http://www.thismuchiknow.co.uk/?p=415</link>
		<comments>http://www.thismuchiknow.co.uk/?p=415#comments</comments>
		<pubDate>Thu, 15 Apr 2010 15:34:31 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=415</guid>
		<description><![CDATA[I run an iPhone development company.  We’re currently making our UK train times app fully compatible with VoiceOver. We’re being helped by users of the ViPhone Google Group, which is a forum for discussing the iPhone 3GS and its support for visually-impaired users.
I saw a comment from a member of the group the other day, [...]]]></description>
			<content:encoded><![CDATA[<p>I run an iPhone development company.  We’re currently making our <a href="http://www.nationalrail.co.uk/iphone" target="_blank">UK train times app</a> fully compatible with VoiceOver. We’re being helped by users of the <a href="http://groups.google.com/group/viphone?hl=en" target="_blank">ViPhone Google Group</a>, which is a forum for discussing the iPhone 3GS and its support for visually-impaired users.</p>
<p>I saw <a href="http://groups.google.com/group/viphone/browse_thread/thread/75da5d0e93096bfe?tvc=2" target="_blank">a comment</a> from a member of the group the other day, shortly after Section 3.3.1 <a href="http://daringfireball.net/2010/04/iphone_agreement_bans_flash_compiler" target="_blank">went mainstream</a>:</p>
<blockquote><p>Could this mean more accessible apps for VO users?</p></blockquote>
<p>Note the meaning behind the comment.  Not “how dare they”, or “shame on you”, but “hurrah – this will mean that apps are more likely to be accessible via VoiceOver.”</p>
<p>Making better quality iPhone apps isn’t just about how they look – it’s about how they <em>sound</em>.  And that’s another reason to develop your apps in Xcode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=415</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Conservative iPhone app and the DPA</title>
		<link>http://www.thismuchiknow.co.uk/?p=312</link>
		<comments>http://www.thismuchiknow.co.uk/?p=312#comments</comments>
		<pubDate>Thu, 08 Apr 2010 09:05:24 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Interface Design]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=312</guid>
		<description><![CDATA[I&#8217;m an iPhone app developer. I&#8217;m interested in new apps that do interesting things. I also have an interest in data privacy. So when I heard that the Conservative Party had launched an app with a canvassing feature, I thought I should try it out.
Call A Friend
Here&#8217;s how it works. Imagine that a Conservative voter [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m an iPhone app developer. I&#8217;m interested in new apps that do interesting things. I also have an interest in data privacy. So when I heard that the Conservative Party had launched an app with a canvassing feature, I thought I should try it out.</p>
<p><strong><span id="more-312"></span>Call A Friend</strong></p>
<p>Here&#8217;s how it works. Imagine that a Conservative voter &#8211; let&#8217;s call him <strong>Peter</strong> &#8211; wants to campaign on behalf of the Conservative Party. He installs their app, and taps the &#8220;Call a friend&#8221; button. He sees some brief instructions, and taps &#8220;Continue&#8221;.</p>
<p><img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/01_app_home.jpg" alt="App home screen" width="240" height="360" /> <img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/02_call_a_friend_intro.jpg" alt="Call a friend intro text" width="240" height="360" /></p>
<p>Peter then sees a list of everyone in his iPhone&#8217;s address book. He decides to call a friend &#8211; let&#8217;s call him <strong>Bob</strong> &#8211; to talk about the Conservatives. Peter taps on Bob&#8217;s name in the list, and sees Bob&#8217;s contact details.</p>
<p><img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/03_address_book_list.jpg" alt="Address book list" width="240" height="360" /> <img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/04_person_details.jpg" alt="Person details" width="240" height="360" /></p>
<p>Peter taps on Bob&#8217;s phone number to call him. They have a nice chat about the Conservatives. Despite Peter&#8217;s best efforts, Bob politely indicates that he&#8217;s intending to vote for Labour in the upcoming election.</p>
<p>After the call, Peter re-opens the app. He sees a screen with Bob&#8217;s name, address and postcode filled in from his address book. He adds any notes from the call, and indicates Bob&#8217;s likely voting intention.</p>
<p><img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/06_submit_person.jpg" alt="Submit your friend's details" width="240" height="360" /></p>
<p>Peter then taps &#8220;Send email&#8221;. The app creates a new email to callafriend@myconservatives.com. Peter sends this email to the Conservatives. Bob&#8217;s voting intention is now displayed below his name in the app&#8217;s &#8220;Call a friend&#8221; list.</p>
<p><img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/07_send_email.jpg" alt="Send email" width="240" height="360" /> <img src="http://www.thismuchiknow.co.uk/postimages/myconservatives/08_address_list_2.jpg" alt="Address book list with updated voting intentions" width="240" height="360" /></p>
<p>When I first saw this process, I thought it seemed a little odd. Normally, when you give out your personal details, it&#8217;s made clear how these details will be used, with a privacy policy and an opportunity to say &#8220;yes, I agree&#8221;. I couldn&#8217;t see any of this in the Conservative Party app. And in fact, it&#8217;s not Peter&#8217;s details being submitted &#8211; it&#8217;s Bob&#8217;s. Who doesn&#8217;t get a say in it at all. I decided to <a href="http://www.ico.gov.uk/for_organisations/data_protection_guide.aspx" target="_blank">read up about the Data Protection Act</a>, to find out more. After some reading, I also called the <a href="https://www.ico.gov.uk/Global/contact_us.aspx" target="_blank">DPA helpline</a> with a few questions.</p>
<p><strong>Processing</strong></p>
<p>The DPA applies whenever someone stores or uses your personal information (the Act calls this &#8220;<em><span style="font-style: normal;"><a href="http://www.ico.gov.uk/for_organisations/data_protection_guide/key_definitions_of_the_dpa.aspx#process" target="_blank">processing</a>&#8220;</span></em> your data). From what I&#8217;ve read, if the Conservative Party are storing Bob&#8217;s name, address and voting intention in an email mailbox, or using it to help with local campaigning, then this would count as processing his data, and so the Data Protection Act would apply.</p>
<p><strong>Transparency</strong></p>
<p>The Act requires you to be <a href="http://www.ico.gov.uk/for_organisations/data_protection_guide/principle_1_processing_personal_data_fairly_and_lawfully.aspx" target="_blank">open, honest and transparent</a> about how you use someone&#8217;s personal data. The nearest the app gets is to say that &#8220;this data will be used to help with our local campaigning&#8221;. I&#8217;m not sure that qualifies as &#8220;transparent&#8221;. Will Bob be getting a letter in the post from his local Conservative candidate to try and change his mind? Will Number 1, High Street, Anytown be getting a personal visit to persuade Bob to vote Conservative?</p>
<p>Moreover, this text is displayed to Peter, not Bob. In fact, the Conservative Party <em>can&#8217;t</em> be open and honest with Bob about its intended use of his data, because they don&#8217;t ever speak to him. Nonetheless, they may be storing and processing Bob&#8217;s personal information in their mailbox. According to the DPA helpline, as recipients of the data, the Conservative Party would have a responsibility to ensure that Bob is notified as to how his data will be used.</p>
<p><strong>Privacy Notices</strong></p>
<p>I decided to investigate this need for notification in more detail. The Act requires you to provide a <a href="http://www.ico.gov.uk/upload/documents/library/data_protection/detailed_specialist_guides/privacy_notices_cop_final.pdf" target="_blank">privacy notice</a>, saying how you intend to use the information you gather. I had a good poke around in the app, but I couldn&#8217;t find a privacy notice anywhere within the app. I looked on the websites mentioned on the app&#8217;s App Store page, but neither <a href="http://www.myconservatives.com/" target="_blank">myconservatives.com</a> or <a href="http://www.conservatives.com" target="_blank">conservatives.com</a> had a privacy notice for the app either. I tried the &#8220;app support&#8221; link on the App Store, but this just took me to the home page of <a href="http://www.bydeluxe.com/" target="_blank">Deluxe Entertainment Services Group</a>. I&#8217;ve no idea who they are, but their site didn&#8217;t even mention iPhone apps, let alone a privacy notice for the Conservative Party app.</p>
<p><strong>Consent</strong></p>
<p>I read more. In order to process someone&#8217;s personal data, you must meet at least one of <a href="http://www.opsi.gov.uk/acts/acts1998/ukpga_19980029_en_10#sch2" target="_blank">several conditions</a>. For this app, it looks as though the relevant condition is that Bob has given &#8220;consent to the processing&#8221;.</p>
<p>However, the app doesn&#8217;t ask Bob for his permission at all, let alone check whether he has given his consent. The app doesn&#8217;t even ask Peter if consent was given, and doesn&#8217;t provide any guidance as to how Peter should approach Bob when he calls. By the looks of it, it is entirely Peter&#8217;s choice as to whether he even mentions the fact that Bob&#8217;s data will be sent on.</p>
<p><strong>Summary</strong></p>
<p>So what does this all mean?  Well, if my understanding of the DPA is correct:</p>
<ul>
<li>It&#8217;s possible that personal data is being stored or processed by the Conservative Party, without them having any contact with the person whose data is being processed</li>
<li>There is no verification that the data is provided with the consent of the person that data refers to</li>
<li>The app doesn&#8217;t give a clear indication of what the data will be used for</li>
<li>Neither the app nor its supporting web sites contain a privacy notice describing how the data may be stored and used</li>
</ul>
<p>I should stress that I don&#8217;t know if or how the Conservative Party <em>are</em> storing or processing the data from these emails (although I have contacted them to find out, and will post again when I hear back). I would be very grateful if anyone with experience of the Data Protection Act could confirm if my reading of the Act is correct.</p>
<p><em>Disclosure: I&#8217;m not a member of, or affiliated to, any political party or organisation. I&#8217;m just bothered about people&#8217;s privacy.</em></p>
<p><strong>UPDATE: 9 April 2010, 5:49pm</strong></p>
<p>The Conservative Party app&#8217;s App Store description has been updated to say the following:</p>
<blockquote><p>When using the &#8220;Call A Friend&#8221; feature, please confirm that you have the consent of the friend or relative whose details you are passing on to us. The Conservative Party will inform your friend or relative how it obtained his or her details. Information obtained by the Conservative Party from this App will not be used for electronic mailing purposes.</p></blockquote>
<p>This change went live within the last half an hour.</p>
<p><strong>UPDATE: 9 April 2010, 6:02pm</strong></p>
<p>This updated App Store description is an improvement. However, it&#8217;s still not clear how Peter should confirm that he has the consent of the friend or relative. Is he meant to put this information in the &#8220;Notes&#8221; section of each and every submission? If so, maybe the App Store description could be updated to make this clear.</p>
<p>Aside #1: I wonder if the app itself will be updated, so that anyone who has already downloaded the app will also get a chance to see this message?</p>
<p>Aside #2: The message about not using information for electronic mailing purposes is a bit superfluous, given that Bob&#8217;s email address isn&#8217;t part of the data gathered.</p>
<p><strong>UPDATE: 9 April 2010, 6:10pm</strong></p>
<p>Re-reading the new App Store text: while this text mentions what the information won&#8217;t be used for, it still doesn&#8217;t say what it <em>will</em> be used for. Would be good to know.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=312</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>VoiceOver accessibility programming for iPhone</title>
		<link>http://www.thismuchiknow.co.uk/?p=369</link>
		<comments>http://www.thismuchiknow.co.uk/?p=369#comments</comments>
		<pubDate>Wed, 07 Apr 2010 21:13:07 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=369</guid>
		<description><![CDATA[We&#8217;re just putting the finishing touches to VoiceOver accessibility support for our National Rail Enquiries iPhone app. When adapting the app for VoiceOver, we found that Apple&#8217;s developer documentation for accessibility was pretty good, but there were still several questions we couldn&#8217;t answer. After some help from Apple, and some experimentation and research, we&#8217;ve managed to [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re just putting the finishing touches to VoiceOver accessibility support for our National Rail Enquiries iPhone app. When adapting the app for VoiceOver, we found that Apple&#8217;s <a href="http://developer.apple.com/iphone/library/documentation/UserExperience/Conceptual/iPhoneAccessibility/" target="_blank">developer documentation for accessibility</a> was pretty good, but there were still several questions we couldn&#8217;t answer. After some help from Apple, and some experimentation and research, we&#8217;ve managed to answer most of our queries. I thought it might be useful to share what we discovered, in case other developers have run into the same problems. Here are our questions and findings.</p>
<p><span id="more-369"></span>1. Is there a way to set the accessibility label of a UIAlertView or UIActionSheet button to be something other than the title of the button? For example, we have a button with the UK spelling of &#8220;Add to favourites&#8221;, but VoiceOver does not pronounce this correctly, so we would like to set the accessibility label to use the US spelling (&#8221;Add to favorites&#8221;) to ensure that VoiceOver pronounces it correctly. Likewise, is there a way to set the accessibility label of the UIAlertView or UIActionSheet&#8217;s title to be something other than the title?</p>
<p>A: Unfortunately, UIAlertView and UIActionSheet don&#8217;t make their UIAccessibility model publicly accessible. The only way to achieve this would be to create our own custom modal views, which we&#8217;d rather not do. The alternative is to query and modify the view hierarchy of the UIAlertView / UIActionSheet instance, but this is generally a bad idea, as the model might change in the future.</p>
<p>2. Is it possible to get VoiceOver to read out an action after an event has completed?  For example, our app uses a refresh button to reload a list of live train times.  Depending on the current network coverage and network speed, the reload can take several seconds to complete.  We would like to notify the user via VoiceOver once the refresh has finished, to prompt them to re-read the results detail.</p>
<p>A: Because the iPhone OS accessibility model is based on user actions and gestures, it can&#8217;t be triggered programmatically. We could use System Audio Services to play a sound, but this would need us to be able to detect if VoiceOver is turned on, which isn&#8217;t possible (see 6 below).</p>
<p>3. Is it possible to assign VoiceOver focus to a particular accessibility element when programmatically initialising a viewcontroller?  We are finding that for most of our viewcontrollers, the UINavigationBar&#8217;s back button receives the VoiceOver focus as soon as the controller is loaded, presumably because it is the top-left-most UIControl.  It would be more useful for the user if the ViewController&#8217;s title had the focus and was read out in full, and / or if we could set the focus to be on a particular user interface element ourselves.</p>
<p>A: For some scenarios, it might be possible to affect this by changing the hierarchy order of the subviews in Interface Builder. In this example, however, the UINavigationBar&#8217;s subview hierarchy isn&#8217;t something we can modify, and so we can&#8217;t change this behaviour.</p>
<p>4. When should an element be given a trait of UIAccessibilityTraitButton, and when should it be given a trait of UIAccessibilityTraitLink?  We have many UITableViewCells with disclosure arrows, each of which take the user to a deeper UIViewController, and it is not clear from the documentation as to whether these should be buttons, links, or should have some other kind of trait.</p>
<p>A: Apple apps seem to use UIAccessibilityTraitButton for tableview rows with detail disclosure arrows. UIAccessibilityTraitLink is really only for elements that behave like a URL link would &#8211; such as opening Mobile Safari, or making a phone call.</p>
<p>5. How should UIAccessibilityTraitSummaryElement be used?  Our application restores its previous state when launched, and we would like to give an indication of the restored state.  However, the documentation does not explain how to use this trait to provide information to the user.</p>
<p>A: UIAccessibilityTraitSummaryElement trait is a hint-like trait, rather than a control-type trait (like UIAccessibilityTraitButton).  It is most appropriate when you have some changing information that the user should hear right away when the application starts.  For example, the Weather app uses this trait on the small &#8220;City and current temperature&#8221; control when it starts up.</p>
<p>This works for Weather because this application&#8217;s view hierarchy is fairly flat. If you had a summary trait element inside a subview inside a  navigation controller hierarchy (i.e. something not at the root level on startup), then VoiceOver might not recognise it at startup.</p>
<p>6. Is it possible to detect whether VoiceOver is activated, in order to make the app behave differently?  Obviously the primary aim is to make the existing interface accessible, but there are occasions where the visual interface is not best suited to VoiceOver accessibility use, and an alternative / simpler interface would be preferable.  Since VoiceOver can only be turned on or off in the Settings app, we could be confident within a given app launch session that VoiceOver was consistently either On or Off, and could respond accordingly.</p>
<p>A: No. (If like us you&#8217;d find this useful, do file a request using Apple&#8217;s <a href="http://developer.apple.com/bugreporter" target="_blank">bugreporter</a> system.)</p>
<p>7. Our app uses the word Live (pronounced &#8220;liyve&#8221;, meaning &#8220;real-time&#8221;) in several places, but VoiceOver reads this as &#8220;liv&#8221;, meaning &#8220;to live&#8221;.  Is there a way to provide an alternative pronunciation in these cases?  Should we just use a phonetic spelling for the accessibility label?</p>
<p>A: Phonetic spelling seems to be the way to go for alternative pronunciation.  You can use the Mac OS &#8220;say&#8221; command to try out alternate spellings.</p>
<p>8. Is there a way to set the accessibility label of a UIViewController&#8217;s title view to be something other than the title of the UIViewController, without having to set a custom view as its UINavigationItem?</p>
<p>A: Same problem as question 1 &#8211; unfortunately, the underlying accessibility for the UIViewController isn&#8217;t publicly available.</p>
<p>9. Sometimes, when we return a custom view from tableView:viewForHeaderInSection: for a grouped table, we are finding that the custom view&#8217;s VoiceOver highlight rectangle is drawn in the top left of the screen, regardless of the actual position of the view when drawn on screen.  This means that the user cannot move their finger over the actual rendered position of the header view on screen in order to read its accessibility info.  The view <em>is</em> read when using the single-finger-swipe-from-left-to-right command to move to the next control in the controls list (and likewise when swiping from right to left to move back), but the rectangle is still drawn at the very top left of the screen.</p>
<p>A: This seems to be a bug. If you see this problem too, please log a bug with Apple using their <a href="http://developer.apple.com/bugreporter" target="_blank">bugreporter</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=369</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apple: the world&#8217;s biggest eBook seller</title>
		<link>http://www.thismuchiknow.co.uk/?p=288</link>
		<comments>http://www.thismuchiknow.co.uk/?p=288#comments</comments>
		<pubDate>Wed, 10 Feb 2010 14:05:10 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Apple Software]]></category>
		<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=288</guid>
		<description><![CDATA[Apple is the world leader in digital music sales, and is making big inroads into digital video and TV.  The iPad completes the deal, bringing Apple’s magic to the world of eBook sales.

The iBookstore
Physical book sales are on the up, with the UK Adult Fiction market growing by 1.2% in 2009. In the same period, [...]]]></description>
			<content:encoded><![CDATA[<p>Apple is the world leader in digital music sales, and is making big inroads into digital video and TV.  The iPad completes the deal, bringing Apple’s magic to the world of eBook sales.</p>
<p><span id="more-288"></span></p>
<h2>The iBookstore</h2>
<p>Physical book sales are on the up, with the UK Adult Fiction market <a href="http://www.nielsenbookdata.co.uk/uploads/press/2Nielsen Book releases UK TCM Trends for 2009.pdf" target="_blank">growing by 1.2%</a> in 2009. In the same period, Children’s Fiction grew by 8.6%, and only Trade Non Fiction saw a decline in sales.  The economy may have been in decline, but the escapism of a book shows no sign of losing its grip on the UK’s imagination.</p>
<p>Following the success of the iPhone and the App Store, enterprising book publishers are now launching iPhone apps to tie in with their physical book releases. These apps are typically self-contained eBook readers, incorporating the full text of one specific book.</p>
<p>As with any app, Apple takes a hefty cut of the sale – nearly 39% in the UK once VAT is taken into account. And if a publisher wants to protect the book’s content from jailbreakers, they need to create their own DRM system for each app, increasing the complexity of publishing the book on the store.</p>
<p>With the launch of the iPad, and more importantly the iBookstore, Apple will remove the need for these book apps altogether.  Apple will provide a learn-once book reader, and will provide a new store optimised for discovering, exploring and trying out books. The store will provide book samplers, similar to the 30-second song previews in the iTunes Store.</p>
<p>The choice for publishers then becomes simple: develop, package and launch a custom reader app with its own DRM (and make 61%), or submit a book to Apple and get the reader and DRM for free (and still make 61%).  It’s a classic example of Apple’s “build it and they will come” policy for electronic media sales.</p>
<p>Apple already has the infrastructure and DRM system, and it already has the customers.  By making it easy for customers to buy books, Apple makes it easy for publishers to choose iBookstore.  I expect all major publishers to do so in 2010.</p>
<h2>Beyond the book</h2>
<p>The industry standard format for eBooks is called <a href="http://en.wikipedia.org/wiki/EPUB" target="_blank">ePub</a>, and Apple are using ePub on the iBookstore.  ePub is a useful standard, but it does not lend itself to interactivity.  Basing iBookstore on ePub makes it easy for publishers to unlock their archives and launch their latest releases, but it doesn’t enable them to think beyond the traditional book.</p>
<p>An iPad can do so much more than a physical book. Where content lends itself to an enhanced reading experience, or to something that isn&#8217;t a book at all, publishers shouldn&#8217;t feel obliged to emulate a book-reading experience just because the interface is familiar.</p>
<p>Apple’s “App of the Year” for 2009 was <a href="http://itunes.apple.com/gb/app/jamies-20-minute-meals/id318926433?mt=8" target="_blank">Jamie Oliver’s “20 Minute Meals”</a> – an app that goes so far beyond the traditional recipe book as to be unrecognisable.  The app has been incredibly popular, with over 85% of users awarding it four or five stars on the App Store.  More importantly, the app has raised the bar for app developers to think beyond the book.  (We have a copy of Jamie’s <a href="http://www.wired.co.uk/wired-magazine/archive/2010/02.aspx" target="_blank">Wired cover</a> on the wall in our office; whenever a client says “we want something like the Jamie app”, we shake our fists and shout “Damn you, Oliver!”)</p>
<p>For certain types of content, it is no longer enough to release a simple eBook on the iBookstore.  Jamie’s app may have taken a team of 30 people several months to create, but it has shown users what to expect on a mobile device when publishers think creatively about their content.  It has also shown that apps can generate a substantial amount of publicity (and money) for authors when done well.</p>
<p>I expect eBooks to fall into two categories in 2010.  The majority will be standard eBooks sold through the iBookstore; but an important minority will be essential apps in their own right.</p>
<h2>DRM</h2>
<p>You can’t talk about online media sales without considering rights management, and books are no different.  In this respect, Apple has a major advantage over its competitors.</p>
<p>There are two DRM systems currently in use for ePub files:</p>
<ul>
<li>Kindle DRM (used by the <a href="http://www.amazon.com/kindle" target="_blank">Amazon Kindle</a>)</li>
<li>Adobe DRM (used by the <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/CategoryDisplay?catalogId=10551&amp;storeId=10151&amp;langId=-1&amp;categoryId=8198552921644523779&amp;N=4294954529" target="_blank">Sony Portable Reader</a>, the <a href="http://www.barnesandnoble.com/nook/" target="_blank">Barnes &amp; Noble Nook</a>, and <a href="http://www.adobe.com/products/digitaleditions/devices/" target="_blank">several others</a>)</li>
</ul>
<p>Kindle devices use Amazon’s own bespoke DRM system, which is not licensed to other developers.  Adobe licenses its DRM software to device and software developers, but it has yet to appear on the iPhone. (This may be due to the $75,000 per-year licensing cost for including Adobe DRM in an iPhone app.)  Lexcycle’s <a href="http://www.lexcycle.com/" target="_blank">Stanza app</a> was <a href="http://www.lexcycle.com/press/adobe_DRM_support" target="_blank">supposed to be adding support for Adobe DRM</a>, but since Lexcycle’s acquisition by Amazon, this has been <a href="http://www.lexcycle.com/press/adobe_DRM_support#comment-5664" target="_blank">quietly shelved</a>.</p>
<p>Apple has yet to announce its approach to DRM for the iBookstore, but you can bet your life it won’t be based on either Kindle or Adobe DRM.  Apple’s own <a href="http://en.wikipedia.org/wiki/FairPlay" target="_blank">FairPlay DRM</a> is one of the most trusted DRM systems going. ePub can be used with any DRM system, so Apple can easily add FairPlay on top of ePub for the iBookstore.</p>
<p>This doesn’t stop Apple offering DRM-free books, of course – but it does mean that they have a proven DRM system with which to entice nervous publishers onto their platform.  With iTunes, it took a reliable DRM system to get music publishers on board, and it could be argued that the digital media revolution, spearheaded by iTunes and the iPod, would never have happened without Apple’s initial use of DRM.  Only some years later could they suggest dropping DRM, to the point where all music sold through iTunes is now DRM-free.  If DRM is what it takes to get the publishing industry on board, then Apple are perfectly placed to win over the majority of book publishers, just as they did for music.</p>
<p>Will users be put off by DRM protection on their books?  I don’t think so.  The iPod showed that most users don’t really care about DRM, as long as they can use their media on all of the computers and mobile devices in their household.  If the iBookstore’s DRM means their favourite books are available to buy and read, with no noticeable restrictions on how they read those books, then most users will be perfectly happy.  Apple got the number of devices spot on for iTunes; it will do the same for iBookstore.</p>
<h2>iBooks for iPhone</h2>
<p>What does this all mean for the iPhone and iPod Touch?  The <a href="http://www.apple.com/quicktime/qtv/specialevent0110/" target="_blank">iPad keynote</a> didn’t mention iBooks for iPhone, but it seems certain that we’ll see some form of store and reader for the smaller form-factor devices too.</p>
<p>The leading bookstore apps on the iPhone are <a href="http://itunes.apple.com/gb/app/stanza/id284956128?mt=8" target="_blank">Stanza</a> and <a href="http://itunes.apple.com/gb/app/kindle-for-iphone/id302584613?mt=8" target="_blank">Kindle</a> (both owned by Amazon). There’s no way that Apple will allow Amazon to be the leading bookstore on the iPhone and iPod Touch once it has launched iBookstore for the iPad.  Apart from anything else, Apple would be missing a huge established user base, all of who have iTunes accounts.</p>
<p>Although the iPhone’s screen is too small for lengthy book reading, it is ideal for trying out new books during dead time when you’re on the move.  It is perfect for iBookstore book previews – read the first chapter of a book when on the Tube, and then buy the book on your iPad for reading at home.  (It also gives Apple a nice way to sell the benefits of the iPad to its existing users – “Imagine this reading experience on an even bigger screen!”)</p>
<p>I think that the iBookstore and iBooks apps will come pre-installed as part of an iPhone OS update once the iPad is launched.  If Apple are particularly savvy, books purchased in any iBookstore will sync wirelessly to all of your iPhone OS mobile devices using push syncing, meaning you’ll always have all of your books on all of your devices, without even needing to launch an app to sync.  (This is something Amazon’s apps will never be able to do.)</p>
<p>Unlike the Kindle app, the iBookstore won’t be restricted by Apple’s policy on in-app purchases.  Apps such as Kindle aren’t allowed to sell electronic content for in-app consumption without using Apple’s <a href="http://developer.apple.com/iphone/library/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Introduction/Introduction.html" target="_blank">StoreKit</a> (and doing so gives Apple a sizeable cut of every purchase, something Amazon would never sign up to).  Kindle’s only alternative is to bounce the user to a web page in Mobile Safari, get them to make a credit card purchase, and then sync their purchases when they next launch the Kindle app.  This process is clunky and unintuitive, especially when compared to the iBookstore, which will simply ask the user to enter their iTunes password.</p>
<p>Books may end up being cheaper in the Kindle app, but iTunes has shown that within a certain threshold, an easy purchase is more important than a cheap one.  I expect to see Apple wrestle control of iPhone book sales back from Amazon within days of launching the iPad and its corresponding iPhone system update.</p>
<p>(<strong>UPDATE:</strong> John Gruber of Daring Fireball <a href="http://daringfireball.net/linked/2010/02/10/ibooks" target="_blank">points out</a> that iBooks will be a downloadable app from the App Store, and not a bundled part of the OS. Whether this means Apple&#8217;s app will have to play by the same rules as any other developer&#8217;s app remains to be seen. And I should add that iBooks and iBookstore are two parts of the same app.)</p>
<h2>Summary</h2>
<p>iBookstore will become the place you buy all of your eBooks, simply because it is the easiest and most pleasurable way to do so.  Publishers will choose the iBookstore as their preferred iPhone / iPad store, benefitting themselves and their readers in the process. Books will come with DRM protection, but the majority of users won’t notice, because it doesn’t stop them reading their books. A few publishers will think beyond books, and will create truly innovative and useful apps from their content.</p>
<p>Adobe and Amazon won’t be able to compete, because Apple will control the entire playing field.  The iPhone and iPod Touch will provide an established user base to get people trying books on the move, and to sell the benefits of the iPad as the eBook reader of choice.  Before long, Apple will be the biggest eBook seller in the world.  And users will be happy about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=288</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What&#8217;s (not) wrong with the iPad</title>
		<link>http://www.thismuchiknow.co.uk/?p=278</link>
		<comments>http://www.thismuchiknow.co.uk/?p=278#comments</comments>
		<pubDate>Thu, 28 Jan 2010 08:30:04 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=278</guid>
		<description><![CDATA[Lots of suggested iPad downsides on the Internet this morning. Thought I&#8217;d tackle a few.

It doesn&#8217;t have a camera
It&#8217;s 9.5&#8243; by 7.5&#8243; wide, and 0.5&#8243; thick. You want to try taking a picture with something that shape?
Besides, you&#8217;ve got a camera-shaped iPhone in your pocket.
It doesn&#8217;t make phone calls
It&#8217;s 9.5&#8243; by 7.5&#8243; wide, and 0.5&#8243; [...]]]></description>
			<content:encoded><![CDATA[<p>Lots of <a href="http://www.guardian.co.uk/technology/blog/2010/jan/28/apple-tablet-computer" target="_blank">suggested iPad downsides</a> on the Internet this morning. Thought I&#8217;d tackle a few.</p>
<p><span id="more-278"></span></p>
<h2>It doesn&#8217;t have a camera</h2>
<p><em>It&#8217;s 9.5&#8243; by 7.5&#8243; wide, and 0.5&#8243; thick. You want to try taking a picture with something that shape?</em></p>
<p>Besides, you&#8217;ve got a camera-shaped iPhone in your pocket.</p>
<h2>It doesn&#8217;t make phone calls</h2>
<p><em>It&#8217;s 9.5&#8243; by 7.5&#8243; wide, and 0.5&#8243; thick. You want to try holding that to you ear?</em></p>
<p>Besides, you&#8217;ve got a phone-shaped iPhone in your pocket.</p>
<h2>It&#8217;s got a big bevel round the edge</h2>
<p><em>So have books.</em></p>
<p>Because you hold them in your hand.</p>
<h2>It doesn&#8217;t support Flash</h2>
<p><em>Because Flash is slow and cumbersome, and the iPad supports HTML 5.</em></p>
<p>Name me one web app that couldn&#8217;t be achieved in HTML 5, without the need for Flash.</p>
<h2>It doesn&#8217;t support multitasking</h2>
<p><em>Because it doesn&#8217;t need to.</em></p>
<p>If you really need your apps to multitask when you&#8217;re on the move, buy a MacBook. If you&#8217;d rather have all-day battery life and guaranteed foreground app performance, buy an iPad.</p>
<h2>I already have a Kindle</h2>
<p><em>The base model iPad only costs $10 more than a 9.7&#8243; Kindle DX.</em></p>
<p>Apparently the Kindle only reads books.</p>
<h2>I still feel a bit&#8230; underwhelmed</h2>
<p><em>What did you expect &#8211; Apple had invented perpetual motion?</em></p>
<p>Just wait till you use one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=278</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top Grossing Apps in the iTunes App Store</title>
		<link>http://www.thismuchiknow.co.uk/?p=178</link>
		<comments>http://www.thismuchiknow.co.uk/?p=178#comments</comments>
		<pubDate>Wed, 09 Sep 2009 22:15:23 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=178</guid>
		<description><![CDATA[One of the more interesting additions to the updated iTunes 9 Store is a new &#8220;Top Grossing Apps&#8221; view.  This is displayed bottom right on the main App Store screen in iTunes, and has also been added to the Mobile App Store in iPhone OS 3.1, under the Top 25 tab.
As a developer, this view [...]]]></description>
			<content:encoded><![CDATA[<p>One of the more interesting additions to the updated <a href="http://www.apple.com/itunes/" target="_blank">iTunes 9</a> Store is a new &#8220;<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewTop?id=25206&amp;popId=38" target="_blank">Top Grossing Apps</a>&#8221; view.  This is displayed bottom right on the main App Store screen in iTunes, and has also been added to the Mobile App Store in iPhone OS 3.1, under the Top 25 tab.</p>
<p><span id="more-178"></span>As a developer, this view is fascinating. For example, in the UK app store, the number 1 app by revenue is the £59.99 &#8220;<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=326067542&amp;mt=8" target="_blank">TomTom UK and Ireland</a>&#8221; app, even though this app only makes number 97 in the Top 100 Paid Apps chart. That&#8217;s a <strong>huge</strong> discrepancy &#8211; the <strong>97th</strong> best-selling app is currently making more money than any other app in the UK. Compare that to the second-place app by revenue, another turn-by-turn navigation app (<a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=324592881&amp;mt=8" target="_blank">CoPilot Live UK and Ireland</a>), which is priced at £25.99. This app is at number 41 in the Paid Apps charts. Continuing down the list, in third place by revenue we have <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=329373748&amp;mt=8" target="_blank">Modern Combat: Sandstorm</a> (£3.99, 5th in the Paid Apps chart), followed by <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=326075062&amp;mt=8" target="_blank">TomTom Western Europe</a> (£79.99, not even in the top 100 Paid Apps), <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=311691366&amp;mt=8" target="_blank">Scrabble</a> (£2.99, 15th) and <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=296845804&amp;mt=8" target="_blank">UNO</a> (£2.99, 16th).</p>
<p>What does this new view tell us?</p>
<ul>
<li>None of the top ten highest grossing apps cost 59p (the lowest possible price in the App Store), and all are at least £1.79</li>
<li>£2.99 or £3.99 games are making substantially more money than 59p chart-toppers</li>
<li>The Paid Apps chart (which we&#8217;ve relied on for App Store statistics for some time now) is not representing the true economics of the App Store</li>
<li>CoPilot costs less than half the price of the TomTom app, suggesting that CoPilot could and should have charged more</li>
<li>Established brands (TomTom, GameLoft, EA) can and should charge more for their apps if they want to make money from the App Store &#8211; their brand and their quality will result in high-value sales, if not top chart positions</li>
</ul>
<p>One question remains, however &#8211; why have Apple added this view to the App Store at all?  It may be fascinating for developers, but I&#8217;m not sure how it helps your average user to choose what to buy, other than saying &#8220;Apple makes more money from these apps than from any others&#8221;&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=178</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exporting emails from Entourage to Outlook</title>
		<link>http://www.thismuchiknow.co.uk/?p=169</link>
		<comments>http://www.thismuchiknow.co.uk/?p=169#comments</comments>
		<pubDate>Wed, 09 Sep 2009 14:22:30 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Applescript]]></category>
		<category><![CDATA[Microsoft Office]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=169</guid>
		<description><![CDATA[I&#8217;ve recently had to export a bunch of emails from Entourage and into Outlook, in order to send them to someone in a format they can browse and read on a PC.  You&#8217;d think that exporting a selection of emails from one Microsoft email management tool to another would be easy, right?  Sadly not.  Thankfully, [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve recently had to export a bunch of emails from Entourage and into Outlook, in order to send them to someone in a format they can browse and read on a PC.  You&#8217;d think that exporting a selection of emails from one Microsoft email management tool to another would be easy, right?  Sadly not.  Thankfully, a bit of Applescript and a relatively cheap utility got things working for me.  This post describes how.</p>
<p><span id="more-169"></span>The main problem is the lack of a common format between Entourage (.mbox for folders, .eml for individual emails) and Outlook (.pst for everything).  There used to be a really good <a href="http://scriptbuilders.net/files/exportimportentourage1.3.10.html" target="_blank">Applescript export tool</a> for exporting from Entourage, but sadly it&#8217;s never been updated to work on Leopard.  You can export a whole folder as an MBOX file from Entourage, but these can&#8217;t be opened by Outlook and so aren&#8217;t much use either.</p>
<p>(As an aside, there are numerous ways to go the <em>other</em> way, to export from Outlook and import into Entourage.  It&#8217;s almost as if lots of people are switching from PC to Mac, but few need to go in the other direction&#8230;)</p>
<p>My eventual solution has two parts &#8211; getting mail out of Entourage, and then getting it in to Outlook.</p>
<h2>Getting mail out of Entourage</h2>
<p>For this part, I wrote an Applescript (based heavily on <a href="http://www.macosxhints.com/article.php?story=20040208091514777" target="_blank">some code from macosxhints.com</a>) to export all currently-selected emails in Entourage to a folder on my Mac.  Many thanks to macosxhints user golgi_body for posting the original code.</p>
<p>Here&#8217;s the script I&#8217;m using (copy this into Script Editor to use it):</p>
<pre>tell application "Microsoft Entourage"

    -- get a reference to all selected messages from entourage
    set selectedMessages to the current messages
    if selectedMessages is {} then
        return
    end if

    -- absolute reference to our export folder
    set fpath to "DiskName:Users:myusername:Documents:existingfolder:"

    repeat with i in selectedMessages

        set sentDate to time sent of i
        set fname to fpath ¬
            &amp; my padNumber(year of sentDate as integer) ¬
            &amp; "-" &amp; my padNumber(month of sentDate as integer) ¬
            &amp; "-" &amp; my padNumber(day of sentDate as integer) ¬
            &amp; "-" &amp; my padNumber(hours of sentDate as integer) ¬
            &amp; "-" &amp; my padNumber(minutes of sentDate as integer) ¬
            &amp; "-" &amp; my padNumber(seconds of sentDate as integer) ¬

        tell application "Finder"
            if (exists file (fname &amp; ".eml")) then
                set k to 1
                repeat while (exists file (fname &amp; "-" &amp; (k as string) &amp; ".eml"))
                    set k to k + 1
                end repeat
                set fname to (fname &amp; "-" &amp; (k as string))
            end if
        end tell

        set fname to fname &amp; ".eml"
        save i in fname
        tell application "Finder" to update file fname

    end repeat

end tell

to padNumber(theNumber)
    if theNumber is less than 10 then
        return "0" &amp; theNumber
    else
        return theNumber
    end if
end padNumber</pre>
<p>You&#8217;ll need to set fpath to be the path to an existing folder on your Mac. When you run this script in Script Editor, all of the selected files in Entourage will be exported to your export folder as .eml files.</p>
<p>Why use Applescript at all?  Why not just drag the selected emails onto a folder?  After all, this prompts Entourage to export them itself in .eml format.  The problem is, when you do so, Entourage exports the emails using the email subject as the file name.  This can contain all sorts of weird and wonderful characters, and Windows doesn&#8217;t like that at all.  This script avoids the problem altogether by using the date and time the email was sent as the filename.  (It also makes it easier to order your .eml files by date and time in the Finder if you need to.)</p>
<h2>Getting mail in to Outlook</h2>
<p>For this part, I used a Windows utility called <a href="http://www.outlookimport.com/" target="_blank">Outlook Import Wizard</a>.  It costs $19.95, but it&#8217;s more than worth it when you consider the time it can save.  You can download it and try it out for free (max 5 emails per demo import), but be warned &#8211; in demo mode, you can&#8217;t turn on the &#8220;Enable the EML Preprocessing (Unix, MAC)&#8221; option to make the wizard recognise Mac-encoded emails, and so your imported emails will contain lots of &#8220;=&#8221; symbols when you view them in Outlook.  The good news is that the purchased app works fine with Mac-encoded emails.</p>
<p>The import process is pretty easy.  On your PC with Outlook installed, work through the Outlook Import Wizard, being sure to turn on the &#8220;Enable the EML Preprocessing (Unix, MAC)&#8221; option (found under the &#8220;Options&#8221; button on the &#8220;Select the source folder&#8221; screen) to make sure that your Mac-encoded emails are recognised.  The wizard is pretty self-explanatory, and there are <a href="http://www.outlookimport.com/instructions/" target="_blank">full instructions online</a>, so I won&#8217;t run through the rest of the settings in detail here.  It&#8217;ll take a while to do the import, but eventually you&#8217;ll end up with all of your emails in Outlook, with all attachments and the original headers.</p>
<p>I&#8217;ve only tried this process myself with Entourage 2008 (on Leopard) and Outlook 2002 (on XP), but I would expect it to work with earlier versions of Entourage too.  The Outlook Import Wizard claims to work on Windows 98/Me/NT 4.0/2000/XP/2003 with Outlook 98/2000/2002/2003/2007, so you should be good to go no matter what your setup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=169</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to detect if an iPhone OS device can make phone calls</title>
		<link>http://www.thismuchiknow.co.uk/?p=163</link>
		<comments>http://www.thismuchiknow.co.uk/?p=163#comments</comments>
		<pubDate>Thu, 03 Sep 2009 18:01:32 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[iPhone / iPod Touch]]></category>

		<guid isPermaLink="false">http://www.thismuchiknow.co.uk/?p=163</guid>
		<description><![CDATA[I&#8217;ve struggled to find a way to deduce if an iPhone OS device has the ability to make phone calls or not.  There is a way to do so in iPhone OS 3.0, but I want to compile my code against the OS 2.0 SDK to enable it to run on as many devices [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve struggled to find a way to deduce if an iPhone OS device has the ability to make phone calls or not.  There is a way to do so in iPhone OS 3.0, but I want to compile my code against the OS 2.0 SDK to enable it to run on as many devices as possible.  I could just check if the device is an iPod Touch or an iPhone, but who knows what weird and wonderful iPhone OS-based devices Apple might release in the future, and I&#8217;d like my check to be future-proof.  So I&#8217;ve come up with a hybrid way of detecting the device&#8217;s ability to make calls.  This post describes the approach I&#8217;m using.<br />
<span id="more-163"></span><br />
iPhone OS 3.0 introduced a new method for the UIApplication class, called canOpenURL.  This method enables you to check if the current application can open a particular URL, and by extension whether it can handle a particular URL schema.</p>
<p>Phone calls on the iPhone OS are instigated in code by using the tel: schema, as shown below.</p>
<pre>UIApplication *app = [UIApplication sharedApplication];
[app openURL:[NSURL URLWithString:@"tel:+44-1234-567890"]];</pre>
<p>So on OS 3.0, we use canOpenURL to check if the application can open a sample telephone URL via the tel: schema.</p>
<p>On iPhone OS 2.x, we don&#8217;t have canOpenURL, and so we fall back to using the model property of [UIDevice currentDevice] to detect if the device is an iPhone or not.  It&#8217;s safe to assume that any as-yet-unannounced iPhone OS devices will run OS 3.x or later, and so this provides a future-proofed test for any new devices.</p>
<p>Here&#8217;s the complete function I use to perform the check:</p>
<pre>- (BOOL)deviceCanMakePhoneCalls
{
    BOOL canMakePhoneCalls;
    if ([UIApplication instancesRespondToSelector:@selector(canOpenURL:)]) {
        // OS 3.0+, so use canOpenURL
        UIApplication *app = [UIApplication sharedApplication];
        canMakePhoneCalls = ([app canOpenURL:[NSURL URLWithString:@"tel:+44-1234-567890"]]);
    } else {
        // OS 2.x, so check for iPhone
        UIDevice *device = [UIDevice currentDevice];
        canMakePhoneCalls = ([device.model isEqualToString:@"iPhone"]);
    }
    return canMakePhoneCalls;
}</pre>
<p>This code will compile for any version of the iPhone OS SDK from 2.0 upwards, and has been tested on SDK 3.0.  If you compile on an SDK version earlier than 3.0, you may see compilation warnings for the canOpenURL line; these can safely be ignored, as this code will only be triggered when it is run on a device with OS 3.0 or later.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thismuchiknow.co.uk/?feed=rss2&amp;p=163</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
