SlideShare a Scribd company logo
1 of 84
Download to read offline
Pipelines: plumbing for the next web




Ian Forrester
backstage.bbc.co.uk
cubicgarden.com
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
•
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
•
The Landscape
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
•
REST XML API Everywhere
REST XML API Everywhere
Opening Up the Silos
Opening Up the Silos
Web Services with Revenue Models
Ubiquitous Feeds
Widgets and Gadgets
Desktop Search
Semantic Desktop projects
Semantic Desktop projects
File System Meta-data
How People are Building Things


    Particls
•

    Automator
•

    Yahoo Pipes
•
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.
    •
Particls
A Pipeline Application
XML Configurations
Outline Processing Markup Language (OPML)
Attention Profiling Markup Language (APML)
Particls Internals
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
    •
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
                                                           •
Apple Automator
Automator
Applescript
Automator Internals
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
    •
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 Internetquot;
                                                - Tim O'Reilly
                                            •
Y! Pipes
Y! Pipes




   s
Y! Pipes
Y! Pipes Internals
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
    •
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
•
flow *
So what is flow*?
flow *
flow *
The flow * System
Adding Widgets to the Mix
Separate the Desktop API
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
My Current flow * Setup
More Configuration Ideas
More Configuration Ideas
More Configuration Ideas
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
•
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
    •
Three Levels
Three Levels of Abstraction
Three Levels of Users, One Purpose
XPROC Level
Pipe GUI Level
Task Level
Pipelines Options
The Current Landscape
Particls: An Attention Platform
Automator: Strictly for OSX Only
Y! Pipes: No Access to the Local System
Y! Pipes: Could Access Local System
Yahoo widgets authenticator
Securing the Desktop and Cloud
Y! Pipes: All the Right Elements
Microsoft just around the corner?
Pipelines
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
    •
Pipeline Example
Pipeline Example
Complex Pipeline Example
Complex Pipeline Example
Complex Pipeline Example
The Ecosystem of the API
No fully functional API?


    Forget it now... your dead
•
Described in XPROC (part 1)
<?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?>
<p:pipeline name=quot;encoder examplequot; xmlns:p=quot;http://www.w3.org/2007/03/xprocquot;>
<p:input port=quot;videoquot; href=quot;file://///127.0.0.1/my videos/quot;/>
<p:choose name=quot;free-or-payquot;>
<p:when test=quot;form:///encoder.dropdown='yes'quot;>
<p:output port=quot;http://www.amazon.com/ws/ec2quot;>
<p:parameter name=quot;amazon/ec2imagequot; value=quot;video-encodingquot;/>
<p:parameter name=quot;amazon/encodetoquot; value=quot;flvquot;/>
<p:parameter name=quot;amazon/encodetoquot; value=quot;h.264quot;/>
<p:parameter name=quot;amazon/encodetoquot; value=quot;mpeg4quot;/>
<p:parameter name=quot;amazon/accountquot; value=quot;form:///amazon.accountquot;/>
<p:parameter name=quot;amazon/passwordquot; value=quot;form:///amazon.passwordquot;/>
<p:parameter name=quot;amazon/accesskeyquot; value=quot;form:///amazon.accesskeyquot;/>
<p:parameter name=quot;amazon/piorityquot; value=quot;1quot;/>
</p:output>
</p:when>
<p:when test=quot;form:///encoder.dropdown='no'quot;>
<p:output port=quot;http://www.heywatch.com/quot;>
<p:parameter name=quot;encodequot; value=quot;flvquot;/>
<p:parameter name=quot;encodequot; value=quot;h.264quot;/>
<p:parameter name=quot;encodequot; value=quot;mpeg4quot;/>
<p:parameter name=quot;loginquot; value=quot;form:///accountquot;/>
<p:parameter name=quot;passwordquot; value=quot;form:///passwordquot;/>
</p:output>
</p:when>
<p:otherwise>
<p:output port=quot;local://start.loocal.applicationquot; href=quot;file://///127.0.0.1/C/program files/mediacleaner/mediaclean.exequot;/>
</p:otherwise>
</p:choose>
Described in XPROC (part 2)

<p:choose name=quot;stoarage-optionsquot;>
<p:when test=quot;form:///storage.selector='amazon'quot;>
<p:output port=quot;http://www.amazon.com/ws/s3quot;>
<p:parameter name=quot;amazon/accountquot; value=quot;form:///amazon.accountquot;/>
<p:parameter name=quot;amazon/passwordquot; value=quot;form:///amazon.passwordquot;/>
<p:parameter name=quot;amazon/accesskeyquot; value=quot;form:///amazon.accesskeyquot;/>
<p:parameter name=quot;amazon/bucketquot; value=quot;form:///amazon.bucketquot;/>
</p:output>
</p:when>
<p:when test=quot;form:///stroage.selector='bliptv'quot;>
<p:output port=quot;http://www.blip.tvquot;>
<p:parameter name=quot;loginquot; value=quot;form:///bliptv.accountquot;/>
<p:parameter name=quot;passwordquot; value=quot;form:///bliptv.passwordquot;/>
</p:output>
</p:when>
<p:when test=quot;form:///stroage.selector='youtube'quot;>
<p:output port=quot;http://www.youtube.comquot;>
<p:parameter name=quot;loginquot; value=quot;form:///youtube.accountquot;/>
<p:parameter name=quot;passwordquot; value=quot;form:///youtube.passwordquot;/>
</p:output>
</p:when>
<p:otherwise>
<p:output port=quot;resultquot; href=quot;ftp://user:pass@ftp.cubicgarden.com/myvideo/quot;/>
</p:otherwise>
</p:choose>
</p:pipeline>
What happens next?
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
•
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
Final thought


    Mashing-up, remixing, sharing is part of our culture
•
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
    •

More Related Content

What's hot

CICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your MindCICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your Mind
ciconf
 
Perl web programming
Perl web programmingPerl web programming
Perl web programming
Johnny Pork
 

What's hot (20)

Pragmatics of Declarative Ajax
Pragmatics of Declarative AjaxPragmatics of Declarative Ajax
Pragmatics of Declarative Ajax
 
Ajax to the Moon
Ajax to the MoonAjax to the Moon
Ajax to the Moon
 
Behat - Drupal South 2018
Behat  - Drupal South 2018Behat  - Drupal South 2018
Behat - Drupal South 2018
 
Mozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: BasicMozilla Firefox Extension Development, Course 1: Basic
Mozilla Firefox Extension Development, Course 1: Basic
 
Fast by Default
Fast by DefaultFast by Default
Fast by Default
 
WPDay Bologna 2013
WPDay Bologna 2013WPDay Bologna 2013
WPDay Bologna 2013
 
API Technical Writing
API Technical WritingAPI Technical Writing
API Technical Writing
 
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
Deliverance: Plone theming without the learning curve from Plone Symposium Ea...
 
Unobtrusive JavaScript
Unobtrusive JavaScriptUnobtrusive JavaScript
Unobtrusive JavaScript
 
Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008Enterprise PHP Development - ZendCon 2008
Enterprise PHP Development - ZendCon 2008
 
[In Control 2010] HTML5
[In Control 2010] HTML5[In Control 2010] HTML5
[In Control 2010] HTML5
 
CICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your MindCICONF 2012 - Don't Make Me Read Your Mind
CICONF 2012 - Don't Make Me Read Your Mind
 
Perl web programming
Perl web programmingPerl web programming
Perl web programming
 
Progressive Enhancement
Progressive EnhancementProgressive Enhancement
Progressive Enhancement
 
Migrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 stepsMigrating existing monolith to serverless in 8 steps
Migrating existing monolith to serverless in 8 steps
 
Essential open source tools for serverless developers
Essential open source tools for serverless developersEssential open source tools for serverless developers
Essential open source tools for serverless developers
 
The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014The Structure of Web Code: A Case For Polymer, November 1, 2014
The Structure of Web Code: A Case For Polymer, November 1, 2014
 
Road to Rails
Road to RailsRoad to Rails
Road to Rails
 
How cgi scripting works
How cgi scripting worksHow cgi scripting works
How cgi scripting works
 
Untangling6
Untangling6Untangling6
Untangling6
 

Similar to plumbing for the next web

Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008
rajivmordani
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
oscon2007
 

Similar to plumbing for the next web (20)

Ajax World West
Ajax World WestAjax World West
Ajax World West
 
Web 2.0 & Ajax Basics
Web 2.0 & Ajax BasicsWeb 2.0 & Ajax Basics
Web 2.0 & Ajax Basics
 
Castles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App EngineCastles in the Cloud: Developing with Google App Engine
Castles in the Cloud: Developing with Google App Engine
 
Whats New In Silverlight 3
Whats New In Silverlight 3Whats New In Silverlight 3
Whats New In Silverlight 3
 
Y Pipes Mashup Camp
Y Pipes Mashup CampY Pipes Mashup Camp
Y Pipes Mashup Camp
 
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty MarketAPIs and SDKs: Breaking Into and Succeeding in a Specialty Market
APIs and SDKs: Breaking Into and Succeeding in a Specialty Market
 
Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008Laird Best Practices Ajax World West2008
Laird Best Practices Ajax World West2008
 
C# 4.0 - Whats New
C# 4.0 - Whats NewC# 4.0 - Whats New
C# 4.0 - Whats New
 
Scripting Recipes for Testers
Scripting Recipes for TestersScripting Recipes for Testers
Scripting Recipes for Testers
 
AJAX\'s Impact on Telecom
AJAX\'s Impact on TelecomAJAX\'s Impact on Telecom
AJAX\'s Impact on Telecom
 
Galaxy
GalaxyGalaxy
Galaxy
 
Titanium Desktop Intro
Titanium Desktop IntroTitanium Desktop Intro
Titanium Desktop Intro
 
AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )AIR - Framework ( Cairngorm and Parsley )
AIR - Framework ( Cairngorm and Parsley )
 
Jun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By ExampleJun Heider - Flex Application Profiling By Example
Jun Heider - Flex Application Profiling By Example
 
Angular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - LinagoraAngular (v2 and up) - Morning to understand - Linagora
Angular (v2 and up) - Morning to understand - Linagora
 
Living in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 ApplicationsLiving in a multiligual world: Internationalization for Web 2.0 Applications
Living in a multiligual world: Internationalization for Web 2.0 Applications
 
Os Koziarsky
Os KoziarskyOs Koziarsky
Os Koziarsky
 
Open Social Summit Korea Overview
Open Social Summit Korea OverviewOpen Social Summit Korea Overview
Open Social Summit Korea Overview
 
Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!Beyond web services: supporting mashup artists at Yahoo!
Beyond web services: supporting mashup artists at Yahoo!
 
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
An Open Source Workbench for Prototyping Multimodal Interactions Based on Off...
 

More from Ian Forrester

More from Ian Forrester (20)

Adaptive podcasting Nov 2023.pdf
Adaptive podcasting Nov 2023.pdfAdaptive podcasting Nov 2023.pdf
Adaptive podcasting Nov 2023.pdf
 
Adaptive podcasting 2023
Adaptive podcasting 2023Adaptive podcasting 2023
Adaptive podcasting 2023
 
Adaptive podcasting? Sounds Amazing!
Adaptive podcasting? Sounds Amazing!Adaptive podcasting? Sounds Amazing!
Adaptive podcasting? Sounds Amazing!
 
Adaptive podcasting community for VRT Open labs
Adaptive podcasting community for VRT Open labsAdaptive podcasting community for VRT Open labs
Adaptive podcasting community for VRT Open labs
 
Adaptive podcasting 2022 for Bristol+Bath
Adaptive podcasting 2022 for Bristol+BathAdaptive podcasting 2022 for Bristol+Bath
Adaptive podcasting 2022 for Bristol+Bath
 
Ian Forrester - BBC, public service and adaptive podcasting
Ian Forrester - BBC, public service and adaptive podcasting Ian Forrester - BBC, public service and adaptive podcasting
Ian Forrester - BBC, public service and adaptive podcasting
 
Fediverse, dweb, web3 and beyond
Fediverse, dweb, web3 and beyondFediverse, dweb, web3 and beyond
Fediverse, dweb, web3 and beyond
 
The future of podcasting is adaptive, open and data ethical
The future of podcasting is adaptive, open and data ethicalThe future of podcasting is adaptive, open and data ethical
The future of podcasting is adaptive, open and data ethical
 
Your place in the new trust ecosystem for UCD Gathering 20202
Your place in the new trust ecosystem for UCD Gathering 20202Your place in the new trust ecosystem for UCD Gathering 20202
Your place in the new trust ecosystem for UCD Gathering 20202
 
The big tech predictions for 2020 Manchester
The big tech predictions for 2020 ManchesterThe big tech predictions for 2020 Manchester
The big tech predictions for 2020 Manchester
 
3D's: Dating, Deception and Data Portability | Mozfest 2019
3D's: Dating, Deception and Data Portability | Mozfest 20193D's: Dating, Deception and Data Portability | Mozfest 2019
3D's: Dating, Deception and Data Portability | Mozfest 2019
 
What is the Living room of the future for #mydata2019
What is the Living room of the future for #mydata2019What is the Living room of the future for #mydata2019
What is the Living room of the future for #mydata2019
 
Audiences of the future workshop at xR fest 2019
Audiences of the future workshop at xR fest 2019Audiences of the future workshop at xR fest 2019
Audiences of the future workshop at xR fest 2019
 
Madrid's xR festival keynote - immersive experiences
Madrid's xR festival keynote - immersive experiencesMadrid's xR festival keynote - immersive experiences
Madrid's xR festival keynote - immersive experiences
 
A personal view from republicamp
A personal view from republicampA personal view from republicamp
A personal view from republicamp
 
Object based audio futures for all
Object based audio futures for allObject based audio futures for all
Object based audio futures for all
 
Hello culture: are you experienced?
Hello culture: are you experienced?Hello culture: are you experienced?
Hello culture: are you experienced?
 
Living room of the future at my data 2018
Living room of the future at my data 2018Living room of the future at my data 2018
Living room of the future at my data 2018
 
Responsive and perceptive experiences
Responsive and perceptive experiencesResponsive and perceptive experiences
Responsive and perceptive experiences
 
What is the Living room of the future?
What is the Living room of the future?What is the Living room of the future?
What is the Living room of the future?
 

Recently uploaded

call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
dipikadinghjn ( Why You Choose Us? ) Escorts
 
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

Diva-Thane European Call Girls Number-9833754194-Diva Busty Professional Call...
Diva-Thane European Call Girls Number-9833754194-Diva Busty Professional Call...Diva-Thane European Call Girls Number-9833754194-Diva Busty Professional Call...
Diva-Thane European Call Girls Number-9833754194-Diva Busty Professional Call...
 
Vasai-Virar Fantastic Call Girls-9833754194-Call Girls MUmbai
Vasai-Virar Fantastic Call Girls-9833754194-Call Girls MUmbaiVasai-Virar Fantastic Call Girls-9833754194-Call Girls MUmbai
Vasai-Virar Fantastic Call Girls-9833754194-Call Girls MUmbai
 
Booking open Available Pune Call Girls Talegaon Dabhade 6297143586 Call Hot ...
Booking open Available Pune Call Girls Talegaon Dabhade  6297143586 Call Hot ...Booking open Available Pune Call Girls Talegaon Dabhade  6297143586 Call Hot ...
Booking open Available Pune Call Girls Talegaon Dabhade 6297143586 Call Hot ...
 
call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
call girls in Sant Nagar (DELHI) 🔝 >༒9953056974 🔝 genuine Escort Service 🔝✔️✔️
 
(INDIRA) Call Girl Mumbai Call Now 8250077686 Mumbai Escorts 24x7
(INDIRA) Call Girl Mumbai Call Now 8250077686 Mumbai Escorts 24x7(INDIRA) Call Girl Mumbai Call Now 8250077686 Mumbai Escorts 24x7
(INDIRA) Call Girl Mumbai Call Now 8250077686 Mumbai Escorts 24x7
 
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
(INDIRA) Call Girl Srinagar Call Now 8617697112 Srinagar Escorts 24x7
 
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
Call Girls in New Friends Colony Delhi 💯 Call Us 🔝9205541914 🔝( Delhi) Escort...
 
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
VIP Call Girl in Mira Road 💧 9920725232 ( Call Me ) Get A New Crush Everyday ...
 
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Taloja 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
 
Top Rated Pune Call Girls Pashan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated  Pune Call Girls Pashan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...Top Rated  Pune Call Girls Pashan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
Top Rated Pune Call Girls Pashan ⟟ 6297143586 ⟟ Call Me For Genuine Sex Serv...
 
Top Rated Pune Call Girls Lohegaon ⟟ 6297143586 ⟟ Call Me For Genuine Sex Se...
Top Rated  Pune Call Girls Lohegaon ⟟ 6297143586 ⟟ Call Me For Genuine Sex Se...Top Rated  Pune Call Girls Lohegaon ⟟ 6297143586 ⟟ Call Me For Genuine Sex Se...
Top Rated Pune Call Girls Lohegaon ⟟ 6297143586 ⟟ Call Me For Genuine Sex Se...
 
Top Rated Pune Call Girls Shikrapur ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated  Pune Call Girls Shikrapur ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...Top Rated  Pune Call Girls Shikrapur ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
Top Rated Pune Call Girls Shikrapur ⟟ 6297143586 ⟟ Call Me For Genuine Sex S...
 
Booking open Available Pune Call Girls Wadgaon Sheri 6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Wadgaon Sheri  6297143586 Call Hot Ind...Booking open Available Pune Call Girls Wadgaon Sheri  6297143586 Call Hot Ind...
Booking open Available Pune Call Girls Wadgaon Sheri 6297143586 Call Hot Ind...
 
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
(Vedika) Low Rate Call Girls in Pune Call Now 8250077686 Pune Escorts 24x7
 
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
VIP Independent Call Girls in Mira Bhayandar 🌹 9920725232 ( Call Me ) Mumbai ...
 
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
VIP Call Girl in Thane 💧 9920725232 ( Call Me ) Get A New Crush Everyday With...
 
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
VIP Independent Call Girls in Mumbai 🌹 9920725232 ( Call Me ) Mumbai Escorts ...
 
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
Solution Manual for Financial Accounting, 11th Edition by Robert Libby, Patri...
 
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
Kharghar Blowjob Housewife Call Girls NUmber-9833754194-CBD Belapur Internati...
 
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
Call Girls in New Ashok Nagar, (delhi) call me [9953056974] escort service 24X7
 

plumbing for the next web

  • 1. Pipelines: plumbing for the next web Ian Forrester backstage.bbc.co.uk cubicgarden.com
  • 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 •
  • 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 •
  • 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 •
  • 6. REST XML API Everywhere
  • 7. REST XML API Everywhere
  • 10. Web Services with Revenue Models
  • 17. How People are Building Things Particls • Automator • Yahoo Pipes •
  • 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. •
  • 22. Outline Processing Markup Language (OPML)
  • 23. Attention Profiling Markup Language (APML)
  • 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 •
  • 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 •
  • 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 •
  • 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 Internetquot; - Tim O'Reilly •
  • 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 •
  • 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 •
  • 40. So what is flow*?
  • 43. The flow * System
  • 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
  • 47. My Current flow * Setup
  • 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 •
  • 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 •
  • 54. Three Levels of Abstraction
  • 55. Three Levels of Users, One Purpose
  • 63. Y! Pipes: No Access to the Local System
  • 64. Y! Pipes: Could Access Local System
  • 67. Y! Pipes: All the Right Elements
  • 68. Microsoft just around the corner?
  • 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 •
  • 77. No fully functional API? Forget it now... your dead •
  • 78. Described in XPROC (part 1) <?xml version=quot;1.0quot; encoding=quot;UTF-8quot;?> <p:pipeline name=quot;encoder examplequot; xmlns:p=quot;http://www.w3.org/2007/03/xprocquot;> <p:input port=quot;videoquot; href=quot;file://///127.0.0.1/my videos/quot;/> <p:choose name=quot;free-or-payquot;> <p:when test=quot;form:///encoder.dropdown='yes'quot;> <p:output port=quot;http://www.amazon.com/ws/ec2quot;> <p:parameter name=quot;amazon/ec2imagequot; value=quot;video-encodingquot;/> <p:parameter name=quot;amazon/encodetoquot; value=quot;flvquot;/> <p:parameter name=quot;amazon/encodetoquot; value=quot;h.264quot;/> <p:parameter name=quot;amazon/encodetoquot; value=quot;mpeg4quot;/> <p:parameter name=quot;amazon/accountquot; value=quot;form:///amazon.accountquot;/> <p:parameter name=quot;amazon/passwordquot; value=quot;form:///amazon.passwordquot;/> <p:parameter name=quot;amazon/accesskeyquot; value=quot;form:///amazon.accesskeyquot;/> <p:parameter name=quot;amazon/piorityquot; value=quot;1quot;/> </p:output> </p:when> <p:when test=quot;form:///encoder.dropdown='no'quot;> <p:output port=quot;http://www.heywatch.com/quot;> <p:parameter name=quot;encodequot; value=quot;flvquot;/> <p:parameter name=quot;encodequot; value=quot;h.264quot;/> <p:parameter name=quot;encodequot; value=quot;mpeg4quot;/> <p:parameter name=quot;loginquot; value=quot;form:///accountquot;/> <p:parameter name=quot;passwordquot; value=quot;form:///passwordquot;/> </p:output> </p:when> <p:otherwise> <p:output port=quot;local://start.loocal.applicationquot; href=quot;file://///127.0.0.1/C/program files/mediacleaner/mediaclean.exequot;/> </p:otherwise> </p:choose>
  • 79. Described in XPROC (part 2) <p:choose name=quot;stoarage-optionsquot;> <p:when test=quot;form:///storage.selector='amazon'quot;> <p:output port=quot;http://www.amazon.com/ws/s3quot;> <p:parameter name=quot;amazon/accountquot; value=quot;form:///amazon.accountquot;/> <p:parameter name=quot;amazon/passwordquot; value=quot;form:///amazon.passwordquot;/> <p:parameter name=quot;amazon/accesskeyquot; value=quot;form:///amazon.accesskeyquot;/> <p:parameter name=quot;amazon/bucketquot; value=quot;form:///amazon.bucketquot;/> </p:output> </p:when> <p:when test=quot;form:///stroage.selector='bliptv'quot;> <p:output port=quot;http://www.blip.tvquot;> <p:parameter name=quot;loginquot; value=quot;form:///bliptv.accountquot;/> <p:parameter name=quot;passwordquot; value=quot;form:///bliptv.passwordquot;/> </p:output> </p:when> <p:when test=quot;form:///stroage.selector='youtube'quot;> <p:output port=quot;http://www.youtube.comquot;> <p:parameter name=quot;loginquot; value=quot;form:///youtube.accountquot;/> <p:parameter name=quot;passwordquot; value=quot;form:///youtube.passwordquot;/> </p:output> </p:when> <p:otherwise> <p:output port=quot;resultquot; href=quot;ftp://user:pass@ftp.cubicgarden.com/myvideo/quot;/> </p:otherwise> </p:choose> </p:pipeline>
  • 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 •
  • 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
  • 83. Final thought Mashing-up, remixing, sharing is part of our culture •
  • 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 •