<?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>Alex Thorpe</title>
	<atom:link href="http://alexthorpe.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://alexthorpe.com</link>
	<description>Trying to share the information in my head with the world</description>
	<lastBuildDate>Mon, 25 Mar 2013 03:52:05 +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>Free WordPress Theme: Easy Portfolio v1.1.0</title>
		<link>http://alexthorpe.com/coding/free-wordpress-theme-easy-portfolio/733/</link>
		<comments>http://alexthorpe.com/coding/free-wordpress-theme-easy-portfolio/733/#comments</comments>
		<pubDate>Sat, 16 Mar 2013 05:28:57 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=733</guid>
		<description><![CDATA[Intro I have been working on this theme for a while and it is finally ready for release. Easy portfolio is an easy to use theme for creatives to get there work without the need for learning how to code. The design is simple but highly customizable, giving you the ability to make it look and function how you want. From start to finish you will be able to create a site in under 30 minutes that looks as good as any create professionals site already on the web. &#160; Features include: Responsive design Touch friendly image galleries Drag &#38; Drop image uploader Built in ...]]></description>
				<content:encoded><![CDATA[<h3><a href="http://alexthorpe.com/wp-content/uploads/2013/03/easy-portfolio-devices.png"><img class="aligncenter size-large wp-image-775" alt="easy-portfolio-devices" src="http://alexthorpe.com/wp-content/uploads/2013/03/easy-portfolio-devices-570x237.png" width="570" height="237" /></a></h3>
<h3>Intro</h3>
<p>I have been working on this theme for a while and it is finally ready for release. Easy portfolio is an easy to use theme for creatives to get there work without the need for learning how to code. The design is simple but highly customizable, giving you the ability to make it look and function how you want. From start to finish you will be able to create a site in under 30 minutes that looks as good as any create professionals site already on the web.</p>
<span class="bk-button-wrapper"><a href="http://easy.alexthorpe.com" target="_blank" class="bk-button default left rounded small">Demo Site</a></span>
<div class="clear">&nbsp;</div>
<h3>Features include:</h3>
<ul>
<li>Responsive design</li>
<li>Touch friendly image galleries</li>
<li>Drag &amp; Drop image uploader</li>
<li>Built in contact page</li>
<li>Fullscreen portfolio mode</li>
<li>Web App capable for installation on mobile devices</li>
<li>Fully Compatable with WP 3.5</li>
<li>High level of customization by the user without needing to change a singel line of code</li>
<li>Support for videos from Youtube or Vimeo</li>
<li>Auto updates</li>
</ul>
<div class="downloadBox" style="background-color: whitesmoke; border: 3px solid #d6d6d6; padding: 15px 5px 5px; text-align: center;"><span style="font-size: 24px;">Easy Portfolio Theme</span> <div style="background-color: #15222b; border-radius: 10px 10px 10px 10px; color: #ffffff !important; display: block; font-size: 16px; font-weight: bold; margin: 7px auto; padding: 5px 18px; text-align: center; width: 200px;"> <a href="http://alexthorpe.com/wp-content/plugins/download-monitor/download.php?id=1" style="color: white;text-decoration:none;">Download Theme</a></div> <span style="color: grey;">163 total downloads, 887.42 kB </span></div>
<h3>Installation</h3>
<p>Instructions coming soon&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/coding/free-wordpress-theme-easy-portfolio/733/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Doctor Who Background for Phone, Tablet or Desktop</title>
		<link>http://alexthorpe.com/uncategorized/free-doctor-who-background-for-phone-tablet-or-desktop/708/</link>
		<comments>http://alexthorpe.com/uncategorized/free-doctor-who-background-for-phone-tablet-or-desktop/708/#comments</comments>
		<pubDate>Mon, 19 Nov 2012 02:29:30 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=708</guid>
		<description><![CDATA[I was feeling creative the other day and made this vector tardis. If you don't know what a tardis is then I suggest you watch an episode of Doctor Who, it really is an amazing show.]]></description>
				<content:encoded><![CDATA[<p><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_1920x1080.jpg"><img src="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_1920x1080-570x320.jpg" alt="" title="tardis_1920x1080" width="570" height="320" class="aligncenter size-large wp-image-710" /></a></p>
<p>I was feeling creative the other day and made this vector tardis. If you don&#8217;t know what a tardis is then I suggest you watch an episode of Doctor Who, it really is an amazing show. Click on the button that corresponds to your device and if you have any requests for more backgrounds leave them in the comments. Enjoy!</p>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_320x480.jpg" target="_blank" class="bk-button default left rounded small">Phone</a></span>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_640x920.jpg" target="_blank" class="bk-button yellow left rounded small">Phone (w/ retina display)</a></span>
<div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_768x1024.jpg" target="_blank" class="bk-button default left rounded small">Tablet</a></span>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_1536x2048.jpg" target="_blank" class="bk-button yellow left rounded small">Tablet (w/ retina display)</a></span>
<div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_1920x1080.jpg" target="_blank" class="bk-button default left rounded small">Desktop (up to 24&#8243;)</a></span>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/11/tardis_2560x1440.jpg" target="_blank" class="bk-button yellow left rounded small">Desktop (27&#8243; &#038; 30&#8243;)</a></span>
<div class="clear"></div>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/uncategorized/free-doctor-who-background-for-phone-tablet-or-desktop/708/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Image Sprites for Retina (HiRes) Devices</title>
		<link>http://alexthorpe.com/uncategorized/css-sprites-for-retina-display-devices/683/</link>
		<comments>http://alexthorpe.com/uncategorized/css-sprites-for-retina-display-devices/683/#comments</comments>
		<pubDate>Mon, 22 Oct 2012 02:47:41 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=683</guid>
		<description><![CDATA[With the new crop of ultra high definition devices coming onto the market it is important to make sure your site not only continues to load quickly but all your icons and graphics look how you expect.]]></description>
				<content:encoded><![CDATA[<div class="final-preview"><h3 class="final">Final Product</h3> <iframe src="http://www.alexthorpe.com/demo/CSS-Sprites/" width="100%" height="350px"></iframe> <div class="caption">This is an iframe of a live site. If it is not working for you, click the button for the live preview.</div> </div>
<span class="bk-button-wrapper"><a href="http://www.alexthorpe.com/demo/CSS-Sprites/" target="_blank" class="bk-button default left rounded large">Live Demo</a></span>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/10/CSS-Sprites.zip" target="_blank" class="bk-button yellow  rounded large">Download</a></span>
<h3>Intro</h3>
<p>For modern websites icons and graphics have become an increasingly important way to provide visitors with a more visual way to navigate. And as web applications replace more and more traditional desktop applications the use of icons will only increase. But unlike desktop applications anything on the web has to be loaded and having many graphics can slow a site down especially for a site with dozens of buttons. The best way to keep your site loading fast and looking good is to use a CSS Sprite.</p>
<p>CSS Sprites have been around for many years, if you are unfamiliar with them there is a great in depth article <a href="http://www.css-tricks.com/css-sprites/" target="_blank">here on css-tricks</a>. But the basic premise is that what impacts loading times the most the number of different resources you load on a page. So by combining all your icons into one file you are only loading one resource, thus making your page faster.</p>
<p>Now with the new crop of ultra high definition devices coming onto the market it is important to make sure your site not only continues to load quickly but all your icons and graphics look how you expect. If you do not optimize your graphics they will look like this on ultra high resolution devices:</p>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/10/Screen-Shot-2012-10-21-at-6.02.28-PM.png"><img class="aligncenter size-full wp-image-685" title="Screen Shot 2012-10-21 at 6.02.28 PM" src="http://alexthorpe.com/wp-content/uploads/2012/10/Screen-Shot-2012-10-21-at-6.02.28-PM.png" alt="" width="508" height="92" /></a></p>
<p>But with some simple css you can keep the images correct:</p>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/10/Screen-Shot-2012-10-21-at-6.04.06-PM.png"><img class="aligncenter size-full wp-image-686" title="Screen Shot 2012-10-21 at 6.04.06 PM" src="http://alexthorpe.com/wp-content/uploads/2012/10/Screen-Shot-2012-10-21-at-6.04.06-PM.png" alt="" width="506" height="112" /></a></p>
<h3>Goals</h3>
<ul>
<li>Does not add to loading times</li>
<li>Delivers the optimum resolution for the users device</li>
</ul>
<h3>Tutorial</h3>
<p>To begin we need a solid set of icons. I am going to use a few from my<a href="http://alexthorpe.com/ios/96-free-vector-icons-for-ios-android-windows-phone-or-web-apps/434/"> free icon set</a> that you can download here, but any icons or graphics will work. For this tutorial we will be using 5 icons with the final size on the web of 32px by 32px. To create the high resolution icons we need to start with the 64&#215;64 icons. After you have downloaded the icons open up illustrator and create a new file that is 320px by 64px.</p>
<p>Next place the icons you wish to use next to each other until all 5 are on the document. Then go file&gt;save for web and press enter, name the graphic &#8220;icons@2x.png&#8221;, this is the big resolution version for retina display devices. Next go file&gt;save for web and reduce the size of the image to 50% and name it &#8220;icons.png&#8221;.</p>
<p>It is now time to get to the coding. Create a new html file named index.html and add the following code</p>
<pre class="brush: xml; title: ; notranslate">
&lt;!Doctype html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;CSS-Sprite Demo&lt;/title&gt;
		&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot;&gt;
	&lt;/head&gt;
	
	&lt;body&gt;
		&lt;div class=&quot;icons-wrapper&quot;&gt;
			&lt;h4&gt;These icons look sharp&lt;/h4&gt;
		
			&lt;a href=&quot;#&quot; class=&quot;icon bar-graph&quot;&gt;pie-chart&lt;/a&gt;
			&lt;a href=&quot;#&quot; class=&quot;icon document&quot;&gt;document&lt;/a&gt;
			&lt;a href=&quot;#&quot; class=&quot;icon group&quot;&gt;group&lt;/a&gt;
			&lt;a href=&quot;#&quot; class=&quot;icon location&quot;&gt;location&lt;/a&gt;
			&lt;a href=&quot;#&quot; class=&quot;icon microphone&quot;&gt;microphone&lt;/a&gt;
		&lt;/div&gt;
	&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>The html for this demo is very simple, just a series of links that will each have a background icon applied to it. Next create a css file named style.css and add the following style rules to add the icons.</p>
<pre class="brush: css; title: ; notranslate">
.icon {
	background: url('images/icons.png') no-repeat 0 0;
	width: 32px;
	height: 32px;
	float: left;
	margin: 10px;
	text-indent: -9999px;
}
</pre>
<p>If you were to view the site now you would see each link has the same first icon from the icons.png graphic. In order to have the correct icons displayed we have to slide the background image to the left in 32px increments using the following code that gets added to the css file.</p>
<pre class="brush: css; title: ; notranslate">
.document {
	background-position: -32px 0 !important;
}

.group {
	background-position: -64px 0 !important;
}

.location {
	background-position: -96px 0 !important;
}

.microphone {
	background-position: -128px 0 !important;
}
</pre>
<p>The final step is to add the correct code to load the retina display icons instead of the regualer set. Add this code to the bottom of the css stylesheet.</p>
<pre class="brush: css; title: ; notranslate">
@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    only screen and (-o-min-device-pixel-ratio: 3/2),
    only screen and (min--moz-device-pixel-ratio: 1.5),
    only screen and (min-device-pixel-ratio: 1.5) {
        .icon {
            background: url('images/icons@2x.png') no-repeat 0 0;
            background-size: 160px 32px;
        }
}
</pre>
<p>This section uses the new media query from CSS3 to determine the resolution of the users screen and display the icons@2x.png graphic we made. The trick to making it fit correctly is to make the new graphic the same size as the old one using the background-size property.</p>
<p>If you look at your site now you will see each icon is properly displayed and looks sharp regardless of the devices resolution.</p>
<h3>Bonus</h3>
<p>To add a little style to the demo I added a background image and some CSS3 transitions. Here is the complete code for the demo.</p>
<pre class="brush: css; title: ; notranslate">
body {
	background: url('images/grey.png') repeat 0 0;
}

.icons-wrapper {
	width: 260px;
	overflow: hidden;
	display: block;
	margin: 150px auto;
	text-align: center;
	-webkit-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, .3);
	box-shadow: 0px 0px 2px 0px rgba(0, 0, 0, .3);
	background: #ffffff; /* Old browsers */
}

.icon {
	background: url('images/icons.png') no-repeat 0 0;
	width: 32px;
	height: 32px;
	float: left;
	margin: 10px;
	text-indent: -9999px;
	/* CSS3 Transitions */
	opacity: 1;
    filter: alpha(opacity=100);
    -webkit-transition: all 400ms ease;
    -moz-transition: all 400ms ease;
    -ms-transition: all 400ms ease;
    -o-transition: all 400ms ease;
    transition: all 400ms ease;
}

.icon:hover {
	opacity: .4;
    filter: alpha(opacity=40);
}

.document {
	background-position: -32px 0 !important;
}

.group {
	background-position: -64px 0 !important;
}

.location {
	background-position: -96px 0 !important;
}

.microphone {
	background-position: -128px 0 !important;
}

@media only screen and (-webkit-min-device-pixel-ratio: 1.5),
    only screen and (-o-min-device-pixel-ratio: 3/2),
    only screen and (min--moz-device-pixel-ratio: 1.5),
    only screen and (min-device-pixel-ratio: 1.5) {
        .icon {
            background: url('images/icons@2x.png') no-repeat 0 0;
            background-size: 160px 32px;
        }

        body {
	        background: url('images/grey@2x.png') repeat 0 0;
	        background-size: 397px 322px;
        }
}
</pre>
<p>As you can see even a repeating background image can be optimized for a retina display using this technique. The new CSS3 properties for transitions, rounded borders and drop shadows can add those small details that make a site stand out from the crowd. I hope you enjoyed the tutorial and as always if you have anything to say just leave a comment.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/uncategorized/css-sprites-for-retina-display-devices/683/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Learn how to drag, drop &amp; chart a file using HTML5</title>
		<link>http://alexthorpe.com/uncategorized/learn-how-to-drag-drop-chart-a-file-using-html5/588/</link>
		<comments>http://alexthorpe.com/uncategorized/learn-how-to-drag-drop-chart-a-file-using-html5/588/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 00:15:52 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=588</guid>
		<description><![CDATA[This is going to be an in depth tutorial teaching you how to build a complex web application using html5, CSS3 and Javascript. It is geared towards people with an intermediate level of experience with web technology and should take 2-3 hours to complete. The end goal is to get a webpage where a user can drag and drop a csv file onto it and the page reads the contents of the file, loads it into a chart and prints the chart onto the page. Click the button above to download all required libraries including Modernizr for detecting browser support, highcharts for creating graphs, normalize ...]]></description>
				<content:encoded><![CDATA[<p><a href="http://alexthorpe.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-23-at-1.05.41-AM.png"><img class="aligncenter size-large wp-image-649" title="Screen Shot 2012-04-23 at 1.05.41 AM" src="http://alexthorpe.com/wp-content/uploads/2012/04/Screen-Shot-2012-04-23-at-1.05.41-AM-570x327.png" alt="" width="570" height="327" /></a><br />
This is going to be an in depth tutorial teaching you how to build a complex web application using html5, CSS3 and Javascript. It is geared towards people with an intermediate level of experience with web technology and should take 2-3 hours to complete. The end goal is to get a webpage where a user can drag and drop a csv file onto it and the page reads the contents of the file, loads it into a chart and prints the chart onto the page.</p>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/04/HTML5-Demo.zip" target="_blank" class="bk-button default left rounded small">Beginning Files</a></span>
<div class="clear"></div>
<p>Click the button above to download all required libraries including <a href="http://www.modernizr.com/" target="_blank">Modernizr</a> for detecting browser support, <a href="http://www.highcharts.com/" target="_blank">highcharts</a> for creating graphs, <a href="http://necolas.github.com/normalize.css/" target="_blank">normalize</a> to reset CSS elements and some images used for backgrounds. Once downloaded and unzipped you need to add a file and call it index.html. Add the following code to the file:</p>
<pre class="brush: xml; title: ; notranslate">

&lt;!DOCTYPE html&gt;
&lt;html&gt;
	&lt;head&gt;
		&lt;title&gt;File Uploader&lt;/title&gt;
	&lt;/head&gt;
	
	&lt;body&gt;
		&lt;header&gt;
			&lt;h1 class=&quot;title&quot;&gt;Upload a File - Get a Graph!&lt;/h1&gt;
		&lt;/header&gt;
		
		&lt;aside&gt;
			&lt;div id=&quot;file-data&quot;&gt;&lt;/div&gt;
			&lt;div id=&quot;dropbox&quot;&gt;
				&lt;span id=&quot;message&quot;&gt;drag &amp; drop here&lt;/span&gt;
			&lt;/div&gt;
		&lt;/aside&gt;
		
		&lt;content&gt;
			&lt;div id=&quot;container&quot;&gt;&lt;/div&gt;
		&lt;/content&gt;
		
		&lt;footer&gt;
			&lt;div class=&quot;copyright&quot;&gt;This HTML5 demo was created by Alex Thorpe&lt;/div&gt;
		&lt;/footer&gt;
	&lt;/body&gt;
&lt;/html&gt;

</pre>
<p>This is a very simple html document with a title, content section where we will load the graph, sidebar where we will have the upload box and a footer for the copyright area. Once the basic file structure is in place we need to check if all the new HTML api&#8217;s we are using are supported by the browser. To handle this we will use a great javascript plugin called modernizr. It has the ability to check the current browser and load different files if it sees the api&#8217;s are not fully supported. For this tutorial the only api we need to worry about is the filereader because it is only supported by firefox and chrome (safari 6 and IE 10 will both have support later this year. Include the following code right before the closing body tag:</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://cdn.hosting4real.com/js/modernizr/modernizr.js&quot;&gt;&lt;/script&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;js/modernizr.file-api.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;&gt;
	Modernizr.load({
	  test: Modernizr.filereader,
	  yep: ['js/highcharts.js', 'js/modules/exporting.js', 'js/html5demo.js'],
	  nope: ['js/nosupport.js']
	});
&lt;/script&gt;
</pre>
<p>Now will walk through each line and explain what this does.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot; src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;http://cdn.hosting4real.com/js/modernizr/modernizr.js&quot;&gt;&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot; src=&quot;js/modernizr.file-api.js&quot;&gt;&lt;/script&gt;
</pre>
<p>This loads the jquery library, the core modernizr plugin along with an extension to check for the file-api.</p>
<pre class="brush: jscript; title: ; notranslate">
Modernizr.load({
  test: Modernizr.filereader,
  yep: ['js/highcharts.js', 'js/modules/exporting.js', 'js/html5demo.js'],
  nope: ['js/nosupport.js']
});
</pre>
<p>There are 3 parts to a check done by modernizr. First is a test for a specific api, in our case the filereader api. If support is detected the yep statement tells the browser what file to load, if there is no support the nope statement allows you to load other files.</p>
<p>Now that we have detected what files to load we need to create those files. Inside the js folder make a new file and name it nosupport.js. This is going to be a simple javascript file that tells the user there current browser is not supported and they should try a different one. Add the following lines of code to the newly created nosupport file.</p>
<pre class="brush: jscript; title: ; notranslate">
var container = $('#container');

container.innerHTML = '&lt;/pre&gt;
&lt;h1 class=&quot;no-support&quot;&gt;Your browser does not support FileReader. Try using &lt;a href=&quot;http://www.firefox.com&quot;&gt; Firefox&lt;/a&gt; or &lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt;&lt;/h1&gt;
&lt;pre&gt;
';
</pre>
<p>You can now close this file and create a new one in the same js folder called html5demo.js. This file all of the magic is going to happen. Begin by adding the following lines of code to the html5demo.js file:</p>
<pre class="brush: jscript; title: ; notranslate">
//set the DOM element of dropbox as a variable
var dropbox = document.getElementById(&quot;dropbox&quot;);

//Listen for the drag &amp; drop events
dropbox.addEventListener(&quot;drop&quot;, drop, false);
</pre>
<p>This code looks cryptic but it is rather simple once you know what you are looking at. We set the HTML element with an id of dropbox from our index.html file as a variable and then we &#8220;listen&#8221; for something to happen to that element. When the event is detected the function declared is executed. The final paramater is whether to bubble up or capture the event. Don&#8217;t know what that means? Then <a href="http://www.quirksmode.org/js/events_order.html">read this explination</a> and come back to this tutorial when you are done. For this tutorial we are going to chose bubble so use false. There are several other events that you can register with the drag and drop api listed <a href="http://www.html5rocks.com/en/tutorials/dnd/basics/#toc-dragging-events">here</a>.</p>
<pre class="brush: jscript; title: ; notranslate">
//event handler parts
element.addEventListener(&quot;event&quot;, function, type);
</pre>
<p>Next we need to write the drop function. Add the following code after the event handlers:</p>
<pre class="brush: jscript; title: ; notranslate">
//When File is dropped on zone do the following
function drop(event) {

	//stop moving through DOM
	event.stopPropagation();

	//Prevent the defualt action
	event.preventDefault();

	//Register the data transfer event
	var files = event.dataTransfer.files;

	//Record number of files being uploaded
	var number = files.length;

	//Only trigger parseFiles function if at least one file uploaded
	if (number &gt; 0) {
		parseFiles(files);
	}
}
</pre>
<p>This function is how we tell if a file has been dropped onto the dropbox element.</p>
<pre class="brush: jscript; title: ; notranslate">
//stop moving through DOM
event.stopPropagation();

//Prevent the default action
event.preventDefault();
</pre>
<p>These two lines from the function stop any default actions otherwise used on the page. To better understand the stopPropagation and preventDefault commands I suggest you <a href="http://www.jensbits.com/2012/03/05/stoppropagation-and-preventdefault-jquery-methods/">read this</a>. The 2 commands are not truly necessary for this application but if you are building a more advanced application they will be so I included them to make this code as useful as possible.</p>
<pre class="brush: jscript; title: ; notranslate">
//Registers the files as an array
var files = event.dataTransfer.files;
</pre>
<p>This line records each file as an element in an array called files. Then we create a new variable to record the number of files uploaded</p>
<pre class="brush: jscript; title: ; notranslate">
//Record number of files being uploaded
var number = files.length;
</pre>
<p>The last part only calls the parseFiles function if there was at least 1 file uploaded.</p>
<pre class="brush: jscript; title: ; notranslate">
//Only trigger parseFiles function if at least one file uploaded
if (number &gt; 0) {
	parseFiles(files);
}
</pre>
<p>After the drop function we need to create another function named parseFiles that will be responsible for selecting the file and reading all the meta information.</p>
<pre class="brush: jscript; title: ; notranslate">
//Process the uploaded file
function parseFiles(files) {

	//Register the first file uploaded
	var file = files[0];

        //set the DOM element of file-data to a variable
  	var fileData = document.getElementById(&quot;file-data&quot;);

  	//Add file information to the HTML page
        var output = &quot;
file: &lt;span class=&quot;meta&quot;&gt;&quot; + file.name + &quot;&lt;/span&gt;

&quot;;
    	output += &quot;
last update: &lt;span class=&quot;meta&quot;&gt;&quot; + file.lastModifiedDate + &quot;&lt;/span&gt;

&quot;;
		output += &quot;
type: &lt;span class=&quot;meta&quot;&gt;&quot; + file.type + &quot;&lt;/span&gt;

&quot;;
		output += &quot;
size: &lt;span class=&quot;meta&quot;&gt;&quot; + file.size + &quot;&lt;/span&gt; bytes

&quot;;

	fileData.innerHTML = output;

	//Open FileReader to read content
	var reader = new FileReader();

	// begin the read operation
	reader.readAsText(file, &quot;UTF-8&quot;);

	// init the reader event handlers
	reader.onload = handleReaderLoad;

}
</pre>
<p>The first 2 statements create 2 new variables:</p>
<pre class="brush: jscript; title: ; notranslate">
//Register the first file uploaded
var file = files[0];

//set the DOM element of file-data to a variable
var fileData = document.getElementById(&quot;file-data&quot;);
</pre>
<p>The first records the first document saved in the files array, for this tutorial we only care about the first uploaded file but you could easily add a loop to read multiple files. The second is setting the div with an id of file-data as a new object so we can add information to it.</p>
<pre class="brush: jscript; title: ; notranslate">
//Add file information to the HTML page
    var output = &quot;
file: &lt;span class=&quot;meta&quot;&gt;&quot; + file.name + &quot;&lt;/span&gt;

&quot;;
    	output += &quot;
last update: &lt;span class=&quot;meta&quot;&gt;&quot; + file.lastModifiedDate + &quot;&lt;/span&gt;

&quot;;
	output += &quot;
type: &lt;span class=&quot;meta&quot;&gt;&quot; + file.type + &quot;&lt;/span&gt;

&quot;;
	output += &quot;
size: &lt;span class=&quot;meta&quot;&gt;&quot; + file.size + &quot;&lt;/span&gt; bytes

&quot;;
</pre>
<p>This section takes all the metadata from the file such as name, date last modified, type and size and adds it to a new variable named output along with some html tags to help us style the information later. Then we add the output contents of the output variable to the inside of the file-data div:</p>
<pre class="brush: jscript; title: ; notranslate">
fileData.innerHTML = output;
</pre>
<p>Next we create a new instance of the filereader, tell the browser to read the contents of the file as unicode data and once the file has been loader start the handleReaderLoad function.</p>
<pre class="brush: jscript; title: ; notranslate">
//Open FileReader to read content
var reader = new FileReader();

// begin the read operation
reader.readAsText(file, &quot;UTF-8&quot;);

// init the reader event handlers
reader.onload = handleReaderLoad;
</pre>
<p>After the parseFiles function add the following:</p>
<pre class="brush: jscript; title: ; notranslate">
function handleReaderLoad(event, file) {

  	//Set csv variable equal to file contents
  	csv = event.target.result;

  	//Run CSV parsing function
  	processData();
}
</pre>
<p>We are using a new variable call csv to store the inforamtion read from the file but we have not yet declared it. Because we need to use it several times in the document we should create it as a global variable. You do this by adding the following lines right bellow the var dropbox line at the top of the page.</p>
<pre class="brush: jscript; title: ; notranslate">
//create new global variable
var csv;
</pre>
<p>The processData function is the most complicated part of this app but it is also the most powerful. It allows you to read through a csv file and create seperate objects for each piece of data. In our app we will take this and chart it directly but you could also use this function to load a huge excell file into a database for processing or more complex data manipulations. The function should go bellow the handleReaderLoad function:</p>
<pre class="brush: jscript; title: ; notranslate">
function processData() {

    //Seperate file by line breaks
    var allTextLines = csv.split(/\r\n|\n/);

    //Set Key equal to the first row
    var headers = allTextLines[0].split(',');

    //loop through each line
    for (var i=1; i
    	//Seperate line by comma
        var data = allTextLines[i].split(',');

        //Create associated array for each line
        if (data.length == headers.length) {

	    //Declare temp array
            var array = {};

            //Loop through values
            for (var j=0; j
            	//Set header to Key
            	var key = headers[j];

            	//Set data to value
            	var value = data[j];

            	//Add Key Value pair to temp array
            	array[key] = value;
            }

            //Add temp line array to array of all data
            lines.push(array);
        }
    }

    //Convert data to graphical form
    renderChart();
}
</pre>
<p>The first line seperates each line of the csv file and places it into an array called allTextLines. It looks like this:</p>
<pre class="brush: jscript; title: ; notranslate">
allTextLines = [&quot;Name,Fall 2011,Winter 2012&quot;, &quot;john,3.2,3.4&quot;, ...];
</pre>
<p>The next line</p>
<pre class="brush: jscript; title: ; notranslate">
//Set Key equal to the first row
var headers = allTextLines[0].split(',');
</pre>
<p>Splits the first row of data into a new array by commas. This are the categories associated with the csv file:</p>
<pre class="brush: jscript; title: ; notranslate">
var headers = [&quot;Name&quot;, &quot;Fall 2011&quot;, &quot;Winter 2012&quot;];
</pre>
<pre class="brush: jscript; title: ; notranslate">
//loop through each line
for (var i=1; i
    //Seperate line by comma
    var data = allTextLines[i].split(',');

    //Create associated array for each line
    if (data.length == headers.length) {

        //Declare temp array
        var array = {};

        //Loop through values
        for (var j=0; j
        	//Set header to Key
        	var key = headers[j];

        	//Set data to value
        	var value = data[j];

        	//Add Key Value pair to temp array
        	array[key] = value;
        }

        //Add temp line array to array of all data
        lines.push(array);
    }
}
</pre>
<p>We set up a loop to start at the second row of the allTextLines array (we already used row 1 for the headers) and parse each string separately.</p>
<pre class="brush: jscript; title: ; notranslate">
//Seperate line by comma
var data = allTextLines[i].split(',');
</pre>
<p>There is a new temporary array created called data to hold all the values from the split.</p>
<pre class="brush: jscript; title: ; notranslate">
//Create associated array for each line
if (data.length == headers.length) {

	//Declare temp array
    var array = {};

    //Loop through values
    for (var j=0; j
    	//Set header to Key
    	var key = headers[j];

    	//Set data to value
    	var value = data[j];

    	//Add Key Value pair to temp array
    	array[key] = value;
    }

    //Add temp line array to array of all data
    lines.push(array);
}
</pre>
<p>This loop checks if the number of data points is equal to the number of categories and then adds the category name and data point to an object array as a key value pair:</p>
<pre class="brush: jscript; title: ; notranslate">
//example of the object array
array = {
   name: john,
   fall 2011: 3.2.
   winter 2012: 3.4
}
</pre>
<p>After all values have been added for the record the object array is added to an array of arrays called lines. We have not created the lines array yet so we should do that now. Add the following code to the top of the page right bellow the var csv; line.</p>
<pre class="brush: jscript; title: ; notranslate">
//Create new global array for parsed csv data
var lines = [];
</pre>
<p>The final command calls the function that will create the chart using the data we just loaded. Add the following function after proccessData.</p>
<pre class="brush: jscript; title: ; notranslate">
function renderChart() {

	var options = {
	    chart: {
	        renderTo: 'container',
	        defaultSeriesType: 'line'
	    },
	    title: {
	        text: 'Grades'
	    },
	    xAxis: {
	        categories: []
	    },
	    yAxis: {
	        title: {
	            text: 'GPA'
	        }
	    },
	    series: [{
			name: 'Fall 2011',
			data: []
		}, {
			name: 'Winter 2012',
			data: []
		}],
	    exporting: {
            enabled: true
        }
	};

	//Add object values from csv to the chart
	for(i = 0; i &lt; lines.length; i++) {
		var obj = lines[i];

		for(var index in obj) {
			if (index === 'Name') {
				options.xAxis.categories.push(obj[index]);
			}

			if (index === 'Fall 2011') {
				options.series[0].data.push(parseFloat(obj[index]));
			}

			if (index === 'Winter 2012') {
				options.series[1].data.push(parseFloat(obj[index]));
			}
		}
	}

	//Create the chart
	var chart = new Highcharts.Chart(options);
}
</pre>
<p>The code for creating the chart comes from the highcharts website. They do a great job explaining there system in the documentation on there site <a href="http://www.highcharts.com/documentation/how-to-use">here</a>. The values from the object arrays in the lines array are added based on the category each row belongs too. For this tutorial the categories are hard coded but in a real app you would want to make them more dynamic.</p>
<p>To style the application add a new file in the css folder with the following code:</p>
<pre class="brush: css; title: ; notranslate">
@import url('normalize.css');
@import url(http://fonts.googleapis.com/css?family=Droid+Serif);

body {
	background: url(images/arches.png);
	font-size: 12px;
	font-weight: 400;
}

header {
	width: 100%;
	display: block;
	background: #292a2d; /* Old browsers */
	background: -moz-linear-gradient(top,  #292a2d 0%, #000000 100%); /* FF3.6+ */
	background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#292a2d), color-stop(100%,#000000)); /* Chrome,Safari4+ */
	background: -webkit-linear-gradient(top,  #292a2d 0%,#000000 100%); /* Chrome10+,Safari5.1+ */
	background: -o-linear-gradient(top,  #292a2d 0%,#000000 100%); /* Opera 11.10+ */
	background: -ms-linear-gradient(top,  #292a2d 0%,#000000 100%); /* IE10+ */
	background: linear-gradient(top,  #292a2d 0%,#000000 100%); /* W3C */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#292a2d', endColorstr='#000000',GradientType=0 ); /* IE6-9 */
	color: #fff;
	border-bottom: 2px solid #f8f8f8;
	-webkit-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .5);
	-moz-box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .5);
	box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, .5);
}

header h1.title {
	font-family: 'Droid Serif', serif;
	font-size: 2em;
	line-height: 1.5em;
	padding: 5px 15px;
}

h1.no-support {
	font-size: 24px;
}

#fileToUpload {
	position: absolute;
	right: 30px;
	bottom: 140px;
	padding: 5px;
	margin: 0px;
	width: 170px;
}

#dropbox {
	width: 180px;
	height: 110px;
	background: url(images/download.png) no-repeat center center;
	background-color: #454545;
	position: absolute;
	right: 30px;
	bottom: 20px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	border-radius: 3px;
	-webkit-box-shadow: inset 1px 2px 8px 1px rgba(0, 0, 0, .4);
	-moz-box-shadow: inset 1px 2px 8px 1px rgba(0, 0, 0, .4);
	box-shadow: inset 1px 2px 8px 1px rgba(0, 0, 0, .4);
}

#message {
	color: #F8F8F8;
	font-size: 1.2em;
	bottom: 5px;
	display: block;
	text-align: center;
	margin-top: 73px;
}

#container {
	margin: 50px 0 0 50px;
	width: 700px;
	height: 350px;
}

#file-data {
	font-family: 'Droid Serif', serif;
	font-size: 1.25em;
	line-height: 1.5em;
	right: 30px;
	top: 100px;
	width: 180px;
	position: absolute;
}

#file-data span.meta {
	color: #308FD9;
}

.copyright {
	position: absolute;
	left: 20px;
	bottom: 15px;
	font-weight: bold;
	color: #454545;
}

.highcharts-container {
	-webkit-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, .5);
	-moz-box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, .5);
	box-shadow: 0px 0px 3px 0px rgba(0, 0, 0, .5);
}
</pre>
<p>I am not going to go over the styling I used in this tutorial but please look through it and try to understand what each part is doing.</p>
<p>Finally we need to add a reference to the css file in the header of index.html.</p>
<pre class="brush: xml; title: ; notranslate">
&lt;link rel=&quot;stylesheet&quot; type=&quot;text/css&quot; href=&quot;css/style.css&quot; /&gt;
</pre>
<p>To run the application you have to upload it to a hosted server. The file api does not work locally for security reasons. Once you have the web app deployed you can use the included csv file to test out if it works. The next steps you should take are to try and figure out how to make the charted categories dynamic rather than hard coded.</p>
<p>You now have a web application that can take a csv file that is dropped onto the page, read it and display the information as a graph without have to refresh or talk to a server. You can view the commented source code on github or check out the completed demo bellow. I hope you learned some new techniques while reading this tutorial and if you have any questions or improvements please leave them in the comments.</p>
<span class="bk-button-wrapper"><a href="https://github.com/osuthorpe/HTML5Demo" target="_blank" class="bk-button default left rounded small">Source Files</a></span>
<span class="bk-button-wrapper"><a href="http://www.alexthorpe.com/demo/html5" target="_blank" class="bk-button yellow left rounded small">Demo</a></span>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/uncategorized/learn-how-to-drag-drop-chart-a-file-using-html5/588/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Snake! an HTML5 game for iPhone &amp; Android</title>
		<link>http://alexthorpe.com/featured/snake-an-html5-game-for-iphone-android/582/</link>
		<comments>http://alexthorpe.com/featured/snake-an-html5-game-for-iphone-android/582/#comments</comments>
		<pubDate>Mon, 12 Mar 2012 05:39:17 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Featured]]></category>
		<category><![CDATA[Free]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Jquery]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=582</guid>
		<description><![CDATA[This is my first HTML5 game for mobile phones. Snake! is an updated version of the classic Nokia game from the 90's]]></description>
				<content:encoded><![CDATA[<p><a href="http://alexthorpe.com/wp-content/uploads/2012/03/snake.jpg"><img class="aligncenter size-full wp-image-585" title="snake!" src="http://alexthorpe.com/wp-content/uploads/2012/03/snake.jpg" alt="" width="570" height="300" /></a></p>
<p>This is my first HTML5 game for mobile phones. Snake! is an updated version of the classic Nokia game from the 90&#8242;s (yes I know the game is technically older than that but Nokia is the company that made it famous). This version uses swipes to move the snake and can be installed as an app on your home screen.</p>
<p>Its built using the latest web technologies including CSS3, HTML5 canvas &amp; offline caching, Javascript, Google @Font-face and jQuery touch events. The web app is designed to work the best on a modern touch phone but it will also work on tablets and a regular computer (use the arrow keys). Bellow are some screen shots of the game and link. Future improvements will include audio and game speed settings but for now just go to the site and Enjoy!</p>
<span class="bk-button-wrapper"><a href="http://snake.alexthorpe.com" target="_blank" class="bk-button default right rounded small">Snake! Game</a></span>
<p>The source code is now hosted on github so if you want to see how this was created or want to submit improvements you can.</p>
<span class="bk-button-wrapper"><a href="https://github.com/osuthorpe/Snake" target="_blank" class="bk-button yellow left rounded small">Source Code</a></span>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/featured/snake-an-html5-game-for-iphone-android/582/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mobile Device Policy &amp; Development in Enterprise</title>
		<link>http://alexthorpe.com/coding/mobile-device-policy-development-in-enterprise/573/</link>
		<comments>http://alexthorpe.com/coding/mobile-device-policy-development-in-enterprise/573/#comments</comments>
		<pubDate>Fri, 24 Feb 2012 19:28:18 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Business Analyst]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=573</guid>
		<description><![CDATA[As mobile devices become more powerful and ubiquitous in the workplace companies need to begin supporting and developing for these consumer devices.  The old command and control framework of IT management providing a limited number of hardware devices needs to be re-evaluated and adapted to the new workplace. By adapting a ‘bring your own device’ policy management can decrease costs, increase worker happiness and improve data security. Major companies like Kraft Foods gives employees a stipend to purchase a device for use with their corporate systems. A key part to this bring your own device strategy is leveraging the cloud to roll out software to ...]]></description>
				<content:encoded><![CDATA[<p>As mobile devices become more powerful and ubiquitous in the workplace companies need to begin supporting and developing for these consumer devices.  The old command and control framework of IT management providing a limited number of hardware devices needs to be re-evaluated and adapted to the new workplace.</p>
<p>By adapting a ‘bring your own device’ policy management can decrease costs, increase worker happiness and improve data security. Major companies like Kraft Foods gives employees a stipend to purchase a device for use with their corporate systems.</p>
<p>A key part to this bring your own device strategy is leveraging the cloud to roll out software to devices and insure data security. Using a cloud based system insures no data is maintained on the device unless the application is active and the user has logged into the app.</p>
<p><em>This post details ways to build native phone/tablet applications, a separate post will cover web app development technologies including Sencha Touch, Phonegap and jQuery Mobile.</em></p>
<h2><strong>Device &amp; Policy Selection</strong></h2>
<ul>
<li>Adapting a ‘Bring your own device’ policy will empower employees and reduce training time. It can make employees more effective and reduce the number of calls to IT support.</li>
<li>Setting up a website detailing all company policies and resources for mobile devices will insure that everyone has access to information. The site should contain a forum for users to ask other users for help and video tutorials on application features.</li>
<li>Passwords should be mandated for any device with corporate information and IT should have rights to remote wipe the device if it is lost or stolen.</li>
</ul>
<h2><strong>Development</strong></h2>
<p>There are currently 5 major operating systems competing in the mobile space with no one system maintaining more than 30 percent market share.  In order to insure the long-term viability of the mobile application it needs to be designed and built to work on all major operating systems.</p>
<p>Developing for all of the current and future operating systems requires the use of a third party development environment. There are three main mobile development platforms: Rhomobile, Appcelerator Titanium and Corona SDK.</p>
<h3><strong>Rhomobile</strong></h3>
<p>Rhomobile is a set of developer tools; RhoHub, RhoSync and RhoGallery, that allow companies to build and deploy mobile applications that integrate seamlessly with existing enterprise servers.</p>
<p>RhoHub It is the only development as a service platform that does not require software installation on a local machine, all development and testing is done in the cloud. This allows development of iOS applications on windows machines, something no other platform allows.</p>
<p>Apps built with RhoHub are true native applications with support for Model-View-Control, synchronized data and operate on most major mobile operating systems; iOS, Android, Blackberry and Windows Phone 7.</p>
<p>Interaction with an enterprise server is done through RhoSync, an app integration server that keeps all the data on the device synchronized with the backend system. RhoSync uses “No SQL” to allow for high volumes of data and devices to be interacting with the server at once. The device not only syncs data with the enterprise applications but metadata as well. This means that if new fields get added to the enterprise application they are automatically synchronized to the device.</p>
<p>RhoGallery allows for companies to manage apps and deploy them to employee devices. If a device is stolen or an employee is terminated the applications can be remotely removed as well. By managing only the applications and not the device it makes support cheaper and easier.</p>
<p>The Rhomobile framework is used by over 15,000 developers and is well supported, but documentation is not as good as the competitors and sample code is not provided.  Because the framework uses high level-programming models there is a steep learning curve and users should be familiar with the underling languages (Ruby, HTML, CSS) before beginning development.</p>
<h4> <strong>Verdict</strong></h4>
<p>With the ability to develop apps in the cloud, interact with an enterprise server and deploy apps remotely Rhomobile is the clear choice for developing mobile applications in enterprise. It is the only platform that allows for deep integration with an existing system and enterprise level security.</p>
<span class="bk-button-wrapper"><a href="http://www.rhomobile.com" target="_blank" class="bk-button yellow right rounded small">Rhomobile Link</a></span>
<div class="clear"></div>
<h3><strong>Corona</strong></h3>
<p>The Corona SDK is a framework that allows for cross platform development using the Lua programing language. It is designed allow programmers to create multimedia rich applications and games without Objective-C, C++ or Java knowledge. Finished apps can be deployed to iOS and android devices through their respective app stores.</p>
<p>Using the Lua language allows developers to focus on creating applications quickly. It is primarily for game development but includes APIs for interacting with enterprise servers on a basic level.</p>
<p>Applications have to be built on an Intel Mac OSX 10.5+ system and there is no way to manage applications on user devices once they are released in the app store. All business logic is stored in the view as JavaScript and no support for model-view-controller framework.</p>
<h4><strong>Verdict</strong></h4>
<p>Corona SDK is a framework best suited to game development.  It is easy to learn but lacks the required enterprise services such as application management, and server synchronization.</p>
<span class="bk-button-wrapper"><a href="http://www.anscamobile.com/corona/" target="_blank" class="bk-button yellow right rounded small">Corona SDK Link</a></span>
<div class="clear"></div>
<h3><strong>Appcelerator Titanium</strong></h3>
<p>With over 1.5 million active developers Titanium is the largest mobile development platform. Apps built with Titanium work on iOS, Android and desktop environments.  It is well documented and has multiple prebuilt apps to begin development with.</p>
<p>It is designed to work with databases and create more business minded apps than corona that is designed more for game creation. The software works on both Windows and Mac, but just like corona if you want to deploy to iOS devices you need to compile the code for iOS on a mac.</p>
<h4><strong>Verdict</strong></h4>
<p>While Titanium is capable of creating more business-oriented applications then Corona it does not match Rhomobile for enterprise integration and deployment. It is the only platform that can create desktop apps along with mobile applications.</p>
<span class="bk-button-wrapper"><a href="http://www.appcelerator.com/" target="_blank" class="bk-button yellow right rounded small">Titanium Link</a></span>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/coding/mobile-device-policy-development-in-enterprise/573/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Top 10 iPad apps for Business, Jan 2012</title>
		<link>http://alexthorpe.com/review/top-10-ipad-apps-for-business-2012/258/</link>
		<comments>http://alexthorpe.com/review/top-10-ipad-apps-for-business-2012/258/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 08:42:07 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[iOS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[Review]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=258</guid>
		<description><![CDATA[With the new year starting I thought it would be a great time to recap the best business apps available for the Apple iPad. Each of these apps are ones I used almost daily during 2011 and will continue to use into 2012.]]></description>
				<content:encoded><![CDATA[<p>With the new year starting I thought it would be a great time to recap the best business apps available for the Apple iPad. Each of these apps are ones I used almost daily during 2011 and will continue to use into 2012.</p>
<h3>10. Moprise Mobile Collaboration</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-1.jpg"><img class="icon size-full wp-image-471" title="moprise logo" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-1.jpg" alt="" /></a>If you use Sharepoint to store and manage documents then Moprise is an easy choice for viewing those documents to the iPad. To set up just enter your Sharepoint URL, username and password and your done. All your documents can now be viewed, edited and updated on an iPad. The free personal version allows you to connect to 2 sites while the business addition is unlimited.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Easy to Set Up</li>
<li>Allows for downloading and updating of any document</li>
<li>You can configure as many sites as required</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>App crashes occasionally when working with large files</li>
<li>Pay version requires enterprise agreement</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/moprise-sharepoint-documents/id400585451?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>9. Wyse PocketCloud</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-2.jpg"><img class="icon size-full wp-image-473" title="wyse pocketcloud" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-2.jpg" alt="" /></a>With Wyse PocketCloud you can have the power of your desktop on your iPad. There are many remote desktop applications but this is my favorite. Works with PC or Mac and configuration is a snap. It is the only RDP app I could get to work on a corporate computer. The free version will work for most people but pro gives you a document viewer that rocks. It lets you browse folders and files on your PC in simple and intuitive way. The multifunction pointer is a nice touch and makes it easy to scroll, right click and drag windows but it does not work for the right 2 inches of the screen because the multifunction controller is locked to the right of the pointer.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Works with systems behind a corporate firewall</li>
<li>Remote file browser</li>
<li>Pro version allows for multiple computers</li>
<li>Can connect to a Windows servers</li>
<li>Supports sound output to iPad from remote system</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Frame rate too slow for gaming.</li>
<li>Brief delay between screen press and mouse movement</li>
<li>Can not use multi-function pointer when clicking on the right part of the screen</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/wyse-pocketcloud-remote-desktop/id398798399?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>8. Flipboard</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-3.jpg"><img class="icon size-full wp-image-474" title="flipboard" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-3.jpg" alt="" /></a></p>
<p>View all your favorite blogs and online publications in one place with Flipboard, the social magazine for iPad. There is a content guide for browsing sources and deep integration with Facebook, Twitter and Linkedin. Create your own trade magazines from Linked in today and  stay on top of your industry with this award winning App.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Access any site with an RSS feed</li>
<li>Deep integration with Facebook, Linkedin, Twitter and Tumblr</li>
<li>Intuitive interface</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Does not always update feeds</li>
<li>Occasional crashes</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/flipboard/id358801284?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>7. Analytics Pro for iPad</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-4.jpg"><img class="icon size-full wp-image-475" title="analytics pro" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-4.jpg" alt="" /></a></p>
<p>If you build it how will you know if they have come? Web stat tracking might not be glamorous but it can be quick and easy with Analytics Pro for iPad. Run custom reports and save them as pdfs to dropbox for use in reports on how your sites are doing. There is a limited free version but I would suggest spending the 6 bucks on the full version to track multiple sites and grab any metric you need.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Easy to define your own queries</li>
<li>You can export reports as PDFs</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>No guide to running complex reports</li>
<li>Expensive</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/analytics-pro/id352409235?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>6. SG Project</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-5.jpg"><img class="icon size-full wp-image-476" title="sg project" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-5.jpg" alt="" /></a></p>
<p>A key to meeting any deadline is good project management and SG Project makes it easy. The Gnatt chart view is brilliant and provides you a snapshot of owners, percentage done, tasks, start/end dates and you can drill into any task/decision to get a detailed view. Updating, adding and deleting is a breeze, making this a good learning platform for anyone new to project management.</p>
<p>Full time project managers will love that Microsoft Project XML files are supported but should opt for SG Project Pro, the more expensive professional version that gives you a more feature rich home page and more advanced options such as project risks and costs. Both apps allow you to export any view or chart as a PDF and Dropbox support is coming soon according to the developers.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Import/Export Microsoft Project XML files</li>
<li>Intuitive interface, great for a person new to project management</li>
<li>Multiple projects support</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Does not handle Projects with 300+ tasks well</li>
<li>No dropbox (cloud storage) support</li>
<li>Pro version is expensive</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/sg-project/id373004554?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>5. Wolfram Alpha</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-6.jpg"><img class="icon size-full wp-image-477" title="wolfram" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-6.jpg" alt="" /></a></p>
<p>Ever needed to find an answer to a random question like what is the population of Switzerland? Or how many minutes are in a year? Wolfram|Alpha is the easiest way. Wolfram|Alpha is a computational knowledge engine, not a search engine. Rather than crawl the web and give you back relevant sites like google, Wolfram|Alpha gives you back an answer to your question. For a more in-depth look visit <a href="http://www.wolframalpha.com/tour/what-can-i-use-wolframalpha-for.html" target="_blank">Wolfram|Alpha</a>. The mobile app is the same as the website, just a cleaner interface for the iPad.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Appears to know everything</li>
<li>Can handle advance mathematical equations</li>
<li>Makes you look really smart in meetings or class</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Only works with computational questions</li>
<li>App costs 3 bucks while the web version is free</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/wolframalpha/id334989259?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>4. Find My iPhone</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-7.jpg"><img class="icon size-full wp-image-478" title="find my iPhone" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-7.jpg" alt="" /></a></p>
<p>Nothing is more frustrating than running late because you can&#8217;t find your phone. This app will show you on a map where your phone is and you can have it play a sound on your device even if it is on silent. Incase you can&#8217;t locate your phone this app also lets your remote wipe the device protecting your sensitive data.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Can play a continuous beeping tone on device until found</li>
<li>Has a map showing you where your device is</li>
<li>Allows you to remote wipe your device</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Takes a while to locate phone indoors</li>
<li>Lost phone has to be turned on to work</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/find-my-iphone/id376101648?mt=8&amp;ign-mpt=uo%3D2" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>3. Dropbox</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-8.jpg"><img class="icon size-full wp-image-479" title="dropbox" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-8.jpg" alt="" /></a></p>
<p>I have used Box.net, Sugarsync, Jungle Disk and several other cloud storage applications but the one I keep coming back to is Dropbox. You get 5gb of free storage and a desktop sync app that works on Mac or PC. Be carful with cloud storage applications because some companies have restrictions on information that is stored outside corporate control.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Instant access and updating of any document in dropbox folder</li>
<li>5gb for free with all features included</li>
<li>Deeply integrated into most other document/photo applications</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Possible security issues with sensitive data</li>
<li>File size limit of 1gb with free version</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/dropbox/id327630330?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>2. SimpleMind+</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-9.jpg"><img class="icon size-full wp-image-480" title="simplemind+" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-9.jpg" alt="" /></a></p>
<p>If your anything like me you spend a great deal of time trying to map out your ideas. Getting your websites, reports and training materials organized makes all the difference and I am finding that with Simplemind+ I am doing this step from my iPad more and pen and paper less. This is probably the simplest app on this list and that is why I love it. There is nothing to get in-between me and my ideas.</p>
<p>Unlike traditional pen and paper there is no limit to the size of my mind maps. I can expand/collapse subsections and re-arrange items with ease. Best of all this app is free so there is no reason not to give it a try.</p>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>No size limit for maps</li>
<li>Automatic Links and color coding</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>No image/multimedia support</li>
<li>Other mind mapping applications are more feature rich</li>
<li>No Dropbox or cloud storage support</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/simplemind-mind-mapping/id305727658?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>1. iMockups</h3>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-10.jpg"><img class="icon size-full wp-image-481" title="imockups" src="http://alexthorpe.com/wp-content/uploads/2012/01/Unknown-10.jpg" alt="" /></a></p>
<p>I do a lot of interface design work and for quick mockups I love this app. Using the included UI tools you can build mobile, web and desktop wireframes to nail down the functionality of your app before you write a single line of code. The application interface is clean and intuitive and the app makes great use of gestures to navigate pages.</p>
<p>Custom tailed for iPad gestures, iMockups is the feel good tool for expressing new web ideas with simple wireframes. With the ability to generate Lorem Ipsum, easily arrange objects, create a multitude of projects with a multitude of artboards, and export your designs to your Photo Library, it’s an easy to pickup wireframing tool that is accessible to both beginners and professionals. If you want to design on the go, this is a must have application.</p>
<div></div>
<div class="one_half"></p>
<h3><code>Pros</code></h3>
<ul>
<li>Easy to use</li>
<li>Interface elements for iPad, iPhone or web apps</li>
<li>You can link pages together and playback for clients on the fly</li>
<li>Can add your own images, icons</li>
</ul>
<p></div>
<div class="one_half column-last"></p>
<h3><code>Cons</code></h3>
<ul>
<li>Limited exporting options</li>
</ul>
<p></div><div class="clear"></div>
<span class="bk-button-wrapper"><a href="http://itunes.apple.com/us/app/imockups-for-ipad/id364885913?mt=8" target="_blank" class="bk-button yellow  rounded small">iTunes Link</a></span>
<h3>Wrap Up</h3>
<p>Thats it for my top ten. Stay tuned for future posts were I will be doing longer reviews that detail how I use each app and how they fit into my workflow. If you have any apps that you use at work sound off in the comments, I love to hear about new apps that can make me more effective.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/review/top-10-ipad-apps-for-business-2012/258/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Getting Started with Salesforce &#8211; Part 1</title>
		<link>http://alexthorpe.com/professional-development/getting-started-with-salesforce-part-1/445/</link>
		<comments>http://alexthorpe.com/professional-development/getting-started-with-salesforce-part-1/445/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 07:52:52 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Beginner]]></category>
		<category><![CDATA[CRM]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Salesforce]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=445</guid>
		<description><![CDATA[This is part 1 of a 3 part series detailing everything you need to evaluate and setup a Salesforce.com system. Part 1 will go over what Salesforce is and how to get set up with a developers evaluation account. Part 2 will cover setting up your computer for coding with the Salesforce platform. Part 3 will cover resources where you can learn more about  Salesforce, Visualforce, APEX and Force.com. As a Information Systems Developer one of the most advantages platforms to learn is Salesforce. With over 80,000 companies and 3,000,000 users they are one of the top software companies in the world. Salesforce is a ...]]></description>
				<content:encoded><![CDATA[<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/salesforce1.jpg"><img class="aligncenter size-full wp-image-453" title="salesforce" src="http://alexthorpe.com/wp-content/uploads/2012/01/salesforce1.jpg" alt="" width="570" height="300" /></a></p>
<p>This is part 1 of a 3 part series detailing everything you need to evaluate and setup a <a href="http://www.salesforce.com">Salesforce.com</a> system. Part 1 will go over what Salesforce is and how to get set up with a developers evaluation account. Part 2 will cover setting up your computer for coding with the Salesforce platform. Part 3 will cover resources where you can learn more about  Salesforce, Visualforce, APEX and Force.com.</p>
<p>As a Information Systems Developer one of the most advantages platforms to learn is Salesforce. With over 80,000 companies and 3,000,000 users they are one of the top software companies in the world. Salesforce is a Customer Relationship Management system, if your not sure what that is or if it is something your company needs I would suggest reading <a href="http://www.destinationcrm.com/Articles/CRM-News/Daily-News/What-Is-CRM-46033.aspx">What is CRM?</a> and How to <a href="http://www.computerworld.com/s/article/68197/How_to_Choose_CRM_Software">Choose CRM Software</a>, before continuing. Moving to a CRM is a huge undertaking and not something that should be done unless you will see real benefit from the system. If you have already done the research on CRM then read on to learn more about Salesforce.</p>
<p>Unlike a traditional CRM system Salesforce is not hosted locally by the client. The application and all of the data are stored and maintained by Salesforce on their servers, this is what is called cloud computing. This software is never installed on a users computer, they simply need access to a web browser and an internet connection. As a developer this means you do not need to worry about maintaing testing systems or computer requirements, the user can access the platform from a Mac, PC, Linux or mobile device.</p>
<p>The licensing model for this kind of software is different then the traditional client based solution. Instead of paying for it up front and owning the software you pay per user per month, effectively leasing the software for as long as you wish to use it. This is called Software as a Service, or SaaS for short.</p>
<p>For smaller companies (100 employees or less) the SaaS model is a no brainer. The cost of a single database administrator would be more than the annual fees and you do not need to worry about trying to maintain your own hardware. For larger companies, especially ones that already have significant infrastructure the cost justifications are not as clear. With 1,000 users at $15 per user per month Salesforce becomes very expensive very fast. This is the cost before you start adding functionality the geotagging, e-mail marketing campaigns and lead processing. You will have to carefully account for all the costs included in switching over to the new system and the on going monthly fees to see if the platform would be cost effective.</p>
<p>Another other major problem with the cloud is data security. Your information is now stored with a 3rd party and when you delete data it is never really deleted. Often it will live on in backups on the vendors system. This can be a serious problem if you are working with highly sensitive data and something you need to consider carefully before moving to the cloud.</p>
<p>Before you make any business decisions you need to do an evaluation and a great way to test Salesforce is to sign up for an demo account. I would suggest skipping the free 30 day account and instead opt for the free developer account. This way you get the full enterprise edition of Salesforce for 2 users (developer and end user for example) for an unlimited amount of time, allowing you to test, evaluate and learn at your own pace.</p>
<p>Getting signed up is easy, just visit <a href="http://developer.force.com/">developer.force.com</a>, press the sign up button in the upper righthand corner and fill out the registration form. In a few minutes you will have a Salesforce site as your own personal sandbox. The account will come preloaded with about 20 dummy contacts as well as several leads, opportunities and events. At this point I would suggest trying the site and getting familiar with the default interface. Enter some information, take notes on where you get lost and what is working/not working the way you expect. I find it invaluable to first try and figure everything out without asking for help because that is what most of your end users are going to do. This way I get a feel for where the bottle necks are and what areas are going to need the most attention.</p>
<p>In part 2 I will cover how to set up your local environment for developing salesforce applications and get you started on building out the Salesforce platform. If you have any questions just let me know in the comments and I will answer them the best I can.</p>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/professional-development/getting-started-with-salesforce-part-1/445/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>96 Free Vector Icons for iOS, Android, Windows Phone or Web Apps</title>
		<link>http://alexthorpe.com/ios/96-free-vector-icons-for-ios-android-windows-phone-or-web-apps/434/</link>
		<comments>http://alexthorpe.com/ios/96-free-vector-icons-for-ios-android-windows-phone-or-web-apps/434/#comments</comments>
		<pubDate>Wed, 04 Jan 2012 01:47:38 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[Icons]]></category>
		<category><![CDATA[Vector]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=434</guid>
		<description><![CDATA[&#160; A while ago I was working on a large mobile project for a company I was interning with and I had a very hard time finding good clean icons for the interface. With that in mind I thought it would be great for other UI designers and coders to have access to what I did not. The minimalist icons are designed to look great on any background and both black and white versions are ready for use. Included in the download are 96 png icons in sizes: 128&#215;128, 64&#215;64, 32&#215;32 &#38; 16&#215;16. Fully editable illustrator file with all the icons is in the download. ...]]></description>
				<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/icons_image.png"><img class="aligncenter size-full wp-image-460" title="icons_image" src="http://alexthorpe.com/wp-content/uploads/2012/01/icons_image.png" alt="" width="570" height="300" /></a></p>
<p>A while ago I was working on a large mobile project for a company I was interning with and I had a very hard time finding good clean icons for the interface. With that in mind I thought it would be great for other UI designers and coders to have access to what I did not.</p>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Alex-Thorpe-Icon-Pack.zip" target="_blank" class="bk-button yellow  rounded large">Download Icons</a></span>
<p>The minimalist icons are designed to look great on any background and both black and white versions are ready for use.</p>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-03-at-5.18.06-PM.png"><img class="aligncenter size-full wp-image-437" title="96 Black Icons" src="http://alexthorpe.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-03-at-5.18.06-PM.png" alt="" width="372" height="575" /></a></p>
<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-03-at-5.19.48-PM.png"><img class="aligncenter size-full wp-image-438" title="96 White Icons" src="http://alexthorpe.com/wp-content/uploads/2012/01/Screen-Shot-2012-01-03-at-5.19.48-PM.png" alt="" width="381" height="581" /></a></p>
<p>Included in the download are 96 png icons in sizes: 128&#215;128, 64&#215;64, 32&#215;32 &amp; 16&#215;16. Fully editable illustrator file with all the icons is in the download. <strong>These icons are released free of charge for both commercial &amp; personal use.</strong> No attribution is required but I a would love a link to see what you have used them for.</p>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Alex-Thorpe-Icon-Pack.zip" target="_blank" class="bk-button yellow  rounded large">Download Icons</a></span>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/ios/96-free-vector-icons-for-ios-android-windows-phone-or-web-apps/434/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Free Professional Business Card Template</title>
		<link>http://alexthorpe.com/professional-development/free-professional-business-card-template/426/</link>
		<comments>http://alexthorpe.com/professional-development/free-professional-business-card-template/426/#comments</comments>
		<pubDate>Mon, 02 Jan 2012 20:00:11 +0000</pubDate>
		<dc:creator>Alex Thorpe</dc:creator>
				<category><![CDATA[Free]]></category>
		<category><![CDATA[Professional Development]]></category>
		<category><![CDATA[Business Card]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Photoshop]]></category>
		<category><![CDATA[Template]]></category>

		<guid isPermaLink="false">http://alexthorpe.com/?p=426</guid>
		<description><![CDATA[I know how hard it can be to create a business card so I have done the hard part for you! This is a free photoshop business card template for you to download, use and change anyway you want. All layers are in folders for easy updating and color changes. To create your own QR Code just go to QR-Code Generator and follow the instructions. Enjoy!]]></description>
				<content:encoded><![CDATA[<p><a href="http://alexthorpe.com/wp-content/uploads/2012/01/business_card_1_mockup.jpg"><img class="aligncenter size-full wp-image-427" title="business_card_1_mockup" src="http://alexthorpe.com/wp-content/uploads/2012/01/business_card_1_mockup.jpg" alt="" width="570" height="342" /></a></p>
<p>I know how hard it can be to create a business card so I have done the hard part for you! This is a free photoshop business card template for you to download, use and change anyway you want. All layers are in folders for easy updating and color changes.</p>
<p>To create your own QR Code just go to <a href="http://qrcode.kaywa.com/">QR-Code Generator</a> and follow the instructions.</p>
<p>Enjoy!</p>
<span class="bk-button-wrapper"><a href="http://alexthorpe.com/wp-content/uploads/2012/01/Business-Card-Template.zip" target="_blank" class="bk-button default left rounded large">Download Template</a></span>
]]></content:encoded>
			<wfw:commentRss>http://alexthorpe.com/professional-development/free-professional-business-card-template/426/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
