Les nouveautés et Tutoriels de Votre Codeur | SEO | Création de site web | Création de logiciel

seo Customize your results snippets with structured data 2013

Seo Master present to you: Custom Search themes make it easy for you to customize the look and feel of your search results pages. And if you want to take the customization gig further, you can also customize the result snippet—a small sample of content that gives search users an idea of what's in the webpage—by using structured data.

When you are reading a webpage that reviews a film, you can figure out what the title is, what reviewers thought of the film, and how they rated it. You can even search for stores with the best prices for the DVD. Structured data can convey the meaning of such key information to computers.

Structured data formats—such as microformats, RDFa, and PageMaps—are semantic markup that you add to your HTML page. Structured data make web content more meaningful to machines. These attributes do not change the formatting of your website, they just make the text enclosed within the XHTML tags "understandable" by computers and influence what shows up in the result snippets.

When you tag your webpages with structured data, Custom Search indexes them and sends the metadata back in the XML results for your page. You can then take this XML feed and transform it into HTML results that showcase key information—such as image thumbnails, summaries, dates, authorship, ratings, and prices. Having the most relevant information in your search results makes the webpages in your site more compelling to your users.

You can, for example, create the following kind of rich snippets:


You can even add thumbnails and actions that let your users download files or make purchases.


To learn more, read the Custom Search Developer's Guide.

2013, By: Seo Master

seo Introducing GTFS-realtime to exchange realtime transit updates 2013

Seo Master present to you:
By Vladimir Rychev, Software Engineer

Cross-posted with the Google LatLong Blog

In June, we launched Live Transit Updates, a feature that adds realtime public transport information to Google Maps and Google Maps for mobile. This feature is powered by the GTFS-realtime feed format. Today we’re making the specification of this format public on Google Code. GTFS-realtime allows public transport agencies to provide realtime updates about their fleets. If you’re developing a trip planner or similar application, you can process these feeds and keep your users up-to-date with realtime information.

GTFS-realtime is an extension to GTFS, the General Transit Feed Specification, published by Google in 2006. Nowadays, GTFS is a very commonly used feed format that public transport agencies use to (publicly) provide their transport information. As opposed to GTFS feeds, GTFS-realtime feeds contain very dynamic information. This means that they have to be updated frequently and applications that use them have to fetch them frequently as well. This requires a significant infrastructure from the transport agency’s side, but it results in a continuously updated description of the current situation.

The specification currently includes three types of realtime updates: Trip Updates, Service Alerts and Vehicle Position updates. Each type of update has to be provided in a separate feed, and can be used independently.

Trip Updates are a way to present changes in the timetable. When a trip is delayed, canceled, added, or re-routed, a Trip Update can be used to provide this information in real time. Service Alerts can be used to notify passengers about special circumstances in the public transport network. In a Vehicle Position update, an agency provides the current location of an individual vehicle.

To encode realtime updates, Protocol Buffers are used. Protocol Buffer data structures can be processed very efficiently, resulting in low processing times compared to other popular data encapsulation standards. Because Protocol Buffers are compressed, they also use communication bandwidth efficiently. Protocol Buffers are very easy to work with, and there are libraries available for many programming languages.

The specification was designed through a partnership of the initial Live Transit Updates partner agencies, a number of transit developers, and Google. It has been published under the Creative Commons Attribution 3.0 license, the same license used for GTFS. You can discuss the specification and propose changes in the discussion group.

MBTA (Boston) and TriMet (Portland) have already made their GTFS-realtime feeds available for use in your applications. BART (SF Bay Area) and MTS (San Diego) have committed to making their feeds available in the future as well. We hope that many more agencies will follow!

Vladimir Rychev is a Software Engineer on the Google Transit team in Zürich. Before moving to Switzerland Vladimir taught kids at the Moscow 57th school, traveled the world from Cuba to Kazakhstan and entered programming contests from ICPC to topcoder.

Posted by Scott Knaster, Editor
2013, By: Seo Master

seo Yahoo! Pipes and the HTML5 canvas tag 2013

Seo Master present to you: This post is part of the Who's @ Google I/O, a series of blog posts that give a closer look at developers who'll be speaking or demoing at Google I/O. Today's post is a guest post written by Paul Donnelly and Jonathan Trevor of the Yahoo! Pipes team.

Yahoo! Pipes is a free online service that lets you remix popular feed types (json, xml, rss, and atom) and create data mashups using a visual editor. You can use Pipes to run your own web projects, or publish and share your own web service without ever having to write a line of code. Pipes also allows you to create feeds from web sites that don't provide RSS/XML by extracting data straight from the HTML document. In this post, we'll talk about how the Pipes editor uses the HTML5 canvas tag extensively, challenges we faced using the canvas tag and a few solutions we came up with to address said challenges.

Pipes is widely known for its visual editor that allows you to drag pre-configured modules onto its canvas and wire them together:


We use the canvas tag to create the fluid, draggable wiring to connect modules. The thumbnails of Pipes on the Browse and My Pipes sections aren't jpegs - we use canvas to "draw" them dynamically from the Pipe definition.



Since the iPhone's web browser supports the canvas tag, we were able to use the same code to generate the thumbnails for our iPhone version.

The Pipes editor is where all the visual programming is done. By dragging modules to the workspace, you can set up a visual workflow of what you want processed. To complete the flow, you need to connect the modules in the sequence you want. At the bottom or top of the modules are terminals, where you connect the wires from one to the other. The terminals are typed, meaning you can only connect an output to an input that has the same type.

The canvas tag is a HTML tag that provides a fixed drawing area that can be used to draw graphics. The tag is manipulated using Javascript to create 2D drawing primitives such as lines, circles, polygons and even gradients. While many browsers support the canvas tag natively, some do not. For example, IE does not support canvas natively. To address this, IE uses a canvas wrapper, excanvas (created by Google) to ensure full cross-browser compatibility.

The canvas tag enabled us to leverage the built-in capabilities of CSS and the DOM for the rest of the interface while still providing us with 2D drawing capabilities. We observed a few issues with the canvas tag that developers should be cognizant of when considering to use it in their applications:
  • There are cross-browser issues related to resizing the canvas tag once it's been created. In Firefox you're ok. In Safari, you need to destroy and re-create the region to get the canvas to draw properly. With IE, the region doesn't clear and redraw automatically.

  • In the canvas element you can't say, "this line being drawn should be this class". There is no separation between the presentation and the markup. It has to be programmatically done and it's cumbersome to keep tweaking JS code to change the look and feel of what is being rendered. So how do you tell the canvas what style of wire to draw? We chose to use the styles of the source and target terminals to infer the wire styles in their CSS. We put the configuration of the wire style (color, width, thickness etc..) into the background image filename of each terminal which the JavaScript could parse to create a compatible render style for our canvas wires.

  • Performance rapidly decreases with size, especially with other overlapping DOM elements such as many transparent elements and other canvas tags. There is a tradeoff therefore between using one canvas tag with many wires or one canvas for each wire. The latter worked better for our usage within the Pipes editor.

  • There are no "canvas" events about the "inside" of the canvas, It's just a 2D layer, and mixing DOM elements with canvas has significant event occlusion issues. Even if you are only drawing a wire within the canvas rectangle, anything under the canvas won't see events (mouseover, click etc) as the bounding box acts like any other element. This issue involved the most iterations in our interaction design. Initially we wanted the wires above the modules, but because of the event occlusion that the canvas tag created, we couldn't do a drag/drop (since the targets were always "under" the canvas). Since the wires had to be on the bottom, we then tried making the Pipes' modules themselves semi-transparent. Not only does this give a faded out look to the whole page, but many transparent elements create significant rendering performance issues. We finally picked a solution that kept the wires under the modules and when mouse-overing the canvas containing the wire bounding box, we made the modules connected to either end of the wire in the canvas semi-transparent using animation. This allows parts of the UI to show the wiring flowing around and under modules when the user focuses (by moving the mouse over) on a wire.


If you would like to learn more and talk with us about the pros and cons of canvas and some of the interesting challenges above, visit us at the Developer Sandbox at Google I/O coming up in a couple weeks.

2013, By: Seo Master

seo Introducing the Google AJAX Feed API 2013

Seo Master present to you: Posted by DeWitt Clinton, Google Developer Programs

The AJAX Search team launched a new API this morning that introduces a subtle, yet powerful new way to integrate syndicated content into your web applications.

The Google AJAX Feed API provides functionality that allows webpages to retrieve any public RSS or Atom feed via a simple JavaScript method call. The data can be retrieved in either JSON or XML format, enabling web applications to easily mash up and consume the contents of public feeds. Some of the best content on the web is being syndicated over RSS and Atom channels; this API should help web developers quickly integrate rich external data sources into their web applications, while leveraging Google to do the the heavy lifting of crawling, caching, and content normalization.

Read more on the AJAX APIs blog, join the discussions in the developer forum, or see an example to get you started.2013, By: Seo Master
Powered by Blogger.