Showing posts with label yahoo. Show all posts
Showing posts with label yahoo. Show all posts

Wednesday, July 8, 2009

Placemaker by Yahoo - location awareness

What is Placemaker?

Placemaker provides developers with the means to geo-enrich their content, such as web pages, blog posts, feeds, news articles, status updates, and their applications which make use of such information. Placemaker is an open API; it helps developers to make applications and data sets location aware. Placemaker is not a geocoder, it is a geo-enrichment service that assists in determining the whereness of unstructured content and helps make the Internet increasingly hyper local.

How does Placemaker Work?

1. Developers specify structured and unstructured content; feeds, web pages, news, status articles, etc.

2. Placemaker identifies, disambiguates and extracts places

3. Placemaker returns geographic metadata, which determines thewhereness of structured and unstructured content

How do I access Placemaker?

Just as for Yahoo! GeoPlanet, accessing Placemaker is simple:

1. Read the online documentation and user guide atdeveloper.yahoo.com/geo/placemaker/guide

2. Get an Application Id at developer.yahoo.com/wsregapp

3. POST your content towherein.yahooapis.com/v1/document supplying your Application Id.

Is using Placemaker Free?

Yes, Placemaker is an open and freely available geo-enrichment tool; you need to have a valid Application Id but there is currently no formal rate limiting imposed. In the future, we may permit commercial usage with partners under separate terms but we want to ensure that the service remains free, open and available.

Where Does Placemaker Fit in With Yahoo! Geo Technologies’ products?

The Yahoo! Geo Technologies group wants to connect our users with the world around them. Yahoo! is an information and technology company – we collect and create content, and get it into the hands of our users in the most relevant and useful way possible. Geography plays a big part in how we do that; we are always looking at how we can better join the Web world and the real world.

Last May, we released Yahoo! GeoPlanet, which helps bridge the gap between the real and virtual worlds by providing an open, permanent, and intelligent infrastructure for geo-referencing data on the Internet. You can learn more athttp://developer.yahoo.com/geo/.

In the fall, we introduced Fire Eagle, which acts as a location broker that allows users to take their location to the Web. Users have complete control over their data with Fire Eagle: they choose which third-party applications to share their location with, and at what resolution or granularity they wish to expose it –- as broad as country or state, to as detailed as a long/lat coordinate, and everything in between. More information is athttp://fireeagle.yahoo.net/.

Now, with Placemaker, we can help developers and publishers make applications and data sets location-aware by determining thewhereness of unstructured content. Once users share their location information using FireEagle, we help provide hyper-local information based on their geography, adding value to content that is delivered to them wherever they are.

The bottom line is that location-aware systems provide a more topical, more relevant user experience. When users interact with the Internet and, more specifically, with Yahoo!, we aim to provide them with the most geo-relevant information available.

Placemaker and Privacy

Privacy on the Internet is an important issue and one which Yahoo! Geo Technologies takes very seriously. There are no privacy concerns or issues with Placemaker; the web service acts on content which is already available on the Web, it does not act on a user’s location.

How do I Find out More?

If you visited the Yahoo! booth at Where 2.0 you may have seen our Placemaker handout, but if you’ve lost this or weren’t lucky enough to be at Where 2.0 you can download a PDF copy of it here. Other Geo Technologies and Placemaker resources include:

Yahoo Query Language for developers who enjoys webservice

What is YQL?

The Yahoo! Query Language is an expressive SQL-like language that lets you query, filter, and join data across Web services. With YQL, apps run faster with fewer lines of code and a smaller network footprint.

Yahoo! and other websites across the Internet make much of their structured data available to developers, primarily through Web services. To access and query these services, developers traditionally endure the pain of locating the right URLs and documentation to access and query each Web service.

With YQL, developers can access and shape data across the Internet through one simple language, eliminating the need to learn how to call different APIs.

How Do I Get Started?

  1. Check out the YQL Console.
  2. Read how to access YQL from your application.
  3. Get your API Keys to sign your requests if you need them.

Using the API or Web Service

  • YQL Overview

    YQL exposes an SQL-like SELECT syntax that is both familiar to developers and expressive enough for getting the right data. Through the SHOW and DESC commands, we enable developers to discover the available data sources and structure without opening another Web browser.

  • YQL Open Data Tables

    Open Data Tables enable developers to add tables for any data on the Web to our stable of API-specific tables. Using Open Data Tables, anyone can make their data YQL-accessible. If you would like to create an Open Data Table, visit the community page at http://datatables.org.

    Examples:


  • YQL Execute

    Building upon Open Data Tables, the Execute element gives developers full control of how the data is fetched into YQL and how it's presented back to the user. With Execute, developers can build tables that manipulate, change, and sign the URLs to access almost any protected content. This lets YQL access and combine data across a variety of different authenticated services such as Netflix or Twitter. Developers can call multiple services and data sources within Execute to join and mash up data however they desire, letting Yahoo! do the work rather than their applications. Data can be tweaked and manipulated into an optimal format for applications to consume.

    Execute elements run server-side JavaScript with E4X (native XML) support. This gives developers a fully functional language that Web developers know, and lets them do almost anything they want with the data. We've added a few new global objects to the language to enable developers to: include JavaScript libraries and code from any URL; fetch data from any URL/Web page; run other YQL commands; and perform data filtering and conversion.

    Examples:

    • CSS selectors for HTML - a CSS selector table for getting data from HTML pages

      use "http://yqlblog.net/samples/data.html.cssselect.xml";
      select * from data.html.cssselect;

      Try CSS selectors.

    • Unified web+image search - perform a BOSS search that also returns an image from the BOSS image search for the same site and query term in a single result set

      use 'http://yqlblog.net/samples/search.imageweb.xml' as searchimageweb;
      select * from searchimageweb where query='pizza'

      Try Unified web+image search.

      • YQL Insert/ Update/ Delete

        You can use YQL to write and modify data on Web services and applications using SQL keywords: INSERT, UPDATE, and DELETE. These verbs let you manipulate data mapped onto an Open Data Table and enables developers to use Open Data Tables to do the following:

        • insert new Twitter status messages, not just list them
        • add new comments to a blog, as well as read them
        • store data in a remote database
        • INSERT INTO Internet

        Open Data Table (ODT) developers can add support for these verbs into their tables by creating new binding types in their ODT definitions. They can then perform the insert/update/delete on the remote web service by creating an execute element that runs their JavaScript to create the right content payload and send it to the remote service. We've extended the capabilities in our server-side JavaScript, so y.rest() can now POST, PUT and DELETE.

        Try creating a new tweet from the YQL console by following this link:
        use 'http://www.yqlblog.net/samples/twitter.status.xml'; insert into twitter.status (status,username,password) values ("Playing with INSERT, UPDATE and DELETE in YQL", "twitterusername","twitterpassword")

      Usage limits

      YQL has the following API usage restrictions:

      Per application limit (identified by your Access Key):

      • 100,000 calls per day.

      Per IP limits:

      • /v1/public/* 1000 calls per hour
      • /v1/yql/* 10000 calls per hour

      All rates are subject to change. In addition, you may also be subject to the underlying rate limits of other Yahoo and 3rd party web services.

      Please contact yql-questions [at] yahoo-inc.com with requests for additional limits and information.