Slideshare.net (beta)

 

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 10 (more)

plumbing for the next web

From cubicgarden, 1 year ago

The next web will be about flow, this flow will be user generated more

3465 views  |  0 comments  |  10 favorites  |  185 downloads  |  2 embeds (Stats)
 

Tags

pipelines pipes media yahoo blogwave touchstone xproc apml flickr blip.tv

more

 
 

Groups / Events

 

 
Embed
options

More Info

CC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs LicenseCC Attribution-NonCommercial-NoDerivs License
This slideshow is Public
Total Views: 3465
on Slideshare: 3439
from embeds: 26

Slideshow transcript

Slide 1: Pipelines: plumbing for the next web Ian Forrester backstage.bbc.co.uk cubicgarden.com

Slide 2: Overview In depth discussion of the abstract concept of flow * • Not discussing the merits of UNIX or XML pipelines • Assumes an understanding of a pipe and pipeline •

Slide 3: Imagine. . . Processing data from your local machine with data • on-line Chaining together services you use regularly • Automating the process so it ran at convenient • times Not requiring programming knowledge • A process that is open, extensible and sharable •

Slide 4: The Landscape

Slide 5: Hot on the Horizon REST APIs are dotted all over the landscape • Web applications are opening up • Useful web services with revenue models • RSS and ATOM feeds are becoming ubiquitous • Desktop search is standard in Vista and OSX • Widgets and Gadgets are becoming useful • New projects to organise desktop meta-data •

Slide 6: REST XML API Everywhere

Slide 7: REST XML API Everywhere

Slide 8: Opening Up the Silos

Slide 9: Opening Up the Silos

Slide 10: Web Services with Revenue Models

Slide 11: Ubiquitous Feeds

Slide 12: Widgets and Gadgets

Slide 13: Desktop Search

Slide 14: Semantic Desktop projects

Slide 15: Semantic Desktop projects

Slide 16: File System Meta-data

Slide 17: How People are Building Things Particls • Automator • Yahoo Pipes •

Slide 18: Touchstone / Particls Particls: An alerts/updates and attention • management platform Ingests many different input sources via input • adapters Works out importance of new information to the • user and displays a proportional alert Alerts take many forms based on urgency and relevancy • levels Alerts are controlled with output adapters. •

Slide 19: Particls

Slide 20: A Pipeline Application

Slide 21: XML Configurations

Slide 22: Outline Processing Markup Language (OPML)

Slide 23: Attention Profiling Markup Language (APML)

Slide 24: Particls Internals

Slide 25: Learning from Particls Particls Limitations: • Main purpose is an alert and attention engine • No standard underline definable language • Not sharable outside of the pipes application • Choice of inputs and outputs limited • No automation • Semi-proprietary • Particls Highlights • Breakthrough web application • GUI has all the right elements • Form level abstract is great • Cloning pipes is very smart • Pushing new attention markup standard •

Slide 26: Automator A beautiful graphical user interface for Applescript • “Accomplish all of your time-consuming, repetitive manual • tasks quickly, efficiently and effortlessly with Automator Workflows. It’s simple to create custom Workflows just by dragging items, pointing and clicking. Perform the task once using your Automator Workflow or many times — even share Workflows with friends.” Apple.com •

Slide 27: Apple Automator

Slide 28: Automator

Slide 29: Applescript

Slide 30: Automator Internals

Slide 31: Learning from Automator Automator Limitations • Proprietary • Requires Applescript • Underlying definable language non-XML based • Works better as automation software • Not natively web enabled • Automator Highlights • Break through desktop application • Powerful Gui • Form level abstract is great • Great automation • Sharing of scripts very simple • Choice of inputs and outputs extensible via code •

Slide 32: Yahoo Pipes New beta service that enables users to create • mash-ups with a graphical user interface Mash-ups can be saved so other people can edit • and re-use them Still geeky but easier than creating mash-ups by • coding “a milestone in the history of the Internet\" - Tim O'Reilly •

Slide 33: Y! Pipes

Slide 34: Y! Pipes s

Slide 35: Y! Pipes

Slide 36: Y! Pipes Internals

Slide 37: Learning from Y! Pipes Yahoo! Pipes Limitations • Only has access to data and content on-line • No XSL transformations • No standard underlying definable language • Not sharable outside of the Y! Pipes application • Choice of inputs and outputs limited • No automation • Proprietary • Yahoo! Pipes Highlights • Breakthrough web application • GUI has all the right elements • Form level abstract is great • Cloning pipes is very smart •

Slide 38: Fitting the Puzzle Together Combine: • Underlying XML definitions of Particls • Slimline and smooth look of Particls • Form control of Automator Power and control of Automator • Visual pipeline GUI of Yahoo! Pipes • Automation of Automator • Sharing of Automator and Yahoo! Pipes •

Slide 39: flow *

Slide 40: So what is flow*?

Slide 41: flow *

Slide 42: flow *

Slide 43: The flow * System

Slide 44: Adding Widgets to the Mix

Slide 45: Separate the Desktop API

Slide 46: But. . .there is no flow * flow * currently does not exist • flow * is not just an application • flow * is not just a service • flow * is a combination of good practices served up • for the power users

Slide 47: My Current flow * Setup

Slide 48: More Configuration Ideas

Slide 49: More Configuration Ideas

Slide 50: More Configuration Ideas

Slide 51: Flow* is. . . The glue that allows you to break out of the silos • on-line and off-line The ability to pipe services together using their • APIs and feeds as though programming code or interacting with the site directly XPROC documents with namespaces elements (User-generated Pipelines) Three levels of abstraction in one file •

Slide 52: Core User-generated Pipeline Principles Definable • Core pipeline defined as XML • Graphical • Levels of abstraction from the XML • Standard • Using the new W3C standard XPROC • Shareable • As easy to share as a OPML file • Open • Can be extended and plugged into widget engines • Non-proprietary • No lock-in, uses standard web and XML technologies •

Slide 53: Three Levels

Slide 54: Three Levels of Abstraction

Slide 55: Three Levels of Users, One Purpose

Slide 56: XPROC Level

Slide 57: Pipe GUI Level

Slide 58: Task Level

Slide 59: Pipelines Options

Slide 60: The Current Landscape

Slide 61: Particls: An Attention Platform

Slide 62: Automator: Strictly for OSX Only

Slide 63: Y! Pipes: No Access to the Local System

Slide 64: Y! Pipes: Could Access Local System

Slide 65: Yahoo widgets authenticator

Slide 66: Securing the Desktop and Cloud

Slide 67: Y! Pipes: All the Right Elements

Slide 68: Microsoft just around the corner?

Slide 69: Pipelines

Slide 70: User-generated Pipelines Pipelines generation is only limited by our own • creativity and the APIs available XPROC feeds Flow* like Javascript feeds • Greasemonkey User-generated Pipelines could be... • XPROC+SVG+XFORMS • XPROC+XUL • XPROC+RDF+XFORMS • XPROC+FlexML • XPROC+XHTML •

Slide 71: Pipeline Example

Slide 72: Pipeline Example

Slide 73: Complex Pipeline Example

Slide 74: Complex Pipeline Example

Slide 75: Complex Pipeline Example

Slide 76: The Ecosystem of the API

Slide 77: No fully functional API? Forget it now... your dead •

Slide 78: Described in XPROC (part 1) <?xml version=\"1.0\" encoding=\"UTF-8\"?> <p:pipeline name=\"encoder example\" xmlns:p=\"http://www.w3.org/2007/03/xproc\"> <p:input port=\"video\" href=\"file://///127.0.0.1/my videos/\"/> <p:choose name=\"free-or-pay\"> <p:when test=\"form:///encoder.dropdown='yes'\"> <p:output port=\"http://www.amazon.com/ws/ec2\"> <p:parameter name=\"amazon/ec2image\" value=\"video-encoding\"/> <p:parameter name=\"amazon/encodeto\" value=\"flv\"/> <p:parameter name=\"amazon/encodeto\" value=\"h.264\"/> <p:parameter name=\"amazon/encodeto\" value=\"mpeg4\"/> <p:parameter name=\"amazon/account\" value=\"form:///amazon.account\"/> <p:parameter name=\"amazon/password\" value=\"form:///amazon.password\"/> <p:parameter name=\"amazon/accesskey\" value=\"form:///amazon.accesskey\"/> <p:parameter name=\"amazon/piority\" value=\"1\"/> </p:output> </p:when> <p:when test=\"form:///encoder.dropdown='no'\"> <p:output port=\"http://www.heywatch.com/\"> <p:parameter name=\"encode\" value=\"flv\"/> <p:parameter name=\"encode\" value=\"h.264\"/> <p:parameter name=\"encode\" value=\"mpeg4\"/> <p:parameter name=\"login\" value=\"form:///account\"/> <p:parameter name=\"password\" value=\"form:///password\"/> </p:output> </p:when> <p:otherwise> <p:output port=\"local://start.loocal.application\" href=\"file://///127.0.0.1/C/program files/mediacleaner/mediaclean.exe\"/> </p:otherwise> </p:choose>

Slide 79: Described in XPROC (part 2) <p:choose name=\"stoarage-options\"> <p:when test=\"form:///storage.selector='amazon'\"> <p:output port=\"http://www.amazon.com/ws/s3\"> <p:parameter name=\"amazon/account\" value=\"form:///amazon.account\"/> <p:parameter name=\"amazon/password\" value=\"form:///amazon.password\"/> <p:parameter name=\"amazon/accesskey\" value=\"form:///amazon.accesskey\"/> <p:parameter name=\"amazon/bucket\" value=\"form:///amazon.bucket\"/> </p:output> </p:when> <p:when test=\"form:///stroage.selector='bliptv'\"> <p:output port=\"http://www.blip.tv\"> <p:parameter name=\"login\" value=\"form:///bliptv.account\"/> <p:parameter name=\"password\" value=\"form:///bliptv.password\"/> </p:output> </p:when> <p:when test=\"form:///stroage.selector='youtube'\"> <p:output port=\"http://www.youtube.com\"> <p:parameter name=\"login\" value=\"form:///youtube.account\"/> <p:parameter name=\"password\" value=\"form:///youtube.password\"/> </p:output> </p:when> <p:otherwise> <p:output port=\"result\" href=\"ftp://user:pass@ftp.cubicgarden.com/myvideo/\"/> </p:otherwise> </p:choose> </p:pipeline>

Slide 80: What happens next?

Slide 81: To do Build flow* using a Rich Internet Application • language like XUL or Apollo Write an Authentication layer for the APIs – Open • ID based broker system for APIs? Decide on one way to write User-generated • Pipelines which works for flow* Write schema for namespaced extensions into • user-generated pipelines (XPROC document) Investigate the semantic desktop projects • Explorer W3Cs draft Widget specification •

Slide 82: Summary User generated pipelines are viable for: • People wanting automation • Non-programmers • Power users who can't be bothered to load up their IDE • Flow* (although only in early development) is very • powerful All the elements are in place, it just needs a developer or • company with a some vision

Slide 83: Final thought Mashing-up, remixing, sharing is part of our culture •

Slide 84: Thanks for listening, questions? Ian Forrester - pipelines@cubicgarden.com • http://www.cubicgarden.com/blojsom/blog/pipelines/ • Flickr pictures : Creative Commons Attribution-NonCommercial-NoDerivs License • http://www.flickr.com/photos/andidfl/ • http://www.flickr.com/photos/_f1guy68_/ • http://www.flickr.com/photos/coolinbox/ • http://www.flickr.com/photos/belljar/ • http://www.flickr.com/photos/dgbalancesrocks/ • http://www.flickr.com/photos/whinger/ • http://www.flickr.com/photos/wasabicube/ • http://www.flickr.com/photos/jacy •