<?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>Timeshifting Interactive</title>
	<atom:link href="http://www.timeshifting.co.nz/feed" rel="self" type="application/rss+xml" />
	<link>http://www.timeshifting.co.nz</link>
	<description>Just another WordPress site</description>
	<lastBuildDate>Mon, 04 Mar 2013 05:17:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.1</generator>
		<item>
		<title>Web Directions Code 2012 Recap</title>
		<link>http://www.timeshifting.co.nz/blog/web-directions-code-melbourne-recap?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/web-directions-code-melbourne-recap#comments</comments>
		<pubDate>Wed, 06 Jun 2012 10:24:46 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=573</guid>
		<description><![CDATA[Web Directions is a series of web conferences held in North America, Europe and Australia. I&#8217;ve been to several of their previous events and I recently attended the first of their Web Directions Code series in Melbourne last month. Most conferences are a mix of business, technical and inspirational talks,  but this one was different. [...]]]></description>
			<content:encoded><![CDATA[<p>Web Directions is a series of web conferences held in North America, Europe and Australia. I&#8217;ve been to several of their previous events and I recently attended the first of their <a href="http://code12melb.webdirections.org/">Web Directions Code</a> series in Melbourne last month. Most conferences are a mix of business, technical and inspirational talks,  but this one was different. Two solid days of tech, the first on HTML5 and Mobile, and the second JavaScript, the programming language that powers the web.</p>
<p>Some of the technologies for browser based games coming out are simply amazing. Hardware accelerated 3D graphics, ability to use PS3 or Xbox controllers within the browser, and full screen game play. Many of the demos looked indistinguishable from games on the PlayStation 3 and other consoles. Compared to Flash, HTML5 based technologies are definitely on an equal footing — of course unless the site needs to work in Internet Explorer. Some things never change&#8230;</p>
<p>There were many good take-aways from the talks. Improving tools was one of the main ones, one that I&#8217;ve now had a chance to implement. I&#8217;ve built a number of new tools in both shell scripts and compiled code to validate the code quality of the sites I produce. These validators, called &#8216;lint&#8217; in programming, help make sure the sites I build not only work but are well written too. I&#8217;ve made a tool to help automate site creation, which really improves consistency &#8211; another core part of quality work.</p>
<p>It&#8217;s really incredible how far JavaScript has come as a language. The number of places it&#8217;s now used outside the browser is amazing &#8211; server-side to run web servers, inside PDF documents to validate forms and as the automation language of choice in many applications, including Photoshop and InDesign. As the language matures, so do the best practices and this conference was a great opportunity to catch up on the latest thinking in this area.</p>
<p>And last but not least, another if not web related takeaway was <a href="http://decafsucks.com/">Decaf Sucks</a>, a coffee review site that is excellent if you&#8217;re visiting Australia – really takes the stress out of finding a decent espresso!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/web-directions-code-melbourne-recap/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Top 5 Website Mistakes</title>
		<link>http://www.timeshifting.co.nz/blog/top-5-website-mistakes?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/top-5-website-mistakes#comments</comments>
		<pubDate>Mon, 26 Mar 2012 04:02:58 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=568</guid>
		<description><![CDATA[As a web developer I see these mistakes too often when browsing the web: do any of these affect your site? No Opening Hours You would be surprised how many sites don’t have this essential piece of basic information. If you have a retail business, people visting your site most likely want to know where [...]]]></description>
			<content:encoded><![CDATA[<p>As a web developer I see these mistakes too often when browsing the web: do any of these affect your site?</p>
<ol class="numbered">
<li><strong>No Opening Hours</strong><br />
You would be surprised how many sites don’t have this essential piece of basic information. If you have a retail business, people visting your site most likely want to know where you are and when you’re open. There’s nothing more annoying than turning up at a business, and finding them closed because you couldn’t find out their business hours.</li>
<li><strong>Poorly Designed Credit Card Forms</strong><br />
So many e-commerce sites get this wrong, it seems like no thought goes into this most information screen. If the customer has reached the last screen of the checkout process, you want to make it as easy as possible to complete the transaction. The details printed on credit cards are always laid out in the same order, top to bottom: card number, expiry, name on card. The customer copies the details line by line into the form &#8212; easy, right? Except how often have you started to type in the card number and then realised the first field was labelled ‘Name on Card’? Don’t make your customer do more work then they need to, make sure the form is laid out like the card.</li>
<li><strong>Assuming Familiarity</strong><br />
This is another content issue. Sites that seem to assume you’re already very familiar with their business and products, and thus provide no information about what they do or the value their products provide. It’s very uncommon for a business not to want new customers, yet many sites like this exist – by all means provide information for your existing clients, but don’t alienate potential new ones by ignoring them in your content strategy.</li>
<li><strong>Are You Local?</strong><br />
In the past, the holy grail of domain names was the ‘dot com’. But the Internet has become more congested with sites, so users are now scanning the search results for regional domain, like .com.au or .co.nz. For businesses based in New Zealand it’s much better to have a .co.nz address than .net or even a .com address.</li>
<li><strong>Login and Abandon</strong><br />
If pages on your site require login, make sure they redirect correctly after login. For example if a user follows a bookmark to a page that requires login, after they login, make sure they’re redirected to the page they were trying to reach and not default post login page. This seems to happen more often than it should, hopefully not on your site!</li>
</ol>
<p><em>and one extra…</em></p>
<ol class="numbered" start="6">
<li><strong>Captchas</strong><br />
Those little hard to read number and letter codes to make sure a human is filling out the form. If your site has this functionality &#8212; make sure they work as there’s nothing more annoying than an unsolvable captcha!</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/top-5-website-mistakes/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alternative Stylesheets: Firefox&#8217;s Best Kept Secret</title>
		<link>http://www.timeshifting.co.nz/blog/alternative-stylesheets-firefoxs-best-kept-secret?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/alternative-stylesheets-firefoxs-best-kept-secret#comments</comments>
		<pubDate>Tue, 24 May 2011 21:58:16 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Information Technology]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=563</guid>
		<description><![CDATA[One of the unique features of Firefox that is often underused is the ability to switch between style sheets.  This functionality is accessible under ‘View &#62; Page Style’ menu.  Originally it was designed for swapping between themes provided by sites; however this never really took off and has largely been forgotten about. This functionality can [...]]]></description>
			<content:encoded><![CDATA[<p>One of the unique features of Firefox that is often underused is the ability to switch between style sheets.  This functionality is accessible under ‘View &gt; Page Style’ menu.  Originally it was designed for swapping between themes provided by sites; however this never really took off and has largely been forgotten about.</p>
<p>This functionality can however be quite useful in certain circumstances.  The ‘No Page Style’ option turns off all style sheets, making it easy to copy otherwise difficult to select content, or page elements that have been constructed to stop copying – like transparent images over other content. Which highlights why all such faux-protections achieve is hampering usability, if you don’t want something on the Internet copied, password protect the content or don’t put it on the Internet at all.</p>
<p>Even more useful for web development, is testing new site features with alternative style sheets.  The alternative style sheet, as the name suggests, is added the html page in addition to the main one.  Normal visitors to site won’t see any change, but the developer can select anyone of the alternatives and navigate the site with completely different styling.</p>
<p>This a handy way to test seasonal site theme changes, Christmas, Easter etc, in cases where there isn’t a staging server for the site in question.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/alternative-stylesheets-firefoxs-best-kept-secret/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Customising iTunes as a Media Server</title>
		<link>http://www.timeshifting.co.nz/blog/customising-itunes-as-media-server?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/customising-itunes-as-media-server#comments</comments>
		<pubDate>Thu, 30 Sep 2010 21:26:08 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Information Technology]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=119</guid>
		<description><![CDATA[One of the great things about digital formats is being able to easily group and find all of your music and video. iTunes combined with Remote.app on iOS devices (iPhone/iPad/iPod Touch) works really well for selecting and playing music around the home or office. Music playback doesn&#8217;t need much processing power, so any old PC [...]]]></description>
			<content:encoded><![CDATA[<p>One of the great things about digital formats is being able to easily group and find all of your music and video.  iTunes combined with Remote.app on iOS devices (iPhone/iPad/iPod Touch) works really well for selecting and playing music around the home or office.  Music playback doesn&#8217;t need much processing power, so any old PC or laptop can be repurposed for the task, or it can be added to a pre-existing server.</p>
<p>Add a couple of AirPort Express base stations for <a href="http://www.apple.com/airportexpress/features/airtunes.html">AirTunes</a> and you can control both music selection and multiple sets of speakers from the iPhone.  AirPorts can just be setup to join an existing network, rather than creating their own, to provide an additional set of speakers to send music to.</p>
<p><span id="more-119"></span>The main problem with iTunes is it’s not really designed to run as a server application.  For example you must log in and run the app after every restart, a necessity for Windows Update.  Admittedly you could set the computer in question to auto-login and add iTunes to the startup group, nor is it even practical if the computer in question is an office server as well.</p>
<p>It is, however, possible to successfully run iTunes as a service.  The trick is to use a service wrapper utility called SrvAny from the Windows 2003 Resource Kit.  This runs when the computer starts up and starts iTunes as a service in the background.  We set up a separate user account for iTunes and SrvAny to run under, and set permissions on this account to lock it down so it could only access the music files.   To set up iTunes as a Service, copy ‘srvany.exe’ to c:windowssystem32, add the following to the registry (customising for your system as necessary), and then in the Service to login as &#8216;iTunesServer&#8217;:</p>
<pre style="width: 100%; overflow-x: auto">
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesitunesservice]
"Type"=dword:00000010
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"ImagePath"="C:\Windows\System32\Srvany.exe"
"DisplayName"="iTunes (Media Server)"
"ObjectName"="NT Authority\LocalService"

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesitunesserviceParameters]
"Application"="C:\Program Files\iTunes\iTunes.exe"

[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesitunesserviceEnum]
"0"="Root\LEGACY_ITUNESSERVICE\0000"
"Count"=dword:00000001
"NextInstance"=dword:00000001
</pre>
<p>This has been tested on a Windows 2008 Server here, but should work fine on any version of Windows, desktop or server.  If you need to access the iTunes UI for any reason, stop the service and run the app interactively from the ‘iTunesServer’ user account.</p>
<p>The other minor annoyance of iTunes is the speaker list that comes up in Remote.app.  You can specify a name for AirTunes speakers, but the ones attached the computer iTunes is running on are always called ‘My Computer’.  Fortunately this can be customised too by editing the iTunes localisation file.  Locate the file below (selecting the correct .lproj folder for your language):</p>
<pre style="width: 100%; overflow-x: auto">
<strong>Windows:</strong>
c:Program FilesiTunesiTunes.Resourcesen.lprojLocalizable.strings

<strong>MacOS:</strong>
/Applications/iTunes.app/Contents/Resources/English.lproj/Localizable.strings
</pre>
<p>And search for string ‘163.035’ (without quotes)&#8212;that is the name for the built-in speakers.  Change it to whatever you want. In iTunes 10 and newer the localisation files are commented, so it’s easier to find and edit these text strings.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/customising-itunes-as-media-server/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test Your Awareness</title>
		<link>http://www.timeshifting.co.nz/blog/test-your-awareness-do-the-test?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/test-your-awareness-do-the-test#comments</comments>
		<pubDate>Tue, 24 Aug 2010 02:34:11 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Hyperlocal]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=126</guid>
		<description><![CDATA[Generally I think Hamilton has got better over the last few years, drivers are more aware and the number of cycle lanes has increased. However it could always be better, will be voting pro-cycling in the upcoming local elections&#8212;even though most of my (probably many other cyclists&#8217;) transport needs are met by car. * On [...]]]></description>
			<content:encoded><![CDATA[<p><iframe width="540" height="430" src="http://www.youtube.com/embed/Ahg6qcgoay4"></iframe></p>
<p>Generally I think Hamilton has got better over the last few years, drivers are more aware and the number of cycle lanes has increased.  However it could always be better, will be voting pro-cycling in the upcoming local elections&#8212;even though most of my (probably many other cyclists&#8217;) transport needs are met by car.</p>
<p>* On an interesting side note, the YouTube video above is using HTML5 video for playback (or flash in the cases where HTML5 isn&#8217;t supported).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/test-your-awareness-do-the-test/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Multilingual Site Development</title>
		<link>http://www.timeshifting.co.nz/blog/multilingual-site-development?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/multilingual-site-development#comments</comments>
		<pubDate>Sun, 18 Jul 2010 23:27:29 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=148</guid>
		<description><![CDATA[We&#8217;ve worked on a number of multilingual sites over the last few years, each coming with its own set of challenges. Often it&#8217;s easy to underestimate the extra amount of work an additional language will add. Design is the main area that needs to be considered, but it&#8217;s also important not to forget about messaging [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve worked on a number of multilingual sites over the last few years, each coming with its own set of challenges.  Often it&#8217;s easy to underestimate the extra amount of work an additional language will add.  Design is the main area that needs to be considered, but it&#8217;s also important not to forget about messaging and quality assurance.</p>
<p>Design needs to take into account the different amount of space each language will need to say the same thing. Problem areas include menus, dialogs and buttons. For example, on any given button, the text in French will be four times wider than in Chinese; this means that not only will the button have to be wider, but its container also needs to be able to accommodate the extra length.</p>
<p>There are roughly four main language groups:</p>
<ul>
<li><b>English:</b> 100% width</li>
<li><b>European:</b> on average 130% wider than English</li>
<li><b>Complex Scripts</b> (Thai, Arabic, Hindi, etc.):  generally about 80% of the width of English<br/>and can be right-to-left</li>
<li><b>CJK</b> (Chinese, Japanese and Korean): on average 50% of the width of English</li>
</ul>
<p>If the design requires copy to fit tightly, then a separate layout for each language or language group is the best option. The alternative is a design with built-in flexibility to handle variations in content width. Designing for the longest language, and allowing for the layout to contract if necessary, tends to be the best plan of attack. Trying to build a design that works for all languages, unless it&#8217;s very simple, generally ends up with a poor visual result.</p>
<p>Messaging is easy to overlook, but there are a lot of places where error messages can be generated.  There&#8217;s the front-end in form validation and the back-end in Ajax responses; all the possible error, confirmation and status messages need to be translated. In addition, Quality Assurance needs to test every combination in every language &#8211; and if several languages are involved, the amount of work can really add up.</p>
<p>Multilingual sites can be straightforward if they&#8217;ve been well planned, but it&#8217;s never a case of just dropping in replacement copy over the English text!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/multilingual-site-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web API&#8217;s and browser technologies</title>
		<link>http://www.timeshifting.co.nz/blog/web-apis-and-browser-technologies?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/web-apis-and-browser-technologies#comments</comments>
		<pubDate>Sat, 12 Jun 2010 23:26:05 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=146</guid>
		<description><![CDATA[We&#8217;re a big fan of using the latest APIs and pushing browser-based technologies to their limits. A recent project required complex Google Maps implementation, so the new version 3 API was the obvious choice. It&#8217;s many times faster than the previous version, has location services, and works well on mobile devices (like the iPhone). The [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re a big fan of using the latest APIs and pushing browser-based technologies to their limits.  A recent project required complex Google Maps implementation, so the new <a href="http://code.google.com/apis/maps/documentation/v3/">version 3 API</a> was the obvious choice.  It&#8217;s many times faster than the previous version, has location services, and works well on mobile devices (like the iPhone).  The project&#8217;s mapping functionality proved to be a success; however, it wasn&#8217;t without a few technical challenges along the way.</p>
<p>One of the problems with adopting new API&#8217;s is that the eco-system of code that interacts and extends it is often very immature as well.  Code examples can also be a little sparse, though fortunately Google&#8217;s documentation was excellent in this regard.  The difficulty is when you need something that&#8217;s not included in the box.  Our map has markers, a lot of markers, thousands of them in fact, and to stop the browser impaling itself on a spike we needed marker clustering.</p>
<p>Clustering is where you replace several individual markers with a single marker group icon that indicates to the user that there is X number of markers in this location.  The more you zoom out, the greater the number of markers grouped into each cluster.  The clustering solutions for Google Maps version 2 were numerous, but for version 3 there was just a handful.  The most suitable library was barely 3 weeks old, certainly immature, but as a <a href="http://en.wikipedia.org/wiki/Porting">port</a> of a stable release of the same library for the v2 API it was a viable option.</p>
<p>This is where the having a strong knowledge of the language and the browsers you are working with is really helpful.  The library definitely had a few bugs, but having come from a time before JavaScript libraries it was easy to write override methods to patch these until library author corrected them.  In between the initial implementation and project release the library authors did in fact patch those issues, so we were able to drop in the latest code and dispense with these patches.</p>
<p>Another problem we faced was that the styling provided by the library was limited.  It expected the marker to be centered on the location, rather than above the location as the design needed. Method overrides and a good understanding of cross-browser rendering bugs allowed us to extend the library to meet our &#8211; and our client&#8217;s &#8211; needs.</p>
<p>I still wonder if too many new programmers now rely too heavily on JavaScript libraries, without understanding how things work behind the scenes.  Every browser will always have its quirks and a professional front end developer should know how to deal with these. I&#8217;m not advocating against using JavaScript libraries, as they definitely get projects out faster and reduce costs.  But if things don&#8217;t work correctly, or if they require slightly different functionality, I wonder whether many programmers would cope without their jQuery fix.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/web-apis-and-browser-technologies/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Browser Plug-ins</title>
		<link>http://www.timeshifting.co.nz/blog/browser-plug-ins?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/browser-plug-ins#comments</comments>
		<pubDate>Mon, 17 May 2010 04:42:16 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Information Technology]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=110</guid>
		<description><![CDATA[Browser plug-ins are a mixed blessing. They add useful functionality, but at the same time heighten your risk of viruses and other malicious code by increasing the browser attack surface. This is always a trade-off and sometimes the inconvenience of making sure the latest security updates are installed is worth the hassle. Google Analytics and [...]]]></description>
			<content:encoded><![CDATA[<p>Browser plug-ins are a mixed blessing.  They add useful functionality, but at the same time heighten your risk of viruses and other malicious code by increasing the browser attack surface. This is always a trade-off and sometimes the inconvenience of making sure the latest security updates are installed is worth the hassle.  Google Analytics and Xero without Flash, for example, would loose their interactive graphs greatly reducing the functionality of both applications.</p>
<p>However, there&#8217;s a difference between a plug-in you&#8217;ve chosen to install, and one that just installs itself along with another piece of software. Worse still are those plug-ins that you just can&#8217;t uninstall.  iTunes is particularly annoying in this regard, there&#8217;s no uninstall and deleting the plug-in files causes iTunes to reinstall itself (and the plug-in) on next run.  Sure you can disable the plug-in in the browser, but I&#8217;d prefer it not to be there in the first place.</p>
<p><span id="more-110"></span>After looking into this further, there is a way to permanently block unwanted plug-ins without deleting the files (which just causes iTunes, the .NET Framework Firefox plug-in, and many others to reinstall themselves).  The trick is to create another Administrator user account on your machine, and use that account set file permissions on the plug-in to block access from your normal user account.  Without &#8216;read&#8217; rights to the plug-in file, there&#8217;s no way it can load into your browser disabled or not.</p>
<p>Locating the plug-in files to block is pretty straight forward if you know where to look.  In Internet Explorer it&#8217;s under: Tools > Internet Options > Programs > Manage Add-ons.  Once in the &#8216;Manage Add-ons&#8217; dialog you&#8217;ll see a &#8216;File&#8217; column with the plug-in&#8217;s filename, right clicking on the column heading and checking &#8216;In Folder&#8217; will also show you the paths to these files.  In Firefox the plug-in list is displayed by typing &#8220;about:plugins&#8221; in the address bar. Unfortunately you&#8217;ll need to figure out the file paths yourself, as Firefox doesn&#8217;t tell you this.</p>
<p>Once blocked, your browser plugins list will be reduced to just those that you need and want, in doing so making your browser more stable and secure.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/browser-plug-ins/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Outlook to iPhone/iPod Touch Calendar: 2 Way Wireless Sync without iTunes</title>
		<link>http://www.timeshifting.co.nz/blog/outlook-to-iphoneipod-touch-calendar-2-way-wireless-sync-without-itunes?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/outlook-to-iphoneipod-touch-calendar-2-way-wireless-sync-without-itunes#comments</comments>
		<pubDate>Mon, 12 Apr 2010 08:25:17 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Information Technology]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=102</guid>
		<description><![CDATA[The calendaring on the iPhone is great; unlike Outlook you don’t have to be at your desk to get reminders of appointments and meetings.  However entering calendar items on the iPhone keyboard is a pain, and the UI doesn’t expose a full range of reminder options, e.g. ‘1 week before’. Of course one can sync [...]]]></description>
			<content:encoded><![CDATA[<p>The calendaring on the iPhone is great; unlike Outlook you don’t have to be at your desk to get reminders of appointments and meetings.  However entering calendar items on the iPhone keyboard is a pain, and the UI doesn’t expose a full range of reminder options, e.g. ‘1 week before’.</p>
<p>Of course one can sync between the two using iTunes, but this is tedious to say the least and not exactly practical if you use your Calendar and To Dos a lot.  The iPhone OS 3.0 introduced Exchange ActiveSync, allowing medium- to enterprise-sized businesses with an Exchange Server installation to do 2-way wireless sync.  For smaller enterprises this may not be an option, even if they have Exchange, due to the increased security concerns of making their mail server internet facing.</p>
<p>It is possible to have 2-way sync without Exchange, by using a Google Calendar as intermediate store and synching both the iPhone and Outlook against that.  Internally we use ‘Google Apps for Business’ for our e-mail, mainly due to the excellent spam filtering, and that also provides calendar accounts.  However any Google calendar account will do.</p>
<p><span id="more-102"></span>The process is as follows; as with anything, make sure you have a full backup before you start and that you have synched with iTunes first so both calendars are in sync:</p>
<ol>
<li>Setup a Google Calendar Account</li>
<li>Use Google Calendar Sync to synchronize between Outlook 2003 (or newer) and your Google Calendar.†</li>
<li>Setup Exchange ActiveSync on your iPhone to sync between the iPhone/iPod Touch and Google calendar</li>
</ol>
<p class="sectionEnd"><i>† At the time of writing Google Calendar Sync doesn’t work with Outlook 2010 beta, however it is expected that this will be resolved by the time Office 2010 is released.</i></p>
<p><strong style="font-size: 14px">Google Calendar Sync</strong></p>
<p>This can be downloaded from the URL below.  The configuration is very simple, just enter the username and password of the Google Calendar you wish to sync to and save.  The program is automatically added to your ‘Startup’ group and will run in the background, synching your calendar every 2 hours by default (this can be changed to any timeframe that suits).  The only caveat is it will only sync your primary calendar, so if you have multiple calendars in Outlook you may wish to consider consolidating those and using Category labels if possible.</p>
<p class="sectionEnd"><a title="Google Calendar Sync" href="http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;answer=89955" target="_blank">http://www.google.com/support/calendar/bin/answer.py?hl=en&amp;answer=89955</a></p>
<p><strong style="font-size: 14px">Exchange ActiveSync for Calendar</strong></p>
<p>Google’s servers now support Exchange ActiveSync communication, which unlike previous calDAV setups support data ‘Push’.  This means that, when Google Calendar Sync updates the Google Calendar online from Outlook, Google’s servers will push the updates down to your device immediately (even if it’s asleep) so reminders work straight away.</p>
<ol>
<li>Open the Settings from the home screen.</li>
<li>Open Mail, Contacts, Calendars.</li>
<li>Tap Add Account…</li>
<li>Select Microsoft Exchange.</li>
</ol>
<p><strong>Account Info</strong></p>
<ul>
<li>Email: your Google account address (usually somebody@gmail.com) or Google apps email address</li>
<li>Domain: leave blank</li>
<li>Username: same as the email field, your Google account address</li>
<li>Password: your Google account password</li>
<li>Server: m.google.com</li>
<li><em>Choose Accept if the Unable to Verify Certificate dialog appears.</em></li>
</ul>
<p><strong>Sync</strong></p>
<ul>
<li>Mail: no</li>
<li>Contacts: no</li>
<li>Calendars: yes</li>
</ul>
<p>If you’re just synching calendars as described, the Mail sync options can be ignored and left as the defaults.</p>
<p>Once Exchange ActiveSync is set up your iPhone/iPod Touch and Outlook calendars should automatically stay in sync without intervention on your part.  And best of all, without having to use iTunes.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/outlook-to-iphoneipod-touch-calendar-2-way-wireless-sync-without-itunes/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>A simple case of aggregating search</title>
		<link>http://www.timeshifting.co.nz/blog/a-simple-case-of-aggregating-search?utm_source=RSS+Feed&#038;utm_medium=feed&#038;utm_campaign=Timeshifting+Interactive+Blog</link>
		<comments>http://www.timeshifting.co.nz/blog/a-simple-case-of-aggregating-search#comments</comments>
		<pubDate>Thu, 04 Mar 2010 23:22:41 +0000</pubDate>
		<dc:creator>Matt</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.timeshifting.co.nz/?p=144</guid>
		<description><![CDATA[Search is one of those things that seems simple but is difficult to do well. The most common problem users tend to face when searching is that either no results are returned, or there are too many irrelevant results. On a recent project we had the case of a simple keyword search bar that not [...]]]></description>
			<content:encoded><![CDATA[<p>Search is one of those things that seems simple but is difficult to do well.  The most common problem users tend to face when searching is that either no results are returned, or there are too many irrelevant results. </p>
<p>On a recent project we had the case of a simple keyword search bar that not only had to return relevant results but aggregate data returned from several sources.  The user expects to type a search and get nicely-formatted results that match their query.  Our problem was that the results came in multiple formats from multiple servers with quite variable response times.</p>
<p>The project in question was a Google Maps API and Google Local Search API powered Facebook Application.  A search query could match one of several things: an address (Google Maps API Geocoder), a business or landmark name (Google Local Search API with the current view port of the map), a user’s name or personal details (either from the local database or via the Facebook API), or a game location (from the local database).  The Google-related searches are done in JavaScript and the Facebook/local database ones were SQL queries in PHP.</p>
<p>Our initial implementation was to have tabs.  The Addresses search was run, results were shown, and the other inactive tabs when clicked would carry out their respective searches.  The problem was that there was no guarantee the first search type (addresses in this case) would return any results, and if the businesses search had returned results it would have been much better to display that first. The tabbed interface was also very disjointed, as swapping tabs had to perform the search (causing a delay), and users expect switching tabs to be instant. Also, the usability suffered, because if the search resulted in a few matches of each type, you couldn’t see them all on one screen.</p>
<p>The final implementation was in two parts.  Firstly, all the searches were executed in parallel via Ajax, displaying and updating a progress bar as each was completed. This visual feedback helped offset the now-longer delay before any results were displayed.  Then the data returned from each API was normalized so it could be fed to a single HTML render, facilitating output into the same screen.  This allows the results to be displayed in a single list, grouped by type.  Types with no results (or ones that timed out) are omitted from the output, pushing the relevant results to the top.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.timeshifting.co.nz/blog/a-simple-case-of-aggregating-search/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
