Yahoo! Developer Network Updates (Third Podcast)


This is the third “State of the Yahoo! Developer Network” podcast with Gene Crawford of unmatchedstyle.com. In this episode we talk about the new Yahoo! Firehose for accessing 1 million + social updates per day, the sketch-a-search iPhone search app and Yahoo! Entertainment iPad app, as well as reviewing updates and plans for YQL.

 

 

- Jonathan LeBlanc

  • Share/Bookmark


I’m speaking at Open Source Bridge


I'm speaking at Open Source BridgeI just received confirmation that one of my proposals (the YQL talk) was accepted for Open Source Bridge in Portand, Oregon from June 1-4. If you’re heading out to the conference let me know on twitter so that we can meet up at the conference.

 

I’m hoping to provide some live demos of YQL and build out some real use cases around using open data to build out applications. We have some great data that the community would be interested in within YQL including government data, geo targeting tables, as well as many others. Below is the presentation I will be delivering at the conference:

 

Title: SELECT * FROM Internet Using YQL
Link: http://opensourcebridge.org/proposals/379

 

Excerpt:

Treating the internet and all its sources as a database, YQL seeks to allow developers to explore government, social, api and all other external data in a standardized way. Further allowing developers to manipulate this data and mash different sources together, YQL works to open up the web and all its sources.

 

Description:

The Yahoo! Query Language provides a rich and dynamic method for obtaining and manipulating data from any source or API on the internet – with YQL the internet becomes your database. Using the simplified SQL syntax that YQL is based in, YQL seeks to open all data on the web into a standardized format. Manipulating and mashing up sources as if they were tables, YQL becomes a repository for exploring government, event, social and API data on the web.

 

This talk will cover the core techniques within YQL, including server-side JavaScript with native E4X support for manipulating data, key / value pair data storage and the process of creating your own YQL tables for accessing web based content. Going further with the integration of the open authentication standards defined by OAuth, we’ll delve into advanced authentication techniques using this standard within YQL.

 

- Jonathan LeBlanc

  • Share/Bookmark


New Slideshare Slideshows YQL Table


I’m in the process of building out a new personal site which will use YQL to pull in all of my recent photos, slideshows, events, etc. from the different sites I use to build out the content of the website. This task has led me to create a new YQL table to wrap the slideshow RSS feed to display the slideshows of a user.

 

This new table is available at http://github.com/yql/yql-tables/blob/master/slideshare/slideshare.slideshows.xml for the time being until it becomes available in the community tables in the YQL Console. You can test the new table out in the console by using the USE clause as displayed here. The feed that will be available to a developer using this table will look like the below:

 

 

- Jonathan LeBlanc

  • Share/Bookmark


My Proposals at Open Source Bridge 2010


I’m Submitting a Talk to Open Source Bridge – June 1–4, 2010 – Portland, OR

The Open Source Bridge conference will be going on from June 1-4, 2010 in Portland, Oregon. This conference would be a great opportunity to explore open source development and techniques in the industry. Open Source conferences like this are very important for the promotion of open development products and pushing web standards. If you have an opportunity to make it out to this conference I would definitely suggest heading out their way.

 

I’ve submitted two proposals to the conference for this year:

 

- Jonathan LeBlanc

  • Share/Bookmark


Building Flickr URLs from YQL flickr.photos.search Results


After having to build out the URL structure from the Yahoo! Query Language (YQL) results returned by the flickr.photos.search table yet again, I’ve decided to actually document how to generate Flickr URLs using the results returned from YQL.

 

When we use YQL the structure of results returned by a Flickr photo search contains all of the pieces that you will need to generate a whole series of author and photo links with Flickr, but it does not go the extra step of returning these links back to you. For instance, if we run a Flickr photo search query within the YQL (e.g. http://developer.yahoo.com/yql/console/?q=select%20*%20from%20flickr.photos.search%20where%20has_geo%3D%22true%22%20and%20text%3D%22san%20francisco%22) the result set that is returned back from YQL from flickr.photos.search looks something like this:



    
true
        
        445
        444
        5275
    
    










    

 

Now let’s take a look at how to do something with those data pieces.

 

Generating an image source
Using the farm, server, id and secret parameters from the result set, we can generate an image source that will display the searched image. The structure of the source using these parameters will look like:

<img src='http://farm{$farm}.static.flickr.com/{$server}/{$id}_{$secret}.jpg' alt='{$title}' />

 

Generating a link back to the photo page on Flickr
Under the terms of service, all photos that you use from Flickr will need to link back to the Flickr photo page of the owner. Using the owner and id parameters from the result set, we can generate a link back to the Flickr page for the searched image. Building upon the image source that we built above, we can wrap the image with a link that sends the user back to the original image page on Flickr:

<a href='http://www.flickr.com/photos/{$owner}/{$id}' target='_blank'>
<img src='http://farm{$farm}.static.flickr.com/{$server}/{$id}_{$secret}.jpg' alt='{$title}' />
</a>

 

Generating a link back to the photo owner’s profile
It’s always nice to provide a credit for the photo by linking back to the root profile of the photo owner (instead of just the photo page that we saw above). By using the owner variable in the photo return data, we can easily create a link back to the profile of the photo owner and give him/her credit. Building upon our current linked photo example, we can add in one more piece to do this:

<a href='http://www.flickr.com/photos/{$owner}/{$id}' target='_blank'>
<img src='http://farm{$farm}.static.flickr.com/{$server}/{$id}_{$secret}.jpg' alt='{$title}' />
</a>
<a href="http://www.flickr.com/photos/{$owner}" target="_blank">Photo Owner</a>

 

Now let’s see how to code a script in PHP that will output the photos wrapped in links back to their original sources (as seen in the second example above listed as “Generating a link back to the photo page on Flickr”). What we do in the code below is generate the YQL query URL, capture the results into a variable using simplexml_load_file, then pass the array of photos through to a function to build the HTML for us.

<?php
$yql_url = 'http://query.yahooapis.com/v1/public/yql?';
$query = 'SELECT * FROM flickr.photos.search WHERE has_geo="true" AND text="san francisco"';
$query_url = $yql_url . 'q=' . urlencode($query) . '&format=xml';

$photos = simplexml_load_file($query_url);
$result = build_photos($photos->results->photo);
echo $result;

function build_photos($photos){
    $html = '';
    if (count($photos) > 0){
        foreach ($photos as $photo){
            $html .= "<a href='http://www.flickr.com/photos/{$photo['owner']}/{$photo['id']}' target='_blank'><img src='http://farm4.static.flickr.com/{$photo['server']}/{$photo['id']}_{$photo['secret']}.jpg' width='75' height='75' alt='{$photo['title']}' /></a>";
        }
    } else {
        $html .= 'No Photos Found';
    }
    return $html;
}
?>

These are easy ways of displaying Flickr photos and links based on the results returned from the flickr.photo.search table in YQL. They’re simple examples but worth documenting so that you don’t need to go through the hassle of pieces the URL structures together on your next project.

 

- Jonathan LeBlanc

  • Share/Bookmark


Confoo Conference Screencasts and Overview


A few weeks ago I was out in Montreal, Quebec for the Confoo.ca Conference. This conference tied in many technology groups under one roof – PHP Québec, Montréal-Python, Montréal on Rails, W3Qc and OWASP Montréal – all congregating at the Hilton Bonaventure Hotel in downtown Montreal. From what they told us, the conference had: 500 session proposals, 100 speakers, 130 sessions, and 250 visitors over a three-day period.

 

While I was out there I gave a few presentations on some of the great technology coming out of Yahoo. On Friday I ran through a talk on “Browser MVC with YQL and YUI,” highlighting the highly extensible nature of YQL to accept design patterns such as MVC and visualization and controller capabilities built into technologies such as YUI. This is a screencast with the presentation as the audio overlay – if you missed the talk then you can catch it below.

 

The other talk I gave (on Wednesday afternoon) “Foundations of a Social Application Platform”, had to do with some of the core technologies behind social platforms like YAP, MySpace and Facebook. This is a look in from the perspective of a developer and is taken from the years of work we’ve invested in developing applications on many social networks. Below is the screencast from the presentation:

 

During the conference I had a chance to meet up with Asher Snyder (EVP of Technology) and Philip Ross (VP of Engineering) who work on a very interesting PHP Framework called NOLOH (Not One Line Of HTML). Asher ran me through the foundations and functionality behind the makeup of the framework. I can definitely see the potential of NOLOH for server-side engineers who don’t want to deal with the front-end code and functionality of a site or web application. NOLOH integrates a rich set of widgets to rival many of the JavaScript libraries out there . When I asked about the performance of the framework Asher assured me that includes are added in as they are needed, speeding up initial page load. I unfortunately had to miss his talk because it overlapped one of my own but Asher sent by a screencast. One of the other nice pieces of the framework that I saw were the listeners that allow you to tie in a data request for the transport layer. At the end of the screencast Asher ties in flickr photos into his listener but I was thinking of the potential of integrating that with the dynamic data fetching capabilities of YQL. Take a look at “NOLOH PHP Framework – Unified Server Side Development“, and see for yourself.

 

 

Diving into the innards of SQL and the uses of EXPLAIN we had an expert presentation from Sheeri Cabral of Pythian on “Bending Queries to Your Will with EXPLAIN” (A.K.A Optimizing Queries with EXPLAIN). These are some great slides for all you database administrators out there.

 

I can’t dive into all of the talks that were given but if more information is what you’re looking for then take a look at these links:

 

- Jonathan LeBlanc

  • Share/Bookmark


Confoo Conference (Montreal, QC)


confoo.ca Web Techno Conference

From March 10th to 12th, 2010 I will be in Montreal, Quebec (Canada) for Confoo at the Hilton Montreal Bonaventure Hotel. I’ll be presenting a few topics while I’m there:

 

Browser MVC with YQL and YUI
The Yahoo! Query Language provides a rich and dynamic method for obtaining and manipulating data from any source or API on the internet – with YQL the internet becomes your database. Coupling the data backend of YQL with the extensive visualization and flow techniques of JavaScript through libraries such as YUI, a developer can build powerful widget and data systems using the simplified SQL syntax that YQL is based in. The marriage of YQL and JavaScript brings a robust MVC interface to the browser.

 

This talk will cover the core techniques within YQL, including server-side JavaScript with native E4X support for manipulating data, key / value pair data storage and the process of creating your own YQL tables for accessing web based content. Building upon this core, design concepts such as those of a Model View Controller pattern will be introduced to display methods for taking the base data and merging that with front-end libraries to build out production level applications.

 

The Foundations of an Application Platform
Application platforms, such as the Yahoo! Application Platform (YAP), Facebook, or Myspace, have become a core foundation of social web infrastructures. When constructing a platform to run applications, numerous layers of security and technology need to work off of each other in order to generate a secure, versatile system.

 

This talk will cover the core technologies behind the creation of a platform to host 3rd party applications. We will explore open technologies such as OpenID and OAuth for user verification, OpenSocial for architecture implementations, and the use of front-end security implementations such as Caja. This will explore the benefits and exploits from each of the implementations and the importance of open source technologies.

 

If you’re coming out to Confoo or are in the area and want to meet you send me a message. You can reach me on twitter @jcleblanc

 

- Jonathan LeBlanc

  • Share/Bookmark


Yahoo! Developer Network Updates (Second Podcast)


This is the second “State of the Yahoo! Developer Network” podcast with Gene Crawford of unmatchedstyle.com. In this episode we cover the recent upgrades to YQL and YUI, upcoming University hack events and the open source technologies being made available by Yahoo! such as traffic server, YUI gallery and BrowserPlus.

 

 

Podcast Links
YQL Upgrade
YUI 3 Open Source gallery on github
BrowserPlus open source on github
Traffic Server open source on Apache

 

- Jonathan LeBlanc

  • Share/Bookmark