Team, Rohit Mullangi Krishna Gollapudi Mashup: Web mashups are web applications generated by combining content, presentation or application functionality from different web sources. Web Feed : A Web feed (or news feed) is a data format used for providing users with frequently updated content . Rss and Atom are two popular formats of web feeds. Unix Pipeline : A Set of processes chained by their standard streams, so that the output of each process (stdout) feeds directly as input (stdin) of the next one. Component Models: DA type , AI type and GUI type. DA type: It is a type of component which provides the data for the mashup . Examples are rss feeds, Comma separated Value (CSV) files ., etc. AI type: It is a type of component which provides the application logic necessary to complete the mashup. For example webservices or javascript objects can be dealt as AI type components. GUI type: It is a type of component which provides the necessary graphical user interface for the mashup. For example components with html components can be considered as a GUI type component. Editor Pane Projects and samples Output from GME can be viewed in user- specific GUI The Google mashup editor invokes a short java script to perform the geo lookup using Google Maps JavaScript API. Content enricher aspect of the solution is thus tightly coupled. Each pattern is implemented as its own and solution is composed from the individual pieces in yahoo pipes. Content enricher aspect of the solution is thus loosely coupled. GME provides a template based environment for mashup development. - Template example At run time the user defined templates present the data as a webpage. -Result example Yahoo pipes doesn’t allow any templates for mashup development. At run time the result of the mashup is provided in a standard template to the user. -Result example Sort and filter operations are implemented effectively in yahoo pipes. -Sort example - Filter example gm:filter is a tag used for filtering in-built user feeds but not external feeds. gm:sort is also not effectively implemented. -Sort example Example 1: gm:list gm:map gm:handleevent gm:pager Example 2: gm:editbuttons gm:create Example 3: gm:tabs gm:section gm:container Fetch Site Feed Fetch Data Fetch CSV Fetch Auto -Discovery Flickr Note: Annotation of feeds is done to provide a well formed solution to a mashup. For example , Flickr can be searched by the tags filtered from a different rss feed. Yahoo Pipes has a wide variety of output formats. - RSS - JSON - Email Alert - Mobile Alert - KML - PHP Yahoo Pipes give an option to create a badge from the mashup and add it as a gadget to Type Pad, Blogger, iGoogle, Word Press and also embed into any application. In the other hand, Google Mashup editor is away from these advantages. The only output format that comes out of it is as a “.com” web application. The resulting mashup is available for Google reader and igoogle only. Google Mashup Editor: All feeds are converted to Atom format before parsing the information. All gm tags have a “ref “ attribute which uses Xpath query to fetch the data from the feed. Mashups are cached in the backend. Experiments conveyed that Google hits the source approximately in every 10 minute durations. Yahoo Pipes: All feeds are used in the same format as they come in. Mashups are cached in the backend. Even though you hit the mashup frequently, original source is hit only in and about 3 to 17 minute durations. Cross Browser compatibility IE & Firefox CRUD operations on Data Yes, JavaScript API feeds. provides direct access to the DOM and also allows to perform CRUD operations (create, read, update, delete) on data feeds. Debugger No inbuilt debugger, need to install firebug and should use Firefox for this facility. IE7&firefox No, feed is retrieved but CRUD options cannot be performed. Yes, Inbuilt debugger is present and is very useful to compile each module and correct the errors. Component models Interfaces with the component models. Yahoo Pipes supports DA and AL components through operators that provide access to RSS/Atom feeds and external Webservices. All are fixed. DA components have a read-only interface, and external Web services have a Restful interface based on JavaScript Object Notation (JSON) or RSS. GME supports DA, AL, and UI components. Al l are flexible. DA components are typically interfaced via markup, AL components via JavaScript, and UI components via both markup and JavaScript. Output Type DA type outputs are provided . Orchestration Style Flow-based style, defines orchestration as sequencing or partial order among tasks or components and are expressed through flow chart-like formalisms. Support to Exception handling and transactions. GME produces UI output. Event-based approaches use publish–subscribe models. They’re particularly powerful for maintaining synchronized behavior among components. NO Yes Development Software Yahoo Pipes provides a pure visual draganddrop Ajax editor targeted at users with basic programming skills. Browser Requirements Web browser with support for the XMLHttpRequest JavaScript object. Run Time Requirements computes and assembles pipes at the server side. GME’s browser-based textual Ajax editor with syntax highlighting and automatic tag completion is targeted at programmers. Can be fully executed in a standard Web browser. Mashups are executed at the server side and have no particular system requirements. Start up To get a higher level view of the tool and to build a small application. Transition To understand all the features provided by the tool 1 1/2 hr 3 hrs 2 hrs depends on the application. Easily takes about 5-6 hours Build application using most of the feature set 3hrs Depends on the number of modules 4 hrs Debugging is done using firebug. Time taken while building a mashup. Slow, Canvas takes time for the pipes to connect. Sometimes it is frustrating to wait on each action. Fast, Once the program is written it is compiled. Compile time comparison on three mashups with both tools S E C S Amazon: yahoo pipe: http://pipes.yahoo.com/pipes/pipe.info?_id=b92ae575fa91bb19a938380de2ccb0 fe GME : http://amazon.googlemashups.com Deals: yahoo Pipe: http://pipes.yahoo.com/pipes/pipe.info?_id=592e5271d8ffe23733cd3c1ccffbcdaf GME: http://dealsfordemo.googlemashups.com News: yahoo pipe: http://pipes.yahoo.com/pipes/pipe.info?_id=88f607f0a211ce9a807304f5e9e8626 2 GME: http://gnews.googlemashups.com Which tool users have to prefer? 1.Is the expectation that you will quickly have a mashup? Sol: Yahoo Pipes Reason: Gui of pipes is easier to understand for startup mashups. Toughness of mashup is not considered here.( user is layman with no skill set) 2.Does this need to be behind the firewall? Sol: Google Mashup Editor Reason: GME gives user access to DOM object which makes easier to apply security. 3.Do you need guaranteed uptime? Sol: Google Mashup Editor Reason: In our experience, we understood that Google’s network handling mechanism is better than yahoo. If you can ignore this minor problem, then both tools offer guaranteed uptime. 4.Do you need the mashup to be hosted in different applications? Sol: Yahoo Pipes Reason: Pipes let you add your mashup to many other applications like Type Pad, Blogger, iGoogle, Word Press. 5.Do you want the output in different data formats or maps? Sol: Yahoo Pipes Reason: Pipes let you have the output in different data formats like Rss, JSON, KML, PHP. Which tool users have to prefer? 6.What types of inputs do you need to pull? Sol: Depends. Reason: If your are working on data feeds, both tools can handle. But if you are considering to give user specific inputs then GME has an upper hand due to it’s CRUD (create, read , update, delete) feature on any file. 7.Does the user has good programming skills? Sol: Google Mash Up editor Reason: If the user has good programming skills, he/she would prefer to code than to use time consuming GUI to build a mashup. It means that if the user has no programming skills, he/she will be confined with Yahoo Pipes (even though time consuming, does the job perfectly without having to learn new programming language) 8.Need good documentation to learn the skill set of the tool? Sol: Google Mashup Editor Reason: GME has better documentation when compared to Yahoo Pipes. Each concept is clearly explained. In Yahoo Pipes many features are left unexplained to the user. For example: There are four flags shown as radio buttons attached to each rule in REGEX module. These flags are unexplained. Yahoo Pipes and Google Mashup editor are two different but most popular tools to create mashups. They have known differences and known advantages to disadvantages. Choice can be made by your application and one tool can be selected from the options provided in the last two slides.