<?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>1 Jump 2</title>
	<atom:link href="http://1j2.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://1j2.com</link>
	<description>Jump into web, ecommerce &#38; apps.</description>
	<lastBuildDate>Tue, 14 May 2013 13:58:23 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Your new loyalty card</title>
		<link>http://1j2.com/your-new-loyalty-card/</link>
		<comments>http://1j2.com/your-new-loyalty-card/#comments</comments>
		<pubDate>Tue, 07 May 2013 15:53:55 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[What we're working on]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1431</guid>
		<description><![CDATA[Back in March I had the idea of a loyalty card system for 1 JUMP 2 but didn&#8217;t quite know how I wanted to implement it. The idea came to me when in London for Heather&#8217;s birthday, we went to watch The Script at the O2, proof that my business brain never shuts off. I&#8217;ve [...]]]></description>
				<content:encoded><![CDATA[<p>Back in March I had the idea of a loyalty card system for 1 JUMP 2 but didn&#8217;t quite know how I wanted to implement it. The idea came to me when in London for Heather&#8217;s birthday, we went to watch The Script at the O2, proof that my business brain never shuts off.</p>
<p>I&#8217;ve given it a lot more thought since, one of my wants was to build a loyalty system that would work for everyone. Imagine supermarket only offering a discount only when you spend £300 or more, that might be achievable for a large family, but for a two person household it wouldn&#8217;t work for them. I want my loyalty system to work for you, to be personalised to your experience. I&#8217;d like the discount you earn to be meaningful to how you use 1 JUMP 2. If you only use 1 JUMP 2 for an hour here and there, then your discount will be relative to your average spend. If you spend hundreds of pounds a month, your discount will be much higher.</p>
<p>The loyalty system I&#8217;ve built is fully automatic, you don&#8217;t need to come in and get a card stamped. Just visit <a href="http://1j2.com/loyalty/" target="_blank">1j2.com/loyalty/</a> and enter your email address to see how many stamps you have already accrued. I have backdated everybody&#8217;s loyalty cards, so you may be entitled to claim money off your next already. You will earn a stamp each time you receive an invoice.</p>
<p><a href="http://1j2.com/wp-content/uploads/2013/05/Screen-Shot-2013-05-07-at-12.35.46.jpg" class="fancyboxgroup" rel="gallery-1431"><img class="size-full wp-image-1432 aligncenter" alt="Screen Shot 2013-05-07 at 12.35.46" src="http://1j2.com/wp-content/uploads/2013/05/Screen-Shot-2013-05-07-at-12.35.46.jpg" width="309" height="488" /></a></p>
<p>&nbsp;</p>
<p style="text-align: center;">Example of a 1 JUMP 2 Loyalty Card.</p>
<p>Thank you for being a loyal customer!</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/your-new-loyalty-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Felixstowe&#8217;s Best Start-up award</title>
		<link>http://1j2.com/felixstowes-best-start-up-award/</link>
		<comments>http://1j2.com/felixstowes-best-start-up-award/#comments</comments>
		<pubDate>Mon, 01 Apr 2013 11:39:31 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1406</guid>
		<description><![CDATA[Here&#8217;s me and Craig receiving our award for the best start-up in Felixstowe. Presented by Griff Rhys Jones. &#8211;April Fools Joke]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s me and Craig receiving our award for the best start-up in Felixstowe. Presented by Griff Rhys Jones.<br />
&#8211;April Fools Joke</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/felixstowes-best-start-up-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Better manage your mailbox by moving IMAP emails with PHP</title>
		<link>http://1j2.com/better-manage-your-mailbox/</link>
		<comments>http://1j2.com/better-manage-your-mailbox/#comments</comments>
		<pubDate>Thu, 21 Mar 2013 13:51:35 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Scripts]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1399</guid>
		<description><![CDATA[Although I prefer email over phone calls, because I can take care of them when I&#8217;m free and not buried in code, I&#8217;ve always felt slightly meh about email in general. Email is a dinosaur invented in the stone age that hasn&#8217;t evolved to suit today&#8217;s level of communication. It&#8217;s very difficult to apply your [...]]]></description>
				<content:encoded><![CDATA[<p>Although I prefer email over phone calls, because I can take care of them when I&#8217;m free and not buried in code, I&#8217;ve always felt slightly <em>meh</em> about email in general. Email is a dinosaur invented in the stone age that hasn&#8217;t evolved to suit today&#8217;s level of communication. It&#8217;s very difficult to apply your concentration on what you should be working on when email keeps coming in.</p>
<p>Mailbox has changed that by turning your email in to a todo list. Mailbox helps you prioritise tasks by isolating emails into lists, such as Today, Tomorrow, Next Week. You&#8217;ll only see emails that currently matter to you. </p>
<p>It&#8217;s a wonderful app and I&#8217;ve been using it for one of my Gmail accounts. Unfortunately, prior to Mailbox app, I moved my business email away from Gmail, for a number of reasons.</p>
<p>Putting the user interface aside and looking at the fundamentals &#8211; the thing I like most about Mailbox is the ability to push emails to certain dates. I&#8217;d like to do this from my work IMAP via the native Mail.app.</p>
<p>So I&#8217;ve created three mailboxes under a parent called &#8220;Later&#8221;.<br />
They are:</p>
<ul>
<li>Today</li>
<li>Tomorrow</li>
<li>Next Week</li>
</ul>
<p>After accomplishing <a href="http://inboxzero.com">Inbox Zero</a>, I now action every incoming email to one of these three mailboxes, or just simply delete it or deal with it immediately.</p>
<p>The neat thing about Mailbox is it will move emails back into the Inbox later that day, or if you asked to be reminded tomorrow it will move it the next day.</p>
<p>I&#8217;ve taken a similar approach with a PHP script, although I&#8217;m not that interested in deferring emails by a few hours. I&#8217;d rather select the ones I want to deal with today or defer them until tomorrow. My cron script runs at 23:59 every day and will move emails from the &#8216;Today&#8217; folder into the Inbox and move emails from &#8216;Tomorrow&#8217; into &#8216;Today&#8217;. That way the only inbox I care about is the &#8216;Today&#8217; folder and emails that I&#8217;ve deferred until tomorrow will automatically appear in my that mailbox, acting like a todo list.</p>
<p>Download <a href="https://dl.dropbox.com/u/2297495/Downloads/1jump2/scripts/imap.move.php.zip" target="_blank">imap.move.php</a> [1KB].</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/better-manage-your-mailbox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fynn Valley Holidays</title>
		<link>http://1j2.com/fynn-valley-holidays/</link>
		<comments>http://1j2.com/fynn-valley-holidays/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 22:17:48 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Case Studies]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1348</guid>
		<description><![CDATA[We worked with Fynn Valley Holidays to develop a booking system for their luxury lodge business. This involved development of an API, an iPad app, iPhone app, a content management system and a web based booking system. A case study is coming very soon&#8230;]]></description>
				<content:encoded><![CDATA[<p>We worked with <a href="http://fynnvalleyholidays.co.uk">Fynn Valley Holidays</a> to develop a booking system for their luxury lodge business. This involved development of an API, an iPad app, iPhone app, a content management system and a web based booking system.</p>
<p>A case study is coming very soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/fynn-valley-holidays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>About our new responsive web design</title>
		<link>http://1j2.com/about-our-new-responsive-web-design/</link>
		<comments>http://1j2.com/about-our-new-responsive-web-design/#comments</comments>
		<pubDate>Mon, 11 Mar 2013 22:16:28 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[What we're working on]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[responsive]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1346</guid>
		<description><![CDATA[Why did we build a new website? The old version of the website is two years old. In those two years the previous version didn&#8217;t receive many updates, my feeling being, the inherent structure of the site didn&#8217;t lend itself too well to being updated. The old version also didn&#8217;t showcase the myriad of skills [...]]]></description>
				<content:encoded><![CDATA[<p>Why did we build a new website?</p>
<p>The old version of the website is two years old. In those two years the previous version didn&#8217;t receive many updates, my feeling being, the inherent structure of the site didn&#8217;t lend itself too well to being updated.</p>
<p>The old version also didn&#8217;t showcase the myriad of skills I can offer. It focussed solely on web design, whereas 1 JUMP 2 is a technical web &amp; app development agency. My passion is solving problems with APIs and analytical data. I want this skill set to present itself in the new design.</p>
<p>To achieve that I have rearchitectured the homepage to include blocks that rotate over time. The purpose of the blocks is to create a more immersive experience. It&#8217;s my aim to quickly tell the story of what we do, what we&#8217;re working on and what we have worked on. I shall do this with imagery and text, including tweets to add a a realtime element.</p>
<p>The site hasn&#8217;t change a great deal, in its appearance. The overall design is part of my current branding and is reflected over different mediums &#8211; right down to coasters on my desk. I&#8217;m also very happy with how it looks. One thing I wasn&#8217;t happy with, was how it functioned on mobile devices.</p>
<p>The new design is fluid and will adapt to the size of the screen. The aim here, to create a better experience on mobile, to not limit its functionality, to always show the same content and to even add extra functionality that will improve the experience.</p>
<p>Phase 1 of this design brings support for mobile devices like the iPhone in both portrait and landscape orientation. The same desktop viewport is displayed on iPad but I will likely add an iPad version in the near future, along with other versions for different types of devices.</p>
<p>How did we build the new website?</p>
<p>If anyone is interested in the geeky stuff read on…</p>
<p>The site is coded using the 960 grid system. 960gs uses a 12-column grid of fixed width columns to build up the layout of the website. Being &#8216;fixed&#8217; it doesn&#8217;t lend itself too well to responsive web design. This is where adapt.js comes in. I use adapt.js, a lightweight JavaScript function to load different stylesheets based on the width of the screen. Adapt.js can load in different 960.css files, all with differently sized columns. For mobile, every column acts like its 12 columns wide, which creates a 1 column website.</p>
<p>The backend uses WordPress. I have developed different page templates, one for the homepage, one with a sidebar, one without and one for a parent page. Each template degrades just the same when resized. The theme has a comprehensive Theme Options page which allows me to upload images to each block on the homepage.</p>
<p>In summary</p>
<p>I want people to get to the information they need and to understand how we can help them. So I&#8217;m interested to know if I have achieved that. So please send me your feedback or let me know in the comments.</p>
<p>Thanks,</p>
<p>Adam <img src='http://1j2.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/about-our-new-responsive-web-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create Your Own Instagram printer with Ifttt, Dropbox and Automator.</title>
		<link>http://1j2.com/create-your-own-instagram-printer-with-ifttt-dropbox-and-automator/</link>
		<comments>http://1j2.com/create-your-own-instagram-printer-with-ifttt-dropbox-and-automator/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 16:56:43 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Tips]]></category>
		<category><![CDATA[automator]]></category>
		<category><![CDATA[instagram]]></category>
		<category><![CDATA[instaprint]]></category>
		<category><![CDATA[printer]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=1045</guid>
		<description><![CDATA[Here&#8217;s how to easily create your own automatic Instagram printer, similar to Instaprint on Kickstarter, using Automator on a Mac, Ifttt.com and Dropbox. Follow these steps. Open Automator and choose to create a Folder Action. Select the Folder to monitor for new images. This must be a folder in your Dropbox but doesn&#8217;t need to [...]]]></description>
				<content:encoded><![CDATA[<p>Here&#8217;s how to easily create your own automatic Instagram printer, similar to <a href="http://www.kickstarter.com/projects/breakfastny/instaprint-the-location-based-photo-booth-for-inst/" target="_blank">Instaprint</a> on Kickstarter, using Automator on a Mac, Ifttt.com and Dropbox.<br />
<span id="more-1045"></span><br />
Follow these steps.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.24.561.jpg" class="fancyboxgroup" rel="gallery-1045" title="Screen Shot 2012-03-12 at 16.24.56"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.24.561.jpg" alt="" title="Screen Shot 2012-03-12 at 16.24.56" width="560" height="539" class="alignnone size-full wp-image-1059" /></a></p>
<p>Open Automator and choose to create a Folder Action.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.25.55.jpg" class="fancyboxgroup" rel="gallery-1045" title="Screen Shot 2012-03-12 at 16.25.55"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.25.55.jpg" alt="" title="Screen Shot 2012-03-12 at 16.25.55" width="579" height="466" class="alignnone size-full wp-image-1050" /></a></p>
<p>Select the Folder to monitor for new images. This must be a folder in your Dropbox but doesn&#8217;t need to be in your Public folder. That&#8217;s up to you.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.26.13.jpg" class="fancyboxgroup" rel="gallery-1045" title="Screen Shot 2012-03-12 at 16.26.13"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.26.13.jpg" alt="" title="Screen Shot 2012-03-12 at 16.26.13" width="700" class="alignnone size-full wp-image-1049" /></a></p>
<p>Add the &#8216;Get Specified Finder Items&#8217; action to your automator script. This is required to test your script within Automator.</p>
<p>Add a &#8216;Print Image&#8217;s action to your automator script. Now you can select which printer to print to and adjust a few settings.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.26.47.jpg" class="fancyboxgroup" rel="gallery-1045" title="Screen Shot 2012-03-12 at 16.26.47"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.26.47.jpg" alt="" title="Screen Shot 2012-03-12 at 16.26.47" width="611" height="187" class="alignnone size-full wp-image-1048" /></a></p>
<p>Now head off to Ifttt.com and create a task to &#8216;Print Instagram Photos&#8217; to Dropbox.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.27.21.jpg" class="fancyboxgroup" rel="gallery-1045" title="Screen Shot 2012-03-12 at 16.27.21"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-12-at-16.27.21.jpg" alt="" title="Screen Shot 2012-03-12 at 16.27.21" width="700" class="alignnone size-full wp-image-1046" /></a></p>
<p>Choose &#8216;New photo by anyone tagged&#8217; or &#8216;New photo by you tagged&#8217;. Define the unique tag to search and specify the Dropbox folder path. It&#8217;s important you get this right.</p>
<p>And that&#8217;s it.</p>
<p>Update:</p>
<p>I just bought myself a Polaroid PoGo. It doesn&#8217;t show up as a regular printer because it&#8217;s bluetooth, so instead add &#8216;Run Applescript&#8217; to your Automator workflow.</p>
<p><a href="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-14-at-14.53.00.jpg" class="fancyboxgroup" rel="gallery-1045" title="Send to Polaroid PoGo"><img src="http://1j2.com/wp-content/uploads/2012/03/Screen-Shot-2012-03-14-at-14.53.00.jpg" alt="" title="Send to Polaroid PoGo" width="843" height="311" class="alignnone size-full wp-image-1062" /></a></p>
<p>You will need the bluetooth address, which can be found via Preferences -> Bluetooth -> Show More Info.</p>
<blockquote><p>on run {input, parameters}</p>
<p>	tell application &#8220;Bluetooth File Exchange&#8221;<br />
		send file POSIX path of input as string to device &#8220;00-04-48-24-C8-C5&#8243;</p>
<p>	end tell (* Bluetooth File Exchange *)</p>
<p>	return input<br />
end run</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/create-your-own-instagram-printer-with-ifttt-dropbox-and-automator/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tutorial: Implementing Push Notifications with Easy APNS</title>
		<link>http://1j2.com/tutorial-implementing-push-notifications-with-easy-apns/</link>
		<comments>http://1j2.com/tutorial-implementing-push-notifications-with-easy-apns/#comments</comments>
		<pubDate>Sun, 18 Dec 2011 11:02:31 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[iOS App Development]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=994</guid>
		<description><![CDATA[This tutorial helps run you through the steps necessary to successfully install Easy APNS. First step is to request a certificate from a certificate authority. Open up Keychain from Applications &#62; Utilities. Then enter your email and a common name for the certificate. Your name is fine. Select &#8220;Saved to disk&#8217;. This will generate a file called [...]]]></description>
				<content:encoded><![CDATA[<p>This tutorial helps run you through the steps necessary to successfully install <a href="http://www.easyapns.com/" target="_blank">Easy APNS</a>.<br />
<span id="more-994"></span></p>
<p>First step is to request a certificate from a certificate authority. Open up Keychain from Applications &gt; Utilities.</p>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-18-at-09.54.37.jpg" class="fancyboxgroup" rel="gallery-994" title="Request a Certificate"><img class="size-medium wp-image-995 aligncenter" title="Request a Certificate" src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-18-at-09.54.37-300x51.jpg" alt="" width="300" height="51" /></a><br />
Then enter your email and a common name for the certificate. Your name is fine. Select &#8220;Saved to disk&#8217;.</p>
<p>
<a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-18-at-09.54.06.jpg" class="fancyboxgroup" rel="gallery-994" title="Certificate Information"><img class="size-medium wp-image-996 aligncenter" title="Certificate Information" src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-18-at-09.54.06-300x212.jpg" alt="" width="300" height="212" /></a></p>
<p>This will generate a file called &#8220;CertificateSigningRequest.certSigningRequest&#8221;. You now need to upload this in your Apple Developer account.</p>
<ul>
<li><strong>Go to iOS Provisioning Portal</strong></li>
<li><strong>App IDs</strong></li>
<li><strong>Click &#8216;Configure&#8217; beside your app.</strong></li>
<li><strong>Click &#8216;Enable for Apple Push Notification service&#8217;.</strong></li>
<li><strong>Click &#8216;Configure&#8217; button next to Development.</strong></li>
<li><strong>Click &#8216;Continue&#8217;</strong></li>
<li><strong>Upload the &#8221;CertificateSigningRequest.certSigningRequest&#8221; file.</strong></li>
</ul>
<p>
This will generate a aps_developer_identity.cer certificate. Double click on it to load it into your Keychain.<br/></p>
<p>
- Repeat for Production.<br/></p>
<p>
You will now need to regenerate a development Provisioning Profile for your app because the current one you won&#8217;t be aware that of the push notification capabilities.<br/></p>
<p>
Go to Provisioning in the sidebar and click &#8216;Edit&#8217;, then &#8216;Modify&#8217; next to your app. You need to change something for it to regenerate a new provisioning profile (I read this somewhere). I just deselected one of my development devices. Then click Submit.<br/></p>
<p>Refresh the page and your Provisioning Profile should be ready for download.<br/></p>
<p>Now go into Organizer in Xcode and delete the oldProvisioning Profile. Drag your new profile into Xcode to install it.<br/></p>
<p>
You will now need to change the coding signing entries in Build Settings to reflect your new Provisioning Profile. Make sure you change the code signing settings under &#8220;Targets&#8221; as well as Project. This gave me grief until I did this as my app kept being built with the old Provisioning Profile.<br/></p>
<p>
You will need to Delegate code to your app, which comes included in Easy APNS.  <a href="http://www.easyapns.com/apple-delegate" target="_blank">Instructions here.</a>  This file will need amending, it needs to include the URL where you have installed Easy APNS on your server.<br/></p>
<blockquote><p>
NSString *host = @&#8221;www.yourside.com/apns&#8221;;
</p></blockquote>
<p>Also make sure you type the correct protocol. I&#8217;m using HTTPS so I have this&#8230; change it to HTTP if you don&#8217;t have an SSL certificate for your website.</p>
<blockquote><p>NSURL *url = [[NSURL alloc] initWithScheme:@&#8221;https&#8221; host:host path:urlString];</p></blockquote>
<p>
Before you build your app, you will need to upload the Easy APNS files to your website and create the database. Make note of the database name, user and password as you will need to edit the &#8216;apns.php&#8217; file to include them.</p>
<p>Follow this video to help you FTP and amend the PHP files and I&#8217;ll take you through generating the PEM files.</p>
<p><object width="700" height="390" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=8481383&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed width="700" height="390" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=8481383&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowfullscreen="true" allowscriptaccess="always" /></object></p>
<p>Make sure your &#8216;apns.php&#8217; file has these values:</p>
<blockquote>
<pre>        /**
	* Absolute path to your Production Certificate
	*
	* @var string
	* @access private
	*/
	private $certificate = 'apns-cert.pem';</pre>
<pre>	/**
	* Absolute path to your Development Certificate
	*
	* @var string
	* @access private
	*/
	private $sandboxCertificate = 'apns-dev-cert.pem';</pre>
<p><br/></p></blockquote>
<p>Easy APNS requires two PEM files:</p>
<ul>
<li><strong>apns-dev-cert.pem</strong></li>
<li><strong>apns-cert.pem</strong></li>
</ul>
<p><br/><br />
To create these files you must first export a .p12 version of your Push Notification certificate from Keychain Access. To do this open up Keychain Access, select &#8216;Certificates&#8217; from the &#8216;Category&#8217; menu in the left hand sidebar.
</p>
<p>
Right click on your Development certificate (you will need to repeat for the Production certificate) and click &#8216;Export&#8217;. In the &#8216;Save As&#8217; box type &#8216;apns-dev-cert&#8217;. Make sure you have .p12 selected as the file format and click &#8216;Save&#8217;.</p>
<p>
Click on the arrow to open up branch and reveal your &#8220;Dev Key&#8221;. Right click Export. Save as &#8220;key.p12&#8243;.
</p>
<p>
For ease save them to two separate directories, e.g. /Dev and /Prod</p>
<p>
Now open up Terminal and navigate to the directory you saved your .p12 files to and type.</p>
<blockquote>
<p>cd /your-directory/Dev</p>
<p>openssl pkcs12 -clcerts -nokeys -out cert.pem -in aps-dev-cert.p12</p>
<p>Enter Import Password: [leave blank and press Enter]</p>
<p>MAC verified OK</p>
<p>openssl pkcs12 -nocerts -out key.pem -in key.p12</p>
<p>Enter Import Password:  [leave blank and press Enter]</p>
<p>MAC verified OK</p>
<p>Enter PEM pass phrase: [enter any pass phrase, min 4 characters]</p>
<p>Verifying &#8211; Enter PEM pass phrase: [repeat the above pass phrase]</p>
<p>openssl rsa -in key.pem -out key.unencrypted.pem</p>
<p>Enter pass phrase for key.pem: [enter the above pass phrase]</p>
<p>writing RSA key</p>
<p>cat cert.pem key.unencrypted.pem &gt; apns-dev-cert.pem</p>
<p>cd ..</p>
<p>cd Prod</p>
<p>[now repeat for the Production certificate but change  apns-dev-cert.pem to  apns-cert.pem ]</p>
</blockquote>
<p>Now upload apns-dev-cert.pem and apns-cert.pem to your server, in the same directory as apns.php. CHMOD them 644.</p>
<p>You can now build your app for Development purposes, which will install the new provisioning profile on your device. When your app runs you will be presented with a Push Notification prompt, confirm to accept Push Notifications for this app. This will ping your server where Easy APNS is running to register your device in the database.</p>
<p>Open up phpMyAdmin and go to the Devices table. Your device should now be there, click Browse, then Edit. Change the Development type from production to &#8216;sandbox&#8217;. Since your app was built using a Development provisioning profile you can only receive notifications from Apple&#8217;s sandbox server.</p>
<p>You should now be able to run one of the samples in &#8216;samples.php&#8217; and your device should receive a Push Notification.</p>
<p>I hope that helps! I decided to write this blog immediately after  successfully installing Easy APNS and receiving my first Push Notification. I found a lot of the tutorials online spoke about generating a &#8216;ck.pem&#8217; file, but not once did they mention, this is the file that needs to be uploaded. So in my tutorial I&#8217;ve explicitly made it generate the correct filenames.</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/tutorial-implementing-push-notifications-with-easy-apns/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Version 2.0 of iHomeTouch is now available</title>
		<link>http://1j2.com/version-2-0-of-ihometouch-is-now-available/</link>
		<comments>http://1j2.com/version-2-0-of-ihometouch-is-now-available/#comments</comments>
		<pubDate>Sat, 10 Dec 2011 11:38:59 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[iHomeTouch]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=981</guid>
		<description><![CDATA[It&#8217;s been a year since I first released iHomeTouch to the world. I&#8217;m pleased to announce that version 2.0 is here, which comes bundled with many more features, UI changes and bug fixes. iHomeTouch is available in the App Store for £5.49. iHomeTouch is an innovative home automation app to use with your X10 enabled [...]]]></description>
				<content:encoded><![CDATA[<p><iframe width="700" height="386" src="http://www.youtube.com/embed/KrtoQLfWnXE?rel=0&amp;hd=1" frameborder="0" allowfullscreen></iframe></p>
<p><a href="http://ihometouch.com"><img src="http://1j2.com/wp-content/uploads/2011/12/2303-150x150.png" alt="" title="iHomeTouch" width="150" height="150" class="alignnone size-thumbnail wp-image-986" style="float:right;padding:0 0 10px 10px" /></a></p>
<p>It&#8217;s been a year since I first released <a href="http://www.ihometouch.com/">iHomeTouch</a> to the world. I&#8217;m pleased to announce that version 2.0 is here, which comes bundled with many more features, UI changes and bug fixes.<br />
<span id="more-981"></span><br />
iHomeTouch is available in the App Store for £5.49. iHomeTouch is an innovative home automation app to use with your X10 enabled home.</p>
<div class="clear"></div>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Photo-26-10-2011-09-07-38.jpg" class="fancyboxgroup" rel="gallery-981" title="Photo 26-10-2011 09 07 38"><img src="http://1j2.com/wp-content/uploads/2011/12/Photo-26-10-2011-09-07-38-150x150.jpg" alt="" title="Photo 26-10-2011 09 07 38" width="150" height="150" class="alignnone size-thumbnail wp-image-984" style="float:right;padding:0 0 10px 10px" /></a></p>
<p>Now that we are working from our new offices in <a href="http://1j2.com/our-new-web-design-studio-in-felixstowe/">Felixstowe</a>, we&#8217;re in a better position to focus more time on more frequent updates. So it won&#8217;t be long until 2.1, which will include editing for iPad and UI improvements.</p>
<div class="clear"></div>
<p>But what&#8217;s new in version 2.0?</p>
<h2>A new dimmer!</h2>
<p>We had a lot of comments about our previous dimmer. It was hard to understand, it didn&#8217;t give you any feedback. This one now does via a slide and a beautiful UI.</p>
<p>* It does require that your device can communicate it&#8217;s current status with iHomeTouch Server.</p>
<p>[<a href="http://www.youtube.com/embed/uPw9qAw2veM?rel=0&#038;hd=1" class="fancyboxiframe {width: 890,height: 536}">Video</a>]</p>
<h2>Different button options</h2>
<p>Not all devices have dimming capabilities. iHomeTouch now gives you the option to define what buttons to present when a device is selected. The options are:<br />
* ON / OFF/ DIM<br />
* ON / OFF<br />
* Toggle. (Uses the status of your device. So doesn&#8217;t present any buttons.)</p>
<p>[<a href="http://www.youtube.com/embed/dVKXI0ATi1E?rel=0&#038;hd=1" class="fancyboxiframe {width: 890,height: 536}">Video</a>]</p>
<h2>Swipe between rooms</h2>
<p>Using two fingers you can now swipe between rooms on the iPad.</p>
<p>[<a href="http://www.youtube.com/embed/URLLljV0aIM?rel=0&#038;hd=1" class="fancyboxiframe {width: 890,height: 536}">Video</a>]</p>
<h2>Editing</h2>
<p>Previously you could not edit a device, only delete it and recreate it. In version 2.0 you can now edit a device, which allows you to rename it, change its house code, device code, button type etc.</p>
<p>[<a href="http://www.youtube.com/embed/Jlm4o7b_8F0?rel=0&#038;hd=1" class="fancyboxiframe {width: 890,height: 536}">Video</a>]</p>
<h2>And more..</h2>
<p>There are now per room device lists. So instead of a screen with every single device listed, you now have a screen with devices in the &#8220;Living Room&#8221; and &#8220;Kitchen&#8221;. This screen replaces the &#8220;Please rotate your device&#8221; screen.</p>
<p>The &#8220;all devices&#8221; screen now includes the room name as a subtitle in the lists of devices.</p>
<p>Sync has been added, which is in beta right now. Allows you to sync your rooms and devices to the server, so that other iPhones can sync back to it.</p>
<p>Some more themes.</p>
<p>Runs in the background.</p>
<h2>We want your feedback</h2>
<p>As before please send in your feedback, it helps us create a better product for you all. You can do that via the <a href="http://www.ihometouch.com">iHomeTouch</a> website, <a href="http://twitter.com/ihometouch">Twitter</a> or <a href="http://facebook.com/ihometouch">Facebook</a>.</p>
<h2>Did you see our Siri Video?</h2>
<p>We used SiriProxy to light up our Christmas tree and play some tunes on Spotify.</p>
<p>[<a href="http://www.youtube.com/embed/p_ZM4d5y90s?rel=0&#038;hd=1" class="fancyboxiframe {width: 890,height: 536}">Video</a>]</p>
<p><a name="note"></a></p>
<h2>Users upgrading from v1.0</h2>
<p>Unfortunately due to a database change, upgrading to version 2.0 will result in not being able to access your previous data.</p>
<p>To begin using version 1.0 you will need to &#8220;Reset Database&#8221; from the Settings menu.</p>
<p>Please accept our apologies for this inconvenience.</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/version-2-0-of-ihometouch-is-now-available/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SiriProxy &amp; iHomeTouch Home Automation X10 &#8211; Turn on Christmas Tree Lights with Siri.</title>
		<link>http://1j2.com/siriproxy-ihometouch-home-automation-x10-turn-on-christmas-tree-lights-with-siri/</link>
		<comments>http://1j2.com/siriproxy-ihometouch-home-automation-x10-turn-on-christmas-tree-lights-with-siri/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 20:36:21 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[iHomeTouch]]></category>
		<category><![CDATA[home automation]]></category>
		<category><![CDATA[ihometouch]]></category>
		<category><![CDATA[siri]]></category>
		<category><![CDATA[siriproxy]]></category>
		<category><![CDATA[x10]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=934</guid>
		<description><![CDATA[SiriProxy is a proxy server for Siri, Apple&#8217;s assistant application for the iPhone 4S. Using the Internet Sharing functionality in OS X, one is able to share an Ethernet connection with any device that has WiFi on the same network. This means all network traffic is routed through your Mac. In order to intercept Siri&#8217;s [...]]]></description>
				<content:encoded><![CDATA[<p><iframe src="http://www.youtube.com/embed/p_ZM4d5y90s?rel=0" frameborder="0" width="700" height="386"></iframe></p>
<p><a href="https://github.com/plamoni/SiriProxy">SiriProxy</a> is a proxy server for Siri, Apple&#8217;s assistant application for the iPhone 4S. Using the Internet Sharing functionality in OS X, one is able to share an Ethernet connection with any device that has WiFi on the same network.<br />
<span id="more-934"></span><br />
This means all network traffic is routed through your Mac. In order to intercept Siri&#8217;s commands before they head off to Apple&#8217;s servers, you must install dnsmasq, a service that tricks your Mac into thinking the Siri&#8217;s server is located on your Mac.</p>
<p><a href="http://www.ihometouch.com"><img class="alignleft size-thumbnail wp-image-938" title="Siri &amp; iHomeTouch" src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-04-at-20.44.08-150x150.jpg" alt="" width="150" height="150" style="float:right;padding:0 0 10px 10px" /></a></p>
<p>The cool part of this is, you can create custom handlers. Many of you know that, one of my interests is home automation, hence why I developed <a href="http://www.ihometouch.com" target="_blank">iHomeTouch</a>. Before SiriProxy I was able to make <a href="http://1j2.com/using-siri-to-turn-on-lights/" target="_blank">Siri turn on my lamp</a> by sending a text message, but this process is long winded and rather just a proof of concept.</p>
<p>I&#8217;ve written a quick and simple Ruby script to turn on the tree lights. The lights are plugged into an X10 transceiver module. I have iHomeTouch Server running on a computer, which is on the same network as my Mac and iPhone.</p>
<p>It was no easy task getting SiriProxy up and running. I spent day and night overcoming issues because the setup instructions aren&#8217;t terribly detailed but with a little help from a friend (<a href="http://twitter.com/mrjaba" target="_blank">MrJaba</a>) I finally had a break through.</p>
<p>The video shows me greeting Siri with &#8220;Merry Christmas Siri&#8221;. Siri then responds &#8220;Merry Christmas Adam, shall I turn the tree lights on?&#8221;</p>
<p>If I say yes, Siri then asks:</p>
<blockquote>
<pre>jingle = ask "How about a Christmas jingle?"
jingle.strip!</pre>
<pre>if jingle == "Yes" or jingle == "Yep" or jingle == "Yes please" or jingle == "Yeppers" or jingle == "Yes mate" or jingle == "Why not?" or jingle == "Why not " or jingle == "Why not" then

	artist = URI.escape("christmas carols")
	results = JSON.parse(open("http://ws.spotify.com/search/1/track.json?q=#{artist}").read)

	if (results["tracks"].length &gt; 1)
		track = results["tracks"][0]

		say "Playing #{track["name"]} by #{track["artists"][0]["name"]}"
		`open #{track["href"]}`
	else
		say "I could not find anything by #{query}"
	end

end</pre>
</blockquote>
<pre>If I say yes. It will play a Christmas carol (<a href="http://open.spotify.com/track/4WfF1fvWoF2sC4HW1LUUUp" target="_blank">Deck The Halls</a>) using Spotify.</pre>
<pre>So that's it.</pre>
<pre>It's been a year since I first released <a href="http://www.ihometouch.com" target="_blank">iHomeTouch</a> and I'm hoping to release version 2.0 very soon. It's amazing how far the technology has progressed in just a year!</pre>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/siriproxy-ihometouch-home-automation-x10-turn-on-christmas-tree-lights-with-siri/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>F-Commerce and Facebook Custom Tabs</title>
		<link>http://1j2.com/f-commerce-and-facebook-custom-tabs/</link>
		<comments>http://1j2.com/f-commerce-and-facebook-custom-tabs/#comments</comments>
		<pubDate>Fri, 02 Dec 2011 12:44:31 +0000</pubDate>
		<dc:creator>Adam</dc:creator>
				<category><![CDATA[Social Media]]></category>
		<category><![CDATA[custom tabs]]></category>
		<category><![CDATA[f-commerce]]></category>
		<category><![CDATA[facebook tabs]]></category>
		<category><![CDATA[fcommerce]]></category>
		<category><![CDATA[tabs]]></category>

		<guid isPermaLink="false">http://1j2.com/?p=881</guid>
		<description><![CDATA[Many times I get asked if I can create Facebook Tabs, the answer is yes, however, I&#8217;m often hesitant to create something so simple, that will require my future involvement to make a slight change. I&#8217;m not in the business of charging clients for minor changes, I&#8217;d rather create a product that gives the client [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.20.13.jpg" class="fancyboxgroup" rel="gallery-881" title="F-Commerce by 1 JUMP 2"><img class="alignleft size-medium wp-image-882" style="float: left; padding-right: 10px;" title="F-Commerce by 1 JUMP 2" src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.20.13-300x257.jpg" alt="" width="300" height="257" style="float:left;padding:0 10px 10px 0" /></a></p>
<p>Many times I get asked if I can create Facebook Tabs, the answer is yes, however, I&#8217;m often hesitant to create something so simple, that will require my future involvement to make a slight change. I&#8217;m not in the business of charging clients for minor changes, I&#8217;d rather create a product that gives the client full control enabling them to do things like update and promote seasonal offers.</p>
<p>There are companies out there charging ridiculous amounts of money to create a Facebook Page with Custom Tabs. Here&#8217;s my solution:</p>
<p>What you see here is a Facebook Tab, which is entirely administered via WordPress. This is a checkout screen to a simple PayPal plugin, which I have reskinned to look cleaner and convert better.</p>
<p>The Checkout skin scales nicely across different devices. Here you can see it within a Facebook tab at 520px, it will also work on mobile devices and in 960 wide web browsers.</p>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Photo-02-12-2011-11-22-52.png" class="fancyboxgroup" rel="gallery-881" title="Mobile"><img src="http://1j2.com/wp-content/uploads/2011/12/Photo-02-12-2011-11-22-52-200x300.png" alt="" title="Mobile" width="200" height="300" class="alignleft size-medium wp-image-884" style="float:right;padding:10px 0 10px 10px" /></a></p>
<p>Being able to promote and sell your products right within Facebook is a huge plus, because the people who want to buy your products are already there hanging out. Having a captive audience on your Facebook page will allow you to reach out to your customers in realtime. </p>
<p>Having a Facebook Tab full of products will enable your business to market offers exclusively to your Facebook fans. Being able to quickly adapt to seasonal changes in your sector and growing trends puts you at a competitive advantage. This is why I feel having full control over your Facebook Tabs, will maximise your chance of a sale.</p>
<div class="clear"></div>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.24.24.jpg" class="fancyboxgroup" rel="gallery-881" title="Simple to Set Up"><img src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.24.24.jpg" alt="" title="Simple to Set Up" width="292" height="606" class="alignleft size-full wp-image-891" style="float:left;padding:0 10px 10px 0" /></a></p>
<p>Creating a Facebook Tab in your 1 JUMP 2 developed WordPress template is really simple!</p>
<p>Create a Page, as your normally do, then select &#8220;Facebook Tab&#8221; from the drop down menu which can be found in the Page Attributes menu. This will apply our Facebook Tab template, which strips out your current theme and makes it wide enough to display on Facebook.</p>
<p>Next is an optional step, which creates a Like Gate. If you&#8217;re not aware what like gating is, it&#8217;s basically a different view of your page, that will only be shown to people who haven&#8217;t already liked your page.</p>
<p>We use the Featured Image option to display an image when somebody hasn&#8217;t liked your page. So go wild and photoshop something. Here are some <a href="http://images.google.com/search?tbm=isch&#038;hl=en&#038;q=facebook+like+gate&#038;oq=facebook+like+gate" target="_blank">examples</a>.</p>
<div class="clear"></div>
<p>Below is a crude example of a Facebook Tab, containing one line of text and an Add to Cart button. The photos below show the page being created in WordPress and show it live on Facebook.</p>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.28.10.jpg" class="fancyboxgroup" rel="gallery-881" title="WordPress Facebook Tab"><img src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.28.10-150x150.jpg" alt="" title="WordPress Facebook Tab" width="150" height="150" class="alignleft size-thumbnail wp-image-904" style="float:left;padding:0 10px 10px 0" /></a></p>
<p><a href="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.30.59.jpg" class="fancyboxgroup" rel="gallery-881" title="Facebook Tab Example"><img src="http://1j2.com/wp-content/uploads/2011/12/Screen-Shot-2011-12-02-at-11.30.59-150x150.jpg" alt="" title="Facebook Tab Example" width="150" height="150" class="alignleft size-thumbnail wp-image-906" style="float:left;padding:0 10px 10px 0" /></a></p>
<div class="clear"></div>
<p>What you put on your Facebook Tab is only limited by your imagination. You might want to display video, photos, or offers. You could sell Gift Vouchers in time for Christmas with our F-Commerce plugin.</p>
<p>So to summarise the aim was to create something, which is simple to use and administer, which isn&#8217;t completely new to an existing way of working. </p>
<p>Most of our clients already use WordPress, so will find creating Facebook Tabs a breeze!</p>
<p>I will be offering this as a package to new clients, as well as existing ones who wish to add this functionality to their account.</p>
<p>I can also offer a hosted solution for agencies wishing to administer Facebook Tabs for their own clients.</p>
<p>1 JUMP 2 can be contacted by a number of different channels all listed on our <a href="http://1j2.com/contact/">contact page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://1j2.com/f-commerce-and-facebook-custom-tabs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
