<?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>Ryan Yockey &#187; Web Apps</title>
	<atom:link href="http://www.ryanyockey.com/category/web-apps/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ryanyockey.com</link>
	<description>SEO &#124; Marketing &#124; Coding Tips and Social Media News</description>
	<lastBuildDate>Mon, 30 Nov 2009 07:27:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>oohEmbed &#8211; Simplified Video Embedding</title>
		<link>http://www.ryanyockey.com/274/featured/oohembed-simplified-video-embedding/</link>
		<comments>http://www.ryanyockey.com/274/featured/oohembed-simplified-video-embedding/#comments</comments>
		<pubDate>Sun, 26 Jul 2009 08:33:42 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[embedded]]></category>
		<category><![CDATA[ooembed]]></category>
		<category><![CDATA[viddler]]></category>
		<category><![CDATA[videos]]></category>
		<category><![CDATA[vimeo]]></category>
		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://www.ryanyockey.com/?p=274</guid>
		<description><![CDATA[
oohEmbed.com is a web service which acts as an API for grabbing information from various media websites. When I say media, I&#8217;m referring to YouTube videos, Flickr images and things like Amazon products. I was on the hunt for a method to give my users from an automotive website the ability to add videos to [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="size-full wp-image-282 aligncenter" title="embeddingvideos" src="http://www.ryanyockey.com/wp-content/uploads/2009/07/embeddingvideos.jpg" alt="embeddingvideos" width="550" height="201" /></p>
<p><a title="oohEmbed" href="http://oohembed.com/" target="_blank">oohEmbed.com</a> is a web service which acts as an API for grabbing information from various media websites. When I say media, I&#8217;m referring to YouTube videos, Flickr images and things like Amazon products. I was on the hunt for a method to give my users from an automotive website the ability to add videos to their comments without having to make things complex. Everyone knows its easy to mess up an embed code and have this hodge podge of code in someones comment or post. oohEmbed solves this through the usage of oEmbed and the API&#8217;s from the various media giants who have made it possible for us to easily access their information.</p>
<p><span id="more-274"></span></p>
<p>How do you call this information? Through the oohEmbed.com url schema. Tack on your media URL to the end of oohembed.com url.:</p>
<blockquote><p>http://oohembed.com/oohembed/?url=http%3A//www.amazon.com/Myths-Innovation-Scott-Berkun/dp/0596527055/</p></blockquote>
<p>Here is the kind of raw information oohEmbed outputs:</p>
<blockquote><p>{<br />
&#8220;type&#8221;: &#8220;photo&#8221;,<br />
&#8220;version&#8221;: &#8220;1.0&#8243;,<br />
&#8220;provider_name&#8221;: &#8220;Amazon Product Image&#8221;,<br />
&#8220;url&#8221;: &#8220;http://ecx.images-amazon.com/images/I/31%2BfVjL2nqL.jpg&#8221;,<br />
&#8220;height&#8221;: &#8220;500&#8243;,<br />
&#8220;width&#8221;: &#8220;317&#8243;,<br />
&#8220;thumbnail_url&#8221;: &#8220;http://ecx.images-amazon.com/images/I/31%2BfVjL2nqL._SL75_.jpg&#8221;,<br />
&#8220;thumbnail_height&#8221;: &#8220;75&#8243;,<br />
&#8220;thumbnail_width&#8221;: &#8220;48&#8243;,<br />
&#8220;asin&#8221;: &#8220;0596527055&#8243;,<br />
&#8220;title&#8221;: &#8220;The Myths of Innovation&#8221;,<br />
&#8220;author_name&#8221;: &#8220;Scott Berkun&#8221;,<br />
&#8220;author_url&#8221;: &#8220;http://www.amazon.com/gp/redirect.html%3FASIN=0596527055%26location=/Myths-Innovation-Scott-Berkun/dp/0596527055&#8243;<br />
}</p></blockquote>
<p>Here is my simple and quick PHP method for accessing oohEmbed and making use of their API structure (with a few comments to explain whats going on):</p>
<blockquote><p>//Simple function to get the contents from the oohEmbed API.<br />
function oohembedURL($u){<br />
return @file_get_contents(&#8217;http://oohembed.com/oohembed/?url=&#8217;.$u);<br />
}</p>
<p>//$content is whatever you get your content from. Wordpress/Joomla/Drupal, however you can process the raw content before it is visually shown. For Wordpress you use $get_the_content();.</p>
<p>$content = $get_the_content();</p>
<p>//Check my $content variable for any type of url<br />
preg_match_all(&#8217;&gt;http://([\w+?\.\w+])+([a-zA-Z0-9\~\!\@\#\$\%\^\&amp;amp;\*\(\)_\-\=\+\\\/\?\.\:\;\'\,]*)?&gt;&#8217;, $content, $matches);<br />
//Grabs the first URL in the content. If there were more than one you do this part differently to process them all, but we&#8217;re just focusing on one.<br />
$url = $matches[0][0];</p>
<p>//Run the $url through the oohembedURL function<br />
$ooh = oohembedURL($url);</p>
<p>//if $ooh is empty then we leave the $content variable alone. This is caused by a 404 error from oohEmbed.com when an invalid url is run through the service.<br />
if( !$ooh ){<br />
$newContent = $content;<br />
} else { //else we break up the content and find what in my case is the video embed code.<br />
//explode the API return<br />
$explode = explode(&#8217;,', $ooh);</p>
<p>foreach ($explode as $phrase){<br />
//if the $phrase includes &#8220;html&#8221;: &#8221; then set it to the $embed variable.<br />
if (strstr($phrase, &#8216;&#8221;html&#8221;: &#8220;&#8216;)) $embed = $phrase;<br />
if(isset($embed)) break;<br />
}</p>
<p>foreach ($explode as $phrase){<br />
//if the $phrase includes &#8220;html&#8221;:&#8221;(there are slightly different embed returns based on what service it comes from) then set it to the $embed2 variable.<br />
if (strstr($phrase, &#8216;&#8221;html&#8221;:&#8221;&#8216;)) $embed2 = $phrase;<br />
if(isset($embed2)) break;<br />
}</p>
<p>//if no $embed2 variable input the embedding code into the $content<br />
if( !$embed2 ){<br />
//remove the &#8220;html&#8221;: &#8221; from the string.<br />
$embed = str_replace(&#8217;&#8221;html&#8221;: &#8220;&#8216;, &#8221;, $embed);</p>
<p>//trim off the quote from the right side of the string<br />
$embed = rtrim($embed, &#8216;&#8221;&#8216;);</p>
<p>//replace the video url for the new embedded code.<br />
$newContent = str_replace($url, $embed, $content);<br />
}else{ //else if $embed2 exists use this process<br />
//Remove the &#8220;html&#8221;:&#8221; from the string.<br />
$embed2 = str_replace(&#8217;&#8221;html&#8221;:&#8221;&#8216;, &#8221;, $embed2);</p>
<p>//Removed the ending quote from the string.<br />
$embed2 = rtrim($embed2, &#8216;&#8221;&#8216;);</p>
<p>//Replace the link in the $content with the new embedding code.<br />
$newContent = str_replace($url, $embed2, $content);<br />
}<br />
//Remove any extra slashes, if any.<br />
$newContent = stripslashes($newContent);<br />
}</p></blockquote>
<p>oohEmbed caters to a healthy list of media sites. For a full list visit their <a title="oohEmbed" href="http://oohembed.com/" target="_blank">website</a> under the &#8216;configuration&#8217; heading. So far the service has been flawless. I have not put it through any excessive traffic loads, but I&#8217;m sure it can handle it, as the app is hosted through Google App Engine. My only qualm so far with the service is the minor inconsistancy I have experienced in the format the API information is returned in. Otherwise this is an excellent addition to any website and adds more functionality for the users.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanyockey.com/274/featured/oohembed-simplified-video-embedding/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>5 Reasons to Learn Ruby on Rails</title>
		<link>http://www.ryanyockey.com/200/web-apps/5-reasons-to-learn-ruby-on-rails/</link>
		<comments>http://www.ryanyockey.com/200/web-apps/5-reasons-to-learn-ruby-on-rails/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 07:59:18 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[on]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[web app]]></category>

		<guid isPermaLink="false">http://www.ryanyockey.com/?p=200</guid>
		<description><![CDATA[Ruby on Rails has started to come into its own online. Thanks in short to the guys at 37signals and various other companies taking to it so quickly. Heres a few reasons why I will be learning Ruby on Rails for the development of my next web app.

1. The Speed Factor
This is like talking about [...]]]></description>
			<content:encoded><![CDATA[<p>Ruby on Rails has started to come into its own online. Thanks in short to the guys at 37signals and various other companies taking to it so quickly. Heres a few reasons why I will be learning Ruby on Rails for the development of my next web app.</p>
<p><img class="alignnone size-full wp-image-202" title="rubyonrails" src="http://www.ryanyockey.com/wp-content/uploads/2009/06/rubyonrails.jpg" alt="rubyonrails" width="515" height="269" /></p>
<p><strong>1. The Speed Factor</strong></p>
<p>This is like talking about a super hero power or something. From the tests I have read about throughout the net, they have found Ruby on Rails to be faster overall compared to other PHP frameworks. This is a major selling point for me. My ambitions are to build web apps on a large scale. Whats worse than having a great web app, but to only see it dump off in speed when the heavy traffic hits. If right out of the box a framework can handle more traffic at less server cost, then you&#8217;re bound to save money in the long haul for your business. This is part of effective business planning. Although I am aware and have played with faster frameworks, like Pythons Django. I will have to compared the frameworks in a later post.</p>
<p><span id="more-200"></span></p>
<p><strong>2. Instant Resume Booster</strong></p>
<p>To coin the catch phrase of the year, &#8216;In this kind of economy&#8217;, we need to be prepared for the future. Meaning, in case you haven&#8217;t been browsing the market lately, most every decently sized company out there wants an employee who has experience in developing in Ruby. Even more so Ruby on Rails. I keep plenty busy with my private clients and personal projects, but if I have to get out there in the future, I might as well be prepared.</p>
<p>Edit: (Thanks  <a title="Brian NAPCS" href="http://www.napcs.com/" target="_blank">Brian</a>) &#8220;You want Rails to help you get a job? Learn Ruby, submit patches, become known on the net as someone who does Rails. Nobody&#8217;s gonna hire you (for a good job) for just putting it on your resume. Same goes for PHP, Python, and even Javascript.&#8221;</p>
<p><strong>3. The Big Boys Use It</strong></p>
<p>The newest and latest startups like, oh.. Twitter and maybe you&#8217;ve heard of Hulu. Not to say the oldies are bad for using PHP or Java as their base. Since so many big startups are adopting the Ruby on Rails framework, it is probably not a bad idea to learn it. Who knows, your next web app may just be bought out by these social giants.</p>
<p><strong>4. Enrich Your Brain</strong></p>
<p>Why not just learn something to learn it? Of course we&#8217;re all strapped for time, but this is for those guys who have the drive to learn and develop in something totally new.</p>
<p><strong>5. Solid Community</strong></p>
<p>To me so far, the Ruby on Rails community seems helpful and new. Combined with the screencast and documentation, you really can&#8217;t lose. There are more than enough resources for anyone to succeed in developing web apps through Ruby on Rails.</p>
<p>I say make 30 minutes twice a week and dive into it. You may find you really enjoy the language and it isn&#8217;t such a waste of time for you or your goals in life.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanyockey.com/200/web-apps/5-reasons-to-learn-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Baconfile: Twitter File Sharing Made Simple</title>
		<link>http://www.ryanyockey.com/15/featured/baconfile-twitter-file-sharing-made-simple/</link>
		<comments>http://www.ryanyockey.com/15/featured/baconfile-twitter-file-sharing-made-simple/#comments</comments>
		<pubDate>Wed, 29 Apr 2009 07:26:01 +0000</pubDate>
		<dc:creator>Ryan</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[baconfile]]></category>
		<category><![CDATA[file sharing]]></category>
		<category><![CDATA[leah culver]]></category>
		<category><![CDATA[pownce]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.ryanyockey.com/?p=15</guid>
		<description><![CDATA[
Baconfile makes sharing files through twitter simple and easy, while adding a hint of its own social functionality. Baconfile utilizes Amazon&#8217;s cheap S3 service to defray the bandwidth costs and put responsibility of sharing the files on the user. They have plans to make a free version sometime in the future. Baconfile centralizes sharing files [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-18" title="baconfile-full1" src="http://www.ryanyockey.com/wp-content/uploads/2009/04/baconfile-full1.jpg" alt="baconfile-full1" width="540" height="159" /></p>
<p>Baconfile makes sharing files through twitter simple and easy, while adding a hint of its own social functionality. Baconfile utilizes Amazon&#8217;s cheap S3 service to defray the bandwidth costs and put responsibility of sharing the files on the user. They have plans to make a free version sometime in the future. Baconfile centralizes sharing files online with its own <a href="http://tinyb.cn/ch" target="_blank">http://tinyb.cn/ch</a> URL&#8217;s and built in commenting system to increase user interaction.</p>
<p><span id="more-15"></span></p>
<p>Baconfile was created by Leah Culver, the creator/develeoper of the now defunct Pownce.com, using Sinatra (a Ruby framework). Being a former user of Pownce, I missed the ability to send and receive files between people I know and Baconfile is a great start in getting it back.</p>
<p>According to the help page on Baconfile, this is a &#8216;Super Alpha Mode&#8217; release of the app, beware. My experiences using it have been rock solid so far. I did not see any options to have selective sharing of files between users or being able to see where exactly my file had been linked from. The latter can be accomplished with some simple Google searches though. This is me being picky. Baconfile sets out and does exactly what it says it will. We&#8217;ll keep an eye on it and report back when it reaches &#8216;Alpha Mode&#8217;. Baconfile is open for anyone to use and see, give it a shot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ryanyockey.com/15/featured/baconfile-twitter-file-sharing-made-simple/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
