Introduction to Yahoo Open Applications
Sunday, October 11th, 2009Last week I was in Paris for a Yahoo Developer Network evening and Paris Web and one of the talks I gave was an introduction to Yahoo Open Applications. These are applications that you can embed in the Yahoo homepage or My Yahoo and thus allow you to reach millions of users – or extend the Yahoo homepage with your own personal app. Here are the slides and the audio recording of the talk delivered by Sophie Davies-Patrick (aka “my boss”) and me at La Cantine in Paris:
Yahoo Open Applications use the Yahoo Application Platform – YAP. In essence, you write a small app using CSS, JavaScript and HTML and it will get embedded into the Yahoo Homepage.
TweetTrans – translate Twitter updates
The example I showed was a tool that adds little translation links to a Twitter stream:
The code of TweetTrans is available on GitHub and I’ve built it initially as a bog-standard Ajax web application.
The main step afterwards was to convert the app over. This is less hard than it seems upfront but the fact that YAP uses Caja to make the whole application more secure means you need to restrict yourself. Things you cannot use are:
Caja and HTML
- Custom attributes
- Custom tags
- Unclosed tags
- EMBED
- IFRAME
- javascript:void(0)
- Radio buttons in IE
- Relative URLs
Caja and CSS
- star hacks
- _ hacks
- IE conditionals
- Insert-after clear fix
- expression()
- @import
- Background images in IE
Caja and JavaScript
- eval()
- new Function()
- Strings as event handlers (node.onclick = ‘...’;)
- Names ending with double / triple underscores
- with function (with (obj) { ... })
- Implicit global variables (specify var variable)
- Calling a method as a function
- document.write
- window.event
- OpenSocial gadgets.io.makeRequest return JS
Get the SDK
The easiest way to build Yahoo Open Apps is to use YML which is a markup language that gives you access to the Yahoo social connections and creates Ajax functionality for you without having to write any JavaScript.
If you want to use the full Yahoo social stack the best place to start is to download the SDK which makes the oAuth authentication very easy for you.
Distribution
Once you have your app done you can easily make people install it by sending them a link. This link contains the application ID. In the case of TweetTrans this is:
http://yahoo.com/add?yapid=zKMBH94k
More info
To get more information, check out the YOS section on the Yahoo Developer Network and the forums on YAP.