Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
WEB HOOKS
                     and the
             Programmable World of Tomorrow




                                   ...
Web Service




   internetz


                                     User


for those that don’t know: a story
Web Service
                 Hi, I’m Twickr,
              a new web service.




internetz


                            ...
“Twickr”


            Cool. Sign me up.




internetz


                                User
“Twickr”
            Okay, you’re all set.
                   Now listen...




internetz


                              ...
“Twickr”
             I might find myself with some
            data you might be interested in.




internetz


          ...
“Twickr”


            Alight, hold on a sec...




internetz


                                       User
“Twickr”




   internetz


                    User


hack hackety hack
“Twickr”

                Could you just post
            it here when you have any?
              http://tinyurl.com/6pln...
“Twickr”
             ...sure, why not.
            Hmm, what is that URL?




internetz


                               ...
“Twickr”


            It’s a PHP script I put
              up on Dreamhost.




internetz


                            ...
“Twickr”
            What does it do?




internetz


                               User
“Twickr”


                                          Whatever I want...




   internetz


                               ...
the idea is not new, but not exactly popular. why?
paypal has been doing it for ages
instant payment notification is a web hook
“When a customer pays you, PayPal posts a notification to your server at a URL you specify.”
here’s a diagram. they’ve since added anti-spoofing by requiring a validation step. useful
pattern, but not core to the idea
started thinking about this in 2006.
everything flashed before my eyes and was confused why it wasn’t used more.
felt like ...
compare to REST.
both have been around longer, but the point is rest simpler..
in fact, it’s almost described as “using HTTP properly”
but ...
REST

                                     Hooks



rest and web hooks are two sides of the same coin
they complement each...
Push

                                                 Pipes

                                            Plugins


talk i...
Push
let’s get started with push
people are starting to talk about push in the context of web content
because of feeds. or rather, the success of feeds
it started with blog feeds, then comment feeds...
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
then soon exploded into twitter feeds, photo feeds, activity feeds, event feeds, bookmark feeds
even feeds of feeds
it makes you think of feeds like in the telecom world
data coming directly to you
but we know that’s not how it works
?




instead we have to go request the data
then it gives it to us. and we do this over and over.
are we there yet? are we there yet?
?




feeds made sense in a world where feed readers ran on
desktops that couldn’t be pushed to over http
?




of course, now we have other web applications consuming feeds and it doesn’t make sense
even our feed readers have b...
evan and kellan gave a great talk about this, and their proposed solution: xmpp
i have a condensed version of this talk. t...
(aka XMPP)




they have a great point. polling sucks, and xmpp is a pretty good solution for data streams
but it’s kind of heavy weight. it does a lot and makes a decently complex little system.
luckily it’s not *that* hard to u...
joshua schachter responded to this talk in a blog post.
i don’t know him, but he sounds like a smart guy
“One solution that occurred to me at the time was to build a simple callback system over HTTP.
           This would fall ...
it’s worked for paypal...
evan and kellan did point out there are extremes when it comes to data streams.
most data streams will probably fall somew...
microformats



i’m a fan of microformats. not just in what they do, but how they do it.
very ground up, grassroots... tak...
xml+rdf vs microformats

    “Here's a new language we want you to learn,
     and now you need to output these additional...
xmpp vs web hooks


     “Good. XMPP needs a competitor.”




he says...

this was encouraging. i mean, when tantek talks,...
he gets the chicks
started spreading the word as “web hooks” and it started popping up places.
this is a standard for discovering and subscri...
gnip though. let me tell you about gnip...
if we could just figure out what they do...
ah, no, they’re on to something
Polling

they started with the goal to eliminate polling.
Great!
but they do a lot in several dimensions, so its hard to explain all that they do.
notice they mention web hooks though... ...
Source                                                                            Destination

                           ...
Source

                             Protocol + Mechanism   Protocol + Mechanism

                Format                  ...
Source

                              Protocol + Mechanism   Protocol + Mechanism

                 Format                ...
Source

                            Protocol + Mechanism   Protocol + Mechanism

                Format                   ...
Protocol + Mechanism       Protocol + Mechanism

                 Format                                                  ...
Protocol + Mechanism       Protocol + Mechanism

                 Format                                                  ...
Protocol + Mechanism       Protocol + Mechanism

                 Format                                                  ...
Push is good.


so the moral here is that push is good.
XMPP is ideal when needed,
         but Web Hooks generally do the job.




as far as xmpp vs web hooks, i think they both...
But push is not the point.




so far, push has been about pushing content. this is not that interesting to me.
i like fun...
Pipes
i love this photo. even more than the cute kid pushing the car
there once was a command line
nav filesystem, launch apps, scripting environment.
but it had an extra something special: pi...
Input                                           Output

                                              Program




all from...
STDIN                                                    STDOUT

                                            Program




 ...
xargs
                                                                               wget
                  echo
         ...
cat




                                xargs
                                               wget
                  echo
 ...
cat           grep




             xargs
                                   wget
echo
                            mail


...
cat                grep               mail




                                    xargs
                                 ...
Write programs that do one          thing and do it well.

           Write programs to work           together.

        ...
STDIN

                                             Program




but it doesn’t work without the output. it just breaks.
API

                                             Web App




unfortunately that’s how the web is today.
we can talk to we...
API                                                               Events

                                             Web...
REST                                                             Hooks

                                           Web App...
backhoe
+

front-loader + excavator
cat                  grep                  mail




                                                                      ...
Basecamp




imagine basecamp with a bunch of hooks for events
Basecamp

   Project finished
   Todo completed
   Milestone created
   Contact added
   File uploaded
Basecamp



                                             My handler
                                             http://ex...
Basecamp



                                            My handler
                                            http://exam...
Todos

                                                                          Basecamp




for example, all these apps ...
Service integration


web hooks enable service integration
Composability


adding composability to web apps
Code as glue


based on the idea that web urls can run code. and code can do anything.
when i first thought about this, cheap PHP hosting was all over, but it could be even simpler.
there are paste bins like th...
put in some code you want to share or ask a question about
http://pastie.org/84826


hit save and you get a URL you can share when you ask “where’s the data stored?”
i’m thinking of the same thing, but that you write handlers with
http://pastie.org/run/24576


and saving doesn’t just give a url to view, but to run. pass that url into an app with web h...
Basecamp



                                          Project finished
                                          http://pa...
fortunately, we have this. it’s called appjet by ex googlers.
just hit a button, write code, hit save, share the url. it’s javascript
obviously app engine, although it’s a little more involved than appjet for quick handlers.
but it is an option for python....
one thing i’ve been working on is an extension to integrate these ideas.
Hey, there’s an
                                              event hook here!



by detecting some markup in a page, it d...
Save




and write some code. hit save, it posts to AppJet (or wherever),
registers the handler (assuming a standard proto...
Real world examples




but these are all mockups and what-ifs...
there is a world of web hooks already evolving...
i started by exposing svn hooks as web hooks in devjavu
i talked about web hooks enough using pbwiki as an example,
their mysterious cto decided to implement them
and apparently really liked what he found
went all out on hooked events. not sure if it’s made it to production, but really cool
github though. they had a push hook. in fact, they linked to my blog post from their
homepage for a long time.
they’ve been doing really well with web hooks. we’ll come back to them...
“Building projects with web hooks in
                             mind lets me keep the core Lighthouse
                  ...
“We implemented web hooks a while
                          ago and people have been building all
                        ...
and back to github. they were so successful with the adhoc integration, they formalized it.
but in the best way! using the...
in fact, that lets them open source it. letting people fork, write new handlers, and push back.
this is probably going to ...
and a great example of services integrated with github, besides lighthouse, is runcoderun.
they run your regression tests ...
then there’s martyn and andy. two guys in the uk that love web hooks.
they built this thing called spaghetti junction at a...
switchub. i REALLY love this. i knew this sort of thing would emerge, but i didn’t think it would happen
until web hooks w...
my example switchboard. this kind of feels like gnip, only more focused and more about web hooks.
so i like it lots.
opening handlers up like github. anybody can write handlers soon.
working with them a little to make it real awesome.
for example, i suggested rss as an input, but that would require polling. well distribute it!
let somebody like rssfwd imp...
switchub is more of how i envisioned piping on the web.
yahoo pipes was a great experiment, but it’s not real pipes. no in...
i visualize it more like this.
reason: virtual rack mounts
flip it around and wire them together however you like. totally cool.
and of course i mentioned paypal. but i should mention, web hooks make so much sense
for paypal... they’re not so much abo...
jott is another example of a web hook implementer that doesn’t know it.
they parse voice over the phone and do stuff with ...
they do it with “Links”... which are just hooks. they post to a script that does something with
the parsed text. really co...
User jotts to    The message is     Message is sent via   Jott reads back the     User receives
        a Jott Link       ...
so, thinking back to switchub, and like jott, there’s a lot of cool ideas for something to web
hook services. I made mailh...
GAE community made one because GAE doesn’t have a way to accept email.
web hooks were the obvious solution.
rick olson has an open source non-hosted ruby version that will do xmpp.
he uses it for lighthouse.
but smtp2web is interesting because it was made because of the limitations of GAE...
in fact a lot of people made these kinds of “micro webservices” to do simple things GAE
didn’t do.
http://movq.net




here’s a couple from a site i found. they have a cool cron service ... should be useful in the web hoo...
making things more web friendly...
working with lisa dussault to make a IMAP to REST bridge...
this makes working with email mailboxes way easier in the context of the web
it’s neat to see it in netnewswire. looks like mail.app

point is to make more protocols easier to work with from web scri...
Write services that do one        thing and do it well.

           Write services to work        together.

           Wr...
jon udell talks about websites as data sources that can be reused and remixed
today that idea isn’t very novel
“a new programming paradigm
        that takes the whole Internet
               as its platform”



he envisions the Inte...
that’s the future i see though.
Plugins
there’s one more thing i want to talk about.
web was a bunch of pages linked together.
but people kept wanting to access other things through the web (like me today)
so they developed cgi
tangent: this is a neat find. was on reddit. andreessen proposing IMG tag.
people fought it, said it needed to be more gene...
so these pages... today... because of cgi
are actually the result
of these higher order nodes... the code... the apps. this is most of the web today.
neat how that evolved
so you have these applications
and the difference you might think is backend and frontend.
but there is a subtly different way to think about it
Logic
 Content




logic and content. the read-write web gave us user contributed content...
i want user contributed (demo...
Logic
 Content




not just integrating and composing apps
Logic
 Content




but extending apps...
almost called this section Platforms.
platforms are really cool. we all love them.
i LOVE them, so fb platform was really ...
sure enough, this looks like web hooks to me. as long as it’s http, calling out... but then using the
results in their app...
in fact a few people have used web hooks for plugins. dabble is a great example.
they do online databased for people that use excel as a database.
their plugin API is great. it uses web hooks!
“Dabble plugins allow Dabble applications to create new, derived fields by calling out
     to external HTTP-accessible app...
“If you’ve used a UNIX-based operating system, you’re probably
                              familiar with the notion of p...
of course, i think they should have web hooks for all their standard CRUD events...
this way their database apps can integ...
in fact, all these “app platforms” like coghead and salesforce should have web hooks.
that would make them more useful, le...
here’s a little microplatform i made last month.
a twitter bot platform using web hooks.
in fact, i built it with web hook...
here’s the code.
you just register hooks, give them a name, and DM tdo with the command and arguments.
IMified uses web hooks. sells the tech too: “allows anyone with basic web programming skills
to quickly and easily create ....
General Systems
                                    Theory




close by dropping some GST on you
General Systems
                                        Theory




central tenet is value is not in the elements or parts ...
General Systems
                                     Theory




the real value is in the interactions, how they work toget...
Degrees of freedom




increase the ways to work together, the means of combination, increases the DoF
Increase possibility space




uncover new opportunities in business, tools, and empowerment
“a new programming paradigm
       that takes the whole Internet
              as its platform”



sounds cool
Web APIs




half way there
Web APIs
                             Web Hooks



not hard to go the rest of the way
http://flickr.com/photos/nikonfans/439432049/
                     http://flickr.com/photos/omegaman/477866054/
            ...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/278...
Próxima SlideShare
Cargando en…5
×

http://flickr.com/photos/nikonfans/439432049/ http://flickr.com/photos/omegaman/477866054/ http://flickr.com/photos/aquan/2780542698/ http://flickr.com/photos/lucky_13/191038503/ http://flickr.com/photos/narwhal85/1290912011/ Web Hooks and the Programmable World of Tomorrow

76.805 visualizaciones

Publicado el

http://flickr.com/photos/nikonfans/439432049/
http://flickr.com/photos/omegaman/477866054/
http://flickr.com/photos/aquan/2780542698/
http://flickr.com/photos/lucky_13/191038503/
http://flickr.com/photos/narwhal85/1290912011/
http://flickr.com/photos/thomashawk/521532598/
http://flickr.com/photos/bendodson/2601002535/
http://flickr.com/photos/ntr23/218966763/




Thanks!
progrium@gmail.com
progrium.com

Publicado en: Tecnología
  • Acne No More! Cure your acne, end the breakouts and regain your natural inner balance.. Guaranteed! -- Discover how Mike Walden has taught thousands of people to achieve acne freedom faster than they ever thought possible.. Even if you've never succeeded at curing your acne before.. Right here you've found the clear skin success system you've been looking for! ◆◆◆ http://ishbv.com/buk028959/pdf
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Who Else Wants To Cure Their Acne, Regain Their Natural Inner Balance and Achieve LASTING Clear Skin? Click Here ★★★ http://ishbv.com/buk028959/pdf
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • How will you feel when your Ex boyfriend is in bed with another woman? Don't let this happen. Get him back with ◆◆◆ http://ow.ly/f23I301xGAo
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • It doesn't matter how long ago you broke up, these methods will make your Ex crawling back! See how at here. ●●● http://ow.ly/mOLD301xGxr
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí
  • Did you know that once you lose your Ex, there is still a good chance you can get them back? Learn how ♣♣♣ http://t.cn/R50e5nn
       Responder 
    ¿Estás seguro?    No
    Tu mensaje aparecerá aquí

×